-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Include option to use PointCloud Transport #5264
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 #5264
Conversation
f3e3f8f
to
33dbf96
Compare
Notes:
|
@elsayedelsheikh, your PR has failed to build. Please check CI outputs and resolve issues. |
@SteveMacenski Any notes about re-initializing the subscriber in |
@SteveMacenski Hey Steve, Can you have a quick look on my implementation? |
@elsayedelsheikh thanks for taking this on! It might be nice to change the Transport code to have this constructor be templated by Maybe there are a couple of PRs to PC2 Transport needed to make this possible? Such as :
It strikes me that perhaps they are not included for a technical reason but rather just not feature parallel to what we use now. They could possibly be implemented :-) Especially if these features are in the Image Transport (you should check), in which case they are direct analogs to be added here that should be easy merges for the maintainers. Might be good to look over the issues or file an issue about some of these items |
My Pleasure, I was waiting for this :-)
Our first implementation was actually based on templated constructor but we followed this ros-perception/point_cloud_transport#109 (review) similar to ros2/geometry2#698 which recommends avoiding templates.
OK, Sure! |
It might be good to consolidate a list of 'wants' and 'proposed changes' and file a ticket with me CCed in it in PC2 Transport for us to discuss with the maintainers. I really hate working with the node interfaces in the application code (i.e. Nav2) since I believe it should be hidden from me as a developer. Templates do that quite nicely. I'm not saying we have to remove the current interface constructors, but it would be nice to have a template option as well that calls the interface once in the library. They essentially already do that here but only for |
Agreed! |
33dbf96
to
ad5fea7
Compare
This ready for a review again? |
Yeah, I tested the new signatures and it works fine! |
@elsayedelsheikh, your PR has failed to build. Please check CI outputs and resolve issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally approved! Are we just waiting on the PC transport code to be released into binaries?
This pull request is in conflict. Could you fix it @elsayedelsheikh? |
86325f5
to
a28ddc5
Compare
I've just updated |
@elsayedelsheikh, your PR has failed to build. Please check CI outputs and resolve issues. |
a28ddc5
to
309b251
Compare
@elsayedelsheikh, your PR has failed to build. Please check CI outputs and resolve issues. |
@elsayedelsheikh check out uncrustify failures to fix please! Also the documentation update PR would be dandy |
b60fa21
to
8dd8376
Compare
|
@elsayedelsheikh, your PR has failed to build. Please check CI outputs and resolve issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Jazzy/Kilted jobs should be passing, so I think we need to make updates for the compilation errors we see in those jobs. Only the main build should be failing from this PR since only the main branch should have the PC2 transport enabled
@SteveMacenski Jazzy/Kilted jobs Passed ✅ |
@elsayedelsheikh, your PR has failed to build. Please check CI outputs and resolve issues. |
@elsayedelsheikh the main PR doesn't build :-)
Once that is squared away, we just need those documentation updates for docs.nav2.org on the configuration guide + the migration guide about the new feature |
e2f7fd1
to
c1f2774
Compare
Codecov Report❌ Patch coverage is
... and 4 files with indirect coverage changes 🚀 New features to boost your workflow:
|
c1f2774
to
03df3a7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also see CI failing very oddly. I just retriggered it but if we fail in a similar way again, we may need to look into it.
For now, a small bug fix to close out the transport as well as the subscriber
After rebasing to recent updates, Jazzy & Kilted builds are failing due to missing header files #10 197.6 --- stderr: nav2_util
#10 197.6 In file included from /root/ws/src/nav2_util/src/robot_utils.cpp:25:
#10 197.6 /root/ws/src/nav2_util/include/nav2_util/robot_utils.hpp:29:10: fatal error: tf2_ros/buffer.hpp: No such file or directory
#10 197.6 29 | #include "tf2_ros/buffer.hpp"
#10 197.6 | ^~~~~~~~~~~~~~~~~~~~
#10 197.6 compilation terminated.
#10 197.6 gmake[2]: *** [src/CMakeFiles/nav2_util_core.dir/build.make:118: src/CMakeFiles/nav2_util_core.dir/robot_utils.cpp.o] Error 1
#10 197.6 gmake[2]: *** Waiting for unfinished jobs....
#10 197.6 gmake[1]: *** [CMakeFiles/Makefile2:210: src/CMakeFiles/nav2_util_core.dir/all] Error 2
#10 197.6 gmake[1]: *** Waiting for unfinished jobs....
#10 197.6 gmake: *** [Makefile:146: all] Error 2
#10 197.6 ---
#10 197.6 Failed <<< nav2_util [12.2s, exited with code 2] |
Signed-off-by: ElSayed ElSheikh <[email protected]>
Signed-off-by: ElSayed ElSheikh <[email protected]>
Signed-off-by: ElSayed ElSheikh <[email protected]>
Signed-off-by: ElSayed ElSheikh <[email protected]>
Signed-off-by: ElSayed ElSheikh <[email protected]>
Signed-off-by: ElSayed ElSheikh <[email protected]>
Signed-off-by: ElSayed ElSheikh <[email protected]>
03df3a7
to
3f9cc75
Compare
Yeah that's fine - I'm looking at the circleCI job for |
Perfect! |
@elsayedelsheikh can you show this building on jazzy/kilted prior to rebase? Our CI is down for those at the moment as I mentioned above and I want to verify those work before I merge since this has changes specific to dfiferent distributions. |
@SteveMacenski They passed since e2f7fd1 ![]() |
* Rebase Signed-off-by: ElSayed ElSheikh <[email protected]> * Make linters happy Signed-off-by: ElSayed ElSheikh <[email protected]> * Rename point_cloud_transport parameter Signed-off-by: ElSayed ElSheikh <[email protected]> * Rebase Signed-off-by: ElSayed ElSheikh <[email protected]> * Feedback Signed-off-by: ElSayed ElSheikh <[email protected]> * Feedback Signed-off-by: ElSayed ElSheikh <[email protected]> * Fix Signed-off-by: ElSayed ElSheikh <[email protected]> --------- Signed-off-by: ElSayed ElSheikh <[email protected]>
Basic Info
Description of contribution in a few bullet points
Include option to use point_cloud_transport so that it works out of the box for the users.
Description of documentation updates required from your changes
New parameter
point_cloud_transport
to tune with default value set to"raw"
that works with regularPointCloud2
without any compression.Description of how this change was tested
I used turtelbot4 gazebo simulation and used depth_image_processing to publish
PointCloud2
out of (rgb and depth) images, my launch file:Click to show
Future work that may be required in bullet points
For Maintainers: