# A Multi-Robot Formation Platform based on an Indoor Global Positioning System
## 2 Indoor Multi-Robot Formation Platform
### Indoor Global Positioning System  
The indoor global-positioning system for multi-robot contains Marvelmind Indoor Navigation System and MPU-6050. The former is an off-the-shelf indoor navigation system based on the ultrasonic system, which can provide high-precision (\(\pm 2\) cm) indoor coordinates for mobile robots [29], and it can reach the update rate of 16 Hz. It mainly contains three core components i.e., Modem (router), Mobile beacon, and Stationary beacon, as shown in Figure 2.  
The MPU-6050 devices combine a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die, together with an onboard Digital Motion Processor, which processes complex 6-axis Motion Fusion algorithms. The device can access external magnetometers or other sensors through an auxiliary master I\({}^{2}\)C bus, allowing the devices to gather a full set of sensor data without intervention from the system processor. MPU6050 is mounted on the mobile car, which is used to provide each robot's orientation.  
The real-time and precise pose of every robot is achieved by the indoor global-positioning system, where the position is obtained by the Marvelmind Indoor Navigation System based on the ultrasonic system and the orientation is obtained by MPU-6050.  
The modern is the central controller of the indoor global-positioning system, which can, not only communicate with the stationary beacon, but can also calculate the position of mobile beacons and send the position to the mobile beacons. Mobile beacons are installed on the mobile robots, receiving position information from the modem and, at the same time, interacting with the microcontroller of mobile robots. Stationary beacons are mounted on the wall and they measure the distance of other mobile beacons through the method of ultrasonic pulses (time-of-flight). The position of the mobile robot is calculated based on the propagation delay of an ultrasonic signal to a set of stationary beacons using trilateration method.  
Each mobile robot is equipped with a mobile beacon and can communicate with the STM32 microcontroller unit (MCU) through the serial port. Through the decoding process, mobile robots can obtain the real-time position.  
Figure 2: The multi-robot indoor global-positioning system based on the trilateral measurement.  
Another part of the indoor global-positioning system is MPU-6050 installed on the mobile car, which is used to provide the orientation of the robot in the forward direction. It is an integrated 6-axis motion-tracking device, which contains 3-axis gyroscope, 3-axis accelerometer and a Digital Motion Processor [30]. The pose of robots is composed of the position information from the Marvelmind Indoor Navigation System and the orientation information from MPU-6050. Each mobile robot is equipped with the MPU-6050, and the orientation of robot can be obtained in real-time through I\({}^{2}\)C bus.  
The coverage area of the indoor global-positioning system is up to 1000 m\({}^{2}\). Taking the 5 m \(\times\) 6 m indoor experimental site as an example, this positioning system can track and compute the robots' position information up to 25 Hz with the differential precision of \(\pm\)2 cm in robot position and \(\pm 1^{\circ}\) in robot orientation.