PKG - actionlib
actionlib
Service can: send a request to a node to perform some task, and also receive a reply to the request.
actionlib = Service + long executing time (ability to cancel the request or get periodic feedback)
Example:
moving the base to a target location
performing a laser scan and returning the resulting point cloud
detecting the handle of a door
Client-Server Interaction
The ActionClient and ActionServer communicate via a "ROS Action Protocol", built on top of ROS messages.
The client and server provide a simple API for users to request goals (on the client side) or to execute goals (on the server side) via function calls and callbacks.

Goal
ActionServer -> goal (msg) -> ActionClient
Feedback
ActionServer -> goal (msg: progress) -> ActionClient
Result
When completion of the goal, ActionServer -> goal (msg: once) -> ActionClient
.action file
# Define the goal
uint32 dishwasher_id # Specify which dishwasher we want to use
---
# Define the result
uint32 total_dishes_cleaned
---
# Define a feedback message
float32 percent_complete
Last updated
Was this helpful?