search for




 

Design of Fuzzy-PID Controller for Path Tracking of Mobile Robot with Differential Drive
International Journal of Fuzzy Logic and Intelligent Systems 2018;18(3):220-228
Published online September 25, 2018
© 2018 Korean Institute of Intelligent Systems.

Do Khac Tiep, Kinam Lee, Dae-Yeong Im, Bongwoo Kwak, and Young-Jae Ryoo

1Department of Electric and Control Engineering, Mokpo National University, Jeonnam, Korea, 2EV Components & Materials R&D Group, Korea Institute of Industrial Technology, Gwangju, Korea
Correspondence to: Young-Jae Ryoo (yjryoo@mokpo.ac.kr)
Received May 28, 2018; Revised September 3, 2018; Accepted September 22, 2018.
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract

In this paper, a design of a fuzzy-PID controller for path tracking of a mobile robot with differential drive is proposed. The fuzzy-PID controller consists of a PID controller and a fuzzy controller with two inputs and three outputs. When the system response has the error and the error rate, the fuzzy controller can tune the parameters of the PID controller. The model based on Lagrange dynamic approach for a robot with differential drive is described. The fuzzy-PID controller and the classical PID controller are compared by simulation. The path tracking of a mobile robot with differential drive was tested using MATLAB/Simulink. The simulation results show that the fuzzy-PID controller has a better performance than the classical PID controller. The proposed controller has better convergence rate in comparison with the classical PID controller for a mobile robot with any arbitrary initial state. It has the advantages of rapid respond, high stability, tracking accuracy and good anti-interference, so the fuzzy-PID controller is the appropriate choice for path tracking control of mobile robots with differential drive

Keywords : Differential drive, Mobile robot, Path tracking, Fuzzy-PID controller, MATLAB/Simulink
1. Introduction

Mobile robots are complex and combined with many technologies as electronic components, sensors, actuators, controller design, information processing, and communication [13]. In the process of design and development of mobile robot, the controller is an important role because working ability of a mobile robot depends on the controllers performance. The key issue in the control of a mobile robot is the stabilization and the tracking control. The path tracking control makes the robot track the desired path given by geometric parameters [4, 5]. In the motion control of a mobile robot, the tracking control is essential because the mobile robot is required to move at a certain location in a certain time [68].

In recent years, many controllers have been designed to control mobile robots. Among several control method, the PID controller used widely in the robot field. By using PID control, both stability and tracking control can be achieved but accuracy is not high. Fuzzy logic control for autonomous vehicle has gained significant popularity in the last decades due to its highly successful implementation in almost all fields.

The most well-known arguments supporting fuzzy controllers are the ability to cope with imprecise information in heuristic rule-based knowledge, the interpolative nature of the fuzzy controllers, and the flexibility in the definition of non-linear control laws [913].

In this paper, a design of a fuzzy-PID controller for path tracking of a mobile robot with differential drive is proposed. The fuzzy-PID controller consists of a PID controller and a fuzzy controller with two inputs and three outputs. When the system occurs the error and the error rate, the fuzzy controller will tune the parameters of the PID controller. The model of a mobile robot with differential drive based on Lagrange dynamic approach is described [14]. The fuzzy-PID controller and the classical PID controller are compared by the simulation. The path tracking of a mobile robot with differential drive was tested using MATLAB/Simulink. The simulation results show that the fuzzy-PID controller has a better performance than the classical PID controller. The proposed controller has better convergence rate in comparison with the classical PID controller for a mobile robot with any arbitrary initial state. It has the advantages of rapid respond, high stability, tracking accuracy and good anti-interference, so the fuzzy-PID controller is the appropriate choice for path tracking control of mobile robots with differential drive.

2. Mobile Robot with Differential Drive

2.1 Configuration

In this paper, the configuration of a mobile robot with differential drive is used. In this configuration, the robot is equipped with two motors independently which connected two wheels on a common axis. The model of differential drives mobile robot includes a chassis with two wheels mounted on the same axis. Additionally, robots chassis has caster wheels which do not affect to robot’s motion included in resistance coefficients acting against the motion.

2.2 Model of Mobile Robot with Differential Drive

The mobile robot with differential drive has two wheels, each wheel with diameter 2r. Given a point P centered between the two drive wheels, a distance from each wheel to a point P is l. θ is the angular between robot reference frame (XR, YR) and global reference frame (XI, YI). Given r, l, θ, and ϕ̇1 and ϕ̇2 is the spinning speed of the right wheel and left wheel, respectively.

2.2.1 Dynamic model

To simulate the motion and design of motion control algorithms of the mobile robot, we need to know the dynamic model of the mobile robot with differential drive. This can be done based on the Lagrange dynamic approach, which Lagrange introduced systematically derive the equations of robots motion [4], [15]. Lagrange dynamic is the most well-known for formulating the equations of mobile robots motion.

The Lagrange equation is given by Eq. (1):

ddt(Lq˙i)+Lq˙i=F-ΛT(q)λ,

where: L = TV is the Lagrangian function; q are the generalized coordinates; T is the kinematic energy of robot; F is the generalized force; V is the potential energy.

The q are selected as:

q=[xpypθϕRϕL]T.

The kinetic energy is expressed as:

Tc=12mcvc2+12Icθ˙2,TwR=12mwvw2+12Imθ˙2+12Iwϕ˙R2,TwL=12mwvw2+12Imθ˙2+12Iwϕ˙L2.

where

  1. Tc: the kinematic energy of a robot platform.

  2. TwR: the kinematic of right wheel.

  3. TwL: the kinematic of left wheel.

  4. mc: the mass of the robot platfrom without the wheel and motor.

  5. mw: the mass of wheel (including motor).

  6. Ic: the moment of inertia of robot.

  7. Iw: the moment of inertia of each driving wheel with a motor about the wheel axis.

  8. Im: the moment of inertia of each driving wheel with a motor about the wheel diameter.

All velocities of the coordinates are:

vi2=x˙i2+y˙i2.

The coordinates of wheels can be determined as follow:

{xwR=xp+lsin θ,ywR=yp+lcos θ,{xwL=xp-lsin θ,ywL=yp+lcos θ.

From Eq. (3) to (8) total kinematic energy of the robot can be determined:

T=12(mc+2mw)(x˙p2+y˙p2)-mcdθ˙(y˙acos θ-x˙asin θ)+12Iθ˙2+12Iw(ϕ˙R2+ϕ˙L2).

Using Eq. (1) with the Lagrangian function, L = T, the equations of robot’s motion are given by:

mx¨p-mdθ¨sin θ-mdθ˙2cos θ=C1,my¨p-mdθ¨cos θ-mdθ˙2sin θ=C2,Iθ¨-mdx¨psin θ+mdy¨pcos θ=C3,Iwϕ¨R=τR+C4,Iwϕ¨L=τL+C5,

where

  1. m = mc + 2mw: total mass of the robot.

  2. I = Ic + mcd2 + 2mwl2 + 2Im: total inertial.

  3. C1, C2, C3, C4, C5: coefficients of kinematic constraints.

The matrix associated with the kinematic constraints:

ΛT(q)=[C1C2C3C4C5].

From Eqs. (10) to (14) the motion of robot can be represented by Eq. (16)

M(q)q¨+V(q,q˙)+F(q˙)+G(q)+τd=B(q)τ-ΛT(q)λ,

where

  1. M(q): an n×n symmetric positive definite inertia matrix.

  2. V (q, ): the centripetal and coriolis matrix.

  3. F(): the surface friction.

  4. G(q): the gravitational.

  5. B(q): the input matrix.

  6. τ : input vector.

  7. τd: disturbances including unstructured dynamics.

  8. B(q): the input matrix.

  9. λ: the Lagrange multipliers vector.

  10. Λ: the constraints matrix.

2.2.2 Kinematic model

The mobile robot with differential drive operates on a horizontal plane which is performed by three components that are the position of the robot and the angular difference between the global and local reference frames [16].

The position of the robot is a relationship between the global reference frame O : {XI,YI} and the robot reference frame {XR,YR}, as in Figure 1. The position of P in the global reference frame is specified by coordinates x and y, and the angular difference between the global and robot reference frames is given by θ. We can describe the pose of the robot as a vector with these three elements {x, y, θ}.

ξI=[xyθ].

In the robot reference frame and the global reference frame, the position of any point on the robot can be defined as follows:

ξ˙I=[x˙y˙θ˙]and ξ˙R=[x˙Ry˙Rθ˙R]

are the coordinates of the given point in the global reference frame (ξ̇I) and robot reference frame (ξ̇R).

To describe robot motion will be necessary to map the motion along the axes of the global reference frame to move along the axes of the robot reference frame. The mapping is a function of the current pose of the robot. This mapping is accomplished using the orthogonal rotation matrix:

R(θ)=[cos θsin θ0-sin θcos θ0001].

This matrix can be used to map the motion in the global reference frame {XI,YI} to move in terms of the local reference frame {XR,YR}. The two coordinates are related by the following transformation:

ξ˙R=R(θ)ξ˙I.

A kinematic model would predict the robot’s overall speed in the global reference frame:

ξ˙I=[x˙y˙θ˙]=f(l,r,θ,ϕ˙1,ϕ˙2).

The linear velocity of each driving wheel in the robot frame is the average of the linear velocities of the two wheels.

v=vR+vL2=r.ϕ˙1+r.ϕ˙22.

And the angular velocities of the robot:

ω=vR-vL2l=r.ϕ˙1-r.ϕ˙22l.

Combining these individual formulas yields a kinematic model for the differential-drive robot:

ξ˙I=R(θ)-1ξ˙R=R(θ)-1[rϕ˙1+rϕ˙220rϕ˙1-rϕ˙22l].

The wheel can contribute to sideways motion in the robot’s reference frame, and so R is always zero.

3. Design of Controller

The controller design has two part. The first part is based on the inverse kinematics and the second part is the fuzzy-PID controller.

To ensure the stability and accuracy of the whole control system, we design a fuzzy-PID controller for a differential drive mobile robot. Figure 2 shows the block diagram of the overall system. The kinematic controller is received the desired value of position from the reference trajectory then the kinematic controller will calculate the desired velocity (vd), angular velocity (ωd). The desired velocity (vd), angular velocity (ωd) are fed into the differential drive mobile robot dynamics. The mobile robot dynamics will use those values to generate the actual velocity (v) and angular velocity (ω) command.

To determine the control, the parameters use the PID gains online [10, 14]. The modified controller gains are given by linear transformation as follows:

Kp=(Kpmax-Kpmin)Kp+Kpmin,Ki=(Kimax-Kimin)Ki+Kimin,Kd=(Kdmax-Kdmin)Kd+Kdmin

where [Kpmin;Kpmax], [Kimin;Kimax] and [Kdmin;Kdmax] are the ranges of Kp, Ki, and Kd, respectively which determined by experience.

Mamdani type fuzzy inference mechanism is applied to the proposed fuzzy controller in this paper [14, 17]. The input of fuzzy-PID controller is the error (e) and change in error (ce). The fuzzy controller rules used to adjust the parameters of PID controller. The self-tuning the PID controller will find the fuzzy relationship between the three component of the PID controller [2].

In the fuzzy-PD controller, for choosing the variables of error (e) and change in error (ce), we set five fuzzy input values: negative big (NB), negative small (NS), zero (Z), positive small (PS), positive big (PB). Four output values are chosen: very big (VB), big (B), medium (M), small (S) (Table 1).

In this paper, the fuzzy-PID controller includes two input (e(t), ce(t)) and three output (Kp, Ki, Kd). It is applied to determine a parameter of PID controller with the membership function of a triangle form. The ranges of these membership function are determined by experience. The membership function of all output and input are described by Figure 6.

Figure 5 depicts a fuzzy adaptive control strategy with (x1, y1) and (xd1, yd1) are the actual robot position and desired robot position, respectively, where

  1. dxd is the desired robot speed in x axis.

  2. dyd is the desired robot speed in y axis.

  3. vd: the desired velocity.

  4. ωd: the desired angular velocity.

4. Simulation

We performed the simulation with MATLAB/Simulink. Desired trajectory is given by a circle with radius = 1.

As being expected, the same scaling is ensured for the same type of results with different control scheme where possible.

For implementation test, the results from Figure 7 to Figure 12 show differences between the classical PID controller and the fuzzy-PID controller. Additionally, we can see big difference between the classical PID controller and the fuzzy-PID controller.

The results of two methods for distance error are shown in Figures 7 and 8. From these figures, we can see distance error of the mobile robot with the classical PID controller is greater than the fuzzy-PID controller. From Figures 9 and 10, we can see, the distance error of the mobile robot by the PID controller has approximately 0.01 (m) and time response is 25 (s), while the distance error of the mobile robot by the fuzzy-PID controller is approximately 0.004 (m) and time response is 10 (s).

From Figures 8, 10, and 12 clearly can understand that by using the fuzzy system for tuning the PID gains the performances improved. The overshoot in path tracking is less than that by the classical PID controller.

Figures 8, 10, and 12 depict the trajectory of the mobile robot by applying the proposed fuzzy-PID controller. As expected, the design methodology makes the mobile robot track the desired path in a satisfactory way. We can see the actual path (blue line) almost matches the desired path (red line). The path tracking error by the fuzzy-PID controller achieves a much smaller value, in comparison with the PID controller.

5. Conclusion

In this paper, a design of fuzzy-PID controller for path tracking of a mobile robot with differential drive was proposed. The dynamic and kinematic model for a mobile robot with differential drive based on Lagrange dynamic approach is described. The proposed fuzzy-PID controller combined a PID controller and a fuzzy controller with two inputs and three outputs. When the system occurs the error and the error rate, the fuzzy controller tuned the parameters of the PID controller. The designed fuzzy-PID controller was applied to the model of a mobile robot with differential drive. The fuzzy-PID controller and the classical PID controller were compared by the simulation. The path tracking of a mobile robot with differential drive was tested using Matlab/Simulink. In the simulation, the fuzzy-PID controller has a better performance than the classical PID controller. The advantage of the fuzzy-PD controller is eliminating overshoots than the big overshoots in the classical PID controller is. The fuzzy-PID controller made smaller response time than that of the classical PD controller.

Conflict of Interest

No potential conflict of interest relevant to this article was reported.

Conflict of Interest

No potential conflict of interest relevant to this article was reported.


Figures
Fig. 1.

Model of mobile robot with differential drive.


Fig. 2.

Block diagram of robot’s model and fuzzy-PID controller.


Fig. 3.

The fuzzy-PID controller of mobile robot.


Fig. 4.

Structure of fuzzy controller.


Fig. 5.

Block diagram of fuzzy-PID control using MAT-LAB/Simulink.


Fig. 6.

Membership functions of input and output. (a) ‘e’, (b) ‘ce’, (c) ‘Kp’, (d) ‘Ki’, (e) ‘Kd’.


Fig. 7.

Distance error of mobile robot by PID controller.


Fig. 8.

Distance error of mobile robot by fuzzy-PID controller.


Fig. 9.

Position x and y axes by PID controller.


Fig. 10.

Position x and y axes by fuzzy-PID controller.


Fig. 11.

Tracking by PID controller.


Fig. 12.

Tracking by fuzzy-PID controller.


TABLES

Table 1

Fuzzy rule table for KP/KI/KD

e/ceNBNSZPSPB
NBVB/S/SVB/M/SS/M/VBS/M/BM/S/S
NSVB/B/SB/B/SS/B/BS/B/BB/B/S
ZB/B/SM/B/MS/VB/BS/VB/MVB/VB/S
PSM/B/MS/B/BS/B/BM/B/SVB/B/S
PBS/S/MS/S/VBS/M/VBB/M/SVB/S/S

References
  1. Beom, HR, and Cho, HS (). A sensor-based navigation for a mobile robot using fuzzy-logic and reinforcement learning. IEEE transactions on Systems, Man, and Cybernetics. 25, 464-477. https://doi.org/10.1109/21.364859
  2. Xu, G, and Tan, M (2001). Development status and trend of mobile robot. Robot Technique and Application. 3, 7-13.
  3. Siegwart, R, and Nourbakhsh, IR (2004). Introduction to Autonomous Mobile Robots. Cambridge, MA: MIT Press
  4. De Wit, CC, and Roskam, R 1991. Path following of a 2-DOF wheeled mobile robot under path and input torque constrains., Proceedings of IEEE International Conference on Robotics and Automation, Sacramento, CA, Array, pp.1142-1147. https://doi.org/10.1109/ROBOT.1991.131749
  5. Wu, SF, Mei, JS, and Niu, PY (2001). Path guidance and control of a guided wheeled mobile robot. Control Engineering Practice. 9, 97-105. https://doi.org/10.1016/S0967-0661(00)00070-8
    CrossRef
  6. Watanabe, K . Control of an omnidirectional mobile robot., Proceedings of the 2nd International Conference on Knowledge-Based Intelligent Electronic Systems, 1998, Adelaide, Australia, Array, pp.51-60. https://doi.org/10.1109/KES.1998.725827
  7. Parhi, DR, and Kundu, S (2011). A hybrid fuzzy controller for navigation of real mobile robot. International Journal of Applied Artificial Intelligence in Engineering System. 3, 19-33.
  8. Parhi, DR (2005). Navigation of mobile robots using a fuzzy logic controller. Journal of Intelligent and Robotic Systems. 42, 253-273. https://doi.org/10.1007/s10846-004-7195-x
    CrossRef
  9. Lee, CS, Braunl, T, and Zaknich, A . A rough-fuzzy controller for autonomous mobile robot navigation., Proceedings of the 3rd International IEEE Conference on Intelligent Systems, 2006, London, UK, Array, pp.679-682. https://doi.org/10.1109/IS.2006.348501
  10. Tiep, DK, and Ryoo, YJ (2017). An autonomous control of fuzzy-PD controller for quadcopter. International Journal of Fuzzy Logic and Intelligent Systems. 17, 107-113. https://doi.org/10.5391/IJFIS.2017.17.2.107
    CrossRef
  11. Rohan, A, Rabah, M, Nam, KH, and Kim, SH (2018). Design of fuzzy logic based controller for gyroscopic inverted pendulum system. International Journal of Fuzzy Logic and Intelligent Systems. 18, 58-64. https://doi.org/10.5391/IJFIS.2018.18.1.58
    CrossRef
  12. Rabah, M, Rohan, A, and Kim, SH (2018). Comparison of position control of a gyroscopic inverted pendulum using PID, fuzzy logic and fuzzy PID controllers. International Journal of Fuzzy Logic and Intelligent Systems. 18, 103-110. https://doi.org/10.5391/IJFIS.2018.18.2.103
    CrossRef
  13. Park, SH, Kim, KW, Choi, WH, Jie, MS, and Kim, YI (2016). The autonomous performance improvement of mobile robot using type-2 fuzzy self-tuning PID controller. Advanced Science and Technology Letters. 138, 182-187. https://doi.org/10.14257/astl.2016.138.37
    CrossRef
  14. Parhi, DR, and Singh, MK (2008). Intelligent fuzzy interface technique for the control of an autonomous mobile robot. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science. 222, 2281-2292. https://doi.org/10.1243/09544062JMES955
  15. Stanford Encyclopedia of Philosophy. (2016) . Fuzzy logic. Available: https://plato.stanford.edu/entries/logicfuzzy/
  16. Ziegler, JG, and Nichols, NB (1942). Optimum settings for automatic controllers. Transactions of the ASME. 64, 759-768.
  17. Pratihar, DK, Deb, K, and Ghosh, A . Fuzzy-genetic algorithms and mobile robot navigation among static obstacles., Proceedings of the 1999 Congress on Evolutionary Computation, 1999, Washington, DC, Array, pp.327-333. https://doi.org/10.1109/CEC.1999.781943
Biographies

Do Khac Tiep received his B.S. degree from Department of Electrical and Electronics, Vietnam Maritime University, Haiphong, Vietnam in 2009. He received M.S. degree of Vietnam Maritime University in 2012. From 2009 to 2015, he was a teacher at Vietnam Maritime University. Since 2016, he has been studying doctor course in the Department of Control Engineering and Robotics, Mokpo National University, Korea.

E-mail: dotiep84@gmail.com


Kinam Lee Lee received his B.S. degree from the department of Control Engineering and Robotics, and M.S. and Ph.D degrees from the department of Electrical Engineering of Mokpo National University, in 2011, 2013, and 2018 respectively. He is currently working as a post-doctoral researcher at the iSL(intelligent Space Laboratory), Mokpo National University. His research interests include mechanical design, development and walking of robot and humanoid.

Email: knlee@mokpo.ac.kr


Dae-Yeong Im received his Ph.D,, M.S., and B.S. degree in the Department of Control System Engineering, Mokpo National University, Korea in 2002, 2004, and 2008 respectively. He is currently a senior researcher for Automotive Components & Materials R&D Group, the Korea Institute of Industrial Technology (KITECH), Korea form 2009, From 2009 to current, he is currently a board member of Korean Institute of Intelligent Systems. His research interests are automated guided vehicle (AGV), intelligent system, unmanned driving system, robotic vehicle, and mobile robot.

E-mail: dylim@kitech.re.kr


Bongwoo Kwak received his B.S. and M.S. degrees in the Department Electrical Engineering, Mokpo National University, Korea, in 2010 and 2012, respectively. He is currently a candidate of Ph.D. degree in the Department of Electrical Engineering, Chungnam National University, Daejeon, Korea. He is currently working as a junior researcher at Korea Institute of Industrial Technology, Gwangju, Korea. His research interests include the analysis, design, control, and optimization of power electronic converters and battery system.

E-mail: bwkwak11@kitech.re.kr


Young-Jae Ryoo received his Ph.D, M.S. and B.S. degrees in the Department of Electrical Engineering, Chonnam National University, Korea in 1998, 1993, and 1991, respectively. He was a visiting researcher in North Carolina A&T State University, USA, in 1999. He was a visiting professor in the Department of Mechanical Engineering, Virginia Tech, USA from 2010 to 2012. He is currently a professor in the Department of Control Engineering and Robotics, Mokpo National University, Korea from 2000. He also served as a director with the intelligent space laboratory in Mokpo National University, where he is responsible for the research projects in the area of intelligence, robotics and vehicles. He is currently a board member of Korean Institute of Intelligent Systems from 2002, an editor for the Journal of Korean Institute of Electrical Engineering from 2010, an editor for the Journal of Fuzzy Logic and Intelligent Systems from 2009, and a committee member of the International Symposium on Advanced Intelligent Systems from 2005. He served as a general chair of International Symposium on Advanced Intelligent System in 2015. He won the outstanding paper awards, the best presentation awards, and the recognition awards in International Symposiums on Advanced Intelligent Systems. He is the author of over 200 technical publications. His research interests include intelligent space, humanoid robotics, legged robotics, autonomous vehicles, unmanned vehicles, wheeled robotics and biomimetic robotics.

E-mail: yjryoo@mokpo.ac.kr