-
Notifications
You must be signed in to change notification settings - Fork 44
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
Point cloud visualization plugin #346
Conversation
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
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.
First pass. I looked at the code, but I need to finish rebuilding Ignition G to test this.
I know we've looked at this together a handful of times already, but I'm trying to wear a stricter hat here as it's going into Ignition, whereas in the application-specific project it's more like "anything goes."
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
Thanks for the review, @mabelzhang . I've addressed your comments and added an example. This is now open for review. |
Signed-off-by: Louise Poubel <[email protected]>
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.
Thanks for adding the example! That made it a lot easier to test. Just two typos.
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
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.
Just pending green CI. Do we care about the doxygen warnings in the Bionic CI?
Ouch oh yeah we do, on it |
Signed-off-by: Louise Poubel <[email protected]>
Ok, doxygen should be fixed with edecdb8 . Besides that:
|
Signed-off-by: Louise Poubel <[email protected]>
Okay re Jenkins ones. Are these ones on the GitHub Actions intermittent?
|
Yup, these flaky failures due to X are all captured here: It makes life very complicated as we have to check each test and see if the failure was due to X 😢 |
Humm now I'm confused about the |
I'm looking at the test results again, a different part of the log, and I'm seeing this related to the
I think this is a real error? |
Thanks for spotting, yes! On it |
Signed-off-by: Louise Poubel <[email protected]>
Codecov Report
@@ Coverage Diff @@
## main #346 +/- ##
==========================================
- Coverage 64.41% 62.49% -1.93%
==========================================
Files 36 37 +1
Lines 4952 5164 +212
==========================================
+ Hits 3190 3227 +37
- Misses 1762 1937 +175
Continue to review full report at Codecov.
|
Signed-off-by: Louise Poubel <[email protected]>
I pushed some bumpers to see if it prevents the test from segfaulting in a8ab1c0. It feels completely unrelated to this PR, but since the test consistently fails on this branch and consistently passes on |
Signed-off-by: Louise Poubel <[email protected]>
It looks like they worked 🙏 Ok, I think we're in good shape now, phew. Thanks for being thorough! |
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.
Thank you for making all the fixes!
(If the bumpers aren't enough, welp, a future PR will see it :D)
sadly this test is failing on |
I am trying to visualize a point cloud from a camera sensor attached to a drone but the data is in body frame. Has this been implemented and can someone steer me to the right place to add this? |
There should be a frame ID in the header... I would think. Line 48 in examples/standalone/point_cloud/point_cloud.cc in this PR seems to suggest it's been implemented. There's usage example in the gz-sim integration tests e.g. gz-sim environment system implementation is here There's a tutorial for using the environment system, in a PR gazebosim/gz-sim#1806 |
@mabelzhang thanks for the reply. I took a look at those files and it's not clear to me how to access reference frame information of PointCloud data within a plugin. When I search for "frame" or "model" in the src/plugins/ I don't see any other examples of converting between reference frames for sensor data attached to a moving model. The goal is to visualize obstacle detect and avoid on PX4. Thanks for the help! Here's the model I'm using for the drone, you can see how the camera is attached I have some example code where I am downsampling a camera point cloud and republishing it Here's a pic of a drone with a depth camera looking at a block some distance from the origin |
Hey, okay, so first, we really shouldn't be starting a new topic in a merged PR. The more correct thing to do would be to open an issue and tag this PR as the relevant source code. I replied with links to the source code because they depend on code in this PR. But with the new details you posted, it should really be in a new issue ticket for better visibility. Please keep that in mind and open a new ticket if you post new information. @arjo129 can people set frame ID when visualizing point clouds? That would be part of the environment system right? |
To be fair this has nothing to do with the environment system. We should open a ticket, I suspect point clouds don't follow frame_ids set 😱 . |
Sorry about that! I figured posting here was the best way to get the attention of the person who knows! 😁 Ticket here |
🎉 New feature
Summary
Porting the point cloud visualization tool from osrf/lrauv.
This needs to target Garden because it requires per-point coloring of point clouds:
Features:
PointCloudPacked
messageFloatV
topic to get values for each pointKnown issues:
Future work:
There are many improvements that can be made to the plugin. Here are some improvements I can think of for the future:
Test it
See the added example and its instructions:
Here's an examples using it to display maritime science data for LRAUV:
Checklist
Updated migration guide (as needed)codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸