The lack of synchronization has several implications for real-time robotic systems, such as bad coordination among software and hardware components, added latencies due to stochastic arrival time offsets or inaccurate data reconstruction or inference. Having the modules synchronized helps to greatly reduce the fusion process latency in scenarios with very different sensor measuring frequencies.
Our distributed and modular approach is able to deliver sub-microsecond clock synchronization accuracy. This is achieved thanks to the IEEE 1588-2002 standard, which is implemented on the Precision Time Protocol (PTP). PTP is able to deliver sub-microsecond clock synchronization accuracy thanks to hardware timestamping.
In order to simplify the construction of synchronous robots powered by ROS, we make use of the H-ROS software and hardware infrastructure and include the IEEE 1588 Precision Time Protocol (PTP) in each module. This provides a common global clock for all the H-ROS modules allowing, for example, to timestamp all the messages in a coherent time reference.
The image shows the maximum clock offset between two H-ROS modules synchronized with PTP:
With all the modules synchronized and having a common reference time it is possible to execute actions and data aquisition in a synchronized way. For example, for sensors, it is possible to synchronize data acquisition with accuracies under 100 microseconds. In the case of actuators, it is possible to schedule several components to execute their action coordinately.
Provided that all the modules are synchronized and that we can achieve bounded latencies, ROS 2.0 communications can also be synchronized. We are able to guarantee ROS 2.0 end-to-end communications between 1-2 milliseconds as shown in the following figures:
Read more about this topic in our related publications: