I have been developing normal software that uses ROS for a few months now, and one information that was very useful, but that I had to stumble upon many times before getting it, was this :
topics require a ROS node, and therefore a full ROS environment setup, and the software to follow ROS habits ( only one node_init by process, etc. ) to communicate.
services are implemented with xmlrpc, and do not require any ROS node or ROS environment setup to communicate, except being able to import the generated python message format.
I think this is an important information that should be somewhere :
How to communicate with running ROS system :
I am currently working on a package to bridge different multiprocess architectures ( https://github.com/asmodehn/pyros ) but it is overkill if the robot developers take care of exposing the proper services, and the robot users know how to call these services directly ( from outside ).
I have been developing normal software that uses ROS for a few months now, and one information that was very useful, but that I had to stumble upon many times before getting it, was this :
I think this is an important information that should be somewhere : How to communicate with running ROS system :
I am currently working on a package to bridge different multiprocess architectures ( https://github.com/asmodehn/pyros ) but it is overkill if the robot developers take care of exposing the proper services, and the robot users know how to call these services directly ( from outside ).