Ask Your Question

Multiple Robots with slam_gmapping

asked 2012-02-25 18:53:40 -0500

pmwalk gravatar image

updated 2014-01-28 17:11:29 -0500

ngrennan gravatar image

I'm not sure about this, but I gather that the slam_gmapping package cannot combine the laser scans from multiple robots?

If this is true, does anyone know if there exists a ROS slam package that does this? I've done a bit of searching but haven't been able to find one.

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2012-02-26 00:29:11 -0500

Ben_S gravatar image

I am not sure about other SLAM packages that would support multi-robot mapping, but i can confirm, that GMapping is not capable of doing this.

In fact i would guess that none of the particle filter based SLAM variations (like GMapping) is suitable for this use case. Since the map you actually see is only the estimate produced by the currently highest rated particle there would be some kind of combinatory explosion of the needed particle count if odometry-noise from two or more robots has to be estimated. And since the initial offset of the starting points of the robots is not known, even more particles with guesses of this offset would be needed for a global map to align properly if one robot visits an area the other robot has already mapped.

You may have a look at graph-based approaches that maybe incorporate visual features that are globally unique (e.g. SIFT, SURF). But i really have no idea if there is a algorithm like this implemented in ros already. I would really appreciate if you could keep us posted about your findings later on.

edit flag offensive delete link more


That was my intuition, thank you! If I do find some solution or alternative I will certainly post it back here.

pmwalk gravatar image pmwalk  ( 2012-02-26 06:59:14 -0500 )edit

Please mark the answer as accepted with the checkmark at the left. So others will know you have an acceptable answer.

tfoote gravatar image tfoote  ( 2012-03-01 19:56:04 -0500 )edit

Ah thanks, sorry about that.

pmwalk gravatar image pmwalk  ( 2012-03-01 19:58:45 -0500 )edit

answered 2012-02-26 03:04:26 -0500

updated 2012-03-01 15:06:48 -0500

No, slam_gmapping doesn't work with multirobot systems. I have tried it with stage, the SLAM just doesn't start to work, hopefully we will have some improvement in fuerte (March 2012 release).

Probably the reason that slam_gmapping fails is that the communication between two (or more) robots is ambigious.

edit flag offensive delete link more

answered 2014-06-29 07:24:56 -0500

Jonas gravatar image

This is a very old topic. But I have constructed a node that can take in laser and odom information from another robot and use that information to add it to it's own map. This is based on the principle of letting a virtual robot run back through the traversed path of the other robot. The implementation is still crude and obviously needs some polishing, but it works very well. You can either use a decentralized approach where the robots incorporate the data of all the other robots the entire time or in intervals (or upon encounter) or do it centralized and have 1 pc/or robot take in all the lasers and odom of the robots and build 1 map from it. What you essentially have to do is subscribe to the odom and laser of all the robots and republish them under the same namespace. You do have to keep track of the timings ofcourse, you need to restamp the message to the current timeframe so that GMapping doesn't reject them. It's a bit of work, but certainly doable.

edit flag offensive delete link more


Can you please give us the name and the source code of your node ?

assil gravatar image assil  ( 2014-11-15 05:20:52 -0500 )edit

I know it's been over a year, but this node would be very appreciated. I'm running into a similar problem and would love to see your code. Thanks

timisplump gravatar image timisplump  ( 2015-11-19 14:47:39 -0500 )edit

Yes, please, do you have the node, despite the fact that three years have passed?

Edward gravatar image Edward  ( 2017-05-05 06:48:52 -0500 )edit

FYI, as part of the mrpt_graphslam_2d package, we have implemented an pose-graphSLAM variant that implements multi-robot graphSLAM. For more on this see:

bergercookie gravatar image bergercookie  ( 2017-05-19 04:42:05 -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


Asked: 2012-02-25 18:53:40 -0500

Seen: 2,041 times

Last updated: Jun 29 '14