Implementation of Feedforward and Feedback Control for Active Handling and Dribbling System in MSL Robot Soccer

— Ball handling and dribbling are basics soccer techniques. Therefore, handling and dribbling mechanism becomes important component for MSL (Middle Size League) robot soccer. The implementation of active handling and dribbling systems aims to enable the robot to perform dribbling mechanism when maneuvering, while in idle position use handling mechanism. Feedforward and feedback applied as control method in active ball handling and dribbling system. Feedforward control method will give a response to the dribbler wheel based on the motion of robot movement against x , y , and θ axes. Whereas, Feedback control method applied fuzzy inference system by reading the displacement of the arm angle from sensor databased on angle reference of dribbler arm to keep the ball in an ideal position. Implementation geometric calculation for feedforward control toward x , y , and θ axes movement of the robot that it has resulted RMSE value for left motor is 5.75 and for right motor is 7.01. Fuzzy inference system method is used as a feedback control to manipulate the speed and direction of wheel’s rotation as a result ball remains in the ideal position. The value of arm angle displacement and the combination of the two-dribbler arms are used as input for fuzzy inference system. The results of this research show that the application of the combined feedforward and feedback control methods in active handling and dribbling systems can provide robot-dribbling capabilities. Consequently, the robot has a good ability in handling and dribbling mechanism.


I. INTRODUCTION
RoboCup is an international robot soccer competition that hopes to setup a competition between the world cup soccer team with the football robot team in 2050 [1]. The competition focuses on artificial intelligent development and robotics technology. Thus, robot soccer creates various developments to improve the ability of robots to be able to play soccer as well as humans [2]. Like a human soccer player, a robot soccer must also have the skills possessed by soccer players, one of which is a dribbling technique [3]. Dribbling is one of the basic techniques in soccer games. Therefore, this mechanism or system becomes a very important part and must exist in robot soccer because good dribbling system can improve robot maneuver ability.
Mechanical design of dribbler must be in accordance with Middle Size Robot Soccer regulations. In the rules, during a match, the ball disallowed to enter the robot basin area more than one third of the ball diameter, except when holding the ball, half of the ball is allowed into the robot's body. However, when the robot does dribbling mechanism, the ball must not enter more than one third of the diameter of the ball [4].
The control mechanism is divided into two parts. Handling is a mechanism which is used when the robot in idle position. Dribbling is the mechanism that used by robot when it moves. In a stationary position, fuzzy inference system method is used as a feedback control to manipulate speed and direction of turning the wheel, so that the ball remains in the ideal position [5]. The angular displacement value of the arm and the combination of the two-dribbler arms are used as input for fuzzy inference system. When the robot moves, feedforward control on the dribbling mechanism will respond to the speed and direction of the dribbler wheel based on the movement of the robot against x, y, and θ axes. A combination control is needed to solve the problems from each control implementation. Feedback control has the disadvantage of being less responsive in dribbling the ball, as well as feedforward control [12]. In the other hand, feedforward control has no ability to keep the ball while motionless which means it does not have any response to keep the ball.
This research presents the mechanical design of active ball handling and dribbling by combining a control algorithm including feedforward and feedback control. This combination can provide dribbling abilities in robot soccer, thus the ball controlled by the robot when motionless, driving forwards, backwards, make a left or right movement and make rotation movement. Implementation of a good dribbler system on robot soccer will impact to the whole system of robot soccer. Furthermore, this research will contribute to the development of robot soccer.

A. Related Works
There are many previous research have implemented the method and mechanism for handling and dribbling system [4][5]. This mechanism consist the mechanical design that must be accordance with Middle Size League (MSL) Robot Soccer regulations. With the result that the dribbler system designs to support, dribbling mechanism has different variations. Steve Stanclif delivered the active dribbler concept. The use of a motor as the main actuator in the dribbling mechanism is an active dribbling concept. The basic part that needs to be understood is that if the ball makes contact with a field that has a tensile strength that exceeds the friction force between the ball and the floor, then the ball will follow that field [6]. It can only happen if the motor has enough torque to make the ball spin and provide a greater force compared to the force produced by the ball and the floor. Steve Stanclift's active dribbler concept has implemented in Small Size League (SSL) robot soccer.
Chikushi, Weerakoon, Ishii, and Sonoda have claimed that contact between the ball and dribbler is very influential on the movement system of the robot. The dribbler wheel must have a very high angular velocity, so the ball can be stuck at a distance that the dribbler can reach [7]. There are several examples of dribbler concepts applied in RoboCup that have recorded by Junkai, Chenggang, Junhao, Kaihong and Huimin, although the number of wheels and concepts applied is almost the same. The use of two wheels to provide a larger contact point to provide greater force, and asymmetrical movement system will provide the ability to rotate the ball and place the ball in the position as expected [8].
Mechanical design is the fundamental system for ball handling and dribbling, but it is cannot be separated with control system. Our previous research is adopting PID control to control the speed and direction of motor dribbler [9]. This research has given a good result, but there is lot of susceptibility. PID control is included in the close loop control that will work if there is feedback occurs. Thus, PID control cannot handle the ball dynamically and make the robot canot move quickly which resulted the ball will be missed.
How to get better control Junkai, Chenggang, Junhao, Kaihong and Huimin proposed to combine feedback control and feedforward control, in this case they use physical model as feeforward control and use sliding mode as feedback control. In another research, Jeroen de Best and Rene van de Molengraf have implemented single proportional gain as feedback control and mechanical design geometrical calculation in order to get feedforward control [6].
Ball handling and dribbling concept, mechanism and control in MSL robot soccer has been done [4]- [8]. The have used several methods and applications to get the result as expected. In this research, the mechanical design of dribbler we have used active two-wheeled dribbler that have implemented in mechanical of the robot. In line with mechanical design, we have used combination of feedforward and feedback control in order to control the ball in ideal position. This research, authors proposed and implemented two method. Geometric calculation as feedforward control and fuzzy inference system are used as feedback control.

B. Originality
In this research, we have proposed a new approach control system for active handling and dribbling system in MSL robot soccer. This method use fuzzy inference system as feedback control and geometrical calculation as feeforward control. Control method is divided in two parts, when the robot is idle feedback control is used to control the ball in ideal position. Feedforward is used when the robot make a movement that use geometrical calculation method. Feedforward means a pathway with control, where the system passes the control process from the outside environment. Control variable of feedforward system is based on knowledge with mathematical models of processes and knowledge of system that use geometric calculation model. Fuzzy inference system is used in feedback control when the robot is idle in order to keep ideal position of the ball. According to the method that we use, new control method implementation in active handling and dribbling MSL robot soccer.

A. System Design
This section will explain how the system is designed for active handling and dribbling in MSL robot soccer including mechanical design, mathematical model, and system control design.

B. Mechanical Design
Mechanical design of active handling and dribbling MSL robot soccer must have the ability to control the ball in ideal position. Handling and dribbling mechanism use a dc motor as a driving force used to adjust the rotation speed and the direction of the wheel. To get the position of the ball, it takes the sensor to read the angle on the mechanical lever dribbler's arm using a potentiometer. Fig. 1 describes the mechanical design of handling and dribbling MSL robot soccer. The dribbler system has two arms that serve as a retaining mechanical on the control process on the ball. In the dribbler arm, there is a motor to drive the dribbler wheel. To keep the ball in an ideal position, a mechanism that can be used as a reference to the ball position is required. At the base of the dribbler arm, a potentiometer serves as a sensor to determine the position of the ball against the robot.
Set point has become the reference position of the ideal dribbler arm position. While in the error condition, correction is needed to give a response. In this case, control process is needed to keep the ball in set point condition that obtained based on the ideal angle of the dribbler arm position, while the error value is based on the angle range from the angle formed by the dribbler arm. Fig. 2 illustrates data error acquisition from angle of arm dribbler. In the rules applied in RoboCup, if a robot does a dribbling, only one-third of the ball part is allowed to enter the dribbler. If no dribbling is performed, half of the ball part is allowed to enter [4]. Fig. 3 shows the ball in ideal position that kept by mechanic of dribbler. Mechanical design is primary part to design of whole system especially for control system design. The mechanic should appropriate with the rules due to simplify control system design. Table I shows specification of mechanical design.

C. Mathematical Model
This section describes the mathematical model for the ball dribbling mechanism. The feedforward control system can be denoted by F, in the = F(r) function, the feedforward control equals the inverse plant, so that the plant output, y, will be the same as the reference, r. Therefore, that in this system allows a plant that can be controlled based on reference input that is designed according to the needs of the plant response. Feedforward reference control is based on mathematical model knowledge of the system process. The mathematical model used in this system's knowledge pathway is a geometric calculation model [10].
Geometric calculation is a mathematical calculation method that relates to the nature and relationship of points, surfaces, and solids [11]. The concept of rotating motion of two wheels that intersect with the ball can be applied as a basic geometric calculation. Geometric calculations correlate between spherical surfaces and robot movements. Then estimate of the movement of the ball based on the input of the robot movement is obtained. The feedforward control design with reference geometric calculation relates to the speed of the ball and the speed of the robot. The basic thing to consider in designing a feedforward control on the dribbling mechanism is the speed of the ball must be equal to the speed of the robot.
Orthogonal projection of the intersection between the dribbler wheel and the ball forms two circles that intersect. The rotation of two circles will produce linear velocity and angular velocity of each wheel. The equation of the two wheels that intersect will get . Thus, in the dribbling system will be found the dribbler wheel speed equation based on the movement of the robot.
$ is speed and % is the relative angle of movement of the ball. & and ' are the speed of the robot against x, y, and θ. ( ) is the angular speed of the robot and d is the distance between the center of the robot and the center of ball that can be seen in Fig. 4. Angle θ, radius * +$ and height h can be calculated based on angle ψ with the help of * , and * -. The distance between the wheels is determined when the ball enters the third part of the robot concave. Dribbler wheel placement determines the relationship between ball speed and wheel speed. Fig. 5 shows the relationship of spherical velocity and wheel speed determined by the placement of dribbler wheels. Then we will obtain the calculation of auxiliary radius of * , sphere by looking at the front side.
Where * $ is the radius of the ball when viewed from the front, it is obtained eq. (4).
From the top-view of right side then can be obtained, Notation θ is the angle formed between the dribbler's arm and the ideal position of the ball, when the dribbler wheel experiences contact with the sphere's surface. Fig. 6 shows top-view of two-wheel dribbler and the ball.
The angular speed of the dribbler wheel can be calculated by the relevant representation of speed, radius and angle in Fig 7. When the ball moves at an angle φ to move forward, the dribbler wheel will move the surface of the ball, which depends on the angle θ, and φ and the radius of the ball * A . Then there will be projections between the horizontal radius of the surface, with the center of ball. * and * @ are the real circle radius which can be affected by dribbler wheels. If there is no slip, then the velocities and @ are related to * , * @ , where the wheel radius is * C and angular speed ( , ( @ , and ( $ is the angular speed of the wheel. . If the ball velocity A is 3ms, and wheel radius *^ is 33mm, therefore wheel rotation maximum speed is 868 RPM. To get optimal results, a dribbler actuator is needed with the appropriate speed of the rotary wheel, so that feedforward control can work properly.

D. Feedforward Control Design
Feedforward means a pathway with control, where the system passes the control process from the outside environment [8]. Feedforward system is based on knowledge with mathematical models of the system. The mathematical model used in the knowledge pathway is a geometric calculation model as Fig. 8 shows the application of geometric calculation on feedforward control.
Let x, y, and θ are the positions of the robot; to get the dribbler wheel speed is required conversion of ball velocity from Cartesian coordinates to polar coordinates.
Therefore, the dribbler wheel speed can be calculated where * $ is the radius of the ball, * + is the wheel radius, h $+ is the distance between the ball and the wheel, and φ $+ is the angle from the ball to the wheel.

E. Feedback Control Design
Feedback system has three components: a plant, a sensor to measure the output of the plant, and a controller to generate the plant's input [11], [12]. Fuzzy inference system is used in feedback control. The input of the fuzzy inference system is the ADC value of the potentiometer. The value obtained will be used as the setpoint reference value. The set of fuzzy inputs is based on the position of the two-dribbler arms. The condition combination of both dribbler arms will provide fuzzy input that represents fuzzy output. Fuzzy input is divided into two, namely the position of the left dribbler arm, and the right dribbler arm. Both input membership functions have the same crisp.
Membership function of the left arm input has several crisps that can be canceled based on the condition of the dribbler arm position. The following is the crisp of the left arm input membership function: Membership function of the left arm input is input data obtained based on the position of the dribbler arm angle. The position of the dribbler arm will provide feedback to the controller when in normal conditions. NB (Negative Big) when positioning the angle of the dribbler arm without a ball or very far from the ideal position of the arm. NM (Negative Medium) the position of the arm is close to the setpoint. NS (Negative Small) the position of the arm is nearing the setpoint. Z (Zero) the position of the arm is at the setpoint condition. P (Positive) is a crisp that shows the condition of the arm when it exceeds the setpoint position as shown in Fig. 9. The combination of the two-dribbler arms based on the position of each dribbler arm will give a variation on the fuzzy output. The output of this fuzzy system is the speed and direction of rotation of the dribbler wheel. Dribbler wheel drive actuator is a motor that can be adjusted the speed and direction of the rotation with a unit of measurement RPM (Revolutions Per Minute). Rotational speed and direction of the dribbler wheel depend on the membership function input. Membership function of the left motor output is obtained based on the defuzzification output from fuzzy inference. The following crisp is used in the membership motor output function left: The combination of the two-dribbler arms based on the position of each dribbler arm will provide a variety of fuzzy outputs. FR (Fast Reverse), when the dribbler motor is in a state of preparing to catch the ball at full speed. MR (Medium Reverse), the condition of the motor pulling the ball at medium speed. SR (Small Reverse) crisps the condition of the rotating motor to pull the ball at slow speed. Z (Zero) is a motor condition that stops relatively. In addition, the F (Forward) condition of the motor aims to drive the ball. Membership function of the left motor output is in accordance with Fig. 11. The membership function design process from the right motor output is done the same as the left motor membership function. Crisp is obtained based on the defuzzification output from fuzzy inference. The implications of the combination of the two positions of the dribbler arm will give different outputs so that it will produce the right crisp on membership motor output function. Fig. 12 shows the membership of the right motor output function. After the membership function mapping is complete. The next stage is the creation of a table rule, where all membership variable functions that have been created are included in accordance with the existing requirements. The purpose of making this rule is to make it as an input and output parameter on the system. So that the response of the handling system is good when the robot is ready to catch the ball or repent is in a still condition to keep the ball in an ideal position.  AND  NB  THEN  FR  2  NB  AND  NM  THEN  MR  3  NB  AND  NS  THEN  MR  4  NB  AND  Z  THEN  MR  5  NB  AND  P  THEN  MR  6  NM  AND  NB  THEN  MR  7  NM  AND  NM  THEN  MR  8  NM  AND  NS  THEN  MR  9  NM  AND  Z  THEN  MR  10  NM  AND  P  THEN  MR  11  NS  AND  NB  THEN  SR  12  NS  AND  NM  THEN  SR  13  NS  AND  NS  THEN  SR  14  NS  AND  Z  THEN  SR  15  NS  AND  P  THEN  SR  16  Z  AND  NB  THEN  MR  17  Z  AND  NM  THEN  S  18  Z  AND  NS  THEN  S  19  Z  AND  Z  THEN  S  20  Z  AND  P  THEN  S  21  P  AND  NB  THEN  F  22  P  AND  NM  THEN  F  23  P  AND  NS  THEN  F  24  P  AND  Z  THEN  F  25  P  AND  P  THEN  F   Table 2 is the rule base of the left motor output. FR (Fast Reverse), when the dribbler motor is in condition to catch the ball at full speed. MR (Medium Reverse), the condition of the motor rotates to pull the ball at medium speed. SR (Small Reverse) crisp the condition of the rotating motor to pull the ball at slow speed. Z (Zero) is a motor condition that stops relatively. In addition, the F (Forward) condition of the motor aims to drive the ball. On the left motor output table rule, it can be seen that almost all linear non-linear inputs and outputs are on the left arm Z (Zero) and the right arm is NB (Negative Zero), which gives MR output (Medium reverse). Moreover, the right motor base rule is in accordance with Table 3.  1  NB  AND  NB  THEN  FR  2  NB  AND  NM  THEN  MR  3  NB  AND  NS  THEN  SR  4  NB  AND  Z  THEN  MR  5  NB  AND  P  THEN  F  6  NM  AND  NB  THEN  MR  7  NM  AND  NM  THEN  MR  8  NM  AND  NS  THEN  SR  9  NM  AND  Z  THEN  S  10  NM  AND  P  THEN  F  11  NS  AND  NB  THEN  MR  The application of fuzzy logic as feedback control uses the ADC potentiometer value compared to the reference to get the value of the Left Arm and Right Arm to give a response to the dribbler motor.

F. Control Implementation
The handling and dribbling mechanism requires a good control system. This research uses a combination of feedforward control and feedback control. According to Figure 12 the input of this system is the speed of the robot x, y, and θ. This system control method is a fusion between feedforward and feedback control. Feedforward control in this system is used as input to determine the movement of dribbler wheels based on geometric calculation. Feedforward control requires input in the form of a robot movement x, y, and θ. This control method is used as input to provide a response to the handling system, so that the dribbler wheel will move according to the movement of the robot.
When the robot is idle without moving, the robot must also control the ball. In this condition, feedforward control cannot provide a control process so feedback control is needed. The feedback control is for feedback control method will provide a correction to the dribbler motor response based on the position of the dribbler arm angle. Errors obtained from potentiometer readings produce controls to keep the ball in an ideal position. Selection of the fuzzy inference system method on the feedback control, because it must have the ability to control more than one input. This is needed for a combination of error correction from the angle of the dribbler arm when controlling the ball.

A. Feedback Control in Dribbling Mechanism
Response of the dribbler motor when the robot moves towards the negative y-axis or move backwards. Robot movement towards x-axis, it is mean the robot move to the right if positive movement. Negative movement is left movement of robot. Feedback control also get the data from motor response when the robot performs right and left rotational movements. In this test, it has obtained the response of the dribbler motor. In Fig. 14-17 shows the motor response graph when the robot moves in different movement.  The test results of motor response while robot moves at 3 m/s has conducted motor speed estimation 898 RPM by geometric calculation towards y-axis that presented by Fig. 14. Refer to Fig. (15-16) robot moves against x-axis formulated 935 RPM. Rotation movement that resulted by robot is 300 RPM. Fig. (14-17) shows a graph of the motor response results using feedforward control has resulted 5.75 RMSE at the same time while the right motor has 7.01 of RMSE. The results of using feedforward control has given relatively small RMSE that shows the robot relevance movement with motor response in dribbling mechanism that manages to keep the ball in the ideal position.

B. Feedback Control in Handling Mechanism
Testing results of the response of the arm and the dribbler motor when performing the handling mechanism. Fig. 19 Dribbler arm response Fig 19 shows the response of the dribbler arm according to the specified target. Because the setpoint value of the dribbler arm correspond to Z (Zero) condition. On the process to steady state, overshoot occurs at settling time. It is because the dribbler's arms are reflected by the ball's impact force, which can be detained properly. Therefore, based on the needs of the dribbler arm system, the composition of the membership function and the crisp that are built are in accordance with the needs of the system. Thus, in the trial the composition of the membership function and the formed crisp have met the needs of the system. The result of the dribbler motor response in Fig. 20 shows response of the dribbler arm, which affects response of the dribbler motor. When both dribbler arms are in the NB (Negative Big) position, It will make the response of the motor is on the FR (Fast Reverse) crisp. Likewise, with other conditions that match the predefined rule table. By applying a membership function, input and output are in accordance with the system. Thus, feedback control on the handling mechanism can be applied.

IV. CONCLUSIONS
In the results of feedforward control testing, geometrical calculation can be used as input from feedforward control. Based on the test results, the right and left dribbler wheel speed values are the same as the movements of x, y, and θ robots. With the average motor RMSE left is 5.75 and the right motor is 7.01. Feedback control test using fuzzy inference system shows that the fuzzy method can be used in the handling mechanism. Because, the test results show that the handling mechanism can catch the ball and keep the ball in an ideal position.
Overall, the implementation of fusion control between feedforward and feedback in handling and dribbling ball system has a purpose so that the robot can move more dynamically. The use of control method in handling and dribbling system as dribbler response controller can be applied to keep the ball position ideal. Thus, the robot can perform the process of handling and dribbling the ball when the robot does the movement.