As a safety measure, this PR adapts the JointGroupVelocityController to reset control velocities to zero if no new command was received within a configurable interval (watchdog_timeout). If the steering process crashes or just finishes without resetting the velocity itself, the robot would otherwise just continue moving with the last speed commanded (and crash into something probably).
I have chosen a rather large default timeout (1s) to limit interferences with existing code.
As a safety measure, this PR adapts the
JointGroupVelocityController
to reset control velocities to zero if no new command was received within a configurable interval (watchdog_timeout
). If the steering process crashes or just finishes without resetting the velocity itself, the robot would otherwise just continue moving with the last speed commanded (and crash into something probably). I have chosen a rather large default timeout (1s) to limit interferences with existing code.