Intercept Algorithm for Predicting the Position of Passing the Ball on Robot Soccer ERSOW

ERSOW is the name of a wheeled soccer robot that competes in the Kontes Robot Sepak Bola Indonesia (KRSBI). The soccer robot plays a soccer game based on the rules adapted from the human soccer game. The ERSOW team was formed in 2016. Starting in 2017, ERSOW participated in the KRSBI with the Middle Size League (MSL) type. Research in the field of wheeled soccer robots is mostly carried out on robot intelligence, such as how robots detect and look for balls, dribble, pass the ball, avoid opponents, and communicate in teams. This research focuses on the ability that the robot can pass the ball in KRSBI 2020. There are adjustments to the rules for its implementation online where the robot has to pass the ball and score as many goals as possible. The robot's ability to know the direction of ball movement and cut the ball movement or intercept is needed. By utilizing data processing from vision to obtain ball speed data and speed algorithm calculations, the passing ball method has a small chance of missing. Based on the results of experiments that have been carried out, the success of ERSOW in passing using this method is 94.7%. Keywords— Robot Soccer, ERSOW, Passing the Ball, Middle Size League


I. INTRODUCTION
The soccer robot is one of the robots that continue to be developed to represent technological advances. Robot soccer has a fast development. This is due to robot competition in Indonesia. ERSOW (EEPIS Robot Soccer On Wheeled) developed robots' ability to pass the ball to other robots in a team. One of the prestigious national level competitions is the Kontes Robot Sepak Bola Indonesia-Beroda (KRSBI-B).
KRSBI-B is regulated according to the international soccer robot competition rules at the RoboCup Middle Size League (MSL) [1] by adjusting conditions in Indonesia, for example, in field size and others. ERSOW (EEPIS Robot Soccer On Wheeled), developed by Politeknik Elektronika Negeri Surabaya, consisting of 3 robots. One attack robot named Okto, a defense robot named Hendro, and a goalkeeping robot named Jamil.
ERSOW in 2020 is a continuation of previous research in 2018. The robot has four motors, and each of which is an Omni wheel. The purpose of using the four Omni wheels is to make the robot more stable and balanced when moving to find the ball, dribbling the ball, or avoiding obstacles. The main controller on the ERSOW robot is a PC or Laptop, and the sub-controller is STM32F4 Discovery. The main controller serves as the robot's strategic center, processing the vision results from the camera, receiving data from the referee box, and sending commands to the sub-controller. As for the subcontroller, retrieving data from the sensors is then sent to a PC using serial communication. Besides that, the sub-controller acts as a liaison between the main controller and the actuator [2].
KRSBI-B 2020 has an adjustment in its implementation online by requiring the robot to pass the ball to another robot in one team, avoid obstacles, and score as many goals as possible. The most important aspect in the KRSBI-B match in 2020 is the robot's ability to pass the ball because the robot has to pass the ball at least two times before kicking the ball into the goal. The challenge faced is how the robot can receive the ball pass so it doesn't miss and can receive the ball perfectly. If the pass is missed, the team will deduce the total points earned in one session.
The use of the previous method when passing the ball just relies on odometry data to determine another robot's position [3][4] that is targeted between the feeder robot and the receiving robot. This has a problem because odometric data always has a slip error with a range of 2-10 cm. And if this error accumulates, the robots' position data will be wrong so that the ball often misses. The Flex Sensor Glove is used to move the wheelchair robot [5], and the Automated Guided Vehicle method is used to adjust the placement of goods in the position of the rack arrangement [6].
However, knowing the direction of the ball coming and cutting the ball's movement is very necessary for developing the ability to pass the ball so that it does not miss so that several supporting variables are needed, namely ball speed data and time prediction. Figure 1 describes the ERSOW workflow diagram. The camera takes images to be processed into predetermined objects such as balls, obstacles, and fields. The data obtained on the camera is collected and then processed by the control system. Data is sent to the main microcontroller. The main computer processes data from the referee box via wifi communication then give commands to the sub-controller to move the DC motor to determine where the robot should move. Data from the IMU MPU-9150 sensor is used to determine the direction of the heading and mapping the robot's location. PID is used to adjust the motor speed. The robot kicks on the goal after getting the ball, and the robot's position is in the direction of the goal [4].

II. RESEARCH METHODOLOGY
The robot's ability to cut ball movement or ball interception can be made based on ball speed. To determine the point of intersection, it is necessary to calculate the time (t) to cut the movement of the ball and the heading (θ), which represents the direction of the intersection concerning the position of the robot [10]. The calculation of time (t) can be called time prediction and it is used to get the multiplier constant value in the velocity algorithm to get the right and appropriate intersection point. The intersection point obtained from the time prediction is a prediction point, namely the addition of the ball's initial position value when the ball moves every time in Cartesian space on the X-axis and Y-axis. If the time prediction value is small, the intersection point will be close to the moving ball's starting point. In addition to time prediction, heading (θ) is also significant to determine the robot's direction facing the incoming ball and provide a constant direction of increasing speed until it reaches maximum speed. Heading (θ) of the robot against the ball can also be obtained from ball detection while processing vision [4][10] [9].

A. Speed Data of The Direction of Motion of The Ball
The robot can determine the direction of the ball's movement and the point where the ball's movement will be cut, so it needs ball speed data obtained from the vision process in detecting the ball [4][9] [10]. Figure 2 is an example of the image captured by an OmniVision camera. Where the image results from OmniVision can reach the area around the robot by 360°. The ball's direction can be obtained from the velocity data. The velocity data is a vector quantity with a value and direction in the X-axis and the Y-axis. Meanwhile, the ball movement's intersection point is obtained from the velocity value multiplied by the predetermined Time Prediction.

B. Get Timing Prediction
Determining the right Time Prediction to determine the ball movement's intersection point when receiving the pass is very necessary. The smaller the value of Time Prediction, the intersection point of the ball's movement will be closer to the moving ball's starting point. Meanwhile, if the greater the value of the Time Prediction, then the ball movement's intersection point will be further away from the moving ball's starting point.

C. Kicker ERSOW
For the kicker, ERSOW uses a solenoid component supplied with voltage from a capacitor to produce a magnetic field that can attract the shaft. This motion is used as ball propulsion. The kicker and dribble sections are attached to the center base. The kick is done by applying a voltage of 500 volts to the solenoid [9]. The PWM arranges pressure on the kicker, and the ball is ejected in the intended direction [9]. Figure 3 is an example of a kicker model on the ERSOW soccer robot which is built from selenoid

D. Robot Moving Control
Of all the variables needed for the passing ball method, it is necessary to combine it with the robot's control system itself [4] to move to the target (the point of intersection and direction towards the ball) precisely.
The ability of the soccer robot to pass is needed. In previous matches, ERSOW relied on the ability to find balls and communication between robots only. So that the results of the match are not optimal, and collisions often occur between robots. To make a ball pass between robots requires coordination of the two robots. The transfer robot needs to pay attention to the position of the receiving robot. Meanwhile, the receiving robot must adjust to the ball trajectory line from the feeder robot's kick. Figure 4 describes the coordination form of the two robots.
The feeder robot has a certain coordinate position to the field. However, the feeder robot's heading must point to the angle formed between its coordinates and the ball receiving robot. The passing robot kicks the ball towards the ball receiving robot. While the ball receiving robot has arbitrary coordinate positions to the field with the heading facing the ball's corner, which refers to the field or theta (θ).  After getting the prediction point, the ball receiving robot moves to the prediction point when the distance between the ball and the receiving robot is less than 1 meter. TP determination is done by setting arbitrary values according to prediction needs. System testing calculates the robot's success when passing the ball to the ball receiving robot. Figure 5 shows that the heading of the receiving robot is always facing the ball. When the ball reaches a radius of 1 meter from the middle of the robot, the robot moves towards Pi. Receiving the ball by the robot is done by dribbling the robot. The ERSOW robot is equipped with a dribble mechanism, two wheels with an angled installation to grip the ball.
ERSOW robot movement using PID (Proportional, Integral, Derivative) control. The robot moves to Pi at speed according to the PID Control calculation. The feedback data used is the robot's location data based on the floor rotary sensor calculation. The speed calculation results are then transformed using the following inverse kinematic Equation (2) to control each Omni wheel.
(2) Table I the results of the farthest passing distance suitable for the experiment.  Meanwhile, passing the ball is considered unsuccessful when the ball cannot be received by the receiving robot and has also touched the ball's body. Table II shows the results of the ball pass algorithm experiment.  Figure 7 and Figure 8, the two robots successfully passed the ball 18 times out of a total of 19 attempts, or 94.7%. The ball that is passed from the robot is successfully received by the receiving robot directly. However, on the 11th try, the ball receiving robot did not succeed in receiving the ball. The ball bounced after hitting the bumper of the robot. The results of the experimental data record when the robot passes the ball as in Table II. Based on the results of 18 successful passing experiments, the average time for the two robots to make one pass at a distance of 180 cm is 2.44 seconds. Thus, the minimum distance to pass the ball to the robot according to the KRSBI regulations is 100 cm, and the maximum distance for optimal passing the ball is 180 cm. The experiments in this study were carried out in ideal conditions, where the field without the opposing robot team. So the robots can feed each other at a distance of up to 180 cm. Table III is the average time for the robot to successfully receive the ball from the other robots.  1  3  2  2  3  4  4  2  5  2  6  2  7  3  8  2  9  2  10  3  11  -12  3  13  2  14  2  15  2  16  2  17  3  18  3  19  2  average value  2.44 IV. CONCLUSION Based on the testing results, this algorithm has success in feeding 94.7% with a mean time of 2.44 seconds during the experiment 19 times. The proposed algorithm is feasible to apply to the ERSOW Robot. Failure to pass the ball is due to the ball hitting the robot's body to bounces off. Research development is needed to optimize the time of passing the ball on the ERSOW robot. As the subsequent development, the time to pass the ball will be optimized.