Synchronous Mobile Robots Formation Control

Synchronous mobile robots formation control is one of the most challenging and interesting fields in robotics. The mobile robots communicate with each other through wireless communication to perform similar movement. This study analyzed two mobile robots that can perform synchronous movement along a shaped path. A square shape is set as a path for the mobile robot movements. The front robot being the leading robot transmits the instruction of its movement to the robot behind it, acting as the following robot through a wireless communication. The instruction sent by the leading robot is received by the following robot through a program embedded in the leading robot microcontroller which then drives the following robot to move and imitates the movement of the leading. The algorithm for the movement is tested on the hardware and the results of the experiment are included to verify the effectiveness of the proposed method.


Introduction
In today industrial technology, the manufacturing sector is facing a technological challenge to fulfill the needs of customers or clients to produce high-quality product consistently in term of size, appearance and weight. These highly demanding and challenging situations require different raw material properties, changing market needs and fluctuating operating conditions due to equipment or process degradation [1].
Industries need to be supplied with various techniques and methodologies capable to be used across a spectrum of industrial processing operations and on a wide range of products to enhance process performance. One such industrial tas k is the load sharing application especially in manufacturing sector whereby industrial robots are used in various types of application to perform any single task while holding a same object. There are many studies on using robots this type of application [2][3][4][5][6][7].
The interest in cooperative systems arises when certain tasks are either too complex to be performed by a single robot or when there are distinct benefits that arise from the cooperation of many simple robots [8]. In this study, the focus is on the development of a cooperative mobile robot system that can maintain a specified distance between them during motion. Such cooperative system is intended to be capable of performing tasks like payload holding and long material transfer, cheaper and better than would be possible by a single allpowerful robot.
In a cooperative robot system, the awareness of all robots within the system is important to maintain the distance and the formation of the group. This awareness can be obtained through its local sensors and communication. Path maintenance is the ability of a group of robots to maintain their formation such as moving in a triangular or square path. A group of robots should move together in unison [9][10].
Maintaining a formation between robots is very challenging in cooperative mobile robots. Differences in speed of the robots may lead varying distances between the robots thus causing formation problem. In simulation, this can be achieved easily by setting the speed parameter to be the same for all robots but not the same case in practical mobile robots. The supporting base mechanism plays a big role in this behavior. Sensors are placed on the supporting base mechanism to indicate the front and back position [11]. As such, this study proposes to study a synchronous linear movement with maintained distance using two similar mobile robots. The front robot which acts as a leader communicates with the following robot behind it acting as the follower through a wireless transmitter. The following robot receives the information transmitted by the leading robot, interpret it and reacted to it by performing some tasks. When the leading robot moves, it will transmit information to be received by the follower. The following robot then imitates the movement of the leading robot [12].

Research Method
This section discusses the design and development of two cooperative mobile robots and their movement algorithms [13]. Both mobile robots moved in a straight line with the front robot as the leading robot and the robot at the back as the following robot. To achieve this, the development of the mobile robots it is divided into two parts consisting of the leading robot and the follower.

Hardware development
A normal hardware for the mobile robot is developed. This consists of the robot base, robot drive, the robot embedded system using microcontroller and the robot communication. Whatever has been developed for the leading robot, the same is duplicated into the follower robot. Both robots appeared to be visually similar as shown in Figure 1, except for the program or instruction embedded into each robot microcontroller.

Robot communication
Communication is a way a mobile robot can receive and transmit data. To communicate with a mobile robot, many communication methods are available. Wireless communication is one of the important aspects to develop in order to synchronize both mobile robots. It is used mainly because it eases the movement compared to using cable to communicate between the robots. Some of the wireless communication that can be used are Bluetooth, infra-red, sonar sensor, GSM and radio frequency identification (RFID) [14].
Synchronous mobile robots are intelligent robots able to communicate with each other through radio frequency (RF) from an RF module to perform a similar movement [15]. In this study, XBee module is utilized for communication between the mobile robots to transmit and receive information while moving in a straight line. To control and maint ain the distance between the robots, an infra-red sensor is used.
Both mobile robots used one XBee module. When the leading robot transmits data, the following robot receives the data. The following robot then followed the instruction received from the leading robot. The XBee modules communicated using the programs written and embedded in PIC16F877A microcontroller in each mobile robot.

Robot operations
Autonomous robots are robots that can perform desired tasks in unstructured environments without continuous human guidance [16][17]. In this study, two mobile robots are programmed to react autonomously and can move in appropriate manner synchronously. These mobile robots are set to move in straight line to form a square path for robot navigation.

Task planning for the leading robot
The operation of both mobile robots started when the leading robot began its preprogrammed movement in its microcontroller. Instruction from the leading robot is processed and transmitted wirelessly to the following robot through a transmitter. At the same time, the instruction is also processed by the leading robot microcontroller to start to move so that the leading robot can perform its task [18]. An L293B integrated motor driver circuit is used to produce a steerable motion. The operation is shown in Figure 2.

Task Planning For The Following Robot
The signal from the leading robot is received by the following robot through a wireless communication. The signal received is processed and then interpreted to drive the motor in the following robot, so that it can start moving according to the task specified in the received instruction. The situation is illustrated in Figure 3. Both mobile robots should operate at almost the same time and perform the similar task or operation.

Mobile Robots Operation
Both mobile robots are required to operate and perform similar task or operation. The operation of each mobile robot is combined and reflected in Figure 4. The robots are programmed and expected to move synchronously in the square path as shown in Figure 5.

Robot Algorithms
In addition to programing the movement of the leading robot to follow a square path, a program for communication is included in the program. Figure 6(a) shows the flow chart for the leading robot algorithm. The leading robot made a formation and sent data to the following robot so that the robot would follow the movement of the leading robot. Figure 6(b) shows the flow chart for the following robot algorithm. The following robot followed the formation made by the leading robot in that it only received data from the leading robot and followed the leading robot movement.
A program compiler is used to compile the programs used to give instruction to the mobile robots. After the programs had been compiled to produce hex files, the files are then written onto the microcontroller on each mobile robot. With a program embedded in each robot microcontroller, the movement of the mobile robots could be generated as intended.

Results and Analysis
The experiment was performed by getting both mobile robots to move in a straight line. The movement of each robot is observed to see whether the distanc e between them is maintained or not to determine whether the mobile robots could produce the result as expected. The measurement is taken from the distance between the robots start moving and stop moving. Figure 7 shows the analysis of the distance between the robots and testing of the synchronization of the mobile robots. Figure 8 shows how the following robot follows the leading robot and moves in the specified path.  Figure 10 shows a graph of the measurement of the distance sensor voltage. From the graph, there is no change in sensor voltage with change in distance. It showed that the sensor was not accurate. After testing a few times with the results are still the same, it is found that the sensor was not working properly because the voltage did not change when the distance changed. When applying distance sensor to the mobile robot, the robot could not run. Thus, for the distance analysis in this study, the distance measurement could not work as the distance between both robots is not maintained. Due to that, the distance sensor has not been applied in this study. Figure 10. Graph of measurement of the distance sensor voltage Figure 11 shows the expected synchronous mobile robots distance. Figure 12, on the other hand shows the actual result. The following robot should have followed the leading robot at a fixed distance. When the leading robot turned, the following robot should also turn at the same time. From the start to finish position, the mobile robots should run together on the same path and the distance maintained but the mobile robots did not properly run in a real synchronization. Figure 11. Expected distance between both robots Figure 12. Actual distance between both robots

Distance analysis
As a result, the distance between both robots is not maintained. The following robot still followed the leading robot, but when measured at both the start and finish positions, there are different measurements. The mobile robots still moved synchronously but with an error in the path run. The distance could not be maintained between the robots because dist ance sensor has been working properly. So, when the distance changed, the following robot could not detect the distance between them and could only move by following the leading robot movement. Table 1 shows the result of the measurement of the distance between both robots.  (cm)  1  10  30  2  10  15  3  10  26  4 10 40

Synchronous analysis
The robot positions in Figure 9 are further detailed with the path that should be followed by both robots are shown in Figure 13. To get into a square path, the robots should turn 90 degrees at each point A, B, C and D. Figure 13. Illustration on how both robots are expected to move in square formation Table 2 shows the turning angle when the robots turned. The results are obtained using a manual measurement and the point at turn may not be real because the robot had an actual measurement or electronic device like LCD to show the angle when the robot turned. The measurement is made at a point when the robot turned. The result showed the turning angle of the robots is not constant. This was found due to the wheel and the castor wheel that have caused the robot to turn inconsistently. In addition, the robot movement is not stable. Hence, the turning angle of the robot is not constant.  1  80  85  75  80  70  80  70  70  2  80  80  70  80  80  70  75  65  3  75  85  75  85  60  75  80  60 When the movement of the robot is not stable, the following robot did not properly follow the leading robot. This is because the angles for the robots while turning are not the same. Although the results obtained are not perfectly synchronous, yet, both robots have synchronous movement because the following robot still followed the leading robot when turning, despite that the turning angle of both robots are different. Figure 14 shows another path formation and Table 3 shows the distance that the robots have moved.
Through these experiments, some features of the robot movement can be observed. Even though the results show that the robots did not turn in the same angle, but it also shows the robots communicate and can make synchronous movement. The result is not quite accurate because the robots moved in straight line, causing error in the measurement. The time for the   In order to build synchronous mobile robots which can form a path, few things need to be considered; movement, control, sensor and communication parts. The movement part is related to the motor drive. Motors are very important to drive the mobile robots. Making the motor operates properly so that the mobile robot can move smoothly must be well considered.
For an example, a DC geared motor is suitable for this robot movement because it has high torque. For the control part, PIC microcontroller is used to control the movement of the robot and for communication between both robots. To operate this robot, a proper program must be embedded on both mobile robots microcontroller. In the sensor part, a set of infrared sensors is used to ensure the distance between the robots is always maintained.
The sensor detects the leading robot and sent the data, ensuring the distance between the robots are always the same. If the distance is different, the robot must move slower or faster to correct the distance between them. Unfortunately, the distance sensor malfunctions due to the inaccurate sensor. On the communication part, RF is used to communicate between the two robots. XBee modules have been used for both robots to communicate. A two-way communication is needed for the robot to perform synchronous movement. Lastly, in the actual scenario, the mobile robots wheels are causing the problem. When moving on different floor surfaces, the results obtained are different. However, when moving on a slippery floor, the robots are not stable and do not move smoothly. Thus, the wheel type must also be considered when upgrading the robot.

Conclusion
The study has achieved its objective to perform similar movement between two mobile robots through wireless communication but with few unresolved problems. Firstly, a fixed distance between the robots cannot be maintained because the distance sensor used in this study is inaccurate. The voltages from the sensor did not change in the event the distance changes. So when applying the sensor, the mobile robots have a problem and cannot move. The second problem is the synchronous movement whereby the robots were unable to move in a synchronized movement with similar turning angle. The following robot still follows the movement of the leading robot but the movement did not achieved the expected outcome. In this study, when the leading robot turns 80 degrees, the following robot turns 90 degrees. Thus, the distance is not maintained and the movement is not properly synchronized. Lastly, the problem on how both robots can communicate and make a synchronized movement. If the following robot cannot get any signal from the leading robot, the following robot cannot move to imitate the leading robot. After troubleshooting, it is found that the RF and TX on the XBee module are having problems. The problem has been solved and the following robot managed to get the signal from the leading robot. To make the mobile robots move in synchronization and optimization [19], more studies are needed. For example, studies should be conducted on how to make the robots to have stable movement and how to make the robots turn exactly 90 degrees to get the perfect turning path when turning so that the robots can lead and follow thus maintain a fixed distance between them.