Holonomic Implementation of Three Wheels Omnidirectional Mobile Robot using DC Motors

In the Indonesian Wheeled Football Robot Contest (KRSBI) wheeled division, the robot that is made must be able to complete a predetermined task, one of which is the robot for chasing the ball and catching it. Holonomic is one of the methods used in navigating the omnidirectional movement of mobile robot applications. Because the movement is designed without changing the position of the robot in the direction of the facing, the omnidirectional wheels are used which has the ability to move freely in two directions. The mobile robot has three omnidirectional wheels and DC motors each used for movement. DC motors controlled by EMS 30A H-Bridge as a driver and Arduino Mega 2560 as the main microcontroller. Holonomic and inverse kinematic calculations are conducted to control the mobile robot movement of x, y, and ω toward angular velocity and direction of s1, s2, and s3 for each wheel. The length of the wheel axis to the middle of the body of robot is 160 mm. In this study, a robot was implemented on the robot movement for moving forward, backward, sideways, and diagonal direction. Based on the data evaluation, it is determined that an angular error of 2.84% exists in the movement of the omnidirectional robot at a velocity of 0.256 m/s to 1.403 m/s. Keywords— Holonomic, three wheels omni directional, inverse kinematics, mobile robot, DC motor


INTRODUCTION
A mobile robot is designed to move through an environment and can determine its own motion path [1][2][3]. Mobile robots are divided into two groups, namely wheeled robots and legged robots, depending on the motion system [4]. But In division Football Wheeled Robot Contest Indonesia (KRSBI) must use a wheel that could be used more freely and be able to move on a flat surface. The robot must be able to perform programmed tasks, one of which is a robot to search and catch a ball.
The wheeled football robot division, robot should be able to play the ball in the field basically like a football player. The robot's limits, that is in its movement. The robot cannot accurately drive in the desired direction, the movement that is also done by the robot is the orientation and control of the movement of robot. The limitation of being able to move to the left, right, and diagonally without changing the orientation is also a problem. This causes the robot cannot play ball so well that a given mission cannot be completed properly [5][6].
One type of mobile robot that is the most widely used type of omni three-wheeled robot, known as omnidirectional mobile robot [7]. Omnidirectional has many advantages, such as flexibility in movement patterns, have the ability to move freely in both directions when compared with conventional two-wheeled robot as well as four-wheel drive [8][9]. The locomotion mechanism in the football robot uses forms of an omnidirectional wheel. With the same speed and acceleration the robot with omnidirectional wheels can drive in any direction. This would be very helpful given varying ball position on the robot. The omnidirectional design allowing it to be applied on the robot is three-wheel configuration, each wheel mounted 120 degrees differently. In this method the wheels are meant to be rotated either perpendicularly or parallel to the direction of motion [10].
The holonomic method in this study is applied in an omnidirectional mobile robot. It offers an omnidirectional three-wheel configuration to improve the mobility of the mobile robot to move with any orientation in either direction [11][12]. The three-wheel configuration provides the robot with omnidirectional mobility without needing to use a conventional driver system. Even the inverse kinematic model is introduced with an omni wheel drive which is modified to the robot dimensions. The DC motor is used for differential driving of the omni wheel. To get the velocity of each wheel, the inverse kinematics formula must first be obtained. A trajectory test is conducted to determine its ability to travel according to its direction of reference.

A. Omnidirectional System of Motion
Omnidirectional is defined as simply being able to move any direction. The occupied robotic space consists of three dimensions in mobile robots: the x, y (point position on the robot) and the ω (robot orientation) [13]. Using omnidirectional motion method in geometry robotics as shown in Figure 1. The robot can move in any direction irrespective of position and orientation, so that the linear angular velocity and can be generated simultaneously. Regulation of these values can be achieved by using an omnidirectional motion method, such that the robot has three degrees of freedom (DOF) [14].

B. Holonomic Motion System
Holonomic motion system is a system that represents the number of degrees of freedom equal to the number of coordinates used to define system configuration [15][16]. Holonomic applied to a robot, without understanding the real form of mechanism. Mobile robots with a motion device that has three degrees of freedom in a field are a holonomic  The holonomic concept is applied to determine the angle where α is the motor axis angle drawn from the x-axis coordinates of the robot frame. α is the motor axis angle from the x axis of the robot coordinate frame, each α1 = 30°, α2 = 150° and α3 = 270° [18]. The drive axis of the wheel s as shown in Figure 2, is 90 ° or π / 2 of each α. To solve the vector into its x and y components, we use some simple trigonometry. For each of the three wheels, the x and y components of the orientation of the robot are described in Equations (1) to (6).
There is also a rotational component ω, in which the robot can rotate its z-axis. Robot rotation is just a simple sum of each motor speed. Even if the motor turns in the opposite way, we generally still get the overall number of robot rotations. Just add the motor speed to find the robot rotation ω. Motor speed for robot rotation ω in Equation (7).

A. Inverse Kinematic
Inverse kinematic for measuring wheel angular velocity. In this study the methods of inverse kinematics used to determine the DC motor speed [19][20][21]. The inverse kinematic formula for a robot with three wheels is defined as in Equation (8).
Where s1 is motor velocity 1, s2 is motor velocity 2 and s3 is motor velocity 3. Although x is the x-axis, y is the y-axis, and each robot rotation has a value of 1, -1, and 0.
By inverting Equation 1 means that get Equation (9). Then,

A. Omni Directional Wheels
Omni wheel is unusual in being able to travel independently in both directions [22]. This wheel usually turns like a circle and can move laterally around the outer diameter of the wheel using the screw. Omnidirectional wheels allow the robots to transform to holonomic robots from non-holonomic robots. A non-holonomic robot that uses regular wheels has only 2 operated DOF (Degree of Freedom), for example moving forward, backward, and rotating [23]. Holonomic omni wheels should overcome this issue since the wheels have 3 DOF. Unlike the nonholonomic robot, the holonomic omni directional robot is able to move in either direction without changing wheel orientation. Holonomic omni directional wheels move forward, backward, slide sideways, and rotate in a fixed position. Figure 3 shows the omni directional wheels.

C. EMS 30 A H-Bridge
Embedded Module Series (EMS) 30 A H-Bridge is an H Bridge driver designed to produce a 2-way drive with a continuous current of up to 30 A at a voltage of 5.5 volts to 16 volts. This module is equipped with a load current sensor circuit that can be used as feedback to the controller.

D. Arduino Mega 2560
Arduino Mega 2560 is a microcontroller board based on Atmega 2560 [25][26]. Arduino Mega 2560 as shown in Figure 2.1 has 54 digital input / output pins, of which 15 pins can be used as PWM output, 16 pins as analog inputs, and 4 pins as UART (port serial hardware), 16 MHz crystal oscillator, USB connection, power jack, ICSP header and reset button. This module is required to support the control system.

E. Inverse Kinematics of The Three-Joint Leg
The chassis design has an area of 50cm x 51cm, as shown in Figure 7. The maximum weight of the robot that is allowed is 45 kg, but the robot frame that is designed only weighs 10 kg, so the material used for the frame is aluminum because it has a light and strong weight. The length of the wheel axis to the middle of the body of robot is 160 mm. In addition, the robot is designed to have efficient movement and be able to control the ball well. The movements are agile and efficient as desired because in soccer games when fighting for the ball on the field. The robot mechanics design is made to be impact resistant, lightweight and not easily overturned when hit [27][28]. This three omni directional robot movement system is triangular in shape with omni wheels placed at each end.

F. Movement Control System
Movement control is used to monitor the PWM duty cycle, which acts to monitor each speed of motor to create vx, vy, and speed values [29][30]. The location of robot on the carpeted soccer field can be detected immediately at its turn.
The movement regulation block diagram can be seen in Figure 8. DC motor speed is obtained in the form of PWM and DC motor direction of motion which includes Clock Wise (CW) or Counter Clock Wise (CCW). Arduino Mega 2560, which gives the EMS 30 A-H Bridge a PWM value and drives a 45 DC motor. The test is carried out in a field measuring length and width 2 meters using a carpet floor that has been given a line according to the calculation in the formula, namely:

A. Three Wheels Omnidirectional Mobile Robot
A mobile robot with omnidirectional wheels shown in Figure 9 is suggested for the wheeled football robot division in this study. This robot comprises a wheel module composed of three omni directional wheels attached to each drive. The height of the ground platform is 70 cm, and in this room between the platforms, additional components such as motor drives, controller, and battery are mounted.

B. Direction Commands
As instructions, more information on direction commands can be used in different ways, such as evaluating the speed of motor. Then s1, s2 and s3 must first be searched using the inverse kinematics formula as in Equation (11) until (7) to get the speed of each wheel.

C. Tests The Forward Speed of Robot
To evaluate the ratio between the forward velocity of the robot to the PWM input from the microcontroller, robot speed testing is performed. This measure is performed by giving motor driver the PWM input and adjusting the numerical value of the duty cycle. PWM varies from 30 to 255 such that it is possible to observe changes in the robot speed for a distance of 2 meters. Table 1 shows the PWM data and the forward speed of robot.

D. Tests The Angle of Rotation of Robot
The rotary angle of the robot is measured to determine the orientation of the face of robot as it rotates. This test is conducted by giving the robot commands to rotate at a given angle. Then observed at the angle resulting from the movement of robot to the real angle change. Table 2 shows the orientation angle of rotation of robot. From these data it can be determined that the average angle orientation error to which the robot is moving in the direction defined is 2.84 °.

E. Tests the movement of Robot Based on The Trajectory
The object of this test is to determine the movement of the robot towards the actual trajectory and compare it to direct observation results in the field. This test is carried out by providing a route connecting the point of departure to the point of destination like forms a line. System tested at constant speed. Trajectory data are observed and compared at the actual coordinate with the target coordinates of each trajectory. As shown in Figure 10 to Figure 14, the results of each test are shown in the form of a comparison graph between the target coordinates and the trajectory produced during the test.   In Figure 11 shown for illustration of the trajectory robot move backward, swipe right, then swipe left and forward, then stop. The trajectory movements used in Figure 12 are forward, backward, right shift and stop. From Figure 13 and Figure 13, it can be seen that the movement of the robot is made just departing. But in both images, the robot is only varied with two movements. Figure  13 is a movement to the left diagonally forward and diagonally forward right, while Figure 14 is a forward and slide right then stop. In trajectory 4, the robot changes its orientation and stops not at the reference line. While in Trajectory 5 robot stops with the same orientation, but the midpoint of the robot is not in the reference line. The trajectory of the test was obtained by observing the five robot movements, the velocity value was obtained between 0.256 m/s to 1.403 m/s with an orientation error of 2.84%.

V. CONCLUSION
With omnidirectional mobile robots that are capable of moving in both directions, the holonomic approach can be used. The Holonomic Motion System is a system which, without understanding the mechanical structure, represents the number of degrees of freedom. To determine the movement of the robot into the real trajectory in the area, based on the test results obtained by applying holonomic and inverse kinematics. In forward, backward, sideways, and diagonal movements, mobile robots are introduced. It is known that the movement of robot has a velocity of 0.256 m/s to 1.403 m/s and there is an orientation error of 2.84 % based on the data measurement. An algorithm that is able to detect objects around the robot to prevent collisions can be implemented for further development.