Action Client
PROSend goals to any ROS 2 action server with feedback and cancel
When to reach for it
Action Client is for ROS 2 actions: goals with feedback, progress, and a cancel path. Use it for Nav2 navigation, MoveIt planning, or any mission step lasting seconds to minutes. A fire-and-forget tap is simpler as Custom Button in Tap mode; a request/response call like clearing a costmap fits Custom Button in Service mode.
Worked example: Nav2 NavigateToPose
Point Action Topic at /navigate_to_pose. Selecting it from the field's own autocomplete (any topic ending in /_action/send_goal) fills Action Type to nav2_msgs/action/NavigateToPose and derives the four sub-topics in one step.
The shipped Goal template already includes a frame_id and an identity orientation, both required for a valid PoseStamped: edit only the position block, e.g. x: 1.0, y: 0.5, and leave the rest alone. Rename Send Button Labelto something readable, like "Go to Kitchen".
Watch out for
- A connection drop mid-goal flips the state to Aborted and warns you to check a hardware E-stop, since the robot may still be executing it.
- Action Type must match the server exactly, package included:
nav2_msgs/action/NavigateToPoseis real,nav_msgs/action/NavigateToPoseis not. - Cancel asks politely: some servers preempt immediately, some finish the current motion first. The widget only confirms cancel was sent, not that the robot stopped.
Configuration fields
Action namespace (e.g. /navigate_to_pose). The send_goal, cancel_goal, feedback, and status sub-topics derive from this.
Auto-fills from the action server when connected. Form: pkg/action/Name (e.g. nav2_msgs/action/NavigateToPose).
Standard ROS 2 actions follow the "/<ns>/_action/{send_goal,cancel_goal,feedback,status}" naming. Toggle on only if your server uses non-standard topic names. Overrides auto-fill from Action Topic when set.
Defaults handle Nav2 (distance_remaining → bar) and the standard progress/current_value pair. Toggle on to map a non-conforming feedback shape (e.g. {steps_done, steps_total}) to the bar and value text via dot-paths.
Dot-path to a 0-1 (or 0-100) numeric in the feedback. Empty = auto-detect. After a goal runs, tap the input to see all observed paths.
Dot-path to a value shown below the progress bar. Empty = auto-detect. After a goal runs, tap the input to see all observed paths.
Optional suffix after the value (e.g. "items", "joint"). Disambiguates raw numbers.
Text on the send-goal button. Defaults to "Send Goal"; rename per use-case (e.g. "Go to Kitchen", "Pick Up").
Show a name on the widget.