-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Include option to use PointCloud Transport #4042
Comments
Hi, could you provide more info? I would like to contribute if it´s possible. |
I'm taking this issue. Thanks! |
@xFranv8 any updates? |
I think we have a similar case to
Should we wait till it gets implemented in |
Do they need lifecycle support if we create them in the configure / activate methods of our lifecycle servers? Note in Costmap2D we use Message Filters, which has an unsubscsribe/subscribe option -- I'm not sure if/how you can or should use both message filters and image / PC2 transport, but I imagine you can by daisy chaining callbacks. If so, then that unsubscribe/subscribe feature would give you virtual lifecycle support for our needs here, even if not supported by those libraries. Optionally: you could choose to implement it in the transport pipelines as part of this ticket, I'm sure the maintainers would love the help and further have impact in the community! But, I don't think it is largely necessary, since the transports are used within costmap layers or within operations that themselves are happening in lifecycle transitions. We don't try to make the subscribers until we're in the configure state (though between configure and activate... the message filters subscribe resolves that for us for now -- if we can daisy chain and use both; don't return callback until a TF transform exists and use the compression pipelines) |
Perfect! Edit: TODO:Pre
MainPerformance EvaluationMetrics ? (Bandwidth/DataQuality/Frequency/Latency/CPU&MemoryUsage) Wrap-up
|
Conveniently, the voxel layer uses the obstacle layer's base for subscriptions, so its a 2 for 1! I think also STVL/NPVL would be good as well, while you're at it!
I think that would be good Also add into your tasks for documentation updates to the layer's configuration file, migration guide, and best yet if you wanted to write a quick tutorial about how to use it (and some metrics about how it improves performance - possibly?) |
Hi everyone, I've been working on this topic for a few days now and didn't realize others were also on it. I should have posted earlier. I have not noticed there's a Subscribe Filter variant in PCL transport that might be a better implementation than what I'm currently using. @elsayedelsheikh, let me know if you'd like any assistance. |
Sounds good! @DasariChaitanya Edit:
Check point_cloud_transport_republisher One additional PointCloud2 publisher in nav2_dwb_controller which publishes the CostGrid
|
Hi @DasariChaitanya |
Hi @elsayedelsheikh
|
Per https://github.com/ros-perception/point_cloud_transport, we can now use compressed pointcloud streams in ROS 2. We can enable those in the Costmap layers that ingest pointcloud sensor streams (i.e. obstacle, voxel) and the collision monitor and show that this reduces network traffic without composed nodes to keep up better (and CPU impacts).
We would want sensor drivers and depth pipelines to have the option to output this as well to be able to ingest in Nav2 out of the box. Rviz2 + Gazebo would be ideal as well to publish PC2 from Gazebo into Rviz without as much latency
CC @ahcorde
The text was updated successfully, but these errors were encountered: