Recovery Behaviour - FontysAtWork/ESA-PROJ GitHub Wiki

One feature of move_base is recovery behaviour. When using move_base the robot tries to achieve a given goal within the setup tolerances. When the robot finds itself (during driving) not able to reach the goal it goes into recovery behaviour. The default move_base recovery behaviour implements the following behaviour:

First, obstacles outside of a user-specified region will be cleared from the robot's map. Next, if possible, the robot will perform an in-place rotation to clear out space. If this too fails, the robot will more aggressively clear its map, removing all obstacles outside of the rectangular region in which it can rotate in place. This will be followed by another in-place rotation. If all this fails, the robot will consider its goal infeasible and notify the user that it has aborted. These recovery behaviours can be configured using the recovery behaviours parameter, and disabled using the recovery behaviour enabled parameter. (retrieved from move_base)

The important thing from our perspective is that at least the robot tries to recover if something goes wrong. Also important is that if the robot is not able to reach it's goal after recovery it signals this to the original goal requester. The default behaviour meets these requirements. We also tested the behaviour in real life. The robot does indeed implement the described behaviour.