controller_manager.controller_manager_services module
- exception controller_manager.controller_manager_services.ServiceNotFoundError
Bases:
Exception
- class controller_manager.controller_manager_services.SingletonServiceCaller(node, service_type, fully_qualified_service_name)
Bases:
objectSingleton class to call services of controller manager.
This class is used to create a service client for a given service name. If the service client already exists, it returns the existing client. It is used to avoid creating multiple service clients for the same service name.
It needs Node object, service type and fully qualified service name to create a service client.
- class controller_manager.controller_manager_services.bcolors
Bases:
object- BOLD = ''
- ENDC = ''
- FAIL = ''
- MAGENTA = ''
- OKBLUE = ''
- OKCYAN = ''
- OKGREEN = ''
- UNDERLINE = ''
- WARNING = ''
- controller_manager.controller_manager_services.configure_controller(node, controller_manager_name, controller_name, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.get_parameter_from_param_files(node, controller_name: str, namespace: str, parameter_files: list, parameter_name: str)
- controller_manager.controller_manager_services.get_params_files_with_controller_parameters(node, controller_name: str, namespace: str, parameter_files: list)
- controller_manager.controller_manager_services.list_controller_types(node, controller_manager_name, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.list_controllers(node, controller_manager_name, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.list_hardware_components(node, controller_manager_name, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.list_hardware_interfaces(node, controller_manager_name, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.load_controller(node, controller_manager_name, controller_name, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.reload_controller_libraries(node, controller_manager_name, force_kill, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.service_caller(node, service_name, service_type, request, service_timeout=0.0, call_timeout=10.0, max_attempts=3)
Abstraction of a service call.
Has an optional timeout to find the service, receive the answer to a call and a mechanism to retry a call of no response is received.
@param node Node object to be associated with @type rclpy.node.Node @param service_name Service URL @type str @param request The request to be sent @type service request type @param service_timeout Timeout (in seconds) to wait until the service is available. 0 means waiting forever, retrying every 10 seconds. @type float @param call_timeout Timeout (in seconds) for getting a response @type float @param max_attempts Number of attempts until a valid response is received. With some middlewares it can happen, that the service response doesn’t reach the client leaving it in a waiting state forever. @type int @return The service response
- controller_manager.controller_manager_services.set_controller_parameters(node, controller_manager_name, controller_name, parameter_name, parameter_value)
- controller_manager.controller_manager_services.set_controller_parameters_from_param_files(node, controller_manager_name: str, controller_name: str, parameter_files: list, namespace=None)
- controller_manager.controller_manager_services.set_hardware_component_state(node, controller_manager_name, component_name, lifecyle_state, service_timeout=0.0, call_timeout=10.0)
- controller_manager.controller_manager_services.switch_controllers(node, controller_manager_name, deactivate_controllers, activate_controllers, strictness, activate_asap, timeout, call_timeout=10.0)
- controller_manager.controller_manager_services.unload_controller(node, controller_manager_name, controller_name, service_timeout=0.0, call_timeout=10.0)