Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I. I NTRODUCTION
The field of mobile robotics is an active research area with
promising new application domains in industrial as well as
in service robotics. Mobile robots are especially appropriate
in applications where flexible motion planning is required.
There are many robot navigation strategies, and in cases where
operating environment map is known, approach with trajectory
planning algorithms is commonly used. Here the term trajectory denotes the path that robot should traverse as a function
of time. Trajectory planner generates the appropriate trajectory
with goal of arriving at a particular location, patrolling trough
specified area etc, and at the same time avoiding collisions
with different kinds of obstacles. To obtain feasible trajectory,
that is, the trajectory that is robot actually able to track, the
planner also needs to consider various robot physical and
dynamic limitations such as its velocity and acceleration limits.
A trajectory can be generated in real-time on the basis of
current sensor readings or generated in advance on the basis
of operating environment map.
Once the trajectory is planned, the robot must actually track
it. This means that reference point on the robot must follow
the planned trajectory. In other words, the distance between
the reference point on the robot and current path reference
point must be kept as small as possible. Ideally, this could be
achieved using only feedforward commands. But of course,
measurement errors and other real world issues force us to use
feedback control and combine it with feedforward commands.
An experimental overview of trajectory tracking controllers
based on linear, nonlinear and dynamic feedback linearization
methods is given in [1]. However, advanced control methods,
such as model predictive control, are not considered. Some
examples of using model predictive controller for trajectory
tracking of nonholonomic systems can be found in [2] and [3],
(xr , yr)
e1
e2
vL
vR
(x , y)
b
x
Fig. 1.
Robot model
x
cos 0
y = J v = sin 0 v .
(1)
0
1
Angle is robot heading direction that is taken counterclockwise from the x-axis. The mapping between tangential
(driving) and angular (steering) velocities and circumferential
velocities of the wheels (see Fig. 1), which are actual commands to the system, is given by:
vR = v + b/2,
vL = v b/2,
(2)
(3)
||/max ,
1} .
c = ,
= /,
if = 1;
if = |v|/vmax ;
= sign()max ,
(4)
else.
(5)
(6)
(7)
(8)
r ] ,
(10)
cos
sin 0
xr x
e1
e(t) = e2 = sin cos 0 yr y .
r
e3
0
0
1
(11)
Note that errors e1 and e2 are actually position error components expressed in robot local coordinate system, as shown
in Fig. 1. By deriving equation (11) and taking into account
robot kinematics (1) and (3) the error dynamics becomes
cos e3 0
1 e2
e 1
v
v
r
e 2 = sin e3 0
0 e1
,
+
r
0
1
e 3
0
1
(12)
Rewriting eq. (12) and using equations (9) and (10), the
following error dynamics model is obtained
0 0
0
1 0
0 uB .
e = 0 0 e + sin e3 vr + 0
0
0 0
0
0 1
(13)
Feedforward
part
uF
Reference
trajectory
generator
uB
qr
Transformation to
robot coordinates
Fig. 2.
(16)
The structure of gain matrix (16) can be intuitively explained by looking at Fig. 1. The tangential error e1 is reduced
by manipulating the command tangential velocity vB via gain
k1 . The orientation error e3 is reduced similarly by controlling
command angular velocity B of the robot via gain factor k3 .
Finally, the orthogonal error e2 is also reduced by changing
the angular velocity, but here the driving direction (forward or
backward) should also be taken into account.
Now the gains k1 , k2 , k3 are determined by using desired
closed-loop characteristic equation
( + 2n )(2 + 2n + n2 )
(17)
Mobile
robot
0
r 0
1 0
e = r 0 vr e + 0
(14)
0 uB .
0
0 0
0 1
Controller gain
K
(21)
h
i=1
(22)
where (k, i) = er (k + i) e(k + i|k) is difference between
reference (desired) trajectory tracking error er (k + i) and
predicted trajectory tracking error e(k + i|k), h is prediction
horizon interval, and Q and R are weighting matrices, where
Q 0, Q Rn Rn and R 0, R Rm Rm , n
(24)
h1
h
h1
e(k + h|k) =
A(k + j|k)e(k) +
A(k + j|k)
j=1
i=1
j=i
B(k + i 1|k)uB (k + i 1)
+B(k + h 1|k)uB (k + h 1).
(25)
Now the vector of trajectory tracking error predictions is
defined as
T
E (k) = e(k + 1|k)T e(k + 2|k)T . . . e(k + h|k)T
(26)
where E Rnh . If the control vector is defined as
T
UB (k) = uB (k)T uB (k + 1)T . . . uB (k + h 1)T ,
(27)
where UB Rmh , and
(k, i) =
h1
A(k + j|k),
(28)
j=i
(29)
where
F (k) = [A(k|k)
and
G(k) =
B(k|k)
A(k + 1|k)B(k|k)
.
.
.
(k, 1)B(k|k)
A(k + 1|k)A(k|k)
B(k + 1|k)
.
.
.
(k, 2)B(k + 1|k)
..
.
...
(k, 0)] ,
(30)
0
.
.
.
.
.
.
B(k + h 1|k)
(31)
where F (k) Rnh Rn , G(k) Rnh Rmh .
The reference trajectory tracking error can be defined as
er (k + 1) = Air e(k),
i = 1, . . . , h.
(32)
Fr = Ar
nh
A2r
...
Ahr
(34)
T
(35)
and Fr R R .
The cost function (22) can now be expressed as
J(UB ) = (Er E )T Q(Er E ) + UBT RUB .
(36)
Q=
0
..
.
Q
..
.
..
.
0
..
.
..
.
Q
,R =
0
..
.
R
.. . .
.
.
0
0
..
.
..
.
R
(38)
where Q Rnh Rnh and R Rmh Rmh . The feedback
control law of the MPC controller now becomes
uB (k) = Kmpc e(k)
(39)
1.6
1.4
1.4
1.2
1.2
y [m]
y [m]
1.6
0.8
0.8
0.6
0.6
0.4
0.4
0.4
0.6
0.8
1.2
x [m]
1.4
1.6
1.8
0.2
Fig. 3. Trajectory tracking experiment with linear controller: robot path (),
reference path (- -)
4 0
0
Q = 0 10 0 , R = I22 103 .
0 0 0.1
The obtained robot paths for experiments with linear, nonlinear and MPC controller are given in Figures 3, 4 and 5,
respectively. The correspondent sum of squared errors (SSE)
for each component of error vector e are
SSElinear = (0.0177 0.0397 0.4395)
SSEnonlinear = (0.0144 0.0354 0.3555)
SSEMP C = (0.0442 0.0416 0.4010).
It can be seen that nonlinear controller has the lowest SSE
for all three error components, although this difference is not
significant which can also be confirmed visually by comparing
obtained paths. The error of linear controller is only slightly
higher compared to nonlinear. But although in simulations
MPC gives lower tracking error than linear and nonlinear
controllers, in real world it is no more the case as it results
with somewhat higher longitudinal error e1 while other two
error components are comparable with other controllers.
The produced command robot velocities of linear, nonlinear and MPC controller experiments, together with ideal
commands obtained from reference trajectory, are given in
0.4
0.6
0.8
1.2
x [m]
1.4
1.6
1.8
1.6
1.4
1.2
1
y [m]
0.2
0.8
0.6
0.4
0.2
0.4
0.6
0.8
1.2
x [m]
1.4
1.6
1.8
Fig. 5. Trajectory tracking experiment with MPC controller: robot path (),
reference path (- -)
2
u1
vr
u2
2
u1
vr
u2
r
6
r
7
t [s]
t [s]
Fig. 8.
Experiment with MPC controller: reference tangential (vr ) and
angular (r ) velocity, command tangential (u1 ) and angular (u2 ) velocity
ACKNOWLEDGMENT
2
u1
vr
u2
r
t [s]
R EFERENCES
[1] A. D. Luca, G. Oriolo, and M. Vendittelli, Control of wheeled mobile
robots: An experimental overview, in:S. Nicosia, B. Siciliano. A. Bicchi,
p: Valigi, (Eds.) RAMSETE - Articulated and Mobile Robotics for Services
and Technologies, 3rd ed. Springer-Verlag, 2001.
[2] A. Ollero and O. Amidi, Predictive path tracking of mobile robots,
in Proceedings of 5th International Conference on Advanced Robotics,
Robots in Unstructured Environments (ICAR 91), vol. 2, June 1991, pp.
1081 1086.
[3] J. E. Normey-Rico, J. Gmez-Ortega, and E. F. Camacho, A smithpredictor-based generalised predictive controller for mobile robot pathtracking, Control Engineering Practice, vol. 7, no. 6, pp. 729 740,
1999.
[4] G. Klancar and I. Skrjanc, Tracking-error model-based predictive control
for mobile robots in real time, Robotics and Autonomous Systems,
vol. 55, pp. 460469, 2007.
[5] G. Oriolo, A. D. Luca, and M. Vendittelli, WMR control via dynamic
feedback linearization: Design, implementation, and experimental validation, IEEE Tranasactions on Control Systems Technology, vol. 10, no. 6,
pp. 835 852, 2002.
[6] C. Samson, Time-varying feedback stabilization of car-like wheeled
mobile robots, International Journal of Robotics Research, vol. 12, no. 1,
pp. 55 64, 1993.
[7] H. Kitano, M. Asada, Y. Kuniyoshi, I. Noda, and E. Osawa, RoboCup:
The robot world cup initiative, in Proceedings of the First International
Conference on Autonomous Agents (Agents97). New York: ACM Press,
1997, pp. 340347.