moveit icon indicating copy to clipboard operation
moveit copied to clipboard

More general usage of PointcloudOctomapUpdater

Open Dale-Koenig opened this issue 4 years ago • 13 comments

Description

See #1954 for discussion. Adds a service to force PointcloudOctomapUpdater to update, and allows remaking the tree with each update, skipping ray tracing. Requires a corresponding change to moveit_msgs to add the service corresponding PR. Additionally refactors to allow easily maintaining ones own OcTree and attaching PointcloudOctomapUpdaters to it.

A next step in this direction would likely be to remove the requirement of all objects being in tf for the planning pipeline, and having the transform callback give the transform from the planning scene for objects that are not in tf.

setup_assistant_change

Dale-Koenig avatar Mar 27 '20 03:03 Dale-Koenig

Codecov Report

Merging #1984 into master will increase coverage by 0.30%. The diff coverage is 56.48%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1984      +/-   ##
==========================================
+ Coverage   56.38%   56.68%   +0.30%     
==========================================
  Files         286      286              
  Lines       24411    24449      +38     
==========================================
+ Hits        13762    13856      +94     
+ Misses      10649    10593      -56     
Impacted Files Coverage Δ
...octomap_updater/src/pointcloud_octomap_updater.cpp 65.65% <55.43%> (+30.49%) :arrow_up:
...veit/occupancy_map_monitor/occupancy_map_updater.h 100.00% <100.00%> (ø)
...ccupancy_map_monitor/src/occupancy_map_monitor.cpp 51.86% <100.00%> (+0.36%) :arrow_up:
...raint_samplers/src/default_constraint_samplers.cpp 81.89% <0.00%> (+0.37%) :arrow_up:
...meterization/work_space/pose_model_state_space.cpp 84.56% <0.00%> (+1.48%) :arrow_up:
...pl_interface/src/detail/state_validity_checker.cpp 44.12% <0.00%> (+5.89%) :arrow_up:
...eption/point_containment_filter/src/shape_mask.cpp 82.36% <0.00%> (+32.36%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update e337c08...6dfae4b. Read the comment docs.

codecov-io avatar Apr 01 '20 04:04 codecov-io

@v4hn @rhaschke I'm leaving WIP in the title to make sure this is not merged before the .rosinstall change is reverted, but it is ready for review.

Dale-Koenig avatar Apr 01 '20 05:04 Dale-Koenig

I added @henningkayser as a reviewer. He is eager to look into this and get it merged to use it in one of his own projects. :)

v4hn avatar Apr 03 '20 15:04 v4hn

(Still want to retest this a bit again since making updates)

Dale-Koenig avatar May 14 '20 05:05 Dale-Koenig

(Still want to retest this a bit again since making updates)

Please tell us once you are ready to see this merged.

v4hn avatar May 14 '20 10:05 v4hn

(Still want to retest this a bit again since making updates) Please tell us once you are ready to see this merged.

Should be fine now. I just wanted to rerun using the old interface to check that it wasn't broken. The other thing I was worried about it now addressed in #2104

Dale-Koenig avatar May 25 '20 04:05 Dale-Koenig

@v4hn ping

Dale-Koenig avatar Jul 20 '20 14:07 Dale-Koenig

I am in the process of building a MoveIt! system around a robot, and I am using the sensor plugin occupancy_map_monitor/PointCloudOctomapUpdater for defining real-world collision objects based on pointcloud data. I currently see no way of updating or clearing the pointcloud or its associated occupancy tree once it has been published on the topic that the sensor plugin is listening on.

As I understand it, this pull-request would enable such functionality. What is the current status for merging this PR?

Alternatively, is there a workaround to updating/clearing the Octomap pointcloud or occupancy tree from a user-defined node?

aseligmann avatar Oct 01 '20 08:10 aseligmann

What is the current status for merging this PR?

Some maintainer needs to review and test the patch and sadly nobody had the time to do so. If you want to support this patch, please try it out and comment here.

v4hn avatar Oct 01 '20 09:10 v4hn

I am in the process of building a MoveIt! system around a robot, and I am using the sensor plugin occupancy_map_monitor/PointCloudOctomapUpdater for defining real-world collision objects based on pointcloud data. I currently see no way of updating or clearing the pointcloud or its associated occupancy tree once it has been published on the topic that the sensor plugin is listening on.

As I understand it, this pull-request would enable such functionality. What is the current status for merging this PR?

Alternatively, is there a workaround to updating/clearing the Octomap pointcloud or occupancy tree from a user-defined node?

I believe there's already a clear octomap movegroup capability you could look into

Dale-Koenig avatar Oct 01 '20 16:10 Dale-Koenig

I was just trying to test this, but it's failing to build with a bunch of warnings about moveit_resources, here's the first:

WARNING: package "moveit_planners_ompl" should not depend on metapackage "moveit_resources" but on its packages instead

(It says warning, but then it abandons the build.) Maybe a rebase is needed? Or is there a workaround for this?

JStech avatar Oct 19 '20 01:10 JStech

I was just trying to test this, but it's failing to build with a bunch of warnings about moveit_resources

We recently modularized moveit_resources. So this just needs a rebase onto latest master.

rhaschke avatar Oct 19 '20 07:10 rhaschke

Thanks for the rebase. I'd like to see this merged--I think it'll be helpful in a project I'm working on. I built and ran it, and it seems to work as intended.

JStech avatar Nov 01 '20 04:11 JStech