Professional Documents
Culture Documents
net/publication/317612157
CITATIONS READS
2 1,015
4 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Mohamed Elsayed on 16 June 2017.
ABSTRACT into on of six categories [1]: (1) backstepping [2], [3]; (2) lin-
earization [4]; (3) sliding mode [5]; (4) fuzzy systems [6], [7]; (5)
An important issue in robotics research is path tracking control neural networks [8]; and (6) neurofuzzy systems [9].
where the robot is required to follow a certain path. The error be-
tween the desired path and the actual path is to converge to zero. In this paper, the kinematics and the dynamic model of a
This problem is more complicated when the robot dynamics is con- differential drive wheeled mobile robot (DDWMR) is presented.
sidered. This paper proposes a real time trajectory tracking con- This model itself is used as a motion controller in a closed loop
trol for a differential drive wheeled mobile robot (DDWMR) in control scheme. In the absence of workspace obstacles, the basic
obstacle-free environment. The robot is guided to follow certain motion tasks assigned to the mobile robots may be reduced
reference path with a pre-calculated velocity profile. The controller to moving between two robot postures and following a given
design and analysis of the system stability are guaranteed using trajectory. Also at the end of the paper a brief comparison with the
Lyapunov stability theory. The dynamic model of real DDWMR backstepping controller will be introduced.
is derived and used in the LabVIEW simulation environment for
testing the validity of designed controller. The obtained simulation This paper is organized as follows: in section II the basic
results illustrate the success of the proposed controller. Also to Test structure, kinematic and dynamic modeling of differential drive
the effectiveness of proposed controller, a comparison study with a wheeled mobile robot (DDWMR) are exposed. The proposed
widely used backstepping based controller is performed. control architecture is introduced in Section III. Simulation results
are shown in section IV. In section V we will compare our obtained
Keywords results with backstepping based controller. Finally, we conclude
Trajectory tracking, nonholonomic robots, dynamic Modeling, dif- the paper in Section VI.
ferential drive, Lyapunov stability, mobile robot
1
International Journal of Computer Applications (0975 - 8887)
Volume 168 - No.11, June 2017
2R
A(p)ṗ = 0 , (11)
where Ap is the constraints matrix and it will be used in the deriva-
tion of the dynamic model.
x
xr
2.3 Kinematic Model
Fig. 1. Differential Drive wheeled Mobile Robot For the DDWMR, the primary motivation behind kinematic is to
obtain the robot speeds as a function of the driving wheels speeds.
reference frame is symbolized as
The linear and angular speeds of the DDWMR in the vehicle frame
T can be calculated as
pr = x y θ , (1)
vR + vL (ϕ̇R + ϕ̇L )
and in vehicle frame as v= =R , (12)
T 2 2
pv = xv yv θv . (2)
and
The transformation of robot configuration from vehicle frame to vR − vL (ϕ̇R − ϕ̇L )
reference frame can be done through the following transformation ω= =R . (13)
2L 2L
pr = R(θ)pv , (3) Then the linear and the angular speeds of the DDWMR in the ref-
where: erence frame can be calculated as follows
cos θ − sin θ 0 (ϕ̇R + ϕ̇L )
ẋ = v cos θ = R cos θ , (14)
R(θ) = sin θ cos θ 0 . (4) 2
0 0 1
(ϕ̇R + ϕ̇L )
2.2 Nonholonomic Constraints ẏ = vsinθ = R sin θ , (15)
2
Some assumptions and constraints must be declared Before pro-
ceeding with kinematic and dynamic model of DDWMR (ϕ̇R − ϕ̇L )
θ̇ = ω = R . (16)
(1) The robot motion is on a flat surface, meaning zero potential 2L
energy, Now consider a DDWMR at certain position (x, y, θ) which has a
(2) No lateral slip movement: This means that the robot center non-zero distance with the desired position (xd , yd , δ) as shown in
point velocity will be in the direction of the x-axis of vehicle Fig.2.
frame and that the motion in the y-axis of vehicle frame will
be zero. Since the motion in the y-axis of vehicle frame will be yr
zero, then
ẏv = 0 . (5) б
yd
Using the transformation matrix to represent this constraints in
the reference frame, so Desired position
ℓ
ẋ
ẋv cos θ sin θ 0
ẏ
v = − sin θ cos θ 0 ẏ . (6)
θ̇v 0 0 1 θ̇ 䪽
y θ
So we can represent this constraint in reference frame as fol-
lowing
Current position
−ẋ sin θ + ẏ cos θ = 0 . (7)
x xd xr
(3) The second constraint is pure rolling without slipping, then
each wheel touches the ground in single point. The pure rolling
Fig. 2. Current and Goal Positions of robot
constraint is formulated as [10]
ẋ cos θ + ẏ sin θ + Lθ̇ = RωR , (8) The robot can be represented in polar coordinates involving error
distance
q
ẋ cos θ + ẏ sin θ − Lθ̇ = RωL . (9) ` = (xd − x)2 + (yd − y)2 , (17)
2
International Journal of Computer Applications (0975 - 8887)
Volume 168 - No.11, June 2017
3
International Journal of Computer Applications (0975 - 8887)
Volume 168 - No.11, June 2017
where: ℓ υ τR υ
trajectory
T Path
Pd Error Dynamic Kinematic
tracking
M̄ (p) = Q (p)M (p)Q(p) (42) generator
calculator
䪽 controller ω
PID τ
L
model model
" # Eq. 18, 19 Eq. 45, 46 ω Eq. 14 - 16
R2 2 R2 2 Eq. 50 , 51
Iw + 4L2 (mL + I) 4L2
(mL − I)
= R2 2 R2
,
4L2
(mL − I) Iw + 4L2
(mL2 + I)
P
T T
V̄ (p, ṗ) = Q (p)M (p)Q̇(p) + Q (P )V (p, ṗ)Q(p) (43)
" # Fig. 3. Tracking controller system architecture.
R2
0 2L
m f aθ̇
= 2 ,
−R
2L
mf aθ̇ 0 It is clear that V > 0 and that V = 0 only if there is no error in
robot posture, then V is appositive definite function. By taking the
time derivative of Lyapunov function, we have
B̄(p) = QT (p)B(p) (44)
V̇ = ``˙ + ψ ψ̇ (48)
1 0
= .
0 1 If we substitute for `˙ and ψ̇ from model equation (19)
Or we can write the equation in terms of v and ω as in the following v sin(ψ)
form V̇ = `(−v cos(ψ)) + ψ( − ω) (49)
`
2 (τR + τL ) Then we can choose the driving velocities to be
(m + Iw )v̇ − amf ω 2 = , (45)
R2 R
v = k` ` cos(ψ) (50)
2L2 L(τR − τL )
(I + Iw )ω̇ + amf vω = . (46)
R2 R ω = k` sin(ψ) cos(ψ) + kψ tanh(kψ ψ) (51)
Equations 45 and 46 are used to simulate our real robot whose dy- Where k` and kψ are positive numbers, then the derivative of the
namic parameters are listed in Table 1. Lyapunov function will be in the form of
Table 1. Robot dynamic model parameters V̇ = −k` `2 cos2 (ψ) − kψ ψ tanh(kψ ψ) (52)
Parameter Value (unit) Description It is clear that the derivative of the Lyapunov function V is a nega-
L 10 cm The distance between the drive wheel tive function, then the point eP = 0 is asymptotically stable.
and the axis of symmetry.
R 7.5 cm Wheel radius. 4. SIMULATION RESULTS
a 5 cm The distance between the center of mass
In this section the performance of proposed controller is tested us-
and drive wheel axis.
ing NI-LabVIEW control design and simulation toolkit. In the fol-
m 6 kg Total robot weigh with onboard load.
lowing subsections we will show some of the results that prove the
mf 4 kg Robot frame weigh.
stability and convergence of used controller. The controller param-
I 5 kg.m2 Mass moment of inertia about the center
eters are chosen as: k` = 2, kψ = 3. The sampling time is set to
of mass c.
0.001 second.
Iw 0.005 kg.m2 Inertial moment of the motors and wheels
about the wheel axis. 4.1 Go to Goal
The desired goal for the robot is described as xd = 3 and xd = 4.
Goal point is sent to controller which directs the vehicle towards
3. TRACKING PROBLEM AND CONTROL the goal. The robot starts at (-1, 0, 0). Then the error at t = 0 is
T
ALGORITHM eP = 4 4 π/4 . Fig. 4 shows the result of go to goal simula-
In this section the control algorithm that we will use in this pa- tion. Fig. 4.A shows the tracking performance of the robot in xy-
per is derived. The role of the control algorithm is to enable the plan. Fig. 4.B shows the tracking errors in x, y directions and in
robot to go to the desired goal and follow the target trajectory. orientation. Fig. 4.C shows the controller output (linear and angu-
That is achieved by using the posture error to provide the robot lar velocities).
with the reference linear and angular velocities. The description of
tracking problem can be described as follows. Given the desired
4.2 Path Tracking
T
robot posture pd = xd yd δ while the robot currently is at 4.2.1 Circular Path Tracking. The desired goal for the robot is
x y θ
T to follow the path described as xd = 1 + sin t and yd = 1 − cos t,
p= and the controller must generate the linear and
or in general (xd − 1)2 + (yd − 1)2 = 1 . The robot starts at (-1,
the angular velocities such that lim p = pd . A general structure for T
t→∞ -1, 0) with initial error eP = 2 1 0 . Fig. 5 shows the result
the tracking control system is presented in Fig. 3. of circular path tracking simulation. Fig. 5.A shows the tracking
To grantee the convergence and the stability of our controller, a performance of the robot in xy-plan. Fig. 5.B shows the controller
Lyapunov function candidate is chosen as output (linear and angular velocities). Fig. 5.C shows the desired
`2 ψ2 and the actual values of x. Fig. 5.D shows the desired and the actual
V = V1 + V2 = + (47) values of y.
2 2
4
International Journal of Computer Applications (0975 - 8887)
Volume 168 - No.11, June 2017
5 3.5
8
A Goal A Actual path B υ
3
4 Target path
Controller output
6 ω
2.5
y (meter)
3
(meter)
2 4
2 1.5
2
y
1 1
0.5 0
0
start point 0
-1 -2
-2 -1 0 1 2 3 4 5 -0.5
x (meter) -1 -4
-1 -0.5 0 0.5 1 1.5 2 2.5 3 0 2 4 6 8 10 12 13
5
xd - x 0.5 x (meter) Time (sec)
B C υ
4 yd - y 0.4 ω 3 3
Controller output C xd D yd
б- θ x
3 y
y (meter)
x (meter)
0.3 2 2
Error
2 0.2
1 1
1 0.1
0 0
0 0
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Time (sec) Time (sec) -1 -1
0 2 4 6 8 10 12 13 0 2 4 6 8 10 12 13
Time (sec) Time (sec)
Fig. 4. Go to goal. A: The tracking performance; B: The tracking errors in
x and y directions, and in orientation; C: The linear and angular velocities. Fig. 6. Simulation tracking for Figure eight path. A: The tracking per-
formance; B: The linear and angular velocities; C, D: The desired and the
3
Actual path 7
actual values of x and y respectively.
A υ
B
2.5 Target path 6
Controller output
ω 3
2 Actual path 7
y (meter)
A B υ
1.5 4 2.5 Target path 6
ω
Controller output
2
1
2 y (meter) 1.5
4
0.5
1
0 2
0
0.5
-0.5
0 0
-1 -2
-1 -0.5 0 0.5 1 1.5 2 2.5 3 0 1 2 3 4 5 6 7 8 9
-0.5
x (meter) Time (sec)
-1 -2
3 3 -1 -0.5 0 0.5 1 1.5 2 2.5 3
xd yd 0 1 2 3 4 5 6 7
C D x (meter) Time (sec)
x y
y (meter)
x (meter)
2 2
3 3
C xd D yd
1 1
x y
2 2
y (meter)
x (meter)
0 0 1 1
-1 -1 0 0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Time (sec) Time (sec)
-1 -1
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Fig. 5. Simulation tracking for circular path. A: The tracking performance; Time (sec) Time (sec)
B: The linear and angular velocities; C, D: The desired and the actual values
of x and y respectively. Fig. 7. Simulation tracking for ellipsoidal path. A: The tracking perfor-
mance; B: The linear and angular velocities; C, D: The desired and the
actual values of x and y respectively.
4.2.2 Figure-eight Path Tracking. The desired goal for the
robot is to follow the path described as xd = 1 + sin 2t and 5. COMPARISON TO BACKSTEPPING BASED
yd = 1 − cos t. The robot starts at (-1, -1, 0) with initial error
T CONTROLLER
eP = 2 1 0 . Fig. 6 shows the result of Figure-eight path
tracking simulation. Fig. 6.A shows the tracking performance of In this section, the backstepping algorithm based control is com-
the robot in xy-plan. Fig. 6.B shows the controller output (linear pared to our Lyapunov based tracking controller proposed in this
and angular velocities). Fig. 6.C shows the desired and the actual work. The backstepping based tracking control technique used
values of x. Fig. 6.D shows the desired and the actual values of y. infig:Circle-sim [12] is given by the following equations
4.2.3 Ellipsoidal Path Tracking. The desired goal for the v = vd cos eθ + kx ex , (53)
robot is to follow the path described as xd = 1 + sin t and and
yd = 1 − cos(t + π/4), Where f = 2πHz. The robot starts at (-
T
1, -1, 0) with initial error eP = 2 1.29 0.576 . Fig. 7 shows ω = ωd + ky vd ey + kθ vd sin eθ , (54)
the result of ellipsoidal path tracking simulation. Fig. 7.A shows where kx , ky , and kθ are the controller parameters, and
the tracking performance of the robot in xy-plan. Fig. 7.B shows
the controller output (linear and angular velocities). Fig. 7.C shows ex cos θ sin θ 0 xd − x
the desired and the actual values of x. Fig. 7.D shows the desired ey = − sin θ cos θ 0 yd − y . (55)
and the actual values of y. eθ 0 0 1 θd − θ
5
International Journal of Computer Applications (0975 - 8887)
Volume 168 - No.11, June 2017
4
3
[9] M. K. Singh and D. R. Parhi, Intelligent neuro-controller for
2
navigation of mobile robot, Proceedings of the International
Conference on Advances in Computing, Communication and
1
Control - ICAC3 09, 2009. Vol. 4 No. 1 2012 ISSN: 0975-
0
3176 pp. 19-26
-1
0 1 2 3 4 5 6 7 8 9 10 11 12 [10] Y. Tian and N. Sarkar, Control of a Mobile Robot Subject to
Time (sec) Wheel Slip, Journal of Intelligent and Robotic Systems, vol.
25 25 74, no. 3-4, pp. 915929, Sep. 2013.
Backstepping controller
υ
20 ω 20 [11] N. Sarkar, X. Yun, and V. Kumar, Control of Mechanical Sys-
15 15
tems With Rolling Constraints, The International Journal of
10
Robotics Research, vol. 13, no. 1, pp. 5569, 1994.
10
5
[12] R. Fierro and F. Lewis, Control of a nonholonomic mobile
5
robot: backstepping kinematics into dynamics, Proceedings of
-1 -1 1995 34th IEEE Conference on Decision and Control.
0 1 2 3 4 5 6 7 8 9 10 11 12 0 0.5
Time (sec) Time (sec)
6. CONCLUSION
In this paper, the kinematic and dynamic models of DDWMR are
introduced. Non-linear dynamics based tracking controller is sug-
gested, which is capable of producing continuous and smooth ve-
locity commands. The tracking controller simulation shows that the
system is asymptotically stable, and that the tracking errors are en-
sured to move toward to zeros. Also we compared the results ob-
tained using the proposed controller to the result of backstepping
based controller.