Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: perception objects pointcloud better visualization #7095

Open
wants to merge 77 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
955a898
feat(add_perception_objects_pointcloud_publisher) add source files an…
lexavtanke Feb 22, 2023
8ed1500
feat(add_perception_objects_pointcloud_publisher) add to autoware_aut…
lexavtanke Feb 27, 2023
e6073f1
Merge branch 'autowarefoundation:main' into feat/add_perception_objec…
lexavtanke Feb 28, 2023
532d81d
feat(add_perception_objects_pointcloud_publisher) wip add tf, modify…
lexavtanke Feb 28, 2023
39e15a3
feat(add_perception_objects_pointcloud_publisher) wip
lexavtanke Mar 1, 2023
6d3421c
Merge branch 'autowarefoundation:main' into feat/add_perception_objec…
lexavtanke Mar 7, 2023
0d52327
Merge remote-tracking branch 'my-fork/feat/add_perception_objects_poi…
lexavtanke Mar 7, 2023
d52e249
feat(add_perception_objects_pointcloud_publisher) update autoware_au…
lexavtanke Mar 8, 2023
7d88491
feat(add_perception_objects_pointcloud_publisher) update qos policy…
lexavtanke Mar 8, 2023
7ea700d
Merge branch 'autowarefoundation:main' into feat/add_perception_objec…
lexavtanke Mar 8, 2023
2b2cd6a
feat(add_perception_objects_pointcloud_publisher) integrate sync call…
lexavtanke Mar 13, 2023
110a01d
Merge remote-tracking branch 'my-fork/feat/add_perception_objects_poi…
lexavtanke Mar 13, 2023
d87a654
feat(add_perception_objects_pointcloud_publisher) add colors to diff…
lexavtanke Mar 14, 2023
7efbec4
feat(add_perception_objects_pointcloud_publisher) add property enab…
lexavtanke Mar 15, 2023
c3cfa57
feat(add_perception_objects_pointcloud_publisher) disable editing of…
lexavtanke Mar 15, 2023
e31460b
feat(add_perception_objects_pointcloud_publisher) code style format…
lexavtanke Mar 16, 2023
2a30ed3
feat(add_perception_objects_pointcloud_publisher) update variable names
lexavtanke Mar 16, 2023
1a2c1b7
feat(add_perception_objects_pointcloud_publisher) reformat
lexavtanke Mar 16, 2023
5f014b2
feat(add_perception_objects_pointcloud_publisher) remove test launc…
lexavtanke Mar 16, 2023
bcc38d0
feat(add_perception_objects_pointcloud_publisher) update readme
lexavtanke Mar 16, 2023
52ed35e
Merge branch 'autowarefoundation:main' into feat/add_perception_objec…
lexavtanke Mar 16, 2023
644255c
style(pre-commit): autofix
pre-commit-ci[bot] Mar 16, 2023
888baaf
feat(add_perception_objects_pointcloud_publisher) fix pre-commit.ci…
lexavtanke Mar 17, 2023
e765c7b
Merge remote-tracking branch 'my-fork/feat/add_perception_objects_poi…
lexavtanke Mar 17, 2023
c55e0e3
feat(add_perception_objects_pointcloud_publisher) fix typos
lexavtanke Mar 17, 2023
313d9bd
feat(add_perception_objects_pointcloud_publisher) dependence fix
lexavtanke Mar 17, 2023
38e1104
style(pre-commit): autofix
pre-commit-ci[bot] Mar 17, 2023
f5a4e2e
feat(add_perception_objects_pointcloud_publisher) dependency fix
lexavtanke Mar 17, 2023
19968c7
Merge remote-tracking branch 'my-fork/feat/add_perception_objects_poi…
lexavtanke Mar 17, 2023
50477eb
feat(add_perception_objects_pointcloud_publisher) typo fix
lexavtanke Mar 17, 2023
c62b202
style(pre-commit): autofix
pre-commit-ci[bot] Mar 17, 2023
9bd2019
feat(add_perception_objects_pointcloud_publisher) pcl depend fix
lexavtanke Mar 17, 2023
3648c96
Merge remote-tracking branch 'my-fork/feat/add_perception_objects_poi…
lexavtanke Mar 17, 2023
6303e1b
Merge branch 'main' into feat/add_perception_objects_pointcloud_publi…
kaancolak Mar 17, 2023
7081786
feat(add_perception_objects_pointcloud_publisher) wip add point_clo…
lexavtanke Mar 20, 2023
2a5cee7
feat(add_perception_objects_pointcloud_publisher) update add_pointcloud
lexavtanke Mar 21, 2023
1a61d7a
Merge branch 'autowarefoundation:main' into feat/add_perception_objec…
lexavtanke Mar 21, 2023
0eb0039
Merge remote-tracking branch 'my-fork/feat/add_perception_objects_poi…
lexavtanke Mar 21, 2023
e304540
feat(add_perception_objects_pointcloud_publisher) add proper center…
lexavtanke Mar 21, 2023
17e5849
style(pre-commit): autofix
pre-commit-ci[bot] Mar 21, 2023
c534358
feat(add_perception_objects_pointcloud_publisher) update readme
lexavtanke Mar 22, 2023
e87256e
feat(add_perception_objects_pointcloud_publisher) code cleaning
lexavtanke Mar 22, 2023
d7503f2
Merge remote-tracking branch 'my-fork/feat/add_perception_objects_poi…
lexavtanke Mar 22, 2023
94fa7c9
style(pre-commit): autofix
pre-commit-ci[bot] Mar 22, 2023
16fdef4
feat(add_perception_objects_pointcloud_publisher) fix ci/cd
lexavtanke Mar 22, 2023
31af5cd
feat(add_perception_objects_pointcloud_publisher) return state of ce…
lexavtanke Mar 23, 2023
d47a30f
Merge branch 'autowarefoundation:main' into feat/add_perception_objec…
lexavtanke Mar 23, 2023
61967dd
Merge branch 'autowarefoundation:main' into feat/add_perception_objec…
lexavtanke Mar 30, 2023
4082d58
feat(add_perception_objects_pointcloud_publisher) revert child classes
lexavtanke Mar 30, 2023
4b8f479
feat(add_perception_objects_pointcloud_publisher) subscription on an…
lexavtanke Mar 30, 2023
2f68f39
feat(add_perception_objects_pointcloud_publisher) update pointcloud …
lexavtanke Mar 31, 2023
a3559d3
feat(add_perception_objects_pointcloud_publisher) wip add find neare…
lexavtanke Apr 3, 2023
7b15c45
feat(add_perception_objects_pointcloud_publisher) add poincloud buff…
lexavtanke Apr 3, 2023
0150e97
feat(add_perception_objects_pointcloud_publisher) refactor getMaxRad…
lexavtanke Apr 3, 2023
21fe5a9
feat(add_perception_objects_pointcloud_publisher) remove objs_buffer …
lexavtanke Apr 3, 2023
36e7487
feat(add_perception_objects_pointcloud_publisher) add processPointClo…
lexavtanke Apr 3, 2023
b791442
feat(add_perception_objects_pointcloud_publisher) wip simple getNear…
lexavtanke Apr 4, 2023
0285d4d
feat(add_perception_objects_pointcloud_publisher) wip
lexavtanke Apr 4, 2023
585aa90
feat(add_perception_objects_pointcloud_publisher) simple search for …
lexavtanke Apr 4, 2023
b53b96d
feat(add_perception_objects_pointcloud_publisher) add mutex to prote…
lexavtanke Apr 6, 2023
27f0897
feat(add_perception_objects_pointcloud_publisher) code cleaning
lexavtanke Apr 6, 2023
57abb8b
Merge branch 'main' into feat/add_perception_objects_pointcloud_publi…
lexavtanke Apr 6, 2023
bd5e4ec
style(pre-commit): autofix
pre-commit-ci[bot] Apr 6, 2023
7b7debc
feat(add_perception_objects_pointcloud_publisher) fix pre-commit.ci …
lexavtanke Apr 6, 2023
22dd6c7
feat(add_perception_objects_pointcloud_publisher) fix pointcloud top…
lexavtanke Apr 11, 2023
8ff43c4
Merge branch 'main' into feat/add_perception_objects_pointcloud_publi…
kaancolak Jun 1, 2023
f9cff35
Merge branch 'main' into feat/add_perception_objects_pointcloud_publi…
kaancolak Jun 5, 2023
b754c56
Merge branch 'main' into feat/add_perception_objects_pointcloud_publi…
kaancolak Jul 19, 2023
a00a737
merge old pr to current autoware.universe main
lexavtanke Apr 24, 2024
3a5577f
Merge branch 'main' into perception-objects-pointcloud-better-visuali…
KhalilSelyan May 22, 2024
647d1e3
chore: add boost geometry lib for rounded functions on triangle list …
KhalilSelyan May 22, 2024
79dd50d
Update common/autoware_auto_perception_rviz_plugin/src/object_detecti…
KhalilSelyan May 24, 2024
8d0b5f9
Update common/autoware_auto_perception_rviz_plugin/src/object_detecti…
KhalilSelyan May 24, 2024
255c7f6
fix: pre-commit ci
KhalilSelyan May 24, 2024
ec76a55
chore: better logs for debugging re-renders
KhalilSelyan May 24, 2024
0de9203
chore: Fix typo
KhalilSelyan May 29, 2024
a24b8f6
refactor: Remove commented out code for calculating 2D bounding box b…
KhalilSelyan May 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions common/autoware_auto_perception_rviz_plugin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ autoware_package()

find_package(Qt5 REQUIRED COMPONENTS Widgets)

find_package(PCL REQUIRED)

set(OD_PLUGIN_LIB_SRC
src/object_detection/detected_objects_display.cpp
src/object_detection/tracked_objects_display.cpp
Expand Down Expand Up @@ -46,9 +48,14 @@ ament_auto_add_library(${PROJECT_NAME} SHARED
target_link_libraries(${PROJECT_NAME}
rviz_common::rviz_common
Qt5::Widgets
${PCL_LIBRARIES}
)
target_include_directories(${PROJECT_NAME} PRIVATE include)

target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
"${PCL_INCLUDE_DIRS}"
)

# Settings to improve the build as suggested on https://github.com/ros2/rviz/blob/ros2/docs/plugin_development.md
target_compile_definitions(${PROJECT_NAME} PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS")
target_compile_definitions(${PROJECT_NAME} PRIVATE "OBJECT_DETECTION_PLUGINS_BUILDING_LIBRARY")
Expand Down
27 changes: 18 additions & 9 deletions common/autoware_auto_perception_rviz_plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ Example:

#### Input Types

| Name | Type | Description |
| ---- | ----------------------------------------------------- | ---------------------- |
| | `autoware_auto_perception_msgs::msg::DetectedObjects` | detection result array |
| Name | Type | Description |
| ---- | ----------------------------------------------------- | ------------------------- |
| | `autoware_auto_perception_msgs::msg::DetectedObjects` | detection result array |
| | `sensor_msgs::msg::PointCloud2` | point cloud for filtering |

#### Visualization Result

Expand All @@ -31,9 +32,10 @@ Example:

#### Input Types

| Name | Type | Description |
| ---- | ---------------------------------------------------- | --------------------- |
| | `autoware_auto_perception_msgs::msg::TrackedObjects` | tracking result array |
| Name | Type | Description |
| ---- | ---------------------------------------------------- | ------------------------- |
| | `autoware_auto_perception_msgs::msg::TrackedObjects` | tracking result array |
| | `sensor_msgs::msg::PointCloud2` | point cloud for filtering |

#### Visualization Result

Expand All @@ -45,16 +47,23 @@ Overwrite tracking results with detection results.

#### Input Types

| Name | Type | Description |
| ---- | ------------------------------------------------------ | ----------------------- |
| | `autoware_auto_perception_msgs::msg::PredictedObjects` | prediction result array |
| Name | Type | Description |
| ---- | ------------------------------------------------------ | ------------------------ |
| | `autoware_auto_perception_msgs::msg::PredictedObjects` | prediction result array |
| | `sensor_msgs::msg::PointCloud2` | pointcloud for filtering |

#### Visualization Result

Overwrite prediction results with tracking results.

![predicted-object-visualization-description](./images/predicted-object-visualization-description.jpg)

### Visualization with active point cloud publishing

Publishing colored point clouds. With colors according to different classes of detected objects, same as polygons.

![visualization-with-pointcloud](./images/3d_pointcloud.png)

## References/External links

[1] <https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto/-/tree/master/src/tools/visualization/autoware_rviz_plugins>
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@

#include "autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp"

#include <autoware_auto_perception_msgs/msg/detected_object.hpp>
#include <autoware_auto_perception_msgs/msg/detected_objects.hpp>
#include <sensor_msgs/msg/point_cloud2.hpp>

#include <memory>

namespace autoware
{
Expand All @@ -37,6 +41,9 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC DetectedObjectsDisplay

private:
void processMessage(DetectedObjects::ConstSharedPtr msg) override;
void processPointCloud(
const DetectedObjects::ConstSharedPtr & input_objs_msg,
const sensor_msgs::msg::PointCloud2::ConstSharedPtr & input_pointcloud_msg);
};

} // namespace object_detection
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@
#include <geometry_msgs/msg/twist_with_covariance.hpp>
#include <visualization_msgs/msg/marker.hpp>

#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/strategies/buffer.hpp>
#include <boost/geometry/strategies/transform.hpp>
#include <boost/polygon/polygon.hpp>

#include <algorithm>
#include <map>
#include <string>
Expand Down Expand Up @@ -198,6 +205,10 @@ AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_2d_bounding_box_bottom_lin
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector<geometry_msgs::msg::Point> & points);

AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_2d_bounding_box_bottom_triangle_list(
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector<geometry_msgs::msg::Point> & points);

AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_2d_bounding_box_bottom_direction_line_list(
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector<geometry_msgs::msg::Point> & points);
Expand Down