0% found this document useful (0 votes)
669 views20 pages

Modeling and Control of A 4-Wheel Skid-Steering Mobile Robot

The document presents a mathematical model for a 4-wheel skid-steering mobile robot. It divides the robot into three subsystems: a kinematic subsystem, dynamic subsystem, and drive subsystem. It then derives models for each subsystem, with the kinematic model accounting for lateral skidding of the wheels. The goal is to design a robust controller for trajectory tracking and regulation using a backstepping approach combined with Lyapunov stability analysis. Simulation results are presented to validate the designed control algorithm.

Uploaded by

pqthai
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
669 views20 pages

Modeling and Control of A 4-Wheel Skid-Steering Mobile Robot

The document presents a mathematical model for a 4-wheel skid-steering mobile robot. It divides the robot into three subsystems: a kinematic subsystem, dynamic subsystem, and drive subsystem. It then derives models for each subsystem, with the kinematic model accounting for lateral skidding of the wheels. The goal is to design a robust controller for trajectory tracking and regulation using a backstepping approach combined with Lyapunov stability analysis. Simulation results are presented to validate the designed control algorithm.

Uploaded by

pqthai
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Int. J. Appl. Math. Comput. Sci., 2004, Vol. 14, No.

4, 477496
MODELING AND CONTROL OF A 4-WHEEL SKID-STEERING MOBILE ROBOT

KRZYSZTOF KOZOWSKI

, DARIUSZ PAZDERSKI

Institute of Control and Systems Engineering


Pozna n University of Technology
ul. Piotrowo 3A, 60965 Pozna n, Poland
e-mail: {Krzysztof.Kozlowski, Dariusz.Pazderski}@put.poznan.pl
A mathematical model of a 4-wheel skid-steering mobile robot is presented in a systematic way. The robot is considered as
a subsystem consisting of kinematic, dynamic and drive levels. Next, a designing process of a kinematic controller based
on the algorithm introduced by (Dixon et al., 2001) is shown. An extension of the kinematic control law at the dynamic and
motor levels using the Lyapunov analysis and the backstepping technique is developed. To validate the designed algorithm,
extensive simulation results for trajectory tracking and set-point cases are discussed. Some deliberations concerning the
tuning of the controller are presented, too.
Keywords: mobile robots, skid-steering vehicles, time-varying control laws, backstepping, Lyapunov analysis
1. Introduction
In recent years there has been observed a growing inter-
est in the mobile robotics area. A lot of research concen-
trates on the description of kinematic models of mobile
robots and designing feedback control laws for nonholo-
nomic systems. Researchers typically consider wheeled
platforms with nonholonomic constraints white assuming
perfect rolling. An excellent overview concerning differ-
ent types of these robots can be found in (Campion et al.,
1996).
Although signicant research has been focused to
path planning and motion control of nonholonomic vehi-
cles, see, e.g., (Dixon et al., 2001; 2003; Morin and Sam-
son, 2003), research that examines and accommodates it
for skid steering effects is sparse. Therefore, so far lit-
tle has been written about the control of vehicles where
a slippage phenomenon is necessary because of the drive
mechanism. Such wheeled robots called skid-steering mo-
bile robots (SSMRs) are considered as all-terrain vehicles
because of the robust nature of the mechanical structure.
They can work in hard environmental conditions and can
be used, e.g., to explore space.
The steering of an SSMR is achieved by differen-
tially driving wheel pairs on each side of the robot. Al-
though the steering scheme yields some mechanical bene-
ts, the control of an SSMR is a challenging task because
the wheels must skid laterally to follow a curved path. If
the projection of the instantaneous center of rotation (ICR)
of the vehicle along the longitudinal axis becomes large,

This work was supported by a statutory grant no. DS 93/121/04.


the vehicle can lose motion stability as a result of skid-
ding. In contrast, this phenomenon is not important for
traditional vehicles if only the no-slip assumption is satis-
ed.
Because of lateral skidding, velocity constraints oc-
curring in SSMRs are quite different from the ones met
in other mobile platforms where wheels are not supposed
to skid. This implies that the control of this robot at the
kinematic level only is not sufcient and, in general, de-
mands the use of a properly designed control algorithm at
the dynamic level, too.
Recently, Caracciolo et al. (1999) considered the
motion stability problem of SSMRs and imposed an ar-
ticial operational constraint on the vehicle to limit the
projection of the ICR onto the longitudinal axis to be
conned to the wheelbase. They resolved the trajectory
tracking case using a dynamic linearization of the SSMR
model. However, due to the restriction imposed by the
condition considered in (Brockett, 1983), the regulation
problem was not solved. Robustness to unknown interac-
tion ground forces of the designed controller was proved
only for a straight line motion.
In this paper, the results obtained in (Caracciolo
et al., 1999) are extended to a new time differentiable and
time-varying control scheme based on Dixons kinematic
controller. It allows us to solve both trajectory tracking
and regulation problems and it is based on the strategy of
forcing some transformed states to track an exogenous ex-
ponentially decaying signal produced by a tunable oscil-
lator. This algorithm yields a global exponentially stable
result for the transformed states and a global uniformly
K. Kozowski and D. Pazderski
478
ultimately bounded (GUUB) result for the actual position
and orientation tracking or regulation errors. It gives prac-
tical stabilization in the sense considered in (Morin and
Samson, 2003), and combines good performance and ro-
bustness to disturbances. An excellent survey concerning
various algorithms to control nonholonomic systems can
be found in (Morin and Samson, 2002).
Motivated by practical issues such as a desire to ac-
commodate for unknown ground interaction forces, a ro-
bust controller is developed that incorporates the uncertain
dynamic model of an SSMR. Additionally, the control law
which takes into account electrical properties of the drive
system is obtained. The result of stability is proved using
the Lyapunov technique. It is important to note that, in
contrast to the previous work done by (Caracciolo et al.,
1999; Kozowski and Pazderski, 2003; Pazderski et al.,
2004), the kinematic model of the SSMR is reformulated
to make it more practical for control purposes.
The paper is organized as follows: In Section 2 an
SSMR is decomposed into three subsystems which con-
sist of kinematic, dynamic and drive levels. Next, in a
systematic way, a model of the vehicle is presented. Sec-
tion 3 focuses on the development of the controller us-
ing the backstepping method. A detailed calculation con-
cerning the transformation of the SSMR kinematics into
a new space is presented, too. Next, the control scheme
on the dynamic level is obtained to ensure robustness to
the uncertainty of dynamical parameters. Further, electri-
cal properties of DC motors are included. Next, extensive
simulation results considering trajectory tracking and set-
point cases are given. Finally, some remarks concerning
the tuning of this controller are presented.
2. Model of an SSMR
In this section a mathematical description of an SSMR
moving on a planar surface is formulated. To facilitate the
analysis and subsequent control development, the vehicle
is divided into three parts including kinematics, dynam-
ics and drive subsystems. This approach is quite natural
for most mobile robots powered by electrical motors (see
Fig. 1). Additionally, it offers a possibility to develop a
controller based on the backstepping technique.
electrical
drive
subsystem
dynamic
subsystem
kinematic
subsystem
torque velocity position
mobile robot
electrical
input
(current or
voltage)
Fig. 1. Decomposition of an electrically driven mobile robot.
2.1. Kinematic Model
To consider the kinematic model of an SSMR, it is as-
sumed that the robot is placed on a plane surface with the
X
g
x
l
y
l
z
l
Y
g
Y
X
Z
Z
g
q
COM
Fig. 2. SSMR in the inertial frame.
inertial orthonormal basis (X
g
, Y
g
, Z
g
), see Fig. 2. A lo-
cal coordinate frame denoted by (x
l
, y
l
, z
l
) is assigned to
the robot at its center of mass (COM). According to Fig. 2,
the coordinates of COM in the inertial frame can be writ-
ten as COM = (X, Y, Z). Since in this paper the plane
motion is considered only, the Z-coordinate of COM is
constant (Z = const).
Suppose that the robot moves on a plane with
linear velocity expressed in the local frame as v =
[ v
x
v
y
0 ]
T
and rotates with an angular velocity vec-
tor = [ 0 0 ]
T
. If q = [ X Y ]
T
is
the state vector describing generalized coordinates of the
robot (i.e., the COM position, X and Y , and the orienta-
tion of the local coordinate frame with respect to the
inertial frame), then q = [

X

Y

]
T
denotes the
vector of generalized velocities. From Fig. 3 it can be
noted that the variables

X and

Y are related to the coor-
dinates of the local velocity vector as follows (see Carac-
Fig. 3. Free body diagram.
Modeling and control of a 4-wheel skid-steering mobile robot
479
Fig. 4. Velocities of one wheel.
ciolo et al., 1999):

cos sin
sin cos

v
x
v
y

. (1)
Furthermore, because of the planar motion, one can write

= .
It is obvious that Eqn. (1) does not impose any re-
strictions on the SSMRplane movement, since it describes
free-body kinematics only. Therefore it is necessary to an-
alyze the relationship between wheel velocities and local
velocities.
Suppose that the i-th wheel rotates with an angular
velocity
i
(t), where i = 1, 2, . . . , 4, which can be seen
as a control input. For simplicity, the thickness of the
wheel is neglected and is assumed to be in contact with
the plane at point P
i
as illustrated in Fig. 4. In con-
trast to most wheeled vehicles, the lateral velocity of the
SMRR, v
iy
, is generally nonzero. This property comes
from the mechanical structure of the SSMR that makes
lateral skidding necessary if the vehicle changes its orien-
tation. Therefore the wheels are tangent to the path only
if = 0, i.e., when the robot moves along a straight line.
In this description we consider only a simplied case
of the SSMR movement for which the longitudinal slip
between the wheels and the surface can be neglected. Ac-
cording to this assumption based on work done by (Pacej-
ka, 2002), the following relation can be developed:
v
ix
= r
i

i
, (2)
where v
ix
is the longitudinal component of the total ve-
locity vector v
i
of the i-th wheel expressed in the local
frame and r
i
denotes the so-called effective rolling radius
of that wheel.
To develop a kinematic model, it is necessary to take
into consideration all wheels together. In Fig. 5, the radius
vectors d
i
= [ d
ix
d
iy
]
T
and d
C
= [ d
Cx
d
Cy
]
T
v
4
x
ICR
y
ICR
d
4
d
1
d
2
d
3
d
C
v
3
v
4x
v
4y
P
4
P
3
P
2
P
1
v
3y
v
3x
y
l
Y
g
X
g
x
l
v
2x
v
1x
v
2y
v
1y
v
2
v
1
v
x
v
y
v
ICR
COM
Fig. 5. Wheel velocities.
are dened with respect to the local frame from the instan-
taneous center of rotation (ICR). Consequently, based on
the geometry of Fig. 5, the following expression can be
deduced:
v
i

d
i

=
v
d
C

= || (3)
or, in a more detailed form,
v
ix
d
iy
=
v
x
d
Cy
=
v
iy
d
ix
=
v
y
d
Cx
= , (4)
where the symbol denotes the Euclidean norm.
Dening the coordinates of the ICRin the local frame
as
ICR = (x
ICR
, y
ICR
) = (d
xC
, d
yC
) (5)
allows us to rewrite (4) as follows:
v
x
y
ICR
=
v
y
x
ICR
= . (6)
From Fig. 5 it is clear that the coordinates of vectors d
i
satisfy the following relationships:
d
1y
= d
2y
= d
Cy
+c,
d
3y
= d
4y
= d
Cy
c,
d
1x
= d
4x
= d
Cx
a,
d
2x
= d
3x
= d
Cx
+b,
(7)
where a, b and c are positive kinematic parameters of
the robot depicted in Fig. 3. After combining Eqns. (4)
and (7), the following relationships between wheel veloc-
ities can be obtained:
v
L
= v
1x
= v
2x
,
v
R
= v
3x
= v
4x
,
v
F
= v
2y
= v
3y
,
v
B
= v
1y
= v
4y
,
(8)
K. Kozowski and D. Pazderski
480
where v
L
and v
R
denote the longitudinal coordinates of
the left and right wheel velocities, v
F
and v
B
are the
lateral coordinates of the velocities of the front and rear
wheels, respectively.
Using (4)(8) it is possible to obtain the follow-
ing transformation describing the relationship between the
wheel velocities and the velocity of the robot:

v
L
v
R
v
F
v
B

1 c
1 c
0 x
ICR
+b
0 x
ICR
a

v
x

. (9)
In accordance with (2) and (8), assuming that the effective
radius is r
i
= r for each wheel, we can write

w
=

=
1
r

v
L
v
R

, (10)
where
L
are
R
are the angular velocities of the left
and right wheels, respectively.
Combining (9) and (10), the following approximated
relations between the angular wheel velocities and the ve-
locities of the robot can be developed:
=

v
x

= r

L
+
R
2

L
+
R
2c

, (11)
where is a new control input introduced at the kine-
matic level.
From the last equation it is clear that, theoretically,
the pair of velocities
L
and
R
can be treated as a con-
trol kinematic input signal as well as velocities v
x
and .
However, the accuracy of the relation (11) mostly depends
on the longitudinal slip and can be valid only if this phe-
nomenon is not dominant. In addition, the parameters r
and c may be identied experimentally to ensure a high
validity of the determination of the angular robot velocity
with respect to the angular velocities of the wheels.
To complete the kinematic model of the SSMR, the
following velocity constraint introduced in (Caracciolo
et al., 1999) from (6) can be considered:
v
y
+x
ICR

= 0. (12)
The last equation is not integrable. In consequence, it de-
scribes a nonholonomic constraint which can be rewritten
in the Pfafan form:

sin cos x
ICR


X

Y

T
=A(q) q = 0,
(13)
where Eqn. (1) has been used. Since the generalized ve-
locity q is always in the null space of A, we can write
q = S (q) , (14)
where
S
T
(q) A
T
(q) = 0 (15)
and
S (q) =

cos x
ICR
sin
sin x
ICR
cos
0 1

. (16)
It should be noted that since dim() = 2 < dim(q) = 3,
Eqn. (14) describes the kinematics of the robot, which is
underactuated. Additionally, this is a nonholonomic sys-
tem because of the constraint described by (12). It is in-
teresting to see that the analysed kinematic model of the
SSMR is quite similar to the kinematics of the two-wheel
mobile robot presented by (Kozowski and Majchrzak,
2002).
From (6) and (9) it can be seen that control of the v
y
and v
yi
velocity coordinates is not possible without the
knowledge of the x
l
-axis projection of the ICR. There-
fore, considering the linear velocity v
x
and the angular
velocity as control signals seems to have an advantage
over the previous propositions presented by (Kozowski
and Pazderski, 2003; Caracciolo et al., 1999), where in-
stead of , the velocity v
y
is used.
2.2. Dynamic Model
In this section the dynamic properties of the SSMR are de-
scribed, since the dynamic effects play an important role
for such vehicles (see Caracciolo et al., 1999). It is caused
by unknown lateral skidding ground interaction forces.
First, the wheel forces depicted in Fig. 6 are examined.
Fig. 6. Forces acting on one wheel.
The active force F
i
and reactive force N
i
are related
to the wheel torque and gravity, respectively. It is clear
Modeling and control of a 4-wheel skid-steering mobile robot
481
Fig. 7. Active and resistive forces of the vehicle.
that F
i
is linearly dependent on the wheel control input

i
, namely,
F
i
=

i
r
. (17)
According to (Pacejka, 2002) we assume that the vertical
force N
i
acts from the surface to the wheel. Considering
the four wheels of the vehicle (Fig. 7) and neglecting addi-
tional dynamic properties, we obtain the following equa-
tions of equilibrium:
N
1
a = N
2
b,
N
4
a = N
3
b, (18)
4

i=1
N
i
= mg,
where m denotes the vehicle mass and g is the gravity
acceleration. Since there is symmetry along the longitudi-
nal midline, we obtain
N
1
= N
4
=
b
2 (a +b)
mg,
(19)
N
2
= N
3
=
a
2 (a +b)
mg.
Assume that the vector F
si
results from the rolling
resistant moment
ri
and the vector F
li
denotes the lat-
eral reactive force. Based on (Caracciolo et al., 1999)
these reactive forces can be regarded as friction ones.
However, it is important to note that friction modeling is
quite complicated since it is highly nonlinear and depends
on many variables. Therefore, in most cases only a simpli-
ed approximation describing the friction F
f
as a super-
position of Coulumb and viscous friction is considered. It
can be written as
F
f
() =
c
N sgn () +
v
, (20)
where denotes the linear velocity, N is the force per-
pendicular to the surface, while
c
and
v
denote the
coefcients of Coulumb and viscous friction, respectively.
Since for the SSMR the velocity is relatively low, espe-
cially during lateral slippage, the relation
c
N |
v
|
is valid, which allows us to neglect the term
v
to sim-
plify the model. It is very important to note that the func-
tion (20) is not smooth when the velocity equals zero,
because of the sign function sgn (). It is obvious that
this function is not differentiable at = 0. Since a con-
tinuous and time differentiable model of the SSMR should
be obtained, the following approximation of this function
is proposed:
sgn () =
2

arctan (k
s
) , (21)
where k
s
1 is a constant which determines the approx-
imation accuracy according to the relation
lim
ks
2

arctan (k
s
) = sgn (x) . (22)
Based on the previous deliberations, the friction
forces for one wheel can be written as
F
li
=
lci
mgsgn (v
yi
) , (23)
F
si
=
sci
mgsgn (v
xi
) , (24)
where
lci
and
sci
denote the coefcients of the lateral
and longitudinal forces, respectively.
Using the Lagrange-Euler formula with Lagrange
multipliers to include the nonholonomic constraint (12),
the dynamic equation of the robot can be obtained. Next,
it is assumed that the potential energy of the robot
PE (q) = 0 because of the planar motion. Therefore the
Lagrangian L of the system equals the kinetic energy:
L(q, q) = T (q, q) . (25)
Considering the kinetic energy of the vehicle and neglect-
ing the energy of rotating wheels, the following equation
can be developed:
T =
1
2
mv
T
v +
1
2
I
2
, (26)
where m denotes the mass of the robot and I is the mo-
ment of inertia of the robot about the COM. For simplicity,
it is assumed that the mass distribution is homogeneous.
Since v
T
v = v
2
x
+ v
2
y
=

X
2
+

Y
2
, Eqn. (26) can be
rewritten in the following form:
T =
1
2
m


X
2
+

Y
2

+
1
2
I

2
. (27)
K. Kozowski and D. Pazderski
482
After calculating the partial derivative of kinetic energy
and its time-derivative, the inertial forces can be obtained
as
d
dt

E
k
q

m

X
m

Y
I

= M q, (28)
where
M =

m 0 0
0 m 0
0 0 I

. (29)
Consequently, the forces which cause the dissipation
of energy are considered. According to Fig. 7, the follow-
ing resultant forces expressed in the inertial frame can be
calculated:
F
rx
( q) = cos
4

i=1
F
si
(v
xi
)sin
4

i=1
F
li
(v
yi
) , (30)
F
ry
( q) = sin
4

i=1
F
si
(v
xi
)+cos
4

i=1
F
li
(v
yi
) . (31)
The resistant moment around the center of mass M
r
can
be obtained as
M
r
( q) = a

i=1,4
F
li
(v
yi
) +b

i=2,3
F
li
(v
yi
)
+c

i=1,2
F
si
(v
xi
)+

i=3,4
F
si
(v
xi
)

. (32)
To dene generalized resistive forces, the vector
R( q) =

F
rx
( q) F
ry
( q) M
r
( q)

T
(33)
is introduced. The active forces generated by the actua-
tors which make the robot move can be expressed in the
inertial frame as follows:
F
x
= cos
4

i=1
F
i
, (34)
F
y
= sin
4

i=1
F
i
. (35)
The active torque around the COM is calculated as
M = c (F
1
F
2
+F
3
+F
4
) . (36)
In consequence, the vector F of active forces has the fol-
lowing form:
F =

F
x
F
y
M

T
. (37)
Using (17), (34)(36) and assuming that the radius of
each wheel is the same, we get
F =
1
r

cos
4

i=1

i
sin
4

i=1

i
c (
1

2
+
3
+
4
)

. (38)
To simplify the notation, a new torque control input is
dened as
=


1
+
2

3
+
4

, (39)
where
L
and
R
denote the torques produced by the
wheels on the left and right sides of the vehicle, respec-
tively. Combining (38) and (39), we get
F = B(q) , (40)
where B is the input transformation matrix dened as
B(q) =
1
r

cos cos
sin sin
c c

. (41)
Next, using (28), (33) and (40), the following dynamic
model is obtained:
M (q) q +R( q) = B(q) . (42)
It should be noted that (42) describes the dynamics of
a free body only and does not include the nonholonomic
constraint (13). Therefore a constraint has to be imposed
on (42). To this end, a vector of Lagrange multipliers,
, is introduced as follows (see Caracciolo et al., 1999;
Gutowski, 1971):
M (q) q +R( q) = B(q) +A
T
(q) . (43)
For control purposes it would be more suitable to
express (43) in terms of the internal velocity vector .
Therefore, (43) is multiplied from the left by S
T
(q),
which results in
S
T
(q) M (q) q +S
T
(q) R( q)
= S (q)
T
B(q) +S
T
(q) A
T
(q) . (44)
After taking the time derivative of (14), we obtain
q =

S (q) +S (q) . (45)
Next, using (45) and (14) in (43), the dynamic equations
become

M +

C +

R =

B, (46)
Modeling and control of a 4-wheel skid-steering mobile robot
483
where

C = S
T
M

S = mx
ICR

x
ICR

(47)

M = S
T
MS =

m 0
0 mx
2
ICR
+I

, (48)

R = S
T
R =

F
rx
( q)
x
ICR
F
ry
( q) +M
r

, (49)

B = S
T
B =
1
r

1 1
c c

. (50)
2.3. Drive Model of the SSMR
In this section a model of the SSMR drive is developed. It
is assumed that the robot is driven by four DC brushed
motors with mechanical gears. In Fig. 8 a simplied
scheme of the drive on the right side of the robot is de-
picted. Considering only one drive and assuming for sim-
Fig. 8. Drive system on the right side of the vehicle.
plicity that the torque
mi
produced by the i-th motor is
linearly dependent on the rotor current i
ai
, we can write

mi
= k
i
i
ai
, (51)
where k
i
denotes a motor torque constant. The voltage
equation of the armature can be approximated by the fol-
lowing linear relationship:
u
iva
= L
a
d
dt
i
ai
+R
a
i
ai
+k
e

mi
, (52)
where L
a
and R
a
denote the series inductance and resis-
tance of the rotors, respectively, k
e
is the electromotive
force coefcient, while
mi
denotes the angular velocity
of the rotor. Since the i-th actuator is equipped with gears
characterized by a ratio n > 1, we get

i
= nk
i
i
ai
, (53)

mi
= n
i
, (54)
where some additional dynamic effects concerning inertia
and backlash of gears have been neglected. According to
Fig. 8, a new input control signal u
va
on the voltage level
is dened as
u
va
=

u
vaL
u
vaR

T
, (55)
where u
vaL
and u
vaR
denote the motor voltage signals
on the left and right sides of the vehicle, respectively.
Since each pair of motors is electrically and mechanically
coupled, we have

u
vaL
u
vaR

u
va1
+u
va2
u
va3
+u
va4

(56)
and

=
1
n


m1

m3

=
1
n


m2

m4

. (57)
Assuming that all motors and gears have the same param-
eters and using (51)(57), the following voltage-current
equations are developed:
= 2k
i
ni
a
, (58)
u
va
= 2L
a
d
dt
i
a
+ 2R
a
i
a
+ 2k
e
n
w
. (59)
3. Control Law
In this section an algorithm which solves the regulation
and trajectory tracking problem is considered. First, ac-
cording to (Caracciolo et al., 1999), an operational non-
holonomic constraint (see Gutowski, 1971) is introduced
to limit the magnitude of lateral slippage in open loop con-
trol. Second, the idea of a kinematic oscillator proposed
by (Dixon et al., 2001) is used. Finally, the proposed con-
trol scheme consists of kinematic, dynamic and motor lev-
els, which ensures a better performance of the overall al-
gorithm.
3.1. Operational Constraint
It is easy to observe that the ICR position inuences the
motion of the SSMR. In contrast to most mobile robots
where the wheels are not supposed to skid, the ICR of the
SSMR is not xed. Therefore, theoretically, it can move
K. Kozowski and D. Pazderski
484
during the robot motion. However, it can be seen from
Fig. 5 and Eqn. (9) that if the x
ICR
coordinate goes out,
of the robot wheelbase, then the robot skids into a lateral
direction and loses its stability.
To solve this problem, Caracciolo et al. (1999) pro-
posed to include an operational nonholonomic constraint
(mathematical constraint) which is based on (12). This
constraint can be written as
v
y
+x
0

= 0, (60)
where x
0
denotes a xed coordinate of the ICR which
should be selected as
x
0
(a, b) . (61)
It can be interpreted as a programmable limitation of the
SSMR lateral skidding that is done by imposing the con-
straint on the kinematic and dynamic model of the vehi-
cle. To this end, x
ICR
in (16), (47)(50) is replaced by
x
0
and it is assumed that x
ICR
= 0. In consequence, the
matrix S (q) becomes
S (q) =

cos x
0
sin
sin x
0
cos
0 1

. (62)
The value of x
0
is arbitrarily chosen and belongs to the
set dened by (61). It is not related to any structural prop-
erties of the SSMR. It is just a coefcient which allows
us to approximate the relation between the angular and
linear lateral velocities of the robot. It is interesting to see
that selecting x
0
= 0 makes the SSMR kinematics model
similar to the kinematics of a typical two-wheel robot.
3.2. Control Objective
The vector of the position and orientation error q is de-
ned as follows:
q = q q
r
=


X

Y

T
, (63)
where q
r
= [ X
r
Y
r

r
]
T
denotes the desired posi-
tion, X
r
and Y
r
, of the COM and the desired orientation

r
. It should be noted that in the case of the regulation
problem we have q
r
= const. However, for the trajec-
tory tracking problem, q
r
(t) is a vector function which
depends explicitly on time. In the second case, q
r
(t)
denotes a reference trajectory, generated by a reference
kinematic model with an operational constraint (60) as
follows:
q
r
(t) = S

q
r
(t)

r
(t) , (64)
where S () is dened by (16), and
r
(t) =
[ v
rx
(t)
r
(t) ]
T
denotes the reference velocity vec-
tor. All reference signals and their derivatives are assumed
to be bounded for all times:

r
(t) ,
r
(t) , q
r
(t) , q
r
(t) L

. (65)
The control objective is formulated as a practical stabiliza-
tion of the position and the orientation of the robot consid-
ered in (Morin and Samson, 2003) in the sense that
lim
t
q (t) , (66)
where denotes an arbitrary small positive constant.
3.3. Kinematic Transformation
In this section we introduce a kinematic transformation
which will be used later on in designing a control law.
Calculating a time derivative of (63), we obtain the fol-
lowing kinematic error equation:

q = q q
r
. (67)
Using (14) and (64), we get

q = S (q) S (q
r
)
r
. (68)
Taking into account (62), we reformulate (68) as follows:

q = g
0
+g
1
(q) v
x
+g
2
(q) , (69)
where v
x
and are control inputs, g
0
is a drift of the
system, g
1
(q) and g
2
(q) are vector eld generators:
g
0
(q
r
) = S (q
r
)
r
, (70)
g
1
(q) =

cos
sin
0

, (71)
g
2
(q) =

x
0
sin
x
0
cos
1

. (72)
From (70) it is clear that the drift is caused by the refer-
ence kinematics signals and for
r
= 0 (i.e., when the
regulation problem is considered) the system has no drift.
Furthermore, the system expressed by (69) is underactu-
ated since dim() = 2 < dim( q) = 3.
In order to build a kinematic controller based on
(Dixon et al., 2001), (68) is transformed into a form which
is similar to the nonholonomic integrator considered in
(Brockett, 1983):
w = u
T
J
T
z +f, (73)
z = u, (74)
Modeling and control of a 4-wheel skid-steering mobile robot
485
where w and z = [ z
1
z
2
]
T
denote auxiliary vari-
ables, u is an input signal and f denotes the drift, while
J is the following skew-symmetric matrix:
J =

0 1
1 0

. (75)
It should be noted that the systems described by (68),
(73) and (74) are rst-order systems (see Murray and Sas-
try, 1993). It is possible to nd the following global dif-
feomorsm that preserves the origin:
Z =

w z
1
z
2

T
= P

q. (76)
The variables w and z can be interpreted as a new aux-
iliary state vector of the system (68) described in a three-
dimensional space.
To develop the transformation matrix P(,

), the
regulation problem is considered rst, i.e., q
r
(t) =
const. Then (73) can be rewritten as
w = z
2
u
1
z
1
u
2
. (77)
Based on (De Luca and Oriolo, 1995), the following
change of coordinates is proposed:
z
1
=

, (78)
z
2
=

X cos +

Y sin . (79)
Observe that both of the new variables have a nice geo-
metric interpretation: z
1
is the orientation error and |z
2
|
denotes the length of projection of the vector [

X

Y ]
T
onto the direction determined by the actual orientation
(see Fig. 9).
R
q
r
q
~
X
~
Y
q
~
Xcos
z
2
R'
controlled robot
reference robot
q
~
Ysin
Fig. 9. Geometrical interpretation of the z2 variable.
Taking the time derivative of (78) and (79), we can
write
z
1
=

, (80)
z
2
=
d
dt


X cos +

Y sin

. (81)
Next, using (74), (80) and (81) in (77), it follows that
w =


X cos +

Y sin

d
dt


X cos +

Y sin

(82)
or
w =
d
dt


X cos +

Y sin

+ 2


X cos +

Y sin

. (83)
Therefore the variable w can be expressed as
w =


X cos +

Y sin

+ 2

(t)


X (t) cos (t)+

Y (t) sin (t)

dt. (84)
To calculate the integral in (84), it is convenient to con-
sider the expression
d
dt


X sin

Y cos


X cos +

Y sin

X sin

Y cos . (85)
Using the error kinematics given by (68) and assuming
that v
rx
= 0 and
r
= 0, we see (note that it is just
Eqn. (13) in the case of regulation) that

X sin

Y cos = x
0

. (86)
Then (85) can be rewritten as
d
dt


X sin

Y cos x
0


X cos +

Y sin


X cos +

Y sin

.
(87)
Finally, according to (84), the variable w has the fol-
lowing form:
w =


X cos +

Y sin

+ 2


X sin

Y cos x
0

. (88)
K. Kozowski and D. Pazderski
486
Next, we calculate the term f which appears in (73). To
this end, the trajectory tracking case is considered. Taking
again the time derivative of (88), we conclude that
w =


X cos +

Y sin


X sin

Y cos

X cos

Y sin

+ 2


X cos +

Y sin

+ 2

X sin

Y cos

2x
0

. (89)
Using (68), (78) and (79) in (89), we have
w =

z
2
z
1
z
2
+ 2

z
2
+ 2

x
0

v
rx
sin z
1
x
0

r
cos z
1

2x
0

+ 2x
0

r
=

z
2
+

r
z
2
2

r
z
2
+ 2

r
z
2
z
1
z
2
+ 2 (x
0

r
v
rx
sin z
1
x
0

r
cos z
1
)
=

z
2
z
1
z
2
+ 2

r
z
2
+ 2 (x
0

r
v
rx
sin z
1
x
0

r
cos z
1
)
= z
1
z
2
z
1
z
2
+ 2z
2

r
+ 2 (x
0

r
v
rx
sin z
1
x
0

r
cos z
1
) . (90)
Next, substituting (74) into Eqn. (90) results in
w = u
1
z
2
z
1
u
2
+ 2 (z
2

r
+x
0

r
v
rx
sin z
1
x
0

r
cos z
1
)
= u
1
z
2
z
1
u
2
+ 2 [v
rx
sin z
1
+
r
(x
0
+z
2
x
0
cos z
1
)], (91)
and therefore
f = 2

v
rx
sin z
1
+
r
(x
0
+z
2
x
0
cos z
1
)

. (92)
Summarizing, the matrix P in (76), which
transforms (68) into (73)(74), can be written as
P

cos +2 sin

sin 2 cos 2x
0
0 0 1
cos sin 0

.
(93)
One can easily check that this matrix is nonsingular.
The velocity transformation can be obtained
from (74) and (80)(81) as follows:
u = T
1


r
v
rx
cos z
1
x
0

r
sin z
1

, (94)
where
T
1
=

0 1
1 l

or T =

l 1
1 0

(95)
and l =

X sin

Y cos is an auxiliary variable that
has the meaning of a distance. Based on (94), the velocity
vector can be expressed as
= Tu +, (96)
where
=

v
rx
cos z
1
+
r
(x
0
sin z
1
+l)

(97)
is an auxiliary velocity vector which is nonzero only for
the trajectory tracking problem when the reference veloc-
ity vector
r
= 0.
3.4. Kinematic Control Law
In this section a kinematic control structure based on
(Dixon et al., 2001) which solves a unied tracking and
regulation problem is proposed.
The control law has the following form:
u = u
a
k
2
z, (98)
where u
a
, which introduces a time-varying feedback to
overcome Brocketts obstruction (see Brockett, 1983), is
dened as
u
a
=
k
1
w +f

2
d
Jz
d
+
1
z
d
. (99)
From (99) it is clear that the signal u
a
is modulated by an
auxiliary signal z
d
generated by the tunable oscillator de-
scribed by the following linear non-stationary differential
equation:
z
d
=

d
z
d
+

k
1
w +f

2
d
+w
1

Jz
d
, (100)
where z
d
= [ z
d1
z
d2
]
T
,
1
and
d
are auxiliary
terms dened as

1
= k
2
+

d
+w
k
1
w +f

2
d
, (101)

d
=
0
exp (
1
t) +
1
, (102)
while k
1
, k
2
,
0
,
1
and
1
are positive constant design
parameters.
It is easy to show that the envelope of z
d
(t) is
determined by the scalar function
d
. In order to prove it,
Modeling and control of a 4-wheel skid-steering mobile robot
487
we calculate the time derivative of the quadratic norm of
the vector z
d
(t) and next use (100) to obtain
d
dt

z
T
d
z
d

= 2

d
z
T
d
z
d
. (103)
The solution of (103) can be written as
z
d
(t)
T
z
d
(t) = z
d
(0)
T
z
d
(0) =
2
d
(t) . (104)
Assuming that z
d
(0)
T
z
d
(0) =
2
d
(0), the envelope of
z
d
(t) is described by
t 0 z
d
(t) =
d
(t) . (105)
Theorem 1. Provided that the reference trajectory is se-
lected to be bounded for all times t > 0 (see (65)) and
assuming that the kinematic model satises the constraint
given by (60), the kinematic control law given by (98)
(102) ensures that the position and orientation errors de-
ned by (63) are globally uniformly ultimately bounded as
follows:
q
0
exp (
1
t) +
2

1
, (106)
where
1
can be made arbitrarily small, and
0
,
1
and

2
are some positive constants.
A detailed proof of exponential stability to a small
neighborhood of the equilibrium point is given by (Dixon
et al., 2001) and is based on the Lyapunov stability the-
ory. The proposed Lyapunov function candidate has the
following form:
V
1
(w, z) =
1
2
w
2
+
1
2
z
T
z, (107)
where z = z
d
z is an auxiliary error signal.
The derivation of differential equation errors govern-
ing w and z for the closed-loop kinematic controller can
be found in (Dixon et al., 2001). Using it, we get

V
1
(w, z) = k
1
w
2
k
2
z
T
z. (108)
Since all signals of the controlled system are bounded
(Dixon et al., 2001), it can be proved that the errors w
and z are exponentially driven to zero. This means that
the signal z tends to an oscillator signal z
d
whose norm
approaches the constant
1
(c.f. (102)).
Remark 1. The parameters
0
,
1
and
1
play a
very important role in the controller tuning process.
Since (105) is satised and lim
t
z (t) = z
d
(t), the
scalar function
d
(t) allows us to inuence all transient
states. In this way,
d
(t) can be seen as a function used
for motion planning. It is essential if the initial error is
quite high and the vehicle has velocity limitations. A sim-
ilar meaning is attributed to the relation between the os-
cillator signals z
d1
and z
d2
, which determine the phase
condition. According to (105), it is convenient to intro-
duce the following parametrization:
z
d
(0) =
d
(0)

cos
sin

, (109)
where (, ].
3.5. Dynamic Control Law
In this section an extension of the presented kinematic
control law is developed by considering a dynamic model
of the SSMR. It is motivated by the desire to improve
the robustness of the control design. In this case, using
a method which relies on linearizing the dynamic equa-
tions is not possible because of unknown lateral skidding
forces. Instead, a controller which is robust to the dynamic
unmodelled disturbances is designed. Since all kinematic
signals are time differentiable, it is possible to incorporate
dynamical properties using a Lyapunov analysis and the
backstepping technique.
First, to facilitate the subsequent development and
analysis, the dynamic equation (46) is transformed by sub-
stituting every occurrence of , by u, u, respectively.
Next, multiplying (46) from the right by T
T
, we get

M u +

Cu +

R =

B, (110)
where

M=T
T

MT,

C=T
T


CT +

M

T

R=T
T


C+

M

+

R

B=T
T

B.
(111)
Remark 2. Based on the Rayleigh-Ritz theorem (Dixon
et al., 2003) and using the fact that

M is a symmetric
and positive denite matrix, the following inequality can
be written:
1
m
1
(w, z)

T

T

M
1

1
m
2
(w, z)

T
, (112)
where R
2
, m
1
(w, z) and m
2
(w, z) are positive
scalar functions dependent on the actual tracking errors
which denote the actual minimum and maximum eigen-
values of

M.
Since the transformed velocity signal u(t) is no
longer a control input, a desired velocity signal, denoted
by u
d
(t), is designed based on (98) as follows:
u
d
= u
a
k
2
z. (113)
K. Kozowski and D. Pazderski
488
Because the dynamic model (110) can be expressed
in terms of u
d
(t) and then linearly parametrized, we see
that

M u
d
+

Cu
d
+

R = Y
d
(u
d
, u
d
, q, ,
r
) , (114)
where
=

m I
s
m
l
m

T
(115)
is a vector of dynamical parameters and
Y
d
(u
d
, u
d
, q, ,
r
) =

y
d11
y
d21
y
d31
y
d41
y
d12
y
d22
y
d32
y
d42

(116)
denotes a known regression matrix which is a function of
the desired transformed velocity and acceleration. To sim-
plify the control law, it is assumed that the friction coef-
cients are the same for each wheel, i.e.,
li
=
l
and

si
=
s
.
It is clear that since the dynamical parameters of the
SSMRare not precisely determined, the actual vector is
uncertain. Dening the difference between this parameter
vector and the parameter vector
0
that denotes the best-
guess estimate for the unknown parameters in (115), we
deduce that

=
0
, (117)
where

0
=

m
0
I
0

s0
m
0

t0
m
0

T
. (118)
Assuming that

is bounded it is possible to nd a coef-
cient which fulls the following inequality:

. (119)
To develop a control law on the dynamic level, a new ve-
locity signal error is dened (Dixon et al., 2001; Mazur,
2001; Kozowski and Majchrzak, 2002; Kozowski and
Pazderski, 2003):
u = u
d
u. (120)
The differential equations governing the transformed
errors w and z for the closed-loop system have the fol-
lowing form:
w = k
1
w +u
T
a
J z + u
T
Jz, (121)

z = k
2
z +wJu
a
+ u. (122)
A detailed derivation of the closed-loop error system can
be found in (Dixon et al., 2001).
For stability analysis, the following Lyapunov func-
tion candidate is proposed:
V
2
(w, z, u) =
1
2
w
2
+
1
2
z
T
z +
1
2
u
T

M u. (123)
Taking the time derivative of V
2
yields

V
2
(w, z, u) = w w+ z
T

z+ u
T

M

u+
1
2
u
T

M u. (124)
Calculating the term

M

u from (110) and using (121),
(122) and then (108) in (124), we conclude that

V
2
(w, z, u)
=

V
1
(w, z) + u
T

wJz + z +

M u
d
+

Cu +

B +
1
2

M u

. (125)
It is easy to prove that

M =

C +

C
T
. Using this re-
lationship and adding and subtracting the term
1
2
u
T

C u
to the right-hand side of (125), the following equation is
obtained:

V
2
(w, z, u)
= k
1
w
2
k
2
z
T
z
+ u
T

wJz+ z+

M u
d
+

Cu
d
+

+
1
2
u
T

C
T

u. (126)
Since

C
T

C is a skew-symmetric matrix, we see that


u
T

C
T

u = 0. (127)
Using (127), the time derivative of the Lyapunov function
can be rewritten as

V
2
(w, z, u)
= k
1
w
2
k
2
z
T
z
+ u
T

wJz+ z+

M u
d
+

Cu
d
+

. (128)
Now, making use of (114) in (128) results in

V
2
(w, z, u) = k
1
w
2
k
2
z
T
z
+ u
T

wJz + z +Y
d

. (129)
To achieve robustness to the parametric uncertainty

, an additional control input


a
is introduced. Based
on (128), the following control law is proposed:
=

B
1
(wJz + z +Y
d

0
+
a
+k
3
u) . (130)
According to (Spong, 1992; Dixon et al., 2001), the term

a
is dened as

a
= Y
d

2
Y
T
d
u

Y
T
d
u

+
2
, (131)
where
2
is a positive constant scalar which can be set up
as arbitrarily small.
Modeling and control of a 4-wheel skid-steering mobile robot
489
Remark 3. It is clear that the function
a
in (131) is
always time differentiable if so is Y
T
d
u. This property
is different from the typical robust control term used in
(Spong, 1992) and allows us to limit the chattering of the
control signal. It is an important property because it offers
a possibility to use a classical backstepping approach.
Using (130) and (117) in (129), we have

V
2
(w, z, u)
= k
1
w
2
k
2
z
T
z u
T
k
3
u
+

Y
T
d
u



2
Y
T
d
u

Y
T
d
u

+
2

. (132)
After some simple calculations, we can prove the follow-
ing inequality:

V
2
(w, z, u) k
1
w
2
k
2
z
T
z k
3
u
T
u
+

Y
T
d
u

Y
T
d
u

+
2
. (133)
Since the last term in (133) is bounded,
0

Y
T
d
u

Y
T
d
u

+
2

2
, (134)
we nally get

V
2
(w, z, u) k
1
w
2
k
2
z
T
z u
T
k
3
u +
2
. (135)
3.6. Control Law on the Motor Level
In this section the control law considering the drive model
which was presented in Section 2.3 is developed.
Calculating i
a
from (58) and then taking its time
derivative, we get
d
dt
i
a
= (2k
i
n)
1
. (136)
Next, using (136) in (59), we obtain
u
va
= L
a
(k
i
n)
1
+ 2R
a
i
a
+ 2k
e
n
w
. (137)
Rearranging the terms in (137), we have
= L
1
a
k
i
n(u
va
2R
a
i
a
2k
e
n
w
) . (138)
Here it is assumed that the voltage is the control signal of
the drive system. Therefore, based on (130), the following
desired torque signal
d
is designed:

d
=

B
1
(wJz + z +Y
d

0
+
a
+k
3
u) , (139)
where
a
is dened by (131).
The next step of the backstepping procedure consists
in dening an error torque signal (see Kozowski and Maj-
chrzak, 2002; Kozowski and Pazderski, 2003) as follows:
=
d
, (140)
where denotes the actual torque signal. To determine
the voltage control law on the motor level, the following
Lyapunov function candidate is proposed:
V
3
(w, z, u, ) =
1
2
w
2
+
1
2
z
T
z +
1
2
u
T

M u +
1
2

T

= V
2
+
1
2

T
. (141)
Calculating its time derivative and using (125), (140)
and (141), we get

V
3
(w, z, u)
=

V
1
(w, z)
+ u
T

wJz + z +

M u
d
+

Cu
d
+

B
d

+ u
T

B +
T

. (142)
In order to design the control voltage u
va
, it is imposed
that the following inequality is satised:
u
T

B +
T

0. (143)
Next, using (138) in (143), we get
u
T

B
+
T


d
L
1
a
k
i
n(u
va
2R
a
i
a
2k
e
n
w
)

0.
(144)
Based on (144), the following control lawon the volt-
age level is proposed:
u
va
= L
a
(k
i
n)
1


d
+k
4
+

B
T
u

+R
a
i
a
+k
e
n
w
,
(145)
where k
4
is an adjustable positive coefcient.
Using (145) in (141), we obtain

V
3
(w, z, u, ) =

V
2
(w, z, u) k
4

T
. (146)
After the substitution of (135) in (146), the following in-
equality can be obtained:

V
3
(w, z, u) k
1
w
2
k
2
z
T
zk
3
u
T
uk
4

T
+
2
.
(147)
K. Kozowski and D. Pazderski
490
Now choose the parameter k
3
high enough such that
t > 0 k
3
max {k
1
, k
2
, k
4
}
1
m
2
, (148)
where m
2
is an upper bound of the function m
2
(w, z)
which appears in (112). We have
k
min

k
1
k
min
w
2
+
k
2
k
min
z
T
z+
k
3
k
min
u
T
u+
k
4
k
min

T

k
min

w
2
+ z
T
z+ u
T

M u+
T

, (149)
where k
min
= min {k
1
, k
2
, k
4
}. Next, combining (141)
and (147) gives

V
3
(w, z, u, ) V
3
(w, z, u, ) +
2
, (150)
where = 2 min {k
1
, k
2
, k
4
}. Since all signals in the
controller and the vehicle model are bounded (it is proved
by Dixon et al., 2001; Kozowski and Majchrzak, 2002),
we have

V
3
L

. Consequently,
V
3
(w, z, u, )
V
3
(0, 0, 0, 0) exp(t) +

2

1 exp (t)

.
(151)
Using the fact that the transformation matrix P is always
invertible, the following result was proved:
Theorem 2. Assuming that the desired trajectory is se-
lected to be bounded (cf. (65)) for all times t 0 and
the conditions (60), (119) are fullled, the proposed con-
trol law given by (98)(102), (139) and (145) ensures the
position and orientation tracking error to be globally uni-
formly ultimately bounded as follows:
q

1
exp (
1
t) +
2

2
+
3
exp (
2
t) +
4

1
,
(152)
where
1
,
2
,
1
,
2
,
3
and
4
are positive constants.
4. Simulation Results
To validate the performance of the developed control law,
simulation results using the Matlab/Simulink environment
are presented. The model of the SSMR is based on a real
construction of a small experimental mobile robot consist-
ing of two MiniTracker-3 robots designed by Jedwabny et
al. (2004). The friction surface is characterized by the
functions
s
(X, Y ) and
t
(X, Y ) describing the fric-
tion coefcients. The values of the friction coefcients
are related to the actual position of the COM of the robot
(see Fig. 10). All parameters of the model and the default
parameters of the controller are collected in Table 1.
2
0
2
2
0
2
0.2
0.4
0.6
0.8
1
X [m]
Y [m]

l
(a)
2
0
2
2
0
2
0
0.05
0.1
0.15
0.2
X [m]
Y [m]

s
(b)
Fig. 10. Friction coefcients: (a)
l
(X, Y ), (b) s (X, Y ).
Table 1. Model and controller parameters.
Kinematic a = b = 39 [mm], c = 34 [mm], r = 26.5 [mm]
Dynamic m = 1 [kg], I = 0.0036 [kg m
2
]
Motors La = 0.22 [mH], Ra = 3.9 [], ke = 8.52

mVs
rad

,
ki = 8.55

mNm
A

, n = 12, |ia max| = 1.2 [A],


|uva max| = 12 [V]
Surface
l
0.2, 0.8 , s 0.02, 0.18
Default k1 = 1, k2 = 1, k3 = 5, k4 = 2, 1 = 0.5,
controller 1 = 0.01, 2 = 0.02, x0 = 15 [mm], = 2,
parameters
l0
= 0.5, s0 = 0.1, m0 = 1.2 [kg],
I0 = 0.0054 [kg m
2
]
First, the regulation problem is examined for a kine-
matic and a dynamic controller (without a motor model).
The torque signal is limited and cannot achieve a value
greater than 0.25 [Nm]. The worst case is assumed when
the robot should reach the posture q
r
= [ 0 0 0 ]
T
parallel to its initial position q (0) = [ 0 1 0 ]
T
, i.e.,
z
1
= 0, z
2
= 0 and w = 0.
In Fig. 11(a) the obtained paths are illustrated with
respect to the initial value of the oscillator signal z
d
. It
shows that the phase shift between z
d1
and z
d2
plays
a very important role and inuences the transient stages.
Modeling and control of a 4-wheel skid-steering mobile robot
491
1 0.5 0 0.5 1
0.2
0
0.2
0.4
0.6
0.8
1
1.2
X [m]
Y

[
m
]
1/6
2/3
0/6
1/3
1/2
5/6
1/2
2/3
1/3 1/6
5/6
6/6
(a)
0.5 0 0.5 1
0.2
0
0.2
0.4
0.6
0.8
1
1.2
X [m]
Y

[
m
]

d
(0)=1

d
(0)=1.25

d
(0)=1.5

d
(0)=2

d
(0)=2.5

d
(0)=3

d
(0)=4
(b)
0 1 2 3 4 5
0.2
0.1
0
0.1
0.2
0.3
time [s]

R
,

L

[
N
m
]

L
(c)
0 1 2 3 4 5
0.2
0.1
0
0.1
0.2
0.3
time [s]

R
,

L

[
N
m
]

L
(d)
Fig. 11. Examination of the controller with respect to z
d
(0): (a) Performed path with respect to , (b) Performed path
with respect to
d
(0), (c) Torque signal for
d
(0) = 2.5, and (d) Torque signal for
d
(0) = 1.
Therefore, the initial value z
d
(0) can be tuned to obtain
the best regulation performance from an energetic point
of view, which results in the minimization of the number
of changes in the direction movement. From Fig. 11(b)
it can be seen that the initial value of
d
(0) should not
be too low, since it demands high values of control sig-
nals (cf. (98)(100)). The limitation of the control signal
results in signal chattering with a high frequency and, as
a consequence, the regulation goal may not be reached
(for example, see the path for
d
(0) = 1 presented in
Fig. 11(b) and the torque signal for
d
(0) = 1 and

d
(0) = 2.5 in Figs. 11(c) and 11(d)). It is not sensi-
ble to force the controller to reduce the regulation error
too fast by assuming a high value of
1
.
Second, a full dynamic model with motors is exam-
ined. The following parameters of the controller have
been changed with respect to the default settings: k
1
=
0.5,
1
= 0.3,
d
(0) = 2, = 7/12. In Fig. 12(a)
the path and a series of postures of the robot at every 1 [s]
of the simulation process are presented. From Fig. 12(b)
it can be seen that the initial regulation error is highly re-
duced. The steady-state position and orientation errors are
bounded as follows:
for t > 25 [s] :


X

< 1 [mm],

< 0.5 [mm]


and

< 0.01 [rad].


In Fig. 12(c) a comparison of signals z
d
(0) and
z (0) is presented in the three dimensional space. It can
be observed that z (t) approaches the trajectory gener-
ated by the oscillator, i.e., z
d
(t) indirectly determines the
actual position and the orientation error. The voltage con-
trol signal for simulation is illustrated in Fig. 12(d): small
chattering appears only during the initial stage of simula-
tion when an auxiliary error z (t) is relatively high (see
Fig. 12(c)).
K. Kozowski and D. Pazderski
492
0.5 0 0.5 1 1.5
0.2
0
0.2
0.4
0.6
0.8
1
1.2
X [m]
Y

[
m
]
q(t)
q
r
(t)
q(0)
q
r
(0)
(a)
0 5 10 15 20 25 30
0.5
0
0.5
1
1.5
time [s]
X

X
r

[
m
]
,

Y

Y
r

[
m
]
,

r

[
r
a
d
] XX
r
YY
r

r
(b)
2
0
2
2
0
2
0
10
20
30
z
1
, z
d1
z
2
, z
d2
t
i
m
e

[
s
]
z
1
, z
2
z
d1
, z
d2
(c)
0 5 10 15 20 25 30
15
10
5
0
5
10
15
u
v
a
R
,

u
v
a
L

[
V
]
time[s]
u
vaR
u
vaL
(d)
Fig. 12. Regulation case for q(0) =

0 1 0

T
: (a) Performed path, (b) Regulation errors,
(c) Auxiliary error and oscillator signal, and (d) Voltage signal.
The results of the next simulation are obtained for
q
r
= [ 0 0 0 ]
T
, q (0) = [ 0 1 ]
T
, k
1
= 1,

1
= 0.5,
d
(0) = 3.2, = . In Figs. 13(a)(d),
the path, regulation errors, auxiliary signals and voltage
signals are shown. The regulation errors are bounded as
follows:
for t > 25 [s] :


X

< 10 [mm],

< 1 [mm]
and

< 0.05 [rad].


It is easy to observe that if z (0) is relatively small, this
controller allows us to obtain good transient states and to
rapidly limit motion changes. Therefore, choosing z
d
(0)
should be considered for a practical implementation of the
control law.
Next, numerical simulations concern the trajectory
tracking problem. For the results presented in Figs. 14(a)
(e) the following parameters were assumed: k
1
= 2,

1
= 0.3,
d
(0) = 1.7, = /12. The reference trajec-
tory is as follows:
X
r
(t) =

1
1 + 0.2t
cos 0.2t 1

[m],
Y
r
(t) =
1
1 + 0.2t
sin 0.2t [m],
while
r
(t) is calculated by the reference model (64).
The steady-state tracking errors are bounded as follows:
for t > 30 [s] :


X

< 5 [mm],

< 4 [mm]
and

< 0.04 [rad].


In Fig. 14(e) the friction coefcients are illustrated, but
according to Figs. 14(b) and 14(c) it is clear that the error
and velocity signals are almost invariant to disturbances.
Modeling and control of a 4-wheel skid-steering mobile robot
493
0.6 0.4 0.2 0 0.2 0.4
0.2
0
0.2
0.4
0.6
0.8
1
1.2
X [m]
Y

[
m
]
q(t)
q
r
(t)
q(0)
q
r
(0)
(a)
0 10 20 30 40 50 60
4
3
2
1
0
1
2
time [s]
X

X
r

[
m
]
,

Y

Y
r

[
m
]
,

r

[
r
a
d
]
XX
r
YY
r

r
(b)
5
0
5
2
0
2
0
20
40
60
z
1
, z
d1
z
2
, z
d2
t
i
m
e

[
s
]
z
1
, z
2
z
d1
, z
d2
(c)
0 10 20 30 40 50 60
15
10
5
0
5
10
15
u
v
a
R
,

u
v
a
L

[
V
]
time[s]
u
vaR
u
vaL
(d)
Fig. 13. Regulation case for q(0) =

0 1

T
: (a) Performed path, (b) Regulation errors,
(c) Auxiliary error and oscillator signal, and (d) Voltage signal.
In the next simulation experiment for the trajectory
tracking problem the following reference trajectory was
assumed:
X
r
(t) = [(1 + 0.2 sin 0.9t) cos 0.15t 1] [m], (153)
Y
r
(t) = (1 + 0.2 sin 0.9t) sin 0.15t [m]. (154)
The parameters of the controller different from their de-
fault values are k
3
= 10, k
4
= 10,
1
= 0.3,
d
(0) = 1.5,
= 2/3. In this simulation experiment the following
steady-state errors are recorded (cf. Fig. 15(b)):
for t > 20 [s] :


X

< 12 [mm],

< 11 [mm]
and

< 0.02 [rad].


It can be seen that the tracking errors are higher compared
with previous simulations, since the dynamic properties
concerning the inertia of the vehicle play an important
role. In this case friction coefcients change in a sig-
nicant range, too. Therefore it is necessary to increase
the coefcient k
3
to improve the performance of the con-
troller. It is interesting to see that although a trajectory
tracking error exists, the reference and actual paths are
almost the same (cf. Fig. 15(e)) in the nal stage of simu-
lation. The controlled robot is delayed with respect to the
reference vehicle.
5. Conclusion
In this paper a new algorithm considering the kinematic,
dynamic and drive model of a 4WD skid-steering mobile
robot has been presented. To solve the kinematic prob-
lem we used the idea of a kinematic oscillator that gives
K. Kozowski and D. Pazderski
494
1.5 1 0.5 0 0.5 1
0.4
0.2
0
0.2
0.4
0.6
0.8
1
X [m]
Y

[
m
]
q(t)
q
r
(t)
q(0)
q
r
(0)
(a)
0 10 20 30 40 50 60
1
0.5
0
0.5
1
1.5
2
time [s]
X

X
r

[
m
]
,

Y

Y
r

[
m
]
,

r

[
r
a
d
]
XX
r
YY
r

r
(b)
0 10 20 30 40 50 60
2
1
0
1
2
time [s]
d
x
/
d
t

[
m
/
s
]
,

d

/
d
t

[
r
a
d
/
s
]

dx/dt
d/dt
dx
r
/dt
d
r
/dt
(c)
0 10 20 30 40 50 60
15
10
5
0
5
10
15
U
a
R
,

U
a
L

[
V
]
time[s]
U
aR
U
aR
(d)
0 10 20 30 40 50 60
0
0.2
0.4
0.6
0.8
time [s]

l
,

s
(e)
Fig. 14. Trajectory tracking case for q(0) =

0.5 0.5 /2

T
: (a) Performed path, (b) Tracking errors,
(c) Linear and angular velocities, (d) Voltage signal, and (e) Friction coefcients.
Modeling and control of a 4-wheel skid-steering mobile robot
495
2.5 2 1.5 1 0.5 0 0.5
1.5
1
0.5
0
0.5
1
1.5
X [m]
Y

[
m
]
q(t)
q
r
(t)
q(0)
q
r
(0)
(a)
0 5 10 15 20 25 30
1.5
1
0.5
0
0.5
time [s]
X

X
r

[
m
]
,

Y

Y
r

[
m
]
,

r

[
r
a
d
]
XX
r
YY
r

r
(b)
0 5 10 15 20 25 30
2
1.5
1
0.5
0
0.5
1
1.5
time [s]
d
x
/
d
t

[
m
/
s
]
,

d

/
d
t

[
r
a
d
/
s
]

dx/dt
d/dt
dx
r
/dt
d
r
/dt
(c)
0 5 10 15 20 25 30
15
10
5
0
5
10
15
u
v
a
R
,

u
v
a
L

[
V
]
time[s]
u
vaR
u
vaL
(d)
0 5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
time [s]

l
,

s
(e)
Fig. 15. Trajectory tracking case q(0) =

1 0 /4

T
: (a) Performed path, (b) Tracking errors,
(c) Linear and angular velocities, (d) Voltage signal, and (e) Friction coefcients.
K. Kozowski and D. Pazderski
496
a possibility to obtain practical stabilization in trajectory
tracking and regulation problems. It was proved that the
overall controller stabilizes the system asymptotically to
certain bounds of the position and orientation tracking er-
rors. The obtained convergence is exponential. In contrast
to the previous work done by Caracciolo et al. (1999), the
presented approach is characterized by better robustness
to dynamic parameters uncertainty. Theoretical delibera-
tions are illustrated by discussion how to tune the param-
eters of the controller.
Future work is devoted to the extension of this ap-
proach to other classes of nonholonomic systems which
have the size of the state vector greater than three (e.g., a
typical car drive kinematic model).
References
Brockett R.W. (1983): Asymptotic stability and feedback sta-
bilization, In: Differential Geometric Control Theory
(R.W. Brockett, R.S. Milman and H.J. Susmann, Eds.).
Boston: Birkhuser, pp. 181191.
Caracciolo L., De Luca A. and Iannitti S. (1999): Trajectory
tracking control of a four-wheel differentially driven mo-
bile robot. IEEE Int. Conf. Robotics and Automation,
Detroit, MI, pp. 26322638.
Campion G., Bastin G. and DAndrea-Novel B. (1996): Struc-
tural properties and classication of kinematic and dy-
namic models of wheeled mobile robots. IEEE Trans.
Robot. Automat., Vol. 12, No. 1, pp. 4762.
Dixon W.E., Dawson D.M., Zergeroglu E. and Behal A. (2001):
Nonlinear Control of Wheeled Mobile Robots. London:
Springer.
Dixon W.E., Behal A., Dawson D.M. and Nagarkatti S.P. (2003):
Nonlinear Control of Engineering Systems, A Lyapunov-
Based Approach. Boston: Birkhuser.
Gutowski R. (1971): Analytic Mechanics. Warsaw: Polish
Scientic Publishers, (in Polish).
De Luca A. and Oriolo G. (1995): Modeling and control of
nonholonomic mechanical systems, In: Kinematics and
Dynamics of Multi-Body Systems (J. Angeles and A.
Kecskemthy, Eds.). CISM Lecture Notes, No. 360,
Wien: Springer, pp. 277342.
Mazur A. (2001): Control algorithms for the kinematics and the
dynamics of mobile manipulators: A comparative study.
Arch. Contr. Sci., Vol. 11, No. 34, pp. 223244.
Morin P. and Samson C. (2003): Practical stabilization of drift-
less systems on Lie groups: The transverse function ap-
proach. IEEE Trans. Automat. Contr., Vol. 48, No. 9,
pp. 14961508.
Morin P. and Samson C. (2002): Feedback control of nonholo-
nomic wheeled vehicles: A survey. Arch. Contr. Sci.,
Vol. 12, No. 48, pp. 736.
Murray R.M. and Sastry S. (1993): Nonholonomic motion plan-
ning: Steering using sinusoids. IEEE Trans. Automat.
Contr., Vol. 38, No. 5, pp. 700716.
Jedwabny T., Kieczewski M., Kowalski M., awniczak M.,
Michalski M., Michaek M., Pazderski D. and Kozowski
K. (2004): Nonholonomic mobile robot MiniTracker re-
search and educational purposes. Proc. 35-th Int. Symp.
Robotics, Paris, France, pp. 254259.
Kozowski K. and Majchrzak J. (2002): A new control algo-
rithm for a nonholonomic mobile robot. Arch. Contr.
Sci., Vol. 12, No. 48, pp. 3769.
Kozowski K. and Pazderski D. (2003): Control of a four-wheel
vehicle using kinematic oscillator. Proc. 6-th Int. Conf.
Climbing and Walking Robots and their Supporting Tech-
nologies, CLAWAR 2003, Catania, Italy, pp. 135146.
Pacejka H.B. (2002): Tyre and Vehicle Dynamics. Oxford:
Butterworth-Heinemann.
Pazderski D., Kozowski K. and Dixon W.E. (2004): Tracking
and regulation control of a skid steering vehicle. Amer.
Nuclear Soci, 10-th Int. Topical Meeting Robotics and Re-
mote Systems, Gainesville, Florida, USA, pp. 369376.
Spong M.W. (1992): On the robust control of robot manipu-
lators. IEEE Trans. Automat. Contr., Vol. 37, No. 11,
pp. 17821786.

You might also like