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

Switch from AMCL to Gmapping, 50% of time Odom->Map is missing, WHAT?????? [closed]

asked 2013-06-24 05:36:51 -0600

Gazer gravatar image

updated 2013-06-25 08:48:29 -0600

Hi all

the navigation stack is working on my robot; I am running AMCL and using a map. Everything looks good.

But currently, I want to try without the map, so I switch to Gmapping_Slam.

after replace Gmapping with [AMCL and Map_server], without changing any params file, I got the following error:

Deleting Nodes: 0 3 4 5 6 7 8 12 13 15 17 18 22 27 28 29 32 34 38 39 42 44 45 46 47 52 54 55 56 57 59 60 61 62 64 66 67 68 69 71 73 74 77 Done
Deleting old particles...Done
Copying Particles and  Registering  scans... Done
update frame 5079
update ld=0.00172108 ad=0.470991
Laser Pose= 1.81922 -3.07923 -0.57847
m_count 72
[ WARN] [1372182392.573803115, 203.350000000]: Map update loop missed its desired rate of 5.0000Hz... the loop actually took 2.6270 seconds
Average Scan Matching Score=631.094
neff= 78.0004
Registering Scans:Done
[ERROR] [1372182393.019591757, 203.517000000]: Extrapolation Error: Unable to lookup transform, cache is empty, when looking up transform from frame [/odom] to frame [/map]

[ERROR] [1372182393.019652175, 203.517000000]: Global Frame: /odom Plan Frame size 253: /map

[ WARN] [1372182393.019678262, 203.517000000]: Could not transform the global plan to the frame of the controller
[ERROR] [1372182393.471505757, 203.717000000]: Extrapolation Error: Unable to lookup transform, cache is empty, when looking up transform from frame [/odom] to frame [/map]

This is not possible because it was working with AMCL with no errors, and offcourse the transform tree is no problem. Very strange.

update 2:

I see..... I image description

It's the problem that sometimes, the transform between odom and map is not ALWAYS available. 50% of time, I ran rosrun tf tf_monitor, I got this error:

rosrun tf tf_echo map odom
Failure at 712.583000000
Exception thrown:Frame id /map does not exist! Frames (1): 
The current list of frames is:

 At time 713.357
    - Translation: [2.238, -0.436, 0.017]
    - Rotation: in Quaternion [-0.000, 0.001, -0.003, 1.000]
                in RPY [-0.001, 0.002, -0.006]

But for the remaining time, I was able to see the transform; It is at this period, the robot is able to follow the planned trajectory; for other times, it give the error message, saying the odom and map transform is not available. So confuse!

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by Gazer
close date 2013-06-27 12:20:49


What system are you running that on? How did you configure the frames? The message is very odd as gmapping actually produces that transform. So it shouldn't care that it doesn't exist.

dornhege gravatar image dornhege  ( 2013-06-25 08:01:21 -0600 )edit

hi, I am running on Groovy, and I use "diff_drive" plugin to publish odom->base_footprint, and I used a static transform to publish base_footprint-> laser. So my entire transform tree is map->odom->base_footprint->laser, it is extremely weird because I didn't have the same problem running AMCL

Gazer gravatar image Gazer  ( 2013-06-25 08:13:58 -0600 )edit

It said something about the loop taking 2.6s. Is this a common thing? That would explain the outages.

dornhege gravatar image dornhege  ( 2013-06-25 08:48:45 -0600 )edit

A side comment: I wish that people/you had properly edited/updated your question because most of the proposed answers make no sense to what the question looks like now. Is there a way to see a timeline for these threads?

kwiesz91 gravatar image kwiesz91  ( 2015-09-14 13:14:09 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2013-06-25 11:23:33 -0600

dikka gravatar image

I think there might the problem with your rate of transform publisher. publishing at 100 hz might be too much....

edit flag offensive delete link more

answered 2013-06-24 05:41:07 -0600

dornhege gravatar image

In principle, yes. You also won't need to use the map_server to load a pre-built map.

edit flag offensive delete link more


good, I will have a try today

Gazer gravatar image Gazer  ( 2013-06-25 07:31:27 -0600 )edit

nope, very weird. I got this error:

Gazer gravatar image Gazer  ( 2013-06-25 07:50:37 -0600 )edit

answered 2013-06-24 05:40:06 -0600

allenh1 gravatar image

Not quite. AMCL localizes from the map topic. To work AMCL, you must publish a map to aforementioned topic. But, if you just run GMapping, there should be one on the topic "/map." So, run GMapping and AMCL to do what you are speaking of. This, however, will not work as well as a map that is already made.

edit flag offensive delete link more


gmapping also provides localization, so just running gmapping to replace the /map topic and localization should be fine.

dornhege gravatar image dornhege  ( 2013-06-24 05:46:47 -0600 )edit

Question Tools


Asked: 2013-06-24 05:36:51 -0600

Seen: 1,395 times

Last updated: Jun 25 '13