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

Getting map -> odom transform without using Gmapping

asked 2013-03-12 06:40:34 -0600

kachilous gravatar image

I need to get the map -> odom transform which is the pose of the robot in the map frame. During the execution of my program, I serve a built map to the map server, so I fear that if I have gmapping running with the map server there may be a conflict, ie my program will subscribe to the wrong map topic.

Is there a way to get the map -> odom transform without using gmapping? Or if I use gmapping will it cause a conflict in my program, if I have an exisiting map on the map server?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2013-03-12 08:11:56 -0600

Ben_S gravatar image

If i understand correctly, you only want to localize in a given (static?) map. Have a look at AMCL, which should be exactly what you need.

If you are building your own map dynamically, i think you have to set use_map_topic to true and first_map_only to false (default).

edit flag offensive delete link more
1

answered 2013-03-12 08:06:31 -0600

dornhege gravatar image

You can usually remap everything when running gmapping, i.e. the /map topic and possibly the /map frame (via param) for tf. If you do so gmapping will not interfere with other algorithms producing the same kind of data.

edit flag offensive delete link more

Comments

In the map -> odom transform that gmapping provides, where will it get the map data? From the map on the map server or on the map that gmapping has

kachilous gravatar image kachilous  ( 2013-03-12 15:56:05 -0600 )edit

gmapping make its own map.

dornhege gravatar image dornhege  ( 2013-03-13 01:01:08 -0600 )edit

So in calculating the transform map -> odom, instead of using the map that I've loaded on the map server, (which is what I want) it will instead use the map that it has created.

kachilous gravatar image kachilous  ( 2013-03-13 11:01:50 -0600 )edit

gmapping will always create and use its own map.

dornhege gravatar image dornhege  ( 2013-03-13 11:28:31 -0600 )edit

So if I want to know the location of the robot in my map that I built with gmapping, would it matter that gmapping uses its own map to calculate the map -> odom transform?

kachilous gravatar image kachilous  ( 2013-03-13 12:19:27 -0600 )edit

gmapping will only give you the position in the map that it builds right now. If you want to localize in a previously recorded map, use something like amcl. See @Ben_S answer for that.

dornhege gravatar image dornhege  ( 2013-03-14 01:55:38 -0600 )edit

Question Tools

Stats

Asked: 2013-03-12 06:40:34 -0600

Seen: 1,011 times

Last updated: Mar 12 '13