Skip to main content
Use ROS2 actions for long-running tasks with feedback and cancellation.

Action Interface

Navigation Actions

3 actions
Action NameTypeDescription
/execute_behaviorbrain_messages/ExecuteBehaviorExecute a learned manipulation behavior with runtime feedback.
/execute_policybrain_messages/ExecutePolicyRun a policy for a configured duration.
/execute_primitivebrain_messages/ExecutePrimitiveExecute a skill/primitive with JSON inputs.

When to use an action

Actions are useful when execution takes time and you need progress updates, cancellation, and a final result (for example navigation goals or manipulation routines). For one-shot RPC, use Services; for continuous streams, use Topics.

Quick commands

ros2 action list
ros2 action list -t
ros2 action info <action_name>

Send goal examples

ros2 action send_goal /navigate_to_pose nav2_msgs/action/NavigateToPose \
  "{pose: {header: {frame_id: map}, pose: {position: {x: 1.0, y: 0.0, z: 0.0}, orientation: {w: 1.0}}}}" \
  --feedback

Execute a learned manipulation behavior

ros2 action send_goal /execute_behavior brain_messages/action/ExecuteBehavior \
  "{behavior_name: pick_socks, behavior_config: \"{}\"}" \
  --feedback

Execute a skill (primitive)

ros2 action send_goal /execute_primitive brain_messages/action/ExecutePrimitive \
  "{primitive_type: wave, inputs: \"{}\"}" \
  --feedback