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
Mobile robots are complex and combined with many technologies as electronic components, sensors, actuators, controller design, information processing, and communication [1–3]. 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 [6–8].
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 [9–13].
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.
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.
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 (X_{R}, Y_{R}) and global reference frame (X_{I}, Y_{I}). Given r, l, θ, and ϕ̇_{1} and ϕ̇_{2} is the spinning speed of the right wheel and left wheel, respectively.
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
where: L = T − V 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:
The kinetic energy is expressed as:
where
T_{c}: the kinematic energy of a robot platform.
T_{w}_{R}: the kinematic of right wheel.
T_{w}_{L}: the kinematic of left wheel.
m_{c}: the mass of the robot platfrom without the wheel and motor.
m_{w}: the mass of wheel (including motor).
I_{c}: the moment of inertia of robot.
I_{w}: the moment of inertia of each driving wheel with a motor about the wheel axis.
I_{m}: the moment of inertia of each driving wheel with a motor about the wheel diameter.
All velocities of the coordinates are:
The coordinates of wheels can be determined as follow:
From
Using
where
m = m_{c} + 2m_{w}: total mass of the robot.
I = I_{c} + m_{c}d^{2} + 2m_{w}l^{2} + 2I_{m}: total inertial.
C_{1}, C_{2}, C_{3}, C_{4}, C_{5}: coefficients of kinematic constraints.
The matrix associated with the kinematic constraints:
From
where
M(q): an n×n symmetric positive definite inertia matrix.
V (q, q̇): the centripetal and coriolis matrix.
F(q̇): the surface friction.
G(q): the gravitational.
B(q): the input matrix.
τ : input vector.
τ_{d}: disturbances including unstructured dynamics.
B(q): the input matrix.
λ: the Lagrange multipliers vector.
Λ: the constraints matrix.
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 : {X_{I},Y_{I}} and the robot reference frame {X_{R},Y_{R}}, 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, θ}.
In the robot reference frame and the global reference frame, the position of any point on the robot can be defined as follows:
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:
This matrix can be used to map the motion in the global reference frame {X_{I},Y_{I}} to move in terms of the local reference frame {X_{R},Y_{R}}. The two coordinates are related by the following transformation:
A kinematic model would predict the robot’s overall speed in the global reference frame:
The linear velocity of each driving wheel in the robot frame is the average of the linear velocities of the two wheels.
And the angular velocities of the robot:
Combining these individual formulas yields a kinematic model for the differential-drive robot:
The wheel can contribute to sideways motion in the robot’s reference frame, and so ẏ_{R} is always zero.
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 (v_{d}), angular velocity (ω_{d}). The desired velocity (v_{d}), 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:
where [K_{p}_{min};K_{p}_{max}], [K_{i}_{min};K_{i}_{max}] and [K_{d}_{min};K_{d}_{max}] are the ranges of K_{p}, K_{i}, and K_{d}, 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 (K_{p}, K_{i}, K_{d}). 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 (x_{1}, y_{1}) and (x_{d}_{1}, y_{d}_{1}) are the actual robot position and desired robot position, respectively, where
d_{x}d is the desired robot speed in x axis.
d_{y}d is the desired robot speed in y axis.
v_{d}: the desired velocity.
ω_{d}: the desired angular velocity.
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.
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.
No potential conflict of interest relevant to this article was reported.
Model of mobile robot with differential drive.
Block diagram of robot’s model and fuzzy-PID controller.
The fuzzy-PID controller of mobile robot.
Structure of fuzzy controller.
Block diagram of fuzzy-PID control using MAT-LAB/Simulink.
Membership functions of input and output. (a) ‘
Distance error of mobile robot by PID controller.
Distance error of mobile robot by fuzzy-PID controller.
Position
Position
Tracking by PID controller.
Tracking by fuzzy-PID controller.
Fuzzy rule table for
NB | NS | Z | PS | PB | |
---|---|---|---|---|---|
VB/S/S | VB/M/S | S/M/VB | S/M/B | M/S/S | |
VB/B/S | B/B/S | S/B/B | S/B/B | B/B/S | |
B/B/S | M/B/M | S/VB/B | S/VB/M | VB/VB/S | |
M/B/M | S/B/B | S/B/B | M/B/S | VB/B/S | |
S/S/M | S/S/VB | S/M/VB | B/M/S | VB/S/S |
E-mail: dotiep84@gmail.com
Email: knlee@mokpo.ac.kr
E-mail: dylim@kitech.re.kr
E-mail: bwkwak11@kitech.re.kr
E-mail: yjryoo@mokpo.ac.kr