ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Adding Octomap data to planning scene in ROS Electric

asked 2012-03-25 13:10:30 -0500

jwrobbo gravatar image

I am trying to use data from an octomap for collision avoidance in arm_navigation. Octomap_server publishes a series of collision objects on the octomap_collision_object topic so I was hoping that I could use these but this does not work (I tried remapping to the collision_object topic). Is this something that would have worked in diamondback but doesn't with the electric planning scene architecture? How can I add the octomap data to the arm_navigation planning scene in ROS electric? Thanks.

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2012-03-26 07:29:24 -0500

ben gravatar image

updated 2012-03-27 09:35:21 -0500

Maybe the version of octomap_server for Electric doesn't publish the collision map. I have a version of octomap_server that was ported from Diamondback to Electric that does publish a collision map on "collision_map_out".

You can see the version here:

You can get the code:

git clone

I know that that version works and does what you want.

edit flag offensive delete link more


Thanks! Works like a charm. Looks like you're working on a pretty interesting project.

jwrobbo gravatar image jwrobbo  ( 2012-03-28 06:12:22 -0500 )edit

Happy to hear it. It seems like you are as well :)

ben gravatar image ben  ( 2012-03-28 18:56:55 -0500 )edit

Collision map publishing on the same topic has now been backported to octomap_server in octomap_mapping (trunk).

AHornung gravatar image AHornung  ( 2012-04-03 05:34:36 -0500 )edit

answered 2012-03-25 13:18:08 -0500

ben gravatar image

Yes, you can do it with the planning scene too. If the octomap server is also publishing your octomap as a CollisionMap then you just have remap the collision map topic that the environment server listens to.

Wherever you launch the environment server from, add in a remap line like so:

  <node pkg="planning_environment" type="environment_server" output="screen" name="environment_server" machine="c2">
     <remap from="collision_map_occ" to="my_octomap_collision_map_topic" />

I would imagine that you can do something similar with your octomap_collision_objects here but it seems like you tried that already and it didn't work. I can guarantee that this works with the CollisionMap though.

edit flag offensive delete link more

answered 2012-03-26 07:00:08 -0500

jwrobbo gravatar image

Thanks a lot Ben. The trouble seems to be that octomap_server doesn't publish a collision map, only collision objects and there doesn't seem to be a way to subscribe to that topic in the same way that you can with collision_map. Currently trying to alter OctomapServer.cpp to do something similar to this tutorial: but I'm sure there must be a better way!

edit flag offensive delete link more

Question Tools



Asked: 2012-03-25 13:10:30 -0500

Seen: 1,246 times

Last updated: Mar 27 '12