Working with several real Carter V1 robots (with Jetpack 4.51, unmodified source code) and several different PS4 dualshock controllers we observed that sometimes the Carter robot starts moving as soon as the deadman switch is pressed, without ever having touched the joystick.
Things work normal after the first time that the joystick is moved, doesn’t matter forward or backwards.
So it seems any time the deadman switch is pushed, the queue of previous joystick command should be cleared so that it starts with a zero status.
EDIT: clarifying that the problem only happens exactly once after powerup and then it works fine all day until either the joystick or the Carter runs out of battery power. And it doesn’t happen in simulation. Still it seems that maybe the joystick queue should be explicitly cleared every time the deadman switch is pushed. Don’t know if it happens if the joystick bluetooth is interrupted and restored.
We wanted to fix this in the joystick source code but hit a dead end when we saw that libjoystick_module.so_release is only provided as a library.
What can we do to fix this safety issue ?