ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
ROS is a distributed system. All nodes run in parallel, and each is listening on its inputs for new messages. When a message arrives, the node processes it. The node may then publish one or more new messages on output(s), which will then cause other nodes to do stuff.
In general, the overall system does not have "a state machine" to coordinate all nodes. More typically, what happens is that a human sends a command/request to a single node, and additional messages propagate outward from that event.
Google for distributed system or publish/subscribe to learn more about this kind of architecture.