Different surfaces behave differently. Especially early in the winter on gravel surfaces, setting the blower too low can cause gravel to get packed and break the shear pin. On the other hand, if the blower is set too high, the machine can get stuck on its belly due to its low ground clearance. This latter “stuck” mechanism also occurs when there is a lot of compacted snow on the ground and the machine starts spinning its tracks or wheels.
Because of this, it would be important to detect wheel/track slip using both the accelerometer and GPS. If the machine starts slipping, it should be stopped earlier than in the previous firmware version and attempt to reverse slightly, as it looks that newest firmware does. However, the sensitivity of this reversing behavior should be adjustable per area. On asphalt and pavers, slipping is normal and does not cause the machine to dig itself in. On gravel, forcing it to spin causes the robot to dig itself in, after which reversing no longer helps.
In addition, the number of automatic self-recovery attempts should be configurable by the user per area. On icy asphalt and stone, the robot will often get moving if it simply repeats the routine enough times. On the other hand, on a compacted snow pad on top of gravel, the robot only digs itself deeper, making manual release even harder and it can even lift gravel to surface.