MEV Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 Journal of Mechatronics, Electrical Power, and Vehicular Technology e-ISSN: 2088-6985 p-ISSN: 2087-3379 www.mevjournal.com doi: https://dx.doi.org/10.14203/j.mev.2018.v9.73-80 2088-6985 / 2087-3379 ©2018 Research Centre for Electrical Power and Mechatronics - Indonesian Institute of Sciences (RCEPM LIPI). This is an open access article under the CC BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/). Accreditation Number: (LIPI) 633/AU/P2MI-LIPI/03/2015 and (RISTEKDIKTI) 1/E/KPT/2015. Enhancement of motionability based on segregation of states for holonomic soccer robot Gunawan Dewantoro*, Anton Suprayudi, Daniel Santoso Faculty of Electronics and Computer Engineering, Satya Wacana Christian University Jl. Diponegoro 52-60, Salatiga 50711, Indonesia Received 21 July 2018; received in revised form 28 October 2018; accepted 29 October 2018 Published online 30 December 2018 Abstract One of the critical issues when navigating a wheeled robot is the ability to move effectively. Omnidirectional robots might overcome these nonholonomic constraints. However, the motion planning and travel speed of the movement has been in continuous research. This study proposed segregation of states to improve the holonomic motion system with omnidirectional wheels, which is specially designed for soccer robots. The system used five separate defined states in order to move toward all directions by means of speed variations of each wheel, yielding both linear and curved trajectories. The controller received some parameter values from the main controller to generate robot motion according to the game algorithm. The results show that the robot is able to move in an omnidirectional way with the maximum linear speed of 3.2 m/s. The average error of movement direction is 4.3°, and the average error of facing direction is 4.8°. The shortest average time for a robot to make a rotational motion is 2.84 seconds without any displacement from the pivot point. Also, the robot can dribble the ball forward and backward successfully. In addition, the robot can change its facing direction while carrying the ball with a ball shift of less than 15 cm for 5 seconds. The results show that state segregations improve the robots capability to conduct many variations of motions, while the ball-handling system is helpful to prevent the ball get disengaged from the robot grip so the robot can dribble accordingly. ©2018 Research Centre for Electrical Power and Mechatronics - Indonesian Institute of Sciences. This is an open access article under the CC BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/). Keywords: holonomic motion; omnidirectional robot; soccer robot; ball-handling. I. Introduction The popularity of Soccer Robot Contests has been emerging in the last decades. It came with various divisions, namely: Kids League, Small Size League, Medium Size League, etc. One of the vital aspects in conducting the game is regarding the robot motion mechanisms. Some literature has addressed similar issues, such as in [1][2], which proposed a ball- handling mechanism while freely moving. MATLAB was used to simulate the control system. On the other hand, some conventional locomotion systems are still evolving. A two-wheeled robot was controlled using a PID controller to vary the velocity of the left and right wheels [3]. A genetic algorithm was utilized to optimize the PID parameters. Also, PI controllers together with fuzzy systems were used in [4] to regulate the four-wheeled omnidirectional robot. The development of mechanical design has also become important to ensure motion flexibility. A spherical wheel for an omnidirectional mobile robot is proposed in [5][6]. The main purpose of such development is to address the drawback of four- wheeled robot design. In [7], two active wheels were employed to control the ball rotation. The mathematical foundations were critical to derive the kinematics between the ball rotation and the wheels. A comprehensive review of wheel types of omnidirectional robots was shown in [8][9]. Two categories of omni-wheels, namely special omnidirectional wheels and conventional steerable wheels, were compared to show the pros and cons of each wheel type to be applied in omnidirectional wheeled mobile robots. In addition, a well-planned trajectory is also important to navigate the soccer robot [10]. Even though various sophisticated algorithms have been proposed, the range of path planning problems has been continuously growing [11]. Many * Corresponding Author. Tel: +62 857 4343 8874 E-mail address: gunawan.dewantoro@staff.uksw.edu https://dx.doi.org/10.14203/j.mev.2018.v9.73-80 http://u.lipi.go.id/1436264155 http://u.lipi.go.id/1434164106 http://mevjournal.com/index.php/mev/index https://dx.doi.org/10.14203/j.mev.2018.v9.73-80 https://creativecommons.org/licenses/by-nc-sa/4.0/ https://crossmark.crossref.org/dialog/?doi=10.14203/j.mev.2018.v9.73-80&domain=pdf https://creativecommons.org/licenses/by-nc-sa/4.0/ G. Dewantoro et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 74 important issues have to be addressed in the path planning process such as the modeling of multiple optimal functions, dynamic environment, dynamic constraints, etc., which cause a heavy computational operation. The aim of this research is to develop a navigation system of the holonomic robot without computational burdens that typically occur in both on-line and off-line motion planning [10][11][12], which leads to shorter travel time. The motion controller would only require parameter values such as state, heading, speed, and handler from the main controller. Those four parameters values will be used to obtain the speed value of each omnidirectional wheel, so it generates all of the desired robot motions. The trajectories are decomposed into five available states, which have been developed in Robotics Research Center (R2C), Satya Wacana Christian University since 2016. Some experimental setups are employed to show the effectiveness of this method compared to other motion planning methods [10][11][12][13]. II. Materials and methods Figure 1 shows the complete block diagram of the robot hardware system. The Arduino receives four parameters: motion, heading, speed, and handler from the main controller to determine the motion profile of the robot. Those four parameter values will be used to determine the speed and rotational direction of three major driving motors and two ball-handling motors so that the robot will move accordingly. In the major driver motor control, PID control system is used in order to harmonize the motor rotational speed with the desired speed. Rotary encoder sensor is used to acquire the actual speed value of the major driving motor, which in turn, used as feedback to the PID control system. The specifications of electric motors and robot are given in Table 1. The CAD model of the robot and ball-handling system are shown in Figure 2 and 3, respectively. Two infrared sensors are used to detect whether the ball has been grasped by the ball handling system or not. These data will be utilized in the game algorithm by the main controller. One emergency switch is functioned to run and deactivate the motion of the robot which mounted on the top part of the robot so it can be easily reached. Figure 1. Block diagram of robot hardware system Figure 2. The CAD model of the robot Figure 3. The CAD model of the ball-handling system Table 1. Physical and electrical specifications Specification Electric motors Robot Dimension 0.125 m ×  0.045 m 0.8 m ×  0.51 m Weight 0.8 kg 21 kg Voltage 24 Volts DC - Max. current 4 Ampere - Power 60 Watt - Speed 500 rpm (no load) - Torque 2.45 Nm - Gearbox Planetary Gear - Encoder 7 PPR - G. Dewantoro et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 75 A. States segregation The servomotors generate pan and tilt values of the robot head, which together with the compass value are used as parameters in the game algorithm (processed in the main controller) to determine which states should be executed. Therefore, in order to perform the robots motion effectively, five states from state 0 to state 4 were developed. 1) State 0 State 0 is used to make the robot does not move or immobile. When the motion parameter is 0, all the major driving motors will be deactivated because the value of the speed set point on the PID system is 0 rpm. When the handler parameter is ‘1’, then the ball handling system will be active so that the robot can chase the ball. State 0 is used to make the robot stop while either carrying the ball or not. 2) State 1 State 1 is a type of motion where the robot can perform linear motion toward all directions while maintaining its facing direction. This motion is used by the robot when the robot locates itself on the pitch at the beginning of the game. To set the motion direction, heading parameters ranging from 0° to 360° were used. The speed of motion is set by using speed parameter with a speed scale of 0 rpm to 350 rpm. The value of handler is ‘1’ in order to activate the ball-handling system. The equations used to obtain the speed set point of each motor for state 1 are [13]: 𝑉𝑚𝐴 = 𝑣.cos⁡(150 − 𝐷𝐷𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛) (1) 𝑉𝑚𝐵 = 𝑣.cos⁡(30 − 𝐷𝐷𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛) (2) 𝑉𝑚𝐶 = 𝑣.cos⁡(270 − 𝐷𝐷𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛) (3) where 𝑉𝑚𝐴 is the speed of motor A, 𝑉𝑚𝐵 is the speed of motor B, 𝑉𝑚𝐶 is the speed of motor C, v is speed parameter, and 𝐷𝐷𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛 is the desired direction (°). After obtaining the set point value of each motor using Equations (1) to (3), the PID system sets the PWM value so that the motor rotates according to the specified set point. 3) State 2 State 2 is a type of movement where the robot moves rotationally with respect to the center point of the robot body. This motion is used when the robot locates the ball position. In order to move the robot rotationally, all the major driving motors must rotate in the same direction with the same speed, so that the robot rotates with respect to the center point of the robot body. The heading parameters are used so that the rotation speed movement of the robot can be adjusted, e.g., 1° to 180o for the clockwise rotation and -1° to -180° for the counter clockwise rotation. The PWM value of the major driving motor for the slowest and fastest rotation motion is obtained by trial and error. The governing equation is: 𝑉𝑚 = (𝐻⁡–⁡Hmin)⁡×⁡(𝑆𝑚𝑎𝑥⁡–⁡𝑆𝑚𝑖𝑛)⁡ (𝐻𝑚𝑎𝑥⁡–⁡𝐻𝑚𝑖𝑛)⁡ + 𝑆𝑚𝑖𝑛 (4) where Vm is the PWM value of motor speed, H is the heading parameter, Hmin is the minimum value of heading parameter, Hmax is the maximum value of heading parameter, Smin is the PWM value for slowest rotation, and the last, Smax is the PWM value for fastest rotation. 4) State 3 State 3 is a type of motion that can be used to turn with an adjustable angle to chase the ball. The aim is that when chasing and taking the ball, the robot does not need to rotate until the ball position is right in front of the ball handling system, which only has a width of 14 cm. The heading parameter is used to set the angle of turning, ranging from 1° to 90° for turning right and -1° to -90° for turning left. To set the speed of motion, the speed parameter with a scale value of 0 rpm to 350 rpm speed is used. The equations used to obtain the value of set point speed of each motor for state 3 are:  for turning right, 𝑉𝑚𝐴 ⁡=⁡𝑆𝑃 (5) 𝑉𝑚𝐵 ⁡= (𝐻⁡−⁡Hmin)⁡×⁡(𝑆𝑚𝑖𝑛⁡−⁡𝑆𝑝) (𝐻𝑚𝑎𝑥⁡−⁡𝐻𝑚𝑖𝑛⁡) + 𝑆𝑝 (6)  for turning left, 𝑉𝑚𝐴 ⁡= ((𝐻⁡−⁡Hmin)⁡×⁡−1)×⁡(𝑆𝑚𝑖𝑛⁡−⁡𝑆𝑝) ((𝐻𝑚𝑎𝑥⁡−⁡𝐻𝑚𝑖𝑛)×−1) + 𝑆𝑝 (7) 𝑉𝑚𝐵 ⁡=⁡𝑆𝑝 (8) where H is the heading parameter (-90° ≤ heading ≤ 90°), Sp is the speed parameter, Smin is the minimum value of speed parameter, VmA is the speed of motor A, VmB is the speed of motor B, Hmin is the minimum value of the heading parameter, and Hmax is the maximum value of the heading parameter. From equations (5), (6), (7), and (8), one can obtain the set point value of the speed of the major driving motor in rpm. The PID control system will adjust the PWM value of the major driving motor in order to rotate the motor in accordance with the specified set point. 5) State 4 State 4 is used when the robot is intended to change its facing direction to the goal post with or without the ball. Unlike the state 2, the center point of the rotation is the ball which is held in the ball handling system. The aim of this motion is to ensure that the ball is kept in place when doing the rotational motion. It can be seen in Figure 4 that in order to produce rotational motion to the right, motor B is off, and motor C rotates faster than motor A with the turning direction of motor A and C to the left. Whereas for the rotational motion to the left can be seen in Figure 5, motor A is off; then motor C rotates faster than motor B with the rotating direction of motor B and C to the right. In state 4, the ball handling system is always in active mode to keep the ball in place. If the speed of the ball-handling motor is too slow, the ball will easily loose; while if it is too fast, it will reduce the battery lifetime. G. Dewantoro et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 76 B. PID control of major driving motor The PID control system is used to set the PWM value of each major driving motor in order to accord its rotational speed with the specified set point [14]. This process is conducted by Arduino 1 with the set point value obtained from the calculation of each type of motion. The feedback is in the form of speed value in rpm of each major driving motor that was processed by Arduino 2. The PID algorithm is shown by the following equation: 𝑦(𝑡) =⁡𝐾𝑝 (𝑥(𝑡) + 1 𝑇𝑖 ∫ 𝑥(𝜏)𝑑𝜏 + 𝑡 0 ⁡𝑇𝑑 𝑑𝑥(𝑡) 𝑑𝑡 ) (9) where x(t) is the input of the PID controller, and y(t) is the output of the PID controller. To determine the coefficients Kp, Ti, Td, trial and error method was used [15]. The desired response is not in the form of underdamped response, e.g., no overshoot. Otherwise, the motor will rotate suddenly and the speed exceeds the set point value for some time. Fast rotation of the wheel at the beginning of the motion will lead the wheels to slip resulting from the motion errors. C. Ball-handling system The ball-handling system is used to catch and dribble the ball, and placed in the middle of the forepart of the robot with a width of 14 cm. It consists of two wheels motors that have a diameter of 3 cm, a width of 1.5 cm, and with a height of ±4/5 of the ball height. The ball-handling system works by rotating the active wheel to the inner direction of the robot. The right wheel rotates counter clockwise, and the left wheel rotates clockwise. Thus, when there is a ball attached to the wheel, the ball will be automatically stuck into the ball-handling area as shown in Figure 6 and 7. If the ball already gets into the ball-handling area, both of ball handling motors will decrease the rotational speed. The aim of reducing the speed of the ball- handling motor is to conserve battery life. The sensors that used to detect the ball in the ball handling area are the infrared sensors. III. Results and discussions A. PID control performance To obtain the desired control performance, some experiments are conducted to show the step responses using different PID parameters. It can be seen in Figure 8, the response of the PID system of the major driving motor with the value of Kp = 0.05, Ki = 0, and Kd = 0.01 is not an underdamped response. This result is in accordance with the expectation, which is no overshoot. B. Motionabilty 1) State 0 The experimental results show that all of the motors can stop successfully. At the time the robot activates state 0 while dribbling the ball, the handler parameter value must be ‘1’ so that the ball handling system can hold the ball securely. The average time needed to make the robot stop from its maximum speed is 0.26 seconds. 2) State 1 State 1 test is conducted by running robot with some heading parameter value as far as ± 3 meters at 10 times of attempts, then observing the movement direction error and facing direction error. The results are shown in Figure 9 and Figure 10 are the results of experiments carried out by using the parameter value of 220 rpm speed. These values are used in the game algorithm to navigate on the pitch. From the experimental results conducted as many as 10 times for each heading value, the robot motion is not always constant. The average error of the robot motion direction is 4.3°, and the direction of the robot is 4.8°. A slight slip occurred on the major driver becomes the cause of motion direction errors in the robot. Whereas, the error of the direction of the robot is likely because of the inertial force Figure 4. The right rotation Figure 5. The left rotation OFF B A C OFF A C B Figure 6. Ball-handling design (side view) Figure 7. Ball-handling design (top view) G. Dewantoro et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 77 exerted by the robot when suddenly stopped. The center of gravity of robots that are not at the center point of the robot also affects the inertial force felt by the robot so that it affected on the resulting movement. On the other hand, the maximum robot linear speed is 3.2 m/s when the speed parameter is set to 350 rpm. 3) State 2 Test of state 2 is carried out by calculating the time to make a full rotation at some heading values. To test whether there is a shift at the center point of the rotational movement, a line is made on the field at the outside of the robot wheel followed by the observation whether there is a shift or not. Table 2 shows that more positive or negative heading values lead to a shorter time required for the robot to perform a full rotation. This is because the heading parameter is used to set the robot's rotational speed. In addition to the observations made, there is no visible shift in the position of the wheels to the lines made. Therefore, it can be concluded that there is no shift at the center point of robot rotational movement. The fastest average time from five times robot attempts to do one full rotation is 2.88 seconds for right rotation and 2.92 seconds for left rotation. 4) State 3 In the game algorithm, this state is used to chase and take the ball as long as the robot can see the ball, with the ball position is not more than 18 cm to the right or to the left of the center point of the robot forepart. The test is done by placing the ball on the left or right side Figure 8. The response of PID system 0 50 100 150 200 250 300 350 400 1 4 7 1 0 1 3 1 6 1 9 2 2 2 5 2 8 3 1 3 4 3 7 4 0 4 3 4 6 4 9 5 2 5 5 5 8 6 1 6 4 6 7 7 0 7 3 7 6 7 9 8 2 8 5 8 8 9 1 9 4 9 7 1 0 0 M o to r S p e e d ( rp m ) Time (ms) Kp= 0,04 : Ki= 0 : Kd= 0 Kp= 0,05 : Ki= 0 : Kd= 0 Kp= 0,05 : Ki= 0 : Kd= 0,01 Kp= 0,06 : Ki= 0 : Kd= 0,01 Figure 9. The average error of motion direction 2.1 1 3.7 0.8 2.7 4.3 0.8 2.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 45 90 135 180 225 270 315 T h e E rr o r o f M o ti o n D ir e ct io n ( °) Heading Value (°) Table 2. Physical and electrical specifications Heading (°) The average time for the right rotation (s) The average time for the left rotation (s) 30 8.46 8.24 60 5.96 5.98 90 4.70 4.78 120 3.84 3.96 150 3.32 3.36 180 2.84 2.92 G. Dewantoro et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 78 of the robot as far as 5 cm and 18 cm from the center point of the robot forepart whereas the ball distance in front of the robot is varied from 15 cm to 300 cm. In overall, the success rate of state 3 to chase and catch the ball at a front distance of more than 15 cm is 100%. However, at a front distance of no more than 15 cm and the distance of the left or right side of the robot is 18 cm, is ending with an unsuccessful result. This is because the ball position is still too close to the forepart of the robot, so the ball hit the front side of the robot, which is not part of the ball-handling system. 5) State 4 Test of state 4 is carried out by making a circle line with a diameter of 15 cm on the field; then motions run for 5 seconds for both left and right rotation. Each test is done as many as 10 times with the position of the ball center point inside the circle line. It is then observed whether the ball center point is out of the circle line or not while and after rotating. Ten times experimental results for left and right rotation had shown 100% successful operations. The slight movement of the ball position can be caused by the value of the major driver speed that has not been precise, so the center of the robot’s rotational movement is not at the center point of the ball. Overall, this motion can be used to change the facing direction of the robot when carrying the ball. C. Dribbling test The dribbling test is carried out by using different motions, e.g., state 3 with heading 0° for forwarding dribble, and state 1 with heading 180° for the backward dribble. The value of the speed parameter is 220 rpm in accordance with that is used in the game algorithm. The test is conducted by carrying 10 times of attempts to dribble forward and backward and then observed whether the ball is detached from the robot while moving or stopping. From the 10 times of attempts conducted, the robot can dribble the ball forward and backward with a success rate of 100%. IV. Conclusion The use of state segregations for three omni- wheeled robots is suitable because of the capability to conduct many variations of motions. This segregation requires neither online nor offline path planning and gives relatively fast linear speed at 3.2 m/s. The results show that the robot is able to move in an omnidirectional way with the average error of the robot movement direction is 4.3°, and the average error facing the direction of the robot is 4.8°. The fastest average time for a robot to make a rotational motion is 2.84 seconds without any displacement from the pivot point. These results outperform the aforementioned motion planning methods in terms of time consumed when the robot moves along linear and curved trajectories. The robot can dribble the ball forward and backward successfully. The robot can change its facing direction while carrying the ball with a ball shift of less than 15 cm for 5 seconds. The ball-handling system is helpful to prevent the ball get disengaged from the robot grip so the robot can dribble accordingly. Slip on the main driver wheels might create inaccuracies of robot movement. Acknowledgement The authors would like to express sincere gratitude to Satya Wacana Christian University for the supports and making this research possible. References [1] S. Chikushi, T. Weerakoon, K. Ishii, T. Sonoda, “Motion analysis and control of the ball operation for dribbling action in robocup soccer robot,” in Proceeding of International Conference on Soft Computing and Intelligent Systems, Japan, 2016. [2] R.P.M. Chan, K.A. Stol, C.R. Halkyard, “Review of modeling and control of two-wheeled robots,” Annual Reviews in Control, vol. 37, no. 1, pp. 89-103, 2013. [3] Z. Jian, “Control improvement of soccer robot motion based on genetic algorithm,” Romanian Review Precision Mechanics, Optics & Mechatronics, vol. 50, pp. 281-285, 2016. Figure 10. The average error of facing direction 1.5 4.8 2.5 3 3.1 1.8 1.7 2 0 1 2 3 4 5 6 0 45 90 135 180 225 270 315 T h e E rr o r o f F a ci n g D ir e ct io n ( °) Heading Value (°) https://doi.org/10.1109/SCIS-ISIS.2016.0117 https://doi.org/10.1109/SCIS-ISIS.2016.0117 https://doi.org/10.1109/SCIS-ISIS.2016.0117 https://doi.org/10.1109/SCIS-ISIS.2016.0117 https://doi.org/10.1109/SCIS-ISIS.2016.0117 https://doi.org/10.1016/j.arcontrol.2013.03.004 https://doi.org/10.1016/j.arcontrol.2013.03.004 https://doi.org/10.1016/j.arcontrol.2013.03.004 https://search.proquest.com/openview/2179f62ddbb4e831e6dc9ac5e2d80f38/1?pq-origsite=gscholar&cbl=2035039 https://search.proquest.com/openview/2179f62ddbb4e831e6dc9ac5e2d80f38/1?pq-origsite=gscholar&cbl=2035039 https://search.proquest.com/openview/2179f62ddbb4e831e6dc9ac5e2d80f38/1?pq-origsite=gscholar&cbl=2035039 G. Dewantoro et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 79 [4] E. Hashemi, M. G. Jadidi, N. G. Jadidi, “Model-based PI–fuzzy control of four-wheeled omni-directional mobile robots,” Robotics and Autonomous Systems, vol. 59, no. 11, pp. 930-942, November 2016. [5] K. Tadakuma, R. Tadakuma, J. Berengeres, “Development of holonomic omnidirectional vehicle with “omni-ball”: Spherical wheels,” in Proceeding of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), USA, 2007. [6] K. Tadakuma, R. Tadakuma, “Mechanical design of "omni- ball": Spherical wheel for holonomic omnidirectional motion,” in Proceeding of IEEE International Conference on Automation Science and Engineering (CASE), USA, 2007. [7] S. Chikoshi, T. Weerakoon, T. Sonoda, K. Ishii, “Ball dribbling control for robocup soccer robot,” in Proceeding of International Conference on Artificial Life and Robotics. (ICAROB), Japan, 2017. [8] K. Kanjanawanishkul, “Omnidirectional wheeled mobile robots: wheel types and practical applications,” International Journal of Advanced Mechatronic Systems, vol. 6, no. 6, pp. 289-302, 2015. [9] A. S. Al-Ammri, I. Ahmed, “Control of omni-directional mobile robot motion,” Al-Khwarizmi Engineering Journal, vol. 6, no. 4, pp. 1-9, 2010. [10] E. J. Jung, B. J. Yi, “Motion planning algorithms of an omni- directional mobile robot with active caster wheels,” Intelligent Service Robotics, vol. 4, no. 3, pp. 167-180, 2011. [11] P. Raja and S. Pugazhenthi, “Optimal path planning of mobile robots: A review,” International Journal of Physical Sciences, vol. 7, no. 9, pp. 1314-1320, 2012. [12] Y. Liu, X. Wu, J. Zhu, and L. Lew, “Omni-directional mobile robot controller design by trajectory linearization,” in Proceeding of American Control Conference, USA, 2003. [13] F. Ribeiro, I. Moutinho, P. Silva, C. Fraga, N. Pereira, “Three omni-directional wheels control on a mobile robot,” Braga : Universidade do Minho, 2004. [14] G. Dewantoro, “Robust fine-tuned PID controller using Taguchi method for regulating DC motor speed,” in Proceeding of International Conference on Information Technology and Electrical Engineering (ICITEE), Thailand, 2015. [15] J. Han, “From PID to active disturbance rejection control,” IEEE Transactions on Industrial Electronics, vol. 56, no. 3, pp. 900-906, 2009. [16] https://doi.org/10.1016/j.robot.2011.07.002 https://doi.org/10.1016/j.robot.2011.07.002 https://doi.org/10.1016/j.robot.2011.07.002 https://doi.org/10.1016/j.robot.2011.07.002 https://doi.org/10.1109/iros.2007.4399560 https://doi.org/10.1109/iros.2007.4399560 https://doi.org/10.1109/iros.2007.4399560 https://doi.org/10.1109/iros.2007.4399560 https://doi.org/10.1109/iros.2007.4399560 https://doi.org/10.1109/iros.2007.4399560 https://doi.org/10.1109/iros.2007.4399560 https://doi.org/10.1109/iros.2007.4399560 https://www.semanticscholar.org/paper/Ball-Dribbling-Control-for-RoboCup-Soccer-Robot-Ishii/74a97ee83d076c0915847a68eceb637d93ce523e https://www.semanticscholar.org/paper/Ball-Dribbling-Control-for-RoboCup-Soccer-Robot-Ishii/74a97ee83d076c0915847a68eceb637d93ce523e https://www.semanticscholar.org/paper/Ball-Dribbling-Control-for-RoboCup-Soccer-Robot-Ishii/74a97ee83d076c0915847a68eceb637d93ce523e https://www.semanticscholar.org/paper/Ball-Dribbling-Control-for-RoboCup-Soccer-Robot-Ishii/74a97ee83d076c0915847a68eceb637d93ce523e https://doi.org/10.1504/ijamechs.2015.074788 https://doi.org/10.1504/ijamechs.2015.074788 https://doi.org/10.1504/ijamechs.2015.074788 https://doi.org/10.1504/ijamechs.2015.074788 https://www.iasj.net/iasj?func=fulltext&aId=2195 https://www.iasj.net/iasj?func=fulltext&aId=2195 https://www.iasj.net/iasj?func=fulltext&aId=2195 https://doi.org/10.1007/s11370-011-0089-4 https://doi.org/10.1007/s11370-011-0089-4 https://doi.org/10.1007/s11370-011-0089-4 https://doi.org/10.5897/ijps11.1745 https://doi.org/10.5897/ijps11.1745 https://doi.org/10.5897/ijps11.1745 https://doi.org/10.1109/acc.2003.1244061 https://doi.org/10.1109/acc.2003.1244061 https://doi.org/10.1109/acc.2003.1244061 http://ukacc.group.shef.ac.uk/proceedings/control2004/Papers/237.pdf http://ukacc.group.shef.ac.uk/proceedings/control2004/Papers/237.pdf http://ukacc.group.shef.ac.uk/proceedings/control2004/Papers/237.pdf https://doi.org/10.1109/iciteed.2015.7408936 https://doi.org/10.1109/iciteed.2015.7408936 https://doi.org/10.1109/iciteed.2015.7408936 https://doi.org/10.1109/iciteed.2015.7408936 https://doi.org/10.1109/tie.2008.2011621 https://doi.org/10.1109/tie.2008.2011621 https://doi.org/10.1109/tie.2008.2011621 G. Dewantoro et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 9 (2018) 73–80 80 This page is intentionally left blank