ros_sugar.base_clients
#
ROS Service/Action Client Wrapper
Module Contents#
Classes#
Basic configuration for any ROS service client |
|
Basic configuration for any ROS action client |
|
General purpose service client class |
|
General purpose action client class |
API#
- class ros_sugar.base_clients.ServiceClientConfig#
Bases:
ros_sugar.config.BaseAttrs
Basic configuration for any ROS service client
- asdict(filter: Optional[Callable] = None) Dict #
- from_dict(dict_obj: Dict) None #
- from_yaml(file_path: str, nested_root_name: str | None = None, get_common: bool = False) None #
- to_json() Union[str, bytes, bytearray] #
- from_json(json_obj: Union[str, bytes, bytearray]) None #
- has_attribute(attr_name: str) bool #
- get_attribute_type(attr_name: str) Optional[type] #
- update_value(attr_name: str, attr_value: Any) bool #
- class ros_sugar.base_clients.ActionClientConfig#
Bases:
ros_sugar.config.BaseAttrs
Basic configuration for any ROS action client
- asdict(filter: Optional[Callable] = None) Dict #
- from_dict(dict_obj: Dict) None #
- from_yaml(file_path: str, nested_root_name: str | None = None, get_common: bool = False) None #
- to_json() Union[str, bytes, bytearray] #
- from_json(json_obj: Union[str, bytes, bytearray]) None #
- has_attribute(attr_name: str) bool #
- get_attribute_type(attr_name: str) Optional[type] #
- update_value(attr_name: str, attr_value: Any) bool #
- class ros_sugar.base_clients.ServiceClientHandler(client_node: ros_sugar.core.BaseNode, config: Optional[ros_sugar.base_clients.ServiceClientConfig] = None, srv_name: Optional[str] = None, srv_type: Optional[type] = None)#
General purpose service client class
- send_request(req_msg, executor: Optional[rclpy.executors.Executor] = None)#
Sends a request to the service returns the response In case of failure, the method attempts sending the request again multiple time according to the given config
- Parameters:
req_msg (Any) – Service request msg
- Returns:
Service result
- Return type:
Any
- class ros_sugar.base_clients.ActionClientHandler(client_node: ros_sugar.core.BaseNode, config: Optional[ros_sugar.base_clients.ActionClientConfig] = None, action_name: Optional[str] = None, action_type: Optional[type] = None)#
General purpose action client class
- reset()#
Resst the client handler
- send_request(request_msg: Any, wait_until_first_feedback: bool = True) bool #
Sends a request to an action server
- Parameters:
request_msg (Action_Type.Goal) – Action request message
wait_until_first_feedback (bool, optional) – Wait until the server returns its first feedback, defaults to True
- Returns:
If action server is available
- Return type:
bool
- action_response_callback(future)#
Callback when getting the action server responses
- Parameters:
future (Any) – Action result future
- action_result_callback(future)#
Treats the path tracker action result
- Parameters:
future (Any) – Action result future
- action_feedback_callback(feedback_msg: Any)#
Method to be called at each action feedback
- Parameters:
feedback_msg (Any) – Action feedback message
- got_new_feedback() bool #
Checks if the client got a new feedback from the server within a specified time limit
- Returns:
Feedback updated on time
- Return type:
bool