UDP Protocol for multi-task assignment in "void loop" robot soccer

The communication system is a very important part of the robot soccer. It is because the robots must be able to move together, alternate and individual. The communication system that would be discussed is about the process of sending data from one robot to another robot using coach computer. It started with the reception of data from coach computer to both robots that had been installed Wi-Fi Communication module that had been connected to the router. Then, the data is processed using Arduino Mega2560. After that, the robot would detect the existence of the ball. The protocol used for the communication system is a UDP protocol (User Datagram Protocol) because UDP has several characteristics that support the occurrence of communication robots such as connection-less and unreliable. Both of characteristics have a faster connection, they do not require handshaking and UDP protocol provides a mechanism for sending a message to a specific process. The result shows that the communication system between coach computer and both robots is successful. This is indicated by the start button and stop button is 100% with repeating data transfer system on UDP protocol.


Introduction
The robot development is an interesting topic of research especially on field of mimicking human motion i.e. robot soccer.The robot can be controlled automatically and manually [1].The research includes intelligent robotic systems, multi-agent systems, real-time system and behavior pattern recognition, smart structure design, real-time planning and reasoning, interactive Web-based three-dimensional graphics and sensor technology [2].Robot soccer is a set of robots that work together to produce goals against the opponents [3].
The robot soccer has two associations in the world that serves to promote the game of robot soccer i.e.RoboCup and FIRA.The competition categories of RoboCup include Simulation League, Small-Size League, Middle-Size League and Humanoid League.The competition categories of FIRA include SimuroSot, MiroSot, RoboSot, and HurSot [4].RoboCup, an organization that spearheaded the existence of the activity for robot competitions [5].
RoboCup is a project aimed to realize the robot soccer team that can defeat the human world cup champion team until 2050 [6].In robot soccer competition, teams of two autonomous robots compete against another team in matches.The robots must look for a ball and try to score.The ball usually has a specific color and contrast with the color of the field [7].The team can replace its captain during the competition [8].To achieve the goals of an autonomous team of robot soccer, various technologies are used, such as controlling the movement of the robot, distributed system, computer vision, machine learning, communication system, and strategy of the team [9].This paper will be discussed on the communication system of the robot.
The communication system is required for robots to move according internal command and according multirobot command simultaneously.In internal communication, one of the research that has been done is by using Controller Area Network (CAN) [10], some is using RF digital communication [11], and some others are using serial communication.Several research in communication between multi robot has been done in last decades, such as by using TCP communication protocol [12], hybrid communication protocol [13] and Predict-Fuzzy logic communication [14].The communication that occurs includes the process of sending data from TELKOMNIKA ISSN: 1693-6930  UDP protocol for multi-task assignment in "void loop" robot soccer... (Irma Damayanti) 987 the coach computer and robot to another robot.The communication started by sending commands from the coach computer to the robot through the wifly module connected to the router.The wifly module used is the wifly RN-XV module.The RN-XV module from Roving Networks allows for Wi-Fi connectivity using 802.11b/g standards in legacy and existing designs that may have been based upon 802.15.4 standard.The module is pre-loaded with firmware to simplify integration and minimize development time in an application.In the simplest configuration, the hardware only requires four connections (PWR, TX, RX, and GND) to create a wireless data connection [15].Data from the coach computer are received by the robot through the wifly module already installed on the robot.Robot 1 receives data from coach computer.Robot 1 do the movement to start the race and robot 2 do the movement to start the race after robot 1 move.Robot 2 does not work if robot 1 not run.If one of the robots detects the position of the ball, it will kick the ball towards the goal using a pneumatic mounted on the robot.Communication between two robots caused two robots will not fight over each other to catch the ball.Communication system consists of two parts: emitter and receptors.The emitter is a set of hardware to control serial port and send commands to the robot.Receptors are installed on each robot that is useful for providing information to agents [16].
User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) are two transport protocols that used for the development of networked robot applications [17].UDP are connectionless protocols and TCP are connection-oriented protocols [18].These protocols allow multiple devices to communicate effectively using the internet [19].TCP is a transport layer protocol used by an application that requires guarantee delivery.It is a connection-oriented byte stream protocol [20].TCP provides a reliable mechanism to transfer the data which results in the increase of delay.The connection TCP is formed through a three-way handshake, where there is a process of starting a connection, recognizing the connection, and stopping the connection [21].TCP has shortcomings in ad hoc networks such as it can experience high load conditions, latency, and overhead in the traffic required by TCP.Therefore, UDP is a better choice than TCP, and multicast messages must be used for broadcast messages [22].
So, the protocol that used in this communication system is the UDP protocol.UDP (User Datagram Protocol) is one of the core members of the Internet protocol suite.UDP transmit the data in the form of the stream [18].The reason for using this protocol because UDP uses a simple transmission model with a minimum protocol mechanism.It has no handshaking dialogues, unreliability and connectionless [23].And, there is no guarantee of delivery, ordering, or duplicate protection.UDP provides a checksum for data integrity, and port number for handles various functions at the source and destination datagrams [24].UDP protocol supports both multicasting and broadcasting.It is suitable for applications that prefer packet loss to jitter or high delay [21].UDP does not yield retransmission delays which makes it attractive to delay sensitive applications [25].

Research Method
In general, the communication between Coach computer and every robot is designated in Figure 1.Every robot with the same data signature will relate to the same coach computer.Design communication system on robot soccer competition is given in Figure 1.The communication system is discussed in blue color.The mechanism system started by the wifly module.Wifly module sends and receives data from coach computer via Arduino mega2560 using serial USB interface with baud rate 115200 bits per second (bps).Then, Arduino mega2560 executes the commands are given by coach computer.So, coach computer and Arduino mega2560 display serial data.Displayed data is obtained from Raspberry Pi such as the existence of a ball that is detected by both robots.Diagram block robot is given in Figure 2. The flowchart of proposed parsing data process is shown in Figure 3.This flowchart is running on each robot for data communication.
Communication system process started by coach computer that detects the existence of the ball.Coach computer sends a data packet to the robot.Then, the data packet will be parsed by the robot so that robot can run.Each robot receives a different data packets.After receiving data packets, the robot will move to find the ball.If the robot detects the ball, then the robot will chase the ball.And if the robot does not detect the existence of the ball, then the robot will continue to find the ball until the ball detected by the robot.

Figure 2. Diagram block robot soccer
The data sent in packet form.Data packet that gets to the robot will experience the parsing process to get VL and VR values on both robots.In the parsing process, checking data done one by one.Then, the data were collected and re-checked overall.After parsing process was done, coach computer will display the robot condition and robot will move in accordance command are given.Flowchart communication system in robot soccer is given in Figure 4.

Results and Analysis 3.1. Serial Data Robot
The test was performed using Arduino IDE, Arduino Mega2560 and Wifly module.The test was done to find out the wifly module connected to coach computer.Test result on the coach computer is given in Figure 5 and Figure 6.Based on the test serial data robot, there is no problem in connecting two robots with coach computer.

Data Packages in Wireshark
Testing receipt and delivery of data packets in Wireshark are given in Figure 7 and Figure 8.Based on the test using Wireshark, it can be seen the difference between data sent and received by Arduino.

Parsing Data
The composition of data parsing on the communication can be seen in Table 1.In Table 1, there are data packets received by robot 1 and robot 2. Data packets received by robot 1 such as C34a, C34c, and C34e, while data packets received by robot 2 such as B56b, B56d, and B56f.Each data packets has its own function.The composition of data package for communication in every robot with unique ID, R1 for the first robot and R2 for the second robot, can be seen in Table 2. Furthermore, informations after ":" are determining the state of the robot.

Conclusion
There are several technologies used in robot soccer competition, such as computer vision, machine learning, communication system, and others.This research explains about the communication system of the robot.Communication system between robot and coach computer use UDP as a protocol because UDP is connectionless, unreliability, and no handshaking dialogues.The communication success rate between coach computer and both robots are 100%.When the start button is pressed on the coach computer, robot 1 runs and followed by robot 2. When the robot detects the ball, the robot will move towards the ball.And when the robot loses the ball, robot will rotate to look for the ball.If the ball is located between two robots, then the robot has the closest distance from the ball that will chase the ball.And when the stop button is pressed, the two robots will stop moving.

Figure 1 .
Figure 1.Common communication design in robot soccer competition