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

global localization and mapping (multiple robots)

asked 2013-02-20 00:43:35 -0600

Xittx gravatar image

i have used gmapping for SLAM for one robot. do you have any idea how to build a global map in which both robots will be localized and merge their local maps. is their any algorithem in ros for this?.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-02-28 06:24:40 -0600

phil gravatar image

You might wanna give the mapstitch package (http:// a try.

It uses opencv's estimateRigidTransform method to calculate rotation and translation between two maps. The estimation works best the larger the maps are, that's why mapstitch actually needs three topics of published maps: map, world and align. The map on the align topic will be rotated/translated to the world map and this transformation will be published whenever the map topic gets updated.

We aligned maps after they have been completely build (which was enough in our use case), while replaying the original dataset. It might however also work in a setup with incomplete maps.

edit flag offensive delete link more


can this b useful in global localization?

Xittx gravatar image Xittx  ( 2013-02-28 21:32:38 -0600 )edit

You need to test. In principle you publish one robot's map on /world and remap /align to /map for the mapstitch process. Then whenever there are enough ORB feature matches in both maps a tf between both maps will be published, i.e. you localize one robot relative to the other one.

phil gravatar image phil  ( 2013-03-01 05:04:07 -0600 )edit

answered 2013-02-20 01:50:51 -0600

Achim gravatar image

This is a nontrivial topic... The first question would be: what global coordinate system do you have? GPS? Or none at all and you want the robots to localize each other relatively?

That decides a bit in which direction of research you have to look... Anyway I'm not confident that there exists a finished solution in ROS for your problem. An approximate solution could be to just merge the maps into one using GPS... or try to do cross correlation or something to adjust position errors.

edit flag offensive delete link more


i want to localize robots relatively

Xittx gravatar image Xittx  ( 2013-02-20 03:08:35 -0600 )edit

I think that still is an active research topic. I'm pretty sure there is nothing ready to use in ros for that use case... So you'd need to find some algorithm from the robotics literature and try to implement it yourself, I guess.

Achim gravatar image Achim  ( 2013-02-21 00:56:55 -0600 )edit

thanks Achim for responding

Xittx gravatar image Xittx  ( 2013-02-21 02:48:22 -0600 )edit

Question Tools



Asked: 2013-02-20 00:43:35 -0600

Seen: 568 times

Last updated: Feb 28 '13