ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 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.

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.

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.