Ask Your Question

RTABMAP send generated map via topic

asked 2016-07-03 10:36:15 -0500

jacksonkr_ gravatar image

updated 2016-07-03 10:36:44 -0500

Current Setup

Currently I have a ROS Master and a robot client. The robot client sends all data to the master which is running RTABMAP. The 3d map is put together on the Master.

Desired Setup

I want the robot client to generate the maps and stream the compiled data via wifi to the ROS Master. The caveat is that I eventually want multiple robot clients to send their data back to the same master. Do I merely need to shuffle code around in the RTABMAP source?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-07-04 13:46:29 -0500

matlabbe gravatar image


Each robot can send their map to Master through /rtabmap/mapData topic. This topic contains the graph and the latest compressed data added to map (at each second). You may have to set tf_prefix parameter with a different prefix to have a unique TF tree for each robot. You would also need to start each rtabmap in their own namespace (see <group> launch tag).

You could use a map_assembler node on the Master to reconstruct the map for each robot. To merge the maps, you would have to implement your own approach if you want to do it online. Merging the maps from multiple robots can be done offline by processing back-to-back each resulting database (similar to Multi-Session tutorial).


edit flag offensive delete link more


Excellent answer. Thank you for your attention to detail, I really appreciate it.

jacksonkr_ gravatar image jacksonkr_  ( 2016-07-04 18:19:59 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2016-07-03 10:36:15 -0500

Seen: 129 times

Last updated: Jul 04 '16