As explained in a previous article, having a common time reference is important to coordinate motion accurately between robotic arm motors, different robots or between robots and an external process.

Original video and more ROS 2 demos: https://www.youtube.com/watch?v=vLhTaMRhucQ

In this demo we show two MARA robots executing movements requiring high coordination: keeping a bubble level or spirit level horizontal during the robots' movements. Both manipulators grasp the level from each side. Then, we perform a movement maintaining the orientation of the TCP (Tool Center Point).

In order to keep the bubble in the center, we need to coordinate the movements properly. Otherwise, we would see a deviation, because of a joint moving ahead in time from the planned trajectory. In the acceleration and deceleration phases, the bubble deviates from the center. However, for constant velocity, the bubble should stay in the center if all the movements are well coordinated.

First of all, we simulate two MARA robots performing coordinated movements in Gazebo simulation. Those movements will be transferred to real robots as it is shown in the video above. The bubble stays in the center showing how the modular actuators are well coordinated.

The following graph shows the differences between the Y and Z position of each robot TCP in cartesian coordinates. We observe differences below 80 micrometers.  

TCP positions in cartesian coordinates time series for the two robots during the demo.