deadman: why there is no stop button
Last updated
deadman is a timeout: when no fresh intent command arrives for a while, robotd zeroes the velocity.
It replaces the stop button
Microduck’s pad has no stop button, and that is deliberate:
- Release the sticks → the command becomes zero velocity → the robot stands
padddies → nothing arrives → deadman fires → the robot stops- The pad runs flat or leaves range → same
A dedicated stop button would not help with the last two. With the process gone, the button press has nowhere to go either.
Where you see it
In robotctl monitor, when requested and applied disagree:
deadman — no intent arrived recently, velocity zeroed
This is the most common explanation for “the stick is forward and the robot is still”. Seeing it puts the problem in the command path — pad, padd, radio — not in the policy or the motors.
The failure it cannot see
There is one case deadman cannot catch: the link stays up and the commands arriving are stale. Everything looks healthy and the robot walks on an old order.
Only the pad’s raw input stream reveals it — robotctl monitor, then p, and read the gaps between input reports. See Pair a gamepad.