The MULTIROBOTS-SURGERY platform is designed as a collection of functional modules, each one devoted to a single task.
We implemented the MULTIROBOTS-SURGERY platform as a collection of ROS* nodes. All the ROS nodes are connected to a central unit acting as ROS core, in charge of providing a common timestamp and driving the communication between nodes, and data recording module.
The figure shows the conceptual architecture of MULTIROBOTS-SURGERY platform in terms of ROS nodes.
*ROS is an open source, distributed, component-based development framework that has become the standard de facto for interfacing heterogeneous hardware and software in robotics applications.
MULTIROBOTS-SURGERY platform conceptual ROS architecture
Communication in-between nodes is organized as a star-shaped network in which the central node, called ROS core, operates as a connection broker while also maintaining a message-driven common time-stamp for the entire network. The low-level connection is orchestrated via an asynchronous input/output library over TCP/IP. The ROS core module works also as Domain Name System (DNS) in the local network of nodes.
The connection between all modules to the NTP (Network Time Protocol) server permits the time synchronization and the precise messages exchange handling. It is possible to order the messages exchanged between nodes accurately, avoiding the reception from nodes of messages in different order with respect to the sending order.
Since all the nodes in the SARAS node net are connected to the ROS core
and data recording module, and all nodes are synchronized, it is possible to record the messages exchanged between all nodes in the ROS environment. The recording of real data allows to store permanently experiments done with the architecture and to replay them other times in order to study the behavior of the whole system or particular phenomena happening during the experiments.
For more details read the Deliverable D7.2 – Software/Hardware architecture for the MULTIROBOTS-SURGERY platform