0
$\begingroup$

Rosanswers logo

Hello everyone,

I'm using the SLAM package rtabmap, this package is able to output an octomap that's automatically updated on loop closures

I want to use moveit to navigate my drone in its environnement (that works) but I don't want moveit to compute another occupancy map since I already have rtabmap to do it and rtabmap's map is more accurate than anything moveit could do.

So here is my question:

How could I feed moveit with an external octomap (and disable the internal octomap computation)?

Thanks a lot.

I made it work! Here is the corresponding repo: https://github.com/Notou/Moveit-External-Octomap-Updater


Originally posted by Notou on ROS Answers with karma: 23 on 2017-06-28

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

To make MoveIt stop building its own map just disable the OccupancyMapUpdater that is configured in your moveit config. To get the rtabmap-octomap into the move_group node you will have to write a new OccupancyMapUpdater plugin, or re-/ab-use the pointcloud_octomap_updater plugin at the cost of possibly big delays.


Originally posted by v4hn with karma: 2950 on 2017-06-28

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Notou on 2017-07-04:
Thanks, This seem the proper solution. I'll mark your answer when I finally manage to have it working :)

edit:

Yep, it works!

Comment by v4hn on 2017-07-05:
Do you have the new plugin available online? This is clearly of interest to others, so I would very much encourage you to put it into some repository online (or contribute it to MoveIt! if you don't wish to maintain it).

Comment by gvdhoorn on 2017-07-07:
It's not directly from a topic, but a possible alternative could have been the moveit_msgs/LoadMap service that is exposed by the OccupancyMapMonitor in MoveIt?

Comment by Notou on 2017-07-07:
It's a possibility yes, and it would be easier too. That being said, I did not really consider it because I don't really like the idea of having to write and read a file that can be quite big more than once a second...

Comment by gvdhoorn on 2017-07-07:
I was not aware you wanted to refresh the octomap, I had understood that it was a one-time thing. Using services for a continuous update is not a good idea.

Comment by JunTuck on 2021-10-26:
Hi, I'm also feeding external Octomaps to MoveIt, but I do so via publishing a PlanningScene message (that contains an Octomap message) to the topics "/move_group/monitored_planning_scene" and "/planning_scene". Is there a (dis)advantage to this method in comparison to OP's custom plugin approach?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.