Professional Documents
Culture Documents
Sliding-Mode Control For Trajectory-Tracking of A Wheeled Mobile Robot in Presence of Uncertainties
Sliding-Mode Control For Trajectory-Tracking of A Wheeled Mobile Robot in Presence of Uncertainties
_
_
x
r
y
r
r
_
_
=
=
1
R
_
_
cos
r
cos
r
sin
r
sin
r
L L
_
_
_
r
l
_
+
_
_
sin
r
cos
r
0
_
_
(3)
and
= m ( x
r
cos
r
+ y
r
sin
r
)
r
(4)
Where
r
and
l
are the torques of right and left motors,
m and I present the mass and inertia of robot respectively.
R is the radius of wheels and 2 L is the distance of rear
wheels.
The nonholonomic constraint, the no slip condition, is
written in the form of (2):
x
r
sin
r
y
r
cos
r
= 0 (5)
This equation is not integrable, so the feasible trajectory
of robot is limited.
Assuming u
1
=
r
+
l
and u
2
=
r
l
(3) becomes:
m x
r
= m y
r
r
+
u
1
R
cos
r
m y
r
= m x
r
r
+
u
1
R
sin
r
I
r
=
L
R
u
2
(6)
Equation (6) can be rewrite like
x
r
= y
r
r
+ u
1
cos
r
y
r
= x
r
r
+ u
1
sin
r
r
= u
2
(7)
The real mass of the WMR is supposed to be uniformly
distributed all the time and to be time-varying with bounded
uncertainty with known nominal mass. Due to the time-
varying mass, the moment of inertia becomes time-depending
with bounded uncertainty.
The real values of the parameters
(t) =
1
R m(t)
, (t) =
L
R I(t)
(8)
are varying with upper bounded uncertainties
real
(t) =
nom
+ (t); ||
max
real
(t) =
nom
+ (t); ||
max
(9)
Known the kinematic relationship
q =
_
_
cos
r
0
sin
r
0
0 1
_
_
_
v
r
r
_
(10)
Differentiating (10):
q =
_
_
r
sin
r
0
r
cos
r
0
0 1
_
_
_
v
r
r
_
+
_
_
cos
r
0
sin
r
0
0 1
_
_
_
v
r
r
_
(11)
Therefore
x
r
= v
r
r
sin
r
+ v
r
cos
r
y
r
= v
r
r
cos
r
+ v
r
sin
r
r
=
r
(12)
Comparing (7) with (12) we can write
y
r
r
+ u
1
cos
r
= v
r
r
sin
r
+ v
r
cos
r
x
r
r
+ u
1
sin
r
= v
r
r
cos
r
+ v
r
sin
r
u
2
= w
r
(13)
Multiplying the rst part of (13) by cos
r
and the second
part by sin
r
, and adding the results the following is
obtained
v
r
=
u
1
m R
,
r
=
u
2
L
I R
(14)
Where v and are the linear and angular velocities of mobile
robot.
III. CONTROL OF WHEELED MOBILE ROBOTS
The application of SMC strategies in nonlinear systems
has received considerable attention in recent years [9]-[16]. A
well-studied example of a non-holonomic system is a WMR
that is subject to the rolling without slipping constraint.
In trajectory tracking is an objective to control the non-
holonomic WMR to follow a desired path, with a given orien-
tation relatively to the path tangent, even when disturbances
exist. In the case of trajectory-tracking the path is to be
followed under time constraints. The path has an associated
velocity prole, with each point of the trajectory embedding
spatiotemporal information that is to be satised by the
WMR along the path. Trajectory tracking is formulated as
having the WMR following a virtual target WMR which
is assumed to move exactly along the path with specied
velocity prole.
Fig. 2. Lateral, longitudinal and orientation errors (trajectory-tracking).
A. Trajectory-tracking errors
Without loss of generality, it can be assumed that the
desired trajectory q
d
(t) = [x
d
(t), y
d
(t),
d
(t)]
T
is generated
by a virtual unicycle mobile robot (see Fig. 2). The kinematic
relationship between the virtual conguration q
d
(t) and the
corresponding desired velocity inputs [v
d
(t),
d
(t)]
T
are:
_
_
x
d
y
d
d
_
_
=
_
_
cos
d
0
sin
d
0
0 1
_
_
_
v
d
d
_
(15)
When a real robot is controlled to move on a desired path
it exhibits some tracking error. This tracking error, expressed
in terms of the robot coordinate system, as shown in Fig. 2,
is given by
_
_
x
e
y
e
e
_
_
=
_
_
cos
d
sin
d
0
sin
d
cos
d
0
0 0 1
_
_
_
_
x
r
x
d
y
r
y
d
d
_
_
(16)
Consequently one gets the error dynamics for trajectory
tracking as
_
_
_
x
e
= x
r
cos
d
+ y
r
sin
d
+
d
y
e
v
d
y
e
= x
r
sin
d
+ y
r
cos
d
d
x
e
e
=
r
d
(17)
In this paper it is assumed that |
e
| < /2.
B. Sliding-mode control
A Sliding Mode Controller is a Variable Structure Con-
troller(VSC). Basically, a VSC includes several different
continuous functions that map plant state to a control surface,
and the switching among different functions is determined
by plant state that is represented by a switching function.
Without lost of generality, consider the design of a sliding
mode controller for the n
th
-order:
x
(n)
= f(x, t) + b(x, t) u (18)
where x is the state variable; x
(n)
=
_
x, x, x, . . . , x
(n1)
;
x
(n)
is the n
th
-order derivative of x; f is a nonlinear
function; b is the gain and u is the control input.
The following is a possible choice of the structure of a
sliding mode controller [18]:
u = u
eq
k sgn(s) (19)
Fig. 3. Sliding-Mode Trajectory-Tracking control architecture.
where u
eq
is equivalent control and can be interpreted as
the continuous control law that would maintain s = 0 if the
dynamics were exactly known. s is called switching function
because the control action switches its sign on the two sides
of the switching surface s = 0. s are dened as:
s
1
= x
e
+
1
x
e
,
s
2
=
e
+
2
e
+
0
sgn(
e
) |y
e
|
(20)
where x
e
, y
e
and
e
are dene in (16).
sgn(s) is a sign function, which is dened as:
sgn(s) =
_
1 if s < 0
1 if s > 0
(21)
If s
1
converges to zero, trivially x
e
converges to zero.
If s
2
converges to zero, in steady-state it becomes
e
=
2
e
0
sgn(
e
) |y
e
|. Since |y
e
| is always bounded,
the following relationship between
e
and
e
holds:
e
< 0
e
> 0 and
e
> 0
e
< 0.
The time derivative of (20) are
s
1
= x
e
+
1
x
e
s
2
=
e
+
2
e
+
0
sgn(
e
) |y
e
|
(22)
Gao and Hung [18] proposed the method of reaching mode
and reaching law, based on m-input n
th
-order systems. In
order to assure the attraction of state trajectory onto the
switching manifold within the reaching mode, they suggested
the control of reaching speed by certain reaching law. The
general form of reaching law are
s = Q s P sgn(s) (23)
Q = diag [q
1
, q
2
] , q
i
> 0, i = 1, 2
P = diag [p
1
, p
2
] , p
i
> 0, i = 1, 2
sgn(s) = [sgn(s
1
), sgn(s
2
)]
T
s = [s
1
, s
2
]
T
Let us dene V =
1
2
s
T
s as a Lyapunov function
candidate, therefore its time derivative is
V = s
1
s
1
+ s
2
s
2
= s
1
(q
1
s
1
p
1
sgn(s
1
))+
+s
2
(q
2
s
2
p
2
sgn(s
2
)) =
= s
T
Q s p
1
|s
1
| p
2
|s
2
|
For
V to be negative semi-denite, it is sufcient to choose
q
i
and p
i
such that q
i
, p
i
0.
Using a sign function often causes chattering in practice.
One solution is to introduce a boundary layer around the
switch surface [19], [20]:
u
i
= u
eqi
k
i
sat
_
s
i
_
, i = 1, 2. (24)
where constant factor denes the thickness of the boundary
layer. sat (s/) is a saturation function that is dened as:
sat
_
s
_
=
_
_
_
s
if
1
sgn
_
s
_
if
> 1
(25)
The equivalent control (u
eqi
) can be interpreted as the
continuous control law that would maintain s = 0 if the
dynamics were exactly known. From (7), (17) and (22) we
can calculate the equivalent control
u
eq1
=
D
1
nom
cos
e
, u
eq2
=
D
2
nom
(26)
where D
1
and D
2
are
D
1
= x
r
e
sin
d
+ y
r
e
cos
d
d
y
e
d
y
e
1
x
e
D
2
=
d
0
sgn(
e
) y
e
sgn(y
e
)
(27)
Using (7), (20), (23) and (24) we can calculate
k
1
=
q
1
s
1
+ p
1
sat(s
1
/) D
1
max
nom
(
nom
+
max
) cos
e
k
2
=
q
2
s
2
+ p
2
sat(s
2
/) D
2
max
nom
(
nom
+
max
)
(28)
IV. CLOSED-LOOP, REAL-TIME EXPERIMENTS
To show the effectiveness of the proposed sliding mode
control law numerically, real experiments were carried out on
the trajectory-tracking problem of a nonholonomic wheeled
mobile robot. The mobile robot is assumed to have the same
structure as in Fig. 1. For obtaining the dynamic equation,
parameter values of the mobile robot are given in Table I.
The parameters of sliding modes were held constant during
the experiments: q
1
= 0.01, q
2
= 0.01, p
1
= 0.1, p
2
= 0.1
and
1
= 0.75,
2
= 1.25,
0
= 0.5.
The robot has two-level control architecture (see Fig.
3). High-level control algorithms (including desired motion
generation) are written in C++ and run with a sampling time
of Ts = 100 ms on a embedded PC, which also provides a
user interface with real-time visualization and a simulation
environment. Wheel velocity commands,
R
=
v
c
+ L
c
R
,
L
=
v
c
L
c
R
(29)
are sent to the PI controllers, and encoder measures N
R
and
N
L
are received in the robots pose estimator for odometric
computations.
The real-time experiments are carried out on PatrolBot, a
general purpose mobile robot acquired from MobileRobots
Inc (see Fig. 4).
Fig. 4. The experimental mobile robot - PatrolBot.
TABLE I
PARAMETER VALUES OF THE MOBILE ROBOT - PATROLBOT
Parameter Value
mass of the robot body 46 kg
radius of the drive wheel 0.095 m
distance between wheels 0.480 m
moment of inertia 2.185 kgm
2
max 0.033
max 0.12
A. Mobile Robot Setup
PatrolBot is a programmable autonomous general purpose
Service robot rover built by MobileRobots Inc [21].
Technical Specications
PatrolBot has a 59cm x 48cm x 38cm, CNC aluminum
body. Its 19cm diameter tires handle nearly any indoor
surface. The two motor shafts hold 1000-tick encoders. This
differential drive platform is holonomic so it can turn in
place. Moving wheels on one side only, it forms a circle
of 29cm radius. The robot is equipped with 1.6 GHz Intel
Pentium processor and 500 MB of RAM.
Software Specications
A small proprietary ARCS transfers sonar readings,
motor encoder information and other I/O via packets from
the micro controller server to the PC client and returns
control commands. PatrolBot can be run from the client or
users can design their own programs under Linux or under
WIN32 using C/C++ compiler. ARIA and ARNL software
supply library functions to handle navigation, path planning,
obstacle avoidance and many other robotic tasks.
B. Close-loop Control Results
The real-time experiments was made for two types of
trajectory shown in Fig. 5. Two experiments for each type of
the trajectory was made: A) without additional mass and B)
with additional mass ( 3 kg). In all cases the experimental
data are summarized in Table II.
The trajectory-tracking must perform not only the planning
of the curve (spatial dimension) but also the speed prole
(temporal dimension). All the experiments had the expected
results: the lateral, longitudinal and orientation errors that
TABLE II
EXPERIMENTAL RESULTS
Case No xe Max xe RMS ye Max ye RMS e Max e RMS
[m] [m] [deg]
Trajectory I.
I 0.0408 0.0112 0.0384 0.0237 7.0967 0.0403
A II 0.0420 0.0105 0.0384 0.0242 7.3121 0.0407
III 0.0437 0.0133 0.0374 0.0231 7.0548 0.0411
I 0.0432 0.0128 0.0363 0.0229 7.7997 0.0407
B II 0.0418 0.0108 0.0367 0.0239 7.5361 0.0423
III 0.0456 0.0125 0.0384 0.0228 7.3997 0.0403
Trajectory II.
I 0.0417 0.0126 0.0551 0.0298 7.0004 0.0350
A II 0.0408 0.0115 0.0583 0.0302 6.9294 0.0354
III 0.0421 0.0128 0.0563 0.0289 7.8931 0.0346
I 0.0445 0.0131 0.0555 0.0283 7.2132 0.0355
B II 0.0432 0.0119 0.0576 0.0291 7.1264 0.0432
III 0.0448 0.0135 0.0564 0.0268 7.9648 0.0384
0 1 2 3 4
1.5
1
0.5
0
0.5
1
1.5
Trajectory I.
x [m]
y
[
m
]
FINISH
START
0 1 2 3 4
0
1
2
Trajectory II.
x [m]
y
[
m
]
START
FINISH
Fig. 5. Two types of trajectory used in experiments.
tends to zero with or without additional mass. The trajec-
tories shown in Fig. 5 was obtained using the algorithm
presented in [12]. In the case of trajectory-tracking the path
is to be followed under time constraints. The paths has an
associated velocity prole (see Fig. 6), with each point of
the trajectory embedding spatio-temporal information that is
to be satised by the robot along the path.
Fig. 7 presents the experiments using the PatrolBot robot
with and without additional mass in case of both trajectories
shown in Fig. 5. From this gures we can observe that our
sliding-mode trajectory-tracking controller is robustness with
respect to system uncertainties.
0 5 10 15 20 25 30 35
0.6
0.4
0.2
0
0.2
0.4
0.6
Time [s]
V
e
l
o
c
i
t
y
Linear velocity [m/s]
Angular velocity [rad/s]
0 5 10 15 20 25 30
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
Time [s]
V
e
l
o
c
i
t
y
Linear velocity [m/s]
Angular velocity [rad/s]
Fig. 6. Linear and angular velocities for trajectories depicted in Fig. 5.
As shown in Fig. 8 the PatrolBot robot retrieved quickly
(
t
10s) and smoothly from its initial state error (x
e
=
0.50, y
e
= 0.00,
e
= 0.00), and the tracking errors converge
on average to zero with acceptable reduced values along the
trajectory.
In Table II are represented the twelve experiments us-
ing sliding-mode trajectory-tracking controller for PatrolBot
robot. Three experimental trials were executed for each
trajectory (with and without additional mass). The table
shows the maximum (Max) and root mean square (RMS).
The maximum absolute values of lateral and longitudinal
errors are under 0.060 m and the maximum absolute values
of orientation error is under 8 deg.
0 1 2 3 4
1.5
1
0.5
0
0.5
1
1.5
x [m]
y
[
m
]
Desired trajectory
Exp. without mass add.
Exp. with mass add.
FINISH
START
1 0 1 2 3 4 5
0.5
0
0.5
1
1.5
2
2.5
x [m]
y
[
m
]
Desired trajectory
Exp. without mass add.
Exp. with mass add.
START
FINISH
Fig. 7. Trajectories resulted after the experiments.
1 0 1 2 3
1.5
1
0.5
0
0.5
x [m]
y
[
m
]
Desired trajectory
Experimental
START
x
d
(0) = 0.5
y
d
(0) = 0.0
d
(0) = 0.0
0 5 10
0.6
0.4
0.2
0
0.2
Time [s]
Longitudinal and lateral errors [m]
y
e
x
e
0 5 10
10
0
10
20
30
40
50
Time [s]
Orientation errors [deg]
e
Fig. 8. Experimental control starting from an initial error state (xe = 0.50,
ye = 0.00, e = 0.00).
V. CONCLUSIONS
This paper addressed the problem of tracking control
around a desired trajectory, taking into account the dynamics
of the vehicle, for wheeled mobile robots. The proposed
solution is based on the sliding-mode approach. The main
advantages of using sliding-mode control include fast re-
sponse, good transient and robustness with respect to system
uncertainties and external disturbances.
The experimental tests presented in this paper are rep-
resentative of the average performance of the controllers.
We had summarized our acquired experience in general
observations that can be useful guidelines for implementation
of the same control strategies in other type of mobile robots.
VI. ACKNOWLEDGEMENTS
This work was supported by the Romanian High Education
Scientic Research National Council, under project IDEAS,
ID 641.
REFERENCES
[1] J. L. Jones and A. M. Flynn, Mobile Robots: Inspiration to Implemen-
tation, Wellesley, MA: A. K. Peters, 1993.
[2] P. Coelho and U. Nunes, Path Following Control of Mobile Robots
in Presence of Uncertainties, IEEE Transactions on Robotics, vol.
21(2), pp. 252-261, 2005.
[3] V. I. Utkin, Sliding modes in optimization and control, Springer-Verlag,
New York, 1992.
[4] V. I. Utkin, J. Guldner, and J. Shi, Sliding mode control in electrome-
chanical systems, Taylor & Francis, London, 1999.
[5] J. J. E. Slotine and W. Li, Applied Nonlinear Control. Prentice-Hall,
1991.
[6] R. Fierro and F.L. Lewis, Control of a Nonholonomic Mobile Robot:
Backstepping Kinematics into Dynamics, Journal of Robotic Systems,
vol. 14(3), 1997, pp. 149163.
[7] R. Fierro and F.L. Lewis, Robust practical point stabilization of
a nonholonomic mobile robot using neural networks, Journal of
Intelligent and Robotic Systems, vol. 20. pp. 295-317, 1997.
[8] K. D. Young, V. I. Utkin, and U. Ozguner, A control engineers
guide to sliding mode control, IEEE Transactions on Control Systems
Technology, vol. 7, no. 3, pp. 328-342, 1999.
[9] D. Chwa, Sliding-mode tracking control of nonholonomic wheeled
mobile robots in polar coordinates, IEEE Transactions on Control
Systems Technology, 12(4), pp. 637644, 2004.
[10] J. M. Yang and J. H. Kim. Sliding mode control for trajectory
tracking of nonholonomic wheeled mobile robots, IEEE Transactions
on Robotics and Automation, 15(3), pp. 578587, 1999.
[11] D. Chwa, S. K. Hong and B. Song, Robust posture stabilization of
wheeled mobile robots in polar coordinates, The 17th International
Symposium on Mathematical Theory of Networks and Systems, pp.
343-348, 2006.
[12] R. Solea and U. Nunes, Trajectory planning and sliding-mode control
based trajectory-tracking for cybercars, Integrated Computer-Aided
Engineering, IOS Press, 14(1), pp. 3347, 2007.
[13] C. Canudas de Wit, H. Khennouf, C. Samson and O. Sordalen,
Nonlinear control design for mobile robots. Recent Trends in Mobile
Robotics, 11, Word Scientic Series in Robotics and Automated
Systems, pp. 121156, 1993.
[14] W. E. Dixon, Z. P. Jiang and D. M. Dawson, Global exponential
setpoint control of wheeled mobile robots: a Lyapunov approach,
Automatica, 36, pp. 17411746, 2000.
[15] T. Floquet, J. P. Barbot and W. Perruquetti, Higher-order sliding
mode stabilization for a class of nonholonomic perturbed systems,
Automatica, 39, pp. 10771083, 2003.
[16] A. Filipescu, U. Nunes and S. Stamatescu. Discrete-Time Sliding-
Mode WMR Control Based on Parameter Identication , in Proc. of
the 16th IFAC World Congress, Prague, 2005.
[17] J. J. E. Slotine, Sliding Controller Design for Nonlinear Systems,
International Journal of Control, 40(2), pp.421434, 1984.
[18] W. Gao and J. C. Hung, Variable structure control of nonlinear sys-
tems: A new approach, IEEE Transactions on Industrial Electronics,
40(1), pp. 4555, 1993.
[19] J.J. Slotine and S.S. Sastry, Tracking Control of Non-linear Systems
Using Sliding Surfaces, With Application to Robot Manipulators,
Massachusetts Institute of Technology, Cambridge MA 02139, Tehni-
cal Report LIDS-P-1264, 1982, pp. 1-54.
[20] J.J. Slotine and W. Li, Applied Nonlinear Control, Prentice-Hall, Inc,
Inglewood Cliffs, New Jersey, 1991.
[21] ActivMedia Robotics. Mobile robots. http://mobilerobots.com/.