synchros2.single_goal_action_server module

class synchros2.single_goal_action_server.SingleGoalActionServer[source]

Bases: SingleGoalMultipleActionServers

An action server that only allows a single Action to be executing at one time.

If a new Action.Goal is received, the existing Action (if there is one) is preemptively canceled.

__init__(node: rclpy.node.Node, action_type: ActionType, action_topic: str, execute_callback: Callable, callback_group: rclpy.callback_groups.CallbackGroup | None = None) None[source]

Constructor.

Parameters:
  • node – ROS 2 node to use for action servers.

  • action_server_parameters – tuples per action server, listing action type, action name,

  • callback (action execution)

  • group (and action callback)

  • nosync – whether to synchronize action execution callbacks using locks or not.

  • exclusion. (Set to True when action execution callback already enforce mutual)