Rosanswers logo

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?

Originally posted by jacksonkr_ on ROS Answers with karma: 396 on 2016-07-03

Post score: 0


1 Answer 1


Rosanswers logo


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).


Originally posted by matlabbe with karma: 6409 on 2016-07-04

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by jacksonkr_ on 2016-07-04:
Excellent answer. Thank you for your attention to detail, I really appreciate it.


Your Answer

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