Sometime in March, possibly after upgrading to Hydro, navigation on our robot stopped working. It wasn't critical for our use at the time, but it is now.
After investigating a bit, it seems like the problem is that the local costmap is not aligned with the static map, and thus the robot thinks it's in collision even when it's not. This is the output when sending a goal in such a situation:
[ WARN] [1406897186.158511056]: Clearing costmap to unstuck robot.
[ WARN] [1406897187.003142197]: Rotate recovery behavior started.
[ERROR] [1406897187.003483173]: Rotate recovery can't rotate in place because there is a potential collision. Cost: -1.00
[ WARN] [1406897187.793568508]: Clearing costmap to unstuck robot.
[ WARN] [1406897188.727111389]: Rotate recovery behavior started.
[ERROR] [1406897188.727278521]: Rotate recovery can't rotate in place because there is a potential collision. Cost: -1.00
[ERROR] [1406897189.489224920]: Aborting because a valid control could not be found. Even after executing all recovery behaviors
And this is how it looks in Rviz, when I visualize the local costmap. Clearly, something is wrong:
In the costmap_local config file, I have set the parameters exactly like they where before things went wrong, which is like it is in the tutorial as well. I tried changing to global_frame: map and static_map: true but that didn't work.
I tried installing the 1.11.5 release of the navigation stack (instead of the current hydro version), but that didn't work either.
Any help is appreciated!
Originally posted by mrath on ROS Answers with karma: 100 on 2014-08-01
Post score: 0
Original comments
Comment by David Lu on 2014-08-01:
If you visualize the TF tree, is everything where you expect it to be?