ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I tend to consider Topics for use in any communication that is high speed or synchronous in nature. That communication can be either data or commands. But only commands that don't need a success/fail/etc. type of response.
I tend to consider Services only for commands that require an explicit response that needs to be acted upon. The tutorial for Services actually adds two numbers and returns the answer, so it is very useful in situations where you want a subroutine or a function that is standalone and callable by any local or remote ROS node. I would avoid using a service for commands that are high speed, though.