SwitchController
This is a ROS service definition.
Source
# The SwitchController service allows you deactivate a number of controllers
# and activate a number of controllers, all in one single timestep of the
# controller manager's control loop.
# To switch controllers, specify
# * the list of controller names to activate,
# * the list of controller names to deactivate, and
# * the strictness (BEST_EFFORT or STRICT)
# * STRICT means that switching will fail if anything goes wrong (an invalid
# controller name, a controller that failed to activate, etc. )
# * BEST_EFFORT means that even when something goes wrong with on controller,
# the service will still try to activate/deactivate the remaining controllers
# * AUTO means that the controller manager will automatically resolve the controller
# chain in order to activate and/or deactivate the specified controllers.
# This is useful in complex systems when you want all dependent controllers to start
# within the same update iteration.
# * FORCE_AUTO means that the controller manager will take all necessary steps to activate
# the specified controllers without requiring you to explicitly list the controllers
# to be deactivated. This is useful when the controller being activated depends on
# another unknown controller that is currently running. The controller manager will
# deactivate any controllers that block the activation of the requested controller,
# following the mutually exclusive joint interface switching principle. For example,
# to activate a controller that uses a joint's position interface, the controller manager
# will automatically deactivate any controllers that use conflicting interfaces for
# the same joint.
# * activate the controllers as soon as their hardware dependencies are ready, will
# wait for all interfaces to be ready otherwise
# * the timeout before aborting pending controllers. Zero for infinite
# The return value "ok" indicates if the controllers were switched
# successfully or not. The meaning of success depends on the
# specified strictness.
# The return value "message" provides some human-readable information
string[] activate_controllers
string[] deactivate_controllers
int32 strictness
int32 BEST_EFFORT=1
int32 STRICT=2
int32 AUTO=3
int32 FORCE_AUTO=4
bool activate_asap
builtin_interfaces/Duration timeout
---
bool ok
string message