The safe_base_controller only moves/turns the base if movement/turning in this direction is allowed. It subscribes to the command_limits topic where max and min velocities greater than zero must be published in order for the controller to allow movement.
PR2 Base controller with safety functionality
The controller should be used through their ROS APIs.