Switch from AMCL to Gmapping, 50% of time Odom->Map is missing, WHAT?????? [closed]
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:
*************RESAMPLE***************
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
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!
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.
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
It said something about the loop taking 2.6s. Is this a common thing? That would explain the outages.
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?