# Differentially-Driven Robots Moving in Formation--Leader-Follower Approach
## 5 Experimental Verification
### Experimental Setup  
The laboratory experimental setup consists of OptiTrack vision system, MTracker mobile robots and additional PC computer. General scheme of the whole system setup is presented in Figure 3.  
The OptiTrack vision system includes 10 PRIME 17W cameras, a gigabit PoE network switch for their power supply and communication, and a PC computer with Motive software also connected to this switch. Motive software captures and processes data from cameras. Vision system is responsible for localization of the MTracker mobile robots with use of passive markers placed on the robots that form different so-called rigid bodies (see Figure 4). Based on these markers, the Motive software measures the pose of the robots and distributes these measurements' results over the local network. During the experiments, the VRPN (Virtual Reality Peripheral Network) protocol has been used to broadcast the measurement information from the vision system. The discussed hardware configuration of the OptiTrack system allows for measurements to be made with a frequency theoretically up to 360 Hz. However, the experiments were carried out at much lower frequencies as  
Figure 3: Experimental setup general scheme. will be mentioned later. The arrangement of the cameras allows the robots localization in the available laboratory area of approximately \(8\times 3\) m.  
MTracker robot (see Figure 4) is a small differentially-driven mobile platform with two wheels. It was developed in the Institute of Automatic Control and Robotics at Poznan University of Technology. The mobile platform has a unicycle kinematics which corresponds to the model in Equation (1). The wheels' base is \(b=145\) mm and wheels' radius is \(r=25\) mm. The system is based on DSP (TMS320F28335) low level controller responsible for controlling the motors directly connected with the wheels. This robot platform can be efficiently adopted for realization of experiments with multi-robot systems [27]. For high level control the on-board Intel NUC Mini PC computer has been utilized. Low level controller is connected to NUC computer via USB serial link based on FTDI chip with baud rate 921,600 bps. On-board computer works under Linux Ubuntu 20.04 with ROS Noetic distribution. Each MTracker robot uses the high-level software package with the implementation of the control algorithm. The only difference between the software package versions on each robot is the configuration setup which, for example, defines the number of the robot in the multiple robot formation during the experiments. This gives the ability to easily add more robots to the experimental setup. In the implemented control system software, each robot has a separate collision avoidance module and a separate controller which makes each robot an independent autonomous unit. This implies that each robot must receive information about the position of all other robots from the vision system responsible for localization. The first robot \(R_{1}\) uses the virtual leader trajectory generator subsystem which was earlier discussed and marked as \(R_{0}\). Each subsequent robot receives desired velocities of the platform from the preceding robot. A detailed block diagram of the control system architecture for three robots is shown in the Figure 5 and can be easily extended to include other robots in the experimental setup. The additional desktop PC computer presented in Figure 3 described as Control Visualization also works under Linux Ubuntu with ROS. It works as a master computer running roscore nodes and publishing localization data from VRPN into the ROS network system. It is also used for remote launching of the experimental setup, supervision of the system, visualization and recording of the measurement data and control signals. Data exchange between the master computer and the multiple robots is carried out via a local wireless network using ROS topics and standard messages.