ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
First one should differentiate between topics and service/actionlib.
Topics: Continuous data flow. Data might be published and subscribed at any time independent of any senders/receivers. Many to many connection. Callbacks receive data once it is available (The publisher decides when data is sent).
Service/Actionlib: On-demand connection for one specific task. Service calls/Actionlib tasks are processed when the client decides to request so. Tasks take time to complete.
Service/Actionlib are thus very similar and can actually be used interchangeably in their functionality. However, they serve different purposes:
Service: Simple blocking call. Mostly used for comparably fast tasks as requesting specific data. Semantically for processing requests.
Actionlib: More complex non-blocking background processing. Used for longer tasks like execution of robot actions. Semantically for real-world actions.
2 | No.2 Revision |
First one should differentiate between topics and service/actionlib.
Topics: Topics: Continuous data flow. Data might be published and subscribed at any time independent of any senders/receivers. Many to many connection. Callbacks receive data once it is available (The publisher decides when data is sent).
Service/Actionlib: Service/Actionlib: On-demand connection for one specific task. Service calls/Actionlib tasks are processed when the client decides to request so. Tasks take time to complete.
Service/Actionlib are thus very similar and can actually be used interchangeably in their functionality. However, they serve different purposes:
Service: Service: Simple blocking call. Mostly used for comparably fast tasks as requesting specific data. Semantically for processing requests.
Actionlib: Actionlib: More complex non-blocking background processing. Used for longer tasks like execution of robot actions. Semantically for real-world actions.
3 | No.3 Revision |
First one should differentiate between topics and service/actionlib.
Topics: Continuous data flow. Data might be published and subscribed at any time independent of any senders/receivers. Many to many connection. Callbacks receive data once it is available (The available. The publisher decides when data is sent).sent.
Service/Actionlib: On-demand connection for one specific task. Service calls/Actionlib tasks are processed when the client decides to request so. Tasks take time to complete.
Service/Actionlib are thus very similar and can actually be used interchangeably in their functionality. However, they serve different purposes:
Service: Simple blocking call. Mostly used for comparably fast tasks as requesting specific data. Semantically for processing requests.
Actionlib: More complex non-blocking background processing. Used for longer tasks like execution of robot actions. Semantically for real-world actions.