Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(1)
where
1
0 0
1
0 0 ,
1
0 0
t
t
z
M
H
M
I
(
(
(
(
=
(
(
(
(
(
.
xw w
yw w
a x
a y
( (
=
( (
From Fig. 1,
x
f ,
y
f and M are given by
1 2 3
1 2 3
1 2 3
cos(0) sin( ) sin( ) ,
sin(0) cos( ) cos( ) ,
.
x
y
f f f f
f f f f
M Lf Lf Lf
o o
o o
=
= +
= + +
(2)
For notational convenience, (2) is written in the following form
1
2
3
,
x
y k
f f
f B f
M f
( (
( (
=
( (
( (
(3)
where
1 sin( ) sin( )
0 cos( ) cos( ) .
k
B
L L L
o o
o o
(
(
=
(
(
Since
( ) ( )
( ) ( )
cos sin
sin cos
x x
y y
F f
F f
| |
| |
( ( (
=
( ( (
,
and from (3), we obtain
1
2
3
,
xw
w
yw m k
a f
a H R B f
f |
( (
( (
=
( (
( (
(4)
where
cos( ) sin( ) 0
sin( ) cos( ) 0 .
0 0 1
w
m
R
| |
| |
(
(
=
(
(
Based on geometrical relationships, we have kinematic velocity
equations:
1 1
T 1
2 2
3 3
(( ) ) ( ) ,
w
w
w m k
x
y R R B T
u u
u | u
| u u
( (
(
( (
(
=
( (
(
( (
(
(5)
where
2cos( ) 3sin( ) cos( ) 3sin( ) cos( )
3 3 3
2sin( ) 3 cos( ) sin( ) 3 cos( ) sin( )
( ) .
3 3 3
1 1 1
3 3 3
T R
L L L
| | | | |
| | | | |
|
(
(
(
(
(
(
(
(
(
The control force is generated by a DC motor. The relation
between the motor torque
m
t and control voltage u is given by
2
,
t t
m m
a a
K K
u
R R
t e = (6)
where
t
K is the motor torque constant,
m
e is the angular
velocity of the motor, and
a
R is the armature resistance. The
relationship between the motor torque and the force f is given
by
1
,
m
w
f
R
t = (7)
From (6) and (7), we have
1 1 1
2
2 2 2
3 3 3
.
t t
w a w a
f u
K K
f u
R R R R
f u
u
u
u
( ( (
( ( (
=
( ( (
( ( (
(8)
From (4), (5), and (8), the dynamics of the robot in the world
frame can be written as
- 766 -
( ) ,
w w w w C
P A P B U | = +
(9)
where
| |
T
,
w w w
P x y | =
| |
T
1 2 3
,
C
U u u u =
1
1
2
0 0
0 0 ,
0 0
w
a
A a
a
(
(
=
(
(
1 1 1 1 1
1 1 1 1 1
2 2 2
2 cos( ) cos( ) 3 sin( ) cos( ) 3 sin( )
( ) 2 sin( ) sin( ) 3 cos( ) sin( ) 3 cos( ) ,
w
b b b b b
B b b b b b
b b b
| | | | |
| | | | | |
(
+
(
= + (
(
(
2
1 2
3
,
2
t
w t a
K
a
R M R
=
2 2
2 2
3
,
t
w z a
K L
a
R I R
=
1
.
2
t
w t a
K
b
R M R
=
III. INTEGRAL SLIDING MODE CONTROL
Consider the following non-linear system
( ) ( ) ( , ), x f x B x u d x t = + + (10)
where
n
x R e are the states of the system,
m
u R e are the
control input, ( )
n
f x R e and ( )
n m
B x R
e are smooth functions.
where ( , )
n
d x t R e are the perturbation due to parameter
variations, un-modeled dynamics, and external disturbances,
and we assume that ( , ) d x t satisfies the matching condition [3],
which is
( , ) ( )
m
d x t B x d = , .
m
m
d R e (11)
Moreover, we assume
m
d are bounded
i
m i
d < , 1, , i m = , (12)
where
i
is a known and bounded positive number. For system
(10), the control input is chosen as
0 1
u u u = + (13)
where
0
u is the ideal control input. In general,
0
u can be
obtained by LQR control, PID control, pole placement or other
control laws.
1
u is a discontinuous control which is designed to
force the system to constrain states trajectories on the sliding
surface and to eliminate the external disturbance. The sliding
function is chosen as
0
( )
s
s s x z = + , (18)
where
m
s R e ,
0
( )
m
s x R e and
m
s
z R e . The function
0
( ) s x is
designed as the linear combination of the system states. The
function
s
z is an unknown integral function to be determined.
From (18), we have
0
s
s
s x z
x
c
= +
c
. (19)
Form (16) and (19), and we obtain
0
[ ( ) ( )( )]
m s
s
s f x B x u d z
x
c
= + + +
c
. (20)
According to the idea of the integral sliding mode, the system
states have to remain on the sliding surface. Thus, we have
0
0
[ ( ) ( ) ].
s
s
z f x B x u
x
c
= +
c
(21)
To guarantee the state trajectories to be confined on the sliding
surface starting from the initial instant, from (18), we can
choose (0)
s
z as follow
0
(0) ( (0)).
s
z s x = (22)
According to (18), (21) and (22), we obtain
0 0
0
0
0
( ) ( (0))
( )
[ ( ( )) ( ( )) ( )] .
t
s s x s x
s x
f x B x u d
x
t t t t
=
c
+
c
}
(23)
In order to confine the system states on the sliding surface and
eliminate the external disturbance and noise effectively,
1
u is
chosen as
1
sgn( ) u s , = , (24)
where
m m
R ,
e is a diagonal matrix. In other words,
diag{ }
i
, , = , 1, , i m = , and
i
, is a positive real number.
IV. CONTROLLER DESIGN FOR THE ONMIDIRECTIONAL
MOBILE ROBOT
A. State Feedback Linearization
From (9), the system can be rewritten as follows:
( ) .
w w w w C
P A P B U | = +
(28)
Let
| |
T
( ) ( ) ( ) ( )
des des des des
P t x t y t t | = (29)
be the desired trajectory. Define the tracking error ( ) e t as
( ) ( ) ( ),
des w
e t P t P t = (30)
then
.
des w
e P P =
(31)
From (28) and (31), we have
[ ( ) ].
des w w w C
e P A P B U | = +
(32)
By choosing
[ ( ) ]
des w w w C
U P A P B U | +
, (33)
the tracking error dynamics become linear and can be written
as follow
0 0
.
0 0
e I e d
U
e e I dt
( ( ( (
= +
( ( ( (
(34)
From (33), the state feedback control law is
1
( ) [ ].
C w des w w
U B P A P U |
=
(35)
B. PID Controller Design
The PID control law is given as
- 767 -
, e c =
.
p d i
U K e K e K c = (36)
From equation (35), the system control input is
1
( ) [ ].
C w d w w p d i
U B P A P K e K e K | c
= + + +
(37)
C. Integral Sliding Mode Controller Design
Because the actual system usually has external disturbance
or un-modeled uncertainty, the tracking error dynamic
equations (34) can be rewritten as
e U d = + , (42)
where d are the perturbations and
x
y
d
d d
d
|
(
(
=
(
(
, (43)
where
x
d ,
y
d , and d
|
are the perturbations in the X axis,
Y axis, and | , respectively. Moreover, the control input U is
defined as
x
y
U
U U
U
|
(
(
(
(
(44)
where
x
U ,
y
U , and U
|
are the control input to the X axis,
Y axis, and | , respectively. According to (42), we can rewrite
the tracking error dynamic equations as
0 0 0
0 0
e I e d
U d
e e I I dt
( ( ( ( (
= + +
( ( ( ( (
(45)
With respect to the identical structure of controllers for the
X axis, Y axis, and| . In the following only the controller for
X axis will be discussed. The tracking error dynamic equations
of X axis is given by
0 1 0 0
0 0 1 1
x x
x x
x x
e e
d
U d
e e dt
( ( ( ( (
= + +
( ( ( ( (
, (46)
where
x
e is the tracking error in the X axis. According to the
design of integral sliding mode control, we first use the PD
control law for the ideal system, i.e., without perturbations. The
PD controller is given as
0x px x dx x
U K e K e = , (47)
where
px
K and
dx
K are positive real numbers. Then, the control
input is chosen as
0 1 x x x
U U U = + (48)
We choose the sliding function as
0
( )
(0) (0)
t
x x dx x px x
dx x x
s e K e K e d
K e e
t t = + +
}
(49)
And the switching control input
1x
U is given by
1
sgn( )
x x x
U s q = . (50)
Because
x
d is bounded,
x
d is chosen to satisfy the following
condition:
x x
d q > , (51)
where
x
q is a real number. Moreover, we use ( ) sat
x
s to replace
sgn( )
x
s to mitigate the chattering problem [3]. Therefore, we
modify the control input as
sat( )
x
x px x dx x x
Ix
s
U K e K e q
|
= . (52)
By proceeding along similar lines, we can obtain the controllers
for the Y axis and | .
V. SYSTEM IMPLEMENTATION
An omnidirectional mobile robot has been constructed as
shown in Fig. 2. All of controllers are implemented on a digital
signal processor (DSP) board. This DSP board is based on the
Texas Instruments TMS320F2812 (150 MHz/32-bit) processor.
The sampling frequency of the system is chosen to be 1 kHz.
The schematic overview of the experimental setup is shown in
Fig. 3.
Figure 2. Omnidirectional mobile robot.
Figure 3. Schematic overview of the experimental setup.
In order to obtain the position of the omnidirectional mobile
robot in the world coordinate, we have to obtain the angular
- 768 -
displacement of the wheel. Thus, an optical encoder with a
resolution 500 pulses/rev is attached to the shaft of each dc
motor to measure the angular displacement of the
omnidirectional wheel. The QEP (quadrature encoder pulse)
circuits are implemented on an FPGA. The PWM (pulse width
modulation) signals are generated by the designed control laws
and supplied to the PWM driver to drive each dc motor.
VI. SIMULATION AND EXPERIMENTAL RESULTS
This section is to present the simulation and experimental
results. The planned trajectories are linear and circular paths.
First, we set a linear path command 0.16 (m)
des
x t = ,
0.2 (m)
des
y t = and 0 (deg)
des
| = in the world coordinate,
and the initial conditions are set to be
| |
T
T
(0) (0) (0) 0.0865 -0.1455 9.263 x y | ( =
. Fig. 4 and
Fig. 5 are the simulation results that use PID control and
integral sliding mode control.
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figure 4. Simulation results of tracking of an straight line path.
0 0.5 1 1.5 2 2.5 3 3.5 4
-0.1
-0.05
0
0.05
0.1
0 0.5 1 1.5 2 2.5 3 3.5 4
-0.05
0
0.05
0.1
0.15
0 0.5 1 1.5 2 2.5 3 3.5 4
-20
-10
0
10
20
30
error of X
error of Y
error of |
Figure 5. Tracking error of PID(--) and ISMC () (straight line).
Here, we set a circular path command of
0.2cos(0.5 ) (m),
des
x t t = 0.2sin(0.5 ) (m)
des
y t t = and
0 (deg)
des
| = in the world coordinate and the initial
conditions are
| |
T
T
(0) (0) (0) 0.0319 -0.0865 8.125 x y | ( =
. Fig. 6 and
Fig. 7 are the simulation results of circular path that use the
PID control and integral sliding mode control.
-0.3 -0.2 -0.1 0 0.1 0.2 0.3
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
Cart displacement in X axis (meter)
C
a
r
t
d
i
s
p
l
a
c
e
m
e
n
t
i
n
Y
a
x
i
s
(
m
e
t
e
r
)
Command
PID
ISMC
Figure 6. Simulation results of tracking of a circular path.
0 0.5 1 1.5 2 2.5 3 3.5 4
-0.02
0
0.02
0.04
0.06
0.08
0 0.5 1 1.5 2 2.5 3 3.5 4
-0.02
0
0.02
0.04
0.06
0.08
0 0.5 1 1.5 2 2.5 3 3.5 4
-15
-10
-5
0
5
10
error of X
error of Y
error of |
Figure 7. Tracking error of PID(--) and ISMC () (circular path).
From Fig.4 to Fig.7, we know that the control system with
the integral sliding mode controller has better transient tracking
performance. The system designed by the PID controller has
more oscillation and slower convergence to the trajectory
command.
Then, we test the designed control laws on the experimental
setup. The planned paths are the same as those of the
simulation and the initial conditions of the robot are also the
same as those of the simulation, too. Fig. 8 and Fig. 10 show
the experimental results of tracking linear and circular paths,
respectively. We find that integral sliding mode control has
better transient performance. Moreover, Fig. 9 and Fig. 11
show the steady-state tracking error of linear and circular paths,
respectively. From the experimental results, we can see that
integral sliding mode control has less steady-state error.
- 769 -
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figure 8. Experimental results of tracking of a straight line.
1 1.5 2 2.5 3 3.5 4
-1
0
1
2
3
4
x 10
-3
1 1.5 2 2.5 3 3.5 4
-1
0
1
2
3
x 10
-3
1 1.5 2 2.5 3 3.5 4
-1
-0.5
0
0.5
1
1.5
error of X
error of Y
error of |
Figure 9. Tracking errors of PID(--) and ISMC () (straight line).
-0.3 -0.2 -0.1 0 0.1 0.2 0.3
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
Cart displacement in X axis (meter)
C
a
r
t
d
i
s
p
l
a
c
e
m
e
n
t
i
n
Y
a
x
i
s
(
m
e
t
e
r
)
Command
PID
ISMC
Figure 10. Experimental results of tracking of a circular path.
1 1.5 2 2.5 3 3.5 4
-3
-2
-1
0
1
2
3
x 10
-3
1 1.5 2 2.5 3 3.5 4
-3
-2
-1
0
1
2
3
x 10
-3
1 1.5 2 2.5 3 3.5 4
-0.5
0
0.5
1
error of X
error of Y
error of |
Figure 11. Tracking errors of PID(--) and ISMC () (circular path).
VII. CONCULSIONS
In this paper, an integral sliding mode control scheme to
achieve trajectory tracking of an omnidirectional mobile robot
was proposed. The mathematical model of the robot was
derived to facilitate the controller design. In controller design,
we first used state feedback to cancel out the nonlinear terms of
the system, and PID control and integral sliding mode control
are then used to achieve trajectory tracking. From simulation
and experimental results, it is shown that integral sliding mode
control has better performance.
REFERENCES
[1] K. Watanabe, Y. Shiraishi, and S. G. Tzaffestas, Feedback Control of
An Omnidirectional Autonomous Platform for Mobile Serve Robots,
Journal of Intelligent and Robotic Systems, vol. 20, pp. 315-330, 1998.
[2] V. Utkin and J. Shi, Integral Sliding Mode in Systems Operating Under
Uncertainty Conditions, in Proc. Conf. Decision and Control,
Kobe,Japan, Dec. 1996, pp. 45914596.
[3] V. Utkin, J. Guldner, and J. Shi, Sliding Mode Control in
Electromechanical System, CRC Press, Boca Raton, 1999.
[4] J. A. Chacal B. and H. Sira-Ramirez, On the Sliding Mode Control of
Wheeled Mobile Robots, in Proc. IEEE Int. Conf. Syst. Man. Cybern.,
Sept. 1994, pp. 19381943.
[5] Guldner and V. I. Utkin, Sliding Mode Control for Gradient Tracking
and Robot Navigation Using Artificial Potential Fields, IEEE Trans.
Robot. Automat., vol. 11, pp. 247254, Apr. 1995.
[6] H.S. Shim, J.H. Kim and K. Koh, Vdriable Structure Control of
Nonholononiic Wheeled Mobile Robots, Proc. IEEE Con.f Robot.
Automat., pp. 1694-1699, May 1995.
[7] L. E. Aguilar, T. Hamel, and P. Soueres, Robust Path Following
Control for Wheeled Robots via Sliding Mode Techniques, in Proc.
1997 IEEE/RSJ Int. Conf. Intell. Robot. Syst. (IROS97), Sept. 1997, pp.
13891395.
[8] H. Goldstein, C. Poole, and J. Safko, Classical Mechanics, Addison
Wesley, Upper Saddle River, NJ, 2002.
- 770 -