Improve handling of empty octomap messages and "clear octomap" actions#3134
Improve handling of empty octomap messages and "clear octomap" actions#3134rhaschke merged 6 commits intomoveit:masterfrom
Conversation
|
Thanks for helping in improving MoveIt and open source robotics! |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #3134 +/- ##
==========================================
+ Coverage 61.60% 61.72% +0.12%
==========================================
Files 376 376
Lines 33309 33318 +9
==========================================
+ Hits 20518 20562 +44
+ Misses 12791 12756 -35
... and 6 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
rhaschke
left a comment
There was a problem hiding this comment.
Thanks a lot for this fix and sorry that your PR was ignored for so long.
In prinicple I approve, but I suggest to set a non-empty id only if the octomap was actually cleared. Otherwise, a corresponding update will be always triggered.
Description
Currently, if a
PlanningScenemessage is published on themonitoried_planning_scenetopic with an emptymsg.world.octomap.octomap.datafield, the octomap is skipped altogether in if it is amsg.is_diffis True (source). I think perhaps an emptydatafield is interpreted as the octomap field not being filled. But this makes it impossible to clear the octomap by sending an empty octomap message (for example via the "Clear octomap" button in the MotionPlanning panel in RViz).This PR sets
octomap.idto"empty"if the octomap is empty (this string can be anything except an empty string), and checksoctomap.id.empty()instead ofoctomap.data.empty()to see if the octomap should be processed.Fixes #3045.
Checklist