Stall Behaviour.

OverviewEscapeTrappedAvoidStallMappingCruise

Input Sensors: 7x Sonar Sensors, 2x Wheel Click Sensors

The Stall Behaviour is designed to back the robot up if the Avoid behaviour fails to recognise and object, or the Escape behaviour hasn't detected a collision.

The stall behaviour looks at both the sonar measurement and the wheel click measurements. The two sets of measurements are analysed thus:

Sonar Sensors.

If the robot is supposed to be moving it is reasonable to assume that the sonar reading should be changing. If they don't change significantly (A configurable percentage difference between the last reading and the current reading) then the behaviour will assume the robot has stalled and activate.

Wheel Click Sensors

Again, if the robot is moving the wheel clicks should be changing. If there is not a significant change in the number of successive wheel click readings the stall behaviour will activate.

When the stall behaviour activates it will back the robot up a little way in the hope that whatever was preventing the robot from moving will be sensed and avoidance/corrective can be taken. Test have shown the stall behaviour works very well in most cases.

In either case the stall behaviour will ensure that the stall condition is detected a configurable number of time to safe guard against miscalculations.