Professional Documents
Culture Documents
123
Series Advisory Board
F. Allgöwer · P. Fleming · P. Kokotivic · A.B. Kurzhanski ·
H. Kwakernaak · A. Rantzer · J.N. Tsitsiklis
Editor
Professor Dr.-Ing. habil. Krzysztof Kozłowski
Poznan University of Technology
Institute of Control and Systems Engineering
ul. Piotrowo 3a
60-965 Poznań
Poland
Krzysztof.Kozlowski@put.poznan.pl
MATLAB® and Simulink® are registered trademarks of The MathWorks, Inc., 3 Apple Hill Drive,
Natick, MA 01760-2098, USA. http://www.mathworks.com
Apart from any fair dealing for the purposes of research or private study, or criticism or review, as
permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced,
stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers,
or in the case of reprographic reproduction in accordance with the terms of licences issued by the Copyright
Licensing Agency. Enquiries concerning reproduction outside those terms should be sent to the publishers.
The use of registered names, trademarks, etc. in this publication does not imply, even in the absence of a
specific statement, that such names are exempt from the relevant laws and regulations and therefore free for
general use.
The publisher makes no representation, express or implied, with regard to the accuracy of the information
contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that
may be made.
9 8 7 6 5 4 3 2 1
to this book showing that many new research groups are being set up
throughout the world. This book should strengthen the relationship
between the new and old members of the European Community.
The members of the International Program Committee have worked
in the area of robotics and automation for many years. They have
experience in various fields of robotics and basically have worked on
control theory with applications to robotics for many years. They took
active part in the reviewing procedure during last months when this
book was being built up.
This book consists of nine parts. The first part deals with control
of nonholonomic systems. The second part is devoted to vision based
control robotic systems. In the third part new control algorithms for
robot manipulators are presented. The fourth part is devoted to new
trends in kinematics and localization methods. Next part deals with
trajectory planning issues for nonholonomic systems. Applications of
rehabilitation robots is the subject of the sixth part. Part seven is
dedicated to humanoid robots. Next part is devoted to application of
robotic systems. Finally, the last part deals with multiagent systems.
The book is addressed to Ph.D. students of robotics and automation,
informatics, mechatronics, and production engineering systems. It will
also be of interest to scientists and researchers working in the above
fields.
I would like to take this opportunity to thank all the reviewers
involved in the reviewing process. I am very grateful to Mr K. Ro-
manowski for his suggestions concerning improvement of English. I am
also grateful to Dr W. Wróblewski for his help and patience and type-
setting of this book.
Mr O. Jackson and Mr A. Doyle, our editors at Springer, are grate-
fully acknowledged for their encouragement in pursuing this project.
1.1 Introduction
Lighter-than-air vehicles suit a wide range of applications, ranging from
advertising, aerial photography, and survey work tasks. They are safe,
cost-effective, durable, environmentally benign and simple to operate.
Since their renaissance in early 1990’s, airships have been increasingly
considered for varied tasks such as transportation, surveillance, freight
carrier, advertising, monitoring, research, and military roles. What
makes a vehicle lighter than air is the fact that it uses a lifting gas
(i.e. helium or hot air) in order to be lighter than the surrounding air.
The principle of Archimedes applies in the air as well as under water.
The difference between airships and balloons is that: balloons simply
follow the direction of the winds; in contrast, airships are powered and
have some means of controlling their direction. Non rigid airships or
pressure airships are the most common form nowadays. They are ba-
sically large gas balloons. Their shape is maintained by their internal
overpressure. The only solid parts are the gondola, the set of propeller
(a pair of propeller mounted at the gondola and a tail rotor with hori-
zontal axis of rotation) and the tail fins. The envelope holds the helium
that makes the airship lighter than air. In addition to the lift provided
by helium, airships derive aerodynamic lift from the shape of the enve-
lope as it moves through the air. The most common form of a dirigible
is an ellipsoid. It is a highly aerodynamic profile with good resistance
to aerostatics pressure.
The objective of the first part of this paper is to present a model
of an autonomous airship: kinematics and dynamics, taking into ac-
count the wind effect. The second part of this article is concerned with
methods of computing a trajectory in space that describes the desired
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 3–28, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
4 Y. Bestaoui and S. Hima
1.2.1 Kinematics
the envelope [16, 8]. These three frames are classically considered in
the derivation of the kinematics and dynamics equations of motion of
the aerial vehicles. There are many ways to describe finite rotations
between frames. Direction cosines, quaternions, Euler angles, can serve
as examples. Some of these groups of variables are very close to each
other in their nature.
The usual minimal representation of orientation is given by a set
of three Euler angles which, assembled with the three position coordi-
nates, allow the description of a rigid body. A 3 × 3 direction cosine
matrix (of Euler parameters) is used to describe the orientation of the
body (achieved by 3 successive rotations) with respect to some fixed
frame reference. This parametrisation is a three-parameter set corre-
sponding to well known quantities like the yaw ψ, pitch θ, and roll φ,
which are directly measured by the attitude sensors such as inclinome-
ter and magnetic compass. Adopting this formulation, the rotation ma-
trix R can be given by:
cψ cθ −sψ cφ + cψ sθ sφ sψ sφ + cψ sθ cφ
R = sψ cθ cψ cφ + sψ sθ sφ −cψ sφ + sψ sθ cφ , (1.1)
−sθ cθ sφ cθ cφ
1.2.2 Dynamics
dirigible are derived. The forces and moments are referred to a sys-
tem of body-fixed axes, centered at the airship center of gravity. There
are in general two approaches in deriving equations of motion. One is
to apply Newton’s law and Euler’s law, which can give some physi-
cal insight through the derivation. The other one is more complicated;
it provides the linkage between the classical framework and the La-
grangian or Hamiltonian framework. In this paper, we apply Newton’s
laws of motion to relate the applied forces and moments to the re-
sulting translational and rotational accelerations. We will make in the
sequel some simplifying assumptions: the Earth fixed reference frame
is inertial, the gravitational field is constant, the airship is supposed to
be a rigid body [1], meaning that it is well inflated, the density of air
is supposed to be uniform, and the mass of the airship is considered
to be unchanged. Taking into account these suppositions, the analytic
expressions of forces and moments acting on the airship expressed in
body-fixed frame Rm , can be given by:
M ν̇ = C(ν)ν + τs + τa + τp ,
(1.9)
η̇ = J(η2 )ν,
where:
mI3×3 −mSk(CG)
• M = is the airship inertia matrix, m is
mSk(CG) IC
Ixx 0 Ixz
the airship total mass, and IC = 0 Iyy 0 is the moment of
Izx 0 Izz
inertia matrix;
03×3 Sk(ν1 + ν2 × CG)
• C(ν) = is the Coriolis-
Sk(ν1 + ν2 × CG) Sk(IC ν2 )
centrifugal matrix associated to the airship body mass; it depends
on the airship local velocities;
FG + FB
• τs = is the static tensor due to the weight
CG × FG + CB × FB
and buoyancy forces; this tensor can be simplified to the effect of the
weight force or to the buoyancy force if the origin of the local frame
has been chosen at the gravity center of mass or at the buoyancy
point, respectively;
• τp is the propulsion system tensor;
• τa is the aerodynamic tensor due to the atmosphere-airship interac-
tion and depends on the relative velocity.
When the airship moves, the air close to its body is moved. Contrary
to the other aerial vehicles, the mass of the displaced air is close to that
8 Y. Bestaoui and S. Hima
Actuators provide the means for maneuvering the airship along its
course. An airship is propelled by thrust. Propellers are designed to
exert thrust to drive the airship forward. The most popular propulsion
system layout for pressurized non-rigid airships is twin ducted pro-
pellers mounted on either side of the envelope bottom. Another one
exists in the tail for torque correction and attitude control. The AS200
airship is an under-actuated system with two types of control: forces
generated by thrusters and angular input µm controlling the direction
of the thrusters
1 Modelling and Trajectory Generation of Aerial Robots 9
Fm sin µm
Ft
Fm cos(µm )
τp = .
0
Pmz sin µ
PTx FT
Starting with this condition, and focusing on the angular velocity kine-
matics transformation we have:
ν2 = J2 (η2 )−1 η˙2 . (1.14)
By deriving the above equation with respect to time and using condition
(1.13), we can find:
ṗ =φ̈ − ψ̈ sin(θ) − ψ̇ cos(θ)θ̇ = 0,
q̇ =θ̈ cos(φ) − θ̇ sin(φ)φ̇ + ψ̈ sin(φ) cos(θ)
− ψ̇ cos(φ) cos(θ)ψ̇ + ψ̇ sin(φ) sin(θ)θ̇ = 0, (1.15)
ṙ = − θ̈ sin(φ) − θ̇ cos(φ)φ̇ + ψ̈ cos(φ) cos(θ)
− ψ̇sin(φ) cos(θ)φ̇ − ψ̇ cos(φ) sin(θ)θ̇ = 0.
In addition, the controls are assumed to be constant. Based on the
dynamics equation (1.12), all forces and moments acting on the airship
depending on the velocity vector are constant except the vector of the
aerostatic forces and moments g(η2 ), which depends on the attitude
variables, the roll φ, and the pitch θ angles. It follows that, in order to
guarantee the stationarity of this vector, the roll θ and pitch φ angles
must be constant. Hence, Equation (1.15) can be simplified to:
p = − ψ̇ sin θ,
q =ψ̇ sin(φ) cos(θ), (1.16)
r =ψ̇ cos(φ) cos(θ).
The components of the body-fixed angular velocity vector depend on
the roll angle φ, pitch angle θ, and the yawing rate ψ̇.
In addition, by manipulating the linear velocity kinematics trans-
formation and assuming that there is no tail rotor, it is possible to
characterize the geometry of the trim trajectories as follows:
a
η̇1 = J1 (η2 )ν1 = Rz (ψ) b , (1.17)
c
a
where b = Ry (θ)Rx (φ)ν1 and
c
a cos(ψ̇t) − b sin(ψ̇t) V cos(γ) cos(ψ̇t + ψ0 )
η̇1 = a sin(ψ̇t) − b cos(ψ̇t) = V cos(γ) sin(ψ̇t + ψ0 ) . (1.18)
c −V sin(γ)
12 Y. Bestaoui and S. Hima
√
a2 +b2
γ = cos−1 Ve represents the flight path angle. Ve = kv1 k is the
navigation speed, and ψ0 is the initial airship heading orientation.
By integrating the above equation, the geometric characterization
of trim trajectories can be described by:
V
cos(γ) sin(ψ̇t + ψ0 ) x0
ψ̇
η1 = − V cos(γ) cos(ψ̇t + ψ0 ) + y0 . (1.19)
ψ̇
−V sin(γ)t z0
Under-Actuation Constraints
where g1 = (1, 0, 0, 0, Pmz , 0)T and g2 = (0, 0, 1, 0, Pmx , 0)T are the con-
trol vector fields. Let G = (g1 , g2 ) ∈ R6×2 define the subspace spanned
by the control vector fields and G T ∈ R4×6 be the orthogonal subspace
to the actuated space defined by:
G ⊥ G = 04×2 , (1.26)
−Pmz 0 −Pmx 010
0 1 0 0 0 0
G⊥ =
0
. (1.27)
0 0 1 0 0
0 0 0 001
The under-actuated constraints related to the propulsion system are
given by:
My (νe , η2e , δe )−Pmz Fx (νe , η2e , δe )−Pmx Fz (νe , η2e , δe )
Fy (νe , η2e , δe )
G ⊥ τp =
= 0.
Mx (νe , η2e , δe )
Mz (νe , η2e , δe )
(1.28)
Other Constraints
without loss of generality and under the constancy of the velocity norm,
we can restrict the previous expression to the energy consumed in unit
of time, i.e. tf − t0 = 1 as:
2
E = Fm . (1.36)
100
50
0
z
−50
−100
10 600
5
400
0
200
−5
y −10 0 x
1
ve
0
we
−1
0 10 20 30 40 50 60 70 80 90 100
t (s)
R=40m. Due to the symmetry of the dynamics of the airship with respect
to the yaw angle ψ, it is possible to find the opposite circular trim
trajectories by inverting the rudder angle δr . Figure 1.4 illustrates the
evolution of the trim vector components Te corresponding to circular
trim trajectory.
−100
−50
0 −100
50
100
−50
y
x 0
50
100
−20
−10
z
10
20
ue
4
2
ve
1
0
we
−1
0 10 20 30 40 50 60 70 80 90 100
t (s)
100
50
0 100
−50
−100
50
−50
−100
−50
50
100
u
5
2
w v
1
−1
0 10 20 30 40 50 60 70 80 90 100
t (s)
z f1 = τ2 gives
In addition, Pm
Iyy ℵ+(M11 −M33 )uw+(I11 −I33 ) φ̇− ψ̇Sθ −θ̇Sφ + ψ̇Cφ Cθ
+ Dq θ̇Cφ + ψ̇Sφ Cθ − zb BSθ + zb BSθ + Pmz M11 u̇
(1.39)
+ Pmz M22 w θ̇Cφ + ψ̇Sφ Cθ − Pmz M22 v −θ̇Sφ + ψ̇Cφ Cθ
+ Pmz Du u + Pmz (mg − B)Sθ = 0,
where
α′0 (Iyy − I11 ) − PTx (mg − B)Cθ Sφ + Dr (ψ̇Cθ Cφ − θ̇Sφ )
α0 =
−PTx (ψ̇Sθ − φ̇)
(1.45)
Izz (ψ̈Cθ Cφ − θ̈Sφ − ψ̇Sθ Cθ Sφ − θ̇φ̇Cφ )
+ ,
−PTx M22 (ψ̇Sθ − φ̇)
where
= β0′ + β3′ α0 ,
β0 β5 = β ′ α4 ,
= β1′ + α1 β3′ + α0 β5′
β1 β6 = β2′ + α2 β3′ ,
= β5′ α1 ,
β2 β7 = α4 β3′ ,
= β5′ α2 + α3 β3′ ,
β3 β8 = β4′ ,
= β5′ α3 ,
β4
β0′ = Iyy β0′′+(Ixx−Izz )β0′′′+Dq ψ̇Cθ Sφ + θ̇Cφ −Bzb Sθ +Pmz (mg−B)Sθ ,
β0′′ = ψ̈Cθ Sφ + θ̈Cθ + ψ̇ φ̇Cθ Cφ − ψ̇ θ̇Sθ Sφ − θ̇ φ̇Sφ ,
β0′′′ = −θ̇φ̇Sφ + ψ̇ φ̇ + ψ̇ θ̇Sθ Sφ − ψ̇ 2 Cθ Sθ ,
β1′ = Pmz Xu ,
β2′ = −Pmz M22 ψ̇Cθ Cφ − θ̇Sφ ,
β3′ = Pmz M22 ψ̇Cθ Sφ + θ̇Cφ ,
β4′ = Pmz M11 ,
β5′ = (M11 − M22 ).
The differential equation
aψ̈ + bψ̇ 2 + cψ̇ + d = 0, (1.49)
1 Modelling and Trajectory Generation of Aerial Robots 21
where
where
−ψ̇ 2 Sθ Cθ Sφ (Iyy − Ixx ) + Dr ψ̇Cθ Cφ
α0 =
PTx ψ̇Sθ M22
(1.55)
−PTx (mg − B)Cθ Sφ + Izz ψ̈Cθ Cφ
+ ,
PTx ψ̇Sθ M22
Cθ Cφ M11 Dv
α1 = − , α2 = , (1.56)
Sθ M22 M22 ψ̇Sθ
M11 − M22 1
α3 = , α4 = , (1.57)
PTx M22 ψ̇Sθ ψ̇Sθ
while the second equality constraint gives
22 Y. Bestaoui and S. Hima
β0 + β1 u + β2 u2
v=− (1.58)
β6 + β3 u + β4 u2
for u̇ = v̇ = 0. Otherwise,
β0 + β1 u+ β2 u2 + β3 uv + β4 u2 v + β5 uv̇ + β6 v + β7 v̇ + β8 u̇ = 0. (1.59)
When u̇ = v̇ = ẇ = 0, we retrieve the classical kinematics equations
of the trim equations.
• ψ̇ is not constant: in this paragraph, the roll and pitch angles are
assumed to have linear variations:
θ = θ̇0 t + θ0 , φ = φ̇0 t + φ0 .
When the coefficients of the non-autonomous logistic equation are
no longer constant, no explicit solutions can be found in general
and the equilibrium point may become unstable. For a study to
be complete, the existence of stable periodic or stable bounded so-
lutions is an essential part of qualitative theory of this differential
equation, in order to determine non trivial solutions and study their
behavior. Nkashama proved that the logistic equation with positive
non-autonomous bounded coefficients has exactly one bounded so-
lution that is positive and does not tend to zero.
Solving the first equality constraint, the roll moment being null,
for all t, implies Lp φ̇0 = 0 → φ̇0 = 0. Rearranging the first equality
constraint with this requirement gives θ̇Cφ0 Sφ0 = 0. Three cases are
possible: θ̇0 = 0, φ0 = 0, or φ0 = π/2.
The first case: trim trajectories have already been studied in
paragraph 1.3.1. If the roll angle is null, the following differential
equations must be solved
Cθ
ψ̈ + ψ̇ a + bθ̇0 = 0, (1.60)
Sθ
where a = Lp /Ixx , b = −(Izz − Iyy − Izz )/Ixx , and the following
derivative ψ̇ is obtained
− aθ
θ̇0 Sθ0 θ0b Sθ−b e θ̇0
ψ̇(t) = − . (1.61)
− cosh aθ θ˙
0
+ sinh aθ0
θ˙
0 0
0
0.4
−0.05
0.2
psi
−0.1
0 −0.15
0
2
−1 1 −0.2
−2 0 0 0.5 1
1.5 0.2
1
0.1
VW
0.5
PQR
0
0
−0.1
−0.5
−1 −0.2
0 0.5 1 0 0.5 1
0
0 −0.05
−0.1
−0.1
psi
−0.15
−0.2
0.2 −0.2
2
0 1 −0.25
−0.2 0 0 0.5 1
1 0.2
0.5 0.1
VW
0 0
PQR
−0.5 −0.1
−1 −0.2
−1.5 −0.3
0 0.5 1 0 0.5 1
0
1 −0.1
−0.2
0
psi
−0.3
−1
1 −0.4
2
0 1 −0.5
−1 0 0 0.5 1
4 0.5
2 0
PQR
VW
0 −0.5
−2 −1
0 0.5 1 0 0.5 1
0
0 −0.1
−0.2
−0.2
psi
−0.3
−0.4
1 −0.4
2
0 1 −0.5
−1 0 0 0.5 1
2 0.5
1
PQR
VW
0 0
−1
−2 −0.5
0 0.5 1 0 0.5 1
certain transition time, they tend to have permanent values. For case
4, shown in Fig. 1.10, when the derivative of the longitudinal velocity
is non-zero, the nonlinear phenomenon is amplified.
26 Y. Bestaoui and S. Hima
1.5 Conclusions
References
2.1 Introduction
rotors so that the collective thrust exceeds the weight of the rig. While
doing this, the thrust from each rotor must balance the thrust from the
opposite rotor. Rotors 1 & 3 rotate clockwise and rotors 2 & 4 rotate
counter-clockwise to counter-balance the gyroscopic moments causing
the rigid body rotation about the Z axis.
.. . . Iz − Ix Ip . l
θ = φψ +φ(Ω2 + Ω4 − Ω1 − Ω3 ) + b(Ω32 − Ω12 ), (2.2)
Iy Iy Iy
.. . . Ix − Iy l
ψ = θφ + d(Ω22 + Ω42 − Ω12 − Ω32 ), (2.3)
Iz Iz
where Ix , y, z are the rotational inertias of the body, Jp is the rotational
inertia of the propeller, Ω is the angular speed of the rotor, l is the
rotor position from the centre, b and d are thrust and drag coefficients,
respectively.
The assumptions for this model are:
• the body is rigid and symmetrical;
• the centre of mass and the body fixed frame origin coincide;
• the propellers are rigid, i.e. no blade flapping occurs.
As the equations show there is coupling present between the rotational
speeds of the body.
32 T.S. Kim, K. Stol, and V. Kecman
Linearization of the nonlinear quadrotor plant is the first step for de-
riving a linear control law. The plant is linearized about an equilibrium
2 Control of 3 DOF Quadrotor Model 33
∆φ̇ 000100 ∆φ
∆θ̇
0 0 0 0 1 0
∆θ
∆ψ̇ 0 0 0 0 0 1 ∆ψ
= ∆φ̇ +
∆φ̈ 0 0 0 0 0 0
∆θ̈ 0 0 0 0 0 0 ∆θ̇
∆ψ̈ 000000 ∆ψ̇
(2.4)
0 0 0 0
0 0 0 0
∆Ω1
0 0 0 0
∆Ω2
.
0 −2b Ilx Ωss 0 2b Ix Ωss
l
∆Ω3
−2b l Ω 0 2b Ily Ωss 0
Iy ss ∆Ω4
−2d Ilz Ωss 2d Ilz Ωss −2d Ilz Ωss 2d Ilz Ωss
000 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
− − −
A=
0 0 0 0 I1 ψ̇ −I4 Ω I1 θ̇
, and B = (2.5)
− − −
0 0 0 I2 ψ̇ +I5 Ω 0 I2 φ̇
− −
000 I3 θ̇ I3 φ̇ 0
34 T.S. Kim, K. Stol, and V. Kecman
0 0 0 0
0 0 0 0
0 0 0 0
− − − −
− −
I4 θ̇ −(I4 θ̇ +2bI6 Ω2 ) I4 θ̇ −I4 θ̇ +2bI6 Ω4 ,
− − − −
−(I φ̇ +2bI Ω− ) I5 φ̇
−
−I5 φ̇ +2bI7 Ω3 I5 φ̇
5 7 1
− − − −
−2dI8 Ω1 2dI8 Ω2 2dI8 Ω3 −2dI8 Ω4
(2.6)
where I1 = (Iy −Iz )/Ix , I2 = (Iz −Ix )/Iy , I3 = (Ix −Iy )/Iz , I4 = Jp /Ix ,
I5 = Jp /Iy , I6 = l/Ix , I7 = l/Iy , I8 = l/Iz . The bar above a symbol
denotes its current value. This is more accurate linearization of the
plant, but recalculating the state matrix, input matrix, and control
gain K for every step is computationally expensive. The control law
becomes u = −K(t)x, where K(t) is the time-varying control gain
matrix.
Iy . . Iz − Ix Jp .
U2 = (− φ ψ − φ(Ω2 + Ω4 − Ω1 − Ω3 ) − k2 x), (2.8)
l Iy Iy
Iz . . Ix − Iy
U3 = (− θ φ − k3 x), (2.9)
l Iz
where
U1 = F4 − F2 , U2 = F3 − F1 , U3 = db (F2 + F4 − F1 − F3 ). (2.10)
F1 to F4 are the thrust forces from the four rotors as shown in Fig. 2.1.
Equation (2.10) can be resolved into the individual forces using pseudo
inversion.
2 Control of 3 DOF Quadrotor Model 35
2.5 Simulations
Simulations were run in Simulink for all the four previously derived
controllers. The controllers are set to regulate all states. The initial
conditions are: φ = 0.5, θ = 0.3 rad, ψ = −0.2 rad. The control para-
meters for each controller are tuned to return the least possible ITSE
index in state regulation. For numerical comparisons the performance
index ITSE is used with total control effort. Each controller is tuned to
return the least possible ITSE index. Figure 2.3 shows the simulation
result for the four types of controllers in state regulation in pitch ori-
entation. Figure 2.4 shows the responses with uncertainty introduced
to plant parameters.
Tables 2.1 and 2.2 summarize the performance of the four differ-
ent control techniques. With accurate plant parameters, sliding mode
controller returns the best result. It is evident that a better response
is obtained with larger control effort but relatively small percentage
changes in total control effort indicate that the effort required to im-
prove orientation control is much smaller than that for balancing the
gravitational force. On the other hand, with model uncertainty intro-
duced, the performance of sliding mode controller deteriorates and the
performance of LQR with gain scheduling becomes outstanding.
36 T.S. Kim, K. Stol, and V. Kecman
Table 2.1. ITSE values and total control efforts in state regulation
Table 2.2. ITSE values and total control efforts with model uncertainty
2.6 Conclusions
In this paper, four different control techniques: LQR, LQR with gain
scheduling, feedback linearization, and sliding mode control were de-
rived and simulated on a 3-DOF quadrotor model. Compared under
ITSE criteria, sliding mode control produced the best result with accu-
rate plant model, while LQR with gain scheduling showed robustness
against the model uncertainty. It is concluded that nonlinear control
techniques have greater dependency on accurate model estimation. The
quadrotor model is currently undergoing a gain tuning stage. The simu-
lation results will be tested on the experimental rig for real-time result
and further comparison is to be done. Our experimental rig can be
further improved in the future by reducing the weight and using other
sensor combination for a complete 6-DOF free-flying quadrotor.
References
1. Sugiura R, Fukagawa T, Noguchi, N (2003) Field Information Sys-
tem Using an Agricultural Helicopter towards Precision Farming. Proc
IEEE/ASME Int. Conf. on Advanced Intelligent Mechatronics 1073–1078
2. Lozano R, Castillo P, Dzul A (2004) Global stabilization of the PVTOL:
real - time application to a mini-aircraft. Int. Journal of Control 77- 8:
735–740
3. Bouabdallah S, Noth A, Siegwart R (2004) PID vs LQ Control Tech-
niques Applied to an Indoor Micro Quadrotor. Proc. IEEE Int. Conf. on
Intelligent Robots and Systems
38 T.S. Kim, K. Stol, and V. Kecman
3.1 Introduction
∗
The authors acknowledge King Fahd University of Petroleum and Minerals,
Dhahran 31261 Saudi Arabia, for supporting this research.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 39–48, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
40 A. Al-Garni et al.
where the matrices P (q), H ∗ (q), C ∗ (q, q̇) are defined as P (q) = R−1 (q),
H ∗ = P T hP , and C ∗ = −H ∗ ṘP − P T S(hP q̇)P . For ease of notation
we use H ∗ (q) = H ∗ , P (q) = P , and C ∗ (q) = C ∗ .
o o
V1 (q, q̇) = −q̇T sd q̂ (t), (3.17)
o
where V1 (q, q̇) is the time derivative of V (q, q̇), when τ is given by
(3.16). V (q, q̇) in (3.9) is a Lyapunov function as it is positive definite
and its time derivative in (3.14) is negative semi-definite. Since V̇ (q, q̇)
o
in (3.14) is negative semi-definite then V1 (q, q̇) in (3.17) is also negative
semi-definite for large α. Therefore, the closed loop will remain stable.
The control law for the stabilized plant using a PID controller is
given as
o
τf = RT τP ID + sp q̃ − sd q̂ (t)) . (3.19)
Thanks to the presence of the integral part in the PID, the plant output
tracks the low frequency reference input such as constants and low
frequency sinusoids. The PID parameters kp , Ti , and Td are updated
from the IMC based plant model estimate.
44 A. Al-Garni et al.
Table 3.1. PID parameters obtained by the Ziegler-Nichols step response and
Cohen-Coon methods
The main features of the IMC are simple structure, fine disturbance
rejection capabilities, and robustness [15, 16]. Some of the important
properties of the IMC are given in [17]. The IMC structure is shown
in Fig. 3.3, where r(t) is the reference signal, fC (.) represents the con-
troller, fP (.) and fM (.) represent the stabilized plant and its model,
respectively. The controller output uc (t) is fed to both the plant and
its model. The plant output YP (t) is compared with the output of the
ˆ represents the tracking error,
model YM (t) and the resulting signal d(t)
which is given by
ˆ = YP (t) − YM (t).
d(t) (3.20)
ˆ is a measure of the difference in behavior between the plant and
d(t)
its model and can therefore be used to improve control effort. This is
ˆ from the reference signal r(t); the resulting
given by subtracting d(t)
control signal is given by
ˆ
uc (t) = fC r(t) − d(t) . (3.21)
where µ is the step size parameter and controls the convergence char-
acteristics of the NLMS algorithm. Wk is the weight vector between
the delayed inputs and the outputs of the adaptive filter. The weights
of the NLMS adaptive filer are adjusted to minimize the plant-model
mismatch. If the model is the exact representation of the plant, i.e.
fM (.) = fP (.), and the controller is the inverse of the model, i.e.
fC (.) = [fM (.)]−1 , then q −L + q −L ∆(q) can be regarded as the delay
Fig. 3.4. IMC based attitude tracking qd1 (t), q1 (t), qd2 (t), q2 (t), qd3 (t), q3 (t)
along the path from the input u(t) to the plant output YP (t), where
q −1 is the backward shift operator and ∆(q) represents the plant un-
certainty. We can say from Fig. 3.3 that
YP (t) = q −L + q −L ∆(q) u(t), (3.23)
Using (3.23), (3.25), and (3.26) and on further simplification the overall
closed loop function in Fig. 3.3 is obtained as follows:
If ∆(q) ≪ 1 in (3.27), then YP (t) ≈ r(t − 1). This shows that the
approximate tracking objective is accomplished.
3.6 Conclusion
References
1. Wertz J.R., Spacecraft attitude determination and control, D. Reidel Pub.,
USA, 1978.
2. Sidi M.J., Spacecraft dynamics and control, Cambridge Univ. Press, Cam-
bridge, 1997.
3. Hughes P.C., Spacecraft attitude dynamics, Wiley, USA, 1986.
4. Shuster M.D., A survey of attitude representations. J. of Astronautical
Sciences, vol. 41, no. 4, pp. 439-517, 1993.
5. Meyer G., Design and global analysis of spacecraft attitude control. Nasa
Technical Report, R-361, 1971.
6. Wen J.T., Kreutz-Delgado K., The attitude control problem. IEEE
Trans. on Automatic Control, vol. 36, no. 10, pp. 1148-1162, 1991.
7. Slotine J.J.E., Benedetto M.D., Hamiltonian adaptive control of space-
craft. IEEE Trans. on Automatic Control, vol. 35, no. 7, pp. 848-852,
1990.
8. Ahmed J., Coppola V.T., Bernstein D.S., Adaptive asymptotic tracking
of spacecraft attitude motion with inertia matrix identification. J. of
Guidance, Control, and Dynamics, vol. 21, no. 5, pp. 684-691, 1998.
9. Wong H., de Queiroz M.S., Kapila V., Adaptive tracking conrol using
synthesized velocity from attitude measurements. Automatica, vol. 37,
no. 6, pp. 947-953, 2001.
10. Slotine J.J.E., Li W., Applied nonlinear control. Prentice Hall, USA, 1991.
11. Åström K.J., Wittenmark B., Adaptive control. Addison-Wesley, USA,
1995.
12. Tan Kok Kiong, Wang Quing-Guo, Hang Chang Chieh, T.J. Hägglund,
Advances in PID control. Springer, London, 1999.
48 A. Al-Garni et al.
13. Ziegler J.G., Nichols N.B., Optimum settings for automatic controllers,
Trans. of ASME, vol. 64, pp. 759-768, 1942.
14. Cohen G.H., Coon G.A., Theoritical consideration of retarded control,
Trans. of ASME, vol. 75, pp. 827-834, 1953.
15. Datta A., Ochoa J., Adaptive internal model control: Design and stability
analysis, Automatica, vol. 32, no. 2, pp. 261-266, 1996.
16. Shafiq M., Riyaz S.H., Internal model control structure using adaptive
inverse control strategy, In: Proc. 4th Int. Conf. on Control and Automa-
tion (ICCA), 2003, p. 59.
17. Morari M., Zafiriou E., Robust process control, Prentice Hall, 1989.
18. Haykin S., Adaptive Filter Theory, Pearson Education, USA 2002.
19. Nagumo, Noda, A learning method for system identification, IEEE Trans.
on Automatic Control, vol. 12, no. 3, pp. 282-287, 1967.
20. Datta A., Adaptive Internal Model Control, Springer, 1998.
4
Tracking Control of Automated
Guided Vehicles ∗
4.1 Introduction
The study of automated guided vehicle behavior when moving on a
plane occupies practically a central place in the automobile theory.
While an automated vehicle travels at a relatively low speed, controlling
it with only a kinematics model may work. However, as automated
vehicles are designed to travel at higher speeds, dynamics modelling
becomes important. For the studies concerning the automated vehicle
modeling and control we can refer to [5], [6], [8], and [14]; they deal only
with some simplified low-order linear models. These models are too
simple for studying the integrated longitudinal and lateral dynamics.
Works such as [9] and [13] highlight the contribution of the internal
variables such as the rotation angles and velocities of the wheels into
the dynamics model. The exponential stabilization of some equilibria
of automated vehicles was subject of our work in [1].
We consider in this paper a rigid vehicle moving at high non-
constant speed on a planar road. As the speed of this vehicle is not
small, the wheels must move with suitable sideslip angles to generate
cornering forces. The interaction between longitudinal and transversal
forces due to the tires as well as the nonlinear nature of these forces
are taken into account. The presence of the suspension is neglected.
Consequently, the roll and pitch angles are not considered here.
The tracking controller solution for both the kinematic and dynamic
model of Automated Guided Vehicles (AGVs) is given. The vehicle
∗
L. Beji would like to thank the Tunisian Minister of High Education Scientific
Research and Technology for the invitation within the framework of the 2006-
SERST program.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 49–56, 2007.
springerlink.com c Springer-Verlag London Limited 2007
50 L. Beji and A. Abichou
tracking problem takes into account the side-slip effects and the yaw
dynamics. Hence, two inputs are considered: the braking torque and
the rear axle force. However one ensures with the tracking controller
the behavior of the vehicle coordinates, the rate, the longitudinal veloc-
ity, and the front-wheel angular velocities. Exponential and asymptotic
stabilities result from a reference road to be followed and free of side-
slip. This work is an extension of the stabilizing problem solved in [2].
The proof of the main results is based on backstepping techniques and
Lyapunov theories. The achieved tracking behavior is illustrated by a
clothoid-like predefined path.
The contents of the paper is as follows: Section 4.2 deals with the
system modeling and parametrization. In Section 4.3, we detail the
tracking objectives and the control. Simulation tests and conclusions
are presented in the last section of the paper.
4.2 Modelling
For the study of AGV interactions a model able to simulate the behavior
of the vehicle has to be built. The model is based on the balance of the
forces acting on the vehicle in the longitudinal and lateral directions
(the details of forces are given in Fig.4.1), the torques and kinematic
conditions. The guidance system [8] operates the steering wheel causing
some wheels to work with a sideslip and to generate lateral forces. These
forces cause a change of attitude of the vehicle and then a sideslip of
all wheels.
Using the conventional notations where V = (u v w)T denotes the
linear velocity and Ω = (p q r)T the angular velocity, the following
nonlinear sixth-order vehicle model is considered (The important dy-
namical variables are standard and shown in Fig.4.1):
ẋ =v cos(ψ − β), ψ̇ = r,
ẏ =v sin(ψ − β), δ̇ = ω,
v̇ =θ1 v(β̇ − ψ̇) cot δ + θ2 Fad + θ3 Fas cot δ cos δ + θ4 Ras cot δ + θ5 τr ,
1
ṙ = {Fas lv cos δ − Ras lh }, (4.1)
I
ω̇ =θ6 ω + θ7 τb , v = kVk,
where cot(δ) = tan−1 (δ) and k.k is the Euclidean norm and w = p =
q = 0 since this is a planar motion. The aerodynamic side force on the
front wheel Fas and the aerodynamic side force on the rear wheel Ras
are given by [8].
4 Tracking Control of Automated Guided Vehicles 51
Γvm ψ̇ Γhm ψ̇
Fas = (β − lv + δ); Ras = (β + lh ), (4.3)
αvm v αhm v
while the front aerodynamic drag force is
1
Fad = CAρv 2 . (4.4)
2
The rear aerodynamic drag force is neglected with respect to the front
one.
Here Γh,v /αh,v represents the characteristic curves of the tires, with
Γvm = max(Γv ), αvm = max(αv ), etc. The characteristic lines include
the limitations and the descending behavior for high values in the ar-
gument (more details are in [8]).
52 L. Beji and A. Abichou
Remark 1. In Eq. (4.1) the input in torque τb can be defined such that
ω → ωd then δ → δd . Moreover, δd can be specified in order to have in
closed loop ṙ = Wr , in which Wr is considered a new control input.
1
τr = (Wv − θ1 v(β̇ − ψ̇) cot δd − θ2 Fad
θ5
− θ3 Fas cot δd cos δd − θ4 Ras cot δd ), (4.6)
ẋ =v cos(ψ − β),
ẏ =v sin(ψ − β), (4.7)
ψ̇ =r, v̇ = Wv , ṙ = Wr .
Let us define the reference path that the vehicle should follow:
ẋr =v r cos(ψ r ),
ẏ r =v r sin(ψ r ), (4.8)
ψ̇ r =r r , v̇ r = Wvr , ṙ r = Wrr .
Under the fact that ev → edv and er → edr , the system of errors becomes
Proof. Taking the Lyapunov function V (ez1 , ez2 ) = 12 (e2z1 + e2z2 ), the
proof of the lemma is straightforward (V̇ (.) 6 0). Further, from
LaSalle’s principle (ez1 , ez2 ) approaches the largest invariant set in
{(ez1 , ez2 ) | V̇ (.) = 0} = {(ez1 = 0, ez2 = 0)}. This ends the proof.
1.5
1
y,yr(m)
0.5
−0.5
−0.5 0 0.5 1 1.5 2
x,xr(m)
4.4 Conclusions
The kinematic-dynamic model of automated guided vehicles was pre-
sented. The tracking control problem takes the nonlinear behavior of
the system including side-slip effects. The braking angle combined with
the rear torque realize a first feedback leading to a linear behavior
of yaw motion and of longitudinal-lateral displacements. Simulation
processes result from a clothoid path which is free from slip behav-
ior. The obtained results achieve almost exact path tracking under few
adjusted controller parameters.
References
”
1. A. Abichou, L. Beji and R. Slim, Exponential stabilization of some equi-
libria of automated vehicles,” in Int. Conf. on Advanced Robotics, Coim-
bra, Portugal, juillet 2003. ”
2. L. Beji, A. Abichou and R. Slim, Longitudinal and steering stabilization
of an underactuated autonomous vehicle,” in Int. IFAC SYmposium on
RObot COntrol, Waroclaw, Poland, 2003. ”
3. L. Beji and Y. Bestaoui, An adaptive control method of automated vehi-
cles with integrated longitudinal and lateral dynamics in road following,”
in Proc. RoMoCo, Robot, Motion & Control, Poland, 2001, pp. 201-206.
”
4. Y. Bestaoui, An optimal velocity generation of a rear wheel drive tricycle
along a specified path,” in Proc. ACC, American Control Conference,
2000, pp. 2907-2911.
56 L. Beji and A. Abichou
”
5. C.Y. Chan, Open-loop trajectory design for longitudinal vehicle ma-
neuvers: case studies with design constraints,” in Proc. ACC, American
Control Conference, 1995, pp. 4091-4095.
”
6. S.B. Choi, The design of a control coupled observer for the longitudinal
control of autonomous vehicles,” J. of Dynamic Systems Measurement
and Control, 1998, vol.120, pp.288-289.
”
7. O. Dahl and L. Nieslon, Torque-limited path following by on-line tra-
jectory time scaling”, IEEE Trans. on Robotics and Automation, 1990,
Vol.6, No.5, pp.554-561. ”
8. E. Freund and R. Mayer, Non linear path control in automated vehicle
guidance,” IEEE Trans. on Robotics and Automation, 1997, vol.13, No.1,
pp.49-60.
9. G. Genta, Motor vehicle dynamics: modelling and simulation, World Sci-
entific, 1997. ”
10. H. Hu, M. Brady and P. Probert, Trajectory planning and optimal track-
ing for an industrial mobile robot,” in Proc. SPIE, Boston, Ma, vol.2058,
1993, pp. 152-163. ”
11. Y. Kanayama and B.I. Hartmann, Smooth local path planning for au-
tonomous vehicles”, J. of Autonomous Robot Vehicles, I. J. Cox, G. T.
Wilfong ed., Springer-Verlag, 1990, pp.62-67.
12. M. Kristic et al., Nonlinear and adaptive control design, John Wiley and
Sons, inc. New York, 1995. ”
13. R. Outbib and A. Rachid, Control of vehicle speed: a non linear ap-
proach,” in Proc. CDC, Conference on Decision and Control, Australia,
2000. ”
14. T. Pilutti et al., Vehicle Steering intervention through differential brak-
ing,” Trans. of ASME, 1998, Vol.120, pp.314-321. ”
15. V. Munoz, A. Ollero, M. Prado and A. Simon, Mobile robot trajectory
planning with dynamic and kinematic constraints,” in Proc. ICAR, In-
ternational Conference in Robotics and Automation, 1994, pp.2802-2807.
”
16. D.B. Reister and F. G. Pin, Time-optimal trajectories for mobile ro-
bots with two independently driven wheels,” Int. J. of Robotics Research,
vol.13, No.1, 1994, pp. 38-54.”
17. N. Sadeghi, B. Driessen, Minimum time trajectory learning,” in Proc.
ACC, American Control Conference, 1995, pp. 1350-1354.
”
18. R.S. Sharp et al., A mathematical model for driver steering control,
with design, tuning and performance results,” Vehicle System Dynamics,
2000, Vol.33, No.5, pp.289-326.
”
19. P.A. Shavrin, On a chaotic behaviour of the car,” in Proc. ECC, Eu-
ropeen Control Conference, 2001, pp. 2187-2192.
5
VFO Control for Mobile Vehicles
in the Presence of Skid Phenomenon
Maciej Michalek
5.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 57–66, 2007.
springerlink.com c Springer-Verlag London Limited 2007
58 M. Michalek
Fig. 5.1. Three examples of mobile vehicles mov- Fig. 5.2. Mobile vehi-
ing on a plane: two-wheeled robot (A), aircraft (B), cle as a rigid body on
ship (C) a plane
2
Sometimes in real vehicles one should assume u2 ∈ R+ like in the aircraft case.
5 VFO Control in the Presence of Skid Phenomenon 59
3
Eq.(5.3) is equivalent to the rigid body motion q̇ = R(θ)η, where R(θ) ∈ SO(3)
and η = [u1 (u2 + vsx ) vsy ]T ∈ R3 .
4
In real conditions also random fluctuations of skid components are characteristic.
60 M. Michalek
First of all we recall the basic idea of the VFO control strategy dedi-
cated to kinematics (5.1), hence for a case without skid disturbances.
After that, by analogy to previous considerations, an extension regard-
ing a nonzero skid velocity will be presented.
It has been shown (for example in [2]) that the VFO control strategy
results from simple geometrical interpretations and can be applied to
a subclass of nonholonomic driftless systems with two inputs5 . System
(5.1) belongs to this class. One can decompose (5.1) into two subsys-
tems: one-dimensional orienting subsystem represented by the equa-
tion θ̇ = u1 and two-dimensional pushing subsystem represented by the
equation q̇ ∗ = g ∗2 u2 , where q ∗ = [x y]T and g ∗2 = [cos θ sin θ]T . Since
the direction (and orientation) of vector g ∗2 (θ) (and in a consequence
– of velocity q̇ ∗ (θ)) depends on the θ variable, it has been proposed to
call θ the orienting variable, and the u1 input – the orienting control.
Follo- wing this interpretation the u2 input has been called the push-
ing control, since it pushes the sub-state q∗ along the current direction
of g ∗2 . The proposed control law for a tracking task has been derived
from the desired relation between the g 2 vector field and introduced
additional convergence vector field h = [h1 h∗T ]T . This vector field has
been designed so as to indicate in any state q an instantaneous con-
vergence direction to a reference trajectory qt . In this way the VFO
5
The VFO control can be treated as a generalization of control in polar coordinates.
5 VFO Control in the Presence of Skid Phenomenon 61
with
∆ ∆
H2 = h2 − vsxg , H3 = h3 − vsyg . (5.8)
The limit (5.7) describes the so-called orienting condition, which gua-
rantees matching of orientations for vectors q̇∗ and h∗ . Hereafter the
62 M. Michalek
u1 = h1 ⇒ u1 = k1 ea + θ̇a , (5.11)
u2 = g ∗T
2 H
∗
⇒ u2 = H2 cos θ + H3 sin θ. (5.12)
H ∗ = kp e∗ + q̇t∗ − vsg
∗
, ė∗ = −kp e∗ + r, r = H ∗ − g ∗2 u2 . (5.13)
γ(τ )κ(τ )
k e∗ (τ )k > Γ (τ ), where Γ (τ ) = . (5.15)
kp (1 − γ(τ ))
8
The control vector scaling procedure described in [7] has been used.
9
A first order low-pass filter with a time constant T = 0.1 has been applied.
5 VFO Control in the Presence of Skid Phenomenon 65
2 0.8
e
[m/s]
eφ [rad], ex, ey [m] θ
e 0.6
x
1
syg
ey 0.4
[m/s], v
0.2
0
v
sxg
sxg
0
vsyg
v
−1 −0.2
0 5 τ [s] 10 15 0 5 τ [s] 10 15
3 100
u
1 ωR
u1 [rad/s], u2 [m/s]
u2 80 ω
2
ω , ω [rad/s]
L
60
1
L
40
R
0
20
−1 0
0 5 τ [s] 10 15 0 5 τ [s] 10 15
4 4
3 3
2 2
y [m]
y [m]
1 1
0 0
−1 −1
−4 −3 −2 −1 0 1 −4 −3 −2 −1 0 1
x [m] x [m]
Fig. 5.3. Tracking error, skid estimate, and control signal time-plots – top
four plots; vehicle (- -) and reference (-) paths on a plane – bottom two plots
(the last one on the right-hand side for the case without skid compensation)
with a sample time Tp = 0.01[s] has been used with measurement zero-
mean Gaussian errors εx , εy , and εθ with variances σ 2 = 0.01 included
in Eqs.(5.17,5.18). For simulation tests a circle-like trajectory computed
for u1t = 0.5[rad/s], u2t = 1.2[m/s], and qt (0) = [π/4 0 0]T has been
chosen as a reference trajectory. Moreover, the following values have
been chosen: kp = 5, k1 = 10, q(0) = [0 − 2 1]T . During simulation the
constant skid with components vsxg = vsyg = 0.5[m/s] has appeared
in the time instant t1 = 5[s]. The results obtained10 are illustrated in
Fig. 5.3. It can be seen that position tracking errors tend toward zero
quite fast and remain there also after the skid appearance (starting
from t1 = 5[s]). It is worth to note the compensative action of control
66 M. Michalek
The VFO position tracking control with skid effect compensation for
kinematic mobile vehicles has been presented. The proposed control
strategy results from an extension of the original concept described in
[2]. The extension can be treated as a first attempt to use the VFO con-
trol method for dynamical systems with a drift. The simulation results
included in the paper illustrate the effectiveness of the proposed VFO
control scheme and also reveal its relative robustness to measurement
noises and control input limitations.
References
1. J. Ackermann. Robust control prevents car skidding. 1996 Bode Prize
Lecture. IEEE Control Systems, pages 23–31, 1997.
2. M. Michalek. Vector Field Orientation control method for subclass of non-
holonomic systems (in Polish). PhD thesis, Poznań University of Technol-
ogy, Chair of Control and Systems Engineering, Poznań, 2006.
3. I. Harmati, B. Kiss, and E. Szádeczky-Kardoss. On drift neutralization
of stratified systems. In Robot Motion and Control. Recent Developments,
volume 335 of LNCIS, pages 85–96. Springer, 2006.
4. T. Holzhüter and R. Schultze. Operating experience with a high-precision
track controller for commercial ships. Control Engineering Practice,
4(3):343–350, 1996.
5. I. Kolmanovsky and N. H. McClamroch. Developments in nonholonomic
control problems. IEEE Control Systems Magazine, 15(6):20–36, 1995.
6. R. Lenain, B. Thuilot, C. Cariou, and P. Martinet. High accuracy path
tracking for vehicles in presence od sliding: Application to farm vehicle
automatic guidance for agricultural tasks. Autonomuos Robots, (21):79–
97, 2006.
7. K. Kozlowski, J. Majchrzak, M. Michalek, and D. Pazderski. Posture sta-
bilization of a unicycle mobile robot – two control approaches. In Robot
Motion and Control. Recent Developments, volume 335 of LNCIS, pages
25–54. Springer, 2006.
8. K. Kozlowski and D. Pazderski. Practical stabilization of a skid-steering
mobile robot - a kinematic-based approach. In Proc. of the IEEE 3rd
International Conference on Mechatronics, pages 519–524, Budapest, 2006.
10
Simulations have been performed with Matlab/Simulink software.
6
Vision-Based Dynamic Velocity Field
Generation for Mobile Robots∗
6.1 Introduction
A control strategy much studied in the last years is the velocity field
control (VFC). In 1995, velocity fields are defined as a set of velocity
vectors located at each possible position of the robot platform inside
its workspace coding a specified task [1]. The employment of a control
scheme whose reference is a velocity field has allowed to encourage dif-
ferent control problems rather than the conventional timed trajectory
tracking, such as contour following, position control, etc.
Most of research works in the area have attempted to optimize the
design of control schemes and to improve their stability [2, 3]. Other
works have targeted other areas such as adaptive control [4, 5]; and
others have combined vision to perform visual control via velocity fields
[6, 7].
Almost all the cases previously mentioned focus on the design of
control schemes taking as reference a theoretical and time invariant
velocity field; few works have considered the problem of using time
varying velocity fields [8, 9]. The objective of this work is to offer an
algorithm for the dynamic generation of velocity fields for mobile robots
so it can surround possible obstacles over its trajectory. The algorithm
proposed uses snapshots taken by a vision system developed for this
purpose that is able to observe all the workspace of the mobile robot.
This paper is organized in the following way. Section 6.2 shows the
description of the problem. Section 6.3 offers all the details of the al-
∗
The authors gratefully acknowledge the financial support of the Research and
Development and Graduate Studies Deanships of Simon Bolivar University to
the development of this project.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 69–80, 2007.
springerlink.com c Springer-Verlag London Limited 2007
70 W. Melina-Meléndez et al.
gorithm proposed. Results and its analysis are shown in Section 6.4.
Conclusions are exposed in Section 6.5.
proposed here retains the pattern matching approach to the robot lo-
cation2 , but to the obstacles it employs particle analysis. Instead of
detecting known geometric shapes, particles are identified and all the
necessary parameters to generate the “evader” velocity fields are ob-
tained from them.
where f is the image, and the sum is over (x, y), in the window contain-
ing the sub-image t located at u, v. Expanding d2 , and making some
considerations [10], the remaining term of the cross correlation
X
C(u, v) = f (x, y)t(x − u, y − v) (6.2)
x,y
is the similarity or matching measure between the image and the tem-
plate.
Particle Analysis
A particle is a group of contiguous nonzero pixels in an image. Particles
can be characterized by measurements related to their attributes, such
as particle location, area, and shape [11].
The process to detect a particle consists in passing the image
through a threshold filter in order to obtain a binary image. Then,
detecting nonzero pixels, and studying their neighborhoods consider-
ing connectivity ‘8’, to prevent appearing of small holes, it is possible
to obtain a particular particle of an arbitrary shape.
For each particle detected, the following parameters are extracted:
2
refer to [10] for implementation details.
72 W. Melina-Meléndez et al.
where Vij is the vector of the desired velocity field, Vaij and Vpij are
the approximation and tangent vectors at ij, respectively. dij is the
74 W. Melina-Meléndez et al.
Fig. 6.2. Effect of weighting functions f1 and f2 . Note that for small distances
the tangent vector is greater than the approximation one, and vice versa.
(X − P )(X0 − P ) (Y − Q)(Y0 − Q)
+ = 1, (6.5)
A2 B2
where (P, Q) are the coordinates of the location of the ellipse, and A
and B represent a half of the major and minor axes, respectively. From
(6.5), the unit tangent vector at any point (X0 , Y0 ) is deduced to be:
6 Vision-Based Velocity Field Generation for Mobile Robots 75
6.4 Results
For testing the “initial” velocity field generator two handmade traces
were introduced. Figure 6.4 shows the obtained velocity fields.
76 W. Melina-Meléndez et al.
Fig. 6.3. Sketch of the “evader” field. Following the direction and sense of
the initial field at the point where the obstacle is located, the different regions
are defined. Note the deviations of field in the entry and exit regions.
(a) (b)
Fig. 6.4. Initial velocity field. Note the handmade desired trajectory marked
gray.
(a) (b)
Fig. 6.5. “Evader” velocity field for an arbitrary object. The four predefined
regions are shown and the behavior of the algorithm can be observed.
(a) (b)
Fig. 6.6. Modified velocity field for four obstacles detected
78 W. Melina-Meléndez et al.
objects at arbitrary positions for the velocity fields shown in Fig. 6.5,
the final ones obtained offer obstacle-free trajectories, however, at the
edges between the influence “evader” field and the initial one, they are
not as smooth as desired.
The trajectories shown in Fig. 6.6 were obtained through simulation,
applying Runge-Kutta iterations. Note that they start at four different
points, and each trajectory converges to the path defined by the velocity
field generated. It is important to remark that these trajectories are
smooth, including the area where the field is not.
Practical validations were performed using a differential drive wheel-
ed robot, controlling its orientation at any moment through a PI con-
troller. Details about these tests are beyond the scope of this article
and will be presented in the future.
References
1. Li PY and Horowitz R (1995) Passive Velocity field Control of Mechanical
Manipulators. In: Proc. IEEE Int. Conf. on Rob. and Aut. ICRA’01,
Nagoya, Japan 2764–2770.
2. Cervantes I, Kelly R, Alvarez J and Moreno J (2002) A Robust Velocity
Field Control IEEE Trans. on Cont. Syst. Tech. 10:6:888–894.
3. Moreno J and Kelly R (2003) Hierarchical Velocity Field Control for Ro-
bot Manipulators. In: Proc. IEEE Int. Conf. on Rob. and Aut. ICRA’03,
Taipei, Taiwan 10:4374–4379.
6 Vision-Based Velocity Field Generation for Mobile Robots 79
7.1 Introduction
Zoom control has not received the attention one would expect in view
of how it enriches the competences of a vision system. The possibility
of changing the size of object projections not only permits analysing
objects at a higher resolution, but it also may improve tracking and,
therefore, subsequent 3D motion estimation and reconstruction results.
Of further interest to us, zoom control enables much larger camera
motions, while fixating on the same target, than it would be possible
with fixed focal length cameras.
Automating zoom control is thus a very promising option for vision
systems in general, and robotic applications in particular. One such
application, container transfer within a warehouse, where the trajectory
of a mobile robot needs to be traced with low precision demands but
without any presetting of the environment, has motivated our work [1].
We devised a method to estimate robot egomotion from the image flow
captured by an on-board camera. Following the works of Blake [3] and
Martı́nez and Torras [9, 10], instead of using point correspondences, we
codify the contour deformation of a selected target in the image with
an affine shape vector.
The two main limitations of the method are that all along the robot
trajectory the target must be kept visible and it should be viewed un-
der weak-perspective conditions (i.e., the depth variation of the target
should be small compared to its distance to the camera). Note that
∗
This work is partially funded by the EU PACO-PLUS project FP6-2004-IST-
4-27657. The authors thank Gabriel Pi for their contribution in preparing the
experiments.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 81–88, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
82 G. Alenyà and C. Torras
for a robot vehicle such as that of the warehouse this reduces the set
of possible motions almost to just looming and receding. The former
limitation can be overcome by mounting the camera on a pan-and-tilt
device, while the latter calls for automating zoom control to compen-
sate translation along the optic axis, as addressed in this work.
There are a few papers presenting different strategies for zoom con-
trol. Fayman et al. [4] consider a planar target and robot translations
only along the optic axis. In order to keep a constant-sized image pro-
jection of the target, they propose a technique, named “zoom tracking”,
aimed at preserving the ratio f /Z. A thick-lens camera model and full
calibration is assumed. Tordoff and Murray [12] address also the prob-
lem of fixating the target size in the image, but considering general
robot motion, and perspective and affine camera models. With the
perspective model, only the case of pure rotating cameras is tackled, as
the algorithm needs continuous auto-calibration. This algorithm relies
also on preserving the ratio f /Z. The authors report some problems
for planar targets, far ones, and in situations where perspective effects
are not present or discrete, as common in broadcast or surveillance.
We have been investigating the potential of the affine shape repre-
sentation of the deformation induced by camera motion on an active
contour in the image plane [1]. From this representation, egomotion can
be recovered, even in the presence of zooming, as will be presented in
Section 7.2. In Sections 7.3 and 7.4 our method to recover affine scale
and generate zoom demands is introduced. Experimental results are
presented in Section 7.5 and finally some conclusions are collected in
Section 7.6.
encodes the affinity between two views d′ (s) and d(s) of the planar
contour:
d′ (s) = Md(s) + t, (7.4)
where M = [Mi,j ] and t = [tx ty ]T are, respectively, the matrix and
vector defining the affinity in the plane.
The contour is tracked along the image sequence with a Kalman
filter [3] and, for each frame, the shape vector and its associated covari-
ance matrix are updated. Considering a camera that possibly changes
the focal length, the affinity coded by the shape vector relates to the
3D camera motion in the following way [10]:
fi Z0 R11 R21
M= , (7.5)
f0 Z0 + Tz R21 R22
fi Tx u0 − ui
t= + , (7.6)
Z0 + Tz Ty v0 − vi
where Rij are the elements of the 3D rotation matrix R, Ti are the
elements of the 3D translation vector T, Z0 is the distance from the
viewed object to the camera in the initial position, f0 is the focal length
at the initial frame, fi is the current focal length, (u0 , v0 ) is the principal
point position at the initial frame and (u1 , v1 ) is its current position.
Using (7.5) and (7.6) the deformation of the contour parameterized as
a planar affinity permits deriving the camera motion in 3D space. In
particular, the scaled translation in direction Z is calculated as [10]
Tz fi 1
= √ − 1, (7.7)
Z0 f0 λ1
1
e= √ −1 (7.8)
λ1
2
Compared with [12], just 2D motion is recovered (coded as an affine shape defor-
mation), not structure or 3D reprojection, and no foreground/background extrac-
tion is performed, as it comes with the specification of the active contour within
the tracking algorithm.
7 Zoom Control to Compensate Camera Translation 85
A zoom control algorithm has been designed to drive the zoom lenses
with the proposed error function. In our tests, the velocity-controlled
algorithm did not provide any advantage, as the Visca protocol im-
plemented in the camera only provides a few possible velocities, and
this introduces instabilities in the control algorithm. As the precision
requirements in terms of translation compensation are not very strict
in our system, a simple proportional position controller proved to be
enough. We tuned the controller with a very simple process at the be-
ginning of the sequence. After the active contour is initialized, a pulse is
induced in the zoom position controller obtaining the relation between
the zoom change and the error computed by the error function. Note
that no camera calibration and no scene information are needed.
As we are using an uncalibrated camera, the focal length is unknown
and so is the ratio of focal lengths fi /f0 . However, we can use the ratio
of zoom positions, as demanded to the zoom mechanism of the camera.
We assume that a linear function relates the focal length and the zoom
demand. This is a good approximation when zoom positions are not in
the maximum focal length zone [8]. As a consequence, we will not use
extreme zoom positions.
When zooming is incorporated to the egomotion algorithm, changes
in the sequence of images are obviously produced. As zooming is con-
tinuously correcting camera translations, depths in the acquired images
are always very similar (this was just our objective!). Compared with a
fixed focal length set-up, the difference between the initial contour used
as a template and the current contour after the deformations induced
by camera motion, i.e., the shape vector, is smaller. Ideally, with a very
precise and very quick zoom control, the parameters of the affinity cod-
ifying the depth translations should be nearly zero. From the zooming
factor fi /f0 introduced, the Tz translation can be recovered.
Fig. 7.1. Images illustrating the performed experiment. (a) Robot at the ini-
tial position and (b) robot at the final position, after performing a translation.
(c) Detailed image of the target, a common trash can. (d) The initial image
of the trash can with an active contour fitted to it. (e) Image acquired at the
final position after the zoom has been changed with the proposed zoom control
algorithm. (f ) Image acquired at the final position without zoom changes.
which the shape vector is calculated. While the robot is moving, for
each acquired image the tracking algorithm estimates the affine shape
deformation of the current contour with respect to the initial one, and
computes the egomotion. At frame rate, in our current implementa-
tion at 20 fps, the system is capable of generating a zoom demand to
cancel in the image the effects of robot translation. Figure 7.1(e) shows
that the zoom control has effectively cancelled the approaching motion.
Figure 7.1(f) shows the resulting image if the zoom control is deacti-
vated. As can be seen, the target projection is much bigger, and after
a small approaching translation the target would project out of the
image plane.
Figure 7.2(a) shows the computed error function. Observe that it
is centered at 0 and the errors keep always small. In Fig. 7.2(b) the
7 Zoom Control to Compensate Camera Translation 87
400 0
500
200
Tz tracker
−500
zoom
Tz
0 400
−1000
−200
300
−400 −1500
Fig. 7.2. Results of the experiment entailing zoom position control. (a) Error
function in the center, and variance values up and down. (b) Zoom position as
demanded by the algorithm. (c) Reconstructed Tz translation in the center,
and variance values up and down.
zoom positions resulting from the zoom control algorithm are plotted.
As a trajectory approaching the target is performed, the camera zooms
out, leading to lower zoom values. The recovered scaled translation is
plotted in Fig. 7.2(c). Here the initial distance was set to 3500 mm.
The recovered translation is scaled, as typical in monocular vision. If
we would like to obtain metric information, the focal length of the cam-
era should be known. As we are using a zooming camera, the relation
between the zoom position and the corresponding focal length should
be computed.
References
8.1 Introduction
The problem of object manipulation with no prior knowledge of object
pose and geometry constitutes a key problem in the domain of service
robotics. The grasping methodologies reported so far use either force
closure or friction between the fingers and the object surfaces. Force
closure leads to stable grasping such that the total sum of forces act-
ing upon the object becomes zero [1]. Grasping methods based upon
friction are better suited for grippers with limited degrees of freedom,
for which force closure is infeasible due to gripper geometry. The fun-
damental objective is to maximize the contact area and thereby the
friction force between the gripper and the object by selecting suitable
contact points. In order to determine optimal contact points, [2] and
[3] proposed vision based grasp point selection from the extracted con-
tours of the object. Subsequently, the force applied to the object is
determined based upon the selected grasp point and object properties.
The force required for stable grasping is difficult to predict due to the
presence of friction in gripper actuators as well as the nonlinear behav-
ior of gripper and object materials. Conventional control strategies are
not suitable for such conditions. Therefore [4] investigates a fuzzy logic
approach for force control. Reference [5] addresses this issue from a dif-
ferent perspective as slippage is detected by means of dynamic tactile
sensing.
This paper presents a vision assisted approach to grasping for un-
known object pose. The end effector is first visually servoed to a previ-
ously demonstrated pre-grasping pose. Afterwards suitable grasp points
∗
Supported by German Research Foundation (DFG) in collaboration with “Com-
putational Intelligence” (SFB 531).
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 89–98, 2007.
springerlink.com c Springer-Verlag London Limited 2007
90 U. Khan, T. Nierobisch, and F. Hoffmann
Ȗ
TCP force sensors
YTCP
ZBASE XTCP
YBASE
ZTCP
XBASE ZOBJ
YOBJ proximity sensors
XOBJ
Fig. 8.1. Left) Manipulator Katana 6M with TCP and object coordinate
system Right) Standard two-finger gripper with IR proximity and force sensors
are selected using the proximity sensors and the grasp closure is finally
executed by regulating the force applied upon the object. The experi-
mental evaluation of the two-finger grasping for vision assisted object
manipulation is based upon the Katana 6M manipulator and a two
finger gripper depicted in Fig. 8.1. The camera is mounted to the end
effector above the gripper in an eye in hand configuration. The grip-
per is equipped with eight infrared proximity sensors and four force
sensors.Afterwards the object is scanned with infrared sensors in order
to select an optimal grasping configuration that achieves a four-point
contact between the object and the gripper. After attaining the final
grasp pose the gripper finger is regulated by using a fuzzy controller
in order to grasp the object without slippage or damage. The effective-
ness and robustness of the object manipulation scheme is confirmed
in an experimental evaluation on a real robot arm with a eye-in-hand
configuration and a standard two-finger gripper.
The paper is organized as follows: Section 8.2 introduces the visual
servoing scheme with a dynamic set of SIFT features. The grasp point
selection as well as the force control are explained in Section 8.3. The
experimental results of object manipulation are presented in Section
8.4 and the paper concludes with a summary in Section 8.5.
where ∆fx , ∆fy , ∆fz , ∆fγ are the moment errors and Kx , Ky , Kz ,
Kγ are the corresponding gain factors. Notice that in principle a sin-
gle SIFT feature is sufficient to achieve convergence to the goal pose.
Nonetheless, using aggregated moments computed over an entire subset
of matched SIFT features increases the accuracy and the robustness of
the control scheme. The method for visual servoing with sets of SIFT
features in 6 DOF is detailed in [7]. Once the desired pose with respect
to the object is attained, the end effector is moved forward by a fixed
amount equal to the distance between the camera and the link to which
it is attached in order to position the gripper above the object.
92 U. Khan, T. Nierobisch, and F. Hoffmann
ș
į
L3 , v
R1
w
R2
L2 L1
Fig. 8.2. Left) Infrared sensors readings and geometric model of the gripper
Right) Successful four-point contact during experiments
8 Two-Finger Grasping for Vision Assisted Object Manipulation 93
of the training set consists of a randomly generated input and the cor-
responding correct model output. The training data set is generated
from a model of the gripper and various object geometries and the
noise afflicted sensor characteristics. The remaining part of this section
explains the four steps of the grasping process, namely gripper object
alignment, equalization, mid-point selection and four-point selection.
Before initiating the object scan with the IR sensors an open-loop mo-
tion is performed in which the gripper is moved forward and lowered
to bring the object within range of the proximity sensors. Notice that
this open-loop motion is independent of the object and does not require
knowledge of the relative transformation between the visual reference
and the final grasping pose. The demonstrated reference pose does not
need to be accurate nor is it necessary to calibrate between reference
and grasping pose during demonstration. The human simply places the
object roughly centered underneath the camera.
Alignment: The proximity sensors measure the intensity of infrared
radiation reflected from an object’s surface, which increases with prox-
imity. The gripper fingers are first aligned with the object by regulat-
ing the gripper orientation γ along the z-axis such that the cumulative
proximity sensor measurement L1 +L2 becomes minimum, which corre-
sponds to a parallel orientation between the finger tips and the object.
Once the gripper fingers are aligned, the distance between them and
the sides of the object is maximized. The gripper alignment operates
in an iterative, exploratory fashion in which the gripper rotates with
a constant step size in one direction until the cumulative sensor read-
ings increase again. The direction of rotation is then reversed, the step
size is reduced by half and the process is repeated until the cumulative
measurement becomes constant.
Equalization: In the second equalization step the lateral displacement
of the gripper is adjusted such that both finger tips are equidis-
tant to the object. An ANFIS model predicts the corrective lateral
motion of the gripper to compensate the observed misalignment. Its
inputs are the current proximity measurement difference L1 − L2 and
the gripper opening θ. Again, the training data for the ANFIS model is
obtained from the simulation model with one thousand randomly gen-
erated input configurations and the corresponding controller outputs.
Each input configuration is described by a random gripper opening
θ ∈ [30◦ , 50◦ ] and the simulated sensor measurement L1 − L2 for a
randomly chosen lateral displacement of the gripper.
applied force during grasping such that it is neither too strong to deform
or crush the object nor too weak to prevent slippage of the object.
200 200
150 150
Cardboard
Wood
100 Can 100
48 50 52 54 48 50 52 54
gripper opening [°] gripper opening [°]
Fig. 8.3. Variation of force sensor measurements with respect to θ
The left- and right-hand diagrams of Fig. 8.3 illustrate the force
sensor measurements for the sensors embedded in the left and right
fingers, respectively. The measurements are recorded for three different
objects. This variation in the sensor characteristics is caused by the
different compressibility and stiffness of the object as well as the contact
area between the object and the finger. The contact forces are absorbed
by the finger padding and the object’s compressibility. Due to this
uncertain and non-linear behavior a PD-fuzzy controller is designed
and tuned on the real system to regulate the force applied to the target
object. The error between the desired and the currently applied force
and its derivative are fed into the fuzzy system. The output is the
velocity θ̇ with which the fingers are closed. The setpoint for the force
control fd is
fd = 0.5 mg/µ, (8.5)
where µ denotes the friction coefficient and m the mass of the object.
The motion stops once the nominal contact force fd on either side is
exceeded.
60 110 10
task space errors [mm−deg]
IR sensor measurements
105
∆y right sensor meas.
40 100 6
∆z
95 lateral vel. 4
∆γ
20 90 2
85 0
0 80 −2
75 −4
a c
−20 70 −6
0 2 4 6 0 1 2 3
time [s] time [s]
0.5 3 0
2.25 −5
Fig. 8.5. a) Task space error. b) Image space error. c) Sensor readings and
control during equalization. d) Force applied upon object and closing velocity.
grasping. Currently the major limiting factor is the low bandwidth be-
tween the host PC which runs the visual servoing and the manipulator
micro-controllers for axis control.
8.5 Conclusion
References
9.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 99–106, 2007.
springerlink.com c Springer-Verlag London Limited 2007
100 L. Pacheco and N. Luo
This section presents the use of a local narrow dense occupancy grid as
an available horizon of perception that allows final goal approach and
trajectory planning. It is assumed that a local occupancy grid data
is provided by the on robot perception system, the occupancy prob-
ability is divided in only two ranges: free and occupied. Hence, local
trajectories along the local grid can approach the robot to the final
goal while obstacle collisions are considered. The analysis is focused on
some particular indoor environment with flat floor surface; however it
can be applied in outdoor environments too. The problem is formu-
lated as finding the optimal cell that approaches the WMR to the de-
sired coordinates (Xd , Yd ) by finding the closer local desired coordinates
(Xld , Yld ). In this sense, the perception is considered as a local receding
horizon where trajectory is planned. Hence, a local map with the free
obstacle coordinates is provided. The local desired cell is obtained by
minimizing a cost function J, consisting in the distance between the
desired coordinates and the free local cell coordinates (X, Y ). Due to
the narrow field of perception, there are two minimizing possibilities:
Euclidian and orientation distances, as shown in Fig. 9.1(a). It can be
summarized as follows:
1
if atan(Yd /Xd ) = θd 6 θlg J = min[(X − Xd )2 +(Y − Yd )2 ] 2
(9.1)
if atan(Yd /Xd ) = θd > θlg J = min[(θd −atan(Y /X))2 ]1/2
The θlg value depicts the maximal angle that can be attained within
the local grid. The trajectory planning takes into account the following
constraints:
kU (Xld , Yld )k 6 G1
k[Xld , Yld ] − [Xo , Yo ]k > G2 ; α ∈ [0, 1)
k[X(k), Y (k)]−[Xd , Yd ]k 6 αk[X(k−1), Y (k−1)]−[Xd , Yd ]k
(9.2)
The parameter k is used for referencing the instant of time. The lim-
itation of the input signal, U (Xld , Yld ), is taken into account in the first
constraint as a function of the local desired points and the WMR dy-
namics. The second constraint is related to the obstacle points (Xo , Yo ),
and should include a heuristic wide-path, WP, related with the WMR
dynamics [5]. The wide-path is a heuristic concept, and should be big
enough to avoid the robot collision. Figure 9.1(b) shows these concepts,
in which the coordinates of configuration space Xcs can be obtained for
each obstacle row by using:
9 Trajectory Planning with Control Horizon 101
(a) (b)
Fig. 9.1. (a) Two different desired points Ald and Bld computed by using
Euclidean and angular distances. (b) WP concept considered as a necessary
distance for planning safety trajectories with the local occupancy grid.
Biologically inspired machine vision systems use some eye features such
as stereopsis, optical flow, or accommodation as meaningful clues for
environment understanding [6]. This section presents the use of local
102 L. Pacheco and N. Luo
visual data and odometer information for the WMR control. It is as-
sumed that a feasible local occupancy grid based on the visual informa-
tion is provided by some available computer vision methods previously
introduced. The trajectory planning can be done by using the concepts
introduced in the previous section. Finally other considerations con-
cerning the narrow field of view, robot dimension and dynamics as well
as trajectory tracking are given.
(a) (b)
Fig. 9.2. (a) Fixed camera configuration and pose (angles α = 37◦ , β = 48◦ ;
H = 109 cm). (b) Example of local visual perception using 96×72 or 9×7
grids.
(a) (b)
Fig. 9.3. (a) Unsafe trajectories, planned within the local grid, arise when
the heuristic wide-path concept is not considered. (b) Available local grid
coordinates (in green). The blue coordinates consider the necessary free of
obstacle dead zone. The necessary wide-path is shown in red color.
9.4 Conclusions
References
1. A. Elfes (1989) Using occupancy grids for mobile robot perception and
navigation. IEEE Computer, 22:46-57
2. S. Thrun (2002) Robotic mapping: a survey. In: Exploring Artificial In-
telligence in the New Millenium, Morgan Kaufmann, San Mateo
3. C. Coue, C. Pradalier, C. Laugier, T. Fraichard, P. Bessiere (2006)
Bayesian Occupancy Filtering for Multitarget Tracking: An Automotive
Application. The International Journal of Robotic Research
4. R. Benenson, S. Petti, T. Fraichard, M. Parent (2006), Integrating Percep-
tion and Planning for Autonomous Navigation of Urban Vehicles. IEEE
Int. Conf. on Robots and Syst.
5. R.J. Schilling (1990) Fundamental of Robotics. Prentice-Hall Interna-
tional
6. B.K.P. Horn (1998) Robot Vision, McGraw-Hill Book Company, MIT
Press Edition
7. J. Campbell, R. Sukthankar, I. Noubakhsh (2004) Techniques for Evalu-
ating Optical Flow in Extreme terrain. Proc. IROS 2004.
8. R.C. Gonzalez, R.E. Woods (2002) Digital Image Processing. Prentice
Hall Int. Ed., Second Edition
9. E. Elsayed Hemayed (2003) A Survey of Camera Self-Calibration. IEEE
Conf. on Adv. Video and Signal Based Surveillance
10. D. Fox, W. Burgard, S. Thun (1997) The dynamic window approach to
collision avoidance. IEEE Robot. Autom. Mag., 4:23-33
11. P. Ogren, N. Leonard (2005) A convergent dynamic window approach to
obstacle avoidance. IEEE Trans. Robotics, 21:188-195
12. P. Van Overschee, B. Moor (1996), Subspace Identification for Linear Sys-
tems: Theory, Implementation and Applications, Ed. Kluwer Academic.
13. LL. Pacheco, N. Luo, R. Arbuse (2006) Experimental Modeling and Con-
trol Strategies on an Open Mobile Robot Platform. IEEE-TTTC AQTR06
14. R.W. Brockett (1983), Asymptotic stability and feedback stabilization,
In: Differential Geometric Control Theory, Birkhauser, Boston.
15. O.J. Sordalen, C. Canudas de Wit (1993) Exponential Control Law for a
Mobile Robot: Extension to Path Following. IEEE Trans. On Rob. and
Aut., 9:837-842
16. J.A. Reeds, L.A. Shepp (1990), Optimal paths for a car that goes forwars
and backwards. Pacific Journal of Mathematics, 145:367-379.
17. A. Astolfi (1996), Discontinuous Control of Nonholonomic Systems. Sys-
tems and Control Letters, 27:37-45.
10
Control for a Three-Joint Underactuated
Planar Manipulator – Interconnection and
Damping Assignment Passivity-Based Control
Approach
10.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 109–118, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
110 M. Ito and N. Toda
IDA-PBC and derive a concrete control law. These results are summa-
rized into Proposition 2. Numerical experiments verify the effectiveness
of the derived control law.
Notation. We denote the i-th basis vector in ℜn , the n-th order identity
matrix, and the m×n zero matrix as ei , In , and Om×n . The gradient of
a scalar functions H with respect to a vector x is represented by ∇x H.
△
and matrices Wi ∈ ℜn×n , i = 1, . . . , no , no = n(n − 1)/2, are defined as
follows:
γ = [γ1 , · · · , γn ]⊤ = M −1 Md (G⊥ )⊤ ∈ ℜn ,
△
(10.6)
△ ⊥ ⊤
s = G ∇q V (10.7)
Proposition 1. (Acosta et al. [3]) Consider the system (10.1) that sat-
isfied A1–A3. Assume that there exist matrices Ψ and Md0 such that
A4–A6 hold with all desired (locally) positive definite inertia matrices
Z qr
Md (qr ) = G(µ)Ψ(µ)G⊤ (µ)dµ + Md0 . (10.8)
qr∗
Y
: center of mass
of each link
ℓ3
: center of percussion
of 3rd link
Acceleration
of gravity
K
g0 d3
φ3 θ
ay
y
ax
2nd revolute joint φ2 3rd revolute joint
(unactuated)
(actuated)
1st revolute joint
(actuated)
d2
φ1 ℓ2
O x X
d1
ℓ1
Z qr
s(µ)
Vd (q) = dµ + Φ(z(q)) (10.9)
0 γr (µ)
for all differentiable functions Φ, the IDA-PBC
u = (G⊤ G)−1 G⊤ (∇q H ⊤ −Md M −1 ∇q Hd⊤ +J2 Md−1 p)−Kv G⊤ Md−1 p
(10.10)
ensures that the closed-loop dynamics is a Hamiltonian system (10.3)
with the total energy function (10.2), where the function z(q) is defined
as Z qr
△ γ(µ)
z(q) = q − dµ. (10.11)
0 γr (µ)
Moreover, [q∗ , 0] is a locally stable equilibrium with the Lyapunov func-
tion Hd (q, p) provided that the root qr = qr∗ of s(qr ) is isolated, the
function z(q) satisfies z(q∗ ) = arg min Φ(z) and this minimum is iso-
lated. This equilibrium will be asymptotically stable if A7 holds. ⊔
⊓
for q3∗ ∈ [−π, π]. Hence, all Assumptions are satisfied only if we select
[ qe⊤ , p⊤ ∗ ∗
e ] = [ q1 , q2 , π/2, 0, 0, 0 ], ∀(q1∗ , q2∗ ) ∈ D
3.5 0.3
0.25
3 0.2
Velocities: p
Positions: q
2.5 0.15
0.1
2 0.05
1.5 0
-0.05
1 -0.1
0 10 20 30 40 50 0 10 20 30 40 50
Time: t (s) Time: t (s)
Fig. 10.2. Simulation results for the case of transfer between stabilizable
equilibria: (left) generalized coordinates; (right) generalized velocities; x and
ẋ (solid line), y and ẏ (broken line), θ and θ̇ (chain line)
× 10-16
150 0.8
0.4
100
0
50
-0.4
0 -0.8
-50 -1.2
0 10 20 30 40 50 0 10 20 30 40 50
Time: t (s) Time: t (s)
Fig. 10.3. Joint torques for the case Fig. 10.4. Constraint force for the
of transfer between stabilizable equi- case of transfer between stabilizable
libria; τ1 (solid line), τ2 (broken line) equilibria
5 4
4 2
3
Velocities: p
Positions: q
2 0
1 -2
0 -4
-1
-2 -6
-3 -8
0 10 20 30 40 50 0 10 20 30 40 50
Time: t (s) Time: t (s)
Fig. 10.5. Simulation results for the case of the swing-up maneuver:
(left) generalized coordinates; (right) generalized velocities; x and ẋ (solid
line), y and ẏ (broken line), θ and θ̇ (chain line)
× 10-15
100 0.8
0.4
0
0
-100
-0.4
-200 -0.8
-300 -1.2
0 10 20 30 40 50 0 10 20 30 40 50
Time: t (s) Time: t (s)
Fig. 10.6. Joint torques for the case Fig. 10.7. Constraint force for the
of the swing-up maneuver; τ1 (solid case of the swing-up maneuver
line), τ2 (broken line)
control torques at the first and second joints and the constraint force
at the third joint. We can see that the second-order nonholonomic con-
straint is sufficiently satisfied in control by observing the constraint
force.
Swing-up Maneuver
The initial state is q(0) = [ 2(m), 1.5(m), −π/2(rad) ]⊤ , p(0) = 0. The
goal state is q ∗ = [ 2(m), 1.5(m), π/2(rad) ]⊤ , p∗ = 0. The result is
shown in Fig. 10.5–10.7. The asymptotic stabilization is also achieved
and the constraint is sufficiently satisfied.
10.5 Conclusions
The domain of attraction of the derived control law and the de-
sign of the controller for the system with physical damping have to be
considered in future work.
References
11.1 Introduction
For manipulator described by Eqs. (11.1) and (11.2) the adaptive con-
trol algorithm is proposed in the following form:
b −1 K(
bm q̈md + F̂m + µ
u=J b µb −1 qmd − qld ) + Kpm q̃m + Kdm ṽm .
(11.5)
Kd ṽl ) + µ
b qld , (11.6)
and
where
Al = diag{ali }, Bl = diag{bli },
Am = diag{ami }, Bm = diag{bmi }.
First we carry out a stability proof for a similar control algorithm for
a manipulator with rigid links. In case of negligible flexibility (K → ∞
[11, 7, 10, 13]) the model given by (11.1) and (11.2) reduces to
• bli are constants which satisfy the following inequality 0 < β < 1
and λM (Bl ) > βλM (Dl )/λm (Dl ) is a constant. λm (Dl ) and λM (Dl )
denote the smallest and the biggest eigenvalues of inertia matrix Dl ,
respectively. Finally, λM (Bl ) is the biggest eigenvalue of matrix Bl .
b l, C
• D b l , ĝl and F̂ are the estimates of Dl , Cl , gl , and F , respectively.
Taking into account a skew symmetric property of the matrix Ḋl (ql ) −
2Cl (ql , q̇l ) and (11.8), (11.9) the error equation of the system consid-
ered here can be written in the following form:
Dl (ql )q̃¨l + (Cl + Cd )q̃˙ l − F (q̇l ) + F (q̇ld ) + Y l (ql , q̇ld , q̈ld )ãl + Kpl q̃l +
+ Kdl ṽl = 0, (11.10)
b l − al ,
ãl = a (11.11)
Now we formulate the main Theorem 1 of this paper. Its proof is based
on theorem A1 given in the Appendix. First we prove the main result
for a rigid manipulator and next we formulate extension of this result
to a manipulator with joint flexibility.
Theorem 1:
For the closed-loop system described by (11.10) and adaptation law
given by (11.13) with control law expressed by (11.9) one can define
a Lyapunov function candidate which satisfies conditions described in
Theorem A1 (see Appendix) with initial conditions q̃l (0), q̃˙ l (0), ṽl (0),
and ãl (0), which guarantees that the state of the system represented
by q̃l (t), q̃˙ l (t), ṽl (t), and ãl (t) is uniformly bounded and converges
exponentially to closed balls Br1 , Br2 defined as follows:
q
˙ 2 ˙ 2 2
Br1 = q̃l (t), q̃l (t), ṽl (t) : kq̃l (t)k + kq̃l (t)k + kṽl (t)k 6 r1
11 A New Control Algorithm for Manipulators with Joint Flexibility 123
and
n p o
Br2 = ãl (t) : kãl (t)k2 6 r2 ,
where η > 0.
The Lyapunov function is defined by (11.14).
1 1 1 ˙
V (q̃l , q̃˙ l , ṽl , t) = q̃˙ lT Dl q̃˙ l + q̃lT Kpl q̃l + ṽl Kdl B−1 T
l ṽl + εq̃l Dl q̃l +
2 2 2
1
+ εṽlT Dl q̃˙ l + ãTl Γl ãl , (11.14)
2
where Γ is a symmetric positive–definite matrix and ε is a constant
value coefficient (ε > 0). Note that the Lyapunov function candidate
defined by (11.14) differs from that defined by Loria and Ortega [9].
Obviously V (q̃l , q̃˙ l , ṽl , t) is trivially a positive definite matrix.
Next we calculate the ball radiuses according to the assumptions pre-
sented in Theorem A1 and the Lyapunov function candidate satisfies
the following inequalities:
1 1
z T Q1 z + λm (Γl )kãl k2 6 V (q̃l , q̃˙ l , ṽl , t) 6 z T Q2 z + λM (Γl )kãl k2 ,
2 2
(11.15)
T T T T
˙
where z = q̃ q̃ ṽ , and matrices Q1 and Q2 are as follows:
1 ε
λm (Kpl ) λm (Dl ) 0
2 2
ε 1 ε
Q1 = λm (Dl ) λm (Dl ) λm (Dl ) , (11.16)
2 2 2
ε 1
0 λm (Dl ) λm (Kdl )λ−1 M (Bl )
2 2
1 ε
λ (K ) λ (D ) 0
2 M pl 2 M l
ε 1 ε
Q2 = λM (Dl ) λM (Dl ) λM (Dl ) . (11.17)
2 2 2
ε 1
0 λM (Dl ) λM (Kdl )λ−1 m (Bl )
2 2
These matrices are positive definite, namely ε has to fulfil the following
conditions:
124 P. Sauer and K. Kozlowski
s
λm (Kpl )
ε< ,
λm (Dl )
s
λm (Kpl )λm (Kdl )λ−1
M (Bl )
ε< ,
λm (Dl ) λm (Kpl ) + λm (Kdl )λ−1
M (Bl )
s
λM (Kpl )
ε< ,
λM (Dl )
s
λM (Kpl )λM (Kdl )λ−1
m (Bl )
ε< . (11.18)
λM (Dl ) λm (Kpl ) + λm (Kdl )λ−1
m (Bl )
Taking into account the above conditions the Lyapunov function (11.14)
satisfies the following inequality:
1
λm (Q1 )kzk2 + λm (Γl )kal k2 6 V (q̃l , q̃˙ l , ṽl , t) 6
2
1
6 λM (Q2 )kz||2 + λM (Γl )kal k2 .
2
(11.19)
Taking into account the skew symmetric property of the matrix Ḋl (ql )−
2Cl (ql , q̇l ) and Eqs. (11.7) and (11.9) ÷ (11.13), the time derivative of
the Lyapunov function can be rewritten in the following form:
V̇ = q̃˙ lT F (q̇l ) − q̃˙ lT F (q̇ld ) + εq̃lT F (q̇l ) − εq̃lT F (q̇ld ) + εṽlT F (q̇l )+
− εṽlT F (q̇ld ) + ãTl Γl ã˙ l − εq̃lT Y l ãl − εṽlT Yl ãl − q̃˙ lT Yl ãl +
− ṽlT Kdl B−1 ˙T ˙ ˙T ˙ T T ˙
l Al ṽl − q̃l Cd q̃l + εq̃l Dl q̃l + εq̃l Cd − Cd q̃l +
+ εq̃lT CTl − CTd q̃˙ l − εq̃lT Kpl q̃l − εq̃lT Kdl ṽl − εṽlT ATl Dl q̃˙ l +
+ εq̃˙ l BTl Dl q̃˙ l + εṽlT CTl − CTd q̃˙ l + εṽlT CTd − Cd q̃˙ l +
− εṽlT Kpl q̃l − εṽlT Kdl ṽl , (11.20)
First we establish the following bounds for the terms associated with
the friction coefficients which appear in Eq. (11.20) taking into account
Eq. (11.21):
where λm (·) and λM (·) denote the smallest and the maximum eigen-
value of the matrix (·), respectively.
Now we can establish the following bounds for the other terms in
Eq.(11.20), which do not include elements with vector ã:
"
1
λm (Kdl )λ−1
M (Bl )λm (Al )
Q4 = 2ε ...
−2kC Bd − λM (Al )λM (Dl ) − λM (Fv )
−2kC Bd − λM (Al λM (Dl ) − λM (Fv )
... 1 ,
λM (Dl )λM (Bl )
β
1
2 λm (Kpl ) −2kC Bd − λM (Fv )
Q5 = 1 2αkC Bd ,
−2kC Bd − λM (Fv ), λM (Bl )λM (Dl ) −
β ε
β+2
λ1 = − λM (Bl )λM (Dl )ε − γkC Bd + ρλm (Fv ),
β
1
λ2 = λm (Bl )λM (Dl ) − λM (Dl ),
β
1
λ3 = λm (Kdl )λ−1 M (Bl )λm (Al ) + ελm (Kdl ),
2
α + γ = 1, α, γ, β > 0, and 0 < ρ < 1.
The condition for the positive definiteness of matrix Q3 results in
an upper bound for ε (recall that ε > 0):
λm (Kpl )λm (Kdl )λm (Al )
ε< . (11.25)
4λM (Bl ) (λM (Kpl ) + λM (Kdl ))2
For matrix Q4 the positive definiteness condition can be written in the
following form:
λm (Kdl )λm (Bl )λm (Al )λM (Dl )
ε< . (11.26)
2β (2kC Bd + λM (Al )λM (Dl ) + λM (Fv ))2
11 A New Control Algorithm for Manipulators with Joint Flexibility 127
The condition for λm (Kpl ) can be calculated from the condition for the
positive definiteness of matrix Q5
2αβkC Bd
ε> . (11.28)
λM (Bl )λM (Dl )
1 ηλ2M (Γl )
ε1 = kāk2 > 0.
2 λm (Γl )
ε ε
2ελM (Fc ) (kq̃l k + kṽl k) − λm (Kpl )kq̃l k2 − λm (Kdl )kṽl k2 +
2 2
λm (Kpl ) + λm (Kdl )
ε2 = 2ελ2M (Fc ) . (11.39)
λm (Kpl )λm (Kdl )
˙ 2.
V (t) > ξ1 kq̃k (11.41)
1 1 1
V (t) > λm (Dl )kq̃˙ l k2 + λm (Kpl )kq̃l k2 + λm (Kdl )λM (Bl )kṽl k2 +
2 2 2
1
− ελm (Dl )kq̃l kkq̃˙ l k − ελM (Dl )kṽl kkq̃˙ l k + λm (Γl )kãl k2 ,
2
(11.42)
1
• λm (Kpl )kq̃l k2 − ελm (Dl )kq̃l kkq̃˙ l k =
2
1 ˙ λm (Dl ) 2 1 ε2 λ2m (Dl ) ˙ 2
= λm (Kpl ) kq̃l k − kq̃l kε − kq̃l k ,
2 λm (Kpl ) 2 λm (Kpl )
(11.43)
1 1
• λm (Kdl )λM (Bl )kṽl k2 − ελm (Dl )kṽl kkq̃˙ l || = λm (Kdl )λM (Bl )·
2 2
2
ελm (Dl ) ˙ ε2 λ2m (Dl )
· kṽl k − kq̃l k − kq̃˙ l ||2 .
λm (Kdl )λM (Bl ) 2λm (Kdl )λM (Bl )
(11.44)
The time derivative of the Lyapunov function has the same form as in
Theorem A1 (see (11.60), (11.61) in the Appendix), if we define the
following variables:
1
λ1 = λm (Q1 ), λ2 = λm (Γl ),
2
1
λ3 = λM (Q2 ), λ4 = λM (Γl ),
2
√
′ V 1
λ5 = λm (Q ) − εkC √ , λ6 = ηλm (Γl ), (11.50)
ξ1 4
and
ηλ2M (Γl ) 2
ε3 = ε1 + ε2 = ā + λ2M (Fc )·
2λm (Γl )
2ε(1 − ρ)λm (Fv ) (λm (Kpl ) + λm (Kdl )) + λm (Kpl )λm (Kdl )
· . (11.51)
(1 − ρ)λm (Kpl )λm (Kdl )λm (Fv )
The coefficient associated with ||z||2 in Eq. (11.49) requires more careful
examination. Now choose two scalar constants VM√and Vm so that
VM > Vm > V (0), and define cM = λmin (Q′ ) − εkC √VξM ; then choose
ξ 1
1 large enough so that cM > 0 (this is always possible). Next selecting
proper
˙ values of ε3 and η are can ensure that Vm 6 V1 6 VM then
V < 0. This condition together with VM > Vm √> V (0) implies that
V (t)
V (t) 6 VM ∀t, so that c(t) = λmin (Q′ ) − εkC √ξ > cm > 0 ∀t.
1
One can make parameter ε3 small when parameters ε, η are chosen
sufficiently small. We introduce the following assumption:
Mq̃¨ + (C1 + Cd )q̃˙ + Y 1 (ql , q̇ld , q̈ld , qmd , q̇md , q̈md )ã + Kp q̃ + Kd ṽ = 0,
(11.55)
and
q̃˙ = −Aṽ + B q̃,
˙ (11.56)
where
T T , T T ,
q̃ = q̃lT q̃m ṽ = ṽlT ṽm
Ml 0 Kdl 0
M= , Kd = ,
0 Jm 0 Kdm
B1 0 C(ql , q̇l ) 0
B= , C1 = ,
0 B2 0 0
C(ql , q̇ld ) 0 Kpl + K −K
Cd = , Kp = ,
0 0 −K Kpm + K
Y l (ql , q̇ld , q̈ld ) 0
Y1 = ,
0 Y m (qmd , q̇md , q̈md )
where matrices Y l and Ym are appropriate matrices associated with
links and motors, respectively. Note that (11.55) and (11.56) are similar
to (11.10) and (11.9). The conditions for matrices M, C, and Cd are
11 A New Control Algorithm for Manipulators with Joint Flexibility 133
References
Appendix
Theorem A1:
Consider the following system:
12.1 Introduction
In the past years an extensive literature has been devoted to the sub-
ject of motion control of rigid robot manipulators. Many approaches
have been proposed, such as feedback linearization [1], model predic-
tive control [2], as well as sliding mode or adaptive control [3], [4], [5].
The basic idea of feedback linearization, known in the robotic context
as inverse dynamics control [6], [7], is to exactly compensate all the
coupling nonlinearities in the dynamical model of the manipulator in a
first stage so that a second stage compensator may be designed based
on a linear and decoupled plant. Although global feedback linearization
is possible in theory, in practice it is difficult to achieve, mainly because
the coordinate transformation is a function of the system parameters
and, hence, sensitive to uncertainties which arise from joint and link
flexibility, frictions, sensor noise, and unknown loads. This is the rea-
son why the inverse dynamics approach is often coupled with robust
control methodologies [1].
Among these, a possibility is offered by sliding mode control [8],
[9] which is robust versus a significant class of parameter uncertainties
and insensitive to load disturbances. Yet, it is a common opinion that
the major drawback of sliding mode control applied to robots is the
so-called chattering phenomenon due to the high frequency switching
of the control signal, which may disrupt or damage actuators, dete-
riorating the controlled system. Such a phenomenon is increased due
to the fact that the sliding mode controller is designed by means of a
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 137–146, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
138 A. Calanca et al.
The basic idea of inverse dynamics control [6], [7] is to transform the
nonlinear system (12.1) into a linear and decoupled system by using a
nonlinear coordinate transformation that exactly compensates all the
nonlinearities. More specifically, by choosing the following nonlinear
feedback control law
u = B(q)y + n(q, q̇) (12.2)
with n(q, q̇) = C(q, q̇)q̇ + Fv q̇ + Fd sign(q̇) + g(q), system (12.1) simply
becomes q̈ = y. Note that, even if n(q, q̇) in (12.2) has been accurately
identified, it can be quite different from the real one because of uncer-
tainties and unmodelled dynamics, friction, elasticity, and joint plays.
Now assume that the term n̂(q, q̇) considers the identified centripetal,
Coriolis, gravity, and friction torques terms, while the inertia matrix
B(q) is known.
So letting u = B(q)y + n̂(q, q̇), the compensated system becomes
for each joint, with q̈ T = [q̈1 , . . . , q̈n ]. Then a sliding mode controller
can be derived for each of them.
Letting ei = qdi − qi be the tracking error for each joint i subsystem,
and choosing the following state variables
x1i e
xi = = i , (12.4)
x2i ėi
the continuous-time dynamics of the tracking error for each joint can
be viewed as the dynamics of a linear system
that is
yk = −(T H ∗ )−1 (T G∗ xk − T H ∗ fk − T H ∗ q̈dk ) (12.9)
From (12.9) it is apparent that yk tends to infinity if δ → 0 (see [14]).
In order to make the control task easier, and to avoid the mentioned
problem, the control law is chosen so as to steer sk to zero in a finite
number of steps instead of after a single step. To this end it is possible
to define an upper bound | yk |< y0 for the control signal.
According to [14], it can be proved that, by choosing as yk to apply
in (12.6), the following control law
yk , | yk |6 y0
yk = y yk , | y |> y (12.10)
0 |yk | k 0
the necessary and sufficient condition for the discrete time sliding mode
generation | sk+1 |<| sk | is satisfied, hence | sk | decreases monoton-
ically and, after a finite number of steps, yk becomes bounded and
| yk |6 y0 so that, in one step, sk = 0, and a discrete time sliding
mode will occur. Similarly to the case of continuous time systems, the
equation sk = T xk = 0 enables system order reduction, and the desired
dynamics of the sliding mode can be designed by an appropriate choice
of matrix T in the sliding manifold equation [14].
where
( y
K |ykeq
keq |
, | ykeq |> y0
discrP Ik (·) = 1+2KI ˆ (12.12)
ykeq + KP sk + KI fk , | ykeq |6 y0
being
ykeq = −(T H ∗ )−1 (T G∗ )xk (12.13)
the discrete time equivalent control law (12.9), and KI ∈ ℜ and KP ∈ ℜ
represent two suitable constants such that the tracking error dynamics
is asymptotically stable.
I ˆ
The term 1+2K
KI fk represents a suitable estimation of fk . This esti-
mation is given by
1 + 2KI ˆ
fˆk+1 = −KI [fˆk + (T H ∗ )−1 sk − KP sk−1 + (1 − )fk−1 ], (12.14)
KI
1 + 2KI ˆ
sk = T H ∗ (KP sk−1 + fk−1 − fk−1 ) (12.15)
KI
F̂ (z)(1 + KI z −1 + KI z −2 ) = KI f, (12.17)
The control approach described in this paper has been tested on the
Smart3-S2 industrial anthropomorphic rigid robot manipulator by Co-
mau located at the Department of Electrical Engineering of the Uni-
versity of Pavia, shown in Fig. 12.1. It consists of six links and six
rotational joints driven by brushless electric motors. For our purposes,
joints 1, 4, and 6 are not used. In this way the model formulation is
simpler. As a result, it is possible to consider the robot as a three
link-three joint (numbered {1, 2, 3} in the sequel) planar manipulator,
as schematically represented in Fig. 12.1. This choice allows us to keep
the model formulation and the identification simpler. Yet, the proposed
method can be easily extended to a n-joint robot.
Identification
The identification procedure for rigid robot manipulators presented in
[16] has been applied to identify the parameters of the model of the
Smart3-S2 industrial robot shown in Table 12.1 [16]. In Table 12.2, the
identified parameters for the robot are reported.
40 q 20
1
20 q
q and qd on joint 1, 2, 3 [rad]
0 d1 0 q
1
q and q on joint 1, 2, 3 [rad]
−20 −20 q
d1
0 1 2 3 4
40 0 1 2
q
2
q 20
20 d2
0 q
2
0 −20 q
d2
0 1 2 3 4
d
60 q 0 0.5 1 1.5
3
40
40 q 20
d3 q
20 0 3
−20 qd3
0
−40
0 1 2 3 4 0 0.5 1
t [sec] t [sec]
Fig. 12.2. Comparison between the three joint positions and respectively
spline and sinusoidal reference trajectories using the discr-PI sliding mode
control law
12 Discrete-Time Sliding Mode Controller for Robot Manipulators 145
3
−38
−38.5 q1 2 q1
−39
q and q on joint 1, 2, 3 [rad] qd1
−39.5 qd1
1
0 1 2 3 4 1 2 3 4 5
2 2
1.5
q3 q3
1 1
0.5 qd3 qd3
0
0 1 2 3 4 2 4 6 8
t [sec] time [s]
Fig. 12.3. Tracking performance using the proposed algorithm (on the left)
versus that obtained using the discrete-time sliding mode control law without
disturbance estimation (on the right)
12.7 Conclusions
References
1. Abdallah, C., Dawson, D., Dorato, P., Jamshidi, M.: Survey of robust
control for rigids robots. IEEE Contr. Syst. Mag. 11(2) (1991) 24–30
2. Juang, J.N., Eure, K.W.: Predictive feedback and feedforward control for
systems with unknown disturbance. NASA/Tm-1998-208744 (1998)
3. Perk, J.S., Han, G.S., Ahn, H.S., Kim, D.: Adaptive approaches on the
sliding mode control of robot manipulators. Trans. on Contr. Aut. and
Sys. Eng. 3(2) (2001) 15–20
4. Shyu, K.K., Chu, P.H., Shang, L.J.: Control of rigid robot manipulators
via combiantion of adaptive sliding mode control and compensated inverse
dynamics approach. In: IEE Proc. on Contr. Th. App. Volume 143. (1996)
283–288
146 A. Calanca et al.
5. Colbaugh, R.D., Bassi, E., Benzi, F., Trabatti, M.: Enhancing the tra-
jectory tracking performance capabilities of position-controlled manipu-
lators. In: IEEE Ind. App. Conf. Volume 2. (2000) 1170–1177
6. Asada, H., Slotine, J.E.: Robot Analysis and Control. Wiley, NJ (1986)
7. Spong, M.W., Lewis, F., Abdallah, C.: Robot Control: Dynamics, Motion
Planning, and Analysis. IEEE Press, NJ (1993)
8. Edwards, C., Spurgeon, S.K.: Sliding Mode Control: Theory and Appli-
cations. Taylor & Francis, U.K. (1998)
9. Utkin, V.: Sliding modes in control and optimization. Moscow, Springer
(1992)
10. Milosavljevic, C.: General conditions for the existence of a quasisliding
mode on the swiching hyperplane in discrete variable structure systems.
Autom. Rem. Cont. 46(1) (1985) 307–314
11. Bartolini, G., Ferrara, A., Usai, E.: Chattering avoidance by second order
sliding mode control. IEEE Trans. Automat. Contr. 43(2) (1998) 241–246
12. Bartolini, G., Ferrara, A., Usai, E., Utkin, V.I.: On multi-input chattering-
free second-order sliding mode control. IEEE Trans. Automat. Contr.
45(9) (2000) 1711–1717
13. Ferrara, A., Magnani, L.: Motion control of rigid robot manipulators via
first and second order sliding modes. J. of Int. and Rob. Syst., Special
Issue on Model-Based Reason. in Eng. and Rob. Syst. 48 (2007) 23–36
14. Bartolini, G., Ferrara, A., Utkin, V.I.: Adaptive sliding mode control in
discrete-time systems. Automatica 31(5) (1995) 763–769
15. Sarpturk, S.Z., Istefanopulos, Y., Kaynak, O.: On the stability of discrete-
time sliding mode control system. IEEE Trans. Automat. Contr. 32(10)
(1987) 930–932
16. Capisani, L., Ferrara, A., Magnani, L.: Mimo identification with optimal
experiment design for rigid robot manipulators. In: IEEE/ASME Int.
Conf. on Adv. Int. Mech., submitted. (2007)
17. Utkin, V.I., Drakunow, S.V.: On discrete-time sliding modes control.
In: Preprints IFAC Conference on Nonlinear Control, Capri, Italy. (1989)
484–489
13
Velocity Tracking Controller for Rigid
Manipulators
13.1 Introduction
is guaranteed.
Proof. It is assumed that the desired quantity ud (t) is continuously
differentiable, bounded by kud kN , i.e. kud (t)k 6 kud kN ∀t > 0, and
that the GVC vector ud (t) is integrable. The integral of each com-
ponent ud (k) is some curvilinear generalized coordinate. Inserting the
controller Eqs.(13.9)-(13.10) into the dynamics Eq.(13.2) one can ob-
tain the second-order differential equation (the matrix N is a positive
definite matrix):
ũ˙ + cD ũ + cP zu = 0, (13.12)
˙
where ũ(t) = u̇d (t) − u̇(t) and ũ(t) = ud (t) − u(t). Based on the vec-
tor u(t) all components of zu (t) are known because this vector results
from integration of u(t) and similarly to the vector u(t) it contains the
manipulator parameter set.
Using Eqs.(13.10) and (13.12) we obtain the closed-loop system in
the following form:
d zu ũ
= . (13.13)
dt ũ −cP zu − cD ũ
The Lyapunov function candidate is proposed as follows:
1 T 1
LE (zu , ũ) = ũ ũ + zuT cP zu . (13.14)
2 2
The time derivative of LE is:
L̇E (zu , ũ) = ũT ũ˙ + żuT cP zu = ũT (−cD ũ − cP zu + cP zu )
= −ũT cD ũ 6 0, (13.15)
because cD is a positive definite matrix. One can find an upper bound
of that time derivative in the following form:
zu , ũ ∈ LN
∞ . Assuming the hypothesis that the desired signal kũd (t)k is
bounded for all t > 0, one can observe that the time derivative of the
state variables are bounded signals, i.e. żu , ũ˙ ∈ LN
∞ . Integrating (13.16)
leads to
Z ∞ Z ∞
2
λmin (cD )ũ(σ) dσ 6 − L̇E (zu (σ), ũ(σ))dσ
0 0
= LE (zu (0), ũ(0)) − LE (zu (∞), ũ(∞)). 6 LE (zu (0), ũ(0)) <∞(13.17)
L̇(zu , ũ) = ũT ũ˙ + zuT (cP + δcD )żu + δzuT ũ˙ + δżuT ũ. (13.20)
Calculating from Eq.(13.12) ũ˙ and recalling Eq.(13.10) one can obtain:
where λmin (cD ) is defined as previously. Now the function L(zu , ũ) can
be written as follows:
1 zu T cP δcD zu
L(zu , ũ) = (13.22)
2 ũ 2δI I ũ
Hence, there exists a ρ such L̇ < −ρL. If we assume λmin (cD ) > δ then
this result implies that
L(t) 6 L(0)e−ρ t . (13.24)
Therefore, also the exponential convergence is proved.
Remark 1. From Eq. (13.12) it follows that the controller (13.9) guar-
antees that the quasi-position error and the quasi-velocity error tend to
zero. Each quantity uk (k-th component of the vector u) is separately
regulated. For a rigid manipulator the relationship (13.3) is invertible
(because the matrix Υ (q) is a positive definite matrix). Thus we can
write that ud − u = Υ −1 (qd )q̇d − Υ −1 (q)q̇. From Eq.(13.11) it results
only that Υ −1 (q)q̇ → Υ −1 (qd )q̇d , as soon as the time tends to infinity.
Thus, in general, we cannot guarantee the joint velocity and the joint
position error convergence at the same time. In many cases the desired
joint velocity at the end of the motion is equal to zero. In such case we
can expect that Υ −1 (q) → Υ −1 (qd ), which means that the desired joint
position error may be achieved. If we consider non-integrable GVC, we
can propose only the simplified velocity controller (without the term
cP zu ). The proposed control algorithm is associated with an O(N 3 )
forward dynamics algorithm. However, as follows from [2] for serial
manipulators, the forward dynamics algorithm requires a comparable
number of arithmetical operations to many classical algorithms.
Remark 2. The advantages of the GVC tracking controller are: 1) indi-
vidual control of links by quasi-velocity regulation; 2) observation me-
chanical couplings between joint velocities and links (in time domain);
3) an insight into the manipulator dynamics by calculating the inertia
contained in Nk (k-th diagonal element of the matrix N (q)) and the
kinetic energy related to each link Kk (because the total kinetic energy
P 1 PN
is expressed as K = 12 uT N u = 12 N 2
k=1 Nk uk = 2 k=1 Kk ).
Special case: integrable GVC. Consider a 3 d.o.f. spatial manipulator
(with inverse numbering of links according to [3] because of a nice phys-
ical interpretation) presented in Fig. 13.1(a) in order to find transfor-
mation between the zu vector and the vector of generalized coordinates
q. The quasi-velocities (GVC) are
ud1 = θ̇d1 + (1 + ko cos θd1 )θ̇d2 , ud2 = θ̇d2 , ud3 = ṡd3 , (13.25)
where ko = m1 p1 l2 /J1 (m1 is the mass of the first link, J1 is the first
link inertia, p1 means the distance between the axis of rotation and
the mass center of the first link, l2 is length of the second link). In
order to determine integrals of the udk we should assume the following
conditions: θ̇d2 = sin θd1 · θ̇d1 , θd2 = − cos θd1 (this condition is true
13 Velocity Tracking Controller for Rigid Manipulators 153
for, e.g., θd1 = β(at − sin at) and θd2 = − cos(β(at − sin at)), where
a, β denote constant values). Calculating analytically the integrals of
ud1 , ud2 , ud3 (constants are omitted here) one gets the following new
curvilinear desired quasi-coordinates:
1
zu1d = θd1 + θd2 + ko sin2 θd1 , zu2d = θd2 , zu3d = sd3 . (13.26)
2
dθd2= ud2
2
dsd3= ud3
1
0
0 1 t [s] 2 3
(a) (b)
θ ,θ ,z ,z [rad] , s , z [m] eu1, eu2 [rad/s] , eu3 [m/s] ev1, ev2 [rad/s] , ev3 [m/s]
d1 d2 ud1 ud2 d3 ud3
3
0.04
0.06
θ eu2 eu1 ev2
z d1 0.04
2 ud1 0.02
0.02
0 0
1
sd3= zud3 −0.02
−0.04 eu3 −0.02
0 ev3
−0.06
θd2= zud2 −0.04 ev1
−0.08
−1
0 1 t [s] 2 3 0 1 t [s] 2 3 0 1 t [s] 2 3
−0.01 −5 150
−0.015 z 100
u2
τ2
z −10 τ1
−0.02 u1 50
e2
e1
−0.025 0
−15
0 1 t [s] 2 3 0 1 t [s] 2 3 0 1 t [s] 2 3
References
1. Herman P, Kozlowski K (2001) Set Point Control for Serial Manipulators
Using Generalized Velocity Components Method. In: Proc. of the 10-th
ICAR’01, August 23-25, Budapest, Hungary, pp.181-186
2. Herman P, Kozlowski K (2006) A Survey of Equations of Motion in Terms
of Inertial Quasi-Velocities for Serial Manipulators. Archive of Applied
Mechanics 76:579-614
3. Jain A, Rodriguez G (1995) Diagonalized Lagrangian Robot Dynamics.
IEEE Transactions on Robotics and Automation 11:571–584
4. Koditschek D (1985) Robot Kinematics and Coordinate Transformations.
In: Proc.of the 24th IEEE Conference on Decision and Control, pp.1-4
5. Loduha TA, Ravani B (1995) On First-Order Decoupling of Equations of
Motion for Constrained Dynamical Systems. Transactions of the ASME
Journal of Applied Mechanics 62:216–222
6. Sciavicco L, Siciliano B (1996) Modeling and Control of Robot Manipu-
lators. The McGraw-Hill Companies Inc., New York
7. Slotine J-J, Li W (1991) Applied Nonlinear Control. Prentice Hall, New
Jersey
8. Spong M (1992) Remarks on Robot Dynamics: Canonical Transforma-
tions and Riemannian Geometry In: Proc. of IEEE Conference on Ro-
botics and Automation, Nice, France. pp.554-556
9. Wen JT, Bayard DS (1988) New class of control laws for robotic ma-
nipulators, Part 1, Non-adaptive case. International Journal of Control
47:1361–1385
14
Fixed Point Transformations-Based Approach
in Adaptive Control of Smooth Systems
14.1 Introduction
The first efforts in this direction are summarized in [9], in which the
sizes of the necessary uniform structures used for developing partial,
temporal, and situation-dependent models that need continuous main-
taining are definitely determined by the degree of freedom of the system
to be controlled.
These considerations do not even assume the availability of an an-
alytic system model of satisfactory accuracy. They are based on the
simple assumption that the system to be controlled can be charac-
terized by its measurable responses given to well known excitations
exerted by the controller. These excitations can be computed on the
basis of a very rough initial model. By comparing the expected and
the experienced responses in each control cycle, properly modified ex-
citations can be applied in the next cycle without trying to identify
the appropriate mapping over a wider domain. According to this idea
each control task can be formulated by using the concepts of the ex-
erted excitation Q of the controlled system to which it is expected to
respond by some prescribed or desired response rd . For instance, in the
case of classical mechanical systems the excitation physically may be
some force or torque, while the response can be linear or angular ac-
celeration. The appropriate excitation can be computed by the use of
some rough, very approximate inverse dynamic model Q = ϕ(rd ). Since
normally this model is neither complete nor exact, the actual response
determined by the system’s dynamics, ψ, results in a realized response
rr that differs from the desired one: rr ≡ ψ(ϕ(rd )) ≡ f (rd ) 6= rd . It
is worth noting that the functions ϕ() and ψ() may contain various
hidden parameters that partly correspond to the dynamic model of the
system, and partly pertain to unknown external dynamic forces acting
on it. Due to phenomenological reasons the controller can manipulate
160 J.K. Tar, I.J. Rudas, and K.R. Kozlowski
For the purpose of obtaining the necessary deformation consider the fol-
lowing functions inspired by simple schematic geometric pictures with
the parameters ∆+ > xd , ∆− < xd , and x > D− :
f (x)−∆−
g(x|xd , D− , ∆− ) := xd −∆−
(x − D− ) + D−
d
x −∆+ (14.2)
h(x|xd , D− , ∆+ ) := f (x)−∆+ (x − D− ) + D− .
= 1 − f ′ (x⋆ ) xx⋆d −D
−∆
−
.
+
−0.01 0.80
−0.65 −0.34
−1.29 −1.48
−1.92 −2.62
−0.383 −0.088 0.208 0.504 0.799 0.384 0.488 0.592 0.696 0.799
Tracking error for fi [rad] vs time [s] Tracking error for fi [rad] vs time [s]
−0.249 0.000
−0.397 −0.075
−0.545 −0.150
−0.693 −0.225
−0.841 −0.299
0.00 1.25 2.50 3.75 5.00 0.00 1.25 2.50 3.75 5.00
Fig. 14.1. Comparison of the phase trajectories (upper row) and tracking er-
rors (lower row) of variable ϕ for slow, damped nominal motion (non-adaptive
and adaptive cases on the left and on the right, respectively) when only the
modeling errors have to be compensated
14 Fixed Point Transformations-Based Approach in Control 163
Phase space of fi [10^0 rad/s vs 10^0 rad] Phase space of fi [10^−1 rad/s vs 10^−1 rad]
75.1 63.0
38.6 27.2
2.0 −8.7
−34.6 −44.5
−71.2 −80.4
−14.0 −5.6 2.8 11.2 19.6 1.75 3.31 4.87 6.44 8.00
11.2 6.44
2.8 4.87
−5.6 3.31
−14.0 1.75
0.00 3.75 7.50 11.25 15.00 0.00 Nominal
3.75 7.50 11.25 15.00
Tracking error for fi [10^−1 rad] vs time [s] Adaptive factor s [10^−1dimless] vs time [s]
2.91 29.5
1.26 17.0
−0.39 4.5
−2.04 −8.0
−3.69 −20.5
0.00 3.75 7.50 11.25 15.00 0.00 3.75 7.50 11.25 15.00
Fig. 14.2. Results for undamped nominal motion under strong external per-
turbation: the phase space of ϕ (upper graphs) and the trajectory tracking
(central graphs) for the non-adaptive case (left-hand column), and the adap-
tive case (right-hand column) for D− = −250, ∆− = −300, ∆+ = 300 rad/s2
for a desired trajectory of fast oscillation (ω = 12 rad/s) while Q1 is also
perturbed by sinusoidal force of 120 N amplitude and ωp = 24 rad/s circular
frequency; in the lower graphs Qthe tracking error (on the left) and the cumu-
lative adaptive factor s(tn ) := nj=0 srel (tj ) constructed of the instantaneous
d
factors srel (tn ) = ÿÿ(t(tnn)−∆
)−∆+
+
for h, and srel (tn ) = ÿÿ(tn )−∆−
d (t )−∆
n −
for g (on the
right) for the adaptive cases are described; for the sake of achieving more
concentrated illustrations for f > 0 g, and for f < 0 h were applied in these
calculations
L = 0.25 m is the length and ϕ [rad] denotes the rotational angle of the
pendulum with respect to the upper vertical direction (clockwise), x [m]
denotes the horizontal translation of the cart+pendulum system in the
right direction, b = 0.1 [Ns/m] and f = 0.00218 [kgm2 /s] are viscous
friction coefficients, and I = 0.0034 [kgm2 ] denotes the momentum of
the arm of the pendulum. In the possession of the exact model (14.4)
could be used as follows: from purely kinematical considerations the
desired ϕ̈d could be determined and substituted into the lower equation
164 J.K. Tar, I.J. Rudas, and K.R. Kozlowski
to yield the necessary ẍd . Then both values could be substituted into
the upper equation to obtain the appropriate Q1 force to accelerate the
cart:
M +m
Q1 = bẋ + mL sin ϕϕ̇2 + mL cos ϕ (−f ϕ̇ + mgL sin ϕ) +
2 2 L2 cos2 ϕ (14.5)
+ −(M +m)(I+mL )+m
mL cos ϕ ϕ̈d .
It is easy to see from (14.5) that near ϕ = 0 Q1 is a decreasing
function of ϕ̈ since the coefficient of ϕ̈d takes the following form:
−M (I+mL2 )−mI−m2 L2 sin2 ϕ
mL cos ϕ < 0, that is ∂Q 1
∂ ϕ̈d
< 0, therefore an instan-
d
taneous increase in ϕ̈ results in a decrease in Q1 and vice versa. In the
lack of the exact model instead of the result of the above considerations
a rough initial model Q1 = −0.05ϕ̈ + 15 can be used that possibly is
the simplest paradigm or “parabola” of (14.5) with a constant negative
“inertia coefficient” and an additive term. By its use the resulted angu-
lar acceleration can be observed, and in general in the kth control cycle
the deformed xd∗ d∗ d d∗ d∗ d
k := g(xk−1 |xk , D− , ∆− ) or xk := h(xk−1 |xk , D− , ∆+ )
can be introduced. In the simulations tracking properties defined by
ẍd (t) = ẍN (t) + P [xN (t) − x(t)] + D[ẋN (t) − ẋ(t)] were prescribed
with strong proportional P = 500 s−2 and weak derivative feedback
D = 0.1341641 s−1 .
Figures 14.1 and 14.2 illustrate the applicability of the proposed
control for the case of a very rough initial model and for combined
effects of modeling errors and drastic external perturbations unknown
by the controller. Following short, hectic initial learning the nominal
trajectories are nicely traced in both the space of the ϕ coordinate and
in its phase space as well.
14.5 Conclusion
In this paper a very brief overview and criticism of the universal approx-
imators based SC technologies and that of the classical methods using
Lyapunov functions was given. As alternative approach, instead of de-
veloping complete and permanent system models, incomplete, situation-
dependent, and temporal models can be used that require continuous
amendment or maintenance via machine learning. For this purpose spe-
cial Fixed Point Transformations were proposed for SISO systems. The
possibility of making this approach convergent for negative definite
systems was mathematically proved and demonstrated via illustrative
simulations. It can also be expected that by the use of the previously
14 Fixed Point Transformations-Based Approach in Control 165
Acknowledgment
This research was supported by the National Office for Research and
Technology (NKTH) and the Agency for Research Fund Management
and Research Exploitation (KPI) in Hungary using the resources of
the Research and Technology Innovation Fund within the project No.
RET-10/2006. The authors gratefully acknowledge the support ob-
tained from the Hungarian National Research Fund (OTKA) within
the project No. K063405.
References
1. Kolmogorov AN (1957) Doklady Akademii Nauk USSR (in Russian),
114:953-956
2. De Figueiredo JP (1980) IEEE Tr. Autom. Control, 25(6): 1227–1231
3. Wang LX (1992) Fuzzy systems are universal approximators. Proc. of
the IEEE Int. Conf. on Fuzzy Systems, San Diego, USA, California, 8-12
Mar 1992, pp. 1163-1169
4. Weierstraß K (1872) Über continuirliche Functionen eines reellen Ar-
guments, die für keinen Werth des letzeren einen bestimmten Differen-
tialquotienten besitzen. A paper presented to the ’Königliche Akademie
der Wissenschaften’ on 18 of July 1872.
5. Lyapunow AM (1892) A general task about the stability of motion, PhD
Thesis (in Russian)
6. Slotine Jean-Jacques E, Li W (1991) Applied Nonlinear Control. Prentice
Hall International, Inc., Englewood Cliffs, New Jersey.
7. Getz NH (1995) Dynamic Inversion of Nonlinear Maps with Applications
to Nonlinear Control and Robotics. PhD Thesis, University of California
at Berkeley.
8. Getz, NH, Marsden JE (1997) Linear Algebra and its Applications.
258:311-343.
9. Tar JK, Rudas IJ, Szeghegyi Á, and Kozlowski K (2006) Novel Adap-
tive Control of Partially Modeled Dynamic Systems. In ”Lecture Notes
in Control and Information Sciences”, Springer Berlin/Heidelberg, Ro-
bot Motion and Control: Recent Development, Part II - Control and
Mechanical Systems, (Ed. Krzysztof Kozlowski) 335/2006:99–111
10. Roska T (2001) Development of Kilo Real-time Frame Rate TeraOPS
Computational Capacity Topographic Microprocessors. Plenary Lecture
at 10th International Conference on Advanced Robotics (ICAR 2001),
Budapest, Hungary, August 22-25, 2001.
166 J.K. Tar, I.J. Rudas, and K.R. Kozlowski
15.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 167–176, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
168 A. Ananiev, T. Michelfelder, and I. Kalaykov
bility of the concept, and identify and analyze possible technical prob-
lems. Figure 15.1 presents the construction and Fig. 15.2 the kinematic
scheme of the robot.
Fig. 15.1. First AASS hyper- Fig.15.2. Kinematics with worm gear
redundant robot prototype based mechanisms
activated, the secondary wheel 4a receives the rotation from wheel 3a.
When clutch 5b is activated, the secondary wheel 4b gets the rotation
from wheel 3b.
A secondary driving wheel 4c is coupled to both wheels 4a and 4b
such that it receives the rotation from one of 4a or 4b. This wheel 4c
is fixed to the inter-link shaft 8 that connects the pair of two adjacent
segments of the robot, for example 10 and 20, or 20 and 30. As shaft 8
is fastened to the body of the next segment 20 and articulates at the
body’s edge of segment 10, when the secondary driving wheel rotates,
the torque is transferred to swivel segment 20 at a desired relative angle
to segment 10. The same happens for each successive pair like segments
20 and 30, etc. Encoder 9 measures this relative angle. An electromag-
netic break 6 keeps this angle fixed for performing the desired pose of
the robot. For higher torques, the triple of wheels 3a, 2, and 3b form a
worm-type gear. At the same time the triple of wheels 4a, 4b, and 4c
form a normal teeth-wheel gear with an appropriate ratio.
Other structures based on the same principle of operation can
be composed such as a hyper-redundant SCARA robot implementing
rather complicated motions, compared to ordinary SCARA robots, or
a single-arm robot manipulator by fixing the proximal segment of the
snake to two additional degrees of freedom for obtaining a complete
three-dimensional working space.
An essential part of our concept is to stabilize the angular speed
of the secondary shaft of each module. Due to switching on-off of dif-
ferent amount of robot modules and having different payload on each
module, the load on the primary shaft is varying. Therefore a robust
stabilization of the angular speed of the secondary shaft of each mod-
ule is needed. In the next section we first model the electromagnetic
clutch based actuator, then design the system and test its robustness
properties.
The primary axis of the magnetic clutch (Fig. 15.3), rotating freely with
a speed θ1 , is permanently connected to the anchor plate. The solenoid
is housed by an enclosure, which is freely rotating with a speed θ2
and is used as reagent to the anchor plate. The force F applied to the
anchor plate depends on the current i through the solenoid. When F is
closer to the maximum force Fmax, the two axes are coupled, therefore
θ2 = q.θ1 and ω2 = ω1 , where q 6 1 represents the slippage. When
15 Driving Redundant Robots by a Clutch-Based Actuator 171
Fig. 15.3. Schematics of the electro - Fig. 15.4. General hysteresis loop
magnetic clutch (Bs : sat.flux, Hs : sat.field; Hc : co-
ercitive force [5])
The normal force F produces a friction force FM = F µ, where µ
is a friction coefficient. FM is orthogonal to F, static friction is not
considered. From [3] we obtain τf ric = 12 F µ(r1 + r2 ), where r1 and r2
are the inner and outer radius of the anchor plate. The normal force F
created by the coil magnetic field follows the electromagnetic model of
the coil
d(L.i) di dL dx
VL = =L +i , (15.2)
dt dt dx dt
where x is the distance (gap) between the anchor plate and the en-
closure. This gap is too small, so dL/dx ≈ 0 and Eq. (15.2) becomes
di
VL = iR + L dt . The inductance of the solenoid is L = µ0 AN 2 /l, where
N is the number of its windings, l is the solenoid length, µ0 is the
permeability of vacuum and A is the contact area between the anchor
plate and the coil. The magnetic field strength H is H = N i/l [8] and
the magnetic flux density B is obtained from the magnetic hysteresis
model [7]. The model of the hysteresis includes the magnetization and
its derivatives:
dB Bh− (H) − B dBh+ (H)
= µ0 + − µ0 , for dH > 0,
dH Bh− (H) − Bh+ (H) dH
172 A. Ananiev, T. Michelfelder, and I. Kalaykov
dB B − Bh+ (H) dBh− (H)
= µ0 + − µ0 , for dH < 0,
dH Bh− (H) − Bh+ (H) dH
where Bh− (H) and Bh+ (H) are retrieved from the hysteresis loop of the
material, as shown in Fig. 15.4. By combining all the above equations
the differential equation (15.1) finally becomes
x1 = ω2 , x2 = ω̇2 , x3 = i,
ẋ1 = x2 , ẋ2 = ω̈2 , ẋ3 = i̇
dx1 a2 σ2
= ω̇2 = − x1 + K x23 (t),
dt J2 J2
dx2 a2 σ 2 d(x23 (t))
= ω̈2 = − x2 + K , (15.4)
dt J2 J2 dt
dx3 R 1
= − x3 (t) + u(t),
dt L L
2
Aµ(r1 + r2 ) N d(x23 )
where K = and = 2x3 dxdt .
3
4µ0 l dt
Hence the nonlinear state-space model for simulation purposes is
a2 2
ẋ1 − J2 0 K · σJ2 · x3 x1 0
ẋ2 =
0 − aJ22 K · σJ2 · ẋ3 · x2 + 0 u(t).
2
(15.5)
1
ẋ3 0 0 −LR x 3 L
eq eq T
At steady (equilibrium) state the state variables are xeq = x1 0 x3 ,
where the zeroed second component corresponds to zero acceleration
15 Driving Redundant Robots by a Clutch-Based Actuator 173
xeq eq
2 = ω̇2 = 0. From this condition we can obtain a relation expressing
the x3 coordinate as a function of the other coordinates, namely
r
eq a2 eq
x3 = x , (15.6)
Kσ 2 1
which is used to simplify the clutch model. Given the reference values
x1d , x2d , and x3d , we define the error state space as
z1 = x1 − x1d ż1 = z2
and
z2 = x2 ż2 = ẋ2 = f (x) + g(x)u(t),
2 2
where f (x) = − L2 K σJ2 x23 − Ja22 x2 and g(x) = L2 K σJ2 x3 . The func-
tions f (x) and g(x) are used further to implement the sliding-mode
controller.
S = z2 + λ z1 = 0 or S = x2 − λ (x1 − x1d ) = 0.
that the change of input speed ω1 does not affect the controllability for
the case ω1 > ω2 . That is mainly based on the fact that the friction
coefficient is independent on the speed difference of both friction sur-
faces, i.e. both shafts. Therefore, the change of speed of the primary
surface affects the speed of the secondary surface in an unnoticeable
amount.
Figure 15.5 demonstrates a phenomenon related to a change of
the load because of varying friction conditions. The control signal
(top curve) has low frequency oscillations with a frequency of about
0.5 sec−1 , which is equal to the desired output angular speed. They are
due to the mechanical tolerances between both rubbing surfaces of the
magnetic clutch and also because both surfaces are not perfectly par-
allel, therefore the produced torque for one rotation is not uniform. At
the same time the angular speed of the secondary shaft is quite stable
(bottom curve).
15.5 Conclusions
References
1. Ananiev A., Kalaykov I. (2004) Single-motor driven construction of
hyper-redundant robot, Proc. of Int. Conf. on Mechatronics and Robotics
’04, Aachen, Germany, 549–553.
2. Al-Muthairi N.F., Zribi M. (2003) Sliding mode control of a magnetic
levitation system, Mathematical Problems in Engineering, 2:93–108.
3. Böge, A. (1995) Formeln und Tabellen zur Technischen Mechanik, Vieweg
Verlag.
4. Edwards, C., Spurgeon S.K. (1998) Sliding Mode Control Theory and
Applications, Taylor and Francis.
5. Pohl J., Sethson M., Krus P., Palmberg J.-O. (2001) Modelling and sim-
ulation of a fast 2/2 switching valve. Fifth Int. Conf. on Fluid Power
Transmissions and Control, Hangzhou, China, pap. 2-22.
176 A. Ananiev, T. Michelfelder, and I. Kalaykov
Yong-Ho Yoo
16.1 Introduction
Fig. 16.1. (a) concept of mixed reality bond graphs; (b) and (c) improved
hyper-bond interfaces
Fig. 16.2. Structure of the haptic ball manipulator (left) and sketch of hard-
ware parts of the hyper-bond interface (right)
Fig. 16.3. Mixed reality bond graph descriptions of the haptic ball manipu-
lator
state equations of the virtual subsystems can be derived from the bond
graphs. With the sampling rate decided in the hyper-bond interface,
the discrete transfer functions of the virtual subsystems are described
as follows:
EI1 (s) FvirtualA (s)
G1 (z) = Ztransf , G2 (z) = Ztransf ,
ErealA (s) ErealA (s)
FI1 (s) EI1 (s)−Ecollision
G3 (z) = Ztransf , G4 (z) = Ztransf ,
ErealA (s) Ecollision (s)
FvirtualA (s) FI1 (s)
G5 (z) = Ztransf , G6 (z) = Ztransf ,
Ecollision (s) Ecollision (s)
where FI1 and EI1 are the velocity and force of the virtual ball, ErealA is
the real force in the energy coupling point (port A), and FvirtualA is the
virtual velocity in the energy coupling point, Ecollision is the collision
force, G1 ,G2 , and G3 are the transfer functions when Ecollision is zero
and G4 ,G5 , and G6 are the transfer functions when EportA is zero.
A hyper-bond interface using the flow-negative-feedback causality
(Fig. 16.1b) is used. The hardware structures of the hyper-bond inter-
face is selected such as in the right of Fig. 16.2. Figure 16.4 shows the
components and connections of the hyper-bond interface and real sub-
systems. The generator MS is a current supplier (MSf1); components
of the connection-impedance Z between the current supplier and the
connecting wheel are the DC motor (GYz), friction and inertia of shafts
16 An Energy-Based Approach Towards Modeling 181
and gears (Rz and Iz). The position values from the position encoder
are changed into velocity values. It is necessary to derive the forward
Fig. 16.4. Components and connections of the hyper-bond interface and real
subsystems
transfer function GV toR (s) between fvirtualA and frealA in order to take
into account stability, transient response, and steady-state error of the
hyper-bond interface and real subsystems. The state equations of the
hyper-bond interface and real subsystems are
R3 1 R3
1
f2 − I3 − I3 m·I f2 I3 0
d 1 1
3
M Se1
e5 = C2 0 − m·C2 e5 + 0 0 ,
dt f R3 m R3 Rz 1 M Sf1
10 Iz Iz − m·Iz − Iz
f 10 0 Iz
(16.1)
f2
frealA = 0 0 1 e5 . (16.2)
f10
Therefore, the discrete forward transfer function G V toR (z) between
f virtualA and f realA is
1 − e−sT FrealA (s)
GV toR (z) = Z − transf { · }, (16.3)
s FvirtualA (s)
where M Sf1 (s) = K · FvirtualA (s). When this mixed reality system has
values of parameters as follows: R1 = 5 N-m-s, I1 = 1 N-s2/m, C1 =
0.02 m/N, C2 = 0.0001 m/N, R2 = 5000 N-m-s, R3 = 10 N-m-s, I2
= 0.05 N-s2/m, I3 = 1 N-s2/m, and TF1 = 0.8, Rz is 10 N-m-s, Iz
is 1 N-s2/m, r of GYz is 1, and the sampling rate of the hyper-bond
interface is 0.001 seconds –the common servo rate for haptic interfaces
[1] – the discrete forward transfer function GV toR (z) is
182 Y.-H. Yoo
Fig. 16.5. The left shows the root locus of the unity feedback system that
has the discrete forward transfer function GV toR (z), and the right shows
behaviors of handle (I3) position and mass (I1) position from the simulation
of Fig. 16.6 in 20-sim
Fig. 16.6. Implementation of the mixed reality bond graph model of Fig.
16.3 in 20-sim
Fig. 16.7. The distributed mixed reality haptic ball manipulator with ODE
16.4 Conclusion
The traditional bond graphs for virtual subsystems are incomplete rep-
resentations because they do not contain discrete-time dynamics which
can run directly on the digital computer. In this paper we have shown
a new methodology to clearly describe together the continuous-time
dynamics for real subsystems and the discrete-time dynamics for vir-
tual subsystems, and to couple both in a mixed reality energy model.
As an example, the distributed mixed reality haptic ball manipulator
is demonstrated. Because of the unified concept of bond graphs it can
be concluded that this methodology can be used to model also mixed
reality systems with other physical phenomena.
References
1. Salisbury K, Conti F, Barbagli F (2004) Haptic Rendering: Introductory
Concepts, IEEE Computer Graphics and Applications, 24-32
2. Paynter H M (1961) Analysis and Design of Engineering Systems. MIT
Press, Cambridge, MA
3. Karnopp D C, Margolis D L, Rosenberg R C (1975) System dynamics, a
unified approach. John Wiley, New York
4. Bruns F W (2001) Hyper-Bonds (Enabling Mixed Reality). artec-paper,
Bremen University, 82
5. Yoo Y H, Bruns F W (2006) Energy Interface for Mixed Reality. Proc.
12th IFAC Symposium on Information Control Problems in Manufactur-
ing, Saint Etienne
6. Amoerongen J V, Breedveld P (2004) Modelling of Physical Systmes for
the Design and Control of Mechatronic Systems.IFAC, Professional Brief,
Oxford, UK
7. Smith R (2004) Open Dynamics Engine v0.5 User Guide. ode.org,
http://ode.org
8. Milgram P, Kishino F (1994) A taxonomy of mixed reality visual displays.
IEICE Trans. Information Systems, E77-D:12
9. Bruns F W, Erbe H -H (2005) Mixed Reality with Hyper-Bonds. Control
Engineering Practice, Elsevier
10. Ishii H, Ullmer B (1997) Tangible bits: towards seamless interfaces be-
tween people, bits and atoms. Proc. CHI ’97, 234-241
11. Yoo Y H (2007) Mixed Reality Design Using Unified Energy Interfaces.
Dissertation, FB3, University of Bremen, Germany
17
Navigation of Autonomous Mobile Robots –
Invited Paper
17.1 Introduction
with respect to the nearest structure or obstacle (e.g., laser range find-
ers, sonar, radars, vision systems) while the other sensors would give
measurements about distance traveled from the original location (e.g.
encoders, INS). This measurement method is known as odometry. Once
information about the world around the robot is acquired, the robot
can use it for its own localization.
In general two main methods of mapping could be distinguished:
first, metric, and, second, topological. Metric maps acquire geometri-
cal features and proprieties of the environment, while the topological
methods are focused on connectivity points. The metric methods are
dominated by probabilistic methodologies. At present, there is a broad
consensus that probabilistic approaches give the best results in map-
ping and its application in autonomous vehicle navigation. There are
several problems with probabilistic methods in mapping. First problem
is that algorithms based on those methods require large computational
effort caused by high dimensionality.
The second problem is related to data association caused by un-
certainty if the mapped region can be identified and match with real
world. The third problem is connected to measurement noise. In many
statistical and probabilistic methods it is assumed that the measure-
ment noise is so called white noise with Gaussian distribution and zero
mean value. Unfortunately, this assumption is untenable for robotics
vehicle for which measurement noise is correlated and depends on robot
position, attitude and design. In short, measurement noise is colored
noise.
Over many years large number of probabilistic mapping methods
have been developed. In this paper only some of them will be addressed.
The earliest approach is occupancy grid mapping method with its
derivatives. The second are methods based on Kalman filtering and in-
clude, between others, simultaneous localization and mapping (SLAM)
method. Nowadays, more and more, SLAM name is used in conjunc-
tion with methods that are not based on Kalman filtering. The Kalman
filtering methods are essentially restricted to linear or linearized sys-
tems with measurement white noise assumption. Within the second
group there are advanced methods based on adaptive Kalman filtering.
The idea behind it related to extension of Kalman filter applicability
to measurement with non-white noise. The gain of the Kalman filter
is adapted to prevent divergence caused by colored noise. The third
approach includes particle filters. Particle filters can be applied for
non-linear systems with colored noise.
17 Navigation of Autonomous Mobile Robots 189
There are three systems required for the autonomous vehicle to follow
the designed path. Those systems are navigation, guidance, and control
system. In navigation problem, two basic position-estimation methods
usually applied: absolute and relative positioning. For positioning, two
types of sensors are available, internal and external sensors. Internal
sensor will provide physical data and information that can be measured
on the vehicle. The examples of these sensors are encoders, gyroscopes,
accelerometers and compasses. External sensors measure relationships
between the robot and its environment, which can be composed of
natural or artificial objects. The examples of external sensors are sonar,
radars and laser range finders.
Measurements of internal sensors are quite accurate for short period.
However, for long-term estimation, the measurements usually produce
190 J.Z. Sasiadek, Y. Lu, and V. Polotski
a typical drift. External sensors do not produce the drift, however, be-
cause of their characteristics, the measurements are not always avail-
able. This problem may be solved by using multi sensors in navigation.
Internal sensors can be used to estimate the position of the vehicle
during a particular period. External sensors are then implemented to
correct the errors that come from internal sensors. Both of those types
of sensors have bound errors, and therefore a simple reset of internal
errors is not sufficient. A better way is to fuse those two measurements
in such a way so it will produce the best desire estimation.
The sensor fusion methods can be divided into three different
groups. First, fusion based on probabilistic models, second, fusion based
on least-squares techniques and third, intelligent fusion. The proba-
bilistic model methods are Bayesian reasoning, evidence theory, robust
statistics, recursive operators. The least-squares techniques are Kalman
filtering, optimal theory, regularization and uncertainty ellipsoids. The
intelligent fusion methods are based on fuzzy logic, neural networks
and genetic algorithms.
This paper presents an example of autonomous robot navigation in
specific conditions and environment. In this particular case, a security
type robot was used to navigate through gates. This presentation was
done on the basis of [1, 2] papers.
A robot shown in Fig. 17.1 was described and used in [1]. The robot
was deployed in security applications. This type of robots can carry
out patrol tasks in the critical environments such as airport, nuclear
power plant stations, gas plants and other industrial establishments.
The problem of gate recognition and crossing shown below is a part
of this intelligent security mobile robot system. During patrol task of
the mobile robot, GPS provides the most global level navigation and
often is used for navigation at local level. However, there are some
disadvantages of using a GPS sensor. They could be:
1. Periodic signal blockage due to obstruction.
2. Special situations, such as the navigation of through the gate, in
which an error in GPS location signal may be too large and have
serious consequences.
The gate crossing problem addressed here consists of detecting the en-
trance using a proximity sensor and then reactively navigating through
this entrance. There are several methodologies that can be used to
solve this problem [5]. The gate crossing problem differs from range
based wall-following, since it requires the transition from an open field
GPS or fusion-based navigation to range-based navigation. This tran-
sition itself requires a feature extraction and recognition phase usually
not necessary in the environments as underground mines, where range-
based wall-following is sufficient [6].
The extraction of robust geometrical features from the data pro-
vided by the LMS sensor is not an easy task [7, 8, 9]. The proposed
solution for guidance through a gate consists of several steps: environ-
192 J.Z. Sasiadek, Y. Lu, and V. Polotski
Two wooden boxes (cubes of 1.20 m) have been used to construct the
gate. The distance between the boxes – the gate entrance – is set to
6.00 m. The vertices are indexed for reference as shown in Fig. 17.2 (the
edge is referenced by delimiting vertices).
17 Navigation of Autonomous Mobile Robots 193
Fig. 17.4. Visibility of edges from LMS and the visible gate segments form
zone V
estimate the relative pose of the vehicle in this zone. Gate visibility
from all ten zones has been presented in Table 17.1.
In order to compute the vehicle’s location relative to the gate, the
zones have first to be distinguished from which the scan is obtained. The
concept of the “gate signature” has been proposed. Signature vector is
computed considering the length of each observed segment, the distance
between two continuous portions of the scan (gap), and the distance
between the scan start point and the scan end point (size).
17 Navigation of Autonomous Mobile Robots 195
Fig. 17.5. Visibility of edges from LMS and the visible gate segments form
zone IX
The points obtained from the scan are discrete, but represent con-
tinuous edge lines. Each edge is delimited by vertex points and can be
identified by those points. The vertex points are located on the border
of the point cloud (have neighbors only on the right or only on the
left hand side) and thus correspond to the corner of the object. The
estimated gate image is obtained by connecting the vertex point one
by one.
The detail of the segment fitting algorithm may be described in the
following steps:
Initial step: Determine which points belong to the gate. In the
module, we did not consider the effect from environmental disturbances
and assume that the only object in the filtered map is the gate. In an
example shown in Fig. 17.10, the gate includes all the points marked
as shown in the lower rectangle of Fig. 17.6 from point (b) to point (g).
17 Navigation of Autonomous Mobile Robots 199
Step 1 : Scanning from left to right, find the last point of the left
hand post, point d, and the first point of the right hand post, point e.
This is done by comparing the distance between each two consecutive
points and the canonical sizes of the post and of the entrance;
Step 2 : To find the “corners” (points c and f in Fig. 17.6 notation),
if they exist, we search for points which have the largest distance to
the line connecting the first and the last points of each post ((b),(d)
and ((e),(g)). For the case illustrated in Fig. 17.10, two corners for the
two posts exist.
200 J.Z. Sasiadek, Y. Lu, and V. Polotski
4
Gate left post
0
Y (meter)
-2
Gate right post
-4
-6
-8 AR G O
14 16 18 20 22 24 26 28
X (meter)
Fig. 17.12. Final gate image and the middle guide point
In order to guide the vehicle through the gate one may apply either
planning/correction approach or nonlinear control approach. We have
chosen the latter, exploiting the similarity of the problem of guiding
a vehicle towards and through the gate with the parking problem ad-
dressed in [7]. In both cases we have to drive the vehicle to a desired
pose (position/orientation). For the “gate through” problem the desired
position is a middle point of the entrance segment and orientation –
orthogonal to this segment. In contrast with original settings of [7], in
our case the target point is not known in advance but has to be con-
tinuously estimated on-line. This constitutes a remarkable difference
between gating and parking problems. Another difference is that we do
not constrain the vehicle speed by zero at the target point, but rather
set this speed to the desired value (usually lower than in the field). In
order to address these differences, we (i) estimate the entrance middle
point C, (ii) we define a goal point T , (it could be any point located
in the middle of the gate and little away from the rear side of the gate
post,) as a point moving from the entrance middle point along the gate
direction (see definition above). This procedure allows us to keep the
vehicle offset from the goal point (singular point, [7]), thus ensuring a
stable motion across the gate.
17 Navigation of Autonomous Mobile Robots 203
u = K1 α + K2 ψ (17.1)
’
Fig. 17.14. Illustration trajectory of gate through’
1.6
1.4
1.2
0.8
0.6
0.4
0 10 20 30 40 50 60 70 80 90 100
Gate scanning sequence
according to the zone where the vehicle is located). It may be seen that
the error is reduced significantly in accordance with the distance to
the approaching gate. The soft-upper- limit range has been set based
on theoretical and experimental analysis. If the posts are located too
far apart although below the hard-range limit, the recognition results
deteriorate. This can be roughly explained as follows: observing a small
object (a singular point in the limiting case) we do not get enough
information for positioning – lateral and orientation offsets are coupled.
In practice the computation remains possible but measurement errors
are amplified and results become unusable.
The developed concept of gate signature provides an effective method
to estimate the relative position between the vehicle and the gate. The
motion control algorithm based on the nonlinear transformation to po-
lar coordinates proposed in [10] coupled with on-line estimation of the
vehicle pose and enhanced by the moving target point for avoiding sin-
gularities ensures the stable gate crossing with acceptable lateral errors
of about 0.3 m. In this work the more general fusion of range measure-
ments with GPS/INS/Odometry data have not been addressed. Using
methods proposed in [11, 12] the absolute positioning of the vehicle
along the “gate crossing” portion of the path can be improved. Such a
“tightly coupled” absolute and relative localization is expected to im-
prove the reliability of the navigation system providing better global
206 J.Z. Sasiadek, Y. Lu, and V. Polotski
position estimates along the whole path and smoothing the phase of ap-
proaching the gate. However, there are interesting methodologies that
would allow navigation and the gate crossing with yet higher accuracy.
Using sensor fusion method described in [3, 4] navigation with high
positioning accuracy is possible.
The numerous field experiments performed this year with retrofitted
ARGO platform have proven that the signature concept, recognition
algorithm, and gating controller work very well and provide an effective
mean for carrying out the gate navigation tasks. Figure 17.16 illustrates
the vehicle passing through the gate in an experimental field.
17.3 Conclusions
References
1. Sasiadek J.Z., Lu Y., Polotski V. “Navigation of Autonomous Mobile Ro-
bot with Gate Recognition and Crossing”, Proc. of the 8-th IFAC Sympo-
sium on Robot Control (SYROCO’2006), Bologna, Italy, 6-8 September
2006
2. Polotski V., Sasiadek J.Z., Lu Y., “Gate Recognition and Crossing for
Autonomous Security Robot”, Proc. of the ISR Robotik Conference, Mu-
nich, Germany, 15-18 May 2006.
3. Sasiadek J.Z., Wang Q., “Low cost automation using INS/GPS data fu-
sion for accurate positioning”, Robotica (2003) vol. 21, pp. 255-260, 2003.
4. Sasiadek J.Z., “Sensor Fusion”, Annual Reviews in Control, IFAC Jour-
nal, no. 26 (2002), pp. 203-228.
5. Thrun S., Burgard W., Fox D., Probabilistic Robotics, MIT Press, 2005.
6. Bakambu J.N. et al., “Heading-Aided Odometry and Range data Integra-
tion for Positioning of Autonomous Mining Vehicles”, Proc. of the IEEE
Int. Conf. on Control Applications, Anchorage AK, Sept. 2000.
7. Ye C., Borenstein J., “Characterization of a 2-D Laser Scanner for Mobile
Robot Obstacle Negotiation”, Proc. of the 2002 IEEE ICRA, Washington
DC, USA, 10-17 May 2002, pp. 2512-2518.
8. Vale A., Lucas J.M., Ribeiro M.I., “Feature Extraction and Selection for
Mobile Robot Navigation in Unstructured Environments”, Proc. of the
5th IFAC Symposium on Intelligent Autonomous Vehicles, Lisbon, July
2004.
9. An D., Wang H., “VPH: a new laser radar based obstacle avoidance
method for intelligent mobile robots”, Intelligent Control and Automa-
tion, 2004, Fifth World Congress, vol. 5, Hangzhou, China, June 2004
pp. 4681-4685.
10. Astolfi K., “Exponential Stabilization of a Wheeled Mobile Robot via Dis-
continuous Control”, J. of Dynamical Systems Measurements and Con-
trol, 1999, v. 121, pp. 121-125,.
208 J.Z. Sasiadek, Y. Lu, and V. Polotski
11. Goel P., Roumeliotis P.I., Sukhatme G.S., “Robot Localization using Rel-
ative and Absolute Position Estimates” in Proc. IEEE Int. Conf. on Ro-
bots and Systems, 1999, Kyongju, Korea.
12. Pfister S.T., et al., “Weighted Range Sensor Matching Algorithms for
Mobile Robot Displacement Estimation”. In Proc. 2002 IEEE Int. Conf.
on Robotics and Automation, 2002, Washington DC
18
Kinematic Motion Patterns of Mobile
Manipulators∗
18.1 Introduction
∗
This research has been supported by the Foundation for Polish Science.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 209–218, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
210 K. Zadarnowska and K. Tchoń
transforms the variation of the configuration into the linear and the
angular (space) velocity of the end-effector at T , i.e.
d
Jq0 ,T (u(·), x)(△u(·), △x) = |α=0 Kq0 ,T (u(·)+α△u(·), x+α△x) =
dα
Z T
Jqq0 (q(T ), x) Φ(T, t)B(t)△u(t)dt + Jqx0 (q(T ), x)△x, (18.7)
0
where
" #
∂d
∂q (q(T ), x)
Jqq0 (q(T ), x) = ∂R ∂R
] ∂q1
(q(T ), x)RT (q(T ), x)[, . . . , ] ∂qn
(q(T ), x)RT (q(T ), x)[
and
" #
∂d
∂x (q(T ), x)
Jqx0 (q(T ), x) = ∂R ∂R .
] ∂x 1
(q(T ), x)RT (q(T ), x)[, . . . , ] ∂x p
(q(T ), x)RT (q(T ), x)[
Above, the symbol ] · [ denotes the usual isomorphism of the Lie al-
gebra se(3) and R6 , and the matrix Φ(t, s) is the transition matrix of
18 Kinematic Motion Patterns of Mobile Manipulators 213
is the sum of the mobility matrix of the platform and the manipulability
matrix of the on-board manipulator. The former one contains the Gram
matrix
Z T
Gq0 ,T (u(·), x) = Φ(T, t)B(t)R−1 ((u(·), x, t))B T (t)ΦT (T, t)dt.
0
Using the formulas (18.7) and (18.8) we obtain the dexterity ellipsoid
kmp(t) = (q ∗ (t) = ϕq0 ,t (u∗ (·)), y ∗ (t) = k(q ∗ (t), x∗ )), (18.11)
defined for t ∈ [0, T ]. The pair (18.11) will be referred to as the kine-
matic motion pattern of the mobile manipulator. Tracking the motion
pattern provides the highest sensitivity of the end-effector response at
214 K. Zadarnowska and K. Tchoń
18.4 Examples
As an example, let us consider the unicycle-type mobile platform car-
rying on board a double pendulum, shown schematically in Fig. 18.1.
The kinematics of this mobile manipulator is described by a control
system
q̇1 = u1 cos q3 , q̇2 = u1 sin q3 , q̇3 = u2 , (18.12)
with the output function
q1 + (l1 cos x1 + l2 cos(x1 + x2 )) cos q3 + d cos q3
y = k(q, x) = q2 + (l1 cos x1 + l2 cos(x1 + x2 )) sin q3 + d sin q3
l0 + l1 sin x1 + l2 sin(x1 + x2 )
x2
l2
l1
x1
l0
d
z (q ,q )
1 2
q3
x
-6
y2
y2 -8 10
-10
3 5
y3 2 -15 -10 -5
y1
40
1
y3 4
2 20
0 -5 0
-2
-4
-40 0
y2
-15 -20
-14 -10 0 -20
y1
y1 20
40 -40
Fig. 18.2. Most dextrous pose, kmp(t), and dexterity ellipsoid for k = 1
2
y2 0 y2
10
-2
3 5
y3 2
-20 -15 -10 -5 5 y1 40
1
-5 y3 4
2
0
20
0 -2
-4
-22 -40 0
y2
-21 -10 -20
y1 -20 0 -20
y1 20
40 -40
Fig. 18.3. Most dextrous pose, kmp(t), and dexterity ellipsoid for k = 2
216 K. Zadarnowska and K. Tchoń
T = 2π, the identity matrices R(u(·), x, t), W (u(·), x), and Q(y), and
the configuration constraints |cij |≤ 3, x1 , x2 ∈ [0, 2π]. The optimal con-
figurations (c, x) have been collected in Table 18.1. The corresponding
kinematic motion patterns are shown in Figs. 18.2 and 18.3.
18.5 Conclusion
References
Miroslaw Galicki
19.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 219–226, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
220 M. Galicki
Taking into account the right-hand side of (19.4), the solution to (19.5)
(a minimum of the scalar product is achieved for linearly dependent
vectors) may be expressed in the form given below
R −1 F T
F (J ) J ∂W
q̇ = c , (19.6)
−In−m ∂q
where c is a positive coefficient. Combining (19.4) and (19.6), we obtain
the following generalized kinematic controller minimizing additionally
criterion W (·):
R −1 F R −1 F T
(JR )−1 (J ) J (J ) J ∂W
q̇ = −λe + φ̇ − c .
0(n−m)×m −In−m −In−m ∂q
(19.7)
19 Generalized Kinematic Control of Redundant Manipulators 223
q̇ = f v1 + ∂S
∂q v2 ,
β (19.9)
v˙i = −ci vi + ui , i = 1 : 2,
where vi stands for auxiliary scalar functions whose role is to continu-
ously perturb the manipulator velocity; ci are positive constant gains;
ui stands for controls which are chosen in such a way as to escape from
U; β ∈ (0, 1). Using the same derivation technique (omitted herein) as
that given in our recent work [12], we may find controls ui , i = 1 : 2,
which (locally) avoid singular configurations.
0.1
e1, e2 [m]
0.05
−0.05
−0.1
0 1 2 3 4 5
t [s]
0.1
e1, e2 [m]
0.05
−0.05
−0.1
0 1 2 3 4 5
t [s]
19.5 Conclusions
References
A mobile robot must know its position and heading, all the time during
navigation. This is called localization. Recently particle filters [1] have
become extremely popular for position estimation. These are simple
to program, can process raw sensor data and can handle any proba-
bility distributions. A good tutorial on particle filters is [2]. Particle
filters update the pose of the robot by using a motion model and a
measurement model alternatively and recursively. The motion model
predicts a few possible positions of the robot (also called particles)
based on onboard sensors when a control action is taken and assigns
weight to each of these poses. The measurement model describes the
relationship between sensor measurements and the physical world and
is used to update the weights of particles. This measurement model is
usually represented as a conditional probability or likelihood. The two
important issues in using a distribution for measurement update are
making use of maximum information available and the computational
efficiency. The particle filters require a large number of particles in or-
der to accurately estimate the state. This negates their advantage in
real-time applications. Further discussion on computational complex-
ity can be found in [3]. The likelihood updates are the major cause
of computational inefficiency. The techniques which address this prob-
lem can be divided into online and off-line techniques. Verma [4] uses
∗
This work has been supported in part by the ARC Centre of Excellence pro-
gramme, funded by the Australian Research Council (ARC) and the New South
Wales State Government.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 227–238, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
228 T. Yaqub and J. Katupitiya
• Suitability check Υ (This determines whether a feature can be used for multino-
mial formulation or not. Obviously Υ can have any of the two values: Y for yes
or N for no.)
• Mean rounded to the nearest integer for multinomial formulation M (applicable
only if Υ is Y, otherwise N/A.)
Data collection was carried out by placing the laser scanner at a number
of locations. The x, y coordinates of these locations were measured
accurately. At each location the scanner was rotated in steps of 7.5o .
These angular measurements were accurately carried out. The set up is
shown in Fig. 20.4. Then we make a table, where each column represents
the realization of one feature at all poses of the robot. It is important
to note that the real data collection at all the poses is not feasible; for
this we can use a two-step combined real and simulated approach. In
the first step, we can collect the data at some known locations covering
the whole environment, which can take 2 to 3 hours. In the second step,
we can store the data in a file and use an algorithm to build a map from
this localized data. This map is then used in a simulation software like
Stage and a model can be extracted. This approach would be useful in
many cases and we have tested it but here the real and simulated results
are reported separately. Features having less correlation are more useful
but this is not a requirement for our formulation.
We analyze the data for simple statistics, such as mean and standard
deviation. Histograms of all the six feature vectors are also plotted.
The following table shows the parameters which we measure for each
of the six features defined above.
Fig. 20.1. First row from left to right: Histogram of the features n, c, µc , µl , s and
L extracted in an obstacle free SIMULATED environment without any statistical
treatment. Second row shows the histograms of the bootstrap means of these feature
vectors in the same order. Values are not shown for simplicity.
By looking at Fig. 20.1 and Fig. 20.2 we notice that the bootstrap
means of 5 out of 6 feature vectors are nearly normally distributed
while for vector s, it is not the case. The bootstrap was first intro-
duced by Efron [16] and then used by many researchers and is a newly
developed technique for making certain types of statistical inferences.
If the bootstrap distribution is roughly normal, then standard normal
and percentile intervals will nearly agree. We can use the percentiles of
the bootstrap to define the confidence limits. We therefore discard s as
not suitable for multinomial formulation. There are many parameters
Fig. 20.2. First row from left to right: Histogram of the features n, c, µc , µl , s and
L extracted in a REAL laboratory environment without any statistical treatment.
Second row shows the histograms of the bootstrap means of these feature vectors in
the same order.
which we can tweak and as a result can get different resulting number
of features. For example if we change the length of a straight line, be-
yond which we shall include it in a wall, the number of walls detected
at any particular location will change. Similarly, threshold on lengths,
threshold on counters, using different units for thresholds of different
features, different voting schemes, removing highly correlated features
and even changes in configuration of the laser scanner can be used for
tweaking if desired.
20 Parametric Representation of the Environment of a Mobile Robot 233
We need two parameters; one is the total number of features N and the
other is the cell probabilities. Let us say that our resolution provides
n possible poses and at each pose we observe τ features; then our cell
probability matrix would be n × τ and the value in each cell would be
pij (1 6 i 6 n and 1 6 j 6 τ ).
• Place the robot in all n poses which depends on the resolution used and find
numbers of each of the τ features. Let us say that Fij (1 6 i 6 n and 1 6 j 6 τ )
denotes the number of features of jth type detected at ith pose.
• Find the sum of all the observed features at each pose and denote it with Ni ,
where 1 6 i 6 n.
• Find the ratio Ri = N/Ni for each of the n poses.
• Multiply Fij (1 6 i 6 n and 1 6 j 6 τ ) by Ri and get the normalized number of
features at each pose denoted by Fˆij (1 6 i 6 n and 1 6 j 6 τ ).
• Get pij = Fˆij /Ni (1 6 i 6 n and 1 6 j 6 τ ).
Once we have the estimates of cell probabilities pij for all poses in an en-
vironment (for a selected resolution), the measurement update process
becomes just a table lookup problem, which is much faster than the
sampling from posterior. Therefore we achieve the computational effi-
ciency in twofold manner, first by extracting only τ number of features
from raw laser scans and then by making a table of cell probabilities
and changing the sampling f rom posterior and online ray casting op-
erations into a table lookup operation. Each probability vector would
be a row corresponding to each of the m poses provided by the motion
model. We use a superscript k for these poses. Then by using probabil-
ities pj [k] = pkj (∀ k = 1, 2, .., m and ∀ j = 1, 2, .., τ ) and N values, we
can update the weights at any stage of the particle filter. If our current
′
observation vector is Z = (z1 , z2 , ....., zτ ) , then the updated weights
Wk to these m particles are assigned as follows:
τ [k] zj
Y pj
Wk = N ! k = 1, 2...m (20.1)
zj !
j=1
234 T. Yaqub and J. Katupitiya
Table 20.2 shows the motion model predictions obtained in three sce-
narios shown in Fig. 20.3 (a) (simulated obstacle-free environment de-
noted here by SOF), Fig. 20.3 (c) (simulation with obstacles denoted
by SWO) and Fig. 20.4 (laboratory environment denoted by L).
In the worst-case scenario, if the robot starts the motion from a
shutdown state or the batteries have been replaced, there is no encoder
information and the motion model will assign equal weights to all pos-
sible poses. Since we are using only 5 for demonstration purpose, they
will have weights of 15 and we omitted the weights column in the left
tabular of Table 20.2.
20 Parametric Representation of the Environment of a Mobile Robot 235
(a) (b)
Fig. 20.4. (a) Setup for obtaining data for modelling. (b) Autonomous wheelchair
with a laser scanner. The wheelchair was not used during modelling due to the
difficulty in true position measurements.
Table 20.2. The table on left shows predictions from the motion model and the
true pose. The table on right shows cell probabilities found during model building
using real laser data (case L) and the weights obtained by putting values in 20.1.
Particles Cell Probabilities Weights
SOF SWO L
p1 p2 p3 p4 p5
[1]
xt (-1.4,-0.3,0.035) (-0.38,2.1,4.36) (1,0.8,1.152 ) [1]
[2] xt 0.21 0.2 0.08 0.08 0.43 0.0072
xt (-1.6,0.1,0.436) (-0.35,1.4,4.01) (0.8,0.8,0.576 ) [2]
[3]
xt 0.25 0.17 0.1 0.07 0.41 0.0135
xt (-2.5,-0.2,0.262) (0.23,1.5,4.18) (0.6,0.8,1.745) [3]
[4]
xt 0.28 0.23 0.1 0.09 0.3 0.9583
xt (-2.3,0.1,0.175) (-0.1,1.6,4.53) (1,1,0.35) [4]
[5]
xt 0.18 0.11 0.21 0.11 0.38 0.00018
xt (-1.8,0.2,0.401) (0.2,2.2,4.45) (0.6,0.6,0.698) [5]
xt 0.22 0.15 0.9 0.05 0.49 0.0029
True
Pose (-1.7,-0.1,0.35) (-0.1,1.8,4.57) (0.8,0.8,0.785) Curr.
Observ. 4 4 2 2 9 -
The right tabular of Table 20.2 shows the observation (bottom line)
and the updated weights. It is obvious that due to the standard for-
mulation, we can assign weights at any time to any number of poses
and we do not need any resampling because we have the pre-cached
cell probabilities. We hope that this method may also be able to ad-
dress the degeneracy issue or the problem of deterioration of particles,
where after a few iterations, the weight starts to concentrate on single
particle and the filter becomes vulnerable to breakage. However this
degeneracy issue is yet to be studied in detail.
References
1. N.J. Gordon, D.J. Salmond, A.F.M. Smith. Novel approach to
nonlinear/non-gaussian bayesian state estimation. Radar and Signal
Processing, IEE Proceedings F, 140(2):107-113, 1993. 0956-375X.
2. S. Arulampalam, S. Maskell, N. Gordon, T. Clapp. A tutorial on particle
filters for on-line non-linear/non-gaussian bayesian tracking. IEEE Trans.
on Signal Processing, 50(2):174-188, Feb 2002.
3. F. Daum, J. Huang. Mysterious computational complexity of particle
filters. Proc. of SPIE Int. Soc. for Optical Eng., 4728:418-426, 2002.
4. V. Verma, G. Gordon, R. Simmons, S. Thrun. Partcle filters for rover
fault diagnosis. Robotics and Automation Magazine, June 2004.
5. D. Fox. Adapting the sample size in particle filters through kld-sampling.
Int. J. of Robotics Research, 22(12):985-1003, 2003.
6. C. Kwok, D. Fox, M. Meila. Adaptive real-time particle filters for robot
localization. In: Proc. IEEE Int. Conf. on Robotics and Automation,
vol. 2, pp. 2836-2841, Taipei, Taiwan, 2003.
7. Q. Wu, D.A. Bell, Z. Chen, S. Yan, Xi Huang, H. Wu. Rough computa-
tional methods on reducing costs of computation in Markov localization
for mobile robots. Proc. of the World Congress on Intelligent Control and
Automation (WCICA), 2:1226-1230, 2002.
8. S. Thrun, W. Burgard, D. Fox. Probabilistic Robotics. MIT Press, 2005.
9. Y. Zhang, M. Schervish, H. Choset. Probabilistic hierarchical spatial
model for mine locations and its application in robotic landmine search.
IEEE Int. Conf. on Intelligent Robots and Systems, 1:681-689, 2002.
10. R. Talluri, J.K. Aggarwal. Mobile robot self-location using model-image
feature correspondence. IEEE Trans. on Robotics and Automation,
12(1):63-77, 1996.
11. S. Thrun, D. Fox, W. Burgard, F. Dellaert. Robust Monte Carlo local-
ization for mobile robots. Artificial Intelligence, 128(1-2):99–141, 2001.
12. T. Yaqub, J. Katupitiya. Modelling the environment of a mobile robot
using feature-based principal component analysis. In: IEEE Int. Conf.
CIS-RAM, Bangkok, Thailand, June 2006.
13. T. Yaqub, R. Eaton, J. Katupitiya. Development of a parametric model
for the environment of a mobile robot. In IEEE/RSJ Int. Conf. on Intel-
ligent Robots and Systems, Beijing, China, 2006.
20 Parametric Representation of the Environment of a Mobile Robot 237
21.1 Introduction
This article deals with the modelling and simulation of a mobile robot
with a laser range finder in a 2D environment and map building. The
simulator is built in the Matlab Simulink environment, thereby taking
advantage of the powerful Matlab toolboxes for developing mapping,
localization, SLAM, and navigation algorithms. A map-building algo-
rithm is developed and tested in a simulation. The line segments, ex-
tracted from the LRF’s output in each scan, are made up of polylines,
which are merged with the existing global map to form a new global
map. The global map of the environment is represented by unions of
line segments, where each union represents an object in the environ-
ment. Map building, localization and navigation are important issues
in mobile robotics. To develop and test algorithms for executing tasks
of this kind, it is useful to have a simulator of a mobile robot equipped
with sensors in a static environment. Since a Laser Range Finder (LRF)
is often used as the basic interaction between the robot and the envi-
ronment, the represented mobile robot model also includes a model of
the LRF. The problem of robotic mapping and localization has been
widely studied. A robot has to know its own pose (localization problem)
in order to build a map, and it also needs to know the environment map
(mapping problem) to localize itself to its current pose. The problems of
mapping and localization can be handled separately if the robot’s pose
is given to the robot by a human or from using GPS and INU sensors
(outdoor environments) when map building. The map of the environ-
ment can then be used to solve the localization problem. To avoid the
known robot’s pose assumption, a SLAM (Simultaneous Localization
and Mapping) algorithm must be built, where the problems of localiza-
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 239–246, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
240 L. Teslić, G. Klančar, and I. Škrjanc
tion and mapping are merged. The robot can localize itself by odometric
measurements and by comparing the local map, obtained from the cur-
rent view of the robot, with an already built global environment map.
In [1] a comprehensive survey of the SLAM problem is addressed. In the
literature different approaches to map building have been proposed. A
topological map [3] is composed of the nodes representing topological
locations and the edges between the nodes. These nodes contain infor-
mation about the way to reach a connected topological location. In [3]
the metric and topological paradigm are integrated into a hybrid sys-
tem for map building. A global topological map connects local metric
maps, allowing a compact environment model, which does not require
global metric consistency and provides both precision and robustness.
The metric approach builds a map with occupancy grids or with sim-
ple geometrical features (e.g., line segments). Occupancy grids require
a huge amount of computer memory and are therefore not appropriate
when modelling a large environment [4]. In this paper we choose line
segments for the environment model as they require a smaller amount
of computer memory. In [5] a comparison of line-extraction algorithms
using a 2D laser rangefinder is reported. In [6] the environment is repre-
sented by polygonal curves (polylines), possibly containing rich shape
information for matching environment scans. However, some environ-
ment objects cannot be represented by one polyline (consecutive line
segments). Therefore, each environment object is represented by the
union of inconsecutive line segments in this paper.
21.2 Simulator
where the input v denotes the tangential speed, input ω denotes the
angular speed, (xrob , yrob ) denotes the position of the robot in global
coordinates (xG , yG ), and ϕrob denotes the orientation of the robot ac-
cording to the global coordinate axis, xG . The continuous model (Eq.
(21.2)) is implemented in Matlab Simulink with a simulation scheme us-
ing the ode45 integration method. For simulation purposes it is enough
to control the robot with the inputs v and ω. The pose (Eq. (21.2))
is the input in the S-function Animation for simulating the environ-
ment model and the LRF model and the input in the S-function for
the map-building algorithm.
where the parameter pj denotes the distance of the line from the origin,
parameter αj ∈ (π−, π] denotes the direction of the line normal passing
through the origin, and xG , yG are the global coordinates of the points
lying on the line.
The laser range finder in each time step gives the set of distances ds =
[ds0◦ , . . . , ds180◦ ] to obstacles (e.g., a wall) at angles θ s = [0◦ , . . . , 180◦ ].
We simulate a reflection point by calculating the intersection points
(xip (i, j), yip (i, j)) between the i-th laser beam line (Fig. 21.1(b)) and
all (j = 1, . . . , N ) the lines describing the environment line segments
with determinants and calculate distances and angles
q
d(i, j) = (xip (i, j) − xrob )2 + (yip (i, j) − yrob )2 ,
(21.4)
θ(i, j) = atan2(yip (i, j) − yrob , xip (i, j) − xrob ) − (ϕrob − 90◦ ).
If there is no intersection between the lines, this is labelled with
242 L. Teslić, G. Klančar, and I. Škrjanc
yG yG a
laser beam Environment
line at v line y (xip(i,j) ,yip(i,j))
angle q(i) q(i) yR R
jrob d
Environment
(xrob ,yrob) (xrob ,yrob) xR line segment
w xR
Laser beam
line
zG xG zG xG
Fig. 21.1. (a) Coordinates of the robot according to the global coordinates.
(b) Intersection point between the laser beam line and the environment line .
G2 G2 G2
G1 S2 G1
S1 G1NEW=
G1OLD U S2 G3
G3=S1
Fig. 21.2. Integrating the global map G =(G1, G2) with the local map
S =(S1, S2)
When a robot makes its second local map S, GOLD is equal to the lo-
cal map SF IRST , obtained in the first environment scan. When uniting
244 L. Teslić, G. Klančar, and I. Škrjanc
S and GOLD each line segment of the set (GOLD , S) is compared to each
line segment in one loop. We define the conditions for merging the line
segments L1 and L2 (Fig. 21.3), which correspond to the same environ-
ment line segment for the thresholds T and R, where l(Li) denotes the
length of line segment Li. If at least two of conditions ci (i = 1, 2, 3, 4)
are satisfied and if all conditions ci (i = 5, 6, 7, 8) are satisfied, two line
segments are merged. If the conditions c1 and c2 or the conditions c3
and c4 are satisfied, two line segments are also merged. When merg-
ing two line segments, new line-segment parameters are computed by
uniting the edge points of both segments, as indicated in [7]. If the
merged line segments belong to different unions, the unions are merged
(Fig.21.2, G1N EW = G1OLD ∪ S2). The loop of comparison is then re-
peated. If the conditions for merging any two segments are not fulfilled
in the next loop, the loop is stopped.
objects (unions Gi) seen in the previous environment scan. The search
strategy can be faster if the line pairs for the comparisons are first
found among all the global lines that correspond to the environment
objects seen in the previous environment scan and all the local lines
(recomputed parameters) of the current scan.
21.4 Results
Fig. 21.4. (a) Reflecting points of the LRF in a 2D environment. (b), (c),
and (d) Experiment of building map G = (G1, G2, G3) at dmax = 14 m and
(b) σ = 0.07 m, (c) σ = 0.42 m and (d) σ = 0.63 m.
246 L. Teslić, G. Klančar, and I. Škrjanc
21.5 Conclusion
References
1. Thrun S (2002) Robotic Mapping: A Survey. In: Lakemeyer G, Nebel
B, (eds) Exploring Artificial Intelligence in the New Millenium. Morgan
Kaufmann
2. Garulli A, Giannitrapani A, Rossi A, Vicino A (2002) Mobile robot SLAM
for line-based environment representation. 44th IEEE Conf. on Decision
and Control and European Control Conf.
3. Tomatis N, Nourbakhsh I, Siegwart R (2003) Hybrid simultaneous local-
ization and map building: a natural integration of topological and metric.
Robotics and Autonomous Systems 44:3–14
4. Veeck M, Veeck W (2004) Learning polyline maps from range scan data
acquired with mobile robots. IEEE/RSJ Int. Conf. on Intelligent Robots
and Systems
5. Nguyen V, Martinelli A, Tomatis N, Siegwart R, (2005) A Comparison of
Line Extraction Algorithms using 2D Laser Rangefinder for Indoor Mo-
bile Robotics. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems.
6. Latecki LJ, Lakaemper R, Sun X, Wolter D (2004) Building Polygonal
Maps from Laser Range Data. ECAI Int. Cognitive Robotics Workshop,
Valencia, Spain, August.
7. Mazl R, Preucil L (2000) Building a 2D Environment Map from Laser
Range-Finder Data. Proc. of the IEEE Intelligent Vehicles Symposium.
22
Lie Algebraic Approach to Nonholonomic
Motion Planning in Cluttered Environment
22.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 249–258, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
250 P. Ludwików and I. Dulȩba
22.2 Preliminaries
When the gCBHD is applied at state q 0 , all vector fields in Eq. (22.3)
must be evaluated at that point. Usually, controls are coded with their
coefficients. To this aim any basis (harmonic, polynomial, piecewise-
constant) can be selected. The vector of parameters of all controls
will be denoted p . Substituting the controls into Eq. (22.4), a func-
tion α = k (pp) can be established. As a rule, when the direction of
252 P. Ludwików and I. Dulȩba
0.02
000
045
090
135
0 180
225
270
315
-0.02
-0.04
-0.06
-0.08
-0.1
-0.12
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
2
a) obstacles
path b) u
v
-1 0
-1
-2
-2
-10 -5 0 0 1 2 3 4 5 6 7 8 9
Fig. 22.2. The path (a) and controls (b) solving the motion planning task
22.5 Conclusions
References
1. Canny J.F., Li Z. (Eds.) (1993) Nonholonomic Motion Planning, Kluwer
Acad. Publ., New York
2. Divelbiss A.W., Wen J.T. (1994) Nonholonomic path planning with
inequality constraints, IEEE Conf. on Robotics and Automat., San
Diego, 52–57.
3. Dulȩba I. (2006) Making controls generated by the Lie-algoebraic methods
continuous, Nat. Conf. on Robotics, 53–60 (in Polish)
4. Dulȩba I., Khefifi W. (2006) Pre-control form of the generalized Campbell-
Baker-Hausdorff-Dynkin formula for affine nonholonomic systems, Systems
and Control Letters, 55(2), 146–157
5. Dulȩba I., Ludwików P. (2006) Local Variation Method to Determine
Cheap Path for Nonholonomic Systems, CISM-IFToMM Symp., Robot
Design, Dynamics, and Control, Courses and Lectures No. 487, 139-146,
Springer
258 P. Ludwików and I. Dulȩba
23.1 Introduction
Smooth path generation for nonholonomic wheeled mobile robots
(WMRs) has been researched significantly in the recent years. The non-
holonomic constraints of WMRs impose difficulties for effective path
planning; on top of this, the presence of static and/or dynamic obsta-
cles in operation environments complicates the problem further. Al-
ternative solutions have been proposed for WMR trajectory planning
ranging from graph search methods [1, 2] to the application of potential
function based techniques [4, 3, 5, 6]. Many of these methods assume
full observability of the operational space [1, 3, 5] and some cannot pro-
vide dynamical path planning [3, 5], which is impractical for general
applications of WMRs. Recently more advanced methods have been
presented that offer better solutions to the path planning problem for
obstacle cluttered environments [7, 8]. However, these methods utilize
triangulation based mappings of the nearby environment by expensive
sensory devices. This increases the computational cost of the planning
algorithms, and necessitates more expensive electronics like laser scan-
ners. A qualitative revision of the relation between the sensing abilities
of wheeled mobile robots and the topology of their environment can be
found in [9, 10].
In this paper we present a computationally efficient approach to the
nonholonomic and smooth path planning problem for WMRs based on
limited sensing information. The proposed path planner utilizes a two
axle reference robot, the back-wheel of which forms a readily nonholo-
nomic reference trajectory for unicycle robots to follow as the front axle
is steered in the direction of the device target. A simple yet effective
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 259–268, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
260 H.T. Şahin and E. Zergeroğlu
y y
L Pd
C1
R1
Fs Cd Cr
P
ij C2
Fo2
P R2
L
ș
r
Cr
Cr0 Fo1 Fo
x x
pointing from the obstacle center Ci (t) to the reference robot front
axle center P (t) is formed for each excited neighboring sensor group.
Then the vector sum of these components forms the overall obstacle
avoidance force Fo as follows:
N
X N
X
Fo (t) = Foi (t) = wi Ri (t) [P (t) − Ci (t))], i = 1, . . . , N,
i=1 i=1
(23.7)
where Ri , Ci , and P are the terms defined above, and wi ∈ denote R+
additional weights selected higher for front sensors to emphasize avoid-
ance in the robot forward path. The ratio of each force component Fo
in (23.7), increases according to the impact time of the related obsta-
cle. However, the overall avoidance force is kept constant by preserving
the magnitude inherited from the steer towards the target mode force
in (23.5) to ensure generation of bumpless reference velocities impera-
tive for the nonholonomic controllers. If the WMR is encircled by some
fixed or mobile obstacles, such that 5 or more of the device sensors are
excited, the planner ceases the steer forces until some of the blocks are
removed to avoid the high risk of collision.
Remark 1. The obstacle avoidance forces Foi should not be ceased im-
mediately after the encountered obstacles are out of the sensing zone.
Otherwise, the path planner may start to switch instantaneously between
the forward steer and obstacle avoidance modes, resulting in undesirable
chattering in the overall steer force F (t). For this reason the cross-over
from obstacle avoidance to the steering toward the target mode is car-
ried out in a 2-stage period. In the first stage, a small virtual margin is
added to the estimated radius of the obstacles. Thus the planner contin-
ues to execute the block avoidance mode for an additional time period
△t after the actual obstacle is out of the sensing zone. The second
stage is implemented via a first order spline-like transition. The overall
obstacle steer force function F = [Fx , Fy ]T in this period is as follows:
(t − ts ) (ts + δt − t)
F = Fs + Fo , (23.8)
δt δt
where Fs and Fo are the front steering and normalized obstacle avoid-
ance forces in (23.5) and (23.7). This cross-over phase is confined to
t ∈ [ts , ts + δt] interval, where ts is the time instant the obstacle is out
of sensing zone, and δt is the duration of the transition. This two stage
period eliminates chattering in F in addition to local smoothness loss
arising from steer angle ϕ > 900 .
264 H.T. Şahin and E. Zergeroğlu
(x − x0 )4 (y − y0 )4
+ = 1.
a4 b4
On encountering u-blocks, the δt and △t parameters can be incremented
until the generated path leaves the super-ellipse zone. Then the virtual
obstacle is activated so that the parameters are reset to their initial
values without any risk for the WMR to re-enter the concave trap any
more.
(a) Top down view of the environ- (b) Linear and angular velocities
ment
Fig. 23.2. The first simulation environment and generated path related plots
of the resulting sensing region and the parameters of the steering force
function in (23.5) are set to:
(a) Low and fixed △t = 0.6, δt = 2 s (b) Virtual obstacle △t, δt incre-
mented
Remark 1. Also the envelope of the velocity does not decline in parallel
with the steer force selection in (23.5). Despite numerous obstacles the
robot reaches its desired position as depicted in Fig. 23.2(c). Finally
from Fig. 23.2(d) we observe the tracking errors to be negligible except
for small fluctuations during obstacle manoeuvres.
Next are the simulations verifying the positive influence of readjust-
ing △t and δt parameters systematically for u-blocks and tunnels. The
behavior of the path planner versus concave blocks is shown in Figs.
23.3(a) and 23.3(b). In the simulation of Fig. 23.3(a), the WMR en-
counters a u-barrier, where it is trapped. This is caused by the small,
fixed default values of spline parameters △t = 0.6 and δt = 2 s. The
simulation is repeated in Fig. 23.3(b). However, this time after the trap
is sensed, △t and δt is incremented until the WMR leaves the virtual
23 Computationally Efficient Path Planning for Mobile Robots 267
23.5 Conclusions
We have presented a simple yet effective algorithm for collision-free,
smooth path generation for unicycle type WMRs. The proposed path
planner integrates a virtual front steering axle to the actual kinematic
wheel enforcing a nonholonomic path for the (actual) rear axis, when
the front axle is steered towards a desired location. To tackle the obsta-
cle avoidance problem, obstacles detected by the sensors are assumed
as of circular geometry, and repulsion forces from their estimated cen-
ters are applied to the virtual front axle for an alternative collision-free
route. Extension for planning in the cases of obstacles of problematic
topology such as u-shaped barriers and tunnels without the necessity
for computationally expensive mappings is also proposed. Simulation
results confirm the computational efficiency and performance of our
planner as an alternative to the existing complex high performance
planners.
References
1. P. Jacobs and J. Canny, Planning Smooth Paths for Mobile Robots, In:
Proc. IEEE Int. Conf. on Robotics and Automation, 1, 2-7, May 1989.
2. J-P. Laumond, P. E. Jacobs, M. Taix and R. M. Murray, A Motion Plan-
ner for Nonholonomic Mobile Robots, IEEE Trans. on Robotics and Au-
tomation, 10(5), October 1994.
268 H.T. Şahin and E. Zergeroğlu
Ignacy Dulȩba
24.1 Introduction
where q0 is an initial state and T is a time horizon. The flow ϕt,q0 (u(·))
defined by Eq. (24.2) describes evolution of the state over the time
period [0, t]. Also, ϕt,q0 (u(·)) is interpreted as the end-trajectory state
reached at the time t. A motion planning task is to find controls steer-
ing the system (24.1) from the given initial configuration q0 to the final
state qf . With kinematics defined by Eq. (24.2), the motion planning
of nonholonomic systems (24.1) can be considered as the inverse kine-
matics task.
Among many methods of nonholonomic motion planning [1, 4, 6]
there are only a few general enough to plan trajectories for a wide
range of nonholonomic systems. One of these methods is the Newton
algorithm for solving the inverse kinematics problem. In the field of
mobile robotics the Newton method has been introduced by Wen and
coworkers, [2, 7]. In optimization terms, the algorithm implements the
steepest-descent iterative strategy of reaching the goal state. In order to
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 269–278, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
270 I. Dulȩba
Once kinematics (24.2) are defined, the task of reaching the goal state
qf can be formulated as the inverse kinematics task, i.e. kq0 ,T (u(·)) =
qf , where u(·) is sought. The Newton algorithm is applied to nonholo-
nomic systems in a similar way as it was used for holonomic manipula-
tors [8]. The algorithm modifies controls directing ϕT,q0 (u(·)) towards
qf at the time T . Its (i + 1)st iteration is described by the equation
where Dkq0 ,T is the Jacobian matrix of the system (24.1) and the #
mark introduces the generalized Moore-Penrose matrix inversion. If
kq0 ,T (ui (·)) − qf = 0, then the final state qf is reached and the tra-
jectory planning task is solved. Otherwise, controls ui (·) are modified
according to the formula (24.3). The parameter ξi is a small positive
number influencing the pace of convergence of the algorithm (24.3).
A straightforward application of formula (24.3) requires the approxi-
mation of controls ui (·) in the interval [0, T ]. To this aim a functional
basis is selected and controls are described as a series. Usually har-
monic functions are used for this purpose. They are continuous and
bounded. However, they have got also some disadvantages. It is easy
to upper bounded their amplitudes over the control interval [0, T ] but
exact maximal values of the controls (especially for many harmonics)
is troublesome. Even a slight change of any coefficient of a harmonic
control impacts the shape of the whole trajectory. Also constraints on
controls are difficult to transform into constraints on parameters of har-
monic functions. A practical situation of necessity for such constraints
happens when the turning radius of a mobile robot is restricted. Those
disadvantages are not present with piecewise constant controls.
Later on we assume that the time interval [0, T ] has been uniformly
divided into N sub-intervals of the length ∆T = T /N . Then the k-th
control is expressed as
Let the matrices A(t), B(t) result from linearization of the system (24.1)
along the trajectory corresponding to controls u(·) and be defined by
the expression
∂(G(q(t))u(t))
A(t) = , B(t) = G(q(t)), (24.5)
∂q
while the fundamental matrix Φ(t, s) is the solution of the equation
d
Φ(t, s) = A(t)Φ(t, s), Φ(s, s) = I n (24.6)
dt
(II n is the identity matrix) and is computed using linearization of the
system (24.1) along the trajectory corresponding to the current set of
controls
where Bj (si ) denotes the j-th column of the matrix B evaluated at the
si and ⌊·⌋ stands for the floor function. Using Eq. (24.3), the vector of
values of controls u is changed in the i-th iteration according to the
formula
of the system (24.1) along the current trajectory. The main difference
between holonomic and nonholonomic applications of the Newton
algorithm is that computing kinematics and the Jacobian matrix of non-
holonomic system is much more involved because numerical integra-
tion of Eq. (24.1) and the linearization along the current trajectory,
cf. Eqns. (24.8-24.7), have to be performed. Therefore, the problem
of main concern with the Newton algorithm applied to nonholonomic
motion planning is how to reduce the computational load required to
complete the planning task. One modification of the basic Newton al-
gorithm (24.10) is to vary the value of coefficient ξ. The optimal value
ξ ⋆ in the i-th iteration should be determined in one dimensional opti-
mization process:
The value places the state kq0 ,T (ui+1 (·)) as close to the goal as possi-
ble. Implementation of (24.11) requires many integrations of the
sys tem (24. 1) corresponding to varied ui+1 (ξ, ·) but does not need com-
puting A(t), B(t), Φ(T, ·). The basic Newton algorithm may modify any
piece of controls in any iteration. Let us restrict changes allowed and
define the index sets: F = {1, . . . , m·N } collecting all admissible indices
and its subsets Fr , r = n, . . . , m · N composed of r element combina-
tions of F . The Jacobian matrix J{f } denotes the sub-matrix composed
of columns of J corresponding to the index set f ∈ Fr . Now, the family
of manipulability measures can be defined:
T
manr = max det(J{f } J{f } ), r = n, . . . , m · N. (24.12)
f ∈Fr
Theorem 1
manr ≤ manv , if r < v. (24.13)
Proof. To prove the theorem it is enough to show the statement for the
case of neighbor indices r and r + 1. Let the set f ⋆ correspond to the
T
manr , i.e. manr = det(J{f ⋆ } J{f ⋆ any single
⋆ } ). By adding to the set f
⋆
column g taken from the set F − f we get f being the representative
of the family Fr+1 . Obviously, for the choice we have
T
det(J{f } J{f } ) ≤ manr+1 . (24.14)
x
α
R qf
Fig. 24.1. The motion along the column x of the Jacobian matrix
tion along a straight line to the goal still having a chance to re-
duce the distance to the goal as shown in Fig. 24.1. Let xi = kJi k,
i = 1, . . . , N · m, denote the Euclidean length of the column Ji of the
Jacobian matrix, R = kqf − q(T )k the distance to the goal in the
current iteration and αi the angle between vectors Ji and qf − q(T )
(cos αi = hJi , qf − q(T )i/(R xi )). Without loosing generality, it can be
assumed that αi ≤ π/2 (the direction of Ji can always be inverted by
changing the sign of controls). Although one does not know how far a
straight line motion along each column of the Jacobian matrix can be
performed, it is reasonable to assume that the motion can be as long
as required. The optimal column of the Jacobian matrix to move along
provides the optimal ratio between the cost of motion (the numerator)
and the effective length to the goal decrease (the denominator) in the
expression
R cos αi /xi cos αi cos α⋆
min = min = ⋆ .
i=1,...,N ·m R − R sin αi i=1,...,N ·m xi (1 − sin αi ) xi (1 − sin α⋆ )
(24.17)
The optimal column i⋆ determines both the single segment and the only
one control u⋆ to modify: ui+1 (·) = ui (·) + ξ[0 . . . 0 u⋆ 0 . . . 0]. The con-
trol modification can be coupled with the optimization process (24.11)
to get the new, minimal control effort, algorithm of motion planning.
It has got some advantages over its predecessors: a) no computation of
the Moore-Penrose inverse is to be performed, b) if the modification of
controls is applied for large values of s then only a very small part of
the whole trajectory (on the interval [s, T ]) has to be evaluated to get
Φ(T, s), c) integration of the curve can start at s (the trajectory for
t ∈ [0, s] is not modified). Consequently, the computational complexity
of the minimal control effort algorithm is much smaller than for the
basic Newton algorithms (24.10).
ẋ cos θ 0
ẏ = sin θ u1 + 0 u2 = X u1 + Y u2 . (24.18)
θ̇ 0 1
and then discretized, cf. Fig. 24.2a. The task was solved with the num-
ber of segments equal to 10. The final solution was obtained in 10
iterations. The final controls are drawn in Fig. 24.2b while the current
best trajectory for each iteration is presented in Fig. 24.2c (the end
points of the consecutive trajectories approach the final state). As can
be seen, the minimization of the distance to the goal does not neces-
sarily force the end point of the current trajectory to move along the
straight line from the final point of the previous iteration to the goal. In
each iteration the manipulability indices were examined. Figure 24.2d
illustrates their values. When the number of admissible columns to de-
rive manipulability index increases monotonously, the index increases
as well; at the very beginning linearly, then it gets stabilized. In this
particular simulation, for fixed k, the manipulability indices increase
monotonously (with a small exception in iterations 8 and 9) and the
lowest placed characteristics corresponds to the initial trajectory while
that placed at the top corresponds to the final trajectory. It is not a
rule, as the manipulability for fixed k is strongly correlated with the
length of the trajectory (the amplitude of controls) and the area in
the state space the trajectory visits. However, for small values of ini-
tial controls when the trajectory stretches out to get its final shape,
the regularity may manifests itself easily. The values of the indices can
276 I. Dulȩba
a) 6
b) 50
40
5
30
4
20
3
10
u
u
2 0
-10
1
-20
0
-30
-1
-40
-2 -50
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
t t
c) 18
d) 450
16 400
14 350
12
300
10
250
man
y
8
200
6
150
4
2 100
0 50
-2 0
-5 0 5 10 15 20 25 30 35 2 4 6 8 10 12 14 16 18 20
x k
Fig. 24.2. Initial (a) and final (b) controls (u1 solid line, u2 dashed line),
c) The current best trajectory in consecutive iterations, d) Manipulability
indices as the function of iterations and the number of columns k
The aim of the next simulation was to check the impact of the qual-
ity of linearization on the solvability of the motion planning task. The
initial state (180, 75, 45◦ ) was selected far away from the goal one. For
the first experiment the number of segments was set to N = 10 while
for the second one this value was multiplied by the factor of 4 (in 4
consecutive segments controls were coupled, i.e. they shared the same
value and changed it simultaneously). In both cases, the initial con-
trols were as in the previous example. The first experiment completed
after 17 iterations with a failure, while the second one was completed
with success after 99 iterations. In Fig. 24.3a,b selected trajectories are
presented.
24 Piecewise-Constant Controls for Newtonian Motion Planning 277
a) 80
b) 80
70 70
60 60
50 50
y
y
40 40
30 30
20 20
10 10
0 0
20 40 60 80 100 120 140 160 180 200 -20 0 20 40 60 80 100 120 140 160 180 200
x x
Fig. 24.3. a) Iterations No. 0, 3, 6, 9, 12, 15, 17 of total 17. b) Iterations No.
0, 20, 40, 60, 80, 99 of total 99.
24.4 Conclusions
In this paper the Newton algorithm of motion planning for driftless
nonholonomic systems was examined with piecewise constant controls
used as decision parameters. Some manipulability measures were de-
fined and ordered. The new, minimal control effort algorithm of motion
planning was put forward. It seems to be competitive with respect to
complexity of planning to the basic Newton algorithm.
References
1. Canny J.F., Li Z. (Eds.) (1993) Nonholonomic Motion Planning, Kluwer
Acad. Publ., New York
2. Divelbiss A.W., Wen J.T. (1994) Nonholonomic path planning with
inequality constraints, IEEE Conf. on Robotics and Automat., San
Diego, 52–57.
3. Duleba I., Ludwików P. (2006) Bases for local nonholonomic motion plan-
ning, Lect. Notes in Control and Information Sc., No. 355, Springer, 73–84.
4. Fernendes C., Gurvits L., Li Z.X. (1991) A variational approach to optimal
monholonomic motion planning, IEEE Conf. Robotics & Autom., 680–685
5. Horn R.A., Johnson C.R. (1986) Matrix analysis, Cambridge Univ. Press
6. LaValle S. (2006) Planning Algorithms, Cambridge Univ. Press
7. Lizarralde F., Wen J.T. (1995) Feedback stabilization of nonholonomic
systems based on path space iteration, Int. Conf. on Methods and Models
in Automation and Robotics, Miȩdzyzdroje, 485–490
8. Nakamura Y. (1991) Advanced Robotics: Redundancy and Optimization,
Addison Wesley, New York
9. Tchoń K., Muszyński R. (2000) Instantaneous kinematics and dexterity
of mobile manipulators, IEEE Conf. on Robotics and Automation, vol. 2,
2493-2498
25
Path Following for Nonholonomic Mobile
Manipulators
Alicja Mazur
25.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 279–292, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
280 A. Mazur
is designed and its proper action is proved. Section 25.7 contains the
simulation results. Section 25.8 presents conclusions.
In the paper, our goal is to find control law guaranteeing the path
following for mobile manipulator of type (nh, h). We solve the path
following problem expressed in the internal coordinates. It means that
a desired task for the mobile manipulator can be decomposed into two
independent parts: the end-effector has to follow a desired geometric
path p(s) described in Cartesian coordinates which defines a task of
this subsystem and the task of the platform is to follow a desired curve
P lying on the horizontal plane.
Determine control law τ and path parametrization s = s(t) for
the manipulating arm such that a mobile manipulator with fully
known dynamics follows the desired paths defined separately for
both subsystems and tracking errors converge asymptotically to
zero in the presence of the nonholonomic constraints.
To design the path tracking controller for the mobile manipulator,
it is necessary to observe that the complete mathematical model of
the nonholonomic system expressed in auxiliary variables is a cascade
consisting of two groups of equations: kinematics and dynamics. For
this reason the structure of the controller is divided into two parts
working simultaneously:
• kinematic controller ηr – represents a vector of embedded control
inputs, which ensure realization of the task for the kinematics (non-
holonomic constraints) if the dynamics were not present. Such a con-
troller generates ’velocity profiles’, which can be executed in prac-
25 Path Following for Nonholonomic Mobile Manipulators 283
Y0
θ P
dr
ds
M
y dr
θr
1
l ds
xn dr 2
ds
r2
M’
s
x r1 X0
ẋ (cos θr sin θr ) ẋ
l̇ = (− sin θr cos θr ) , ṡ = . (25.9)
ẏ 1 − c(s)l ẏ
In [6] it has been shown that for any class of nonholonomic mobile
platforms the path following problem, i.e. convergence of the variables
(l, θ̃) (distance tracking error and orientation tracking error) and pos-
sibly βi , i = 1, 2 to 0 can be obtained using Pomet kinematic control
algorithm. We have omitted the differential equation for ṡ, because it
does not matter at which point s of the desired path the mobile plat-
form enters the desired curve P [4].
Theorem 1. [7] Let us consider a control system of the form
m
X
ẋ = G(x)η = gk (x)ηk , (25.11)
k=1
1. for any x 6= 0
4. vector fields gk are such that the following conditions can be satis-
fied:
Lgk V (t, x) = dV (t, x)gk (x) = 0 k = 2, . . . , m
∂ j h(t, x) ⇒ x = 0. (25.14)
= 0 j ≥ 1
∂tj
Then 0 is a globally uniformly asymptotically stable equilibrium point of
the closed-loop system obtained by applying the following feedback law
∂h(t, x)
η1 = − − Lg1 V (t, x),
∂t
η2 = −Lg2 V (t, x), (25.15)
..
.
ηm = −Lgm V (t, x),
and that at the initial and final time moments the velocities of the path
are 0
ṡ(0) = ṡ(T ) = 0, T −→ ∞.
Moreover, we expect that the length of the path is limited to the value
smax . It implies that the path following errors ep should be defined as
The simulations were run with the Matlab package and the Simulink
toolbox1 . As an object of simulations we took a 3-pendulum on the
unicycle depicted in Fig. 25.2. The goal of the simulations was to in-
vestigate a behavior of the mobile manipulator with the controllers
(25.22), (25.18), and (25.19) proposed in the paper. The desired path
for the 3-pendulum (straight line) was selected as
and the desired path for the nonholonomic platform was equal to the
straight line
√ √
2 2
x(s) = s [m], y(s) = [m].
2 2
1
Matlab package and the Simulink toolbox were available thanks to Wroclaw Cen-
ter of Networking and Supercomputing.
290 A. Mazur
Y0 θ2 θ3
l2 l3
l1
θ1
X2
Yb Xb θ
Y2 Yp Xp
a
y
Y1
L
X1
X0
x
0.8 0.8
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
a) 0
−0.2 0 0.2 0.4 0.6 0.8 1 1.2 b) 0
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
Fig. 25.3. Posture of the 3-pendulum during tracking a straight line path
(dashed line): a) K2 = 1, b) K2 = 10
25 Path Following for Nonholonomic Mobile Manipulators 291
0.02 0.015
0.018
0.016 0.01
0.014
0.012 0.005
[m]
[m]
0.01
p1
p2
e
e
0.008 0
0.006
0.004 −0.005
0.002
0 −0.01
a) 0 2 4 6 8 10
TIME [s]
12 14 16 18 20
b) 0 5 10
TIME [s]
15 20 25
Fig. 25.4. Tracking errors ep = k(qr ) − π(s) for the 3-pendulum for parame-
ters K2 = 1 (solid line) and K2 = 10 (dashed line): a) path tracking error ep1 ,
b) path tracking error ep2
6 1.5
5
1
0.5
[m]
3
Y
−0.5
1
0 −1
0 1 2 3 4 5 6 0 20 40 60 80 100 120 140 160 180 200
a) X [m] b) TIME [s]
Fig. 25.5. Path tracking for the nonholonomic mobile platform, K2 = 10:
a) XY plot, b) distance tracking error l (smooth line) and orientation tracking
error θ̃ (oscillating line)
25.8 Conclusions
This paper presented a solution to the path following problem for non-
holonomic mobile manipulator of (nh, h) type. The control goal for the
mobile platform was to follow along the desired flat curve without stop-
ping the motion and the manipulator should move in such a way that
its end-effector follows along the geometric path described in Cartesian
coordinates and stops at the end of the desired path. From plots de-
picted in Figs 25.3-25.5 we can see that the new controller introduced
in this paper works properly. The Pomet algorithm, which is asymp-
totically convergent, preserves only driving to the path, not a motion
along the curve. Moreover, Fig. 25.3 shows that the manipulator re-
292 A. Mazur
ally does not achieve singular configurations which was the necessary
assumption by the controller designing.
The dynamic controller (25.19) can be applied only to mobile ma-
nipulators with fully known dynamics but it is a starting point for
designing the adaptive version of the presented controller. For holo-
nomic manipulators Galicki [5] has shown that it is possible to control
a robotic arm along the prescribed path without any knowledge about
the dynamics. Future work will implement this idea for nonholonomic
mobile manipulator with unknown dynamics.
References
1. Campion G, Bastin G, d’Andrea-Novel B (1996) Structural properties
and classification of dynamical models of wheeled mobile robots. IEEE
Trans Robot Autom 12(5):47–61
2. d’Andréa-Novel B, Bastin G, Campion G (1991) Modelling and control
of nonholonomic wheeled mobile robots. In: Proc. IEEE Int Conf on
Robotics and Automation, pp. 1130–1135, Sacramento
3. Dulȩba I (2000) Modeling and control of mobile manipulators. In: Proc
5th IFAC Symp SYROCO’00, pp. 687–692, Vienna
4. Fradkov A, Miroshnik I, Nikiforov V (1999) Nonlinear and Adaptive Con-
trol of Complex Systems. Kluwer Academic Publishers, Dordrecht
5. Galicki M (2006) Adaptive control of kinematically redundant manip-
ulator. Lecture Notes Control Inf Scie, 335:129–139, London, Springer
Verlag
6. Mazur A (2004) Hybrid adaptive control laws solving a path follow-
ing problem for non-holonomic mobile manipulators. Int J Control
77(15):1297–1306
7. Pomet J B (1992) Explicit design of time-varying stabilizing control
laws for a class of controllable systems without drift. Syst Control Lett,
18:147–158
8. Samson C (1995) Control of chained systems - application to path fol-
lowing and time-varying point-stabilization of mobile robots. IEEE Trans
Aut Control 40(1):147–158
9. Tchoń K, Jakubiak J (2004) Acceleration-Driven Kinematics of Mo-
bile Manipulators: an Endogenous Configuration Space Approach. In:
Lenarčič J, Galletti C (eds) On Advances in Robot Kinematics. Kluwer
Academic Publishers, The Netherlands
10. Tchoń K, Jakubiak J, Zadarnowska K (2004) Doubly nonholonomic mo-
bile manipulators. In: Proc IEEE Int Conf on Robotics and Automation,
pp. 4590–4595, New Orleans
26
On Simulator Design of the Spherical
Therapeutic Robot Koala
26.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 295–302, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
296 K. Arent and M. Wnuk
The basic Koala controller scheme [7] is presented in Fig. 26.1. As soon
as an interaction is established, a child and Koala form a closed-loop
interconnection. The child actions are recorded by the robot sensors.
The linear accelerations ax , ay , az of the robot are measured by a
3D accelerometer MMA7260 [8]. It is a low-cost capacitive microma-
chined accelerometer which features temperature compensation, linear
characteristics of output vs. acceleration, and g-Select which allowing
to select among 4 sensitivities. (± 1.5 – ± 6 g). The rotational speeds
ωx , ωy , ωz are recorded by means of three gyroscopes ENC03JA [9].
Each operates on the principle of a resonator gyro, with micromachined
Coriolis force sensing.
26 On Simulator Design of the Spherical Therapeutic Robot Koala 297
CHILD MC33794
MMA7260
KOALA
ENC03JA
controller works periodically with period 10ms, hence acc, rot, and
press are discrete time quantities. With acc there are two more signals
associated, iacc, and dacc, which are defined as follows: iacc(n) =
(1 − ǫ)iacc(n − 1) + ǫacc(n), dacc(n) = acc(n) − iacc(n), where
n = 0, 1, . . .. Analogously irot and drot has been defined. Pressure and
touch are characterised by press, ipress, dpress, touch, itouch, and
298 K. Arent and M. Wnuk
fuzzy
sensors
Section 26.3 can be quite easily implemented with the help of SimMe-
chanics, without direct referring to formula. Likewise in [14] the core of
the virtual robot is based on the Fuzzy Logic Toolbox. In the context
of robot animation two toolboxes are appropriate: Virtual Reality and
Signal Processing.
It is worth to mention that the fis structure, used in Matlab to
represent a fuzzy logic models, is almost consistent with the IEC 1131
standard. This standard is used in the Koala project and suitable
converters exist. Therefore all the robot behaviours, defined and verified
using Koala simulator, can be easily implemented on the real robot.
26.5 Conclusions
in defining interactive robot behaviours and a good base for a rich class
of robot stimuli. Further simulator development should be primarily
directed toward enriching the class of stimuli. At present this issue is
under way.
References
1. Michaud, F., Salter, T., Duquette, A., Laplante, J.F.: Perspectives on
mobile robots used as tools for pediatric rehabilitation. Assistive Tech-
nologies (2005)
2. Dautenhahn, K., Werry, I.: Towards interactive robots in autism therapy.
background, motivation and challenges. Pragmatics & Cognition 12(1)
(2004) 1 – 35
3. Michaud, F., Caron, S.: Roball – an autonomous toy rolling robot. In:
Proceedings of the Workshop on Interactive Robot Entertainment. (2000)
4. Salter, T., Boekhorst, R.T., Dautenhahn, K.: Detecting and analysing
children’s play styles with autonomous mobile robots: A case study com-
paring observational data with sensor readings. The 8th Conference on
Intelligent Autonomous Systems (IAS-8) (2004)
5. Salter, T., Michaud, F., Dautenhahn, K., Letourneau, D., Caron, S.:
Recognizing interaction from a robot’s perspective. American Associa-
tion for Artificial Intelligence (2001)
6. Arent, K., Kabala, M., Wnuk, M.: Towards the therapeutic spherical ro-
bot: design, programming and control. In: 8th IFAC Symposium SyRoCo.
(2006)
7. Wnuk, M.: Koala – an interactive spherical robot assisting in therapy of
autistic children. In: Advances in Robotics. Systems and Cooperation of
Robots. WKL (2006) (in Polish).
8. Freescale Semiconductor, Inc: (±1.5g - 6g Three Axis Low-g Microma-
chined Accelerometer) MMA7260Q Technical Data Rev. 1.
9. ENC-03J. Piezoelectric Gyroscopes GyroStar. http://www.murata-europe .
com. (2004)
10. MPX4200A Integrated Silicon Pressure Sensor. ( http://e-www.mot orola.
com) catalogue card.
11. Freescale Semiconductor, Inc: Electric Field Imaging Device MC33794
Technical Data Rev. 8.0. (2005)
12. Murray, R.M., Li, Z., Sastry, S.S.: A Mathematical Introduction to Ro-
botic Manipulation. CRC Press, Inc. (1994)
13. Matysek, W., Muszyński, R.: Mathematical Model of Nonholonomic
Spherical Mobile Robot RoBall. In: Cybernetics of Robotic Systems.
WKL (2004)
14. Van den Broek, T.: Design of a simulation toolbox for a therapeutic robot.
Technical report. (2007)
27
Development of Rehabilitation Training
Support System Using 3D Force Display Robot
27.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 303–310, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
304 Y. Morita et al.
θ link 3 (0.45m)
link 1 (0.30m)
(0.55m)
Motor
Motor Motor
a new exercise machine but also the realization of following two sup-
porting functions; (1) motion assistance function and (2) supporting
function of planning and modification of exercise programs [7].
Grip
Yn n-th initial position
O X
Force/Torque
Sensor Tape Shape
Sensor
Fig. 27.4. Traditional sanding train- Fig. 27.5. Sanding training using 3D
ing force display robot
Position[m] 30 Position[m] 30
0.6 0.6
Velocity[m/sec] Velocity[m/sec]
0.4 20 0.4 20
0.2 10 0.2 10
Force[N]
Force[N]
0 0 0 0
- 0.2 - 0.2
- 10 - 10
- 0.4 - 0.4
- 20 - 20
- 0.6 - 0.6
5 10 15 - 30 5 10 15 - 30
5 10 15 5 10 15
time[sec] time[sec] time[sec] time[sec]
(a) Traditional sanding training tool (b) Simulated sanding training system
Fig. 27.6. Comparison in responses of position/velocity and force
−M g sin θ −Fc sgn(n ẋG )
n
fw = −M g cos θ + 0 ,
0 0
where Fc (= 3.0) is the Coulomb friction coefficient, g is the gravita-
tional acceleration, and θ(=30 [◦ ]) is the slope of the sanding board. By
changing the damping coefficient Dx , the subject receives the proper
resistance force. By changing M , Dx , Fc , and θ, the load of resistance
can be changed. And we use the large rigidity coefficients Ky and Kz
of the Yn and Zn axes to virtually realize the sanding board.
We compare two kinds of data obtained using the sanding tool and
the simulated training system. These are almost the same as shown in
Fig. 27.6. For this reason it may be said that the traditional sanding
training can be imitated by using the 3D force display robot.
Therapist 1
0.9
Subject
(Patient) 0.8
Z[m]
0.7
0.6
0.5
0.2
0 1
0.8
- 0.2
Y[m] 0.6 X[m]
Fig. 27.7. Teaching scene of training Fig. 27.8. Teaching (◦) and actual
trajectory using 3D force display robot (–) trajectories
therapist has to make a training program suitable for the subject’s con-
dition. For this reason the control algorithm with a teaching function
of training trajectories is developed. It enables the therapists to easily
make training trajectories suitable for the subject’s condition.
The teaching/training procedure is as follows:
Step 1: The subject grasps the grip of the 3D robot. If the subject
cannot grasp it by himself/herself, the subject’s hand is fixed to the
grip.
Step 2: The therapist makes a training trajectory by moving both
the subject’s hand and the grip along the desired training trajectory as
shown in Fig. 27.7. The grip position data of the training trajectory are
recorded in the 3D robot. An example of the recorded training trajec-
tory is shown in Fig. 27.8. The green circles show the recorded training
trajectory data. The grip motion can be restricted on the training tra-
jectory.
Step 3: The subject moves the grip by himself/herself along the train-
ing trajectory. The actual trajectory (blue line) is shown in Fig. 27.8.
The actual trajectory is the result performed by the healthy student.
The restriction of the grip enables the subject to easily perform the
individual training program with good therapeutic effect.
Step 4:: The therapist easily changes the load of resistance of the train-
ing program by changing the parameters on the display.
By using this teaching/training function the therapists can be ex-
pected to develop a new training program.
310 Y. Morita et al.
27.5 Conclusions
References
1. T. Sakaki, “TEM: therapeutic exercise machine for recovering walking
functions of stroke patients”, Industrial Robot: An Int. J., 26-6, pp.446-
450, 1999.
2. Y. Nemoto, S. Egawa and M. Fujie, “Power Assist Control Developed for
Walking Support”, J. of Robotics and Mechatronics, 11-6, pp.473-476,
1999.
3. H.I. Krebs, N. Hogan, M.L. Aisen, and B.T. Volpe, “Robot-Aided Neurore-
habilitation”, IEEE Trans. on Rehabilitation Engineering, 6-1, pp.75-87,
1998.
4. B.T. Volpe, et al., “A novel Approach to Stroke Rehabilitation”, Neurol-
ogy, vol. 54, pp.1938-1944, 2000.
5. M. Sakaguchi, J. Furusho, and E. Genda, “Basic Study on Development of
Rehabilitation Training System Using ER Actuators”, J. of the Robotics
Society of Japan, 19-5, pp.612-619, 2001 (in Japanese).
6. H. Maeda, Y. Morita, E. Yamamoto, H. Kakami, H. Ukai, and N. Matsui,
“Development of Rehabilitation Support System for Reaching Exercise of
Upper Limb”, Proc. of 2003 IEEE Int. Symp. on Computational Intelli-
gence in Robotics and Automation (CIRA2003), pp.134–139, 2003
7. Y. Morita, T. Yamamoto, T. Suzuki, A. Hirose, H. Ukai, and N. Mat-
sui, “Movement Analysis of Upper Limb during Resistance Training Us-
ing General Purpose Robot Arm PA10”, Proc. of the 3rd Int. Conf. on
Mechatronics and Information Technology (ICMIT’05), JMHWI6(1)–(6),
2005
28
Applying CORBA Technology for the
Teleoperation of Wheeeler∗
28.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 311–318, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
312 M. Pytasz and G. Granosik
propulsion was the very first applied in articulated mobile robots [2],
it is also very effective in tight spaces [7, 8], and easy to implement.
For joint actuation – integrated servos seems to be straight forward
solution, like in [3].
Using capabilities of Webots software we have built model of Wheeel-
er. Applying masses, inertias, friction coefficients and damping made
model and simulation very realistic (see: Fig. 28.1). Webots relies on
ODE (Open Dynamics Engine) to perform accurate physics simulation
and uses OpenGL graphics.
Since the first version, some changes have been applied in the model
of our hyper mobile robot, mostly as an effect of interaction between
you-can-do-anything-in-simulation and construction possibilities. The
sensory suite of our Wheeeler robot is now enriched with distance sen-
sors, accelerometers, gyroscopes as well as position and force sensors in
suspension of each segment. We added 11 sensors per segment which
gives total of 77 new values being sent to the controller. We still re-
member of 21 control variables and two cameras already existing. This
makes large amount of data to be handled, transmitted and processed.
We decided to reorganize transmission mechanisms to make communi-
cation easier to work with and more reliable, as presented in details in
Section 28.3.
prefix get provide a client with ability to read the state of the robot.
The definition above has only one advantage: it is very simple to be
implemented, since all communication is initiated by one side. Unfortu-
nately, this way of solving the problem would not be efficient in a real
application due to the need of initiation of all transfers only on one
side, forcing to read all data possible. It could lead to excessive data
transfer over the network due to very frequent periodic querying, or
outdated information in case of lower querying frequency. This analy-
sis led us to a conclusion that each side should be able to initiate a
transmission whenever there is some new data, control signal or sensor
reading, to be sent. As a result, the Wheeeler IDL module evolved to
its next version, presented in Fig. 28.5.
part in this interface. Methods starting with prefix send are supposed
to provide the robot with a references to new, remotely available objects
on the client side. Representation of this new interface, implemented
on a “client” side can be seen on Fig. 28.5. The WheeelerSensors class
is supposed to receive data from sensors. This kind of implementation
allows us to transfer any kind of data required, in any direction and
time whenever it is necessary, however active servants on both sides of
communication makes the boundary of client and server less sharp.
References
1. Granosik G, Borenstein J and Hansen MG (2007) Serpentine Robots for
Industrial Inspection and Surveillance, in: Industrial Robotics. Program-
ming, Simulation and Applications, Low Kin Huat (Ed.), pp. 633-662,
plV Pro Literatur Verlag, Germany.
2. Hirose S, Morishima A (1990) Design and Control of a Mobile Robot
With an Articulated Body, The Int. Journal of Robotics Research, vol.
9, no. 2, pp. 99-113.
3. Kamegawa T, Yamasaki T, Igarashi H, Matsuno F (2004) Snake-like Res-
cue Robot KOHGA, Proc. IEEE Int. Conf. on Robotics and Automation,
New Orleans, LA, pp. 5081-5086.
4. Krishna A, Schmidt DC, Klefstad R (2004) Enhancing Real-Time
CORBA via Real-Time Java, Proc. IEEE Int. Conf. on Distributed Com-
puting Systems (ICDCS), Tokyo, Japan.
5. Mungee S, Surendran N, Schmidt DC (1999) The Design and Perfor-
mance of a CORBA Audio/Video Streaming Service HICSS-32. Proc. of
the 32nd Annual Hawaii Int. Conference on System Sciences.
6. Pytasz M, Granosik G (2006) Modelling of Wheeeler – hyper mobile
robot. (in Polish) In: Advances in Robotics. Control, Perception, and
Communication. K. Tchoń (Ed.), pp. 313-322, WKiL, Warsaw.
7. Schempf H, Mutschler E, Goltsberg V, Skoptsov G, Gavaert Vradis G
(2003) Explorer: Untethered Real-time Gas Main Assessment Robot Sys-
tem. Proc. of Int. Workshop on Advances in Service Robotics, ASER’03,
Bardolino, Italy.
8. Streich H, Adria O (2004) Software approach for the autonomous inspec-
tion robot Makro. Proc. IEEE Int. Conf. on Robotics and Automation,
New Orleans, LA, USA, pp. 3411-3416.
29
Educational Walking Robots∗
29.1 Introduction
∗
This work was supported by IAAM statutory funds.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 321–328, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
322 T. Zielińska, A. Chmielniak, and L. Jańczyk
was to practice the robot design methods using the knowledge gained
during the study, and to elaborate the cheap devices for the laboratory.
29.2.1 Hexapod
A six-legged robot called MENTOR [9] is shown in Fig. 29.2. Each leg
has a simple structure with 2 dof. In the 6 legs there are used 12 ser-
vomotors (Fig. 29.1). In the first solution the machine was controlled
by a stationary PC and control signals were sent via a printer con-
nector LPT1. Currently the onboard PC104 serves high-level control
(i.e. gait generation) sending the control signals. To save the space for
the sensors and to increase the payload the robot is externally supplied.
The window-type control program was developed, with only tripod gait
implemented. By using on-screen menus the operator initiates forward,
backward, left- and right-side walking, all by tripod gait – see Fig. 29.2.
The operator types in the number of walking steps (the field in the mid-
dle of the screen) and chooses the walking direction. During walking the
leg-ends follow the reference trajectories. The maximum forward and
backward leg-end shift as well as the trajectories were evaluated con-
sidering the stability conditions and are used in the discussed control
system. We are not discussing the details of leg-end trajectory synthesis
as we used here well-know classic methods.
Fig. 29.2. MENTOR walking by Fig. 29.3. View of the screen for
tripod gait MENTOR control
29.2.2 Quadruped
Fig. 29.4. BAJTEK Fig. 29.5. View of the menu of the soft-
ware used for experimental motion synthesis
y O2
O2 C C
Dim. Val. (mm)
x O1A 40
O1 O1
O2C 26
A A O3D 26
O3
O3 O1B 77
D B D B AC 57
DE 75
BE 50
BF 115
E E
F F
links (Fig. 29.6) making thigh (O1 B) and shin (BF ). The servos are
fixed to the trunk. The servo shafts (O2 and O3 ) are attached to the
two arms (O2 C, O3 D) fixed to the sliders CA and DE. The sliders are
attached to the main leg’s thigh and shin making planar revolute pairs.
All parts were produced from using bend aluminium sheet. The foot
is just a properly shaped end of the shin. BAJTEK has four kinemati-
cally identical legs, connected to the main body (Fig. 29.7). The body
is a rigid element, made of aluminum. The total mass of the machine
is close to 1 kg.
5 21
14 5
50
175
0
17
For the BAJTEK robot a control system different than the discussed
above was elaborated [6]. This system is not dedicated to the experi-
mental gait synthesis but makes a basis for advanced motion control.
The control system uses the onboard micro-controller Atmel AtMega32.
The software is written in the assembly language. The gait generator
takes data from the gait pattern memory (EPROM). It is also possible
to connect an external computer (e.g. with a path planner) to evaluate
the gait sequences and adequate reference signals for the servomotors.
The gait generator sends to the joint controllers information about joint
positions and time intervals to achieve them (this contains information
about the motor speed). The joint controller doing the speed profiling
calculates the set of intermediate positions which are transmitted to the
servo-motors. In the future it is intended to connect some sensors to
the micro-controller for the reactive control. The rotation angle of the
servo shaft is proportional to the length of the input pulse (0.5-2.5 ms).
The period of the base pulse is 20 ms. Pulse generation makes use of the
326 T. Zielińska, A. Chmielniak, and L. Jańczyk
29.4 Experiments
5
5
0 0
0.1 0.2 0.3 0.1 0.2 0.3 0.4
-5 -5
Time (s) Time (s)
Fig. 29.8. Charts of servo motor angular velocity for motion range 60◦ (no
speed control)
60
0.19s 60
50
50
0.3s 1s 2s
Servo position (°)
40 40
y (mm)
30 30
20
20
10
10
0
0 20 40 60 80 100
0 x (mm)
0.5 1 1.5 2
Time (s)
Fig. 29.9. Chart of servo positions for Fig. 29.10. Leg end trajectory
different motion time (motion range –
60◦ ) – speed control
at the point of the hip joint (Fig 29.6). During the transfer phase the
leg-end is quickly raised up, then moved forward, and finally supported
– placed on the level of the other leg-ends. The duration of the leg
transfer takes 12.5% of the gait period. Therefore the walking machine
realizes gait called quadruped crawl (duty factor β = 0.875 [12, 13]).
When one leg is in the transfer phase, the other legs do not move. This
motion scheme results from the requirement of postural stability (the
masses in motion cause the inertial forces).
29.5 Conclusions
more critical. For statically stable gait only one leg a time can be trans-
ferred. With the transfer of two legs (on the diagonal) the body must
be dynamically balanced considering the mass distribution and iner-
tial forces. BAJTEK makes an experimental platform for dynamical
motion synthesis. Considering dynamical stability students can syn-
thesize the two-legged gait. Manual control of each degree of freedom
in the first control system of quadruped BAJTEK allows to test the leg
movements before its final implementation. Our students synthesize the
motion programs for the new gaits and leg trajectories. By giving the
joints’ angular position for assumed leg-end trajectories they prove the
correctness of the inverse kinematics problem solutions they elaborate
(for a pantograph mechanism of the quadruped BAJTEK). The robots
are used in periodic robotic exhibitions organized in Warsaw.
References
1. Bai S, Low KH, Zielińska T (1999) Quadruped free gait generation for
straight-line and circular trajectories. Adv. Rob. vol.13, no.5:513–538
2. Bai S, Low KH (2001) Terrain evaluation and its application to path
planning for walking machines. Adv. Rob. vol.15, no.7:729–748
3. Berns K (2007) Walking Machines. (http://www.walking-machines.org)
4. Birch MC et al. (2002) Cricket-based robots. Introducing an autonomous
hybrid microrobot propelled ly Legs and supported by legs and wheels.
IEEE Rob. and Autom. Mag., vol.9, no.4:20–30
5. Gonzalez de Santos P et al. (2002) SIL04: A true walking robot for the
comparative study of walking machines techniques. IEEE Rob. and Au-
tom. Mag., vol.10, no.4:23–32
6. Jańczyk L (2007) Microprocesor based control system for quadruped.
B.Eng. diploma thesis, WUT, Warsaw
7. Lee H et al. (2006) Quadruped robot obstacle negotiation via reinforce-
ment learning. In: Proc. of the 2006 IEEE ICRA
8. Lewis MA (2002) Gait Adaptation in a Quadruped Robot. Autonomous
Robots, vol. 12, no. 3:301–312
9. Metrak D (2004) Project of hexapod. B.Eng. dipl. thesis, WUT, Warsaw
10. Pawlak T (2004) Project of mechanical and control system for quadruped.
B.Eng. dipl. thesis, WUT, Warsaw
11. Sgorbissa A, Arkin RC (2003) Local navigation stategies for a team of
robots. Robotica 21:461–473
12. Shin-Min S, Waldron KJ (1989) Machines that Walk. The MIT Press
13. Todd DJ (1985) Walking Machines: An introduction to legged robots.
Kogan Page
14. Zielińska T, Heng KH (2003) Mechanical design of multifunctional
quadruped. Mechanism and Machine Theory. vol. 38, no. 5:463–478
30
Humanoid Binaural Sound Tracking Using
Kalman Filtering and HRTFs∗
30.1 Introduction
Audio and visual perceptions are two crucial elements in the design
of mobile humanoids. In unknown and uncontrolled environments, hu-
manoids are supposed to navigate safely and to explore their surround-
ings autonomously. While robotic visual perception, e.g. stereo vision,
has significantly evolved during the last few years, robotic audio per-
ception, especially binaural audition, is still in its early stages. However,
non-binaural sound source localization methods based on multiple mi-
crophone arrays, like multiple signal classification and estimation of
Time-Delay Of Arrivals (TDOAs) between all microphone pairs, have
been very actively explored [1], [2].
From the viewpoint of humanoid robotics, multiple microphone ar-
rays are undesired since processing times are dramatically increased.
Instead, minimum-power consumption and real-time performance are
two very required criteria in the design of human-like binaural hearing
systems. These systems are normally inspired by the solutions devel-
oped in evolution to solve general tasks in acoustic communication
across diverse groups of species such as mammals and insects. These
species adapt their acoustic biological organs to real-time communica-
tion while maintaining an optimum level of energy consumption.
Hence, interacting robots sending and receiving acoustical informa-
tion are intended to optimize the energy consumption of the sound
signal generation processh and to tailor the signal characteristics to
the transmission channel. Equally important, these robots are to be
∗
This work is fully supported by the German Research Foundation (DFG) within
the collaborative research center SFB453 “High-Fidelity Telepresence and Tele-
action”.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 329–340, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
330 F. Keyrouz, K. Diepold, and S. Keyrouz
1 1 1
H Li SL SR H Ri1
HRTFLi HRTFRi
1
SL
H L1 H R11
SR
SL
H L 12 H 1
R2
SR
…xcor …
…
…
1
SL
H Li H Ri1
SR
…
…
SL
H L 1710 H R 1710
SR
Maximum Filtering
Cross-correlation (Convolution)
Fig. 30.1. Flowchart of the sound localization algorithm as proposed in [5]
The main idea in the 3D sound detection algorithm suggested in [5] was
to first minimize the HRTFs and remove all redundancy. The resulting
truncated HRTFs are then used for localizing sound sources in the same
way the full HRTFs would be used. The algorithm relies on a straight-
forward matched filtering concept. We assume that we have received
the left and right signals of a sound source from a certain direction.
The received signal to each ear is, therefore, the original signal filtered
through the HRTF that corresponds to the given ear and direction.
Match filtering the received signals with the correct HRTF should
give back the original mono signal of the sound source. Although the
system has no information about what the sound source is, the result
332 F. Keyrouz, K. Diepold, and S. Keyrouz
of filtering the left received signal by the correct inverse left HRTFL
should be identical to the right received signal filtered by the correct
inverse right HRTFR .
In order to determine the direction from which the sound is arriv-
ing, the two signals must be filtered by the inverse of all of the HRTFs.
The inverse HRTFs that result in a pair of signals that closely resemble
each other should correspond to the direction of the sound source. This
is determined using a simple correlation function. The direction of the
sound source is assumed to be the HRTF pair with the highest correla-
tion. This method is illustrated in Fig. 30.1. Due to the computational
complexity of filtering in time domain, the algorithm is applied in the
frequency domain. The signals and reduced HRTFs are all converted
using the Fast Fourier Transform (FFT). This changes all the filtering
operations to simple array multiplications and divisions.
We assume that the reduced HRTFs, i.e. using Diffused-Field Equal-
ization (DFE) [7] and Balanced Model Truncation (BMT) [8], have al-
ready been calculated and saved. Once the audio samples are received
by the left and right inputs, they are transformed using FFT. Then
the transformed left and right signals are divided (or multiplied by a
pre-calculated inverse) by each of the HRTFs. Finally, the correlation
of each pair from the left and right is calculated. There are 1420 array
multiplications, 1420 inverse Fourier transforms, and 710 correlation
operations. After the correlations are found, the direction that corre-
sponds to the maximum correlation value is taken to be the direction
from which the sound is arriving.
In the previous algorithm the main goal was to pass the received signal
through all possible inverse filters. The set of filters from the correct di-
rection would result in canceling the effects of the HRTF and extracting
the original signal from both sides. However, a more direct approach
can be taken to localize a sound source. Instead of attempting to re-
trieve it, discarding the original signal from the received inputs so that
only the HRTFs are left may be possible; this is illustrated in Fig.
30.2. We shall call such an approach the Source Cancelation Algorithm
(SCA).
Basically, the received signals at the microphones inside the ear
canals could be reasonably modeled as the original sound source signal
30 Humanoid Binaural Sound Tracking Using HRTFs 333
Robot Head
Microphones
Region of Interest
(ROI)
SL H Li HRTFLi
SR
H Ri HRTFRi
H L1
H R1
… xcor …
SL H Li
SR H Ri
H L 710
H R 710
Maximum
Cross-correlation
Fig. 30.2. Flow chart of the Source Cancelation Algorithm (SCA)
convolved by the HRTF. Looking at the signals in the frequency do-
main, we see that if we divide the left and right transformed signals, we
are left with the left and right HRTFs divided by each other. The sound
source is canceled out. Likewise, the SCA depends only on the correla-
tion factor between the incoming and saved HRTFs ratios. Hence SCA
outperforms the previously proposed method as it is independent of
the characteristics of the impinging sound sources on the artificial ears
and torso, which ensures more stability and more tolerability to noise
and reverberations.
With two Fourier transforms and one array division operation, the
original signal is removed and the HRTFs are isolated. The resulting
ratio can then be compared to the ratios of HRTFs which are stored in
the system. These ratios are assumed to be pre-calculated off-line and
saved in the system database.
In a hardware-based application, using the SCA would greatly re-
duce hardware complexity as well as speed up processing. Compared to
the original algorithm, this new approach eliminates 1420 array multi-
plications and 1420 inverse Fourier transforms, and replaces them with
one single array multiplication.
334 F. Keyrouz, K. Diepold, and S. Keyrouz
To make the processing time even faster, this DFE-reduced HRTF data-
base is further truncated using BMT. The BMT-reduced HRTFs can
be modeled as IIR filters, and are denoted here by HIIR m , where for
every value of m we have a truncated HRTF dataset of different order.
Although by applying appropriate reduction techniques, the length
of the impulse responses can be reduced to a hundred or even fewer
samples, thus reducing the overall localization time, the HRTF data-
base could be very dense, and thus the convolution with all possible
HRTFs in the database becomes computationally exhaustive. To solve
this problem, especially for moving sound sources, a Kalman filter is
tailored to predict a ROI the sound source might be heading to, accord-
ing to some movement models. Therefore a quick search for the correct
HRTF pair within a small ROI is now ensured, and, consequently, a
very fast tracking of the moving sound trajectory. The workflow of the
SCA attached to a Kalman filter is depicted in Fig. 30.3.
The Kalman filter applies to a linear dynamical system, the state
space model of which consists of two equations:
Equations (1) and (2) are called the process and the measurement equa-
tions, respectively. The variable x is the state of the discrete-time sys-
tem and y is the system’s output such as positions or angles depending
on the movement model. The variable u models the sound source veloc-
ity. The random variable w and v represent the white Gaussian process
and measurement noise, respectively. The matrix A relates the state
at the current time step k to the state at the future step k + 1. The
matrix B relates the optional control input u to the state x. The matrix
C relates the state to the measurement yk+1 .
The linear model we have adopted corresponds to a sound source
moving with constant velocity. This velocity is incorporated within the
state vector, x(k) = (x, y, z, ẋ, ẏ, ż)T , by taking the derivative with
dy
respect to time, ẋ = dx dz
dt , ẏ = dt , and ż = dt . According to the move-
ment equations, based on Newton, the sampling time T for each coor-
30 Humanoid Binaural Sound Tracking Using HRTFs 335
x
Movement y
Kalman Filter
Model
z
Estimated x
Estimated y
Estimated z
Coordinate Transformation
Predicted azimuth Predicted elevation
Creation of ROI
in HRTF dataset
ROI
Sound signal Azimuth
SCA Elevation
100
80
BMT H IIR
m
SCA
70
Simulation FIR
* DFE H128
Previous
60 BMT H IIR
m
Method
Simulation + FIR
DFE H128
50
Fig. 30.4. Percentage of correct localization using SCA compared with the
method in [5]
70
65 Previous Method
SCA
Average Distance in [°] from the Target Angles
60
55
50
45
40
35
30
25
20
15
10
5
0
0 20 40 60 80 100 120 140
HRIR Filter Coefficients (Samples)
Fig. 30.5. Falsely localized sound sources: average distance to their target
positions, for every HRIR length
berations contained within the measured sound signals, which were not
included in the simulation. The deviation in performance is also justi-
fied on the basis of the differences between the dummy manikin model
used in the experiment and the KEMAR model used to obtain the
HRTF database.
0.12
0.1
Localization Time in [s]
0.08
0.06
0.04
0.02
0
20 40 60 80 100 120 140 160 180
ROI Length in [°]
searching the 710 HRTFs, looking for the starting position of the sound
source. Once the initial position is pinpointed, an initial ROI is localized
around this position. Next, the source starts moving, and a new ROI is
identified and automatically updated using a Kalman filter. This way,
the sound localization operation, particularly the correlation process,
proceeds only in this ROI instead of searching the whole HRTF dataset.
30 Humanoid Binaural Sound Tracking Using HRTFs 339
30.6 Conclusion
References
31.1 Introduction
Table 31.1. List of all realized action units corresponding to Ekmans num-
bering system including the approximated maximum ranges of motion
Skin Motions Head Motions Eye Motions
1 Inner Brow Raise 1 cm 51 Turn Left 60◦ 61 Eyes Left 30◦
2 Outer Brow Raise 1 cm 52 Turn Right 60◦ 62 Eyes Right 30◦
9 Nose Wrinkle 1 cm 53 Head Up 20◦ 63 Eyes Up 40◦
12 Lip Corner Puller 1 cm 54 Head Down 20◦ 64 Eyes Down 40◦
15 Lip Corner Depressor 1 cm 55 Tilt Left 30◦ 65 Walleye 30◦
20 Lip Stretch 1 cm 56 Tilt Right 30◦ 66 Crosseye 30◦
24 Lip Presser 1 cm 57 Forward 2 cm
26 Yaw Drop 10◦ 58 Back 2 cm
Fig. 31.1. (a) Engineering drawing of the upper body, the neck, and the
head construction included in Zygote’s 3D realistic human model (b) A pre-
vious version of the humanoid robot “ROMAN” (ROMAN = RObot huMan
interAction machiNe) with human-like silicon skin
31 Mechatronics of the Humanoid Robot ROMAN 343
Motor Dimensioning
Fig. 31.2. (a) Engineering drawing of the upper body of the humanoid robot
with integrated main boards, loudspeaker and the 3DOF hip with supporting
springs (b) This image shows the assembled head and neck including the
fourth neck joint (c) Mounted eye construction from the backside and (d) the
frontal view with artificial skeleton
31 Mechatronics of the Humanoid Robot ROMAN 345
R
r1
α
h1
Fig. 31.3. (a) This sketch of the forward-backward bending motion is used
to calculate the external and resulting torque in the rotational center (b) The
upper diagram shows the external Mexternal and the resulting torque Mresult
and the lower diagram shows the torque generated by the backside (Mspring1 )
and front side springs (Mspring2 )
31.3.3 Neck
tures. The tools mcagui and mcabrowser allow the interaction with the
system allowing the user to control and observe the robot.
References
1. T. Asfour, K. Berns, and R. Dillmann. The humanoid robot armar: Design
and control. In International Conference on Humanoid Robots (Humanoids
2000), 2000.
2. K. Berns, C. Hillenbrand, and K. Mianowski. The mechatonic design of
a human-like robot head. In 16-th CISM-IFToMM Symposium on Robot
Design, Dynamics, and Control (ROMANSY), 2006.
3. K. Berns and J. Hirth. Control of facial expressions of the humanoid robot
head roman. In IEEE/RSJ International Conference on Intelligent Robots
and Systems (IROS), Beijing, China, October 9-15 2006.
4. P. Ekman, W.V. Friesen, and J.C. Hager. Facial Action Coding System
(FACS) - Manual, 2002.
5. D. B. Givens. The Nonverbal Dictionary of Gestures, Signs and Body
Language Cues. Center for Nonverbal Studies Press, 2005.
6. S. Hashimoto. Humanoid robots in waseda univeristy -hadaly-2 and
wabian-. In IARP First International Workshop on Humanoid and Hu-
man Friendly Robotics, 1998.
7. I.-W. Park and J.-H. Oh. Mechanical design of humanoid robot platfrom
khr-3(kaist humanoid robot-3: Hubo). In IEEE-RAS International Con-
ference on Humanoid Robots (Humanoids), 2005.
8. M. Zecca, S. Roccella, M.C. Carrozza, G. Cappiello, and et. al. On the de-
velopment of the emotion expression humanoid robot we-4rii with rch-1. In
Proceeding of the 2004 IEEE-RAS International Conference on Humanoid
Robots (Humanoids), pages 235–252, Los Angeles, California, USA, No-
vember 10-12 2004.
32
Assistive Feeding Device for Physically
Handicapped Using Feedback Control
32.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 351–360, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
352 R. Pandhi and S. Khurana
The user engages to the master unit, in this case through biting, and
moves his head to control the slave arm. A transmission and control
system connect the master to the slave so that the slave follows the
master in a natural and intuitive manner. Two of the degrees of free-
dom (d.o.f.) between the units are connected through pulleys and a
Bowden cable; the third coupled d.o.f. is through an electric motor and
controller.
The slave arm is shown in Fig. 32.1. All θ values represent angular
motion about a corresponding axis; all ρ values represent linear motion
along an axis. This unit is mounted to a wheelchair such that joint θsp
is at shoulder height and the unit is to the right side of the user. The
slave arm was mechanically designed with the same d.o.f. as a spherical
coordinate system: θsp (pitch), θsy (yaw), and ρs (radial). A spherical
coordinate system was chosen because it allows any position in space to
be obtained with variables (inputs) that kinematically match a person’s
input (in this case, head) and arm movements.
Pulleys are located at joints θsp and θsy which are connected, via
a cable, to the pulleys located on the master. A motor is present at
joint θsp ; this along with the two meshing gears fixed to the ends of
the two main links result in radial motion, ρs . The slave arm is counter
balanced so that the user does not feel its weight when static. Roller
bearings are present in all joints. The two main links are constructed
of fiberglass hollow tubing, while most other components are machined
from aluminum.
One of the interface or master units is detailed in Fig. 32.2. The unit is
fixed to the user’s wheelchair such that the θmy joint is positioned above
and approximately at the center of the user’s head. This head/mouth
interface unit has four d.o.f.; the three (θmp , θmy , θmρ ) that map to the
slave unit and an additional passive joint (θmr ) at the mouthpiece so the
master unit does not constrain the natural head movement of the user.
The mouthpiece is constructed of Polyform, a thermosetting plastic
allowing the user’s dentition to be molded at low temperature. Roller
bearings are present at the yaw (θmp ) and pitch (θmy ) joints. Pulleys
are present at the θmy and θmp joints, while a rotary potentiometer
is placed at θmρ . This potentiometer measures the translation of the
mouthpiece, ρm , which ultimately controls ρs .
354 R. Pandhi and S. Khurana
32.2.5 Advantages
The advantages of this system are its ability to provide extended phys-
iological proprioception (EPP) and force reflection and its simplicity
relative to rehabilitation robots. It is more versatile and allows a per-
son with no or very little arm function to interact with his surroundings.
The target population that would benefit from such a device is very
large because the basic ideas can be adapted to any special purpose
task (feeding is an example) and to other input sites (only head control
is discussed here).
In this intelligent device ankle, knee, and thigh movements are coupled
via a set of cables and pulleys to a four degree-of-freedom articulated
arm. By moving his or her leg in a controlled manner, the user can
feed effectively. Because it is physically and intimately coupled to the
user and acts as an extension of the person, this device has the flavor
of a prosthetic limb (except for the number of degrees of freedom) and
therefore the user is always in intimate contact with the limb. This
offers the user a form of proprioceptive feedback.
Because of this intimate physical contact, the user will always know
the position and orientation of the spoon and the articulated arm and
will only use vision to locate the target morsel. This device is simple,
reliable, and inexpensive and does not require actuators.
The prototype in Fig. 32.3 is a device that uses head and neck
movements to control movement of a spoon. The linkage has three
degrees of freedom and in particular is capable of three distinct output
motions.
It can be used to scoop up the food from the plate with any approach
angle and bring the food to the user’s mouth as he/she pitches his/her
356 R. Pandhi and S. Khurana
Fig. 32.4. The central virtual user interface for visualization and optimization
of the design
358 R. Pandhi and S. Khurana
32.6 Conclusion
References
1. H.F.M. Van der Loos. VA/Stanford rehabilitation robotics research and
development program: Lessons learned in the application of robotics tech-
nology to the field of rehabilitation. IEEE Transactions on Rehabilitation
Engineering, 3(1): 46-55, 1995.
2. G.E. Birch, M. Fengler, R.G. Gosine, K. Schroeder, M. Schroeder and
D.L. Johnson. An assessment methodology and its application to a ro-
botic vocational assistive device. Technology and Disability, 5(2):151-166,
1996.
3. S.J. Sheredos, B. Taylor, C.B. Cobb and E.E. Dann. Preliminary evalu-
ation of the helping hand electro-mechanical arm. Technology and Dis-
ability, 5(2):229-232, 1996.
4. G. Verburg, H. Kwee, A. Wisaksana, A. Cheetham and J. van Woerden.
Manus: The evolution of an assistive technology. Technology and Disabil-
ity, 5(2):217-228, 1996.
5. M. Topping. Handy I, a robotic aid to independence for severely disabled
people. Technology and Disability, 5:233-234, 1996.
6. C. Upton. The RAID workstation. Rehabilitation Robotics Newsletter,
A.I. duPont Institute, 6(1),1994.
7. H. Hoyer. The OMNI wheelchair. Service Robot: An International Jour-
nal, 1(1):26-29, MCB University Press Limited, Bradford, England, 1995.
8. M. West and H. Asada. A method for designing ball wheels for omni-
directional vehicles. 1995 ASME Design Engineering Technical Confer-
ences, DAC-29, pp. 1931-1938, Seattle, WA 1995.
9. F.G. Pin and S.M. Killough. A new family of omni-directional and holo-
nomic wheeled platforms for mobile robots. IEEE Transactions on Ro-
botics and Automation, 10(4):480-489, 1994.
33
Design and Control of a Heating-Pipe Duct
Inspection Mobile Robot∗
33.1 Introduction
During operation of the heating net, there may appear leakages and fail-
ures in places which are hard to access. Repair of underground heating-
pipe ducts requires using heavy equipment as well as temporarily re-
moving neighboring infrastructure elements which are obstacles. This
implies high costs of penetrating the failure place, so it is advisable to
minimize the risk of erroneous choice of the intervention place. Local-
ization of the failure place is difficult due to its inaccessibility or lack
of information or proper tools. So, very expensive is the wrong choice
of the exploration place, when failure localization is uncertain. There
exist acoustic monitoring devices for rough detection of leakage, from
the ground level over the damage, sensitive to the noise of outgoing
steam or warm water. Nevertheless, essential is the possibility of esti-
mation of the leakage with one’s eyes. Therefore, construction of a tool
which could reach places inaccessible even for a well equipped operator
is very important. This situation is due to atmospheric conditions and
dimension of places which should be reached.
Descriptions of several in-pipe inspection robots can be found in
literature (e.g. [1, 2, 3]). However, the designed platform is intended
for inspection of ducts containing heating pipes, so the inspection of
the pipes will be carried out from the outside. There are documented
several solutions of duct inspection systems, e.g. [4, 5].
The main task of the designed mobile robot is support in inspection
tasks and estimation of the failure level. This implies two basic features
of the designed system:
∗
This work was supported by the Ministry of Science and Higher Education re-
search grant no. 3 T11A 026 27.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 361–370, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
362 P. Dutkiewicz et al.
The hubs of the front wheel are movable relative to the suspension arms,
forming so-called steering knuckles. Rotation of the steering knuckle is
possible around the axis perpendicular to the ground, but is limited by
the range of the turn angle. Displacements of the steering knuckles are
parallel thanks to steering rods connected to them via ball-and-socket
joints. At the other side, the steering rods are joined to the servo per-
forming the turn. Thanks to this, the turn of the vehicle may be accom-
plished in a classical way – it is Ackerman turn system. The vehicle may
be qualified as a class (δm , δs ) = (2, 2) nonholonomic system, where δm
is the degree of mobility and δs is the degree of steerability of the robot
[7].
RS232 RS232
Mic In Line In
On-board PC
Wi-Fi USB Camera 2
Controller
Analog radio Illumination
Power manag.
Drive control
Camera 1
Robot
Power
supply { Servomechanism
Encoder 1
Radio Radio Encoder 2
module 1 module 2
Motor 1 Motor 2
Fig. 33.4. Housing of the RK-13 inspection robot; localization of the control
module is indicated
Motor 1
} Outside
lighting
LED
current Imax = 300 mA) adjusted from a D/A 8-bit, 4-channel con-
verter cooperating with the I2 C bus; this enables precise changes of
the illumination intensity;
• independent supply circuit – four relays with fuses are selected indi-
vidually for each circuit; each one turns on the supply for a separate
device (i.e. PC server, cameras, transmitters, measurement devices)
through an ’I2 C/Parallel’ circuit, which converts signals from the
I2 C bus to parallel.
33.6 Conclusion
The paper presents the design and practical implementation of control
for the specialized mobile robot. The suspension and steering system
has been designed to accomplish movements in the area of heating-pipe
duct housings, where human access is difficult or even impossible due to
duct dimensions or atmospheric conditions. The robot is intended for
teleoperating inspection tasks in areas difficult to access. The working
range of the wireless link between the robot and the host computer is
up to 500 m. So far, the inspection robot has been tested in simulated
conditions, on the ground level.
References
1. Moraleda J, Ollero A, Orte M (1999) A robotic system for internal in-
spection of water pipelines. IEEE Robotics & Automation Magazine, vol.
6, no. 3, 1999, pp. 30-41
2. Roh SG, Choi HR (2002) Strategy for navigation inside pipelines with
differential-drive inpipe robot. In: Proc. of the IEEE Conf. on Robotics
and Automation, vol. 3, Washington, pp. 2575-2580
3. Hirose S, Ohno H, Mitsui T, Suyama K (1999) Design of in-pipe inspection
vehicles for φ25, φ50, φ150 pipes. Proc. of the IEEE Conf. on Robotics
and Automation, vol. 3, Detroit, MI, pp. 2309-2314
4. Lee CW, Paoluccio Jr J (2004) A probe system for cave exploration and
pipe/duct system inspection. Int. Journal of Technology Transfer and
Commercialisation, vol. 3, no.2, pp. 216-225.
5. Koh K, Choi HJ, Kim JS, Ko KW, Cho HS (2001) Sensor-based naviga-
tion of air duct inspection mobile robots. Proc. SPIE. Optomechatronic
Systems, HS Cho, GK Knopf (Eds.), vol. 4190, pp. 202-211.
6. Technical documentation of the vehicle R/C Twin Detonator. (2003)
Tamiya Inc. 3-7, Japan
7. Canudas de Wit C, Siciliano B, Bastin G (Eds.) (1996) Theory of robot
control. Springer, Berlin Heidelberg New York
34
Measurement and Navigation System of
the Inspection Robot RK-13∗
34.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 371–380, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
372 P. Dutkiewicz et al.
i.e. at the operator’s computer. The WiFi device connected to this com-
puter works in AP (Access Point) mode. To assure the largest possible
separation from the independent video signal of the transmitter work-
ing in channel 1 of the 2.4 GHz frequency band, channel 12 of the same
band has been chosen for communication.
Monitoring the environment and analysis of its parameters are the basic
tasks of the designed inspection robot. Therefore, besides recording and
analysis of video images, also measurement of physical parameters of
the environment is a key function of the robot. At the place of a possible
failure, i.e. leakage from a heating pipeline, local changes of physical
parameters of the air (increase of temperature, pressure, and humidity)
are expected. Thus, leakage of overheated steam and appearance of fog
are accompanied by acoustic effects which may be additional source of
information for improving failure localization efficiency.
In the measurement system of the robot, a so-called external sen-
soric subsystem has been assigned to such tasks. Another system is
responsible for measurement of the robot state (i.e. electric charge re-
ceived from the battery, velocity of driven wheels, etc.) and delivers
data for control and diagnosis systems.
In the paper, the external sensoric subsystem for exploring the en-
vironment is described. It is shown in Fig. 34.2 and consists of:
• a pyrometer with a measurement transducer,
• a system for pressure, humidity, and temperature measurements,
• a set of microphones with preamplifiers.
This equipment is managed by the on-board computer of the robot with
the use of two transmission channels based on the RS232C interface.
374 P. Dutkiewicz et al.
Fig. 34.2. Block diagram of the measurement system for environment mon-
itoring
diodes (LEDs). There are four LEDs, two in the front and two in the
rear of the platform (see Fig. 34.4). Each diode is of 1 W power and
30 lm maximum brightness. The beaconing angle of each diode is 140◦ .
This illumination assures visibility range of ca. 2 m, depending on the
surrounding conditions. To spare the limited resources of energy of the
robot battery, each LED can be turned on individually and beaconing
intensity can be changed.
The robot vision system is mainly intended for inspection and re-
mote navigation performed by the operator. Additionally, this system
may be used for automatic localization of the platform in the heating-
pipe duct. This duct is built of concrete profiles and slabs. Given the
heating net map, the plan of the duct, and the width of concrete slabs,
it is possible to determine the position of the robot in the duct by
counting the number of passed slab connections. The precision of this
method is limited by the width of one slab. The connections of the
slabs are visible on an image as vertical or horizontal limits between
relatively homogeneous areas. Since different elements of various shapes
can be found at the bottom of the duct, it has been decided that only
vertical slab connections are to be detected and counted. The other
reason is the fact that the robot can move in the duct only on the left
or right side, where vertical connections are visible better.
used. Next, the processed image is converted from the space domain to
the frequency domain using a two-dimensional fast Fourier transform
(FFT). In the obtained spectrum, only coefficients related to steady-
state components and higher-frequency coefficients responsible for ver-
tical changes in the image are left unchanged. The higher-frequency
coefficients responsible for horizontal changes in the image are set to
zero. It is done with a logical mask of the size of the spectrum coefficient
matrix (image matrix), where elements equal to logical 1 form a rec-
tangular window; the elements outside this window are equal to logical
0. Selecting the proper size and orientation of such window leads to the
desirable directional filtration effect. This filtration eliminates distur-
bances leaving only distinct vertical or almost vertical edges. Then the
trimmed image spectrum is transformed back to the space domain us-
ing a two-dimensional inverse fast Fourier transform (IFFT). An exam-
ple image before the filtration (left) and after the directional filtration
(right) is presented in Fig. 34.5.
Fig. 34.5. Image before filtration (left) and after directional filtration (right)
In the next step, edges are detected in the space domain using the
Canny detector [9] on the image obtained as the result of the filtration.
During this, when selecting the proper values of the filter thresholds,
only the points belonging to sufficiently strong edges remain on the
binary image (see Fig. 34.6, left). As the filtration is carried in the
frequency domain, artifacts may appear near the margins of the image
after transformation to the space domain. They cause detection of non-
existing edges. To avoid this, edge points close to the image margins
are omitted in further analysis.
To determine straight line sections, which may represent the slab
connections, the Hough transform [8] is calculated for the binary image.
After determining the maximum values of the coefficient matrix, used
34 Measurement and Navigation System of the Inspection Robot 379
Fig. 34.6. Detected edges (left) and vertical connection lines on the processed
image
34.4 Conclusions
References
1. Dutkiewicz P, Kielczewski M, Kowalski M (2004) Visual tracking of sur-
gical tools for laparoscopic surgery. In: Proc. of the 4th Int. Workshop
on Robot Motion and Control, pp. 23-28
2. Dutkiewicz P, Kozlowski K, Wróblewski W (2004) Inspection robot Safari
– construction and control. Bulletin of the Polish Academy of Sciences.
Technical Sciences, vol. 52, no. 2, pp. 129-139
3. Dutkiewicz P, Kowalski M, Krysiak B, Majchrzak J, Michalski M,
Wróblewski W (2007) Design and control of a heating-pipe duct in-
spection mobile robot. In: Kozlowski K (ed) Robot motion and control.
Springer, Berlin Heidelberg New York, pp. 361-370
4. Dutkiewicz P (2006) Complex control systems: example applications. In:
Kozlowski K (ed) Robot motion and control. Springer, Berlin Heidelberg
New York, pp. 335-350
5. html page http://www.raytek-europe.com
6. html page http://www.freescale.com
7. html page http://www.sensirion.com
8. Duda RO, Hart PE (1972) Use of the Hough transformation to detect
lines and curves in pictures. Comm. ACM, vol. 15, no. 1, pp. 1115
9. Canny J (1986) A computational approach to edge detection. IEEE
Trans. on Pattern Analysis and Machine Intelligence, vol. 8, no. 6
35
Architecture of Multi-segmented Inspection
Robot KAIRO-II
35.1 Introduction
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 381–390, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
382 C. Birkenhofer et al.
35.2 System
The inspection robot Kairo-II is a mobile hyper-redundant robot. Ac-
cording to serial kinematics both head- and tail-segment of Kairo-II can
be interpreted as end-effectors of an open kinematic chain, depending
on the driving direction, with the head and tail segments as the robot
base, respectively.
35 Architecture of Multi-segmented Inspection Robot KAIRO-II 383
35.2.1 Robot
Component Characteristics
DSP: 80 MHz DSP56F803 (Freescale)
FPGA: EPF10k30A (Altera)
Memory: 4k Bootflash, RAM, Flash, external RAM
Configuration device: EPC2-ROM
Peripherals: CAN, SCI, JTAG, SPI
Motor control: 6 PWM-Channels
Power: Three 24 V motors up to 5 A each
Current sensing: Differential current sensing for each motor channel
AD converter: 2 * 4 Channels 12 bit AD-Converter
Encoder: 6 quadraturecoded signals or up to 24 General pur-
pose IOs
Programming: Programmable via JTAG or via CAN-Bus
for the robot’s driving direction as well as values for the movement
of the inspection module within the kinematic chain.
Hybrid Impedance Control: In a pre-process all incoming data of the
robot (position and contact force) have to be decoupled using the
operational space formulation [10]. We therefore estimate the ro-
bot’s pose, calculate expected dynamic conditions and compare
them with the real sensor values.
Now we are able to integrate two control schemes into the robot.
First, the impedance control loop handles contact scenarios detected
by the sensor systems (see: Section 35.2.4). In tuning the desired
Cartesian mass and damping parameters the robot’s dynamics can
be set. Second, the position/force control maps the robot to the
desired trajectory. As a result we get Cartesian accelerations that
we feed into the redundancy resolution module.
Redundancy Resolution: As Kairo-II is a redundant robot, various cri-
teria have to be used to match incoming desired accelerations in
Cartesian space and (real) joint positions to outgoing desired joint
accelerations in a perfect way.
A quality function maximizes its value taking two criteria into ac-
count. Firstly, any movement will be executed with minimal overall
joint movement. Secondly, joint positions are preferred that enable
the robot to react fast on any desired movement. This is realized by
positioning certain joints in a position that is located in the center
of the workspace.
35.2.4 Sensors
When installing a sensor system for force feedback, major effort has to
be put into the sensor’s positioning within the robot. The arising forces
should result in maximum change of sensor values. Their dimension
should be adequate for the control loop.
Therefore three sensor applications have been identified that fulfil
these requirements. They provide information on the arising forces and
moments along the coordinate system of the dynamic model or can
be at least transformed easily into those systems (see: Fig. 35.2). The
proposed systems measure forces and moments along the following axes:
35 Architecture of Multi-segmented Inspection Robot KAIRO-II 387
UCoM: The controller module has been integrated and tested not only
in the predecessor robot MAKROplus but in several other applica-
tions (i.e. humanoid robot Armar). Several extension modules have
been developed to integrate strain-gauge sensor values into the con-
trol loop.
Impedance Control: The impedance control loop has been identified
and tested as adequate control loop. The crucial blocks have been
identified and implemented in a basic configuration. Aspects like
redundancy resolution and parameter tuning will follow.
Dynamic Modelling: A dynamic model of Kairo-II has been developed
and implemented in the software work flow. A simplified dynamic
model reduces the number of parameters enormously [6]. This sim-
plified model will be used in this project as the accuracy meets
demands.
Sensors: Three sensor systems have been identified. They have been
implemented and tested as prototype application. See [4, 6] for an
analysis of those systems.
388 C. Birkenhofer et al.
35.4 Conclusion
In this paper the key components have been presented that enable the
robot Kairo-II to operate safely in inspection scenarios. Its mechanical
structure allows the robot not only to navigate to an area of interest,
but also to move simultaneously the sensor modules along a predefined
trajectory. In using hybrid impedance control schemes, the mechanical
redundancy of Kairo-II can be used actively to fulfil general user-
defined inspection goals. Future work will be done in the field of the
robot’s redundancy resolution to solve singularity problems.
References
1. T. Asfour, D. N. Ly, K. Regenstein, and R. Dillmann. Coordinated task
execution for humanoid robots. In The 9th Int. Symposium of ISER, June
2004.
2. T. Asfour, K. Regenstein, P. Azad, J. Schroeder, A. Bierbaum,
N. Vahrenkamp, and R. Dillmann. Armar-iii: An integrated humanoid
platform for sensory-motor control. In Humanoids06, 2006.
3. K. Berns and P. Prchal. Forschungsvorhaben MAKRO – Aufgaben, De-
sign und Realisierung einer mehrsegmentigen, autonomen Kanalroboter-
plattform. In ATV-Bundestagung, 2000 (in German).
4. C. Birkenhofer, M. Hoffmeister, J.-M. Zöllner, and R. Dillmann. Com-
pliant motion of a multi-segmented inspection robot. In Int. Conf. on
Intelligent Robots and Systems, Edmonton, August 2005.
5. C. Birkenhofer, K.-U. Scholl, J.-M. Zöllner, and R. Dillmann. A new mod-
ular concept for a multi-joint, autonomous inspection robot. In Intelligent
Autonomous Systems Conf. IAS-8, Amsterdam, 2004.
6. C. Birkenhofer, S. Studer, J.-M. Zöllner, and R. Dillmann. Hybrid im-
pedance control for multi-segmented inspection robot kairo-ii. In Int.
Conf. on Informatics in Control, Automation and Robotics (ICINCO
2006), Setubal (Portugal), 2006.
7. J. Borenstein, G. Granosik, and M. Hansen. The omnitread serpentine
robot - design and field performance. In Proc. of the SPIE Defense and
Security Conference, Unmanned Ground Vehicle Technology VII, 2005.
8. G. Granosik and J. Borenstein. Minimizing air consumption of pneumatic
actuators in mobile robots. In Int. Conf. on Robotics and Automation,
2004.
9. N. Hogan. Impedance control: An approach to manipulation, parts i - iii.
ASME J. Dynam. Syst., Meas., Contr., 107:1–24, 1985.
10. O. Khatib. A unified approach to motion and force control of robot ma-
nipulators: The operational space formulation. IEEE Journal on Robotics
and Automation, 3(1):43–53, February 1987.
35 Architecture of Multi-segmented Inspection Robot KAIRO-II 389
36.1 Introduction
One of the basic problems connected with wheeled mobile robots is the choice
of the appropriate navigational method. This refers to individual robots and
’
also, in particular, to groups of mobile robots. Navigation’ can be defined
as an issue connected with systems control, defining their position and ori-
entation as well as choosing appropriate trajectory. The consisting elements
of mobile robots navigation are: self-localization, path planning, and creating
a map of the explored area. Each of the above enumerated elements is inde-
pendent, however, the realization of the target navigation task of the mobile
robot or the group of mobile robots depends on the correct construction of
the particular elements.
In this paper we present a wheeled mobile robot project capable of cooper-
ating in a group. We decided to build three robots capable of communicating
and sending data in the process of navigation. Those robots can be used in
indoor localization. In those mechatronic systems we have several problems
to solve. The first problem is connected with communication between the ro-
bots; finding robots’ position by themselves is also an essential problem. In
our project we assumed that the group of robots has to be able to cooperate
in different tasks.
Navigation is a very complex problem especially for a group of robots. This
problem is connected with self-localization, path planning, and map creation.
This paper presents a wavefront path planning algorithm for mobile robots.
In the process of mechatronic design, three identical mobile robots have been
manufactured.
∗
This work is supported by the Polish State Committee for Scientific Research
under contract 4 T12C 046 29.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 391–400, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
392 T. Buratowski, T. Uhl, and G. Chmaj
We assume that there is no skid between the wheels and the ground [2]. The
basic elements of the model are: the wheel unit, the drives of the wheels, the
self-adjusting supporting wheel, and the frame of the unit with all electronics.
When describing motion phenomena for a system such as a mobile 2-wheeled
robot, it is beneficial to attach the coordinate system to the particular robot’s
elements. This mechatronic system has 2 DOF (degree of freedom). It means
that our position should be represented by coordinates x, y and orientation is
represented by angle Θ. In Fig. 36.1 the mode of calculation focused on the
system of kinematics description [1, 2, 3] is presented. The system coordinates
are attached to the robot basic element. The system coordinate frame x0 y0 z0
is motionless and based. If our kinematics model is defined in this way, it is
possible to describe the position and the orientation of any point on our robot.
Fig. 36.1. The mode of calculation connected with system kinematics de-
scription
F S = W − (∪Ci ) , (36.2)
Fig. 36.2. The graphical presentation of metrics connected with robot motion
scheme
In this project the L2 metric is assumed. This mode of motion is the most
efficient and will be used in the process of path planning. According to scheme
of motion assumption in Fig. 36.3 robot movement has been presented.
controller still controls voltage level and sends the robot to the docking station.
The Motion Unit is connected with mechanical construction and it is mobile
platform equipped with wheels, two driven and one self-adjusted, and drives
Maxon A-max 32 with planetary gear GP 32 A and optic encoders HEDS5540.
The Control Unit is the most complex. In this unit there are infrared,
sonar, and optic sensors controlled by a sensors subunit. All those sensors are
connected with the robot environment. For sensor work the robot controller is
based on ATMega128. Additionally, the robot is equipped with an embedded
computer PCM3370, which is responsible for data acquisition and managing
36 Project of Autonomous Robot Capable to Cooperate in Group 395
control, because this mechatronic device should cooperate in group with each
robot’s wireless communication device based on the Bluetooth technology.
In this project a hierarchical control system for a particular robot has
been assumed. The basic description connected with this kind of control is
presented in Fig. 36.5.
The managing control is the highest control level. It includes special al-
gorithms and artificial intelligence elements based on swarm behavior. Those
algorithms allow to compute sensor information and recognize situation in the
robot environment. This means that the received information is interpreted
and appropriate action is taken.
Another control level is called strategic and is responsible for dividing
global tasks into a series of basic tasks. At this level path planning is cal-
culated in Cartesian coordinates. In this project we decided to create simple
robot language based on basic assumptions connected with path planning.
For example if our robot should go straight 1 meter, the command connected
with robot motion is !NN100/r. On the tactical level of the hierarchical control
system robot position is mapping from Cartesian to joint coordinates. At this
396 T. Buratowski, T. Uhl, and G. Chmaj
(a) (b)
Fig. 36.6. The laboratory environment and the wavefront algorithm for this
area
(a) (b)
(c) (d)
level the control system is using sensor information (encoders) to estimate ap-
propriate position. The main task of the control system on executive control
is to drive control in order to execute tasks planned on strategic and tacti-
36 Project of Autonomous Robot Capable to Cooperate in Group 397
cal levels. In this project for managing, strategic control, and robot language
the embedded computer is responsible. Specially designed robot controller is
responsible for tactical and executive control. In our project each robot from
the group of three is an agent. An agent [5, 6, 7] is an animate entity that
is capable of doing something on purpose. In the presented group of robots
each agent is equipped with Oracle XE database installed in the embedded
computer. One of the basic needs in robotics is to have algorithms that can be
able to convert high level specifications of tasks from humans into low-level
descriptions of how to move. In our project a wavefront algorithm has been
applied. The wavefront algorithm involves a breadth first search of the graph
beginning at the destination point until it reaches the start point. In Fig. 6(a),
an exemplary robot environment is presented and will be used in a laboratory
test rig. Figure 6(b) presents a solution, the shortest path between the start
point and the stop point.
This is just one of the many paths that can be used to reach the goal, but
it is the shortest. This means the planner should check all solutions and find
minimum time consuming trajectory.
(a) (b)
(c) (d)
Fig. 36.8. The test rig in laboratory connected with the group of robots
398 T. Buratowski, T. Uhl, and G. Chmaj
After test rig made in a specially prepared laboratory we see that the
result is acceptable. This means that the one robot moved to the target point
and the error was not greater than 1 cm. The exemplary, significant trajectory
points are presented in Fig. 36.7.
After the test rig based on one robot we began working with a group of
robots. The examplary test rig with the group of 3 robots is presented in Fig.
36.8. In this test the robots are responsible for environment division and its
exploration in the shortest time. Additional robots communicate and send
data connected with the environment.
36.3 Conclusions
The project is still developing. To sum up, the robots gather information
by means of sensors and pass them to the database. In the database this
information is classified by means of SQL procedures. Then the data is passed
onto the particular robots. So the collaboration rule consists in the collective
view of the environment by which the robots are surrounded. Currently work
is carried out to find the best algorithm which will divide the area of search
in order to find a target.
References
1. T. Buratowski, T. Uhl. The project and construction of group of wheeled
mobile robots. Measurements Automation Control, Warsaw, no. 5, 2006
(in Polish).
2. T. Buratowski, T. Uhl. The fuzzy logic application in rapid prototyping
of mechatronic systems. In: Proc. of the 4th International Workshop on
Robot Motion and Control ROMOCO’04, Poznań, Poland, 2004.
˙
3. T. Buratowski, T. Uhl, W. Zylski. The comparison of parallel and serial-
parallel structures of mobile robot Pioneer 2DX state emulator. In: Proc,
of the 7th Symposium on Robot Control SYROCO’03, Wroclaw, Poland,
2003.
4. J.J. Leonard, H.F. Durrant-Whyte. Directed sonar sensing for mobile
robot navigation. Kluwer Academic Pub, 1992.
5. M. Konishi, T. Nishi, K. Nakano, K. Sotobayashi. Evolutionary routing
method for multi mobile robots in transportation. In: Proc. of the IEEE
International Symposium on Intelligent Control, 2002.
6. H.A. Abbass, H. Xuan, R.I. McKay. A new method to compose com-
puter programs using colonies of ants. In: Proc. of the IEEE Congress on
Evolutionary Computation, 2002.
36 Project of Autonomous Robot Capable to Cooperate in Group 399
37.1 Introduction
Service robots, unlike their industrial counterparts, operate in unstructured
environments and in close cooperation with human beings [3]. Thus, service
robots must rely heavily on sensing and reasoning, while industrial robots rely
mainly on precision of movement in a well-known and structured environment.
As the service robot will function in a human environment, it must be well
adjusted to such surroundings, hence, it must be two-handed, capable of self-
propulsion, possess a sense of sight, touch, and hearing. It should be capable
of reacting to unexpected situations quickly, but also should be able to reason
logically and formulate plans of actions leading to the execution of the task
at hand. The main research problem is control of this type of equipment
and integration of its numerous and diverse subsystems. The hard real-time
aspect of such systems aggravates the problem. One of the problems, that is
of paramount importance, is the design of the end-effector of a service robot,
especially the exteroceptors it should be equipped with, and how they affect
the motions of the arm – this is at the focus of the presented paper. One of
the most interesting problems is the fusion of visual and force/tactile data for
dexterous manipulation tasks [7, 11]. Visual information plays an important
role at different levels of complexity: from image segmentation to object pose
estimation [5]. In object manipulation, vision can be used in each phase of the
detect-approach-grasp loop [10]. The use of sensorial information is the most
effective way of reducing uncertainty and improving robustness.
It is clear that one universal gripper for all tasks is not feasible – even
a human hand, which is very dextrous, cannot handle too large or awkward
objects. Our research on control of service robots required a moderately com-
plicated benchmark task. We chose the Rubik’s cube puzzle. It requires [9]:
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 401–414, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
402 C. Zieliński et al.
SEMAPHORE
PULSE
MP MESSAGE
UI_
UI INTERRUPT
COMM
SHARED
MEMORY
UI_SRP
UI_
MASTER (receives messages
VSPk
from other processes)
ECPj
VSP_ VSP_
MASTER CREAD
Force/torque
Manipulator motors Sensors
transducer
Fig. 37.1. The structure of a MRROC++ based robot control system (subscript j
represents the jth end effector and thus the jth ECP/EDP pair, j = 1, . . . , ne ;
k represents the kth virtual sensor and thus the kth VSP, k = 0, . . . , nv )
EDP_
version 1 EDP_TRANS (k )
MASTER G
Pc DKin
Manipulator
G
P( k ) d (k ) -
IKin
R
generation
Macrostep
version 2 G +
Reply P( k !1)
Dl PC
L
rp L
StGen rp ( k ) (k )
C Ci M( k ) motor
Interpret SL L
Fe ( k ) control
Fd L
rF ( k ) + L
r( k )
F/T Sensor
F/T CL RT EDP_SERVO
+ - +
L
Fc ( k ) EDP_FORCE F/T conv F( k )
Macrostep Step
In each step the force/torque error vector L Fe(k) is the difference between
the desired force/torque vector L Fd (defined by the force/torque argument)
and the measured force/torque vector L Fc(k) :
L
Fe(k) = L Fd − L Fc(k) . (37.2)
G
P(k) = G P(k−1) M(k) . (37.5)
The new motor position vector θd(k) is the solution of the inverse kinematic
problem for G P(k) . The vector θd(k) is a part of the command sent to the motor
37 End-Effector Sensors’ Role in Service Robots 407
20
2
Strain
gauges
Video camera
Force/torque with back-lighting
sensor Rubik’s
cube
Gripper jaws
F/T sensor alignment sensors
shield
The hardware of the controller (Fig. 37.4) of each robot consists of a PC type
host computer and as many joint controllers as there are degrees of freedom of
the robot. Each joint controller uses either a position encoder or a resolver as
a proprioceptor measuring the joint (motor shaft) position. It also produces a
PWM signal for the power amplifier driving the DC motor. Moreover, it mon-
itors the limit and synchronization switches as well as the current flowing in
the motor. The motor driving the motion of the gripper jaws is driven exactly
in the same way as the motors actuating the manipulator joints. All gripper
sensors, except the motor encoders, are treated as exteroceptors, thus they
are the source of data for the VSPs. Each jaw contains four resistance strain
gauges and either a LED or a phototransistor. Those sensors are served by
a single-chip T89C51AT2 microcomputer mounted in the gripper (Fig. 37.5).
It contains an 8-channel 10-bit A/D converter. A resistance voltage divider
is used to measure the force. The microcomputer also controls the in-hand
camera back-lighting – 16 levels of light intensity can be produced by white
light LEDs located around the lens of the camera. The host computer and the
microcomputer are connected by an RS-232 serial interface. When an object
37 End-Effector Sensors’ Role in Service Robots 409
; ;
;
;
;
;;;; ;;;; ;;;
;;
;
;%&
$
;;
;
!"
;#
;
;
;;
;
;%&
; $
;
;
the jaws. The automaton is implemented within the EDP SERVO thread –
namely the part dealing with servo-control of the gripper motor.
37.6 Experiments
In the experiments the forces and torques measured by the force/torque sensor
mounted in the wrist of the robot initially holding the cube were monitored.
Figure 37.6 presents the following phases of task realization.
3
[Nm] D
2.5
1.5 E
G
F
torque
0.5
A
0
H
-0.5
C
-1 B
-1.5
4.64 4.65 4.66 4.67 4.68 4.69 4.7 4.71
5
step x 10
Fig. 37.6. Torque around axis of rotation of the face of the cube (step =
2ms)
Initially the robots operate separately (until point A in the plots). Once
the grasping operation starts the torque mounts. The cube holding robot is
immobile and position controlled while the other robot is compliant in the
plane of the cube face that is to be rotated (all other directions of translation
and rotation are position controlled). Once the cube is grasped securely the
torque stabilizes (point B). The rapid change in the torque appears when
the rotation of the cube face is initiated (point C). Now the grasping robot
becomes immobile and position controlled while the robot initially holding
the cube is position controlled in two rotational directions, all three trans-
lational directions are compliant, while the direction of the face rotation is
torque controlled. This torque is set to 5 Nm, however the highest measured
value is 3 Nm. Initially the rotated face was jammed – this can be seen from
the plot: initially the torque mounts (until point D), then it suddenly drops
and becomes relatively constant (here mainly viscous friction is the cause) –
until point G. At point E the friction mounted quite quickly, however the mo-
tion was sustained and then gradually the friction dropped (until point F ).
Then again the friction increased. This proves that the production process
37 End-Effector Sensors’ Role in Service Robots 411
of the cube is far from perfect (perhaps this could be used in cube quality
control). Between points G and H the gripper is being opened (both arms are
immobile). The closed kinematic chain is being disjoined.
37.7 Conclusions
The integration of the gripper equipped with diverse sensors into a MRROC++
based controller proved fairly straight-forward once it was decided which sen-
sors will be treated as proprioceptors and which as exteroceptors. The mea-
surements obtained from the former (e.g., motor encoders) are utilised within
the EDP, thus reducing the length of the feedback loop from sensing to action.
This reduction increases the servo-sampling rate, in consequence increasing
the gain of the controller and reducing the problems with its stability. The
remaining gripper sensors are treated as exteroceptors, thus their measure-
ments are aggregated in the VSPs. This produces a longer loop, composed of
the VSP, ECP (or even MP combined with ECP) and EDP. The information
aggregated by the VSP is used by the MP or the ECP to generate the de-
sired motion. In this case the reactions are slower – usually this loop takes
several sampling periods (a macrostep) to execute. However, it works in con-
junction with the much faster loop using the proprioceptors. In fact, this can
be treated as a supplementary distinguishing factor in the case where there is
doubt whether a particular sensor should be treated as a proprioceptor or an
exteroceptor. Usually complex sensors or conglomerates of simpler sensors, re-
quiring elaborate computations leading to data aggregation, should be treated
as exteroceptors, and thus a VSP has to be allotted to them. Proprioceptors
must deliver data in a much simpler form. Moreover, their readings must be
utilised as quickly as possible.
In animals (e.g. insects or vertebrates) proprioceptors deliver information
to the gait pattern generators which are located in the spinal cord. As long
as the sequence of the stimuli from the proprioceptors located in the limbs
does not vary considerably the gait pattern does not change [13, 12]. Only
if exteroceptors detect conditions requiring the change of this pattern the
generators are retuned by the brain. In this case we have a very good biological
example of the here postulated division of sensor roles and the length and
complexity of the feedback loops associated with both kinds of receptors.
Those observations are important from the point of view of the control
system structure. We have followed those hints when associating the sensors
mounted in the end-effector with the MRROC++ processes constituting a fairly
complex controller of a dual-robot system capable of solving a Rubik’s cube
puzzle handed over to it by a human [9].
412 C. Zieliński et al.
References
38.1 Introduction
Multi-target surveillance by a team of mobile robots as one of the more ac-
tive and novel research areas in robotics has received particular attention in
recent years. Its core problems are at an interesting cross-section between
path-planning, map building, machine learning, cooperative, behavioral, and
distributed robotics, sensor placement, and image analysis. We are currently
investigating the problem of detecting intruders in large and complicated en-
vironments with multiple robots equipped with limited range sensors. The
problem is closely related to pursuit-evasion and cooperative multi-robot ob-
servation of multiple moving targets, short CMOMMT, which we are going
to discuss shortly in Section 38.2. The main contribution of this paper is to
present a starting point for an approach for a team of robots with limited
range sensors. We divided the initial problem into two sub-problems: 1) to
partition the environment into a graph representation and 2) to clear the
graph from all possible intruders with as few robots as possible.
For the remainder of this paper we are going to focus on the latter problem.
Interestingly, the division has the effect that we can present an algorithm
to compute a clearing strategy on the graph without considering the robots’
capabilities directly. Hence with some further work the algorithm is extendable
to teams of heterogeneous robots. The clearing strategy consists of paths for
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 417–426, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
418 A. Kolling and S. Carpin
the robots on the vertices and edges of the graph. When executed it ensures
that any arbitrarily fast moving target present in the environment will be
detected. To find a clearing strategy we need to solve a graph theoretical
problem which we dub weighted graph clearing, introduced in Section 38.3.1.
In Section 38.3 we provide a solution for the problem with a proven upper
bound followed by some experiments in Section 38.4. Finally, our results and
an outlook on the first sub-problem are discussed in Section 38.5.
To prepare the grounds for the algorithm we will define our notions of envi-
ronment, regions, adjacency, and contamination. An environment, denoted by
S, is a bounded multiply connected closed subset of R2 . A region is a simply
connected subset of S. Let r1 and r2 be two regions and let r̄1 and r̄2 denote
their closures. If r̄1 ∩ r̄2 6= ∅, then we say that r1 is adjacent to r2 and vice
versa. Let S g = {r1 , . . . , rl } be a partition of S with l regions. Let Ari be the
set of all adjacent regions to ri . Define a binary function for each region ri
on its adjacent regions and across time: bri : Ari × R → {0, 1}. Let rj ∈ Ari .
If bri (rj , t) = 1, we shall say that the adjacent region rj is blocked w.r.t. ri
at time t. Define another binary function c : S g × R → {0, 1}. If c(r, t) = 1,
then we shall call region r contaminated at time t, otherwise clear. Let Acri
be the set of all contaminated adjacent regions to ri . Let c have the following
property:
Now, if c(r, tc ) = 0 and ∃ǫ > 0 s.t. ∀t ∈ (tc , tc + ǫ], c(r, t) = 1, then we say
that r is re-contaminated after time tc .
These definitions give us a very practical notation for making statements
about the state of regions. In particular, it follows that a region becomes re-
contaminated when it has a contaminated adjacent region that is not blocked.
We are now going to define two procedures, called behaviors, which set the
functions c and b, i.e. enable us to clear and block.
Furthermore, let us denote a sweep as safe if and only if during the execution
of the sweep we have b |Acr = 1. It follows that after a safe sweep a region
i
remains clear until a block to a contaminated region is released.
All the previous can be understood as the glue that connects the two sub-
problems, partitioning and finding the clearing strategy. Partitioning returns
the graph representation of the environment into which one can encode the
1
Therefore we assume that when a robot detects and intruder, the intruder is
neutralized and cannot operate anymore.
420 A. Kolling and S. Carpin
number of robots needed for the behaviors on the edges, the blocks, and the
vertices, the sweeps, by adding a weight to them. The values of the weigths
are specific to the robots’ capabilities and methods used for sweeping and
blocking. Depending on the partitioning, very simple methods can be used.
We assume a homogeneous robot team from here on, which makes the inter-
pretation of these weights easier and the notation for the following simpler to
follow. We now define the main problem that we are going to investigate, i.e.
weighted graph clearing. The task is to find a sequence of blocks and sweeps
on the edges and vertices of an entirely contaminated graph such that the
graph becomes cleared, i.e. not contaminated, with the least number of ro-
bots. This sequence of blocks and sweeps will be our clearing strategy to detect
all intruders.
We are given a graph with weighted edges and vertices, denoting costs for
blocks and sweeps. The goal is to find a sequence of behaviors to clear the
graph using the least number of robots. As the first step we attempt to reduce
the complexity of the problem by reducing the graph to a tree by removing
occurring cycles. Cycles can be eliminated by executing a permanent block
on one edge for each cycle. The choice of such edge will influence the tree
structure and hence our final strategy. This is a topic that requires further
investigation, as discussed in Section 38.5. Recall the partition S g in form of
a planar graph. Let the weights on the edges and vertices be denoted by w(ei )
on edges and w(ri ) on vertices and all be non-zero. The weight of a vertex
is the number of robots needed to complete a sweep in the associated region,
while the weight of an edge is the number of robots required to block it. To
transform S g into a tree we compute the minimum-spanning-tree (MST) with
the inverse of the w-weight of the edges. Let B be the set of all removed edges
g
to get the MST. The
P costs of blocking all edges in B and transforming S into
a tree is b(B) = ei ∈B w(ei ) and as such the minimum possible. From now
on this cost is constant and will henceforth be ignored.
its sub-regions into the respective direction. Once we have the p-weight we
still have to choose at each vertex which edges to visit first. Let us define the
order by p(ej ) − w(ej ) with the highest value first.
The following algorithm computes the p-weight and implicitly selects a
vertex as the root, which is the starting point for the clearing. For each region
r, let Edges = {en1 , . . . , enm(r) } denote the set of edges.
1. For all edges ej that are edges to a leaf ri set p(ej ) = w(ej ) + w(ri ).
2. For all vertices ri that have its p-weight assigned for all but one edge,
denoted by en1 , do the following:
a) Sort all m − 1 assigned edges w.r.t to p(ej ) − w(ej ) with the highest
value first. Let the order be en2 , . . . , P
enm .
b) Determine h := max2≤k≤m (p(eni ) + 1<l<k w(enl )).
c) For the unassigned edge en1 of ri set p(en1 ) = max(s(ri ), h).
3. Repeat from step 2 until all edges have p assigned.
The root selected is one of the vertices connected with the last assigned
edge and will be in the center of the longest path from a leaf to another leaf.
Uniqueness is resolved trivially by a random selection of valid roots as done
by the algorithm. One could use a procedure that computes the p-weight in
both directions, so one does not have to choose a root and is independent of
directions until the final deployment of the robots. This would merely compli-
cate the notation, but since the theoretical qualities are identical we chose to
present a simpler version of the algorithm. To clarify the notation: edges are
noted w.r.t to vertex r and en1 is always the edge from vertex r to the root
while the order of the remaining edges w.r.t. p(ej ) − w(ej ) is en2 , . . . , enm . We
can now state the main theorem, namely the bound for the maximum number
of robots needed to clear a tree.
Theorem 1. Let hmax := max∀r (s(r)) > 2. Let d be the length of the longest
path in the tree S g and d∗ = ⌈d/2⌉. The maximum p-weight of an edge is
bounded by
Proof: The proof proceeds by identifying the worst case for a non-leaf vertex
and then starting at the worst case for leaves, construct the worst case tree.
Now, consider any vertex r that is not a leaf. Write m for m(r) and E ′
for Edges(r) \ {en1 , enm }. We assign p(en1 ) using {en2 , . . . , enm } with p(eni )
assigned for i > 1. W.l.o.g. assume that m ≥ 3, otherwise
P we have p(en1 ) =
max(p(en2 ), s(r)). Since s(r) ≤ hmax and s(r) = ej ∈Edges(r) w(ej ) + w(r)
we get
X
w(ei ) ≤ hmax − 2.
ei ∈Edges(r)\{en1 }
422 A. Kolling and S. Carpin
due to the ordering. Hence it follows that the worst case occurs when
So we get p(eni ) = p(enj ), ∀j, i > 1. A quick proof by contradiction shows that
the last edge in the worst case is the worst edge. Now the bound for p(en1 ) if
p(enm ) > 2 becomes
Λ
The number of robots needed can easily be computed by adding a “virtual”
edge to the root vertex and computing its p-weight. Figure 38.1 illustrates a
worst case example with d = 6, hmax = 6 and the resulting size of the robot
team of 16. The actual exploration proceeds by choosing the subtree with the
highest p(ei ) − w(ei ) first, then once it is explored blocking it and continuing
with the new one in order until the last subtree is cleared. The example from
Fig. 38.1 is generic and establishes the bound as tight for any d and hmax .
It, however, only occurs in exactly such an example in the sense that we
need all vertices and leaves to have exactly the structure for the worst case as
indicated in the proof and figure. When seeking the optimal root vertex for the
deployment one can use the same principal method and calculate p-weights
in both directions, append a virtual edge to each vertex and then choose the
vertex with the smallest p-weight for this virtual edge.
38 Detecting Intruders with Limited Range Mobile Sensors 423
Fig. 38.1. This is the worst case Fig. 38.2. A comparison of the aver-
example for d = 6, hmax = 6, p∗ = age upper bound across 1000 weighted
6 + 2 · 3 = 12. Blocking weight w is trees and actual maximum p-weight
indicated left and p-weight right of for varying number of vertices
: on the edge. Each vertex has its
weight in its cente.
Table 38.1. Results of the experiments. The values are averaged across 1000
random trees. The max(p(e)) is the largest p-weight occuring in the tree,
without any virtual edges attached, while hmax is the largest s-weight of the
vertices. Note that if the root has the largest s-weight it may be that hmax >
max(p(e)), which is often the case with smaller trees since the root on average
has the most edges.
The first set are those regarding the theoretical part, i.e. solving the graph
clearing problem without using the heuristic of the constant cycle blocks. First
of all, choosing the cycle blocks defines the tree structure and hence influences
the resulting strategy. We might get a better strategy if we chose the block
w.r.t. to this criteria. Secondly, once we have cleared two regions connected
by an edge that has a cycle block it becomes redundant. We could free the
block and gain resources and we would want to free these additional resources
exactly when we need them, namely when we enter regions with high weights.
The second set of questions are those regarding the partitioning. One needs
to determine good methods for partitioning depending on the environment
and capabilities of the robots. Also we need to conceive criteria for partitions
that lead to good strategies on the graph. A first hint of the theorem is that
deep trees should be avoided. Understanding the theoretical properties of the
weighted graph clearing problem first, might already give us good insight on
how to start creating good partitions. Then we can work on devising good
partition strategies in coordination with sweeping and blocking methods for
particular sensors and close the loop to a working system.
References
1. A. Kolling, S. Carpin, “Multirobot Cooperation for Surveillance of Mul-
tiple Moving Targets - A New Behavioral Approach,” Proceedings of the
2006 IEEE International Conference on Robotics and Automation, pp.
1311–1316
2. L. E. Parker, “Distributed algorithms for multi-robot observation of mul-
tiple moving targets,” Autonomous robots, 12(3):231–255, 2002.
3. S. Sachs, S. Rajko, S. M. LaValle. “Visibility-Based Pursuit-Evasion in an
Unknown Planar Environment,” The International Journal of Robotics
Research, 23(1):3-26, 2004
38 Detecting Intruders with Limited Range Mobile Sensors 425
Elżbieta Roszkowska
39.1 Introduction
Coordination of the motions of multiple mobile robots as they perform their
task in a shared workspace is an important capability and a problem widely
studied in robotics. The theoretical studies in this area have mostly concen-
trated on motion planning with respect to collision avoidance and performance
optimization [1]. The realization of motion plans is, however, an open-loop,
time-based control, that is highly sensitive to system randomness. In a system
of autonomous, asynchronously operating robots, the eventual applicability of
such plans is rather questionable.
On the other hand, most research on the real-time control for multiple mo-
bile robot systems (MMRS) has been directed towards software development,
based on ad-hoc, rather than rigorous models, developed directly in program-
ming languages and providing no formal guarantee of their correctness. A
few works have proposed a more prospective approach to MMRS supervisory
control, employing Petri nets as a modeling formalism, e.g. [2, 3]. However,
also these papers focus on specific applications rather than deal with a gen-
eral methodology or essential robot coordination problems such as deadlock
avoidance.
As opposed to the above, in our previous papers [4, 5] we developed a
formal, DFSA (Deterministic Finite State Automaton) based systems ensuring
collision- and deadlock-free supervisory control for MMRS. In this work we
address a similar problem, but develop new solutions, as our goal is both
the logic of the workspace sharing and their implementation in robots as a
high-level velocity control.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 427–436, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
428 E. Roszkowska
1
In this paper we only consider the coordination of robot motions by velocity
modifications. However, the proposed methodology can be extended to capture
also path plans’ refinement.
39 High-Level Motion Control for Workspace Sharing Mobile Robots 429
as the spaces occupied by distinct robots at any time moment will never
overlap);
3. restriction of the dynamics of the composite-DFSA so that the final state
can always be reached from any state reachable from the initial one (which,
in particular, implies deadlock avoidance).
robots are represented by circles with radius a and their safe stop-distance
is equal to sd. Moreover, each robot A is characterized by its specific path
π = π(A), viewed as a curve in W S that is given by a pair of functions
π(l) = (x(l), y(l)) ∈ R2 , l ∈ [0, l̄] ⊂ R. It is assumed that both at the start
and at the end of their paths the robots occupy mutually disjoint regions in
the workspace.
In the discrete abstraction of MMRS, we first scale the XY system so that
its new unit is equal to the robot radius a, and then use a grid of horizontal
and vertical lines that establish a set W of unit square cells that intersect
W S. Next, in each robot’s path π, we distinguish a sequence of border points
p, defined as follows.
Definition 3. For a path π, the sequence of its border points is a finite se-
quence p = [pj = (x(lj) , y(lj )) : j = 0, .., n] such that p0 = π(0), pn = π(l̄),
and for each j = 0, . . . , n − 2, lj+1 is the minimal value l > lj such that:
i) x(lj+1 ) is an integer or y(lj+1 ) is an integer, and ii) |x(lj+1 ) − x(lj )| ≥ 1
or |y(lj+1 ) − y(lj )| ≥ 1. A path sector πj is a sub-path of π(l) such that
l ∈ [lj−1 , lj ].
Remark 1. Notice that condition (i) requires that each point pj (except, pos-
sibly, the start-point and the end-point of π) lies on a grid line, condition (ii)
implies that the length of each path sector (except, possibly, πn ) is not less
than 1 (i.e., the scaled radius of robot A), and these results, together with the
requirement of minimization of l, establish that no path sector πj intersects
more than two grid cells.
Definition 4. For a path π, the stage set of π is the set of triples Z = {zj =
(j, pj , Crj )} such that ∀j = 1, . . . , n, j is the stage number, pj is the j-th
border point on π, and Crj ⊂ W is the set of all cells intersected by sector πj ,
called the center of zj . The union of Crj and the set of all cells adjacent to
k=min(j+q,n)
Crj is the region Cj of zj . The safety zone of zj is SZj = Cj+1 =
Sk=min(j+q,n)
k=j+1 Ck , i.e., the union of the regions of the q stages succeeding zj or
all the stages succeeding zj if n < j + q, where q ≥ ⌈sd⌉ is the safety distance3 .
The left part of Fig. 39.2 shows the centers of the stages associated with the
sectors of path π ′ of robot A′ , given in Fig. 39.1. The middle part of Fig. 39.2
depicts the stages’ regions, and the right part illustrates the concept of the
safety zone for the safety distance q = 3. Notice that, according to Remark 1,
3
⌈x⌉ and ⌊x⌋, x ∈ R, denote the ceiling and the floor functions, i.e., the smallest
(the greatest, resp.) integer equal to or greater (less, resp.) than x.
39 High-Level Motion Control for Workspace Sharing Mobile Robots 431
any center occupies either one or two cells. Hence, the region of each stage zj ,
Cj , consists of either 9 or 12 cells, while the safety zone of zj , SZj , extends
this area by at least the union of the regions Cj+1 , Cj+2 , . . . , Cj+⌈sd⌉ .
10
9 p1,16
8 p1,0 = p1,43 p1,8 = p1,35
7 p1,21
p1,28
6
5
p2,4
4
3
2
p2,0 p2,11
1
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
7 7 7
6 6 6
5 5 5
4 4 4
3 3 3
2 2 2
1 1 1
0 0 0
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Fig. 39.2. Example illustration of the notions given in Def. 4: stage centers
(left), stage regions (middle), and z1 with its safety zone (right) for q = 3
region zj+1 , the robot gives back to the pool all the cells that are no longer
needed at the current stage.
The above characterized operation can be enforced by the following au-
tomaton, implemented in the robot controller at its top control-level.
4
For a vector x, by (x; i) we denote the i-th component of x.
39 High-Level Motion Control for Workspace Sharing Mobile Robots 433
As an example, Fig. 39.3 depicts the transition graph5 of the DFSA RobA
for a robot A with stage set Z consisting of 5 stages, and the safety distance
q = 2. Notice that the trajectory from the initial state, (1, ∼, C1 ), to the final
state, (5, ∼, C5 ), that includes the top row of the states corresponds to the
initial robot’s plan for traveling along path π, as no deceleration is enforced.
The trajectory that includes the very bottom row of the states includes state
(3, ∼, C3 ), when the robot is forced to a temporary rest, and then resumes its
travel and eventually attains the final state.
a4 d1 a5 5 d2
max 1 C13 1 C41 2 C24 2 C2 3 C35
d1 max max max max
d2 d3
3 4 d1 4 5 d2 5 5
1 C1 1 C1 2 C2 a5 2 C2 3 C3 4 C4
a4 d3
a4 a5 d4
d1 2 C2
3
3 C3 d2 3 C34 5 C5
f1 d2 f4
stop
stop
f4
1 ~ C1 3 ~ C3 5 ~ C5
Fig. 39.3. Transition graph of RobA for a robot A with |Z| = 5 and q = 2
Since the event sets of the robot and the resource DFSA are not disjoint,
they operate as a system of loosely coupled objects, formally defined as follows.
Definition 7. The DFSA model of a system of robots sharing a common
workspace is the parallel composition of the workspace and the robot automaton
models, M M RS = Res k (kA∈A RobA ).
By Def. 2, the above defined control model requires that in order to occur,
a resource acquisition or release event should be feasible in both the workspace
and the respective robot model, and its occurrence causes a synchronous state
transition in the two automata. Consequently, implementation of the resource
automaton must ensure that only one robot can read and modify the state
of Res at a time. This can be done in either a centralized manner (e.g., with
the blackboard mechanism) or in a distributed way, where each robot has a
copy of the Res, but their updates are controlled with a mutual-exclusion
mechanism (such as, e.g., the token ring) and communicated to all the robots.
Note that the developed system enjoys the first of the required properties.
Property 1. The control defined by M M RS guarantees no collisions.
Proof. Notice that the DFSA Res ensures that no cell can be allocated to
more than one robot at a time, and the DFSA Rob enforces a robot to slow
down and eventually stop if the region(s) required for its further movement
have been allocated to other robots.
[9], for which there exist suboptimal polynomial DAPs, e.g., [10, 11]. These
policies can be directly implemented in M M RS, thus yielding a system that
satisfies the qualitative control requirements stated at the end of Section 39.2.
39.8 Conclusion
This paper contributes with a distributed system for coordinating the motion
of robots sharing a common workspace. The concept assumes an additional,
supervisory level of robot motion control, that enforces temporary velocity
reductions in order to avoid collisions and deadlocks among the robots. The
event-driven mechanism underlying the developed DFSA model ensures a ro-
bust coordination of mutually asynchronous robot controllers, and the mathe-
matical character of the employed abstraction formally guarantees the control
correctness.
The general character of the proposed high-level control model allows its
employment in MMRS-s that widely differ in the construction and application
of the component robots, a spectrum that can include, e.g., a fleet of mobile
robots used in industry or a sea terminal for transport purposes, a group of
autonomous vacum-cleaners or lawn mowers, as well as a system of social
robots serving as guides in a museum.
Further research will deal with a number of problems emerging from the
proposed approach, including its extension over on-line paths’ modification,
grid size in the context of its influence on the communication load and its
constraints, and the efficiency control through robot-task dependent prioriti-
zation of their access to conflict workspace regions.
References
1. LaValle, S.: Planning Algorithms. Cambridge University Press (2006)
2. Noreils, F.: Integrating multirobot coordination in a mobile-robot control
system. In: IEEE Int. Work. Intelli. Robots and Systems. (1990) 43–49
3. Liu, Y.H., Kuroda, S., Naniwa, T., Noborio, H., Arimoto, S.: A practi-
cal algorithm for planning collision-free coordinated motion of multiple
mobile robots. In: IEEE Int. Conf. Robot. Automat. (1989) 1427–1432
4. Roszkowska, E.: Supervisory control for multiple mobile robots in 2D
space. In: IEEE Int. Workshop Robot Motion Control. (2002) 187–192
5. Roszkowska, E.: Provably correct closed-loop control for multiple mobile
robot systems. In: IEEE Int. Conf. Robot. Automat. (2005) 2810–2815
6. Harmon, S., Aviles, W., Gage, D.: A technique for coordinating au-
tonomous robots. In: Int. Conf. Robot. Automat., (1986) 2029 – 2034
7. Wang, Z., Zhou, M., Ansari, N.: Ad-hoc robot wireless communication.
In: Int. Conf. SMC. Volume 4. (2003) 4045 – 4050
436 E. Roszkowska
István Harmati
40.1 Introduction
Heavy congestion is a major issue in the urban traffic control problem due to
the increasing number of vehicles. The main tools to control traffic are the
traffic lights at the junctions. Based on the measurement of important traffic
properties, the traffic control has to realize an optimal green time distribution
for the traffic lights that passes as many vehicles through the network as
possible.
The literature of developed traffic models and control is increasing. Cur-
rent trends mainly involve a cell-transformation model [1], [2], heuristic-based
or soft computing methods [1], [3] but knowledge based methods [4] and sto-
chastic system modeling [5] were also successfully tested in applications. The
algorithm in [6] organizes the traffic flow into an arterial structure which is
especially useful to establish a green corridor in the traffic network [7]. The
store-and-forward model described in [8] relies on a state-space representation,
which is often preferred in control engineering. The control strategy discussed
in [8] applies optimal LQ control.
The contribution of this paper is twofold. On the one hand, we convert
the urban traffic control problem into game theoretic framework and pro-
vide a suboptimal solution on the base of Nash strategy. On the other hand,
path planning algorithms are devised for vehicles that rely on the decision of
junctions. A simple example of traffic control illustrates the efficiency of the
proposed solutions.
The paper is organized as follows. Section 40.2 describes a traffic model
in a state space form. Section 40.3 proposes a game theoretic approach to
control urban traffic network. Section 40.4 describes methods that realize path
planning algorithms for vehicles. The simulation results are illustrated on
a regular traffic network (inspired by the road structure of common North
American cities) with size 5 × 5. Finally, Section 40.5 summarizes the main
results.
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 437–444, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
438 I. Harmati
j
where gw,i is the effective green time of junction j from incoming road link
w to outgoing link i. Note that i, w ∈ {1, . . . , 4} and the exact value of i is
indifferent in (40.1). Considering a road-link z between junction M and junc-
tion N (z ∈ IN , z ∈ OM ) as shown in Fig. 40.1 (left), the discrete dynamics
is given by
40 Urban Traffic Control and Path Planning for Vehicles 439
xz (k + 1) = xz (k) (40.2)
" P P #
X M
Sw i∈OM gw,i N
Sw i∈ON gw,i
+ T (1 − tz,0 ) tw,z − .
C C
w∈IM
qz uz
M N
sz dz
Fig. 40.1. The schematics of a road link(left) and the groups of junctions
organized into subgames (right)
440 I. Harmati
i
in the ith group.
Let J2 denote the set of junctions in the ith group where
i i
J2 includes J2 junctions. Let O(i, j) (respectively I(i, j)) be the set of the
outgoing (respectively incoming) road links of junction (i, j).
Algorithm 1 (Urban traffic control with Nash strategy)
Step 1) Initialization. Let ∆g be the quantum of the change in green time.
Step 2) Measure the characteristic of the actual traffic at the kth control time
interval: Sz , tw,z , dz (k), tz,0 .
Step 3) Compute the potential decisions of each junction. Each decision of
junction j from group i prefers only one incoming road link p by increasing
i,j
its green time with δp,w = 3∆g, ∀w ∈ O(i, j), while the green times from
any other h 6= p incoming road link of the same junction are decreasing by
i,j
δh,w = −∆g, ∀w ∈ O(i, j). During this operation the total green time in
a junction does not change and neither does the cycle time. The potential
i,j
green time ĝp,w (k, τ(i,j) ) from incoming road link p to outgoing road link
i,j
w at junction j from the ith group after decision τ(i,j) is ĝp,w (k, τ(i,j) ) =
i,j i,j
gp,w (k) + δp,w (k, τ(i,j) ).
Step 4) Compute the cost for every decision of every junction (i, h) ∈ J2 :
X
X (i,h) k, τ(i,1) , . . . , τ(i,|J i |) = xz (k, τ(i,1) , . . . , τ(i,|J i |) )
2 2
z∈I(i,h)
|J2i | X
X
+λ xz (k, τ(i,1) , . . . , τ(i,|J i |) ),
2
j=1, z∈I(i,j)
j6=h
2 2
Step 7) Modify the green times due to the Nash equilibrium point. It means
i,j i,j i,j
that gp,w (k) = ĝp,w (k), where ĝp,w (k) is selected by the optimal strategies
∗
τ(i,j) .
40 Urban Traffic Control and Path Planning for Vehicles 441
Step 8) Repeat the procedure from Step 2) for the next control time interval.
The simulation results on a 5 × 5 sized traffic network, with T = 60 sec,
C = 300 sec, tz,0 = 0.01, dz = 0.01, Sz = 1, xz (0) = 30, ∆g = 3 sec,
j
gw,z,min = 5 sec, λ = 0.5 are shown in Fig. 40.2. It is seen that the game
theoretic solution provides around 25 percent improvement relative to the
constant green time strategy. This result is similar to the performance of LQ
control. While LQ control requires usually less computation time, junctions
in the game theoretic algorithm are able to make decisions autonomously in
an environment with poor communication service.
Fig. 40.2. The total cost with constant green times (left) and Nash strategy
(right)
Note that it is not necessary to choose the cycle time constant in the
algorithm. Game theoretic urban traffic control is able to change the cycle
time to reach better performance. However, a new control variable increases
considerably the computation time. Hence, the controlled cycle time provides
usually benefits (by making a green corridor) only if the traffic network is
equipped with a special vehicle flow distribution or the path planning of a
distinguished vehicle (e.g. ambulance) should be supported. This problem
does not belong to the scope of this paper.
Based on the decision of junctions, one can find xz (k) vehicles on road link z
at the kth discrete time. A challenging problem arises when a vehicle has to be
steered from an initial road link to a desired road link in the traffic network. In
this section we adopt the game theoretic motion planning concept from [10]
442 I. Harmati
If k ≤ j ≤ k + K :
Vk+j (w) = min Vk+j+1 (p) + max xk (p, τ(i,r) , τ(m,n) )
p∈O(w) τ(i,r) ,τ(m,n) )
p∈O(i,r)
p∈I(m,n)
If there is an outgoing link w of a junction with a slightly better (i.e. less) cost
than others, then using Algorithm 2, the vehicles from all the incoming road
links tend to choose the optimal outgoing road link w making a congestion
in the next time interval. This problem motivates the use of a probabilistic
version of the path planning algorithm. If a vehicle is on an incoming road
link of junction (i, j), then a modified version of the path planning algorithm
selects the outgoing road link from the set O(i, j) in a probabilistic way. The
smaller the cost of the outgoing link the higher its fitness in the path selection
method. If a vehicle stays on an incoming road link of a junction then the
selected outgoing link the vehicle turns on is obtained by fitness based roulette-
wheel selection algorithm. The simulation results are illustrated in Fig. 40.3.
Both Algorithm 2 and its probabilistic extension find the desired outgoing
road link zd . While Algorithm 2 provides the shortest path, its probabilistic
version drives temporarily the vehicles to a nonoptimal road link. Probabilistic
path planning, however, is more robust and is able to avoid congestion if many
steered vehicles carry out the same algorithm simultaneously.
40 Urban Traffic Control and Path Planning for Vehicles 443
6 6
5 5
4 4
3 3
2 2
1 1
0 0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Fig. 40.3. The vehicle path from zi = (1, 5, south) to zd = (4, 1, north) with
deterministic (left) and probabilistic (right) algorithm
40.5 Conclusions
A game theoretic framework using Nash strategies for urban traffic control and
path planning algorithms for vehicles have been proposed in the paper. The
simulation results underlie the intuition that a game theoretic strategy is able
to outperform constant green times strategies. The solution is computationally
expensive and can be realized only if some simplifications are carried out. The
most important simplifications appear in bundling junctions into groups and
decreasing the number of decisions. The game theoretic framework is able to
incorporate path planning algorithms for vehicles. Two algorithms have been
discussed. A deterministic path planning provides the optimal path between
two road links in the traffic network while a probabilistic approach is able to
achieve better performance when the path planning method is carried out for
many vehicles simultaneously.
Acknowledgments
The research was supported by the Hungarian Science Research Fund under
grant OTKA 68686, the National Office for Research and Technology under
grant NKTH RET 04/2004 and by the János Bolyai Research Scholarship of
the Hungarian Academy of Sciences.
References
1. B. Friedrich and E. Almasri. Online offset optimisation in urban net-
works based on cell transmission model. In Proceedings of the 5th Euro-
pean Congress on Intelligent Transport Systems and Services, Hannover,
Germany, 2005.
444 I. Harmati
K. Kozlowski (Ed.): Robot Motion and Control 2007, LNCIS 360, pp. 445–452, 2007.
springerlink.com
c Springer-Verlag London Limited 2007
446 K. Köker, K.-S. Hielscher, and R. German
of the high accuracy of the GPS system for time synchronisation and should
also provide a reliable solution in a cost-efficient manner. The work is pri-
marily based on the software monitoring infrastructure for distributed Web
servers in [5] for precise measurements of one-way delays of TCP packets, to
parameterize, validate, and verify simulation and state-space based models of
the system. Our solution uses this infrastructure in combination with an FM-
receiver module and the PPS-API for the time synchronisation of all object
systems’ clocks with a precision in the range of one microsecond. In addition,
example measurements for the timing signal generated with our infrastruc-
ture are presented to confirm the usability for distributed mobile embedded
systems.
The precision of the GPS makes it an impressive technique for any imag-
inable application that requires the determination of positions (positioning)
and direction of motion (navigation) anywhere on the Earth. The technique
is based on measurements of code-phase arrival time from the satellites with
high accurate reference clocks on board, to gain positions in three dimensions
and GPS time. This facility is often used as potential time synchronisation
to provide a globally accurate clock to each receiver. Because of reasons of
cost and convenience, it is not possible to equip every computer system with
a GPS-receiver to keep a highly accurate system clock. But instead, it is pos-
sible to equip some number of computers and let them act as primary time
servers.
41.3.2 PPS-API
41.4 Measurements
We started a test run transmitting the PPS-signal from the GPS based in-
frastructure to the robot’s PC/104 system and simultaneously tracked the
signal reception with an analogue oscilloscope. The signal course of the first
test run resulted in a lot of interference, which would lead the PPS-API fa-
cility to assume a wrong offset of the system clock. We started a long term
test run to assure that the interference is not temporary and we recorded the
internal system clock, the second pulse recognized by the PPS-API, and the
jitter.
high accuracy (below 500 ns) with respect to UTC. Therefore the maximum
deviation of a time second between the systems clock – using the FM module
– and the GPS subsystem should amount to not more than 1.5 ms considering
the reception delay of the module. A further disadvantage is the sensitivity of
the module to captured undefined foreign signals which just leads to enabling
the FM module and then again shutting it down because of missing signals.
Fig. 41.3. Scatter plot for different driving modes of the GPS cards
41 Low-Cost Time Measurement Infrastructure for Mobile Systems 451
41.5 Conclusion
We analysed the feasibility and performance of an indoor facility for a high
precision time synchronisation for mobile devices. The facility is intended to
build a simulation model for embedded mobile systems. For this purpose we
extended an existing highly accurate GPS based infrastructure and introduced
commonly used FM modules to transmit and receive a pulse-per-second signal
to the embedded systems of mobile soccer robots. The simple usage of the FM
modules to transmit and receive signals led to higher interference ratio, also
caused from the entire design and enable delay of the FM receiver. To handle
the interferences and improve the accuracy of the GPS time synchronizing
infrastructure, we switched the GPS output to transmit a 100 Hz signal and
introduced a circuit to generate a pulse at the end of the 100th signal on the
receiver side. Using this method significantly improved the results and allowed
transmitting highly accurate pulses for a second gained from the GPS in an
appropriate way for performing measurements on mobile embedded systems.
References
Vol. 360: Kozłowski K. (Ed.) Vol. 349: Rogers, E.T.A.; Galkowski, K.;
Robot Motion and Control 2007 Owens, D.H.
452 p. 2007 [978-1-84628-973-6] Control Systems Theory
and Applications for Linear
Vol. 359: Christophersen F.J.
Repetitive Processes 482 p. 2007 [978-3-540-
Optimal Control of Constrained Piecewise Affine
42663-9]
Systems
xxx p. 2007 [978-3-540-72700-2] Vol. 347: Assawinchaichote, W.; Nguang, K.S.;
Shi P.
Vol. 358: Findeisen R.; Allgöwer F.; Biegler L.T. Fuzzy Control and Filter Design
(Eds.): for Uncertain Fuzzy Systems
Assessment and Future Directions of Nonlinear 188 p. 2006 [978-3-540-37011-6]
Model Predictive Control Vol. 346: Tarbouriech, S.; Garcia, G.; Glattfelder,
XXX p. 2007 [978-3-540-72698-2] A.H. (Eds.)
Vol. 357: Queinnec I.; Tarbouriech S.; Garcia G.; Advanced Strategies in Control Systems
Niculescu S.-I. (Eds.): with Input and Output Constraints
Biology and Control Theory: Current Challenges 480 p. 2006 [978-3-540-37009-3]
589 p. 2007 [978-3-540-71987-8] Vol. 345: Huang, D.-S.; Li, K.; Irwin, G.W. (Eds.)
Vol. 356: Karatkevich A. Intelligent Computing in Signal Processing
Dynamic Analysis of Petri Net-Based Discrete and Pattern Recognition
Systems 1179 p. 2006 [978-3-540-37257-8]
166 p. 2007 [978-3-540-71464-4] Vol. 344: Huang, D.-S.; Li, K.; Irwin, G.W. (Eds.)
Intelligent Control and Automation
Vol. 355: Zhang H.; Xie L. 1121 p. 2006 [978-3-540-37255-4]
Control and Estimation of Systems with
Input/Output Delays Vol. 341: Commault, C.; Marchand, N. (Eds.)
213 p. 2007 [978-3-540-71118-6] Positive Systems
448 p. 2006 [978-3-540-34771-2]
Vol. 354: Witczak M. Vol. 340: Diehl, M.; Mombaur, K. (Eds.)
Modelling and Estimation Strategies for Fault Fast Motions in Biomechanics and Robotics
Diagnosis of Non-Linear Systems 500 p. 2006 [978-3-540-36118-3]
215 p. 2007 [978-3-540-71114-8]
Vol. 339: Alamir, M.
Vol. 353: Bonivento C.; Isidori A.; Marconi L.; Stabilization of Nonlinear Systems Using
Rossi C. (Eds.) Receding-horizon Control Schemes
Advances in Control Theory and Applications 325 p. 2006 [978-1-84628-470-0]
305 p. 2007 [978-3-540-70700-4] Vol. 338: Tokarzewski, J.
Vol. 352: Chiasson, J.; Loiseau, J.J. (Eds.) Finite Zeros in Discrete Time Control Systems
Applications of Time Delay Systems 325 p. 2006 [978-3-540-33464-4]
358 p. 2007 [978-3-540-49555-0] Vol. 337: Blom, H.; Lygeros, J. (Eds.)
Stochastic Hybrid Systems
Vol. 351: Lin, C.; Wang, Q.-G.; Lee, T.H., He, Y.
395 p. 2006 [978-3-540-33466-8]
LMI Approach to Analysis and Control of
Takagi-Sugeno Fuzzy Systems with Time Delay Vol. 336: Pettersen, K.Y.; Gravdahl, J.T.;
204 p. 2007 [978-3-540-49552-9] Nijmeijer, H. (Eds.)
Group Coordination and Cooperative Control
Vol. 350: Bandyopadhyay, B.; Manjunath, T.C.; 310 p. 2006 [978-3-540-33468-2]
Umapathy, M.
Modeling, Control and Implementation of Smart Vol. 335: Kozłowski, K. (Ed.)
Structures 250 p. 2007 [978-3-540-48393-9] Robot Motion and Control
424 p. 2006 [978-1-84628-404-5]
Vol. 334: Edwards, C.; Fossas Colet, E.; Vol. 320: Steffen, T.
Fridman, L. (Eds.) Control Reconfiguration of Dynamical Systems
Advances in Variable Structure and Sliding Mode 290 p. 2005 [978-3-540-25730-1]
Control Vol. 319: Hofbaur, M.W.
504 p. 2006 [978-3-540-32800-1] Hybrid Estimation of Complex Systems
Vol. 333: Banavar, R.N.; Sankaranarayanan, V. 148 p. 2005 [978-3-540-25727-1]
Switched Finite Time Control of a Class of Vol. 318: Gershon, E.; Shaked, U.; Yaesh, I.
Underactuated Systems H∞ Control and Estimation of State-multiplicative
99 p. 2006 [978-3-540-32799-8] Linear Systems
Vol. 332: Xu, S.; Lam, J. 256 p. 2005 [978-1-85233-997-5]
Robust Control and Filtering of Singular Systems
Vol. 317: Ma, C.; Wonham, M.
234 p. 2006 [978-3-540-32797-4]
Nonblocking Supervisory Control of State Tree
Vol. 331: Antsaklis, P.J.; Tabuada, P. (Eds.) Structures
Networked Embedded Sensing and Control 208 p. 2005 [978-3-540-25069-2]
367 p. 2006 [978-3-540-32794-3]
Vol. 316: Patel, R.V.; Shadpey, F.
Vol. 330: Koumoutsakos, P.; Mezic, I. (Eds.) Control of Redundant Robot Manipulators
Control of Fluid Flow 224 p. 2005 [978-3-540-25071-5]
200 p. 2006 [978-3-540-25140-8]
Vol. 315: Herbordt, W.
Vol. 329: Francis, B.A.; Smith, M.C.; Willems, Sound Capture for Human/Machine Interfaces:
J.C. (Eds.) Practical Aspects of Microphone Array Signal
Control of Uncertain Systems: Modelling, Processing
Approximation, and Design 286 p. 2005 [978-3-540-23954-3]
429 p. 2006 [978-3-540-31754-8]
Vol. 314: Gil’, M.I.
Vol. 328: Loría, A.; Lamnabhi-Lagarrigue, F.;
Explicit Stability Conditions for Continuous Sys-
Panteley, E. (Eds.)
Advanced Topics in Control Systems Theory tems
193 p. 2005 [978-3-540-23984-0]
305 p. 2006 [978-1-84628-313-0]
Vol. 327: Fournier, J.-D.; Grimm, J.; Leblond, J.; Vol. 313: Li, Z.; Soh, Y.; Wen, C.
Partington, J.R. (Eds.) Switched and Impulsive Systems
Harmonic Analysis and Rational Approximation 277 p. 2005 [978-3-540-23952-9]
301 p. 2006 [978-3-540-30922-2] Vol. 312: Henrion, D.; Garulli, A. (Eds.)
Vol. 326: Wang, H.-S.; Yung, C.-F.; Chang, F.-R. Positive Polynomials in Control
H∞ Control for Nonlinear Descriptor Systems 313 p. 2005 [978-3-540-23948-2]
164 p. 2006 [978-1-84628-289-8] Vol. 311: Lamnabhi-Lagarrigue, F.; Loría, A.;
Vol. 325: Amato, F. Panteley, E. (Eds.)
Robust Control of Linear Systems Subject to Advanced Topics in Control Systems Theory
Uncertain 294 p. 2005 [978-1-85233-923-4]
Time-Varying Parameters Vol. 310: Janczak, A.
180 p. 2006 [978-3-540-23950-5] Identification of Nonlinear Systems Using Neural
Vol. 324: Christofides, P.; El-Farra, N. Networks and Polynomial Models
Control of Nonlinear and Hybrid Process Systems 197 p. 2005 [978-3-540-23185-1]
446 p. 2005 [978-3-540-28456-7] Vol. 309: Kumar, V.; Leonard, N.; Morse, A.S.
Vol. 323: Bandyopadhyay, B.; Janardhanan, S. (Eds.)
Discrete-time Sliding Mode Control Cooperative Control
147 p. 2005 [978-3-540-28140-5] 301 p. 2005 [978-3-540-22861-5]
Vol. 322: Meurer, T.; Graichen, K.; Gilles, E.D. Vol. 308: Tarbouriech, S.; Abdallah, C.T.; Chias-
(Eds.) son, J. (Eds.)
Control and Observer Design for Nonlinear Finite Advances in Communication Control Networks
and Infinite Dimensional Systems 358 p. 2005 [978-3-540-22819-6]
422 p. 2005 [978-3-540-27938-9]
Vol. 307: Kwon, S.J.; Chung, W.K.
Vol. 321: Dayawansa, W.P.; Lindquist, A.; Perturbation Compensator based Robust Tracking
Zhou, Y. (Eds.) Control and State Estimation of Mechanical Sys-
New Directions and Applications in Control tems
Theory 158 p. 2004 [978-3-540-22077-0]
400 p. 2005 [978-3-540-23953-6]