Ask Your Question
0

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
1

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

phil gravatar image

You might wanna give the mapstitch package (http:// www.ros.org/wiki/mapstitch) 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

Comments

can this b useful in global localization?

Xittx gravatar imageXittx ( 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 imagephil ( 2013-03-01 05:04:07 -0600 )edit
0

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

Comments

i want to localize robots relatively

Xittx gravatar imageXittx ( 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 imageAchim ( 2013-02-21 00:56:55 -0600 )edit

thanks Achim for responding

Xittx gravatar imageXittx ( 2013-02-21 02:48:22 -0600 )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

2 followers

Stats

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

Seen: 404 times

Last updated: Feb 28 '13