How can I help AMCL deal with catastrophic wheel slips?
My robot uses an ASUS Xtion for a fake laser scan and odometry from encoders on the wheels. It basically is a big version of a turtlebot.
For the most part it navigates fine, but sometimes a wheel will catch on something, like a lip on a rug or a threshold and spin badly. AMCL immediately thinks the robot has rotated and RVIZ shows that the map is in clear disagreement with the laser scan image of the surrounding walls.
Is there some setting in AMCL that will help it to "reset" when the visual input is very different from the model? In short, I'd like AMCL to assume the laser scan is right and the odometry is wrong when there is a huge disparity. As it is now, if it gets too bad I often just have to shut down AMCL and start over.
Note, this is for AMCL, where the map has been created and is not being updated.
This picture might help explain what the issue is: https://ekpyroticfrood.net/shared/amcl_rotation_issue.png
You can clearly see how the corner of the room as seen by the 3D sensor is off from the corner of the map.