ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
This is done on the PR2, turtlebot and several other robots by way of a mux on the cmd_vel output. The mux is used to switch between the PS3 joystick cmd_vel and the navigation cmd_vel output, so that as soon as you press the deadman on the PS3 joystick, the cmd_vel topic is switched away from navigation and the robot stops moving and can be teleop-ed. You could do the same with any node that basically inserts itself between the navigation topic output and the base controller topic input.
Note that this doesn't actually stop navigation from trying to replan, etc, it just stops the robot from moving. Navigation might later decide that the goal has timed out if you leave it switched away for a while.