# controller_stopper A small helper node that stops and restarts ROS controllers based on a boolean status topic. When the status goes to `false`, all running controllers except a set of predefined *consistent_controllers* get stopped. If status returns to `true` the stopped controllers are restarted. ## Nodes ### controller_stopper_node #### Parameters * **"consistent_controllers (list of strings)"** Consistent controllers will not be stopped when the robot stops. Defaults to ["joint_state_controller"] #### Service Clients * **"controller_manager/list_controllers"** ([controller_manager_msgs::ListControllers](http://docs.ros.org/api/controller_manager_msgs/html/srv/ListControllers.html)) Controller manager service to list controllers * **"controller_manager/switch_controller"** ([controller_manager_msgs::SwitchController](http://docs.ros.org/api/controller_manager_msgs/html/srv/SwitchController.html)) Controller manager service to switch controllers #### Subscribed topics * **"robot_running"** ([std_msgs::Bool](http://docs.ros.org/api/std_msgs/html/msg/Bool.html)) Subscribes to a robot's running state topic. Ideally this topic is latched and only publishes on changes. However, this node only reacts on state changes, so a state published each cycle would also be fine.