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 Improve visualization of the perception module #2860

Open
3 tasks done
lexavtanke opened this issue Feb 10, 2023 · 4 comments
Open
3 tasks done

feat Improve visualization of the perception module #2860

lexavtanke opened this issue Feb 10, 2023 · 4 comments
Assignees
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) status:stale Inactive or outdated issues. (auto-assigned) type:new-feature New functionalities or additions, feature requests.

Comments

@lexavtanke
Copy link
Contributor

lexavtanke commented Feb 10, 2023

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I've agreed with the maintainers that I can plan this task.

Description

Create an additional output from the autoware perception so the detected objects will look like following:

  • Pedestrians:
    • Yellow point cloud and elliptic ground marker
  • Cars:
    • Blue point cloud and rectangular ground marker
  • Cyclists:
    • Green point cloud and rectangular ground marker

Example from Waymo interface: waymoPerception

Purpose

Main goal in this task is to achieve better performance and elegance for the visualization of the perception stack.

Possible approaches

Create node which will subscribe to topic /perception/obstacle_segmentation/pointcloud and publish colored pointcloud according to topic /perception/object_recognition/objects.

Updated diagram
image

For the polygons colors and forms can be changed in autoware_auto_perception_plugin as it was done in the pr #2780

Definition of done

User is able to visualize colored pointcloud and polygons according to recognized classes.

@kaancolak kaancolak added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Feb 10, 2023
@kaancolak kaancolak added the type:new-feature New functionalities or additions, feature requests. label Feb 10, 2023
@yukkysaito
Copy link
Contributor

yukkysaito commented Feb 17, 2023

I think it is better to implement as rviz plugin than to create a new node. Adding a node as a visualization node would complicate the node diagram and launch.

BTW,
I find it difficult to visualize attractively with Rviz wrapped in Ogre, difficult to set up layers, etc.
ros2/rviz#875
https://forums.ogre3d.org/viewtopic.php?t=96765
Therefore I am making a separate godot based visualization tool.
https://github.com/yukkysaito/godot_rviz2

@lexavtanke
Copy link
Contributor Author

I have some thoughts about realization of the rviz plugin for detected (and etc) objects pointclouds visualization.

It can be done by modification existed autoware_auto_perception_rviz_plugin and there are two ways:

  • by adding ability to publish pointclouds to autoware plugin and vizualizing them by standard pointcloud rviz plugin
  • by adding ability to visialize pointclouds to autoware plugin

Or it can be done by creating additional plugin which will visualize objects pointclouds.

So there is difference in configuration experience if some one need to disable or enable pointclouds and type of polygon visualization he will need to navigate to different tabs in separate plugins or just click to check box in one plugin.

I hope to get some feedback from authors of the original autoware_auto_perception_rviz_plugin from Tier IV and Apex.AI.

Here is picture how it will look like from prototype node.
image

@lexavtanke
Copy link
Contributor Author

Here are some preliminary results.
I made two version because it was more easy to start with separate node for this and then integrate it in to rviz_plugin.

This video show comparison between debug output of detected_object_validator (purple) and my node for publishing detected objects pointclouds (blue).
repo with node

This video show comparison between debug output of detected_object_validator (purple) and autoware_auto_perception_rviz_plugin with with integrated feature (blue).
autoware fork

It seem to me that they are works kinda similar to each other and both of them are slower than debug output. I think it may be because validator use sync between topics and my code don't. I didn't find the way to make it in rviz_plugin.

I would really appreciate any clue or advice how to speed up my code to delay between pointclouds and markers.

@stale
Copy link

stale bot commented May 8, 2023

This pull request has been automatically marked as stale because it has not had recent activity.

@stale stale bot added the status:stale Inactive or outdated issues. (auto-assigned) label May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) status:stale Inactive or outdated issues. (auto-assigned) type:new-feature New functionalities or additions, feature requests.
Projects
None yet
Development

No branches or pull requests

3 participants