Theory of Robot Control
Theory of Robot Control
Springer
London
Berlin
Heidelberg
New York
Barcelona
Budapest
HongKong
Milan
Paris
Santa Clara
Singapore
Tokyo
Published titles include:
Theory of
Robot Control
Carlos Canudas de Wit, Bruno Siciliano and
Georges Bastin (Eds)
With 31 Figures
, Springer
Professor Carlos Canudas de Wit, PhD
Laboratoire d'Automatique de Grenoble
lkole Nationale Superieure d'Ingenieurs Electriciens de Grenoble
Rue de la Houille Blanche, Domaine Universitaire
38402 Saint-Martin-d'Heres, France
Professor Bruno Siciliano, PhD
Dipartimento di Informatica e Sistemistica
Universita degli Studi di Napoli Federico II
Via Claudio 21, 80125 Napoli, Italy
Professor Georges Bastin, PhD
Centre d'Ingenierie des Systemes, d'Automatique et de Mecanique Appliquee
Universite Catholique de Louvain
4 Avenue G. Lemaitre, 1348 Louvain-Ia-Neuve, Belgium
Series Editors
B.W. Dickinson. A. Fettweis • J.1. Massey. J.W. Modestino
E.D. Sontag • M. Thoma
ISBN-13:978-1-4471-1503-8
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
oflicences issued by the Copyright Licensing Agency. Enquiries concerning reproduction outside
those terms should be sent to the publishers.
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.
Georges Bastin
Universite Catholique de Louvain, Belgium
Bernard Brogliato
Laboratoire d'Automatique de Grenoble, France
Guy Campion
Universite Catholique de Louvain, Belgium
Brigitte d'Andrea-Novel
Ecole Nationale Superieure des Mines de Paris, France
Alessandro De Luca
Universitd degli Studi di Roma "La Sapienza", Italy
Wisama Khalil
Ecole Centrale de Nantes, France
Rogelio Lozano
Universite de Technologie de Compiegne, France
Romeo Ortega
Universite de Technologie de Compiegne, France
Claude Samson
INRIA Centre de Sophia-Antipolis, France
Bruno Siciliano
UniversitO. degli Studi di Napoli Federico II, Italy
Patrizio Tomei
Universittl degli Studi di Roma "Tor Vergata", Italy
Contents
Preface xiii
Synopsis xv
I Rigid manipulators 1
Index 389
Preface
tries who made the school a true success. A note of thanks goes also to
J.M. Dion, Director of LAG, for providing us with a site for the school and
for supporting the realization of the book.
Although the book is the outcome of a joint work, individual contribu-
tions can be attributed as follows: Chapter 1 (W. Khalil and B. Siciliano),
Chapter 2 (B. Brogliato and C. Canudas de Wit), Chapter 3 (B. Siciliano),
Chapter 4 (A. De Luca and B. Siciliano), Chapter 5 (A. De Luca and
P. Tomei), Chapter 6 (A. De Luca and B. Siciliano), Chapter 7 (G. Bastin,
G. Campion and B. d'Andrea-Novel), Chapter 8 (G. Bastin, G. Campion
and B. d'Andrea-Novel), Chapter 9 (C. Canudas de Wit and C. Samson),
and Appendix A (R. Lozano and R. Ortega).
The editing of the book was realized by the two of us with the precious
help of Georges Bastin. During this time, Bruno Siciliano took on the
laborious task of unifying and shaping the presentation of the material, as
well as of coordinating the whole group. A note of thanks goes also to most
of the other nine authors for providing further revisions of their own and
others' contributions during the critical stage of the editorial process.
About the ZODIAC nickname, this was created to gather all the authors
into a single entity, so as to reflect the truly cooperative spirit of the project.
The ZODIAC describes the well-known twelve-star constellation in Greek
mythology. About the number, it agrees with the twelve authors; about
the stars ...
This book is divided in three major parts. Part I deals with modelling and
control of rigid robot manipulators. Part II is concerned with modelling
and control of flexible robot manipulators. Part III is focused on modelling
and control of mobile robots. An Appendix contains a review of some
basic definitions and mathematical background in control theory that are
preliminary to the study of the book contents.
The sequence of parts, besides being quite rational from a pedagogical
viewpoint, reflects the gradual development of theory of robot control in
the last fifteen years. In this respect, most of the results on rigid robot ma-
nipulators in Part I are now well assessed, with the exception of constrained
motion control. On the other hand, in the area of flexible manipulators in
Part II not all the problems have been solved yet and there is certainly
need for new theoretical work, especially with regard to the case of flexible
links. Finally, the results reported in Part III are meant to present the
most updated findings on control of mobile robots, which appears to be a
very challenging area for future investigation.
The parts are organized into chapters, and each chapter is comple-
mented with a further reading section which provides the reader with a
detailed guide through the numerous end-of-chapter references.
Rigid manipulators
Chapter 1
Modelling and
identification
strategies.
In order to characterize the mechanical structure of a robot manipulator,
it is opportune to consider the following two subjects.
with the study of the mapping between positions, while the latter is con-
cerned with the study of the mapping between velocities. Let us start by
considering direct kinematics of a robot manipulator.
'T.CO) = Co (1.1)
Denavit-Hartenberg notation
An effective procedure for computing the direct kinematics function for
a general robot manipulator is based on the so-called modified Denavit-
Hartenberg notation. According to this notation, a coordinate frame is
attached to each link of the chain and the overall transformation matrix
from link 0 to link n is derived by composition of transformations between
consecutive frames. With reference to Fig. 1.2, let joint i connect link i - I
to link i, where the links are assumed to be rigid; frame i is attached to
link i and can be defined as follows.
• Choose axis Xi along the common normal to axes Zi and Zi+l with
direction from joint i to joint i + 1.
\
\
\
/
/
\
(1.2)
o
where i-I Ri is the (3 x 3) matrix defining the orientation of frame i with
respect to frame i-I, and i - l pi is the (3 x 1) vector defining the origin of
frame i with respect to frame i-I.
8 CHAPTER 1. MODELLING AND IDENTIFICATION
i- 1 RT
(1.3)
o
Two of the four parameters (li and Oi) are always constant and depend
only on the size and shape of link i. Of the remaining two parameters,
only one is variable (degree of freedom) depending on the type of joint that
connects link i-I to link i. If qi denotes joint i variable, then it is
(1.4)
(1.5)
Remarks
• A simple choice to define frame 0 is to take it coincident with frame 1
when ql = 0; this makes 01 = 0 and 11 = 0, and iil = O.
(1.6)
In order to derive the direct kinematics equation in the form of (1.1), two
further constant transformations have to be introduced; namely, the trans-
formation from frame b to frame 0 (bTO) and the transformation from frame
n to frame e (nTe), i.e.,
(1.7)
Subscripts and superscripts can be omitted when the relevant frames are
clear from the context.
i (Xi £i {)i di
1 0 0 ql 0
2 7r/2 0 q2 0
3 0 £3 q3 0
4 -7r/2 0 q4 d4
5 7r/2 0 qs 0
6 -7r/2 0 q6 0
(1.8)
o o
10 _ _ _ _ __ CHAPTER 1. MODELLING AND IDENTIFICATION
where
(1.9)
x-
-
(Pe)
rPe '
(1.13)
where Pe describes the end-effector position and rPe its orientation. Notice
that, from a rigorous mathematical viewpoint, it is not correct to consider
the quantity rPe as a vector since the commutative property does not hold.
This representation of position and orientation allows the description
of the end-effector task in terms of a number of inherently independent
parameters. The vector x is defined in the space in which the manipulator
task is specified; hence, this space is typically called task space. The dimen-
sion of the task space is at most m = 6, since 3 coordinates specify position
and 3 angles specify orientation. Nevertheless, depending on the geometry
of the task, a reduced number of task space variables may be specified; for
instance, for a planar manipulator it is m = 3, since two coordinates specify
position and one angle specifies orientation.
On the other hand, the joint space (configuration space) denotes the
space in which the (n x 1) vector of joint variables q is defined. Accounting
for the dependence of position and orientation from the joint variables, we
can write the direct kinematics equation in a form other than (1.2), i.e.,
x = k(q). (1.14)
It is worth noticing that the explicit dependence of the function k(q) from
the joint variables for the orientation components is not available except for
simple cases. In fact, on the most general assumption of a six-dimensional
12 CHAPTER 1. MODELLING AND IDENTIFICATION
task space (m = 6), the computation of the three components of the func-
tion ¢>e(q) cannot be performed in closed-form but goes through the com-
putation of the elements of the rotation matrix.
The notion of joint space and task space naturally allows introducing
the concept of kinematic redundancy. This occurs when the dimension of
the task space is smaller than the dimension of the joint space (m < n).
Redundancy is, anyhow, a concept relative to the task assigned to the
manipulator; a manipulator can be redundant with respect to a task and
nonredundant with respect to another, depending on the number of task
space variables of interest.
For instance, a three-degree-of-freedom planar manipulator becomes re-
dundant if end-effector orientation is of no concern (m = 2, n = 3). Yet,
the typical example of redundant manipulator is constituted by the human
arm that has seven degrees of freedom: three in the shoulder, one in the
elbow and three in the wrist, without considering the degrees of freedom in
the fingers (m = 6, n = 7).
is = ds = i6 = 0 ~4 = ~s = ~6 = 0, (1.15)
with sin (}:s i= 0 and sin (}:6 i= 0 so as to avoid parallel axes (degenerate
manipulator). In that case, it is possible to articulate the inverse kine-
matics problem into two subproblems, since the solution for the position is
decoupled from that for the orientation.
In the case of a three-degree-of-freedom arm, for given end-effector posi-
°
tion ope and orientation R e, the inverse kinematics can be solved according
to the following steps:
°
• compute R3(q1. Q2, Q3);
14 CHAPTER 1. MODELLING AND IDENTIFICATION
(1.16)
ql = Atan2{py,p.,) (1.17)
where Atan2 is the arctangent function of two arguments which allows the
correct determination of an angle in a range of 211". Notice that another
solution is
ql = 11" + Atan2{py,p.,) (1.18)
(1.19)
then, squaring the third component and summing it to (1.19) leads to the
solution
q3 = Atan2{s3,c3) (1.20)
where
C3 = ±Jl-s~.
1.1. KINEMATIC MODELLING 15
Substituting q3 in (1.19), taking the square root thereof and combining the
result with the third component of (1.16) leads to a system of equations in
the unknowns S2 and C2; its solution can be found as
(1.21)
Notice that four admissible solutions are obtained according to the val-
ues of ql, q2, q3; namely, shoulder-right/elbow-up, shoulder-left/elbow-up,
shoulder-right / elbow-down, shoulder-left / elbow-down.
In order to solve for the three joint variables of the wrist, let us proceed
as follows. Given the matrix
(1.22)
the matrix 0 R3 can be computed from the first three joint variables via (1.2),
and thus the following equation is to be considered
-C4C5S6 - S4 C6 -C4 S5 )
-S5 S6 C5 •
S4C5S6 - C4 C6 84 S5
(1.23)
The elements of the matrix on the right-hand side of (1.23) have been
obtained by computing 3 Rs via (1.2), whereas the elements of the matrix
on the left-hand side of (1.23) can be computed as 3 RoO Rs with 0 R6 as
in (1.22), i.e.,
e
the other elements sx,3 Sy,3 sz) and ea x ,3 ay,3 a z ) can be computed from
(1.24) by replacing (nx, ny, n z ) with (sx, Sy, Sz) and (ax, ay, az)' respec-
tively.
16 CHAPTER 1. MODELLING AND IDENTIFICATION
At this point, inspecting (1.23) reveals that from the elements [1,3] and
[3,3], q4 can be computed as
(1.25)
(1.26)
(1.27)
Notice that both sets of solutions degenerate when 3ax = 3az = OJ in this
case, q4 is arbitrary and simpler expressions can be found for qs and q6'
In conclusion, 4 admissible solutions have been found for the arm and
2 admissible solutions have been found for the wrist, resulting in a total of
8 admissible inverse kinematics solutions for the anthropomorphic manip-
ulator with a spherical wrist.
v = (~ ) = J(q)q, (1.31 )
Geometric Jacobian-
The velocity contributions of each joint to the linear and angular velocities
of link n gives the following relationship
= In(q}q (1.32)
where ak is the unit vector of axis Zk and Pkn denotes the vector from the
origin of frame k to the origin of frame n. Notice that I n is a function
of q through the vectors ak and Pkn which can be computed on the basis
of direct kinematics.
The geometric Jacobian can be computed with respect to any frame ij
in that case, the k-th column of i I n is given by
where kpn = kPkn and S(·} is the skew-symmetric matrix operator perform-
ing the vector product, i.e., S(a}p = a x p. In view of the expression of
kak = (0 0 1 ), eq. (1.33) can be rewritten as
. - k . k .
i.
Jnk = ({k'ak + {k( - -Pny'nk
. + Pnz'Sk}) (1.34)
{k'ak
Remarks
• The transformation of the Jacobian from frame i to a different frame I
can be obtained as
(1.35)
(1.36)
18 CHAPTER 1. MODELLING AND IDENTIFICATION
(1.37)
J
n
= (I0 -S(Phn)) J
I n,h (1.38)
iJ _ (
I -S(Rh
i h Pn) ) iJ (1.39)
n- 0 I n,h·
Combining (1.35) with (1.39) yields the result that the matrix I I n can be
computed as the product of three matrices
(1.40)
where remarkably the first two matrices are full-rank. In general, the values
of h and i leading to the Jacobian i In,h of simplest expression are given by
i = int(nJ2) h = int(nJ2) + 1.
Hence, for a manipulator with 6 degrees of freedom, the matrix 3 J6,4 is
expected to have the simplest expression; if the wrist is spherical (P46 = 0),
then the second matrix in (1.40) is identity and 3 J6 ,4 = 3 J6 •
As an example, the geometric Jacobian for the anthropomorphic ma-
nipulator in Fig. 1.3 can be computed on the basis of the matrix
0 i383 - d4 -d4 0 0 0
0 i 3 C3 0 0 0 0
3J6 = - i3C2 + d4 823 0 0 0 0 0
(1.41)
823 0 0 0 84 -C4 8S
C23 0 0 1 0 Cs
0 1 1 0 C4 84 8S
1.1. KINEMATIC MODELLING 19
Analytical Jacobian
If the end-effector position and orientation are specified in terms of a min-
imum number of parameters in the task space as in (1.14), it is possible to
compute the Jacobian matrix by direct differentiation of the direct kine-
matics equation, i.e.,
(1.43)
Singularities
The differential kinematics equation (1.31) defines a linear mapping be-
tween the vector of joint velocities q and the vector of end-effector veloc-
ities v. The Jacobian is in general a function of the arm configuration
q; those configurations at which J is rank-deficient are called kinematic
singularities. In the following, rank deficiencies of T (representation sin-
gularities) are not considered since those are related to the particular rep-
resentation of orientation chosen and not to the geometric characteristics
of the manipulator; then, the analysis is based on the geometric Jacobian
without loss of generality.
The simplest means to find singularities is to compute the determinant
of the Jacobian matrix.' For instance, for the above Jacobian in (1.41) it is
(1.44)
20 CHAPTER 1. MODELLING AND IDENTIFICATION
leading to three types of singularities (i3, d4 # 0). These are the elbow
singularity
C3 = 0
occurring when link 2 and link 3 are aligned; the shoulder singularity
occurring when origin of frame 4 is along axis Zo; and the wrist singularity
ss =0
occurring when axes Z4 and Za are aligned. Notice that the elbow singu-
larity is not troublesome since it occurs at the boundary of the manipulator
workspace (q3 = ±7r / 2). The shoulder singularity is characterized in the
task space and thus it can be avoided when planning an end-effector tra-
jectory. Instead, the wrist singularity is characterized in the joint space
(qs = 0, 7r), and thus it is difficult to predict when planning an end-effector
trajectory.
An effective tool to analyze the linear mapping from the joint velocity
space into the task velocity space defined by (1.31) is offered by the singular
value decomposition (SVD) of the Jacobian matrix; this is given by
rn
The range space 1<.( J) is the set of task velocities that can be obtained
as a result of all possible joint velocities; these task velocities are termed
feasible space task velocities. A base of 1<.( J) is given by the first r out-
put singular vectors, which represent independent linear combinations of
the single components of task velocities. Accordingly, another effect of a
singularity is to decrease the dimension of 1<.( J) by eliminating a linear
combination of task velocities from the space of feasible velocities.
The singular value decomposition (1.45) shows that the i-th singular
value of J can be viewed as a gain factor relating the joint velocity along the
Vi direction to the task velocity along the Ui direction. When a singularity
is approached, the r-th singular value tends to zero and the task velocity
produced by a fixed joint velocity along Vr is decreased proportionally to ar.
At the singular configuration, the joint velocity along Vr is in the null space
and the task velocity along U r becomes infeasible.
In the general case, the joint velocity has components in any Vi direction,
and the resulting task velocity can be obtained as a combination of the
single components along each output singular vector direction.
where
L=T-U (1.47)
is the Lagrangian expressed as the difference between kinetic energy and
potential energy, and Ti is the generalized force at joint i; a torque for a
revolute joint and a force for a prismatic joint, respectively. Typically the
generalized forces are shortly referred to as torques, since most joints of a
manipulator are revolute.
22 CHAPTER 1. MODELLING AND IDENTIFICATION
T = ~qTH(q)q (1.48)
2
where the (nxn) matrix H(q) is the inertia matrix ofthe robot manipulator
which is symmetric and positive definite. Substituting (1.48) in (1.47) and
taking the derivatives needed by (1.46) leads to the equations of motion
and
C(q, q)q = H(q)q _ ~ (:q (qT H(q)q)) T (1.51)
is the (n xl) vector of Coriolis and centrifugal forces. This term is quadratic
in the joint velocities, and thus we can write its generic element as
n
Cij = L Cijkqjqk. (1.52)
k=l
There exist several factorizations of the term C(q, q)q according to the
choice of the elements Cij of the matrix C satisfying (1.52). The choice
T.i = 2
1 (i WiTili i Wi + mi i Pi·TiPi. + 2mi i riT(i.Pi x i))
Wi . (1.55)
In (1.55), mi is the mass of link i, iIi is the inertia tensor of link i with
respect to the origin of frame i
(1.56)
and miiri is the first moment of inertia with respect to the origin of frame i
(1.57)
=
being ri Pci - Pi, where Pci is the position vector of the center of mass of
link i and Pi is the position vector of the origin of link frame i.
In view of the previous geometric Jacobian computation, we can com-
pute the linear and angular velocities of link i as
(1.58)
(1.59)
(1.60)
Ui = -mi O-TO
9 Pci = - O-T(
9 mi 0 Pi +ORimi iri) , (1.61)
It is worth noticing that both the kinetic energy and the potential en-
ergy of link i are linear with respect to the set of 10 constant dynamic
parameters, namely the link mass, the six elements of the link inertia ten-
sor, and the three components of the link first moment of inertia. In view
of (1.46), the property of linearity in the dynamic parameters holds also
for the dynamic model (1.49). Also, notice that the torque at joint i is a
function only of the dynamic parameters of links i to n.
Regarding the joint torque, each joint is driven by an actuator (direct
drive or gear drive); in general, the following torque contributions appear
where Ui is the actual driving torque at the joint, Tmi denotes the inertia
torque due to the rotor of motor i, Tfi is the torque due to joint friction,
and Tei is the torque caused by external force and moment applied to the
end effector.
In detail, the torque due to motor inertia is
(1.63)
where 1mi is the moment of inertia of the rotor and gyroscopic effects have
been neglected; accounting for the torque in (1.63) is equivalent to aug-
menting the elements Hii of the inertia matrix by the term 1mi.
Joint friction is difficult to model accurately; an approximate model of
the friction torque is
(1.64)
where Fsi and Fvi respectively denote the static and viscous friction coef-
ficients.
Finally, to compute the torque due to an external end-effector force 'Y
and moment JL, we can resort to the principle of virtual work. Since a rigid
manipulator is a system with holonomic and time-independent constraints,
its configurations depend only on the joint coordinates and not on time; this
implies that virtual displacements coincide with elementary displacements.
Hence, equating the elementary works performed by the two force systems
(end-effector and joint) for the manipulator at the equilibrium gives
°po = 0
lpl =0
2'h = 0
3 P3 = (.e 3 s 3ti2
and
°wo = 0
lWl = (0 0 1 f
2W2 = (S2til C2Ql
. .)T
Q2
(1.70)
26 CHAPTER 1. MODELLING AND IDENTIFICATION
where
-2l3c2823m3T3y + l~c~m3
H12 = 82 12"'21 + C2 12yz + 823/a"", + C2313yz -l3 8 2m 3 T 3z
H 13 = 82313"", + C23/ayz
H22 = 1m2 + 12zz + 2l3c3m3T3'" - 2l383m3T3y + l~m3 + 13zz
H 23 = 13zz + l3C3m3T3'" -l3 8 3m 3T3y
(1.71)
where
91 =0
92 = -YO{C2 m 2T2", - 82 m 2T2y + C23 m 3T3", - 823m 3T3y + l3 C2m 3)
93 = -YO{C23 m 3 T3", - 823 m 3T3Y)·
(1.72)
(I. 73)
1.2. DYNAMIC MODELLING 27
JOINT i JOINT i + 1
/
Notice that eqs. (1.72) and (1.73), when referred to frame i, are in general
more efficient than (1.58) for computing link velocity.
Differentiation of (1. 72) and (1.73) respectively gives
where ii is the inertia tensor of link i with respect to its center of mass.
Applying Steiner's theorem, the inertia tensor with respect to the origin of
link frame i is given by
(1.81)
(1.82)
where the contributions of motor inertia and joint friction have been suit-
ably added.
Recursive algorithm
On the basis of the above equations, it is possible to construct the following
algorithm where it is worth referring link velocities, accelerations, forces and
moments to the current frame i.
The initial conditions for a manipulator with fixed link 0 are
0..
Po = - 0·9
so as to incorporate gravity acceleration in the acceleration of link O. The
forward recursive equations for i = 1, ... ,n are:
(1.83)
(1.84)
(1.85)
. T
where 'ai = (0 0 1) .
For given terminal conditions n+1 ,n+l and n+1 /Ln+1' the backward re-
cursive equations for i = n, ... , 1 are:
i
Ii = mi i..Pi + i Wi. X mi i ri + i Wi X (i Wi X mi i ri ) + iRHl i+1 li+1 (1 .86)
(1.87)
1.2. DYNAMIC MODELLING 29
It is worth noticing that both (1.86) and (1.87) are linear with respect
to the set of dynamic parameters introduced in (1.69), and such a linearity
is obviously preserved by (1.88).
(1.90)
update of the terms in the dynamic model. Since several kinematic param-
eters may be unitary or null, redundant operations shall be avoided; also,
intermediate variables can be introduced which appear multiple times in
the computation. The result is a customized symbolic computation based
on the recursive Newton-Euler algorithm which can lead to a savings by
more than 50% in many practical cases.
W = T + U = ~ Wj1l'j (1.91)
j=l
Wj = ~ VjkWj,k (1.92)
k=l
with Vjk all constant. In that case, the parameter 1I'j shall be eliminated
while the parameters 1I'j,1, ..• ,1I'j,8 shall be changed into
,
1I'j,k = 1I'j,k + Vjk1l'j· (1.93)
The use of (1.92) for manipulators with more than three degrees offreedom
is lengthy and error prone, owing to the complicated expressions of Wj for
the outer links. In the following, a set of general rules are established for
symbolic grouping of dynamic parameters.
1.2. DYNAMIC MODELLING 31
7ri = (Iixx Iixy Iixz I iyy I iyz Iizz miTix miTiy miTiz mi) T j
(1.94)
accordingly, the coefficients in (1.91) can be cast into a (10 x 1) vector
Wi = (Wixx Wixy Wixz Wiyy Wiyz Wizz Wimx Wimy Wimz Wim)T
(1.95)
where it can be shown that
W. - ~ip.Tip.. _ 0gATO p .
tm - 2 it'·
Let us distinguish between the two cases of a revolute and a prismatic joint.
For a Tevolute joint, the following three relations always hold:
where i-1 Ai,k denotes the k-th column of matrix i-1 Ai which is a func-
tion of the kinematic parameters of link i. By comparing (1.97)-(1.99)
with (1.92), three parameters can be grouped with the other, the choice
32 CHAPTER 1. MODELLING AND IDENTIFICATION
being not unique. By choosing to group the parameters I iyy , miTiz and mi,
the sought relations can be found via (1.93), giving
(1.100)
and
I
7I"i-1 = 7I"i-1 + I iyy (i-1 l\i,l
\
+ i-I l\i,4
\ )
+ miTiz i-I l\i,9
\
+ mi i-I l\i,10·
\ (1.101)
In view of the structure of the columns of matrix i-I Ai, the resulting
grouped parameters via (1.100) and (1.101) are
Wixx = Wi_1
T i-1\
l\i,l (1.103)
Wixy = wi-1 l\i,2
T i-1\
(1.104)
Wixz = w Ti - 1 i-1\l\i,3 (1.105)
Wiyy = Wi_1
T i-1\
l\i,4 (1.106)
Wiyz = Wi-1 l\i,5
T i-1\
(1.107)
Wizz = Wi-1
T i-I \
l\i,6· (1.108)
1.2. DYNAMIC MODELLING 33
Therefore, six parameters can be grouped; choosing to group the six pa-
rameters of the inertia matrix of link i with those of link i-I yields the
relation
,
7I"i_1 = 7I"i-1
+ I ixx i-1 Ai,l
\
+ I ixy i-1 Ai,2
\ + I ixz i-1 Ai,3
\ (1.109)
+1iyy i-1 Ai,4
\
+ I iyz i-1 Ai,5
\ + I izz i-1 Ai,6·
\
In view of the structure of the columns of matrix i-1 Ai, the parameters
of the inertia tensor iIi can be grouped with the parameters of the inertia
tensor i-1 I i - 1 , and the grouped parameters are
i- 1 I'.-1 = i- 1 I·.-1 + i- 1 R·• i I·• i R·.-1
which gives
IL1xx = I i - 1xx + cos 2 iJilixx - 2 sin iJi cos iJJixy + sin 2 iJJiyy
I:- 1xy = I i - lxy + sin iJi cos iJi cos CtJixx
+( cos2 iJi - sin 2 iJ;) cos CtJixy - cos iJi sin Ctilixz
- sin iJ i cos iJ i cos Ctiliyy + sin iJ i sin CtJiyz
I:- 1xz = I i - 1xz + sin iJi cos iJi sin CtJixx
+(cos2 iJ i-sin2 iJi) sin CtJixy + cos iJi cos Cti Iix z
- sin iJ i cos iJ i sin Ctiliyy - sin iJ i cos CtJiyz (1.110)
I:_ 1yy = I i - 1yy + sin 2 iJi cos2 CtJixx
+2 sin iJi cos iJi cos2 CtJixy - 2 sin iJi sin Cti cos Ctilixz
+ cos2 iJi cos 2 Ctiliyy - 2 cos iJi sin Cti cos Ctiliyz + sin 2 Ctilizz
I:- 1yz = I i - 1yz + sin2 iJi sin Cti cos CtJixx
+2 sin iJi cos iJi sin Cti cos CtJixy + sin iJi ( cos 2 Cti - sin 2 Cti)Iixz
+ cos2 iJi sin Cti cos Ctiliyy + cos iJi ( cos2 Cti - sin2 Cti)Iiyz
- sin Cti cos CtJizz
,
I i-lzz = I
i-lzz + Sln
. 2 _0 2 • I
'Ui sm Cti ixx
• The axis of prismatic joint i is not parallel to joint Tl axis for Tl <
i < T2. In this case, the coefficients Wimx, Wimy and Wimz satisfy the
relation
(1.111)
where i ar1 = (ia r1x i ar1y iar1z)T is the unit vector of joint Tl axis
referred to frame i. Therefore, depending on the particular values of
i ar1x , i ar1y and i ar1z , one of the parameters miTix, miTiy, miTiz can
be grouped or eliminated.
• The axis of prismatic joint i is parallel to joint Tl axis for Tl < i < T2.
In this case, the following linear relation is obtained:
(1.112)
(1.113)
m~_l Ti-ly = mi-l Ti-ly + sin {)i cos D:imiTix + cos {)i cos D:imiTiy
m~_l Ti-lz = mi-l Ti-lz + sin {)i sin D:imiTix + cos {)i sin D:imiTiy
ILz = hzz + 2di cos {)imiTix - 2di sin {)imiTiy.
The following rules can be adopted to define all the parameters which
can be grouped or eliminated, and the remaining parameters will constitute
the set of base dynamic parameters of the dynamic model.
For i = n, ... , 1:
3. If joint i is prismatic and ai is not parallel to a rl for Tl < i < T2, then
group or eliminate one of the parameters miTix, miTiy, miTiz using
the property (1.111).
6. If joint i is prismatic and i < Tl, then eliminate miTix, miTiy and
miTiz·
_ _ ( ~ ( ql , ~l , ijd )
~- . (1.114)
~(qN,qN,ijN)
such that the number of rows is (typically much) greater than the number
of columns.
No matter how parameter reduction is accomplished, eq. (1.67) can be
rewritten as
u = Y(q,q,ij)p (1.115)
where p is an (T xI) vector of base dynamic parameters and Y (.) is an
(n x T) matrix which is determined accordingly.
As an example of dynamic parameter reduction, consider the complete
6-degree-of-freedom anthropomorphic manipulator in Fig. 1.3. Using the
36 CHAPTER 1. MODELLING AND IDENTIFICATION
for link 6, and thus the base parameters are: I~xx' I6xy , I 6zz , I6yz , I 6zz ,
m6T6x, m6T6y;
m~ = m4 +ms +m6
for link 5, and thus the base parameters are: I 5xx , Isxy , I szz , Is yz , I 5zz ,
msTsx, mSTSy;
for link 4, and thus the base parameters are: I 4xx ' I4xy , I4xz, I4yz , I 4zz ,
m4T4x, m4T4y;
for link 3, and thus the base parameters are: l~xx' hxy, 13xz , 13yz , lLz,
m3r3x, m~r~y;
• The parameters having no effect on the model are: hxx, hxy, l 1xz ,
h yy , l 1yz , m1 r lx, m1 r 1y, m1 r 1z, ml, m2r 2z, m2·
l~xx = 16xx - h yy .
Figure 1.5: Definition of mutual position and orientation between two ar-
bitrary frames.
i.e.,
Combining (1.116) with (1.117) and observing that a1 and i1 can be always
taken equal to zero gives
n- 1 T e = Rot(X,a~)Trans(X,I~)Rot(Z,'I?~)Trans(Z,d~)· (1.120)
Rot(X, a n+1)Trans(X, i n+1)Rot(Z, 'l?n+1)Trans(Z, dn+1)
40 CHAPTER 1. MODELLING AND IDENTIFICATION
The nominal value of f3i is zero. If Zi-l is not parallel to Zi, then the
parameter f3i will not be identified.
Consider the direct kinematics equation (1.14) which can be rewritten
as
x = k{() (1.122)
where ( is the (z x 1) vector of kinematic parameters, with at most z =
4{n+2)-2; indeed, we can see that when f3i exists, then di will be cancelled
also because ao = lo = o.
Let Xm be the measured location and Xn the nominal location that
can be computed via (1.122) with the nominal values of the parameters (.
The nominal values of the fixed parameters are set equal to the design
data of the mechanical structure, whereas the nominal values of the joint
variables are set equal to the data provided by the position transducers at
the given manipulator configuration. The deviation ~x = Xm - Xn gives
a measure of accuracy at the given configuration. On the assumption of
small deviations, at first approximation, it is possible to derive the following
model for identification purposes:
(1.123)
~X -- (~p)
~t/J
(1.124)
where
A _ b b
L.l.p - Pem - Pen (1.125)
1.3. IDENTIFICATION OF KINEMATIC PARAMETERS 41
denotes the orientation error (see Chapter 3 for a formal derivation of this
error).
The matrix W plays the role of a Jacobian of the kind 8k/8(, and its
columns can be computed by a procedure substantially analogous to that
followed for the geometric Jacobian; to this purpose, notice that ~t/> can
be interpreted as an angular velocity for small orientation errors. Let then
br.. = ( b
n.. b.
s, b .
a, b .)
P. (1.127)
, 0 0 0 1
denote the transformation matrix from frame b to frame i. Without loss of
generality, assume that m = 6 and that the measuring frame coincides with
the base frame. Then, the columns of W corresponding to the five types of
kinematic parameters are:
(1.128)
(1.129)
(1.130)
(1.131)
(1.132)
~x = (~~l
~XN
) ~l )~(= q,~(.
= (
'ItN
(1.133)
As regards the nominal values of the parameters needed for the computation
of the matrices 'It j, it should be observed that the kinematic parameters
are all constant except the joint variables which depend on the manipulator
configuration at location j.
In order to avoid ill-conditioning of matrix q" it is advisable to choose
N so that Nm> z and then solve (1.133) with a least-squares technique;
in this case the solution is of the form
(1.134)
where (q,Tq,)-lq,T is the left pseudoinverse matrix of q,. By computing q,
with the nominal values of the parameters (n, the first parameter estimate
is given by
(' = (n +~(. (1.135)
This is a nonlinear parameter estimation problem and, as such, the
procedure shall be iterated until ~( converges within a given threshold; this
procedure is commonly known as kinematic calibration. At each iteration,
the matrix q, is to be updated with the parameter estimates (' obtained
via (1.135) at the previous iteration. In a similar manner, the deviation ~x
is to be computed as the difference between the measured values for the
N end-effector locations and the corresponding locations computed by the
direct kinematics function with the values of the parameters at the previous
iteration. As a result of the kinematic calibration procedure, more accurate
estimates of the real manipulator geometric parameters as well as possible
corrections to make on the joint transducers measurements are obtained.
where q,1 includes the r independent columns of q" q,2 includes the re-
maining z - r dependent columns, and (1, (2 are determined accordingly.
The columns of q,2 can be written as a linear combination of the columns
of q,1 as
(1.137)
where V is a suitable (r x (z - r)) matrix with constant elements. Substi-
tuting (1.137) in (1.136) gives
(1.138)
where
(1.139)
In the identification process, eq. (1.138) shall be used instead of (1.134),
and the solution will yield the correction on the base parameters; notice
that the matrix V is not needed by the identification, the error components
on the parameters (2 are considered null, and the parameter error will be
updated using only the parameters (1.
It should be clear that the choice of the independent columns of q, is not
unique. A good criterion is to select the columns corresponding to those
parameters which appear explicitly in the symbolic kinematic model, such
as:
• the joint variables (the corresponding errors represent offsets on the
position transducer values),
• the distances li and di whose nominal values are not equal to zero,
44 CHAPTER 1. MODELLING AND IDENTIFICATION
• the angles (li and tJ i whose nominal values are not equal to k1r /2 with
k integer,
(1.140)
(1.141)
pointed out above, the base parameters can be computed either symboli-
cally or numerically.
It is worth observing that this method can be extended also to the
identification of the dynamic parameters of an unknown payload at the
end effector. In such a case, the payload can be regarded as a structural
modification of the last link and we may proceed to identify the dynamic pa-
rameters of the modified link. To this purpose, if a force sensor is available
at the manipulator wrist, it is possible to directly characterize the dynamic
parameters of the payload starting from force sensor measurements.
A critical issue for identification of dynamic parameters is the type of
trajectory imposed to the manipulator joints. The choice shall be oriented
towards polynomial type trajectories which are sufficiently exciting, other-
wise some parameters may become unidentifiable or very sensitive to noisy
data. This can be achieved by minimizing the condition number of the per-
sistent excitation matrix matrix yTy along the trajectory. On the other
hand, such trajectories shall not excite any unmodelled dynamic effects such
as joint elasticity or link flexibility that would naturally lead to obtaining
unreliable estimates of the dynamic parameters to identify.
As pointed out previously, the torque at joint i is a function only of
the dynamic parameters of links i to n. It follows that the matrix Y has a
block upper-triangular structure so that
(1.142)
(1.143)
where W is the Hamiltonian, and u does not include friction torques; ad-
ditional terms are obtained on the right-hand side of (1.143), if friction is
present. In view of the property of linearity expressed by (1.91), it is
(1.144)
where the vector of base dynamic parameters p has been considered, and y,T
is a suitable (1 x r) vector of coefficients which depends on joint positions
and velocities and can be computed from the symbolic expressions of kinetic
and potential energy. Using (1.144) in (1.143) gives
(1.145)
(1.146)
where .1.ti = tbi - tai for i = 1, ... , N, and N ~ r. From joint velocity and
torque measurements, the vector .1.W can be computed via (1.143).
The model (1.146) has the same form as (1.140), and then the parame-
ters can be identified by using a left pseudoinverse of .1.Y' as in the solution
given by (1.141). The main advantage of this method over the previous
one is that it avoids reconstruction of joint accelerations. Nevertheless,
for a given trajectory, the condition number of the persistent excitation
matrix yTy is in general smaller than that of the matrix .1.y,T .1.Y'.
48 CHAPTER 1. MODELLING AND IDENTIFICATION
be effectively used also for direct dynamics computation [94]. The two
formulations have been compared from a computational viewpoint in [85].
Recursive methods for calculating the direct dynamic model using Newton-
Euler equations without calculating firstly the inertia matrix can be found
in [6, 25]. On the other hand, the dynamics of tree-structured and closed-
loop manipulators was studied in [59, 55, 65]. The set of dynamic pa-
rameters was formalized in [50, 53, 57]. Inclusion of actuator inertia and
gyroscopic effects was studied in [18, 84]. For friction modelling, the reader
is referred to [4].
Efforts to reduce the computational burden of the dynamic model were
made, e.g., [42, 55] by suitably customizing the symbolic model to compute.
A breakthrough was the symbolic determination of the base dynamic pa-
rameters both for open-chain manipulators [28, 30, 48, 67, 63, 46] and for
tree-structured and closed-chain manipulators [10, 11, 47]. Alternatively,
the base dynamic parameters can be computed numerically, as in [27].
The problem of kinematic calibration is surveyed in [82, 40]. Original
work on identification of kinematic parameters was done by [97, 74, 89,
96, 88]. The addition of a fifth parameter to the kinematic model is due
to [37], with further refinements in [99]. Symbolic computation of the base
kinematic parameters was developed in [52], whereas the reader is referred
to [51] for QR decomposition needed for numerical computation of the base
parameters. Exciting configurations are given in [12, 52]. Recently, the
so-called autonomous methods which do not need an external sensor to
measure the end-effector position or orientation have been proposed [9, 23,
98, 49, 69]; these methods construct the identification model by virtually
realizing a mechanical contact (point-to-point or frame-to-frame) between
the terminal link and the environment.
Identification of inertial parameters using standard least-squares tech-
niques was carried out in [66,58,7,26,43,36,79,32]. Friction identification
was investigated in [3, 16, 17]. As opposed to identification, physical mea-
surement of dynamic parameters was accomplished in [5]. The sequential
identification method was developed in [15]. The use of the energy model
was proposed in [29] and carried out by sequential method in [76]. The
problem of finding exciting trajectories was studied in [2, 31]. Practical
implementations of identification methods can be found in [14, 77, 33].
References
[1] J. Angeles, Spatial Kinematic Chains: Analysis, Synthesis, Optimiza-
tion, Springer-Verlag, Berlin, D, 1982.
50 CHAPTER 1. MODELLING AND IDENTIFICATION
[7] C.G. Atkeson, C.H. An, and J.M. Hollerbach, "Estimation of inertial
parameters of manipulator loads and links," Int. J. of Robotics Re-
search, vol. 5, no. 3, pp. 101-119,1986.
[8] A.K. Bejczy, Robot Arm Dynamics and Control, memo. TM 33-669,
Jet Propulsion Laboratory, California Institute of Technology, 1974.
[19] J.J. Craig, Introduction to Robotics: Mechanics and Control, (2nd ed.),
Addison-Wesley, Reading, MA, 1989.
[20] J. Denavit and R.S. Hartenberg, "A kinematic notation for lower-
pair mechanisms based on matrices," ASME J. of Applied Mechanics,
vol. 22, pp. 215-221, 1955.
[22] J.J. Dongarra, C.B. Moler, J.R. Bunch, and G.W. Stewart, LINPACK
User's Guide, SIAM, Philadelphia, PA, 1979.
[44] W. Khalil, "A system for generating the symbolic models of robots,"
Postpr. 4th IFAC Symp. on Robot Control, Capri, I, pp. 416-468, 1994.
[50] W. Khalil and M. Gautier, "On the derivation ofthe dynamic models of
robots," Proc. 2nd Int. Con/. on Advanced Robotics, Tokyo, J, pp. 243-
250, 1985.
[54] W. Khalil and J.F. Kleinfinger, "A new geometric notation for open
and closed-loop robots," Proc. 1986 IEEE Int. Con/. on Robotics and
Automation, San Francisco, CA, pp. 1174-1180,1986.
[56] O. Khatib, "A unified approach for motion and force control of robot
manipulators: The operational space formulation," IEEE J. of Robotics
and Automation, vol. 3, pp. 43-53, 1987.
[60) V.C. Klema and A.J. Laub, "The singular value decomposition: Its
computation and some applications," IEEE Trans. on Automatic Con-
trol, vol. 25, pp. 164-176, 1980.
[61) C.L. Lawson and RJ. Hanson, Solving Least Squares Problems,
Prentice-Hall, Englewood Cliffs, NJ, 1974.
[62) H.Y. Lee and C.G. Liang, "Displacement analysis of the general 7-link
7R mechanism," Mechanism and Machine Theory, vol. 23, pp. 219-226,
1988.
[63) S.K. Lin, "An identification method for estimating the inertia param-
eters of a manipulator," J. of Robotic Systems, vol. 9, pp. 505-528,
1992.
[64) J.Y.S. Luh, M.W. Walker, and RP.C. Paul, "On-line computational
scheme for mechanical manipulators," ASME J. of Dynamic Systems,
Measurement, and Control, vol. 102, pp. 69-76, 1980.
[65) J.Y.S. Luh and Y.F. Zheng, "Computation of input generalized forces
for robots with closed kinematic chain mechanisms," IEEE J. of
Robotics and Automation, vol. 1, pp. 95-103, 1985.
[66) H. Mayeda, K. Osuka, and A. Kangawa, "A new identification method
for serial manipulator arms," Prepr. 9th IFAC World Congr., Kyoto,
J, vol. 6, pp. 74-79,1981.
[67) H. Mayeda, K. Yoshida, and K. Osuka, "Base parameters of manip-
ulator dynamic models," IEEE Trans. on Robotics and Automation,
vol. 6, pp. 312-321, 1990.
[68) J.M. McCarthy, An Introduction to Theoretical Kinematics, MIT
Press, Cambridge, MA, 1990.
[69) H. Nakamura, T. Itaya, K. Yamamoto, and T. Koyama, "Robot au-
tonomous error calibration method for off line programming system,"
Proc. 1995 IEEE Int. Con/. on Robotics and Automation, Nagoya, J,
pp. 1775-1783,1995.
[70) D.E. Orin, RB. McGhee, M. Vukobratovic, and G. Hartoch, "Kine-
matic and kinetic analysis of open-chain linkages utilizing Newton-
Euler methods," Mathematical Biosciences, vol. 43, pp. 107-130,1979.
[71) D.E. Orin and W.W. Schrader, "Efficient computation of the Jacobian
for robot manipulators," Int. J. of Robotics Research, vol. 3, no. 4,
pp. 66-75, 1984.
56 CHAPTER 1. MODELLING AND IDENTIFICATION
[96] D.E. Whitney, C.A. Lozinski, and J.M. Rourke, "Industrial robot for-
ward calibration method and results," ASME J. of Dynamic Systems,
Measurement, and Control, vol. 108, pp. 1-8, 1986.
[97] C.H. Wu, "A kinematic CAD tool for the design and control of a robot
manipulator," Int. J. of Robotics Research, vol. 3, no. 1, pp. 58-67,
1984.
[98] X.-L. Zhong and J.M. Lewis, "A new method for autonomous robot
calibration," Proc. 1995 IEEE Int. Conf. on Robotics and Automation,
Nagoya, J, pp. 1790-1795,1995.
[99] J. Ziegert and P. Datseris, "Basic considerations for robot calibration,"
Proc. 1988 IEEE Int. Conf. on Robotics and Automation, Philadelphia,
PA, pp. 932-938, 1988.
Chapter 2
o
Property 2.5 The Coriolis and centrifugal terms C(q, cj)cj verify
Remarks
• Positive definiteness of the inertia matrix is a well-known result of
classical mechanics for scleronomic systems, i.e., finite dimensional
systems having only holonomic constraints and whose Lagrangian
does not depend explicitly on time.
• Boundedness of the inertia matrix entries, i.e, AM < 00, as well as
bounded ness of the gravity vector norm hold only for manipulators
with revolute joints.
• Property 2.2 will be proved to be essential in the development of
certain classes of control algorithms and is closely related to passivity
properties of the manipulator.
2.2. REGULATION 63
• The vector p contains the base dynamic parameters, and the dynamic
equations are said to be linear in the parameters. Property 2.3 is
essential in the development of adaptive controllers.
• Properties 2.4, 2.5, 2.6, 2.7 are very useful because they allow us to
establish upper bounds on the dynamic nonlinearities. As we will
see further, several control schemes require knowledge of such upper
bounds.
2.2 Regulation
Controllers of PID (Proportional, Integral and Derivative) type are designed
in order to solve the regulation problem. They have the advantage of re-
quiring the knowledge of neither the model structure (2.1) nor the model
parameters. Let us start the discussion with the simplest stabilizing control
structure, i.e., PD control.
2.2.1 PD control
A PD controller has the following basic form:
(2.9)
where qd and q respectively denote the desired and actual joint variables,
and K p, K D are constant, positive definite matrices.
It is well understood why this controller works for a system of double in-
tegrators but much less why it can stabilize the Lagrange nonlinear dynam-
ics (2.1). This can be proved on the basis of Property 2.2: qT N(q, q)q = 0
which results from the law of conservation of energy and can be understood
as the fact that some internal forces of the system are workless. On the
other hand, gravity forces are known to cause positioning errors if no in-
tegral action is included. These errors can be analyzed and predicted by
studying the equilibrium point(s) ofthe closed-loop system and then stabil-
ity of such equilibria can be inferred. Lyapunov analysis and its extension
(the La Salle's invariant set theorem) are the suitable tools to do this. Let
us first discuss about the equilibria under PD control.
Consider the regulation problem, with qd constant, and let us introduce
the error vector, ij = q - qd, with it = q and q= ij. With this definition,
64 CHAPTER 2. JOINT SPACE CONTROL
we can now substitute the control law (2.9) into the manipulator dynamics
(2.1) so as to obtain the following error equation
describes a set of all possible equilibria for the system (2.10). To be more
specific, let us consider the following example.
it = 6
. 1 (2.13)
~2 = -m (-kD~2 - kp6 - glcos~d
Clearly, the desired position qd = 0 does not belong to the set S and
hence will never be reached. On the other hand, the equilibria will depend
on the physical constants of the systems, i.e., 9 and I, as well as on the
controller gain kp. Note that if kp is large enough a unique equilibrium
point does exist, whereas if kp is small enough S will contain more than
one equilibrium point -two if q E [-11",11"], more than two if q E R. It is
worth remarking that an estimate of system precision can be obtained from
the invariant set S by noticing that the set
B = {(q,tj): Iql ~ gl/kp, tj = O} (2.15)
includes the invariant set S, i.e., S ~ B. Clearly, by increasing the propor-
tional gain kp, the distance between any point in S to the origin, and hence
the positioning error, can be arbitrarily reduced, at least in principle. This
preliminary analysis illustrates the concept of invariant set and agrees with
the engineering experience of improving system precision by increasing the
proportional gain. Stability of the equilibria will now be studied.
There are several ways to perform stability analysis. One possibility
is to resort to the Lyapunov direct method and its extension, i.e., the La
Salle's invariant set theorem for autonomous nonlinear systems. Another
possibility is to use Lyapunov-like functions and to apply Barbalat's lemma.
Although this latter approach is more suitable for nonautonomous systems,
it can also be applied in connection with the considered problem. Yet an-
other possibility is to consider the gravity forces as a bounded disturbance
(this is true in general for revolute joint robots, as remarked for the dy-
namic model properties) and perform the stability analysis on this basis.
This approach is interesting when the explicit determination of the equi-
libria is difficult to obtain, which renders the stability analysis via formal
Lyapunov functions quite complicated and the determination of invariant
sets difficult. In such a case, it is more appropriate to look for attrac-
tors (a set containing the equilibria) and consider ultimate boundedness in
case of autonomous systems and uniform ultimate boundedness in case of
nonautonomous systems, respectively. This notion is sometimes known as
pmctical stability. We will come back to these concepts later on in this
chapter. Let us carry out the stability analysis of system (2.12) about the
equilibria {* E S by use of Lyapunov analysis.
The theory given in Appendix A is concerned mainly with systems hav-
ing the equilibrium point at the origin, i.e., {* = OJ however, these results
can be extended to other equilibria different from zero by shifting the origin
via a suitable change of coordinates. For instance, let e be the difference
between the actual position q and an equilibrium position q*, i.e.,
e = q - q*,
66 CHAPTER 2. JOINT SPACE CONTROL
( 8V
8q (~*)
)T = kpq* + glcosq* = 0 (2.18)
where eo is some constant. Within R we have to look for the largest invari-
ant set, which is given by Se = {(e,e): e = 0, e = O} in the e-coordinates,
or by S as defined in (2.14) in the q-coordinates. Therefore, by the La
Salle's theorem, any solution ~(t) originating in the neighbourhood of C
will tend to S as t -+ 00.
. .T . . T 1· . .T . T au q) )
V=-ij KDij+ij ( 2H(q)-C(q,(j))ij-ij g(q)+ij ( +. T
:s -A min(KD)lIqIl2 (2.25)
(2.26)
(2.27)
Let us describe the robot manipulator dynamics (2.1) in state space form,
with ~1 = q, ~2 = II and ~ = (~r ~r )T, as
el = ~2 (2.29)
e2 = H-l(6)(-C(~t.6)~2 - g(6) + 11.)
________________________________ 69
2.2. REGULATION
6 =6 -6d (2.30)
[2 =6
where 6d denotes the position reference vector qd. Introduce a third state
as the integral of the position error plus a bias component
[1 = [2 (2.32)
~~ = H- 1(6) (-C(~1'[2)[2-9(6)-Kp[1-KD[2-KI({3+9(6d)))
[3 = [1.
To study the local stability of the above error equation system, consider its
linear tangent approximation about the origin ({* = 0)
(2.33)
with
Ao = _ 8(H-1 g ) I
86 6=~ld
If the matrix gains K p, K D, Klare chosen to make the linearized au-
tonomous system (2.33) asymptotically stable, the states of the augmented
closed-loop system (2.33) will tend to zero. Since {1 -+ 0, the steady-state
error can be cancelled without any knowledge of the disturbance.
If A is a stable matrix, we can then define V as
(2.35)
70 ____________________
CHAPTER 2. JOINT SPACE CONTROL
and then the error system (2.99), under the action of the PID controller,
is locally asymptotically stable.
<><><>
The inequality (2.37) is obtained from Routh's criterion for the above third-
order polynomial. If the inertia matrix is not diagonally dominant and if
we wish not to have large values for Kp, then we should find values for the
matrices K p, K D, K I so that all the roots of the following polynomial
2.2. REGULATION 71
Notice that the eigenvalues of matrix A will be depending upon the de-
sired position in a nonlinear fashion. More specifically, they depend on the
magnitude of the gravity components and on the values of the inertia matrix
entries. In some industrial manipulators, gravity can vary from zero up to
values that can represent 20% to 30% or more of the maximum permissible
torque. This implies that transients in point-to-point control can have sub-
stantial differences according to either the type of motion required (going
up or going down) or the operational configurations. In other words, if the
same transient behaviour is required in the whole manipulator workspace,
the controller gains shall be changed according to the value of gravity and
the direction of the motion. Another difficulty in using integral action is
the presence of dry friction. It can cause oscillations due to the interaction
between integral gains and friction nonlinearities. In practice this problem
is partially solved by introducing additional piecewise nonlinearities in the
integral components, like deadzones. It is customary to activate the integral
action only when q is close to qd to avoid overshooting and deactivate it
when the error is too large or when it is below a very small threshold (zero
for practical purposes) in order to avoid numerical drift in the integration.
These ideas are based on heuristics and in turn on the engineer's common
sense. Additional analysis will be required to determine how these mod-
ifications affect the transient behaviour and ensure, if possible, a uniform
performance in the complete manipulator workspace.
By invoking the La Salle's invariant set theorem, it can be shown that the
largest invariant set S is given by
and hence the regulation error will converge asymptotically to zero, while
their high-order derivatives remain bounded. This controller requires
knowledge of the gravity components (structure and parameters), though.
In conclusion, the following considerations are in order:
• PID controllers are locally stable and can solve the regulation prob-
lem but cannot, in general, guarantee uniformity of the transient be-
haviour.
ii = Uo (2.46)
(2.48)
(2.49)
if control law (2.48) is used. Both error equations (2.49) and (2.50) are
exponentially stable by a suitable choice of the matrices K D, K p (and
KJ). To see this, we can rewrite (2.49) or (2.50) in its state space form,
i.e., ~ = Ae. It is thus easy to show that if KD, Kp (and KJ) are suitably
chosen then the matrix A is stable. Then we can find, for some symmetric
Q > 0, a symmetric positive definite matrix P satisfying AT P + P A = -Q.
74 CHAPTER 2. JOINT SPACE CONTROL
Global asymptotic Lyapunov stability follows. For any initial position the
tracking error will asymptotically converge to zero. The transient behaviour
will thus be symmetric and independent of the operation conditions. The
matrix gains KD, Kp (and KI) should be adjusted once for all.
This controller needs exact knowledge of the model parameters and
requires an additional number of numerical computations. The computa-
tional burden of Uo is comparable to that of PID controllers discussed in
the previous section. However, to calculate u it is necessary to perform
trigonometric operations. Additional matrix and vector multiplications are
thus required. Floating point operations are highly advised.
Computation time has been so far the main restrictive factor that has
prevented this method from having a larger impact. Most of the practi-
cal experiments have been carried out in research laboratories. Nowadays,
there is not yet any commercially available industrial manipulator equipped
with this type of controller. A possible reason for this -apart from compu-
tation time limitations- is that inverse dynamics control needs the analytic
derivation of model (2.1) and the identification of the associated parame-
ters. This effort can be important when considering a six-degree-of-freedom
manipulator. Methods seeking to simplify the dynamical model do exist
however. They allow obtaining, via minimization methods, a simplified in-
ertia matrix, hence a simplified Lagrange dynamics and finally a simplified
inverse dynamics control. A figure of merit of this reduction for a four-
degree-of-freedom manipulator is of the order of magnitude of about 50%
of the total computational burden.
where KD > 0 and the matrix C(q, q) satisfies Property 2.2. This control
law applied to the manipulator dynamics gives the closed-loop equation
q=-Aij+u. (2.56)
Lemma 2.3 The control law (2.59) applied to the robot manipulator dy-
namics (2.1) has the following properties:
(i) uEC 2 nC oo
(ii) lIu(t)1I2 ~ 11:1 exp( -111 t )lIu(O) 112
(iii) ij E C2 n Coo, q E Coo
(iv) lIij(t)1I2 ~ 11:2 exp( -1J2t)lIij(O)1I2
(v) IIq(t)1I2 ~ 11:3 exp( -113(111, 1J2)t) II (ij(O)T q(O)T)T II
where 11:1, 11:2 are positive constants and 111, 1J2 are positive constants de-
pending on the controller gains KD and A; also 11:3 is a constant function
of ij(O) , q(O), and 113 is a constant function of 111, 1J2.
<><><>
1 T
V = _u
2
H(q)u (2.57)
76 ____________________
CHAPTER 2. JOINT SPACE CONTROL
(2.60)
(2.62)
which leads to
V(t)::; V(0)exp(-111t) (2.63)
and then, using bounds on V(t), we get
lIu(t)1I2 ::; Ami~~D) exp( -111 t )lIu(0)1I 2 = 11:1 exp( -111 t )lIu(0)1I 2. (2.64)
is bounded as follows:
where (2.66) is obtained by using Property (ii) , and 11:2, 'T/2 are given as:
(2.67)
(2.68)
Remark
• It is possible to obtain a similar proof by strictly following Lyapunov
arguments. This can be done by defining the Lyapunov function
(2.69)
V = -aTKDa+qTpq
= -l KDq - qTATKDAq ~0 (2.70)
where the last expression is obtained by using (2.56). Note that now
the derivative of V depends on both the position and velocity errors.
The proof is completed by invoking Lyapunov direct method.
78 CHAPTER 2. JOINT SPACE CONTROL
where, as before, H(q) is the inertia matrix and C(q, q) is a matrix chosen
so that Property 2.2 holds, KD is a symmetric positive definite matrix, and
the vector 0' is given by
(2.72)
where F(·) is the transfer function of a strictly proper, stable linear op-
erator (filter), and the mapping -0' H 1/J is passive relative to Vl, i.e.,
J~ -O'(r)T1/J(r)dr = Vl(t) - V1(O) for all t ~ o. Then ij E L2 n L oo , Ii E
L2, ij is continuous and tends to zero asymptotically. In addition, if 1/J is
bounded, then 0' and consequently Ii also tend to zero asymptotically.
<><><>
(2.73)
which in view of the passivity properties of the mapping -0' H 1/J is positive
definite. Evaluating the time derivative of V along the solutions to (2.71)
gives
= -O'TKDO'. (2.74)
Therefore, by following the same reasoning as before, we have that 0' E L2,
ij goes to zero and Ii is bounded. In view of the passivity of the mapping
-0' H 1/J, then Ii also goes to zero if 1/J is bounded.
<>
2.3. TRACKING CONTROL 79
This theorem will be useful when proving global convergence in the case
of input bounded disturbances and/or partial knowledge on the manipula-
tor model parameters, which will be presented in the subsequent sections.
In the case of known parameters, the vector 't/J is equal to zero and the sta-
bility analysis and properties are the same as the Lyapunov-based design in
the previous section. The formulation presented in this section then allows
unifying most of the proposed control algorithms for rigid robot manipula-
tors enjoying global stability properties.
The control law is then given as in (2.53), i.e.,
u = H(q)( + C(q, ti)( + g(q) - KDO'. (2.75)
Now 0' and ( can be defined as
( = tid - K(·)q (2.76)
0' = F- 1 (')q, (2.77)
where K(·) is a linear operator that should be chosen so that F(·) is strictly
proper and stable, as required by Theorem 2.1; then q and qtend to zero.
Note that F and K are related by
F-l(S) = s1 + K(s) (2.78)
where s stands for the Laplace operator.
From this formulation it is easy to recover other choices of passivity-
based control laws; e.g., the previous choice of K(s) as
K(s) = A (2.79)
where A is a symmetric positive definite diagonal matrix. In this case, the
operator F( s) becomes
F(s) = (s1 + A). (2.80)
Another possibility is to select K(s) as
KJ KR
K(s)=K p +-+-
S S
2 • (2.81)
where K j are the controller gains and n is the order of the desired polyno-
mial. The determination of n relies on other properties apart from stability,
e.g., disturbance rejection characteristics.
80 CHAPTER 2. JOINT SPACE CONTROL
together with the disturbed model (2.83). This gives the following closed-
loop equation
q+ K Dii. + K pij + K I lot ijdr = 8, (2.86)
Since the static transfer loop gain of this function is equal to zero, the
steady-state value of the error will also be zero. In other words, the tracking
error iii will tend to zero in spite of the unknown disturbance Oi, i.e.,
iii(OO) = 8-0
lim 3 k 2 S k k Oi = o.
S + DS + pS + I
(2.88)
(2.91)
which shows how the integral action is introduced. Now, since V is positive
definite and V negative semi-definite, we have that the states a and d are
bounded. It remains to be proved that the mapping -a H d is passive
relative to some Vi to complete the requirement on passive systems.
Note that from (2.93) we have _aT d = -JI" Ki1d, and thus
( = qd - K(·)ij (2.98)
(2.99)
where the filters F(·) and K(-) have the same meaning as before. With
this control, following exactly the same lines as in the previous section and
using Theorem 2.1, we have that
(i) U E £2 n £00' d E £2 n £00
(ii) ij E £2 n £00' qE £00
(iii) lim (ijT
t-+oo
l uT ) T = o.
where we have used the property of linearity of H(q), C(q, q), g(q) -
and therefore of Ho(q), Co(q, q), go(q)- with respect to a set of constant
physical parameters p. Note that yo
is an (n x r) matrix and p = Po - P
is an (r x 1) vector expressing the error in the parameters.
Therefore we have
In the so-called ideal case, i.e., when p == 0 and u == 0, the error equa-
tion in (2.101) reduces to the error equation in (2.49). It follows from
the positive definiteness of the inertia matrix H(q) that the tracking error
asymptotically converges to zero. Due to the mismatch between the nom-
inal and the true system, however, the stability analysis of the perturbed
error equation in (2.101) becomes more involved. Indeed the perturbation
term on the right-hand side of (2.101) is state-dependent, and therefore it
cannot be assumed to be a priori bounded by some positive constant as in
the previous section. Moreover, the matrix function yo contains highly
nonlinear terms -recall that the centrifugal and Coriolis inertial torques
are quadratic functions of q- that render the equivalent perturbation y(·)p
more difficult to deal with in a stability analysis. In the sequel we prove
that this problem can be overcome by a suitable choice of the additional
input Uo.
First, let us rewrite the error equation in (2.101) in state space form.
q
Choose {l = ij and 6 = as state variables; then { = (a a)T is the
state vector. We obtain
. (0
{= -Kp
I) {+ (0)
-KD H-l(q) (Y(·)p_
+ uo) (2.103)
(2.104)
where
A-(-
0
-Kp -KD
I) B=(~)
and e({) = H-1(q)Y(·)p.
We can recognize from (2.104) that the so-called matching conditions are
verified in this case, i.e., the uncertainty enters into the system in the same
place as the input does. One slight difficulty comes from the fact that H- 1
premultiplies u and is unknown. We will see that the a priori knowledge of
86 CHAPTER 2. JOINT SPACE CONTROL
(2.105)
(2.106)
We now make the assumption that there exists a known function f3(.) :
R2n X R -+ Ri and a constant vector a* E Rl such that
f3i(~' t) ~ 0
ai ~ 0 1~i ~l (2.108)
IIH-1(q, t)YOpll ~ f3T(~, t)a*
(2.109)
(2.110)
with e > 0 and X ~ AM. Hence, plugging (2.110) into (2.109) yields
(2.114)
so that
(2.115)
with el = 2e.
From (2.113) and (2.115) we conclude that the additional torque input
in (2.110) allows us to establish that in all cases the following inequality is
true:
(2.116)
At this point, let SE: denote a compact set around the origin ~ = OJ
the subscript indicates that the size of SE: is directly related to e, and
SE: --+ {~= O} as e --+ o. The following result can be established.
Theorem 2.2 The state ~ is globally ultimately uniformly bounded with
respect to the compact set SE:, i.e., given any e > 0 there exists a finite
time T > 0 -which does not depend on the initial time but may depend on
II~(O)II- such that ~(t) enters SE: and remains inside for all t > T.
<><><>
Proof. Inequality (2.116) implies that as long as the state vector ~ lies
outside a compact set of the state space, then V is strictly decreasing. We
will use this fact to demonstrate the ultimate boundedness of ~. Assume
that ~(O) lies outside the ball Br defined as
Then from (2.116) we see that, outside Br(E:), V is strictly negative and
therefore V strictly decreases. From the positive definiteness of V we infer
that there exists a finite time Tl such that 1I~{Tl)1I = r{e). Thus we have
(2.118)
88 CHAPTER 2. JOINT SPACE CONTROL
(2.119)
11(-) = Amin(P)II·11 2
(2.120)
12(-) = Amax (P)II·11 2,
it follows that
(2.121)
(2.122)
(2.123)
so that
(2.124)
Hence, we have that ~ remains inside the ball centered at the origin with
radius 11 1 (r2(r(e))) = (Amax(P)/Amin(P))!r(e) = r.
Now it is clear that, given any prespecified r > 0, we can find some e > 0
and h > 0 such that ~ eventually lies in the ball B r . Conversely if e in Uo
tends to zero, ~ is ultimately bounded with respect to a ball of radius that
also tends to zero, as we can always find some h in (2.117) which tends to
zero; however, in this latter case note that T1 in (2.122) is not guaranteed
to be bounded, Le., the origin will be reached asymptotically.
The above analysis can be further explained as follows. First observe
that the level sets of the positive definite function V in (2.105) are com-
pact sets of the state space around the origin ~ = 0; namely, they are
2n-dimensional ellipsoidal sets. Thus strict negativeness of V outside Br(e)
2.4. ROBUST CONTROL 89
implies that ~ eventually remains in the smallest level set of V which con-
tains B r (£). This is easily visualized in the plane -or in the 3-dimensional
Euclidean space- where the level sets are defined as
(2.125)
(2.126)
(2.127)
Remarks
if II~TpBII.BT{~,t)a* < c.
(2.128)
Notice that this input is a continuous function of time as long as c is
strictly positive. Substituting (2.128) into (2.109) gives the following
results.
90 ____________________ CHAPTER 2. JOINT SPACE CONTROL
(2.134)
where
Taking the time derivative of V along the solutions to the error equation
in (2.134) gives
(2.136)
Proceeding as we did for inverse dynamics control, we can bound the un-
certain term y(·}p from above and obtain
By choosing Uo as
(2.138)
we obtain
We conclude that for all values of 11(1"11 the following inequality holds:
(2.142)
2.4. ROBUST CONTROL
_____________________________ 93
We have not used here the fact that the stability analysis is conducted
with the Lyapunov-like function V in (2.135) which is a positive definite
function of u, i.e., the variable from which Uo is computed. This was not
the case for the inverse dynamics control algorithm -compare V in (2.135)
with V in (2.105). Indeed we can slightly simplify the computation of Uo
in (2.138) by choosing
{3T(U, t)a*
u = - u (2.143)
e
as an additional input. The reason for doing this is mainly to reduce the
input magnitude by choosing uncertainty upper bounds as less conservative
as possible.
According to the same reasoning as above, the following result can be
established.
Theorem 2.3 Given some r > 0, there exist some e > 0 and h > 0 such
that u is ultimately uniformly bounded with respect to the ball Br centered
.. . h d·
at t he ongm unt ra 'us r = (Amin(KD)
2e
+ h)! AM
Am .
<><><>
Proof. It is easy to see that each time u is outside the ball BE: then
(2.144)
Thus u eventually converges to the ball B'F of radius f = (AM / Am)e. This
time, we do not need to consider any constant h > 0 that defines a neigh-
bourhood of the boundary of the ball outside of which V is strictly negative,
since inequality (2.144) holds even on the boundary of BE:.
We conclude the proof by noticing that ij can be considered as the
output of a first-order linear system with transfer function l/(s + A) and
with input u(t). Therefore if for some TI > 0 we have lIu(t)1I ::; r for all
t ;::: T I , then asymptotically lIij(t)1I ::; r/A and IIq(t)1I ::; 2r. In fact, we have
so that
q(t) ::; exp( -~t) (q(O)+ /,T. exp(~r)q(r)dr) + i (1 - exp( -~(t - Ttl»).
(2.146)
Since we know that TI is finite for a strictly positive e, the conclusion
follows.
<>
94 CHAPTER 2. JOINT SPACE CONTROL
Remarks
• It is important to emphasize that if the nominal parameters Po are
equal to the true ones, then we still get asymptotic convergence of
the tracking error to zero, because the additional input always acts
in the right direction. However it is expected that the closer p to Po,
the smaller the upper bound on the uncertainty.
• An alternative way to define the additional input in (2.138) or (2.143)
is to bound the uncertain term in (2.134) from above as
(2.147)
where Ilpll ::; a*, a* being known. Thus the variable leading the input
is no longer u alone, but instead yT u. Indeed we can replace Uo in
(2.133) with flo = Y(')UOj this is possible as yo is a known matrix
and is assumed to be available on line. Choose Uo as
(2.148)
The convergence is ensured for any value of the proportional and derivative
matrix gains, assumed to be symmetric and positive definite. The only
constraint is in the adaptation gain which has to be greater than a lower
bound. In the common case in which only the robot manipulator payload
is unknown, one integrator is sufficient to implement this controller, while
a PID algorithm requires as many integrators as the number of the joints.
Since the gravity vector g(q) is linear in terms of robot manipulator
parameters, it can be expressed as g(q) = Yg(q)Pg, where Pg is the (rg xl)
vector of constant unknown parameters, and Yg(q) is an (n x rg) known
matrix. Even if the inertia matrix is supposed to be unknown, we assume
known upper and lower bounds on the magnitude of its eigenvalues as in
Property 2.1; also we assume that Property 2.6 holds. Consider the control
law
u = -Kpij - KDq + Yg(q)Pg (2.150)
with the parameter adaptation dynamics
~ = -vyT( q ) (')'q
Pg
.
+ 1 +2ij)
2ijT ij (2.151)
(2.152)
where
Theorem 2.4 Consider the system in (2.150) and (2.151). If')' is taken
as in (2.152), then ij(t), q(t) and P are bounded for any t ~ o. Moreover
(2.153)
000
(2.154)
2.5. ADAPTIVE CONTROL 97
which is positive definite since by assumption "( > "(1' The time derivative
of (2.154) is given by
Remarks
• Since the constants on the right-hand side of (2.152) are bounded, we
can always choose "( so that (2.152) is satisfied.
• The above stability analysis is based on the Lyapunov function in
(2.154). Note that the choice of V in (2.154) is much less "natural"
than the one when gravity is ignored.
98 CHAPTER 2. JOINT SPACE CONTROL
Before going further on with the stability analysis, let us introduce two
assumptions that we will need in the sequel:
Assumption 2.1 The acceleration ij is measurable,
o
Assumption 2.2 The estimate of the generalized inertia matrix fI(q) is
full-rank for all q.
o
The error equation in (2.163) can be rewritten as
q+ KDq + Kpij = fI-l(q)Y(q, q, ij)p = cp(q, q, ij, fJ)p. (2.165)
This equation can be cast in state space form by choosing 6 = ij, 6 = q,
~= (a a)T, i.e.,
~ = A~ + Bcpp (2.166)
with
01)
A=( -Kp -KD
The following result can be established.
Lemma 2.4 If Assumptions 2.1 and 2.2 hold and the parameter estimate
is updated as
(2.167)
where r is a symmetric positive definite matrix, then the state ~ of system
{2.166} asymptotically tends to zero.
Remarks
(2.171)
But since H- 1 (q) is neither known nor linear with respect to some set
of physical parameters, it seems impossible to use such an equivalent
error equation.
Proof. It is easily verified that the system -u 1-+ 't/J with state p is passive
relative to the function V2 = ~ pTr- 1 p. Indeed for all T ~ 0 we have
Therefore the conclusions of Theorem 2.1 in Section 2.3.3 hold, i.e., ij, it and
u asymptotically tend to zero. But we cannot conclude that jj converges to
zero, i.e., the estimated parameters are not guaranteed to converge to the
true parameters; it is easy to conclude, however, that jj remains bounded.
o
Remarks
• Consider the error equation in (2.71) together with the update law in
(2.172). Then it is possible to decompose this closed-loop system in
two subsystems as follows:
and
References
[1] C. Abdallah, D. Dawson, P. Dorato, and M. Jamshidi, "Survey of ro-
bust control for rigid robots," IEEE Control Systems Mag., vol. 11,
no. 2, pp. 24-30, 1991.
[2] R.J. Anderson, "Passive computed torque algorithms for robots," Proc.
28th IEEE Conf. on Decision and Control, Tampa, FL, pp. 1638-1644,
1989.
[10] B.R. Barmish, M. Corless, and G. Leitmann, "A new class of stabilizing
controllers for uncertain dynamical systems," SIAM J. on Control and
Optimization, vol. 21, pp. 246-255, 1983.
[11] D.S. Bayard and J.T. Wen, "New class of control laws for robotic
manipulators - Part 2. Adaptive case," Int. J. of Control, vol. 47,
pp. 1387-1406, 1988.
[29] C. Canudas de Wit, H. Olsson, KJ. Astrom, and P. Lischinsky, "A new
model for control of systems with friction," IEEE Trans. on Automatic
Control, vol. 40, pp. 419-425, 1995.
[30] C. Canudas de Wit and J.J.-E. Slotine, "Sliding observers for robot
manipulators," Automatica, vol. 27, pp. 859-864, 1991.
REFERENCES 111
[34] D.M. Dawson and Z. Qu, "On the global uniform ultimate boundedness
of a DCAL-like controller," IEEE Trans. on Robotics and Automation,
vol. 8, pp. 409-413, 1992.
[38] R. Horowitz and M. Tomizuka, "An adaptive control scheme for me-
chanical manipulators - Compensation of nonlinearity and decoupling
control," ASME J. of Dynamic Systems, Measurement, and Control,
vol. 108, pp. 127-135, 1986.
[39] L.-C. Fu and T.-L. Liao, "Globally stable robust tracking of nonlinear
systems using variable structure control with an application to a robotic
manipulator," IEEE Trans. on Automatic Control, vol. 35, pp. 1345-
1350,1990.
[40] S. Jayasuriya and C.N. Hwang, "Tracking controllers for robot ma-
nipulators: A high gain perspective," ASME J. of Dynamic Systems,
Measurement, and Control, vol. 110, pp. 39-45, 1988.
[43] R. Kelly, "A simple set-point robot controller by using only posi-
tion measurements," Prepr. 13th IFAC World Congress, Sydney, AUS,
vol. 6, pp. 173-176, 1993.
[46] D.E. Koditschek, "Natural motion for robot arms," Proc. 23th IEEE
Conf. on Decision and Control, Las Vegas, NV, pp. 733-735, 1984.
[48] T.-L. Liao, L.-C. Fu, and C.-F. Hsu, "Adaptive robust tracking of non-
linear systems with an application to a robotic manipulator," Systems
f3 Control Lett., vol. 15, pp. 339-348, 1990.
[49] K.Y. Lim and M. Eslami, "Robust adaptive controller designs for robot
manipulator systems," IEEE J. of Robotics and Automation, vol. 3,
pp. 54-66, 1987.
[50] R. Lozano, B. Brogliato, and LD. Landau, "Passivity and global sta-
bilization of cascaded nonlinear systems," IEEE Trans. on Automatic
Control, vol. 37, pp. 1386-1388, 1992.
[53] W. Messner, R. Horowitz, W.-W. Kao, and M. Boals, "A new adaptive
learning rule," Proc. 1990 IEEE Int. Conf. on Robotics and Automa-
tion, Cincinnati, OH, pp. 1522-1527, 1990.
REFERENCES 113
[56] S. Nicosia and P. Tomei, "Robot control by using only joint position
measurements," IEEE 7rans. on Automatic Control, vol. 35, pp. 1058-
1061, 1990.
[58] R. Ortega, A. Loria, and R. Kelly, "A semiglobally state output feed-
back PI2 D regulator for robot manipulators," IEEE Trans. on Auto-
matic Control, vol. 40, pp. 1432-1436,1995.
[59] R. Ortega and M.W. Spong, "Adaptive motion control of rigid robots:
a tutorial," Automatica, vol. 25, pp. 877-888, 1989.
[61] J.S. Reed and P.A. Ioannou, "Instability analysis and robust adap-
tive control of robotic manipulators," IEEE 7rans. on Robotics and
Automation, vol. 5, pp. 381-386, 1989.
[64] R. Shoureshi, M.E. Momot, and M.D. Roesler, "Robust control for
manipulators with uncertain dynamics," Automatica, vol. 26, pp. 353-
359,1990.
[67] J.-J.E. Slotine and W. Li, "On the adaptive control of robot manipu-
lators," Int. J. of Robotics Research, vol. 6, no. 3, pp. 49-59, 1987.
[69] J.-J.E. Slotine and W. Li, "Composite adaptive control of robot ma-
nipulators," Automatica, vol. 25, pp. 509-519, 1989.
[70] M.W. Spong, "On the robust control of robot manipulators," IEEE
Trans. on Automatic Control, vol. 37, pp. 1782-1786,1993.
[71] M.W. Spong, R. Ortega, and R. Kelly, "Comments on 'Adaptive ma-
nipulator control: A case study'," IEEE Trans. on Automatic Control,
vol. 35, pp. 761-762,1990.
[72] M.W. Spong and M. Vidyasagar, Robot Dynamics and Control, Wiley,
New York, NY, 1989.
[74] M. Takegaki and S. Arimoto, "A new feedback method for dynamic
control of manipulators" ASME J. of Dynamic Systems, Measurement,
and Control, vol. 102, pp. 119-125, 1981.
[75] G. Tao, "On robust adaptive control of robot manipulators," Auto-
matica, vol. 28, pp. 803-807, 1992.
[76] P. Tomei, "Adaptive PD controller for robot manipulators," IEEE
Trans. on Robotics and Automation, vol. 7, pp. 565-570, 1991.
[77] M.W. Walker, "Adaptive control of manipulators containing closed
kinematic loops," IEEE Trans. on Robotics and Automation, vol. 6,
pp. 10-19, 1990.
[78] D.S. Yoo and M.J. Chung, "A variable structure control with simple
adaptation laws for upper bounds on the norm of the uncertainty,"
IEEE Trans. on Automatic Control, vol. 37, pp. 860-864, 1992.
Chapter 3
In the above joint space control schemes, it was assumed that the refer-
ence trajectory is available in terms of the time history of joint positions,
velocities and accelerations. On the other hand, robot manipulator mo-
tions are typically specified in the task space in terms of the time history
of end-effector position, velocity and acceleration. This chapter is devoted
to control of rigid robot manipulators in the task space.
The natural strategy to achieve task space control goes through two
successive stages; namely, kinematic inversion of the task space variables
into the corresponding joint space variables, and then design of a joint
space control. Hence this approach, termed kinematic control, is congenial
to analyze the important properties of kinematic mappings: singularities
and redundancy.
A different strategy consists of designing a control scheme directly in
the task space that utilizes the kinematic mappings to reconstruct task
space variables from measured joint space variables. This approach has the
advantage to operate directly on the task space variables. However, it does
not allow an easy management of the effects of singularities and redun-
dancy, and may become computationally demanding if, besides positions,
also velocities and accelerations are of concern.
The material of this chapter is organized as follows. The inversion
of differential kinematics is discussed in terms of both the pseudoinverse
and the damped least-squares inverse of the Jacobian. Inverse kinemat-
ics algorithms are proposed which are aimed at generating the reference
trajectories for joint space control schemes; velocity resolution schemes are
presented based on the use of either the pseudoinverse or the transpose
of the Jacobian matrix, and the extension to acceleration resolution is also
discussed. As opposed to the above kinematic control schemes, two kinds of
direct task space control schemes are presented which are analogous to those
analyzed in the joint space; namely, a PD control with gravity compensa-
tion scheme that achieves end-effector regulation, and an inverse dynamics
control scheme that allows end-effector trajectory tracking.
Pseudoinverse
With reference to the geometric Jacobian, the basic inverse solution to (3.1)
is obtained by using the pseudoinverse Jt of the matrix J; this is a unique
matrix satisfying the Moore-Penrose conditions
JJt J = J Jt JJt = Jt
(JJt)T = JJt (Jt J)T = Jt J (3.2)
Jta=a Va E Nl.(J)
Jtb= 0 Vb E nl.(J)
Jt(a+b) = Jta+ Jtb Va E n(J), Vb E nl.(J). (3.3)
(3.4)
m~nllqll (3.5)
q
The null space N{ Jt) is the set of task velocities that yield null joint
space velocities at the current configuration; these task velocities belong
to the orthogonal complement of the feasible space task velocities. Hence,
one effect of the pseudoinverse solution (3.4) is to filter the infeasible com-
ponents of the given task velocities while allowing exact tracking of the
feasible components; this is due to the minimum norm property (3.5).
The range space n(Jt) is the set of joint velocities that can be ob-
tained as a result of all possible task velocities. Since these joint velocities
belong to the orthogonal complement of the null space joint velocities, the
pseudoinverse solution (3.4) satisfies the least-squares condition (3.6).
If a task velocity is assigned along Ui, the corresponding joint velocity
computed via (3.4) lies along Vi and is magnified by the factor l/ui. When
a singularity is approached, the r-th singular value tends to zero and a
fixed task velocity along U r requires large joint velocities. At a singular
configuration, the U r direction becomes infeasible and Vr adds to the set of
null space velocities of the manipulator.
Redundancy
For a kinematically redundant manipulator a nonempty null space N{ J)
exists which is available to set up systematic procedures for an effective
handling of redundant degrees of freedom. The general inverse solution can
be written as
q = Jt {q)v + (1 - Jt {q)J{q))qO (3.9)
which satisfies the least-squares condition (3.6) but loses the minimum norm
property (3.5), by virtue of the addition of the homogeneous term {I -
Jt J)qo; the matrix (I - JtJ) is a projector of the joint vector qo onto
N{J).
In terms of the singular value decomposition, solution (3.9) can be writ-
ten in the form
n
L
i=m+l
(3.10)
.
qo=a (OW(q))T
-- (3.11)
oq
with a > 0; w(q) is a scalar objective function of the joint variables and
(ow(q)/oq)T is the vector function representing the gradient of w. In this
way, we seek to locally optimize w in accordance with the kinematic con-
straint expressed by (3.1). Usual objective functions are:
_)2
t;
) - - 1-
( q n ( qi - qi
w (3.13)
- 2n qiM - qim
where qiM (qim) denotes the maximum (minimum) limit for qi and iii
the middle of the joint range, and thus redundancy may be exploited
to keep the manipulator off joint limits;
(3.15)
The computational load of (3.16) is lower than that of (3.17), being usually
n ~ m. Let then
q = J#(q)v (3.18)
indicate the damped least-squares inverse solution computed with either of
the above forms. Solution (3.18) satisfies the condition
m~n IIv -
q
Jqll2 + A211qll2 (3.19)
that gives a trade-off between the least-squares condition (3.6) and the
minimum norm condition (3.5). In fact, condition (3.19) accounts for both
accuracy and feasibility in choosing the joint space velocity q required to
produce the given task space velocity v. In this regard, it is essential
to select a suitable value for the damping factor; small values of A give
accurate solutions but low robustness in the neighbourhood of singular
configurations, while large values of A result in low tracking accuracy even
if feasible and accurate solutions would be possible.
Resorting to the singular value decomposition, the damped least-squares
inverse solution (3.18) can be written as
(3.20)
Remarkably, it is:
(3.22)
where 0'6 is the estimate of the smallest singular value, and f defines the
size of the singular region; the value of oX max is at user's disposal to suitably
shape the solution in the neighbourhood of a singularity.
122 CHAPTER 3. TASK SPACE CONTROL
(3.29)
3.1. KINEMATIC CONTROL 123
User-defined accuracy
The above damped least-squares inverse method achieves a compromise
between accuracy and robustness of the solution. This is performed without
specific regard to the components of the particular task assigned to the
manipulator end-effector. The user-defined accuracy strategy based on the
weighted damped least-squares inverse method allows us to discriminate
between directions in the task space where higher accuracy is desired and
directions where lower accuracy can be tolerated. This is the case, for
instance, of spot welding or spray painting in which the tool angle about
the approach direction is not essential to the fulfillment of the task.
Let a weighted end-effector velocity vector be defined as
v=Wv (3.30)
where W is the (m x m) task-dependent weighting matrix taking into ac-
count the anisotropy of the task requirements. Substituting (3.30) into (3.1)
gives
v = J(q)q (3.31)
where J = W J. It is worth noticing that if W is full-rank, solving (3.1) is
equivalent to solving (3.31), but with different conditioning of the system
of equations to solve. This suggests selecting only the strictly necessary
weighting action in order to avoid undesired ill-conditioning of J.
Eq. (3.31) can be solved by using the weighted damped least-squares
inverse technique, i.e.,
JT(q)v = (JT(q)J(q) + -\2I)q. (3.32)
Again, the singular value decomposition of the matrix J is helpful, i.e.,
(3.33)
(3.34)
124 CHAPTER 3. TASK SPACE CONTROL
It is clear that the singular values iii and the singular vectors Ui and Vi
depend on the choice of the weighting matrix W. While this has no effect
on the solution q as long as iir ~ ,x, close to singularities where iir ~ ,x, for
some r < m, the solution can be shaped by properly selecting the matrix W.
For a 6-degree-of-freedom manipulator with spherical wrist, it is worth-
while to devise a special handling of the wrist singularity, since such a
singularity is difficult to predict at the planning level in the task space. It
can be recognized that, at the wrist singularity, there are only two com-
ponents of the angular velocity vector that can be generated by the wrist
itself. The remaining component might be generated by the inner joints,
at the expense of loss of accuracy along some other task space directions,
though. For this reason, lower weight should be put on the angular velocity
component that is infeasible to the wrist. For the anthropomorphic manip-
ulator, this is easily expressed in the frame attached to link 4; let R4 denote
the rotation matrix describing orientation of this frame with respect to the
base frame, so that the infeasible component is aligned with the x-axis. We
propose then to choose the weighting matrix as
Jacobian pseudoinverse
At this point, the joint velocity vector has to be chosen so that the task error
tends to zero. The simplest algorithm is obtained by using the Jacobian
pseudoinverse
q = J!(q) (Xd + K(Xd - x)), (3.38)
which plugged into (3.37) gives
(Xd - x) + K(Xd - x) = o. (3.39)
If K is an (m x m) positive definite (diagonal) matrix, the linear sys-
tem (3.39) is asymptotically stable; the tracking error along the given tra-
jectory converges to zero with a rate depending on the eigenvalues of K.
If it is desired to exploit redundant degrees of freedom, solution (3.38)
can be generalized to
(3.40)
that logically corresponds to (3.9). In case of numerical problems in the
neighbourhood of singularities, the pseudoinverse can be replaced with a
suitable damped least-squares inverse.
Jacobian transpose
A computationally efficient inverse kinematics algorithm can be derived by
considering the Jacobian transpose in lieu of the pseudoinverse.
Lemma 3.1 Consider the joint velocity vector
(3.41)
where K is a symmetric positive definite matrix. If Xd is constant and
Ja is full-rank for all joint configurations q, then x = Xd is a globally
asymptotically stable equilibrium point for the system {3.37} and {3.41}.
<><><>
Proof. A simple Lyapunov argument can be used to analyze the conver-
gence of the algorithm. Consider the positive definite function candidate
1
V = 2(Xd - x)T K(Xd - x); (3.42)
its time derivative along the trajectories of the system (3.37) and (3.41) is
. T T T
V = (Xd - x) KXd - (Xd - x) K Ja(q)Ja (q)K(Xd - x). (3.43)
If Xd = 0, V is negative definite as long as J a is full-rank.
<>
126 CHAPTER 3. TASK SPACE CONTROL
Remarks
• If Xd # 0, only boundedness of tracking errors can be established; an
estimate of the bound is given by
Use of redundancy
In case of redundant degrees of freedom, it is possible to combine the Ja-
cobian pseudoinverse solution with the Jacobian transpose solution as il-
lustrated below. This is carried out in the framework of the so-called aug-
mented task space approach to exploit redundancy in robotic systems. The
idea is to introduce an additional constraint task by specifying a (p x 1)
vector Xc as a function of the manipulator joint variables, i.e.,
(3.46)
3.1. KINEMATIC CONTROL 127
where Xcd denotes the desired value of the constraint task and Kc is a
positive definite matrix. The operator (I - J1 Ja) projects the secondary
velocity contribution qo on the null space N(Ja ), guaranteeing correct exe-
cution of the primary end-effector task while the secondary constraint task
is correctly executed as long as it does not interfere with the end-effector
task. Obviously, if desired, the order of priority can be switched, e.g., in an
obstacle avoidance task when an obstacle comes to be along the end-effector
path.
On the other hand, the occurrence of artificial singularities suggests that
pseudoinversion of the matrix Je(I - J1 Ja) has to be avoided. Hence, by
recalling the Jacobian transpose solution for the end-effector task (3.41),
we can conveniently choose the null space joint velocity vector as
(3.50)
but n(JI) n n(Jn =F {0}, when i[ Ke(Xed - xc) E n(J!'), tio vanishes
with Xc =F Xed; the higher-priority task is still tracked (x = Xd) and errors
occur for the lower-priority task. However, it may be observed that the
desired constraint task is often constant over time (Xed = 0) and the actual
errors will be smaller.
(3.52)
On the other hand, for what concerns the orientation error, some con-
siderations are in order. If Red = (ned Sed aed) denotes the desired
rotation matrix of the end-effector frame, the orientation error with actual
end-effector frame Re is given by
the (3 x 1) unit vector Ur and the angle {) describe the equivalent rotation
(3.54)
needed to align Re with Red. It can be easily shown that the expression of
this rotation matrix is
U rx u ry (l - c{}) - UrzS{}
u~y(l - c{}) + c{}
u ry u rz (1 - c{}) + UrxS{}
(3.55)
(3.56)
(3.57)
where
(3.58)
.
Xd -
. = (Ped)
X LTWd -
( I0 0)
L J.q. (3.59)
(3.61)
130 CHAPTER 3. TASK SPACE CONTROL
that can be integrated over time, with known initial conditions, to find q(t)
and q(t).
In terms of the inverse kinematics algorithms presented above, the ac-
celeration solution logically corresponding to (3.38) is
(3.63)
Note that the (n x 1) vector ijo in (3.62) indicates arbitrary joint accel-
erations that can be utilized for redundancy resolution. Thus, ijo can be
chosen either as -see (3.11)-
.
qo = a
(8W(q))T
-aq- , (3.64)
or as -see (3.50)-
(3.65)
3.2.1 Regulation
Consider the dynamic model of an n-degree-of-freedom robot manipulator
in the joint space
H(q)q + C(q, q)q + g(q) = u, (3.67)
with obvious meaning of the symbols. Let then Xd indicate an (m x 1)
desired constant end-effector location vector. It is wished to find a control
vector u such that the error Xd - x tends asymptotically to zero.
Theorem 3.1 Consider the PD control law with gravity compensation
u = J;;(q)Kp(Xd - x) - J;;(q)KDJa(q)q + g(q), (3.68)
where Kp and KD are (m x m) symmetric positive definite matrices. If J a
is full-rank for all joint configurations q, then
132 _ _ _ _ _ _ _ __
CHAPTER 3. TASK SPACE CONTROL
At this point, the choice of the control law as in (3.68) with KD positive
definite gives
(3.72)
By analogy with the joint space stability analysis, the equilibrium points
of the system are described by
(3.73)
Remarks
• Regarding the damping term in (3.68), if x is reconstructed from q
measurements, the quantity -KDX can be simplified into -KDq .
• Note that, even if task space variables x and x are directly measured,
the joint variables q are needed to evaluate Ja(q) and g(q).
3.2. DIRECT TASK SPACE CONTROL 133
ij = Uo· (3.75)
(3.76)
with Kp and KD positive definite matrices, leads to the same error dy-
namics as in equation (3.63). Note that this time, also q is needed by the
controller, besides q, x and x.
The control law (3.74) and (3.76) is the task space counterpart of the
joint space inverse dynamics control scheme derived in the previous chap-
ter. Other model-based control schemes can be devised with do not seek
linearization or decoupling, but only asymptotic convergence of the track-
ing error. With reference to the Lyapunov-based control scheme already
developed in the joint space, it is possible to formalize a task space version
by introducing a reference velocity
(x = Xd + A(Xd - x) (3.77)
where
( = J1 (q)(x (3.79)
(= J1(q)((x - ja(q)(). (3.80)
[32]; the choice of suitable gains for achieving robustness to singularities was
discussed in [4]. Singular value decomposition of the Jacobian transpose
is due to [10]. Combination of the Jacobian transpose solution with the
pseudoinverse solution was proposed in [5]. References on the augmented
task space approach are [16, 33, 36, 31]. The occurrence of artificial sin-
gularities was pointed out in [1], and their properties were studied in [3].
The task priority strategy is due to [29]. The use of the Jacobian transpose
for the constraint task was presented in [11, 39]. The expression of the
end-effector orientation error (3.56) is due to [23], and its properties were
studied in [45, 22].
The extension to acceleration resolution was proposed in [37]. The issue
of internal velocity instability was raised by [18] and further investigated
in [24, 14]; the instability of zero dynamics of robotic systems is analyzed
in [13]. Symbolic differentiation of joint velocity solutions to obtain stable
acceleration solutions was proposed in [40]' while the addition of a velocity
damping term in the null space of the Jacobian is due to [30]. More about
redundancy resolution at the acceleration level can be found in [15].
The PD control with gravity compensation was originally proposed
by [41]. Direct task space control via second-order differential kinematics
equation was developed in [34], while the reader is referred to [19] for the
so-called operational space control which is based on a task space dynamic
model of the manipulator.
References
[1] J. Baillieul, "Kinematic programming alternatives for redundant ma-
nipulators," Proc. 1985 IEEE Int. Conf. on Robotics and Automation,
St. Louis, MO, pp. 722-728, 1985.
[2] T.L. Boullion and P.L. Odell, Generalized Inverse Matrices, Wiley, New
York, NY, 1971.
[3] P. Chiacchio, S. Chiaverini, L. Sciavicco, and B. Siciliano, "Closed-
loop inverse kinematics schemes for constrained redundant manipula-
tors with task space augmentation and task priority strategy," Int. J.
of Robotics Research, vol. 10, pp. 410-425, 1991.
[7] S. Chiaverini, "Estimate of the two smallest singular values of the Jaco-
bian matrix: Application to damped least-squares inverse kinematics,"
J. of Robotic Systems, vol. 10, pp. 991-1008, 1993.
[19] O. Khatib, "A unified approach for motion and force control of robot
manipulators: The operational space formulation," IEEE J. of Robotics
and Automation, vol. 3, pp. 43-53, 1987.
[20] C.A. Klein and C.H. Huang, "Review of pseudoinverse control for use
with kinematically redundant manipulators," IEEE 'lhlns. on Systems,
Man, and Cybernetics, vol. 13, pp. 245-250, 1983.
[21] A. Liegeois, "Automatic supervisory control of the configuration and
behavior of multibody mechanisms," IEEE 'lhlns. on Systems, Man,
and Cybernetics, vol. 7, pp. 868-871, 1977.
[22] S.K. Lin, "Singularity of a nonlinear feedback control scheme for
robots," IEEE 'lhlns. on Systems, Man, and Cybernetics, vol. 19,
pp. 134-139, 1989.
[23] J.Y.S. Luh, M.W. Walker, and R.P.C. Paul, "Resolved-acceleration
control of mechanical manipulators," IEEE'lhlns. on Automatic Con-
trol, vol. 25, pp. 468-474, 1980.
[24] A.A. Maciejewski, "Kinetic limitations on the use of redundancy in
robotic manipulators," IEEE 'lhlns. on Robotics and Automation,
vol. 7, pp. 205-210, 1991.
[25] A.A. Maciejewski and C.A. Klein, "Obstacle avoidance for kinemat-
ically redundant manipulators in dynamically varying environments,"
Int. J. of Robotics Research, vol. 4, no. 3, pp. 109-117,1985.
[26] A.A. Maciejewski and C.A. Klein, "Numerical filtering for the opera-
tion of robotic manipulators through kinematically singular configura-
tions," J. of Robotic Systems, vol. 5, pp. 527-552, 1988.
138 CHAPTER 3. TASK SPACE CONTROL
In this chapter we deal with the motion control problem for situations in
which the robot manipulator end effector is in contact with the environment.
Many robotic tasks involve intentional interaction between the manipulator
and the environment. Usually, the end effector is required to follow in a
stable way the edge or the surface of a workpiece while applying prescribed
forces and torques. The specific feature of robotic problems such as polish-
ing, deburring, or assembly, demands control also of the exchanged forces
at the contact. These forces may be explicitly set under control or just
kept limited in a indirect way, by controlling the end-effector position. In
any case, force specification is often complemented with a requirement con-
cerning the end-effector motion, so that the control problem has in general
hybrid (mixed) objectives.
In setting up the proper framework for analysis, an essential role is
played by the model of the environment. The predicted performance of the
overall system will depend not only on the robot manipulator dynamics but
also on the assumptions made for the interaction between the manipulator
and environment. On one hand, the environment may behave as a simple
mechanical system undergoing small but finite deformations in response to
applied forces. When contact occurs, the arising forces will be dictated by
the dynamic balancing of two coupled systems, the robot manipulator and
the environment. On the other hand, if the environment is stiff enough and
the manipulator is continuously in contact, part of its degrees of freedom
will be actually lost, the motion being locally constrained to given direc-
tions. Contact forces are then viewed as an attempt to violate the imposed
kinematic constraints.
Three control strategies are discussed; namely, impedance control, par-
allel control, and hybrid force/motion control. Impedance control tries
Simplified control laws are then recovered from this general scheme.
(4.4)
(4.5)
with an alternate format for the external force term. By further differenti-
ation of (4.4)
(4.7)
and substitution into (4.6), it is easy to see that the dynamic model in the
task space becomes
where
H",(q) = J~T(q)H(q)J~l(q)
C",(q,q) = J~T(q)C(q,q)J~l(q) - H",(q)ja(q)J~l(q) (4.9)
9",(q) = J~T(q)9(q)·
Indeed, similar relationships are obtained if we desire that the vector f
appears on the right-hand side of (4.8) -just drop the subscripts a.
Note that the functional dependence of nonlinear terms in (4.8) is still
on q, q, and not on the new state variables x, 3:. This substitution is
not essential and could be easily performed by using inverse kinematics
relationship. From the computational point of view, e.g., for simulation
purposes, it is more advantageous to keep the explicit dependence on joint
variables.
As for the joint space dynamic model, analogous structural properties
hold for (4.8). The following ones are of particular interest hereafter.
Property 4.1 The inertia matrix H", is a symmetric positive definite ma-
trix, provided that Ja is full-rank, which verifies
(4.10)
where Am", (AM'" < 00) denotes the strictly positive minimum (maximum)
eigenvalue of H", for all configurations q.
o
Property 4.2 The matrix if", - 2C", obtained via (4.9) is skew-symmetric,
provided that the matrix if - 2C is skew-symmetric.
o
Property 4.3 The matrix C", verifies
(4.11)
x =Uo, (4.12)
(4.13)
This inverse dynamics control law is formally equivalent to the direct task
space control law presented in the previous chapter, with the addition of
force feedback.
In the second step, the desired impedance model that dynamically bal-
ances contact forces fa at the manipulator end effector is chosen as a linear
second-order mechanical system described by
(4.15)
where Hm is the apparent inertia matrix, while Dm and Km are the desired
damping and stiffness matrices, respectively. The vector Xd(t) specifies a
reference trajectory which can be exactly executed only if fa = 0, i.e., dur-
ing free motion. When the manipulator is in contact, the automatic balance
of dynamic forces will produce a different motion behaviour. If (4.15) has
to represent a physical impedance, positive definite Hm and Km matrices
and a positive semi-definite Dm matrix should be chosen. All matrices are
symmetric -typically diagonal. Notice also that the control objective of
imposing the dynamic behaviour (4.15) to the original robotic system (4.8)
can be recast in the general framework of model matching problems for
nonlinear systems.
The desired mechanical impedance is then obtained by choosing Uo in
(4.14) as
(4.16)
146 CHAPTER 4. MOTION AND FORCE CONTROL
in (4.15) leads to
u = J!'(q) (Hx(q)Xd + Cx(q,q)x + gx(q) + Dm(Xd - x) + Km(Xd - x))
(4.19)
4.1. IMPEDANCE CONTROL 147
4.1.3 PD control
Provided that quasi-static assumptions are made (Xd = 0 and q ~ 0 in the
nonlinear dynamic terms), the following controller is obtained from (4.20):
(4.21)
It can be recognized that this is nothing but the task space PD control
law, with added gravity compensation, that was considered in the previous
chapter. In (4.21), the equivalent task space elastic and viscous forces
respectively due to the position error Xd - x and to the motion x, are
transformed into joint space torques through the usual Jacobian transpose.
When a constant reference value Xd is considered in the absence of
contact forces (fa = 0), it has been shown in the previous chapter that this
control law enforces asymptotic stability of Xd, provided that no kinematic
singularities are encountered. In alternative, and with the aim of including
in the analysis also contact forces, the following Lyapunov candidate could
have been used
(4.22)
where Property 4.2 and gx = J;;T g have been used. Asymptotic stability
follows from La Salle's invariant set theorem, provided that the matrix
Jnq) remains always of full rank.
When a contact force fa # 0 arises during motion, then asymptotic sta-
bility of Xd is no longer ensured. In fact, a steady-state compromise between
environment deformation and positional compliance of the controller, gov-
erned by the (inverse of) matrix Km, will be reached. The stability analysis
can be carried out assuming that the environment deformation is modelled
as a generalized spring with symmetric stiffness matrix Ke and rest loca-
tion Xe.
By a suitable selection of reference frames, a "simple" environment will
generate reaction forces and torques if x > X e , componentwise. As a result,
when the manipulator is in full contact with the environment, a generalized
force of the form
(4.24)
is felt at the end-effector level. The (unique) equilibrium point XE of the
manipulator under the environment reaction force (4.24) and the control
law (4.21) is found through the steady-state balance condition
(4.25)
leading to
XE = (Km + Ke)-l(KmXd + Kexe) (4.26)
and to the equilibrium force
(4.27)
Lemma 4.1 The equilibrium point (4.26) of the closed-loop system (4.8)
and (4.21) is globally asymptotically stable.
<><><>
where
1 T I T
V2(XE,0) = '2(Xd XE) Km(Xd - XE) + '2(Xe - XE) Ke(xe - XE) ~ O.
-
(4.29)
Proceeding as with (4.22) and taking into account (4.24) gives
(4.30)
4.1. IMPEDANCE CONTROL 149
Remarks
• It follows from (4.26) that when the environment is very stiff along a
component i, k ei :» k mi and the equilibrium is XEi ~ Xei. Vice-versa,
if k mj :» kej then XEj ~ Xdj, with a larger environment deformation .
• The control law (4.21) features a damping term in the task space.
The presence of such a damping is crucial as revealed by both (4.23)
and (4.30). Therefore, in case of redundant manipulators and/or
occurrence of kinematic singularities, it may be advisable to operate
the damping action in the joint space, i.e., by choosing the controller
as
(4.31)
Stiffness control
A simplified control can be achieved if we assume that small deformations
occur
(4.32)
(4.33)
(4.35)
be freely reached only in the null space of K e , i.e., where the environment
provides no reaction forces.
(4.43)
Remarks
• The parallel inverse dynamics control scheme ensures tracking of the
desired position along the task space directions on the plane together
with regulation of the desired force along the task space direction
normal to the plane, but the control law is based on force and position
measurements along all task space directions notwithstanding.
• If the desired force set point lad is not aligned with a e , the equilibrium
trajectory (4.40) and (4.41) is modified into
XE = XE +VEt (4.47)
IE = aeaTe lad
- (4.48)
4.2. PARALLEL CONTROL 153
(4.49)
where
(4.52)
154 CHAPTER 4. MOTION AND FORCE CONTROL
Xd - X = f - da e {4.54}
fad - fa = -ke aea; f. {4.55}
Substituting {4.54} and {4.55} in {4.50} and using {4.53} leads to the closed-
loop dynamics
where kF = 1 + kF and
w = -k;la; (l(fad - fa}dr + kmk[ldae) . {4.57}
Theorem 4.1 There exists a choice of gains km, d m , kF, k/ that makes the
origin of the state space of system (4.60) and (4.61) locally asymptotically
stable.
<><><>
4.2. PARALLEL CONTROL 155
The term PfT C'[ i in (4.64) can be upper bounded in the region (4.65) as
(4.66)
(4.68)
(4.71)
156 CHAPTER 4. MOTION AND FORCE CONTROL
and (4.70) again holds. Observing that condition (4.71) implies (4.69), it
can be recognized that a choice of dm , kp and kJ exists such that condi-
tions (4.70) and (4.71) are satisfied.
Since V is only negative semi-definite, the inequality V ::; 0 must be
further analyzed to prove asymptotic stability. In particular, V = 0 implies
f. = 0 and € = o. From (4.60) and (4.61) local asymptotic stability around
z = 0 follows from La Salle's invariant set theorem.
o
Remarks
• The free parameter p is not used in the control law (4.50) and allows
then an opportune choice of the gains dm , kp and kJ. Notice that km
is not involved in the conditions (4.70) and (4.71) and thus is available
to meet further design requirements during the non-contact phase of
the task. Also, by increasing dm a larger value of <P can be tolerated
which in turn determines the local nature of the stability proof.
if>(q) = 0, (4.72)
(4.76)
This characterization of the constraining forces associated with (4.72) fol-
lows from the virtual work principle.
The force multipliers A can be eliminated by solving (4.75) for ij and
substituting it into (4.74). We obtain
A = (J",(q)H- 1(q)JI(q))-1.
from which it follows that the value of the multipliers instantaneously de-
pends also on the applied input torque u. Substituting (4.76) and (4.77) into
(4.75) yields a (full) n-dimensional set of second-order differential equations
whose solutions, when initialized on the constraint, automatically satisfy
(4.72) for all times, Le.,
where
==> (4.81)
(4.82)
(4.83)
(4.84)
Moreover, the input torques 1.1.9 performing work on the new coordinates
satisfy
(4.85)
from which
1.1.9 = TT(02}1.I.. (4.86)
Differentiation of (4.84) gives
(4.87)
Defining
H(O} = TT(02}H(Q(O))T(02}
n(O,iJ} = TT(02}H(Q(O}}T(02}iJ (4.89)
+TT (02}C( Q(O), T(02 }iJ}T(02}iJ + TT (02}g( Q(O)}
(4.91)
where the identity and null block matrices have dimensions so that E1 is
(mxn) and E2 is ((n-m) xn). Then, evaluate the dynamic terms in (4.90)
on the constraint 4J(q) = 0, i.e., for 91 (t) == 0 (thus, ih = 91 = 0). With
a slight abuse of notation, we will write H(9 2) in place of H(O,9 2) and
similarly for other restricted terms. This leads to
and
AT" . T
E2H(92)E2 92 + E 2n(92,92) = E2T (9 2)u. (4.93)
We remark that the term E 2TT(9 2)JI(92)" was dropped from (4.93), being
identically zero. To show this, differentiate 4J( q) = 0 with respect to time
and use (4.81):
(4.94)
t ~ 0, (4.101)
on the assumption that these specifications are consistent with the model of
the constraining surface. This implies that the 2n time functions in (4.101)
are such that:
• ¢(qd{t)) = 0 for all t ~ 0;
• for all t ~ 0, there exists an (m x 1) vector Ad{t) satisfying
Ufd{t) = JJ{qd{t))Ad{t). (4.102)
El T T ((J2)U = El n((J2,
" (J2)
+EJI((J2)E,{ (ii2d + KD(02d - O2) + Kp((J2d - (J2)) (4.104)
The closed-loop equations obtained from (4.92), (4.93), and (4.106) are
==> (4.110)
Therefore, the study of eq. (4.108) reduces to the analysis of the asymptotic
stability of the linear equation
and then
==> (4.113)
as t -+ 00, provided that K>. ~ 0 and Kr ~ O. Note that both feedback
gains in the force loop can be set to zero, without loosing the asymptotic
convergence to zero of the force error. In that case, the control law (4.106)
would require no force feedback but only the feedforward of the desired force
multipliers. This analysis, however, holds only in nominal conditions, i.e.,
when the environment surface is perfectly known and the only disturbance
is a mismatch in the initial condition of motion on the constraining sur-
face. When other uncertainties and disturbances are present, the benefits
introduced by the force feedback terms become self-evident. In particular,
the integral action is able to compensate for a constant bias disturbance.
The inversion controller (4.106) can also be rewritten in terms of the
original variables q, using
In the form (4.117), it is apparent that this control law performs a cancel-
lation of the manipulator dynamic nonlinearities as well as of the inertial
couplings due to constraint curvature (1' #- 0). Furthermore, a desired
linear error dynamics is imposed via the matrix gains Kp, KD, K>. and
K J, which are typically chosen diagonal so as to preserve the independent
specification of desired force multipliers and of free admissible motion com-
ponents. We recognize that these considerations are the spirit of an exact
linearization and decoupling approach based on nonlinear state feedback.
A slightly different inversion controller can also be derived if we choose
to react through U to force errors defined directly in terms of vector U f
in (4.75), i.e., to
ef = JJ (q)(A - Ad)
= uf - JJ(q) (J",(qd)JJ(qd)) -1 J",(qd)Ufd, (4.118)
where (4.76) and (4.103) have been used. The control law U will now
be obtained by imposing the following alternate set of equations in place
of (4.104) and (4.105):
E1T T (02)U = E 1n(02,02)
.'
that it could be dropped. However, these terms are kept for the sake of
symmetry between (4.119) and (4.120).
Combining the above two equations and solving for U gives now
In this case, the controller contains only a proportional action on the force
error. It can be easily shown that Kp 2: 0 guarantees asymptotic stabil-
ity of the force error (ej ~ 0). The inclusion of a robustifying integral
term is more problematic in this context, due to the time-varying nature
of the direction of the force error e j -coming from the presence of JI (q)
in (4.118).
As before, also the control law (4.121) can be rewritten in terms of the
original coordinates q. This leads to
Remarks
• In the control law (4.122), the matrices
I:p = EiKpEl
I:p = E'fKpE2 (4.123)
I:D = E'f KDE2,
r(x, t) =0 (4.125)
(4.126)
For most tasks there exists a convenient space where the vectors of
admissible velocity and of contact reaction force can be used to form an or-
thogonal and complete basis set. In particular, we can define a time-varying
task frame with the following property; at every instant, in each coordinate
direction either a force or a velocity can be independently assigned, the
other quantity being naturally imposed by the task geometry. We notice
that this orthogonality can be stated only between force and velocity (or
displacement) generalized vectors, not between force and position, justify-
ing the current terminology of hybrid force/velocity control. The key point
in the control scheme is to use the task frame concept also in off-nominal
conditions for "filtering out" errors that are not consistent with the model,
thus reacting only to force or motion error components along "expected"
directions.
The steps for deriving a hybrid controller follow closely the previous
derivations, taking also into account the above final remarks. Relevant
dynamic quantities (velocities and forces) are first transferred in the suitable
task space, through kinematic transformations. They are next compared
with the current desired values, generating directional errors and simply
eliminating those that do not agree with the task model (e.g., considering
only measured forces that are normal to an assumed frictionless plane on
which the manipulator end effector is moving). This filtering action plays
a role similar to that of the E matrices in (4.123). In response to these
errors, commands are generated by a set of m scalar force controllers and
n - m scalar velocity controllers, each independently designed for one task
coordinate. In particular, in the design of the force controllers we may
take advantage of an assumed compliant contact model, similar to (4.24).
Finally, these control commands, which are dimensionally homogeneous to
accelerations, are brought back to the joint space and are used to produce
the applied input torques -possibly, based on the manipulator dynamics
if an inversion controller is desired.
The resulting hybrid force/velocity control law can be easily derived
from the previously presented ones, e.g., from (4.122). The only differ-
ence is that all dynamic quantities are evaluated at the current state, not
necessarily satisfying a constraining equation.
References
[1] M. Aicardi, G. Cannata, and G. Casalino, "Hybrid learning control for
constrained manipulators," Advanced Robotics, vol. 6, pp. 69-94, 1992.
[2] C.H. An and J.M. Hollerbach, "The role of dynamic models in Carte-
sian force control of manipulators," Int. J. of Robotics Research, vol. 8,
no. 4, pp. 51-72, 1989.
[3] R.J. Anderson and M.W. Spong, "Hybrid impedance control of robotic
manipulators," IEEE J. of Robotics and Automation, vol. 4, pp. 549-
556,1988.
[6] B. Brogliato and P. Orhant, "On the transition phase in robotics: Im-
pact models, dynamics and control," Proc. 1994 IEEE Int. Conf. on
Robotics and Automation, San Diego, CA, pp. 346-351, 1994.
[27] H. Kazerooni, "Contact instability of the direct drive robot when con-
strained by a rigid environment," IEEE Trans. on Automatic Control,
vol. 35, pp. 710-714, 1990.
[28] H. Kazerooni, T.B. Sheridan, and P.K. Houpt, "Robust compliant mo-
tion for manipulators, Part I: The fundamental concepts of compliant
motion," IEEE J. of Robotics and Automation, vol. 2, pp. 83-92, 1986.
[30] O. Khatib, "A unified approach to motion and force control of robot
manipulators: The operational space formulation," IEEE J. of Robotics
and Automation, vol. 3, pp. 43-53, 1987.
REFERENCES 173
[31] H. Lipkin and J. Duffy, "Hybrid twist and wrench control for a robotic
manipulator," ASME J. of Mechanism, Transmissions, and Automa-
tion in Design, vol. 110, pp. 138-144, 1988.
[32] R. Lozano and B. Brogliato, "Adaptive hybrid force-position con-
trol for redundant manipulators," IEEE Trans. on Automatic Control,
vol. 37, pp. 1501-1505,1992.
[33] W.-S. Lu and Q.-H. Meng, "Impedance control with adaptation for
robotic manipulators," IEEE Trans. on Robotics and Automation,
vol. 7, pp. 408-415, 1991.
[34] Z. Lu and A.A. Goldenberg, "Robust impedance control and force
regulation: Theory and experiments," Int. J. of Robotics Research,
vol. 14, pp. 225-254, 1995.
[35] M.T. Mason, "Compliance and force control for computer controlled
manipulators," IEEE Trans. on Systems, Man, and Cybernetics,
vol. 11, pp. 418-432, 1981.
[36] N.H. McClamroch and D. Wang, "Feedback stabilization and tracking
in constrained robots," IEEE 1rans. on Automatic Control, vol. 33,
pp. 419-426, 1988.
[37] J.K. Mills and A.A. Goldenberg, "Force and position control of ma-
nipulators during constrained motion tasks," IEEE 1rans. on Robotics
and Automation, vol. 5, pp. 30-46, 1989.
[38] J.K. Mills and D.M. Lokhorst, "Control of robotic manipulators during
general task execution: A discontinuous control approach," Int. J. of
Robotics Research, vol. 12, pp. 146-163, 1993.
[39] R. Paul and B. Shimano, "Compliance and control," Proc. 1976 Joint
Automatic Control Conf., San Francisco, CA, pp. 694-699, 1976.
[40] M.A. Peshkin, "Programmed compliance for error corrective assem-
bly," IEEE Trans. on Robotics and Automation, vol. 6, pp. 473-482,
1990.
[41] M.H. Raibert and J.J. Craig, "Hybrid position/force control of manip-
ulators," ASME J. of Dynamic Systems, Measurement, and Control,
vol. 102, pp. 126-133, 1981.
[42] J.K. Salisbury, "Active stiffness control of a manipulator in Cartesian
coordinates," Proc. 19th IEEE Con/. on Decision and Control, Albu-
querque, NM, pp. 95-100, 1980.
174 CHAPTER 4. MOTION AND FORCE CONTROL
[45] B. Siciliano and L. Villani, "A force/position regulator for robot ma-
nipulators without velocity measurements," 1996 IEEE Int. Conf. on
Robotics and Automation, Minneapolis, MN, pp. 2567-2572, 1996.
[46] B. Siciliano and L. Villani, "Adaptive compliant control of robot ma-
nipulators," Control Engineering Practice, vol. 4, no. 5, 1996.
[47] J.-J.-E. Slotine and W. Li, "Adaptive strategies in constrained ma-
nipulation," Proc. 1987 IEEE Int. Con/. on Robotics and Automation,
Raleigh, NC, pp. 595-601, 1987.
[48] C.-Y. Su, T.-P. Leung, and Q.-J. Zhou, "Force/motion control of con-
strained robots using sliding mode," IEEE Trans. on Automatic Con-
trol, vol. 37, pp. 668-672, 1992.
[49] R. Volpe and P. Khosla, "A theoretical and experimental investiga-
tion of impact control for manipulators," Int. J. of Robotics Research,
vol. 12, pp. 351-365, 1993.
[50] R. Volpe and P. Khosla, "A theoretical and experimental investigation
of explicit force control strategies for manipulators," IEEE Trans. on
Automatic Control, vol. 38, pp. 1634-1650,1993.
[51] J. Wen and S. Murphy, "Stability analysis of position and force control
for robot arms," IEEE Trans. on Automatic Control, vol. 36, pp. 365-
371,1991.
[52] D.E. Whitney, "Force feedback control of manipulator fine motions,"
ASME J. of Dynamic Systems, Measurement, and Control, vol. 99,
pp. 91-97, 1977.
[53] D.E. Whitney, "Quasi-static assembly of compliantly supported rigid
parts," ASME J. of Dynamic Systems, Measurement, and Control,
vol. 104, pp. 65-77, 1982.
[54] D.E. Whitney, "Historical perspective and state of the art in robot
force control," Int. J. of Robotics Research, vol. 6, no. 1, pp. 3-14,
1987.
REFERENCES 175
[55] L.S. Wilfinger, J.T. Wen, and S.H. Murphy, "Integral force control
with robustness enhancement," IEEE Control Systems Mag., vol. 14,
no. 1, pp. 31-40, 1994.
[56] B. Yao and M. Tomizuka, "Adaptive control of robot manipulators
in constrained motion - Controller design," ASME J. of Dynamic
Systems, Measurement, and Control, vol. 117, pp. 320-328, 1995.
[57] T. Yoshikawa, "Dynamic hybrid position/force control of robot ma-
nipulators - Description of hand constraints and calculation of joint
driving force," IEEE J. of Robotics and Automation, vol. 3, pp. 386-
392, 1987.
Flexible manipulators
Chapter 5
Elastic joints
This chapter deals with modelling and control of robot manipulators with
joint flexibility. The presence of such a flexibility is a common aspect in
many current industrial robots. When motion transmission elements such
as harmonic drives, transmission belts and long shafts are used, a dynamic
time-varying displacement is introduced between the position of the driving
actuator and that of the driven link.
Most of the times, this intrinsic small deflection is regarded as a source of
problems, especially when accurate trajectory tracking or high sensitivity to
end-effector forces is mandatory. In fact, an oscillatory behaviour is usually
observed when moving the links of a robot manipulator with non negligible
joint flexibility. These vibrations are of small magnitude and occur at
relatively high frequencies, but still within the bandwidth of interest for
control.
On the other hand, there are cases when compliant elements (in our case,
at the joints) may become useful in a robotic structure, e.g., as a protection
against unexpected "hard" contacts during assembly tasks. Moreover, when
using harmonic drives, the negative side effect of flexibility is balanced
by the benefit of working with a compact, in-line component, with high
reduction ratio and large power transmission capability.
From the modelling viewpoint, the above deformation can be charac-
terized as being concentrated at the joints of the manipulator, and thus we
often refer to this situation by the term elastic joints in lieu of flexible joints.
This is a main feature to be recognized, because it will limit the complexity
both of the model derivation and of the control synthesis. In particular,
we emphasize the difference with lightweight manipulator links, where flex-
ibility involves bodies of larger mass (as opposed to an elastic transmission
shaft) undergoing deformations distributed over longer segments. In that
5.1 Modelling
We refer to a robot manipulator with elastic joints as an open kinematic
chain having n + 1 rigid bodies, the base (link 0) and the n links, inter-
182 CHAPTER 5. ELASTIC JOINTS
LINK
T = ~ qT H(q)q, (5.1)
2
where q = (qi q'f)T and H(q) is the (2n x 2n) inertia matrix, which
is symmetric and positive definite for all q. Moreover, for revolute joints
all elements of H(q) are bounded. According to the previous assumptions,
H(q) has the following internal structure:
Ke = (-KK -K)
K ' (5.5)
Ue = 21 qT KeQ. (5.6)
where ei is the generalized force performing work on qi. Since only the
motor coordinates q2 are directly actuated, we collect all forces on the
right-hand side of (5.7) in the (2n x 1) vector
e = (0 ... 0 Ul . .. Un )T , (5.8)
where Ui denotes the external torque supplied by the motor at joint i. Link
coordinates ql are indirectly actuated only through the elastic coupling.
Computing the derivatives needed in (5.7) leads to the set of 2n second-
order nonlinear differential equations of the form
(5.9)
(5.10)
with gl = (8Ug /8qt}T. Eq. (5.9) is also said to be the full model of an
elastic joint manipulator.
Viscous friction terms acting both on the link and on the motor sides
of the elastic joints could be easily included in the dynamic model.
Property 5.1 The elements of C(q, q) can always be defined so that the
matrix if - 2C is skew-symmetric. In particular, one such feasible choice
is provided by the Christoffel symbols, i.e.,
C ij (q, q.) H ij q• + L
= -21 (8-- 2n
(8H ik - -
-8q·- 8H-j k).)
qk , (5.12)
8q 8q·
k=l 3 •
(5.16)
(5.17)
(5.18)
(5.19)
with (H)i denoting the i-th row of a matrix H. These expressions follow
directly from the dependency of the inertia matrix (5.2) and from Property
5.1.
o
Property 5.3 Matrix H2(qd has the upper triangular structure
where the most general cascade dependence is shown for each single term.
Indeed, the elements of H2 can be obtained as
(5.21)
where the kinetic energy T is given by the sum of the kinetic energy of each
link (including the stator of the successive motor) and of each motor rotor.
186 CHAPTER 5. ELASTIC JOINTS
However, since the total kinetic energy of the links is a quadratic form of til
only, by virtue of the chosen variable definition, contributions to H2 may
only come from that part of T which is due to the rotors. For rotor i, the
kinetic energy is given by
(5.22)
where r'V2i and r'W2i are respectively the linear and angular velocity of the
rotor expressed in the frame Ti attached to the corresponding stator, while
mri and r'Iri are respectively the mass and the inertia tensor of the rotor.
Since the rotor center of mass lies on its axis of rotation, only the second
term on the right-hand side of (5.22) will contribute to H2' The angular
velocity r'W2i can be calculated recursively as (for revolute joints)
r'
'W2i = r'' ....o.i-l i-I Wl,i-l + q2i
. r'
'a2i
i
Wli = iR ()i-l
i-I qli Wl,i-l + qli
. i
ali (5.23)
where iWli is the angular velocity of link i in the frame i attached to the link
itself, r'Ri _ 1 is the constant (3 x 3) rotation matrix from frame Ti attached
to the rotor to frame i-I, r'a2i = (0 0 1 f, i Ri-l is the (3 x 3) rotation
matrix from frame i to frame i-I, and iali = (0 0 1 )T. Eqs. (5.22)
and (5.23) imply (5.20).
o
Property 5.4 A positive constant a exists such that
(5.24)
This property follows from the fact that gl ( ql) is formed by trigonometric
functions of the link variables qli in the case of revolute joints, and also
by linear functions in qli if some prismatic joint is present. The previous
inequality implies, by the mean value theorem, that
(5.25)
(5.29)
with the positive scalar Imi = ri I rizz . When the gear reduction ratios are
very large, this approximation is quite reasonable since the fast spinning of
each rotor dominates the angular velocity of the previous carrying links.
We note that the full model (5.9) (or (5.27)) and the reduced model
(5.28) display different characteristics with respect to certain control prob-
lems. As will be discussed later, while the reduced model is always feedback
linearizable by static state feedback, the full model needs in general dynamic
state feedback for achieving the same result.
(5.30)
Z = K(q2 - q1)
= K(J + H;1 Hi)~ -1(qt}(C1(q1, 4t}41 + g1(qt})
-K((I + H;1 Hn~ -1(q1)(I + H2H;1) + H;1)Z
+K((I + H;1 Hn~-1(qt}H2H;1 + H;1 )u. (5.33)
(5.34)
(5.35)
Eqs. (5.32) and (5.35) take on the usual form of a singularly perturbed
dynamic system once the fast time variable T = t/t is introduced in (5.35),
i.e.,
(5.36)
5.2. REGULATION 189
Eq. (5.32) characterizes the slow dynamics of the rigid robot manipulator,
while (5.35) describes the fast dynamics associated with the elastic joints.
We note that (5.32) and (5.35) are considerably simplified when the
reduced model with H2 = 0 is used. In that case, they become:
5.2 Regulation
We analyze first the problem of controlling the position of the end effector
of a robot manipulator with joint elasticity in simple point-to-point tasks.
As shown in the modelling section, this corresponds to regulation of the
link variables ql to a desired constant value qld, achieved using control
inputs u applied to the motor side of the elastic joints. A major aspect of
the presence of joint elasticity is that the feedback part of the control law
may depend in general on four variables for each joint; namely, the motor
and link position, and the motor and link velocity. However, in the most
common robot manipulator configurations only two sensors are available
for joint measurements. We will study a single elastic joint with no gravity
(leading to a linear model) to point out what are the control possibilities
and the drawbacks in this situation. This provides some indications on how
to handle the general multilink case in presence of gravity. In particular, it
will be shown that a PD controller on the motor variables and a constant
gravity compensation are sufficient to ensure global asymptotic stabilization
of any manipulator configuration.
where 1m and It are the motor and the link inertia about the rotation
axis, and k is the joint stiffness. Assuming y = {)l as system output, the
190 CHAPTER 5. ELASTIC JOINTS
(5.39)
which has all poles on the imaginary axis. Note, however, that no zeros
appear in (5.39).
In the following, one position variable and one velocity variable will be
used for designing a linear stabilizing feedback. Since the desired position
is given in terms of the link variable (qld = {)u), the most natural choice
is a feedback from the link variables
(5.40)
where kpl, km > 0 and VI is the external input used for defining the set
point. In this case, the closed-loop transfer function is
y(s) k
= ~~~~~--~~~~~--~~- (5.41)
Vl(S) I ml ts4 + (1m + Il)ks 2 + kkms + kkpl'
No matter how the gain values are chosen, the system is still unstable due to
the vanishing coefficient of S3 in the denominator of (5.41). Indeed, if some
viscous friction or spring damping were present, there would exist a small
interval for the two positive gains kpt and km which guarantees closed-loop
stability; however, in that case, the obtained performance would be very
poor.
Another possibility is offered by a full feedback from the motor variables
y(s) k
(5.45)
V3(S) = Imlts4 + ltkDms3 + (It + Im)ks 2 + kkDmS + kkPl
which differs in practice from (5.43) only for the coefficient of the quadratic
term in the denominator. Using Routh's criterion, asymptotic stability
occurs if and only if the feedback gains are chosen as
Hence, the proportional feedback on the link variable should not "override"
the spring stiffness. Even for a set-point task with gravity, there is no
need to transform the desired reference with this scheme, since the link
position error is directly available and the steady-state motor velocity is
zero anyway; hence, it is V3 = kpt'{)u.
Following the same lines, it is immediate to see that the combination of
motor position and link velocity feedback is always unstable. Note also that
other combinations would be possible, depending on the available sensing
devices. For instance, mounting a strain gauge on the transmission shaft
provides a direct measure of the elastic force z = k({)m - {)t) for control
use.
To summarize, the use of alternate output measures may be a critical
issue in the presence of joint elasticity. Conversely, a full state feedback
may certainly guarantee asymptotic stability; however, this would be ob-
tained at the cost of additional sensors and would require a proper tuning
of the four gains. The previous developments were presented for set-point
regulation, but similar considerations apply also to tracking control. These
simple facts should be carefully kept in mind when moving from this canon-
icallinear example to the more complex nonlinear dynamics of articulated
manipulators.
(5.47)
(5.48)
If
Amin(Kq) = Amin (_~ K ~~p ) > a, (5.49)
Proof. The equilibrium positions of (5.9) and (5.47) are the solutions to
By recalling (5.25), we can add the null term K(q2d - qld) - gl(qld) to
(5.50) and (5.51) leading to
(5.54)
1
P1(q) = 2(q -
T T
qd) Kq(q - qd) + Ug(qt} - q g(qld). (5.56)
(5.57)
which coincides with (5.54). Therefore, PI (q) has the unique stationary
point q = qd. Moreover,
8 2 PI (q) _ K 8g(qt}
8q2 - q + 8q . (5.58)
By virtue of Property 5.4 and of (5.49), (5.58) is positive definite and thus
q = qd is an absolute minimum for P1(q).
Consider now the Lyapunov function candidate
(5.59)
. 1 T·
V(q,q) = 2q T
H(qt}q-q (C(q,q)q+Kq+g(qd)
-qI Kp(q2 - q2d) - qI KDq2 + qI gl(qld)
g
q q - qd ) + (8U8q(qt})T.q - q·T 9 (qld ) .
+q.TK( (5.60)
(5.62)
and
By taking (5.20) and (5.19) into account, the first scalar equation in (5.64)
becomes
q11 = const. (5.65)
Substitution of (5.65) into the second scalar equation in (5.64) yields q12 =
const. Proceeding in the same way, we finally obtain
ql = const. (5.66)
Since, as previously shown, (5.67) has the unique solution q = qd, then
q = qd, q = 0 is the largest invariant subset in the set V = o. The thesis is
proved by applying La Salle's theorem.
<>
Remarks
• The assumption Amin(Kq) > a in the above theorem is not restrictive;
in fact, joint stiffness K dominates gravity so that, by increasing the
smallest eigenvalue of Kp, inequality (5.49) can always be satisfied .
• The PD control law (5.47) is robust with respect to some model uncer-
tainty. In particular, asymptotic stability is guaranteed even though
the inertial parameters of the manipulator are not known. Conversely,
uncertainty on the gravitational and elastic parameters may affect the
performance of the controller since these terms appear explicitly in
the control law (see also (5.48)). However, it can be shown that the
PD controller is still stable subject to uncertainty on these parame-
ters, but the equilibrium point of the closed-Ioo'p system is, in general,
different from the desired one. If 91 (ql) and K are the available es-
timates of the gravity vector and of the stiffness matrix, then the
control law
(5.68)
5.3. TRACKING CONTROL 195
with
(5.69)
asymptotically stabilizes the equilibrium point q = ijd, q = 0, where
ijd is the solution to the steady-state equation
(5.70)
• Since uncertainty on gravity and elastic terms affect directly the ref-
erence value for the motor variables, inclusion of an integral term in
the control law (5.68) is not useful for recovering regulation at the
desired set point qd. In order for the integral term to be effective, the
proportional as well as the integral parts of the PID controller should
be driven by the link error qld - ql. However, as shown in the simple
one-joint linear case, velocity should be still fed back at the motor
level in order to prevent unstable behaviour, leading to
The asymptotic stability of such a controller has not yet been proved.
In particular, the choice of the integral matrix gain KJ is a critical
one.
(5.73)
(5.74)
5.3. TRACKING CONTROL 197
The right-hand side depends twice on the link acceleration, once directly
and once through C1 • By using (5.74), the link jerk can be rewritten as
(5.76)
where
(5.77)
with eli denoting the i-th column of matrix C1 • Next, the fourth derivative
of the output gives
4 _. + (H"-l)K·
q2 + H-
1K··
y (4) -_ ddtq1
4 - a3 1 1 q2· (5.78)
Substituting ii2 from the model, differentiating (5.77) with respect to time,
and using again (5.74), yields finally
(5.79)
with
a4 = 0;3 - Hi1(H1Hi1 Ktl2 - KHi1K(q1 - q2)). (5.80)
Since the matrix premultiplying u is always nonsingular, we can set y(4) =
Uo (the external control input) in (5.79) and solve for the feedback control
uas
u = H 3K- 1H 1(qd(uo - a4(q1,q2,tl1,tl2)). (5.81)
The matrix Hi 1K Hi 1 premultiplying u in (5.79) is the so-called decoupling
matrix of the system. Moreover, the relative degree ri of output Yi is
equal to 4, uniformly for all outputs. Thus, the sum of all relative degrees
equals the state space dimension, i.e., E~l Ti = 4n, which is a sufficient
condition for obtaining full linearization, both for the input-output and the
198 CHAPTER 5. ELASTIC JOINTS
state equations. This is obtained by using the same static state feedback
decoupling control (5.81). The coordinate transformation which, after the
application of (5.81), displays linearity is defined by (5.72) through (5.75).
This global diffeomorphism has the inverse transformation given by
ql = Y
ql = Y
q2 = Y + K- I (HI (y}y + CI(y, y}y + 91(Y}) (5.82)
q2 = y+K- I (HI (y}y(3) + HI(Y}Y + CI(y,y}y
+CI(y,y}y + YI(Y})'
Notice that the linearizing coordinates are the link position, velocity, ac-
celeration and jerk. However, in order to perform feedback linearization it
is not needed to measure link acceleration and jerk since the control law
(5.81) is completely defined in terms of the original states (including motor
position and velocity).
By defining
ZI =Y Z2 =Y Z3 = Y Z4 = y(3) , (5.83)
the transformed system is described by
iIi = Z2i
i2i = Z3i
i3i = Z4i i = 1, ... ,n, (5.84)
i4i = UOi
Yi = Zli
that corresponds to n independent chains of 4 integrators. To complete a
tracking controller for a desired trajectory Ydi(t} of joint i, we should design
the new input UOi as
3
UO.. -- y(4)
di
+ "" "'J... (y(j)
L...J .... di -
z·J+ I'}
" (5.85)
j=O
where Ii and 1m are the link and motor inertia, respectively, k is the joint
stiffness, m is the link mass and i is the distance of the link center of mass
from the joint axis. By setting
1
f.2 - _
- k' (5.87)
with the link position ql as the slow variable and the joint elastic force z
as the fast variable. Since the joint stiffness k is usually quite large, in the
limit we can set f. = 0 and obtain the approximate dynamic representation
o= - ( It1 1)
+ 1m Z
1 . 1
+ It mgi sm ql + 1m Us (5.91)
(5.92)
where uf does not contain terms of order l/f or higher. Thus, a two-
time scale control law is obtained which is composed of the slow part Us,
designed using only slow variables, and of the fast part fU f (vanishing for
f = 0) which counteracts the effects of joint elasticity.
Plugging (5.92) into (5.91), and solving for z gives
or else
(5.95)
which is the equivalent rigid manipulator model. The synthesis of the slow
control part is based only on this representation of the system. Given
a desired trajectory Qld(t) for the link (the system output), a convenient
choice could be an inverse dynamics control law
(5.97)
(5.98)
5.3. TRACKING CONTROL 201
Due to the time scale separation, we can assume that slow variables are at
steady state with respect to variations of the fast variable z and rewrite
(5.98) as
f z= - (1
2..
It
1 )
+ 1m 1 ( . .)
Z+ 1m WI ql,ql,Z,Z,t +Ws Ql,Ql,t"
(A ': i\ (5.99)
where
(5.100)
and a hat characterizes steady-state values. Note that i stands for the slow
nature of the reference trajectory for the link variable.
By comparing (5.100) with the expression of the manifold (5.93), we
have
(5.101)
2··
f(= -+-
(1 1) (+-ful.
It
1
1m 1m
(5.102)
The fast control U I should stabilize this linear error dynamics, which means
that the fast variable Z asymptotically converges to its boundary layer be-
haviour z. A possible choice is
(5.103)
This yields
f2( + kl f(
1m
+ (2. + -.!...) ( = 0
It 1m
(5.104)
since € = 1/../k. The fast control part is just a damping action on the
relative motion of the motor and the link. In order to keep the time scale
separation between the rigid and elastic dynamics, the gain k f should be
chosen so that kf «: 1/€ = ../k.
In the above analysis, the slow control part has been designed so as to
suitably work for the case € = O. Its action around the manifold (5.93)
is only an approximate one. At the expense of a greater complexity, this
approach can be improved by adding correcting terms in € which expand
the validity of the slow control also beyond € = 0, i.e.,
(5.108)
where Uo is the previously designed slow control term. For large values of k
the correcting terms are small with respect to uo. Associated with Us in
(5.108), a modified control dependent manifold can be defined which char-
acterizes the slow behaviour, similarly to (5.93). It can be shown that a
second-order expansion in (5.108) is enough to guarantee that this manifold
becomes an invariant one; if the initial state is on this manifold, the con-
trol Us will keep the system evolution within this manifold. In particular,
this means that the robot manipulator will exactly track the desired link
trajectory if the initial state is properly set. The fast control is then needed
to counteract mismatched initial conditions and/or disturbances.
Hi
( Hi H2) (?1) + (Cl~) + (91) + ( K(ql -q2) ) = (0).
H3 q2 C2q 0 -K(ql - q2) u
(5.109)
Solving the second set of equations for ih and substituting it into the first
set yields
(Hi - H2H;1 H!)ih + (C 1 - H2H;lC2)q
91
+(1 + H2H;1 )K(ql - q2) + + H2H;lu = O. (5.110)
If the link position is chosen as output
(5.111)
5.3. TRACKING CONTROL 203
= ql
Y.... = a2 (.)
q, q - (H1 - H 2 H- 1 T
3 H 2 )-1H2 H-
1
3 u. (5.112)
has at least one nonzero element for each row, this will be exactly the
decoupling matrix of the system. The first and last matrices on the right-
hand side of (5.113) are (n x n) nonsingular matrices, being respectively
the first diagonal block of the inverse of inertia matrix and the inverse
of the second diagonal block of the inertia matrix. Thus, nonsingularity
of the decoupling matrix depends only on H 2 • However, this matrix is
always singular since its structure is given by (5.20). As a consequence,
input-output decoupling via static state feedback is impossible on the above
assumption. Indeed, if one row of (5.113) is identically zero, the associated
output component should be differentiated further in order to obtain an
explicit dependence from the input u. Notice that for the reduced dynamic
=
model, H2 0 implies that no input appears in the second time derivative of
the output (see also (5.74)), and so the decoupling matrix will be completely
different from (5.113).
Unfortunately, no general conclusion can be inferred on the rank of
the decoupling matrix for the full dynamic model, because its structure
strongly depends on the kinematic arrangement of the manipulator with
elastic joints. For instance, the single elastic joint case and the 2-revolute-
joint polar arm have a nonsingular decoupling matrix (both in fact have
=
H2 0). The same considerations apply also to the case of prismatic elastic
joints: the cylindric manipulator (prismatic-revolute-prismatic joints), with
all joints being elastic, has a nonsingular decoupling matrix. On the other
hand, common structures such as the two-revolute-joint planar arm, the 3-
revolute-joint anthropomorphic manipulator, as well as manipulators with
mixed rigid and elastic joints have a structurally singular decoupling matrix.
Similar arguments can be used for the analysis of the feedback lineariza-
tion property (Le., the existence of a static state feedback that transforms
the closed-loop system into a linear one, not taking into account the out-
put functions), which is also found to depend on the specific kinematic
arrangement of the robot manipulator.
For both the input-output decoupling and the exact state linearization
problems, a more general class of control laws can be considered. As a
204 _ _ _ _ _ _ _ _ _ __ CHAPTER 5. ELASTIC JOINTS
matter of fact, we may try to design a dynamic state feedback law of the
form
U = cr(q,q,~) + /3(q,q,~)uo
e= ,},(q, q,~) + 6(q, q, ~)uo (5.114)
where the (/I x 1) vector ~ is the state of the dynamic compensator, cr,
/3, ,}" 6 are suitable nonlinear vector functions, and the (n x 1) vector
Uo (n is the dimension of the joint space) is the new external input used
for trajectory tracking purposes. In the multi-input case, the conditions
for obtaining noninteraction and/or exact linearization in the closed-loop
system using (5.114) are indeed weaker than those based on static state
feedback. Note that the latter is a special case of (5.114) for Uo = o.
In particular, a sufficient condition for the existence of a linearizing and
input-output decoupling dynamic controller is that the given system has
no zero dynamics, so that no internal motion is compatible with the output
being kept at a fixed (zero) value. Such an interpretation of zero dynamics
allows us to generalize the concept of transfer function zeros of a linear
system. In the following, we will show that the complete dynamic model
(5.109) with output chosen as
(5.115)
where the expressions (5.14) and (5.15) of the velocity terms have been
used. Due to the strict upper triangular structure of matrix H 2 , the set of
n equations (5.117) can be analyzed starting from the last one which is
(5.118)
or
(5.119)
/'
Figure 5.2: A 2-revolute-joint polar robot arm with the first joint being
elastic.
(5.122)
where m2 is the mass of the second link, r2 is the position vector of the
center of mass of the second link expressed in its frame, and Imi and Iii
are respectively the constant rigid body inertia matrices of motor i and
link i (diagonal in the associated frames). The inertia matrix is readily
computed from the above expressions, resulting in a diagonal form; Coriolis
and centrifugal terms are then obtained by proper differentiation. The total
potential energy is the sum of the elastic energy of the first joint and of the
gravitational energy of the second link:
where the accelerations are obtained from the dynamic model (5.125). As
a result, the decoupling matrix has the form
0 ..!. 211"2 sin q12 COS2Q12til1 )
A( q12, q11
. ) -- ( 11"3 11"1 + 11"2
1
cos q12 (5.128)
o -
11"3
which is always singular. This means that the second input appears "too
soon" in both outputs, before the action of the first input torque is felt
through the natural path of joint elasticity. Therefore, decoupling can never
be achieved without the use of dynamic components which slow down the
action of the second input. In fact, consider the addition of two integrators
on the second input channel. Denote by 6, 6 the corresponding states,
by u~ the input to the second integrator, and by u~ = U1 the other input
which does not change. The system equations are rewritten as:
(11"1 + 11"2 cos2 q12 )iiu - 211"2 sin q12 cos q12 tiu q12 + k1 (q11 - q21) =
0
1I"3 ib2 + 11"2 sin Q12 cos q12 q~l + 11"5 cos q12 - ~1 = 0
el = u~
1I"4ii21+kl(q21-qU) = u~.
(5.129)
The problem is now turned to control the link positions by acting on the
torque of the first motor and on the second derivative of the torque of
the second motor. By applying the decoupling algorithm to the extended
system (5.129), it is immediate to check that neither the second nor the
third derivatives of both outputs depend on the new inputs u~ and u~,
which appear instead in y(4). To see this dependence, it is convenient to
take the second derivative of the first set of two equations in (5.129)
(11"1 + 11"2 cos2 q12)Q~1) + 211"2 sin Q12 cos q12 q12Q~~)
208 CHAPTER 5. ELASTIC JOINTS
'1 = u~
.. 1,
q21 = -U1 + -1k(
1 q11 - q21 .
) (5.131)
11"4 11"4
This yields
(5.132)
from which it is apparent that the decoupling matrix for the extended
system is always nonsingular. Therefore, a static state feedback decoupling
control law for the extended system is obtained as
(5.133)
Moreover, the relative degrees for the two outputs are T1 = T2 = 4, so that
their sum is equal to the dimension of the extended state space (the six
states of the robot arm plus the two states of the compensator). Thus, the
same control law (5.133) will also fully linearize the closed-loop system. In
terms of the original system, the combination of the control law (5.133) and
of the dynamic extension performed with the addition of the two integrators
is equivalent to the following dynamic state feedback controller
{1 = 6
{2 = 1I"3(U02 - a42)
U2 = 6· (5.134)
5.3. TRACKING CONTROL 209
To summarize, the polar robot arm with the first joint being elastic has been
transformed under the action of control (5.134) into two decoupled chains
of four integrators. The tracking control problem can then be solved using
standard linear techniques for the synthesis of UOl and U02. Notice that it
is sufficient to have a four times differentiable reference link trajectory in
order to obtain its exact reproduction.
(5.135)
Our objective is to compute also the nominal trajectory for the remaining
2n state variables. To this purpose, notice that we cannot use the simple
coordinate transformation (5.82) when the model is not linearizable by
static state feedback. Using (5.135) in the first set of equations (5.27)
yields
(5.138)
(5.139)
Remarks
• The validity of this approach is only local in nature and the region
of convergence depends both on the given trajectory and on the ro-
bustness of the designed linear feedback. On the other hand, the final
control structure (5.143) is quite simple.
where only motor variables are fed back. However, there is no proof
of global validity for this choice in the tracking case.
also tested. In all the above cases, link position and velocity measurements
are assumed. When only link positions are measured, instead, regulation
schemes have been proposed in [1, 21J while the tracking problem has been
considered in [37J.
Adaptive control results for robot manipulators with elastic joints in-
clude approximate schemes based either on high-gain [42J or on singular
perturbations [22J, as well as the global solution obtained in [27J and ex-
tended in [2J; all analyzed using the reduced dynamic model. Another
approach valid for the scalar case can be found in [35J. Moreover, robust
control schemes have been proposed in [40J and later in [49J, while iterative
learning has been used in [12J.
Finally, an interesting problem concerns force control of manipulators
with elastic joints in constrained tasks, which is discussed in [43J and [30J,
following a singular perturbation technique, and in [19J, using the inverse
dynamics approach.
References
[lJ A. Ailon and R. Ortega, "An observer-based set-point controller for
robot manipulators with flexible joints," Systems €3 Control Lett.,
vol. 21, pp. 329-335, 1993.
[10] A. De Luca and L. Lanari, "Robots with elastic joints are lineariz-
able via dynamic feedback," Proc. 34th IEEE Conf. on Decision and
Control, New Orleans, LA, pp. 3895-3897,1995.
[12] A. De Luca and G. Ulivi, "Iterative learning control of robots with elas-
tic joints," Proc. 1992 IEEE Int. Conf. on Robotics and Automation,
Nice, F, pp. 1920-1926,1992.
[15] M.C. Good, L.M. Sweet, and K.L. Strobel, "Dynamic models for con-
trol system design of integrated robot and drive systems," ASME J.
of Dynamic Systems, Measurement, and Control, vol. 107, pp. 53-59,
1985.
[17] M.G. Hollars and R.H. Cannon, "Experiments on the end-point con-
trol of a two-link robot with elastic drives," Proc. AIAA Guidance,
Navigation and Control Conf., Williamsburg, VA, pp. 19-27, 1986.
REFERENCES 215
[18J A. Isidori, C.H. Moog, and A. De Luca, "A sufficient condition for full
linearization via dynamic state feedback," Proc. 25th IEEE Conf. on
Decision and Control, Athina, GR, pp. 203-208, 1986.
[19J KP. Jankowski and H.A. EIMaraghy, "Dynamic control of flexible joint
robots with constrained end-effector motion," Prepr. 3rd IFAC Symp.
on Robot Control, Vienna, A, pp. 345-350, 1991.
[20J KP. Jankowski and H. Van Brussel, "An approach to discrete inverse
dynamics control of flexible-joint robots," IEEE Trans. on Robotics and
Automation, vol. 8, pp. 651-658, 1992.
[24J H.B. Kuntze and A.H.K Jacubasch, "Control algorithms for stiffen-
ing an elastic industrial robot," IEEE J. of Robotics and Automation,
vol. 1, pp. 71-78, 1985.
[28J R. Marino and S. Nicosia, "On the feedback control of industrial robots
with elastic joints: A singular perturbation approach," rep. R-84.01,
Dipartimento di Ingegneria Elettronica, Universita degli Studi di Roma
"Tor Vergata", 1984.
216 CHAPTER 5. ELASTIC JOINTS
[30] J.K. Mills, "Control of robotic manipulators with flexible joints during
constrained motion task execution," Proc. 28th IEEE Con/. on Deci-
sion and Control, Tampa, FL, pp. 1676-1681, 1989.
[31] S.H. Murphy, J.T. Wen, and G.N. Saridis, "Simulation and analysis
of flexibly jointed manipulators," Proc. 29th IEEE Conf. on Decision
and Control, Honolulu, HI, pp. 545-550, 1990.
[33] S. Nicosia and P. Tomei, "On the feedback linearization of robots with
elastic joints," Proc. 27th IEEE Con/. on Decision and Control, Austin,
TX, pp. 180-185, 1988.
[34] S. Nicosia and P. Tomei, "A method for the state estimation of elas-
tic joint robots by global position measurements," Int. J. of Adaptive
Control and Signal Processing, vol. 4, pp. 475-486, 1990.
[37] S. Nicosia and P. Tomei, "A tracking controller for flexible joint robots
using only link position feedback," IEEE Trans. on Automatic Control,
vol. 40, pp. 885-890, 1995.
[41] M.W. Spong, "Modeling and control of elastic joint robots," ASME J.
of Dynamic Systems, Measurement, and Control, vol. 109, pp. 310-319,
1987.
[44] M.W. Spong, K. Khorasani, and P.V. Kokotovic, "An integral manifold
approach to the feedback control of flexible joint robots," IEEE J. of
Robotics and Automation, vol. 3, pp. 291-300, 1987.
[45] H. Springer, P. Lugner, and K. Desoyer, "Equations of motion for
manipulators including dynamic effects of active elements," Proc. 1st
IFAC Symp. on Robot Control, Barcelona, E, pp. 425-430, 1985.
[46] L.M. Sweet and M.e. Good, "Redefinition of the robot motion control
problem," IEEE Control Systems Mag., vol. 5, no. 3, pp. 18-24, 1985.
[47] P. Tomei, "An observer for flexible joint robots," IEEE 1Tans. on
Automatic Control, vol. 35, pp. 739-743, 1990.
[48] P. Tomei, "A simple PD controller for robots with elastic joints," IEEE
1Tans. on Automatic Control, vol. 36, pp. 1208-1213,1991.
[49] P. Tomei, "Tracking control of flexible joint robots with uncertain
parameters and disturbances," IEEE 1Tans. on Automatic Control,
vol. 39, pp. 1067-1072, 1994.
Chapter 6
Flexible links
approach for describing the coupling of rigid and flexible body dynamics.
On the basis of the above models, a series of control strategies are in-
vestigated. For the problem of point-to-point motion, linear controllers
provide satisfactory performance. A joint co-located PD control is shown
to achieve asymptotic stabilization of any given manipulator configuration.
We also discuss the use of linear control laws with feedback from the whole
state, i.e., including deflection variables, for improved damping of vibration
around the terminal position. The efficacy of nonlinear control methods is
then emphasized for the accurate tracking of joint trajectories in multi-
link flexible robot manipulators. In particular, we present the design of
inversion control for input-output decoupling, and of two-time scale con-
trol based on a singularly perturbed model reformulation. Finally, the end-
effector trajectory tracking problem is considered. Differently from the rigid
manipulator and from the elastic joint case, the use of pure inversion strate-
gies may lead here to closed-loop instabilities. The nature of this problem
is analyzed in connection with the non minimum phase characteristics of the
system zero dynamics -a concept which has also a nonlinear counterpart.
Two solutions are presented; namely, an inversion procedure defined in the
frequency domain, suitable for the single link linear case, and a combined
feedforward/feedback strategy based on nonlinear regulation theory.
Assumption 6.1 The arm is a slender beam with uniform geometric char-
acteristics and homogeneous mass distribution.
o
Assumption 6.2 The arm is flexible in the lateral direction, being stiff
with respect to axial forces, torsion, and bending forces due to gravity;
further, only elastic deformations are present.
o
Assumption 6.3 Nonlinear deformations as well as internal friction or
other external disturbances are negligible effects.
o
Assumption 6.1 is the one that mainly characterizes Euler-Bernoulli
beam theory, implying that the deflection of a section along the arm is due
only to bending and not to shear. Moreover, the contribution of the rotary
inertia of an arm section to the total energy is negligible. Notice that the
analysis and the resulting partial differential equation will not represent
those very high oscillation frequencies, whose wavelengths become compa-
rable with the cross section of the arm. Assumption 6.2 is conveniently
enforced by a suitable mechanical construction of the real flexible arm.
Note that in Fig. 6.1 the small extension of the link along its neutral axis
is neglected in the bending description; inclusion of this effect tends to
stiffen the arm behaviour. Concerning Assumption 6.3, inclusion of non-
linear deformation terms is possible, while an accurate model of internal
friction is usually difficult to obtain.
The system physical parameters of interest are: the linear density p, the
flexural rigidity EI, the arm length f, and the hub inertia h.
6.1. MODELLING OF A SINGLE-LINK ARM 223
p=
( pX) (x cos '!9(t) - w(x, t) sin '!9(t))
py = xsin'!9(t)+w(x,t)cos'!9(t) .
(6.1)
1 . 2
Th = 2h'!9(t) , (6.3)
U = -EI
1
2
1£ 0
(w"(x, t))2dx. (6.5)
Jt2
tl
(oT(t) - oU(t) + oW(t))dt = 0, (6.6)
224 CHAPTER 6. FLEXIBLE LINKS
where It = Ih + pl3/3. Eqs. (6.7) and (6.8) have been derived neglect-
ing all second-order terms (products of state variables). The first equation
can be attributed to the hub dynamics, while the second equation is as-
sociated with the flexible link. Note that, besides the geometric boundary
conditions (6.9), the dynamic boundary conditions (6.10) arise at the tip
representing balance of moment and of shearing force; in the absence of a
payload, these are usually called free boundary conditions.
Integrating with respect to x eq. (6.8) multiplied by x and substituting
in (6.7) yields
h1?(t) - EIw"(O, t) = u(t) (6.11)
that can be used in place of (6.7).
Eqs. (6.8)-(6.11) constitute the basis for the modal analysis of deforma-
tion in the Euler-Bernoulli beam. The distributed nature of the system is
evidenced by the presence of partial differential equations.
with the same boundary conditions (6.9) and (6.10). This problem can be
solved by separation of variables, setting
Note that eq. (6.24) guarantees that no perturbation of the motion of the
center of mass occurs, i.e.,
&(t) = o. (6.25)
Substituting (6.22) and (6.23) in (6.8) and taking into account (6.24) yields
for x E [O,l], where 'Y4 = pw2jEI, and the constants A,B,C,D are deter-
mined from (6.29) and (6.30) up to a scaling factor. It can be shown that
the solution 4>(x) has the form
= O.
h "1 3 (1 + cos("(t') cosh("(t')) + p (sin("(t') cosh("(t') - cos("(t') sinh("(t'))
(6.33)
This equation derives from imposing a nontrivial solution to the linear
homogeneous system obtained from (6.30) and (6.24). Notice that (6.33)
has a double solution for "I = 0, accounting for the unconstrained (rigid
body) motion at the link base. Also, when the hub inertia h --* 00, this
characteristic equation reduces to (6.20) with "I == (3 and the constrained
model is fully recovered. This effect is enforced when closing a proportional
control loop at the joint level with increasingly large gain.
As before, eq. (6.33) has a countable infinity of positive solutions bi,
i = 1,2, ... }i an angular frequency Wi = "IfJEI/p, a mode shape <l>i(X),
a constant ki' and a time evolution Vi(t) (and then 'l9 i (t) from (6.22)) are
obtained for each "Ii. In particular, from (6.11) and (6.24) it follows that
ki = - -EI,,() -, ( )
I2 <l>i 0 = <l>i 0 . (6.34)
hWi
(6.36)
with
W1(s) = cos2 (at') + cosh2(at') (6.37)
W 2 (s) = E:a 3 (sinh(at') cosh( at') - sin( at') cos(at')) , (6.38)
J
and 2a 2 = p/ EI s. As a result, the transfer function from torque input
to hub rotation output is
(6.39)
228 CHAPTER 6. FLEXIBLE LINKS
with the double pole at s = 0 accounting for the rigid body rotation.
We point out the existence of a strict relation between the zeros of (6.39)
and the characteristic solutions of the constrained modal analysis. In fact,
from (6.37) the equation WI{s) = 0 has no solution for (T E R. On the
other hand, by letting (T = (~ ± j~) /2 with ~ E R, we find that WI (s) = 0
when
1 + cos{~e) cosh{~e) = 0 (6.40)
which coincides with (6.20). Then its positive roots are (3i, and the zeros
of the transfer function are
Si =2 fJI ·fJI
- ( T .2
p •
= ±J -(3.
2
p •
i = 1,2, ... (6.41)
and accordingly
n.
'!9{t) = a{t) + L cP~{O)Vi{t). (6.43)
i=1
(6.46)
where the zero blocks and the identity matrix I have proper dimensions.
The decoupled nature of these equations is a consequence of the inherent
orthogonality of the eigenfunctions <Pi (x). In particular, a diagonal (ne x ne)
stiffness matrix K = diag{wn is obtained. Link structural damping can be
introduced in (6.46) either on the basis of the values in the stiffness matrix
or observing experimentally the time decay of the system excited at each
frequency of deformation; this leads to a term DiJ appearing in the lower
equations of (6.46), with a diagonal (ne x ne) damping matrix D.
At this poin~ any similarity transformation can be performed on the
vector ( a v T ) producing equivalent equations. For instance, in order to
refer to a directly measurable quantity (the hub angle), eq. (6.46) can be
represented as
( It -It<p'(O)T
-It<p'(O) 1+ Il</J'(O)<p'(O)T
) (i?) (0 0) (iJ)
V + 0 D iJ
with a full inertia matrix, diagonal damping and stiffness terms, and the
input torque appearing only in the first equation.
Standard 2( ne + 1)-dimensional state space representations can be im-
mediately obtained from the above second-order dynamic models; for in-
stance, by considering the hub rotation as system output and the state
x(t) = (a v T a iJT f,the equations associated with (6.46) are of the
form
±(t) = Ax(t) + bu(t) (6.48)
y(t) = cT x(t) (6.49)
with the triple (A, b, cT ) given by
A~ (-l~I'
cT=(l
-t
000).
~ JJ (6.50)
It
( PJ,L T) (19)
PJ,L + (0 (J) (0
OA) r, + OA) ({)) = u(1)
pI ij 0 pD 0 pK 1] 0'
(6.52)
where k = diag{([}, damping b was added similarly to (6.47), and
(6.53)
where the spatial assumed modes !pi(X) satisfy only a reduced set of bound-
ary conditions, but no dynamic equations of motion like (6.8). When the
assumed modes satisfy purely geometric boundary conditions, they are de-
noted as admissible functions; when the chosen deformation modes comply
also with natural boundary conditions, they are called comparison func-
tions. Incidentally, we remark that finite-element descriptions with con-
centrated elasticity as well as Ritz-Kantorovich expansions belong to the
latter class of methods. The use of this type of assumed modes becomes nec-
essary for treating more complex multilink flexible structures, far beyond
the simple one-link arm considered in this section. On the other hand, nice
features like dynamic orthogonality are lost and coupled equations typically
result for the flexible motion.
6.2. MODELLING OF MULTILINK MANIPULATORS 231
On the basis of the above relations, the kinematics of any point along the
arm is fully characterized.
For later use in the arm kinetic energy, also the differential kinematics
is needed. In particular, the (scalar) absolute angular velocity of frame
(Xi, Yi) is
i i-I
Oi = L19
j=1
j + LY~e,
k=1
(6.58)
where the upper dot denotes time derivative. Moreover, the absolute linear
velocity of an arm point is
. .
Pi = ri + W·i i Pi + Wi.
i Pi, (6.59)
and iriH = ipi(f i ). Since we neglect link axis extension (Xi = 0), then
ipi(Xi) = (0 wi(xd )T. The computation of (6.59) takes advantage of the
recursions
(6.60)
s= (0 -1)
1 0 . (6.61)
6.2. MODELLING OF MULTILINK MANIPULATORS 233
The kinetic energy of the rigid body located at hub i of mass mhi and
moment of inertia hi is
1
T.h· = -mh"T·
·T·
r·t + -21 I h·a··2 (6.63)
t 2 tt t t
(6.64)
and the kinetic energy associated with a payload of mass mp and moment
of inertia Ip located at the end of link n is
(6.65)
(6.66)
T' .
Ri Ri = Sfh (6.67)
The potential energy is given by the sum of the following contributions:
n n n
U = L Uei +L Ughi +L Ugli + Ugp . (6.68)
i=l i=l i=l
(6.69)
234 CHAPTER 6. FLEXIBLE LINKS
(6.70)
1
that of link i is
Ugli = - gl l
; Pi(xdpi(xddxi, (6.71)
(6.72)
d 8L 8L
-dt -.
819
- -819 = Ui i = 1, ... , n (6.73)
i i
d 8L 8L
--.- - -- = 0 j = 1, ... ,nei, i = 1, ... ,n, (6.74)
dt 88 ij 88ij
where Ui is the joint torque at hub i. Note that no input torque appears
on the right-hand side of the flexible equations, as can be inferred from
the single-link equations (6.47) and (6.52). Thus, both unconstrained and
constrained modes (or any other approximation) can be used in the model.
As a result, the equations of motion for a planar n-link flexible arm can
be written in the closed form
1 T
Uf = 2"8 K8. (6.76)
(6.77)
(6.78)
Property 6.1 The spatial dependence present in the link kinetic and po-
tential energy terms (6.64) and (6.71) can be resolved by the introduction of
a number of constant parameters, characterizing the mechanical properties
of the (uniform density) links:
(6.79)
236 CHAPTER 6. FLEXIBLE LINKS
Property 6.6 It is expected that the flexible body dynamics is much faster
than the rigid body dynamics, so that the dynamic model can be cast in a
singularly perturbed form, similarly to the flexible joint case. Furthermore,
if a clear frequency separation exists among the arm vibration modes, then
the system can be effectively described on a multiple time-scale basis.
o
6.3 Regulation
We start the presentation of control laws for flexible arms by considering the
classical regulation problem, i.e., the case of a constant desired equilibrium
configuration qd = {fJI bI f. Indeed, the arm deformation is zero for any
value of the joint variables only in the absence of gravity. It is assumed that
the full state of the flexible arm is available for feedback. However, when
some structural damping is present, a linear feedback using only the joint
variables will be shown to asymptotically stabilize the system. Otherwise,
active vibration damping can be realized by designing a full state stabiliz-
ing control on the basis of the linear approximation of the arm dynamics
around the terminal point. Although they are conceived for point-to-point
tasks, the following schemes can also be applied in the terminal phase of a
trajectory around the steady-state configuration.
{6.81}
{6.82}
2Uemax
Amax{K} =: a, {6.83}
where ao, al, a > O. This can be easily proved by observing that the gravity
term contains only trigonometric functions of fJ and linear/trigonometric
238 CHAPTER 6. FLEXIBLE LINKS
(6.85)
q = qd q =0
is a globally asymptotically stable equilibrium point for the closed-loop sys-
tem (6.75) and (6.85)
Proof. The equilibrium points of the closed-loop system (6.75) and (6.85)
satisfy the equations
It is easy to recognize that (6.89) has a unique solution b for any value of
{). Adding Kbd + g6({)d) = 0 to the right-hand side of (6.89) yields
where the last inequality follows from (6.84). This implies that {q = qd,q =
O} is the unique equilibrium point of the closed-loop system (6.75) and
(6.85).
6.3. REGULATION 239
where identity (6.80) and the skew-symmetry of the matrix N have been
used. Simplifying terms yields
(6.94)
Remarks
• The above control law does not require any feedback from the de-
flection variables, and is composed of a linear term plus a constant
feedforward action which includes only part of the gravity force ap-
pearing in the model (6.75). The satisfaction of the structural as-
sumption Amin(K) > Q is not restrictive in general, and depends on
the relative importance of stiffness vs. gravity.
240 CHAPTER 6. FLEXIBLE LINKS
(6.96)
holds, and that the proportional control gain is chosen so that the
condition
(6.97)
is verified.
• The knowledge of the link stiffness K and of the complete gravity
term 9 is needed in the definition of the steady-state deformation 6d •
Uncertainty in the associated model parameters produces a different
asymptotically stable equilibrium point, which can be made arbitrar-
ily close to the desired one by increasing Kp.
• It can be shown that stability is guaranteed even in the absence of
link internal damping (D = 0). Physically, some small damping will
always exist but the regulation transients could be very slow. If de-
sired, a passive increase of damping can be achieved by structural
modification, e.g., viscoelastic layer damping treatment.
• If the tip location is of interest, p = k(iJ,6), then iJ d can be computed
by inverting for iJ the direct kinematics equation
(6.98)
(6.99)
(6.100)
dum dU
0 0 MJo Moo
!::"'x = ag" ag" 0 0
a{) a6
ago
-K -DMJo -DMoo
a{)
= A!::"'x+B!::"'u. (6.102)
H"e)
Hee
(6.106)
and the positive definiteness of the inertia matrix.
We define the system output as the vector of joint variables fJ. Following
the inversion algorithm, this output needs to be differentiated as many times
as until the input explicitly appearing. Inspection of eq. (6.105) suggests
that the joint accelerations i9 are at the same differential level as the torque
inputs u. Therefore, the relative degree is uniform for all outputs and equal
to two, and the input U can be fully recovered from (6.105).
Let Uo denote a joint acceleration vector. Setting J = Uo in (6.105) and
solving for u yields the feedback law
u = (H""-H,,eHi/ HJ'e)uO+C"+9,,-H,,eHi/(ce+ge+Db)+K8, (6.107)
where (H"" - H"eHii/ HJ'e)-l is the so-called decoupling matrix of the sys-
tem and is nonsingular. From (6.107) it can be recognized that only the
inversion of the block relative to the flexible variables is required for con-
trollaw implementation. Hence, the complexity of this nonlinear feedback
strategy increases only with the number of flexible variables; in the limit,
no inertia matrix inversion is required for the rigid case and the inversion
control law reduces to the well-known inverse dynamics control. Further,
if Hee is constant, its inversion can be conveniently performed once for all
off-line.
The control (6.107) transforms the closed-loop system (6.105) into the
input-output linearized form
i9 = uo (6.108)
.. 1 T .
0= -Hie (H"euo + Ce + ge + Do + K8). (6.109)
In order to achieve tracking of a desired trajectory fJd(t), the control design
is completed by choosing the joint acceleration as
(6.110)
244 CHAPTER 6. FLEXIBLE LINKS
where Kp > 0, KD > 0 are feedback matrix gains that allow pole place-
ment in the open left-hand complex half plane for the linear input-output
part (6.108). From (6.110) it is clear that the desired trajectory must be
differentiable at least once for having exact reproduction.
As previously mentioned, the applicability of the inversion controller
(6.107) is based on the stability of the induced unobservable dynamics
(6.109). The analysis can be carried out by studying the so-called zero
dynamics associated with the system (6.108) and (6.109). This dynamics
is obtained by constraining the output iJ of the system to be a constant,
without loss of generality zero. Hence, from (6.109) we obtain
.. -1 .
C = -H66 (C6 + g6 + Dc + Kc), (6.111)
c = Cd = -K-1g6(iJd) 6= 0
Proof. The proof goes through a similar Lyapunov direct method ar-
gument as in Section 6.3.1, using the energy-based candidate function -
see (6.92)-
l· T . 1 T
V = 2C B66C + 2(Cd - C) K(Cd - C)
+Ug(iJd, C) - Ug(iJd,Cd) + (Cd - cf g6(iJd), (6.112)
where
(6.114)
from initial conditions ti(O) = tio, 8(0) = 60 provides the nominal evolutions
tid(t), 6d(t) of the flexible variables. Hence, evaluation of the nonlinearities
in (6.107) along the computed state trajectory gives a control law in the
form
U = Ud(t) + Kp(t)(iJd - iJ) + KD(t)(Jd - J), (6.118)
where (6.110) has been used, and
(6.122)
(6.126)
6.4. JOINT TRACKING CONTROL 247
-
-KM66({),f 2
Z) (C6({),f 2 · 2 i)
Z,{),f + g6({)) + f 2 -1
DK- i +)
Z . (6.128)
Eqs. (6.127) and (6.128) represent a singularly perturbed form of the flexible
arm model, where f is the so-called perturbation parameter. Although the
model can be always recast as above, this form is significant only when f is
small, meaning that an effective time scale separation occurs; in particular,
the flexural rigidity EI and the length l of each link concur to determine
the magnitude of the perturbation parameter and influence the validity of
the approach.
When f -+ 0, the model of an equivalent rigid arm is recovered. In fact,
setting f = 0 and solving for Z in (6.128) gives
where subscript s indicates that the system is considered in the slow time
scale. Plugging (6.129) into (6.127) with f = 0 yields
where H",,({)s, 0) is the inertia matrix of the equivalent rigid arm, so that
eq. (6.130) becomes
(6.132)
In order to study the dynamics of the system in the fast time scale,
the so-called boundary-layer subsystem has to be identified. This can be
obtained by setting T = tlf, treating the slow variables as constants in the
248 CHAPTER 6. FLEXIBLE LINKS
fast time scale, and introducing the fast variables zf =Z - Zs; thus, the
fast subsystem of (6.128) is
(6.133)
(6.134)
y(t) = (1 T
ce )
(19(t))
o(t) , (6.136)
where Ce = <p' (£) expresses the contributions of each mode shape to the tip
angular position.
In order to reproduce a desired smooth time profile Yd(t), a stable inver-
sion of the system can be set up in the Fourier domain by regarding both
the input and the output as periodic functions. In this way, provided that
the involved signals are Fourier-transformable, all quantities will automati-
cally be bounded over time. The intrinsic assumption of this method leads
to the open-loop computation of an input command Ud(t) that will be used
as a feedforward on the real system.
We start by rewriting eq. (6.135) as
hffJ - hfJfJC~)
Hoo - hOfJce
(~(t)) +
o(t)
(0 0) (~(t))
0 D
8(t)
I:
where (6.136) has been used. Let then
where ~(w) and U(w) are the Fourier transforms of the flexible accelerations
and of the input torque, respectively. Inverting eq. (6.139) gives
and thus
1·· ..
U(w) = -(-)Y(w)
911 w
= r(w)Y(w). (6.141)
(6.142)
where r(t) is the impulsive time response of the inverse system correspond-
ing to r(w) in (6.141); since here r(t - r) =1= 0 also for t < r, then Ud(t) =1= 0
also for t < -T /2. In practice, the energy content of the required input
torque will rapidly decay to zero outside the desired interval duration T of
the output motion, and a time truncation can be reasonably performed.
It should be noted that eq. (6.140) provides also the frequency-based
description of the flexible variables associated with the given output motion,
which can be converted as well into a time evolution bd(t). In particular, the
initial values bd( -T /2) and 8d(-T /2) correspond to the specific initial arm
deflection state which gives overall bounded deformation under inversion
control.
Finally, we remark that a non causal behaviour of the inverse system is
obtained whenever the original system presents a finite time delay between
the input action and the observed output effects.
252 CHAPTER 6. FLEXIBLE LINKS
taken as its state; here, ri is the smoothness degree of the i-th output
trajectory.
6.5. END-EFFECTOR TRACKING CONTROL 253
(6.149)
identification and control of a single-link flexible arm was carried out in,
e.g., [10, 45, 27, 57, 58]. Analysis of the finite- and infinite-dimensional
transfer functions was performed in [29, 55]. Two-link flexible arms were
studied in, e.g., [37, 38].
Performance of co-located joint feedback controllers was investigated
in [12]. The importance of dynamic models for control of flexible manipu-
lators was pointed out in [22], and a symbolic closed-form model was derived
in [21]. The problem of joint regulation of flexible arms under gravity was
solved in [23] where also the case of no damping is covered; the control
scheme was extended to tip regulation in [46]. An iterative learning scheme
for positioning the end effector without knowledge of the gravity term is
given in [19]. For enhancement of structural passive damping, the reader
is referred to [I]. Active vibration linear control was proposed by [50, 51]
and further refined by [14]. Inversion-based controllers that achieve input-
output linearization were derived in [24]; the use of the feedforward strat-
egy was tested in [15]. Two-time scale control was proposed by [47] and
extended to the output feedback setting in [49]; a refinement of the singu-
larly perturbed model via the use of integral manifolds can be found in [48].
A combined feedback linearization/singular perturbation approach was re-
cently presented in [54]. An overview on the use of perturbation techniques
in control of flexible manipulators is given in [26]. Robust schemes using
Hoo control for a one-link flexible arm were proposed in [42,2]. Alternative
techniques for stabilization and trajectory tracking were proposed in [33] us-
ing direct strain feedback, and in [30] using acceleration feedback. A state
observer for a two-link flexible arm has been designed and implemented
in [39].
The problem of suitable trajectory generation for flexible arms was in-
vestigated in [5, 28]. The frequency domain approach was presented in [4]
for the single-link flexible arm, and was extended to the multilink case
in [6]. Performance of non-colocated tip feedback controllers was investi-
gated in [13]. The use of inversion control for stable tracking of an output
chosen along the links was proposed in [18], and a control scheme for a
single-link flexible arm was proposed in [20]. The problem of output reg-
ulation of a flexible robot arm was studied in [16] and a comparison of
approaches based on regulation theory is given in [17]. Related work on the
use of a partial state feedback regulator can be found in [40]. Stable tip
trajectory control for multilink flexible arms is studied in the time domain
in [32, 59].
Only planar deformation of flexible arms has been considered in this
chapter. A challenging problem is the control of both bending and torsional
vibrations for multilink flexible arms; satisfactory results for a single-link
arm can be found in [44,34]. A new line of research concerns the problem
256 CHAPTER 6. FLEXIBLE LINKS
References
[I] T.E. Alberts, L.J. Love, E. Bayo, and H. Moulin, "Experiments with
end-point control of a flexible link using the inverse dynamics approach
and passive damping," Proc. 1990 American Control Conj., San Diego,
CA, pp. 350-355, 1990.
[2] R.N. Banavar and P. Dominic, "An LQG/Hoo controller for a flexible
manipulator," IEEE Trans. on Control Systems Technology, vol. 3,
pp. 409-416, 1995.
[5] E. Bayo and B. Paden, "On trajectory generation for flexible robots,"
J. of Robotic Systems, vol. 4, pp. 229-235, 1987.
[l1J S. Cetinkunt and W.J. Book, "Symbolic modeling and dynamic simula-
tion of robotic manipulators with compliant links and joints," Robotics
fj Computer-Integmted Manufacturing, vol. 5, pp. 301-310, 1989.
[37] C.M. Oakley and R.H. Cannon, "Initial experiments on the control
of a two-link manipulator with a very flexible forearm," Proc. 1988
American Control Con/., Atlanta, GA, pp. 996-1002, 1988.
[38] C.M. Oakley and R.H. Cannon, "Equations of motion for an experi-
mental planar two-link flexible manipulator," Proc. 1989 ASME Winter
Annual Meet., San Francisco, CA, pp. 267-278, 1989.
[40] F. Pfeiffer, "A feedforward decoupling concept for the control of elastic
robots," J. of Robotic Systems, vol. 6, pp. 407-416, 1989.
[41] H.R. Pot a and T.E. Alberts, "Multivariable transfer functions for a
slewing piezoelectric laminate beam," ASME J. of Dynamic Systems,
Measurement, and Control, vol. 117, pp. 352-359, 1995.
[43] K. Richter and F. Pfeiffer, "A flexible link manipulator as a force mea-
suring and controlling unit," Proc. 1991 IEEE Int. Con/. on Robotics
and Automation, Sacramento, CA, pp. 1214-1219, 1991.
[44] Y. Sakawa and Z.H. Luo, "Modeling and control of coupled bending
and torsional vibrations of flexible beams," IEEE Trans. on Automatic
Control, vol. 34, pp. 970-977, 1989.
[48] B. Siciliano, W.J. Book, and G. De Maria, "An integral manifold ap-
proach to control of a one link flexible arm," Proc. 25th IEEE Conf.
on Decision and Control, Athina, GR, pp. 1131-1134, 1986.
[49] B. Siciliano, J.V.R. Prasad, and A.J. Calise, "Output feedback two-
time scale control of multi-link flexible arms," ASME J. of Dynamic
Systems, Measurement, and Control, vol. 114, pp. 70-77,1992.
[50] S.N. Singh and A.A. Schy, "Control of elastic robotic systems by non-
linear inversion and modal damping," ASME J. of Dynamic Systems,
Measurement, and Control, vol. 108, pp. 180-189, 1986.
[51] S.N. Singh and A.A. Schy, "Elastic robot control: Nonlinear inversion
and linear stabilization," IEEE Trans. on Aerospace and Electronic
Systems, vol. 22, pp. 340-348, 1986.
[52] W.H. Sunada and S. Dubowsky, "The application of finite element
methods to the dynamic analysis of flexible linkage systems," ASME
J. of Mechanical Design, vol. 103, pp. 643-651, 1983.
[58] S. Yurkovich, F.E. Pacheco, and A.P. Tzes, "On-line frequency domain
identification for control of a flexible-link robot with varying payload,"
IEEE 1rans. on Automatic Control, vol. 34, pp. 1300-1304,1989.
[59] H. Zhao and D. Chen, "Exact and stable tip trajectory tracking for
multi-link flexible manipulator," Proc. 32nd IEEE Con/. on Decision
and Control, San Antonio, TX, pp. 1371-1376,1993.
Part III
Mobile robots
Chapter 7
The third part of the book is concerned with modelling and control of
wheeled mobile robots. A wheeled mobile robot is a wheeled vehicle which is
capable of an autonomous motion (without external human driver) because
it is equipped, for its motion, with actuators that are driven by an embarked
computer.
The aim of this chapter is to give a general and unifying presentation of
the modelling issues of wheeled mobile robots. Several examples of deriva-
tion of kinematic and/or dynamic models for wheeled mobile robots are
available in the literature for particular prototypes of mobile robots. Here,
a more general viewpoint is adopted and a general class of wheeled mobile
robots with an arbitrary number of wheels of different types and actuation
is considered. The purpose is to point out the structural properties of the
kinematic and dynamic models, taking into account the restriction to robot
mobility induced by the constraints. By introducing the concepts of degree
of mobility and of degree of steerability, we show that, notwithstanding the
variety of possible robot constructions and wheel configurations, the set of
wheeled mobile robots can be partitioned in five classes.
We introduce four different kinds of state space models that are of in-
terest for understanding the behaviour of wheeled mobile robots.
• The posture kinematic model is the simplest state space model able to
give a global description of wheeled mobile robots. It is shown that
within each of the five classes, this model has a particular generic
structure which allows understanding the manoeuvrability properties
y ------------
o x
moving frame, both with respect to the base frame with origin at O. Hence,
the robot posture is given by the (3 x 1) vector
(7.1)
and the rotation matrix expressing the orientation of the base frame with
respect to the moving frame is
1?
sin 1? 0 )
COS
R( 1?} = ( - sin 1?
cos 1? 0 . (7.2)
001
We assume that, during motion, the plane of each wheel remains vertical
and the wheel rotates about its (horizontal) axle whose orientation with
respect to the cart can be fixed or varying. We distinguish between two
basic classes of idealized wheels; namely, the conventional wheels and the
Swedish wheels. In each case, it is assumed that the contact between the
wheel and the ground is reduced to a single point of the plane.
For a conventional wheel, the contact between the wheel and the ground
is supposed to satisfy both conditions of pure rolling and non-slipping along
the motion. This means that the velocity of the contact point is equal to
zero and implies that the two components, respectively parallel to the plane
of the wheel and orthogonal to this plane, of this velocity are equal to zero.
For a Swedish wheel, only one component of the velocity of the contact
point of the wheel with the ground is supposed to be equal to zero along
the motion. The direction of this zero component of velocity is a priori
arbitrary but is fixed with respect to the orientation of the wheel.
We now derive explicitly the expressions of the constraints for conven-
tional and Swedish wheels.
components of the velocity of the contact point are easily computed and
the 2 following constraints can be deduced:
• on the wheel plane,
Steering wheel
A steering wheel is such that motion of the wheel plane with respect to the
cart is a rotation about a vertical axle passing through the center of the
wheel (Fig. 7.2). The description is the same as for a fixed wheel, except
that now the angle f3 is not constant but time-varying. The position of the
wheel is characterized by 3 constants: l,a,r, and its motion with respect
to the cart by 2 time-varying angles f3(t) and <p(t). The constraints have
the same form as above, i.e.,
Castor wheel
A castor wheel is a wheel which is orient able with respect to the cart, but
the rotation of the wheel plane is about a vertical axle which does not pass
through the center of the wheel (Fig. 7.3). In this case, the description of
the wheel configuration requires more parameters.
The center of the wheel is now denoted by B and is connected to the
cart by a rigid rod from A to B of constant length d which can rotate about
7.2. RESTRICTIONS ON ROBOT MOBILITY 269
~
, d'
a fixed vertical axle at point A. This point A is itself a fixed point of the
cart and its position is specified by the 2 polar coordinates 1 and 0: as above.
The rotation of the rod with respect to the cart is represented by the angle
f3 and the plane of the wheel is aligned with d.
The position of the wheel is described by 4 constants: 0:, I, r, d while its
motion by 2 time-varying angles f3(t) and cp(t). With these notations, the
constraints have the following form:
• posture coordinates {(t) = (x(t) y(t) 1?(t))T for the position in the
plane;
• orientation coordinates (3(t) = ({3'[(t) (3'[(t))T for the orientation
angles of the steering and castor wheels, respectively;
• rotation coordinates <p(t) = (<Pf(t) <Ps(t) <Pe(t) <Psw(t))T for the
rotation angles of the wheels about their horizontal axle of rotation.
In (7.10), it is
J I ({3s,{3e) = (;:~1~:~)
Jlsw
where JIf, J ls , J Ie , and Jlsw are respectively (Nf x 3), (Ns x 3), (Ne x 3),
and (Nsw x 3) matrices, whose forms derive directly from the constraints
(7.3), (7.5), (7.7), and (7.9), respectively. In particular, JIf and J Isw are
constant, while J Is and J Ie are time-varying, respectively through (3s(t)
7.2. RESTRICTIONS ON ROBOT MOBILITY 271
where Glf , Gls , and Glc are 3 matrices respectively of dimensions (Nf x 3),
(Ns x 3), and (Nc x 3), whose rows derive from the non-slipping constraints
(7.4), (7.6), and (7.8), respectively. In particular, Glf is constant while Gls
and Glc are time-varying. Further, G2c is a diagonal matrix whose diagonal
entries are equal to d sin 'Y for the Nc castor wheels.
We introduce the following assumption concerning the configuration of
the Swedish wheels.
/
/
/
/
/ /
/ /
/ /
/ /
/ //
//
//
• ICR
Let us now examine the case rank( Glf) = 2 which implies that the
robot has at least 2 fixed wheels and, if there are more than 2, that their
axles intersect at the ICR whose position with respect to the cart is fixed.
In such a case, it is clear that the only possible motion is a rotation of
the robot about a fixed ICR. Obviously, this limitation is not acceptable
in practice and thus we assume that rank( Glf) ~ 1. We assume moreover
that the robot structure is nondegenerate in the following sense.
rank( Glf) ~ 1
o
7.2. RESTRICTIONS ON ROBOT MOBILITY 273
• If the robot has more than one fixed wheel (Nf > 1), then they are
all on a single common axle.
• The centers of the steering wheels do not belong to this common axle
of the fixed wheels.
Os = rank(C1s(fis)).
The number of steering wheels Ns and their type are obviously a
privilege of the robot designer. If a mobile robot is equipped with
more than Os steering wheels (N. > os), the motion of the extra
wheels must be coordinated to guarantee the existence of the lCR at
each time instant.
(7.15)
the upper bound is obvious, while the lower bound means that we
consider only the case where a motion is possible, i.e., Om =/; o.
• The degree of steerability O. satisfies the inequality
(7.16)
the upper bound can be reached only for robots without fixed wheels
(Nf = 0), while the lower bound corresponds to robots without steer-
ing wheels (N. = 0).
• The following inequality is satisfied:
(7.17)
I ~~ I ~ I ~ I ~ I ~ I ~ I
Table 7.1: Degree of mobility and degree of steer ability for possible wheeled
mobile robots.
Therefore, there exist only five types of wheeled mobile robots, corre-
sponding to the five pairs of values of 8m and 88 that satisfy inequalities
(7.15), (7.16) and (7.17) according to Tab. 7.1.
In the sequel, each type of structure will be designated by using a denom-
ination of the form "Type (8 m , 88) robot." The main design characteristics
of each type of mobile robot are now briefly presented.
In this case it is
8m = dim(N(C;(,B8))) = 3 88 = o.
These robots have no fixed wheels (Nt = O) and no steering wheels (N8 =
O). They have only castor and/or Swedish wheels. Such robots are called
omnidirectional because they have a full mobility in the plane which means
that they can move at each time instant in any direction without any re-
orientation. In contrast, the other four types of robots have a restricted
mobility (degree of mobility less than 3).
In this case it is
8m = dim(N(C;(,B.}}} = dim(N(Clf}} = 2 8. = O.
These robots have no steering wheels (N8 = O). They have either one or
several fixed wheels but with a single common axle, otherwise rank( Clf }
would be greater than 1. The mobility of the robot is restricted in the sense
that, for any admissible trajectory ~(t), the velocity ~(t) is constrained
to belong to the 2-dimensional distribution spanned by the vector fields
RT('!9}Sl and RT('!9)S2' where Sl and S2 are two constant vectors spanning
N(Clf }.
7.2. RESTRICTIONS ON ROBOT MOBILITY 275
These robots have no fixed wheels (N, = 0) and at least one steering wheel
(Ns ~ 1). It there are more than one steering wheel, their orientations must
»
be coordinated in such a way that rank(C1s (,8s = 6s = 1. The velocity
~(t) is constrained to belong to the 2-dimensional distribution spanned by
the vector fields RT (1'J)S1 (/3s ) and RT (1'J)S2 (f3s) where S1 (f3s) and S2 (f3s) are
two vectors spanning N(C1s (f3s» and parameterized by the angle f3s of one
arbitrarily chosen steering wheel.
These robots have one or several fixed wheels with a single common axle.
They also have one or several steering wheels, with the condition that the
center of one of them is not located on the axle of the fixed wheels -
otherwise the structure would be singular, see Assumption 7.2- and that
their orientations are coordinated in such a way that rank(Cls (f3s» = 6s =
1. The velocity ~(t) is constrained to belong to a I-dimensional distribution
parameterized by the orientation angle of one arbitrarily chosen steering
wheel. Mobile robots that are built on the model of a conventional car
(often called car-like robots) belong to this class.
These robots have no fixed wheels (N, = 0). They have at least two
steering wheels (Ns ~ 2). If there are more than 2 steering wheels, their
orientations must be coordinated in such a way that rank(C1s (f3s» = 6s =
2. The velocity ~(t) is constrained to belong to a I-dimensional distribution
parameterized by the orientation angles of two arbitrarily chosen steering
wheels of the robot.
In order to avoid useless notational complications, we will assume from
now on that the degree of steerability is precisely equal to the number of
276 _ CHAPTER 7. MODELLING AND STRUCTURAL PROPERTIES
SWEDISH
WHEELS
Wheels a (3 'Y I
Isw 7r/3 0 0 L
2sw 7r 0 0 L
3sw 57r/3 0 0 L
-.;3/2
J1 = J1sw =
(
~/2 ~: ~L)
1/2
r
J2 = ( 0 r
0 0) 0 .
o 0 r
Wheels a (3 I
Ie 0 - L
2e 7r - L
3e 37r/2 - L
Table 7.3: Characteristic constants of Type (3,0) robot with castor wheels.
CASTOR
WHEELS
J2 =(
r
0
0 0)
r 0
o 0 r
COS(3c1 sin (3c1 d + L sin (3c1 )
C1 = C 1c ((3c) = ( -COS(3c2 - sin (3c2 d + L sin (3c2
sin (3c3 - cos (3c3 d + L sin (3c3
C2 = C2c = (
d
0 dO.
0 0)
o 0 d
Wheels a (3 1
If 0 0 L
2f 11" 0 L
3c 311"/2 - L
FIXED
WHEELS
CASTOR
WHEEL
J - Jlf - ( 0
0
-1
1 L)
L
1 - (JIC(!3c3)) - COS{3c3 sin {3c3 L cos {3c3
J2 = ( 0
r 0r 0)0
o 0 r
1 o
C - Clf - ( -1 o
1 - (CIC({3c3)) - sin{3c3
- cOS{3c3
C2~(~J~m·
We note that the non-slipping constraints of the 2 fixed wheels are equiva-
lent (see the first 2 rows of Cd; hence, the matrix Ci has rank equal to 1
as expected.
cos {3sI
- sin{3c2 V2L ~os (3c2 )
cos {3c3 V2L cos {3c3
280 _ CHAPTER 7. MODELLING AND STRUCTURAL PROPERTIES
CASTOR
WHEELS
Wheels a f3 1
Is 0 - 0
2c 1f /2 - LV2
3c 1f - LV2
J2 =
r
( 0 r
0 0) 0
o 0 r
sin f3s1
C1 = ( C C(If3S(f3 Sf31))) = (COSf3S
- sin f3e2
1
cos f3e2 d+ V2~sin f3e2 )
Ie e2, e3 _ COS f3e3 - sin f3e3 d + V2L sin f3e3
C2=(~J=G D
7.3.5 Type (1,1) robot
The robot has 2 fixed wheels on the same axle and 1 steering wheel, like
the children tricycles (Fig. 7.10). The characteristic constants are specified
in Tab. 7.6.
The constraints have the form (7.10) and (7.11), where:
J1 = (J Ju ) = (~ ! 1 ~)
18 (f3s3) cos f3s3 sin f3s3 L cos f383
7.3. THREE- WHEEL ROBOTS 281
FIXED
WHEELS
I
I
STEER~--P"'!_-4-_ _ _y_ m
...
WHEEL
Wheels a {3 1
If 0 0 L
2f 11" 0 L
38 311"/2 - L
J2 = ( 0 r
r 0 0) 0
o 0 r
o
C1 = ( C c If ) = ( 1
-1 o
Is ({3s3) sin {3s3 - coS{3s3
C2 = O.
STEERING
WHEELS
CASTOR
WHEEL
Wheels Q (3 I
Is 0 - L
2s 1l' - L
3c 31l'/2 - L
r
J2 = ( 0
0 0)0
r
o 0 r
sin (3.1 Lsin(3.1 )
- sin (3.2 L sin (3.2
- COS(3c3 d + L sin(3c3
C2=(~J=m·
7.4 Posture kinematic model
In this section, the analysis of mobility, as discussed in Section 7.2, is re-
formulated into a state space form which will be useful for our subsequent
developments.
We have shown that, whatever the type of mobile robot, the velocity
e(t) is restricted to belong to a distribution ~c defined as
e(t) E ~c = span{col(RT(1?)~((3.))} Vt
7.4. POSTURE KINEMATIC MODEL 283
where the columns of the matrix I;(.Bs) form a basis of N(q(.Bs)), i.e.,
N(C;(.Bs)) = span{col(I;(.Bs))}.
This is equivalent to the following statement: for all t, there exists a time-
varying vector 'T/( t) such that
(7.18)
The dimension of the distribution ~c and, hence, of the vector 'T/(t) is the
degree of mobility Om of the robot. Obviously, in the case where the robot
has no steering wheels (os = 0), the matrix I; is constant and the expression
(7.18) reduces to
(7.19)
In the opposite case (os ~ 1), the matrix I; explicitly depends on the
orientation coordinates .Bs and the expression (7.18) can be augmented as
follows:
~ = RT(19)I;(.Bs)'T/ (7.20)
~s = (. (7.21)
The representation (7.19) (or (7.20) and (7.21)) can be regarded as a state
space representation of the system, termed the posture kinematic model,
with the posture coordinates ~ and (possibly) the orientation coordinates.Bs
as state variables while 'T/ and ( -which are homogeneous to velocities- can
be interpreted as control inputs entering the model linearly. Nevertheless,
this interpretation shall be taken with some care, since the true physical
control inputs of a mobile robot are the torques provided by the embarked
actuators; the kinematic state space model is in fact only a subsystem of
the general dynamic model that will be presented in Section 7.6.
characteristic numbers Om and Os. In other terms, all robots of a given type
can be described by the same posture kinematic model.
The five generic posture kinematic models are now presented.
( ~)
y =
(c~s'!?
sm '!?
-sin'!?
cos'!? °0) (111)
112 (7.22)
J ° ° 1 113
where 111 and 112 are the robot velocity components along Xm and Ym ,
respectively, and 113 is the angular velocity.
E~ (! D
The posture kinematic model (7.19) reduces to
( JY~) = 0) (111)
°
(-Sin'!? (7.23)
°
cos'!?
112
1
where 111 is the robot velocity component along Ym and 112 is the angular
velocity.
-sin ,8s!
E(,8s) = ( costs 1
7.4. POSTURE KINEMATIC MODEL 285
m(~(~Di:';)) n(~)
The posture kinematic model (7.20) and (7.21) reduces to
= (7.24)
E(.B8) = (LSi~.B83) .
cos .Bs3
The posture kinematic model (7.20) and (7.21) reduces to
( ~X) =
(-Lsint?sin.Bs3)
L cos t? sin .Bs3 111 (7.26)
t? cos .B83
/383 = (1· (7.27)
z = B(z)u (7.31)
with either (8 s = 0)
z={ u=7]
or (8 s > 0)
z= (:J u= (~).
This posture kinematic model allows us to discuss further the manoeuvra-
bility of wheeled mobile robots. The degree of mobility 8m is a first index
of manoeuvrability; it is equal to the number of degrees of freedom that
can be directly manipulated from the inputs 7], without reorientation of the
steering wheels. Intuitively it corresponds to how many "degrees of free-
dom" the robot could have instantaneously from its current configuration,
without steering any of its wheels. This number 8m is not equal to the
overall number of "degrees of freedom" of the robot that can be manip-
ulated from the inputs 7] and (. In fact this number is equal to the sum
8M = 8m + 8s that we could call degree of manoeuvrability. It includes the
88 additional degrees of freedom that are accessible from the inputs (. But
the action of ( on the posture coordinates { is indirect, since it is achieved
only through the coordinates (38' that are related to ( by an integral action.
This reflects the fact that the modification of the orientation of a steering
wheel cannot be achieved instantaneously.
The manoeuvrability of a wheeled mobile robot depends not only on 8M ,
but also on the way these 8M degrees offreedom are partitioned into 8m and
88 • Therefore, two indices are needed to characterize manoeuvrability: 8M
and 8m , or, equivalently, 8m and 8s , which are the two indices identifying
the five classes of robots illustrated above.
Two robots with the same value of 8M, but different 8m , are not equiv-
alent. For robots with 8M = 3, it is possible to freely assign the position
of the ICR, either directly from 7], for Type (3,0) robots, or by orientation
of 1 or 2 steering wheels for Type (2,1) and Type (1,2) robots. For robots
with 8M = 2, the ICR is constrained to belong to a straight line (the axle
of the fixed wheel). Its position on this line is assigned either directly for
Type (2,0) robots, or by the orientation of a steering wheel for Type (1,1)
robots.
7.4. POSTURE KINEMATIC MODEL 287
Similarly, two wheeled mobile robots with the same value of 8m , but
different 8M , are not equivalent; the robot with the largest 8M is more
manoeuvrable. Compare, for instance, a Type (1,1) robot and a Type
(1,2) robot with 8m = 1 and, respectively, 8M = 2 and 8M = 3. The
position of the ICR for a Type (1,2) robot can be assigned freely in the
plane, just by orienting 2 steering wheels, while for a Type (1,1) robot, the
ICR is constrained to belong to the axle of the fixed wheels, its position
on this axle being specified by the orientation of the steering wheel. Since
the steering directions of the steering wheels can usually be changed very
quickly, especially for small indoors robots, it follows, from a practical
viewpoint, that a Type (1,2) robot is more manoeuvrable than a Type
(1,1) robot.
Obviously, the ideal situation is that of omnidirectional robots where
8m =8M=3.
7.4.3 Irreducibility
In this section, we address the question of reducibility of the kinematic
state space model (7.31). A state space model is reducible if there exists a
change of coordinates such that some of the new coordinates are identically
zero along the motion of the system. For a nonlinear dynamical system
without drift like (7.31), reducibility is related to the involutive closure L5.
of the following distribution 6., expressed in local coordinates as
6.(z) = span{col(B(z))}.
X) (-Lsin'!?sin.Bs3 0)
Z= ( '~!? = L cos'!? sin.Bs3
cos .Bs3
0
0
(171)=B(Z)U.
(1
(7.32)
~s3 0 1
ey!)
We see that rank(B(z)) = hm + h. = 2 and dim(A(z)) = dim(z) = 4
everywhere in the state space. It follows that the kinematic state space
model of a Type (1,1) robot is irreducible.
The same line of reasoning that has been followed so far for a Type (1,1)
robot can be followed easily for the other robots described above. It can be
concluded that each posture kinematic model is irreducible. We summarize
this analysis in a Property.
Property 7.1 For the posture kinematic model z = B(z)u of a wheeled
mobile robot, the input matrix B(z) has full rank, i.e.,
rank(B(z)) = hm + h. 'Vz,
and the involutive distribution A(z) has constant maximal dimension, i.e.,
dim(A(z)) = 3 + h. 'Vz.
As a consequence, the posture kinematic model of a wheeled mobile robot
is irreducible. This is a coordinate-free property.
o
(7.39)
q = S(q)u (7.40)
where
RT(f)6~(!3·) ~)
( (7.41)
S(q) = D(!3c)~(!3.) 0
E(!3.,!3c)~(!3s) 0
Equation (7.40) has the standard form of the kinematic model of a system
subject to independent velocity constraints. We now connect this formula-
tion with the standard theory of nonholonomic mechanical systems.
Reducibility of (7.40) is directly related to the dimension of the invo-
lutive closure of the distribution ~l spanned in local coordinates q by the
columns of the matrix S(q), i.e.,
~l(q) = span{col(S(q))}.
It follows immediately that
M = dim(inv(~d) - (8 m + N.).
292 _ CHAPTER 7. MODELLING AND STRUCTURAL PROPERTIES
This number M represents the number of velocity constraints that are not
integrable and therefore cannot be eliminated, whatever the choice of the
generalized coordinates. It must be pointed out that this number depends
on the particular structure of the robot, and thus it has not the same value
for all the robots belonging to a given class.
On the other hand, for a particular choice of generalized coordinates,
the number of coordinates that can be eliminated by integration of the
constraints is equal to the difference between dim(q) and dim(inv(Ad).
dim(inv(Ad) = 5.
7.5. CONFIGURATION KINEMATIC MODEL 293
. . . 3L{).
<;'1 + <;'2 + <;'3 = - -r .
This means that (<;'1 + <;'2 + <;'3 + 3L{) I r) is constant along any trajectory
compatible with the constraints. It is then possible to eliminate one of the
four variables <;'1, <;'2, <;'3, {).
- sin {) o
cos{) o
o 1
1
d COS{3c3 -~(d + L sin (3c3)
S(q) = 1 L
r r
1 L
r r
L
--1 sm
. {3c3 - - COS{3c3
r r
It can be checked that
dim(~d =2 dim(inv(~d) = 6.
It follows that the degree of nonholonomy is equal to 6 - 2 = 4, and the
number of coordinates that can be eliminated is equal to 7 - 6 = 1. From
the configuration model it is
. . 2L{).
<;'1 + <;'2 = - -r .
This means that the variable (<;'1 + <;'2 + 2L{) Ir) has a constant value along
any trajectory compatible with the constraints.
294 _ CHAPTER 7. MODELLING AND STRUCTURAL PROPERTIES
( )T- (8T
d8T
dt 8~ 8~
)T = R T (1?)JT (/3s,/3c».+RT (1?)CT (/3s,/3c)JL (7.42)
1 1
d (8T)T (8T)T
dt 8~c - 8/3c = C[ JL + Tc (7.43)
where T represents the kinetic energy and ).., JL are the Lagrange multipliers
associated with the constraints (7.10) and (7.11) respectively.
In order to eliminate the Lagrange multipliers, we proceed as follows.
The first three Lagrange's equations (7.42), (7.43), and (7.44) are premulti-
plied by the matrices ET(/3s)R(1?), ET(/3s)D(/3c), and ET (/3s)E(/3s,/3c), re-
spectively, and then summed up. This leads to the two following equations,
7.6. CONFIGURATION DYNAMIC MODEL 295
has been used. The kinetic energy of wheeled mobile robots can be ex-
pressed as follows:
~ = RT('!9)E(;3s)'T/ (7.48)
~s = ( (7.49)
~e = D(;3e)E(;3s)'T/ (7.50)
Hl(;3.,;3e)1j + ET(;3s)V(;3e)( + h(;3.,;3e,'T/,()
= ET(;3s) (DT(;3e)Te + E T (;3.,;3e)T<p) (7.51)
VT (;3e)E(;3s)1j + Is( + 12(;3., ;3e, 'T/, () = Ts (7.52)
<p = E(;3e,;3s)E(;3s)'T/ (7.53)
where
(7.54)
with
- cosf3c2 sin f3c3 )
- sinf3c2 - COSf3c3
d + Lsinf3c2 d + L sin f3c3
sin f3c2 cos f3c3 )
- cos f3c2 sin f3c3 .
L cos f3c2 L cos f3c3
and the matrix B(f3c)P has full rank (= 3) for any configuration of the
robot.
• 1 actuator for the orientation of wheel 3 and 1 actuator for the rotation
of wheel 2 (or 3), provided that d> L; in this case it is
with
a second actuator for the rotation of the steering wheel (number 1) and a
third actuator for the orientation of either wheel 2 or wheel 3. The two
corresponding matrices Pare:
Since om
= 1, Assumption 7.3 will be satisfied if a second actuator is
provided for the rotation of the third wheel. The matrix P is then
with
DT«(3c) = (
-d1.sm (3c3
~ COS{3c3
1
-~(d + L sin (3c3)
T 1 ( - sin (381 sin {382 cos (3c3 )
E «(3s,(3c) = -; cos (381 -cos(3s2 sin(3c3 .
LCOS(381 LCOS(3s2 Lcos{3ca
300 _ CHAPTER 7. MODELLING AND STRUCTURAL PROPERTIES
q = S(q)u (7.56)
H({3)u + f({3, u) = F({3)ro (7.57)
(3 = (~:)
q~m
u = (~)
7.7. POSTURE DYNAMIC MODEL 301
It follows from Assumption 7.3 that the matrix F({3) has full rank for
all {3. This property is important to analyze the behaviour of wheeled
mobile robots and the design of feedback controllers. It is first used to
transform the general state space model into a simpler and more convenient
form, by a smooth static state feedback.
q = S(q)u (7.58)
u=v (7.59)
z = B(z)u (7.61)
u=v (7.62)
302 _ CHAPTER 7. MODELLING AND STRUCTURAL PROPERTIES
Property 7.7 The posture dynamic model is generic and irreducible, and
small-time-Iocally-controllablej further, for restricted mobility robots, it is
not stabilizable by a continuous static time-invariant state feedback, but is
stabilizable by a time-varying static state feedback.
o
References
[1] J. Ackerman, "Robust yaw damping of cars with front and rear wheel
steering," Proc. 31st IEEE Conf. on Decision and Control, Tucson,
AZ, pp. 2586-2590,1992.
[3] J.C. Alexander and J.H. Maddocks, "On the kinematics of wheeled
mobile robots," Int. J. of Robotics Research, vol. 8, no. 5, pp. 15-27,
1989.
[4] H. Asama, M. Sato, L. Bogoni, H. Kaetsu, A. Matsumoto, and I. Endo,
"Development of an omni-directional mobile robot with 3 dof decou-
pling drive mechanism," Proc. 1995 IEEE Int. Conf. on Robotics and
Automation, Nagoya, pp. 1925-1930,1995.
[5] C. Balmer, "Avatar: a home built robot," Robotics Age, vol. 4, no 1,
pp. 20-25, 1988.
[6] J. Barraquand and J.-C. Latombe, "On non-holonomic mobile robots
and optimal manoeuvring", Revue d'Intelligence Arlificielle, vol. 3,
no. 2, pp. 77-103, 1989.
[7] G. Bastin and G. Campion, "On adaptive linearizing control of omnidi-
rectional mobile robots," in Progress in Systems and Control Theory 4,
vol. 2, pp. 531-538, Birkhauser, Boston, MA, 1989.
[8] A.M. Bloch, N.H. McClamroch, and M. Reyhanoglu, "Control and sta-
bilization of nonholonomic dynamical systems," IEEE Trans. on Au-
tomatic Control, vol. 37, pp. 1746-1757,1992.
[9] J. Borenstein, "Control and kinematic design of multi-degree-of-
freedom mobile robots with compliant linkage," IEEE Trans. on
Robotics and Automation, vol. 11, pp. 21-35, 1995.
[10] R.W. Brockett, "Asymptotic stability and feedback stabilization," in
Differential Geometric Control Theory, R.W. Brockett, R.S. Millman
and H.J. Sussman (Eds.), Birkhauser, Boston, MA, pp. 181-208,1983.
[11] L. Bushnell, D. Tilbury, and S. Sastry, "Steering three-input nonholo-
nomic systems: The fire truck example," Int. J. of Robotic Research,
vol. 14, pp. 366-381, 1995.
[12] G. Campion, B. d'Andrea-Novel, and G. Bastin, "Controllability and
state feedback stabilizability of nonholonomic mechanical systems," in
Advanced Robot Control, Lecture Notes in Control and Information
Science, vol. 162, C. Canudas de Wit (Ed.), Springer-Verlag, Berlin, D,
pp. 106-124,1991.
[13] G. Campion, B. d'Andrea-Novel, and G. Bastin, "Modelling and state
feedback control of nonholonomic mechanical systems," Proc. 30th
IEEE Conf. on Decision and Control, Brighton, UK, pp. 1184-1189,
1991.
REFERENCES 305
[17] C. Helmers, "Ein Hendenleben (or a hero's life)," Robotics Age, vol. 5,
no. 2, pp. 7-16, 1983.
[18] J.M. Holland, "Rethinking robot mobility," Robotics Age, vol. 7, no. 1,
pp. 26-30, 1988.
[20] S.M. Killough and F.G. Pin, "Design of an omnidirectional and holo-
nomic wheeled platform design," Proc. 1992 IEEE Int. ConJ. on
Robotics and Automation, Nice, F, pp. 84-90, 1992.
[25] P.F. Muir and C.P. Neuman, "Kinematic modelling for feedback con-
trol of an omnidirectional mobile robot," Proc. 1987 IEEE Int. Conf.
on Robotics and Automation, Raleigh, NC, pp. 1172-1178, 1987.
306 __ CHAPTER 7. MODELLING AND STRUCTURAL PROPERTIES
[26) P.F. Muir and C.P. Neuman, "Kinematic modeling of wheeled mobile
robots," J. of Robotic Systems, vol. 4, pp. 281-329,1987.
[27) R.M. Murray and S.S. Sastry, "Nonholonomic motion planning: Steer-
ing with sinusoids," IEEE Trans. on Automatic Control, vol. 38,
pp. 700-716, 1993.
[28) Y. Nakamura and S. Savant, "Nonlinear tracking control of au-
tonomous underwater vehicles," Proc. 1992 IEEE Int. Conf. on
Robotics and Automation, Nice, F, pp. A4-A9, 1992.
[29) H. Nijmeijer and A.J. van der Schaft, Nonlinear Dynamical Control
Systems, Springer-Verlag, New York, 1990.
Feedback linearization
The last two chapters of the book are concerned with state feedback control
of wheeled mobile robots.
The most challenging issue from a theoretical viewpoint is to find feed-
back control laws that can stabilize the robot about an equilibrium point.
The reason is that a nonholonomic mobile robot cannot be stabilized by
a smooth state feedback, as we have anticipated in Section 7.4.4. It is
therefore necessary to find more clever solutions involving nonstationary
(time varying) and/or singular feedback controls. This issue will be further
discussed in the next chapter.
In this chapter, we will not be concerned with the stabilization problem
about an equilibrium point (which is a regulation problem) but with an-
other control problem, possibly more important in practice; namely, stable
tracking of a reference motion (this is called also stabilization about a tra-
jectory). Interestingly enough, the tracking problem is easier to solve than
the regulation problem for wheeled mobile robots.
Our purpose in the present chapter is to investigate the solvability of
tracking problems for mobile robots by means of smooth static and dynamic
feedback linearization. In particular, we will elucidate the connection be-
tween the intrinsic structural mobility of the robots and their feedback
linearizability.
We will address two basic tracking problems; namely, point tracking
and posture tracking that will be described in the next section. By means
of static feedback linearization, it is shown how to solve the point and
posture tracking problems for omnidirectional robots and the point tracking
problem only for robots having a restricted mobility. Then, it is shown
how the posture tracking problem can be solved for all types of robots
by dynamic feedback linearization, albeit with minor singularities. Design
The point tracking problem is to find a state feedback controller that can
achieve tracking, with stability, of a given reference moving position x~(t),
y~(t) which is assumed to be twice differentiable.
8.1. FEEDBACK CONTROL PROBLEMS 309
y ------------
o x
• the tracking errors x'(t) = x'(t) - x~(t), fj'(t) = y'(t) - y~(t) and the
control v(t) are bounded for all t,
• if x'(O) = x~(O) and y'(O) = y~(O), then x'(t) = x~(t) and y'(t) = y~(t)
for all t.
Although we will see that restricted mobility robots are not full state
feedback linearizable via static state feedback, a partial feedback lineariza-
tion can help us solve the point tracking problem.
i = B(z)u (8.2)
u=v (8.3)
The same posture and point tracking problems can also be considered
for the posture kinematic model only, i.e.,
i = B(z)u. (8.4)
This is called feedback velocity control because the control action u is ho-
mogeneous to a velocity.
(8.7)
Since matrix RT ('19) is invertible for all '19, it is clear that we can use the
control v = i} to assign any arbitrary dynamics to the posture ~(t). More
precisely, we have:
Proof. Substituting (8.8) in (8.6), and then in (8.7) gives that the dy-
namics of the tracking error ~ = ~ - ~r is governed by the stable linear
differential equation
.. .
~ + (AI + A2)~ + AIA2~ = 0 (8.9)
Remarks
• Eq. (8.9) can be interpreted as a reference model for the tracking error,
that is a model of how we want the tracking error to decrease. We
observe that this control law is quite similar to the inverse dynamics
control that has been classically derived for rigid link manipulators
(see Chapter 2) .
• It is worth writing the reference model (8.9) in state space form
~ = -AI~+U
if = -A2U (8.10)
(8.11)
312 CHAPTER 8. FEEDBACK LINEARIZATION
with 1}r = R(t'J)(er - Al~)' being the linearizing velocity control of the
kinematic state space model. We can therefore interpret (8.8) as a
torque control law that performs tracking of the reference linearizing
velocity control signal1}r (t) together with the reference posture ~r (t).
e= RT(t'J)E(/3s)1} (8.12)
/is = ( (8.13)
(8.14)
(8.15)
We know from Property 8.1 that this model (8.12)-(8.15) is not full state
linearizable by a smooth static time-invariant state feedback and that the
largest linearizable subsystem has dimension 2(om + os). The purpose of
this section is to examine how this property can be used to solve the point
tracking problem by static state feedback linearization. Before that, we
discuss the partial feedback linearization of the dynamic model (8.12)-
(8.15) in a more detailed way.
K{z) = ( oh T oh )
of,R (t?)E{,8s) o,8s (8.19)
and
Zl = h{z)
Z2 = K{z)u
Z3 = k{z)
where k{z) is selected such that the mapping
f,)
( ,8s ( h{z) ) (8.21)
~ k{z)
Q{z) = ( ok T Ok) -1
of,R (t?)E{,8s) o,8s K (z). (8.23)
to (8.22), we obtain the expected partially linear system (8.16) and this
concludes the proof.
314 CHAPTER 8. FEEDBACK LINEARIZATION
Lemma 8.3 Let (Zld, Zld, Zld) be a reference smooth trajectory such that
IIZld{t)lI, IIZld{t)ll, Ilzld{t)1I are bounded for all t and such that Zld{t) is .e l .
If the matrix Q{ZI, Z3) defined in (8.22) is bounded for all Zl, Z3 then, the
auxiliary control law
(8.25)
(2,0) ( xy ++ eesin(19
cos( 19 + 6) )
+ 6) 19
e"#O
6"# 2k7r
(X + e cos( 19 + 6) ) e"#O
(2,1) y + esin(19 + 6) 19
6"# /3. + 2k7r
/3.
FIXED
WHEELS
.
I
I
p' I
I
CASTOR I
WHEELS p:
Figure 8.2: Type (2,0) robot with two fixed wheels and two castor wheels.
(8.26)
STEERING
CASTOR WHEEL ~
WHEELS
.p' P
In contrast, for Type (1,1) and Type (1,2) robots, the point tracking
problem for a fixed point pI ofthe cart defined by (8.1) cannot be solved by
feedback linearization, the corresponding decoupling matrix being generi-
cally singular. It is worth noticing, however, that for these robots there are
linearizing outputs which can be interpreted from a "physical" viewpoint.
FIXED
WHEELS
plle'/
STEERING
WHEELS
,,
,,
,
, , ,,,
" ,
" , \,
',\ I
',\ I
" I
'~~ IeR
wheels. The axles of the two steering wheels converge to the instantaneous
center of rotation placed on the axle of the fixed wheels. One of the steering
wheels is selected (arbitrarily) as the "master" wheel, with an orientation
characterized by the angle f3s, while the orientation of the other is con-
strained so as to satisfy the above condition. The origin of the moving
frame P is located on the axle of the fixed wheels, at the intersection with
the normal passing through the center of the master steering wheel. Then,
the constant L is the distance between P and the center of the master
wheel.
The linearizing outputs (see Tab. 8.1) correspond to the Cartesian coor-
dinates of a material point P" of the robot attached to the plane of one of
the steering wheels, except the center of the wheel (belonging to the cart),
for which e = O. In fact, Type (1,1) robots have one or several fixed wheels
with a single common axle. They have also one or several steering wheels
but with one independent steering orientation (Os = 1), and the center of
one of these steering wheels is not located on the axle of the fixed wheels.
Consequently, for any Type (1,1) robot, the linearizing outputs can be cho-
sen as the Cartesian coordinates of a point P" of the robot attached to the
plane of one of the steering wheels, except the center of the wheel.
allows solving the point tracking problem for a material point p" attached
to the plane of one of the two independent steering wheels, except the
center of the corresponding wheel. The regularity conditions also mean that
f3s2 =I 2k7r. As for the Type (2,1) case, due to the block-triangular form of
the corresponding decoupling matrix K({),f3s), this singular configuration
can be avoided at each instant by an appropriate choice of the control input
V2 whereas V1 ensures linearization of dynamics of the tracking error vector
Zl. Type (1,2) robots have no fixed wheel and two or more steering wheels,
two of them being oriented independently. Therefore, for any Type (1,2)
robot, a possible choice of linearizing outputs are the Cartesian coordinates
of a point attached to the plane of one of the steering wheels except the
center of the corresponding wheel.
where the state Z E Rn, the input U E Rm, and the vector fields J and gi
are smooth.
When the system is not completely linearizable by diffeomorphism and
static state feedback {as for restricted mobility robots, see the previous sec-
tion}, full linearization can nevertheless possibly be achieved by considering
more general dynamic feedback laws of the form
U = a{z,x,w} {8.28}
X = a{z,x,w}
where w is an auxiliary control input. Such a dynamic feedback is obtained
through the choice of m suitable linearizing output functions
Yi = hi{z} i = 1,"',m {8.29}
leading to a singular decoupling matrix. We apply the so-called dynamic
extension algorithm to system {8.27} and {8.29}. The idea of this algorithm
is to delay some "combinations of inputs" simultaneously affecting several
outputs, via the addition of integrators, in order to enable other inputs
to act in the meanwhile and therefore hopefully to obtain an extended
decoupled system of the form
y~rd = Wk k = 1" .. ,m {8.30}
where y~i) denotes the i-th derivative of Yk with respect to time, Tk is the
relative degree of Yk, and Wk'S denote the new auxiliary inputs. Moreover, in
order to get Julllinearization, we shall have for the ne-dimensional extended
system
m
LTi = n e, {8.31}
i=1
.",. = .T,{}
'J:' Ze = (
Y1
( rl -1) . .. Ym . •. Ym(r",-1))T
. .. Y1 {8.32}
is a local diffeomorphism.
The dynamic extension algorithm is illustrated below with an example.
320 CHAPTER 8. FEEDBACK LINEARIZATION
hI = X + ecos"!? (8.33)
h2 = y+esin"!?
We first consider the posture kinematic state space model of Type (2,0)
robots
x = - sin"!?'T7l
iJ = COS"!?'T7l (8.34)
iJ = 'T72.
We easily check that the only combination of inputs appearing in hI and
h2 is Xl = 'T7l + e'T72, Xl being the linear velocity of P'. Hence, applying the
dynamic extension algorithm, we can delay Xl, i.e., by introducing a new
input WI such that
(8.35)
Then, by computing iiI and ii 2, the extended system with extended state
vector
Ze=(X Y "!? xd T
is linearizable by static state feedback with new inputs WI and 'T72 and
diffeomorphism
(8.36)
Moreover, since
iiI = - X1 cos"!?ij2 - sin "!?Wl
(8.37)
ii2 = - X1 sin "!?'T72 + cos "!?Wl.
we notice that the new decoupling matrix is singular only when the linear
velocity Xl of pI is zero.
Let us now consider the posture dynamic state space model of Type (2,0)
robots:
x = -'T7l sin"!?
iJ = 'T7l cos"!?
iJ = 'T72 (8.38)
';'1 = VI
';'2 = V2·
8.3. DYNAMIC STATE FEEDBACK 321
We easily see that the only combination of inputs appearing in iiI and ii2
is now X2 =
VI + eV2 =
:b. Hence, by applying the dynamic extension
algorithm, we can delay X2, i.e., by introducing a new input W2 such that
(8.39)
Then, by computing h~3) and h~3), the extended system with state vector
Ze = (x y {) Xl 'TJ2 X2 )T
(8.40)
Moreover, since
h~3) = -W2 sin {) - V2 cos {)XI - 2'TJ2 cos {)X2 + 'TJ~ sin {)XI (8,41)
h~3) = W2 cos {) - V2 sin {)XI - 2'TJ2 sin {)X2 - 'TJ~ cos {)XI,
we notice that the new decoupling matrix is also singular when the linear
velocity Xl of pI is zero. We summarize this discussion in the following
lemma.
We can see that the kinematic and dynamic state space models of Type
(2,0) robots are both fully dynamic feedback linearizable by considering
the same linearizing output functions. This result can be generalized to all
types of robots as we discuss in the next section.
Property 8.2 Any controllable driftless system with m inputs and at most
m + 2 states is a differentially flat system.
o
Property 8.3 If a nonlinear system i = f(z, '1.£) is differentially flat, then
the augmented system i = f(z, '1.£), u = v is also differentially flat with the
same flat output functions.
o
The following lemma then states that any mobile robot is a differentially
flat system.
Lemma 8.5 The posture kinematic model {8.4} and the posture dynamic
model {8.2} and {8.3} is a differentially flat system and is therefore gener-
ically fully linearizable by dynamic state feedback.
<><><>
ay~ri)
Kij(Ze) = -a--·
Uj
(8.42)
Obviously, the linearizing control law becomes singular when the determi-
nant of the decoupling matrix K(ze) is zero. Generically, this corresponds
in the extended state space to an (ne - 1)-dimensional submanifold. We
8.3. DYNAMIC STATE FEEDBACK 323
know that this submanifold contains the domain where the diffeomorphism
llI(ze) is singular. Consequently, at any point where the decoupling matrix
is not singular, the diffeomorphism llI(ze) exists.
The objective is to use dynamic feedback linearization to achieve track-
ing with stability of a reference trajectory. More precisely let zr(t) be a
reference smooth trajectory; then, according to (8.29), we have
i = 1, ... ,m (8.43)
and according to (8.32) (r(t) is defined as
(r = (Yrl (rl-l)
Yrl ... Yrm
(rm- 1)
Yrm
)T . (8.44)
This implies that
(8.45)
The following lemma shows how to select the auxiliary control W (see
(8.30)) in order to achieve tracking with stability of (r(t) and consequently
of zr(t).
Lemma 8.6 The auxiliary control laws Wi, for i = 1, ... m,
r,-l
W·
1.
= y(~,) + ~
r1. L...J ~(y(j) -
1. 1.
Y(~»)
r1.
(8.46)
j=O
• the reference trajectory (r(t) belongs to D for all t and moreover there
exists a positive continuous function Ml (t) such that
(8.49)
then
((t) ED "It. (8.51)
<><><>
We can easily show that the following choice of Ml(t) satisfies (8.48):
M1(t) ,
= min 1I((t) II (8.55)
when det(K(q,-l(())) = o.
B.3. DYNAMIC STATE FEEDBACK 325
OJ n~)
(2,0) ( x+ec?s~) Xl #0
Y+ esm~
(2,1)
(~) (D (!i) "l1 #0
(1,1) ( x+ec?s~)
Y+ esm~
(~) (ii) 1/1 # 0
(1,2)
(" Hooo(H 6))
Y + e sin( ~ + 6)
~ (i.) (!i)
{3.2
1/1
L1/1 sin {3Bl sin {3.2 # 0
From Tab. 8.2 we can see that, for any type of robot, the posture co-
ordinate vector ~ = (x y {)}T is a part of Ze' Then, it follows from
Lemma 8.6 that the posture tracking problem is generically solvable by
dynamic feedback linearization.
We have already seen that for Type (2,0) robots, the linearizing output
functions are the coordinates of a point pI located on the axle of the fixed
wheels and the posture tracking problem is solvable as long as the linear
velocity Xl of pI is not zero.
For Type (2,1) robots, the linearizing output functions are the coordi-
nates of the center pI of the steering wheel completed by the orientation {),
and the posture tracking problem is solvable as long as the linear velocity
TIl of pI is not zero.
For Type (1,1) robots, the linearizing output functions are the Cartesian
coordinates of a point pIon the axle of the fixed wheels, and the posture
tracking problem is solvable as long as the linear velocity TIl of pI is not
zero.
For Type (1,2) robots, the linearizing output functions are the Carte-
sian coordinates given by (8.1) of a point pI of the cart completed by the
orientation {), and the posture tracking problem is solvable as long as TIl
and sin,Bs!, sin ,B.2 are not zero.
Lemma 8.8 For Type (2,0) robots, the function MI(t) satisfying (8.55) is
(8.56)
when Xl = 0, i.e.,
MI(t) = IXlr(t)l·
Moreover, the diffeomorphism 111 given by (8.47) is singular when Xl = O.
Let us introduce:
s+ = {Ze : Xl > O}
and similarly
s- = {Ze : Xl < O}.
Then, 111 can be inverted respectively on 1l1(S+) and 1l1(S-) as follows:
Jhi + h~
and
hI - e cos ( - arctan(hI/h 2 ) + (1 - f(h 2 ))7r)
h2 - esin (- arctan(hI/h 2 ) + (1 - f(h 2 ))7r)
- arctan(hI/h 2 ) + (1 - f(h 2 ))7r
-Jhi + h~
where
f(a) = {~ ifa~O
ifa<O
(8.57)
and
arctan (~) = sgn(a)~ (8.58)
when b = O. Therefore, 1l1- 1 is well defined as soon as the sign of XI(O) is
defined. The conclusion then holds by applying Lemma 8.7.
Remark
• For a reference trajectory not to be singular, Xlr(t) must always have
the same sign and the same holds for the actual closed-loop trajectory.
It follows that Xl (0) and Xlr(O) must have the same sign. Provided
that condition (8.49) is satisfied, if Xlr(O) > 0 (Xlr(O) < 0) the robot
will follow the reference trajectory with the castor wheel backward
(forward).
328 CHAPTER 8. FEEDBACK LINEARIZATION
References
[1) B. Charlet, J. Levine, and R. Marino, "On dynamic feedback lineariza-
tion," Systems & Control Lett., vol. 13, pp. 143-151, 1989.
[2) B. Charlet, J. Levine, and R. Marino, "Sufficient conditions for dy-
namic state feedback linearization," SIAM J. of Control and Optimiza-
tion, vol. 29, pp. 38-57, 1991.
REFERENCES 329
[14] H. Nijmeijer and A.J. van der Schaft, Nonlinear Dynamical Control
Systems, Springer-Verlag, New York, 1990.
330 CHAPTER 8. FEEDBACK LINEARIZATION
Nonlinear feedback
control
The previous chapter has been devoted to solving point and posture track-
ing problems by state feedback linearization for the five generic types of
wheeled mobile robots. However, as it has been already mentioned, feed-
back linearization through regular controllers has serious limitations for
control of mobile robots. In particular, it does not allow a robot to be
stabilized about a fixed point in the configuration space.
In this chapter we present several advanced nonlinear feedback control
design methods allowing us to solve various control problem; namely, pos-
ture tracking, path following, and posture stabilization.
In order to keep the exposition as clear and pedagogical as possible,
we will limit ourselves to unicycle robots of Type (2,0), as represented in
Section 7.3.3. Indeed, this type of mobile robots is sufficient to capture
the underlying nonholonomy property of restricted mobility robots which
is the core of the difficulties involved in the control problems discussed in
this chapter.
:i; = vcosO
a x
iJ = vsinO (9.1)
O=w
where the two velocity control inputs are the linear velocity v and the
angular velocity w. Notice that, differently from the model in (7.23), 0
indicates the angle between the direction of v and axis Xb.
We will sometimes use the compact notation
.i = G(z)u (9.2)
where
z=(i) G(z) =(
COSo
Si~O u = (:).
(9.4)
9.1. UNICYCLE ROBOT 333
:i:t = UI
X2 = U2 (9.5)
X3 = X2UI·
This system belongs to the more general class of so-called chained sys-
tems characterized by equations in the form
Xl = UI
X2 = U2
X3 = X2UI· (9.6)
Xl = X
X2 = tan(} (9.7)
X3 = Y
UI = cos(} v
1 (9.8)
U2 = ~(}w.
cos
This yields the same system (9.5). However, the transformation presents
in this case a singularity when cos () = o. It is thus only valid in domains
where () E (-7r/2 + k7r,7r/2 + k7r) with k E Z.
Depending on the transformation which is considered, a control law
derived for the model (9.5) will yield a different transient behaviour of the
trajectories for x{t), y{t), and (}{t).
(9.9)
This linear system is not controllable since the rank of the associated con-
trollability matrix
(9.10)
is only two. Information about the nonlinear model is thus lost when using
the linearized model.
Xr = Vr cos (}r
Yr = Vr sin (}r (9.12)
9r = W r •
The subscript r stands for reference, and Vr and Wr are assumed to be
bounded and have bounded derivatives.
such that
lim (z(t) - Zr(t))
t-+oo
= o. (9.14)
The tracking problem is illustrated in Fig. 9.2. Note that Assumption 9.1
implies that the reference robot is not at rest all the time. Hence, stabi-
lization to a fixed posture is not included in the above tracking problem
definition.
The tracking problem so defined involves error equations which describe
the time evolution of the difference Z - Zr. The following change of coordi-
nates can be used
(
e1) (COS()
e2 = - sin ()
sin(}
cos () 0
0) (xr - X)
Yr - Y (9.15)
e3 0 0 1 (}r - ()
where el and e2 are the coordinates of the position error vector, and e3 is
the orientation error.
The associated tracking error equations are then obtained by differen-
tiating (9.15) with respect to time. Introducing the change of inputs
Ul = -v + Vr cos e3
336 CHAPTER 9. NONLINEAR FEEDBACK CONTROL
Y r - - - - - -----------------------------
v
o x
(9.16)
0
e = ( -wr{t) 0
wr{t)0) e + (10 00) ( )
o 00vr{t)
01 Ul.
U2
(9.17)
( 1 0 0 0 -W~ vrwr)
C = (B AB A2 B )= 0 o0 -Wr Vr 0 . (9.18)
o 1 0 0 o 0
linear control law is designed. For instance, a linear state feedback obtained
by imposing closed-loop poles independent of Vr and Wr may become ill-
conditioned when Ivrl and Iwrl tend to become small.
In order to be more specific, let us consider the linear feedback law
Ul = -k1el (9.19)
U2 = -k2sgn(v r )e2 - k3e3,
chosen so as to set the closed-loop system poles equal to the roots of the
characteristic polynomial equation
where ~ and a are positive real numbers. The corresponding control gains
are
kl = 2~a
a2 -w~
k2 = --:---:-~
Ivrl
k3 = 2~a.
With a fixed pole placement strategy (a and ~ are constant), the control
gain k2 increases without bound when Vr tends to zero.
Regularization of the controller is possible by letting the closed-loop
poles depend on the values of Vr and W r . This procedure is called velocity
scaling. Choose, for example, a = (w~ + bv~)2 with b > O. The control
gains then become
kl = 2~(w~ + bv~)t
k2 = blvrl (9.20)
k3 = 2~(w~ + bv~)!
and the resulting control is now defined for all values of Vr and W r . The
particular values Vr = Wr = 0 for which the system is not controllable
simply yield zero control action, which makes sense intuitively.
(9.21)
338 CHAPTER 9. NONLINEAR FEEDBACK CONTROL
where k4 is a positive constant and kl (.) and k3 (.) are continuous functions,
strictly positive on R x R - (0,0).
Notice the resemblance between this control and the linear control (9.19)
and (9.20) derived in the previous section. It can be utilized in the choice
of k1 (-) and k3(-) to have the two controls behave in the same way near the
origin e = O.
k4 e23
V(e) = -(e~
2
+ e~) + -2
which is nonincreasing along any system solution, since
d 2
-d (V r e3)
t
= -k4 Vr3e2
sin(e3)
- - + o(t).
e3
Note that v~e2 sin(e3)/e3 is uniformly continuous (since its time deriva-
tive is bounded). From Barbalat's lemma (slightly generalized), d(v;e3)/dt
tends to zero. Therefore, v~e2sin(e3)/e3 also tends to zero. Now, since vre3
9.3. PATH FOLLOWING 339
Remark
• Comparing the expressions of the linear controller (9.19) and (9.20)
and the nonlinear controller (9.21) suggests using the following func-
tions:
a x
- 1
S = vcos(J l-cs
( )1
i= vsinO (9.22)
:.. - c(s)
(J = w - v cos (J ( )(
l-cs
Given a path P in the xy-plane and the mobile robot linear velocity
vet), assumed to be bounded together with its time derivative vet), the
path following problem consists of finding a (smooth) feedback control law
w = k(s, I, 0, vet»~
such that
lim let) = 0
t ..... oo
lim
t ..... oo
OCt) = o.
Note that the path following problem, as stated above, is less stringent
than the tracking problem, in the sense that only the stabilization of the
coordinates I and 0 is required. On the other hand, this objective shall be
achieved by using only one control variable, namely the angular velocity w.
By introducing the auxiliary control variable
- c(s)
u ( )1'
= w - v cos (J l-cs (9.23)
9.3. PATH FOLLOWING 341
B= u.
9.3.1 Linear feedback control
In the neighbourhood of (l = 0, B= O), tangent linearization of the last two
equations in (9.24) gives
i = vB
(9.25)
B= u.
When v is constant and different from zero, this linear system is clearly
controllable, and thus asymptotically stabilizable by using a linear state
feedback. In fact, it is rather simple to verify that a stabilizing linear
feedback is of the form
(9.26)
with k2 > 0 and k3 > o. The closed-loop equation for the output 1 is then
(9.27)
(9.28)
with l' = Ol/f}y and 'Y = J; Ivldr. At first approximation, 'Y represents
the distance traveled by point M along the path. The transformation of
eq. (9.27) into (9.28) is related to the velocity scaling procedure already
evoked in Section 9.2, and the second-order linear equation (9.28) suggests
selecting the control gains k2 and k3 as
k2 = a2 (9.29)
k3 = 2{a
where a must be chosen so as to specify the transient "rise distance" (the
equivalent of the rise time in the case of time equations), and { is the
damping coefficient (critical damping is obtained by setting { = l/V2}.
sinO -
u = -k2vl-_- - k(v)8, (9.30)
8
where k2 is a positive constant, and k( v) is a continuous function strictly
positive when v # o.
In order to have the two controls behave similarly near (I = 0,0 = 0)
we may choose, for instance, k(v) = k31vl with k2 and k3 given by (9.29).
Assumption 9.2 The linear velocity v(t) is such that
lim v(t) #
t~oo
o.
o
Lemma 9.2 On Assumption 9.2, control (9.30) asymptotically stabilizes
(I = 0,0 = 0), provided that the robot initial configuration is such that
v = k21i + 00
= k21sinOv + Ou
= _k(v)02 ~ O.
By invoking arguments similar to the ones used in the proof of Lemma
9.1 (boundedness of I and 0, convergence of V to a limit value ii, and
convergence of V to zero), we obtain that k(v)O and vO tend to zero.
Then, in view of the control expression and the last system equation, it
is
:.. sinO
8 = -k2vl-_- + o(t) lim o(t) = O.
8 t~oo
Hence, using the convergence of vO to zero and the bounded ness of v yields
d sinO
dt (v 8)
2-
= -k2V 3 IT + o(t).
9.4. POSTURE STABILIZATION 343
Remarks
which has been shown to be globally stabilizing when either vr(t) or wr(t)
does not tend to zero.
The idea consists of using Vr (equal to xr in this case) as a new control
variable, whose selection shall be made so as to ensure both convergence of
the tracking errors el, €2, e3 to zero and convergence of the reference robot
coordinate Xr to zero, when control (9.33) is used.
A possible choice is the time-varying control
where k4 > o.
Assumption 9.3 The function g(e, t) in (9.34) is differentiable up to or-
der p + 1 (p ~ 1) and uniformly bounded with respect to t, with partial
derivatives up to order p also uniformly bounded with respect to t, and
such that
g(O, t) = 0 "It.
o
Assumption 9.4 There exists a diverging time sequence {tdiEN and a
continuous function a(·) such that
o
Lemma 9.3 The control law (9.33), with Vr calculated according to (g.34),
globally asymptotically stabilizes the posture (e = 0, Xr = 0) and thus solves
the posture stabilization problem.
000
seen as time functions. However, in order to lighten the notations, the time
index will be systematically omitted.
Since the Lyapunov function V used in the proof of Lemma 9.1 is non-
increasing, the tracking errors ei (i = 1,2,3) are bounded. Therefore g(e, t)
-read g(e(t), t)- is bounded. Eq. (9.34) may then be interpreted as the
equation of a stable linear system subject to the additive bounded pertur-
bation g(e, t). The state Xr associated with this equation remains bounded
and, according to (9.34), Vr is also bounded.
By taking the time derivative of (9.34), it can be shown in the same
way that vr is bounded.
Since Vr and vr are bounded, Lemma 9.1 applies to the present situation.
In particular, if Vr does not tend to zero, then e must tend to zero. By
uniform continuity, and by using Assumption 9.1, g(e, t) tends to zero. Now,
in view of (9.34), Xr and Vr must also tend to zero, yielding a contradiction.
Hence Vr tends to zero.
By taking the time derivative of (9.34) and using the unconditional
convergence of e to zero (as in the proof of Lemma 9.1), it is
P
{;
(88t; (e(t),
j
t)
) 2
~ O.
The only alternative is if = 0, which proves that e, and subsequently g(e, t),
tend to zero. Finally, we deduce from eq. (9.34) that also Xr tends to zero.
o
9.4. POSTURE STABILIZATION 347
Remarks
• The time-varying function g(e, t) does not need to depend upon el
and e3 when the functions kl (v r , wr ) and k3 (v r , wr ) are chosen strictly
positive on R x R. The reason is that el and e3 unconditionally
converge to zero in this case, due to the convergence of V to zero.
• Another possibility, when the functions kl (.) and k3 (.) are strictly
positive, is the bounded function
( ) _ exp(k5e2) - 1 . (9.35)
9 e, t - (k ) sm t
exp 5e2 + 1
Note that in this case the control law is no longer smooth, and that
asymptotic convergence to the desired posture is not granted. How-
ever, it is still possible to show that lIell becomes, and stays, smaller
than f after a finite time, and that the reference robot exponentially
converges to the desired posture. Thus, by choosing a small value for
f, the mobile robot will get very close to the desired posture (at a dis-
tance smaller than f) after a finite and reasonably short time, while
the control inputs will asymptotically exponentially converge to zero.
From a practical viewpoint, this solution may be quite acceptable.
348 CHAPTER 9. NONLINEAR FEEDBACK CONTROL
(/2 + 0')1 > , > 0 = ~ (:~ (/,9, .;») 2 > a(,) > 0 '1';0
o
Lemma 9.4 The control {9.36} and {9.37} asymptotically stabilizes the
point (I = 0,0 = 0, s = 0) provided that:
2 1 ~ 1
1 (0) + -k2 8 (0) < rImsup (c2( s ))"
000
9.4. POSTURE STABILIZATION 349
Proof. The proof is quite similar to the one of Lemma 9.3. It is first
established that l, 0, v, and v are bounded along any solution to the closed-
loop system. Then, using Lemma 9.2, it is shown that v must tend to zero.
We deduce from there that aj g(l, 0, t) / at j tends to zero, for 1 S; j S; p. This
in turn implies, using (9.6) and the convergence of the Lyapunov function
used in the proof of Lemma 9.2, that land 0 tend to zero. The convergence
of g(l, 0, t) to zero then follows from (9.5). Finally the convergence of s to
zero can be worked out from
. k1 exp (k3s)-1 ()
s=- +ot lim oCt) = O.
exp(k3s) + 1 t-+oo
Coordinate projection
The idea behind the control design based on a coordinate projection is the
following. First, we introduce the circle family P as:
(9.38)
as the set of circles with radius r = r(x,y) passing through the origin and
centered on axis Yb with ay /ax = 0 at the origin. Associated with these
circles, we can define Or as being the angle of the tangent of P at (x, y),
350 CHAPTER 9. NONLINEAR FEEDBACK CONTROL
,
,,
,,
,,! r(x,Y)
,,
,,
,,
,
,
'-.. ...............
o x
i.e.,
8 { } _ {2arctan{y/x}
r X,y - ° (x,y) "I- (O,O)
(x,y) = (O,O),
{9.39}
and
where a{x, y} defines the arc length from the origin to {x, y} along a circle
which is centered on axis Yb and passes through these two points; a{x,y}
may be positive or negative according to the sign of x. When y = 0, we
°
define a(x,O} = which makes a{x, y} continuous with respect to y since
a{x,c} ~ x when c ~ 0. Discontinuities in a{x,y} only take place in the
set d{z} = {z : x = O,y "I- O}. The variable e is the orientation error. An
illustration of these definitions is shown in Fig. 9.4.
The robot can then be stabilized by finding a feedback control law that
orientates the angle 8 according to the tangent of one of the members of the
circle family P and then decreases the arc length of the associated circle.
The design of such a control law can be easily understood by writing the
open-loop equations in the projected coordinates a and e
a = b1 {z}v {9.42}
e = b2 (z}v+w {9.43}
v = -",{b1a (9.44)
w = -~v - ke = ",{b1b2 a - ke. (9.45)
gives, away from the discontinuous surface d(z), the closed-loop equations
Xl = Ul
X2 = U2 (9.47)
X3 = X2Ul·
The input Ul(t) is piecewise constant for the time interval Ik = [k6, (k+l)6],
Yk E {O, 1,2,3, ... } and some 6 > 0; namely,
(9.48)
(9.57)
Since suitable choices of k2 and k3 can make A(s(k)) stable with eigenvalues
invariant with respect to s(k), the solution to (9.56) in h can be written
as
z(t) = exp(lul(k)IA(s(k))(t - k8))z(k8). (9.58)
and thus Ilz(k8)11 decreases as long as cexp (-A o8'Y(lIz(k8)11)) < 1, or equiv-
alently as long as IIz(k8)1I < t:, where t: can be rendered arbitrarily small by
a suitable choice of gains. Finally, eq. (9.55) describes a stable discrete-
time system driven by a bounded and asymptotically t:-decaying input
('Y( II z( k8) II))· Therefore, it is easy to conclude that Xl (k) also tends asymp-
totically to an arbitrarily small set including the origin.
Decaying rates can be modified by a proper choice of the function
'Y(lIz(k8)1I). The behaviour of the state trajectories is similar to the be-
haviour that has been obtained with the time-varying controllers but using
piecewise continuous changes in the velocity inputs. Another way to in-
troduce smoothness into the control design is to combine the piecewise
continuous and periodic time-varying controllers. The advantage of doing
this is that exponential convergence rates can be obtained. This idea is
explained below.
354 CHAPTER 9. NONLINEAR FEEDBACK CONTROL
(9.69)
UI = k l (x(k8))f(t) (9.71)
3 2· 1
U2 = -(A2 + Ad )X2 - A3(A2f + 2f f) kl (x(k8)) X3 (9.72)
The control law (9.71) and (9.72) with (9.62) implies that
£2 = -A2 X2 (9.73)
X3 = -A3f3(t)X3 + k l (x(kb))f(t)X2. (9.74)
References
[1] A. Astolfi, "Exponential stabilization of nonholonomic systems via dis-
continuous control," Prepr. 4th IFAC Symp. on Nonlinear Control Sys-
tems Design, Tahoe City, pp. 741-746, 1995.
[4] A.M. Bloch, M. Reyhanoglu, and N.H. McClamroch, "Control and sta-
bilization of nonholonomic dynamic systems," IEEE Trans. on A uto-
matic Control, vol. 37, pp. 1746-1757,1992.
[6] R.W. Brockett and L. Dai "Non-holonomic kinematics and the role of
elliptic functions in constructive controllability," in Nonholonomic Mo-
tion Planning, Z.X. Li and J. Canny (Eds.), Kluwer Academic Pub-
lishers, Boston, MA, pp. 1-21, 1993.
[7] L.G. Bushnell, D.M. Tilbury, and S.S. Sastry, "Steering three-input
chained form nonholonomic systems using sinusoids. The fire truck ex-
ample," Proc. 2nd European Control Conj., Groningen, NL, pp. 1432-
1437,1993.
[13] E.D. Dickmanns and A. Zapp, "Autonomous high speed road vehi-
cle guidance by computer vision," Prepr. 10th IFAC World Congr.,
Miinchen, D, vol. 4, pp. 232-237, 1987.
[14] L. Gurvits and Z.X. Li, "Smooth time-periodic feedback solutions for
nonholonomic motion planning," in Nonholonomic Motion Planning,
Z.X. Li and J. Canny (Eds.), Kluwer Academic Publishers, Boston,
MA, pp. 53-108, 1993.
Control background
In this Appendix we present the background for the main control theory
tools used throughout the book; namely, Lyapunov theory, singular pertur-
bation theory, differential geometry theory, and input-output theory. We
provide some motivation for the various concepts and also elaborate some
aspects of interest for theory of robot control. No proofs of the various
theorems and lemmas are given, and the reader is referred to the cited
literature.
x=Ax (A.5)
where A denotes the Jacobian matrix of f with respect to x at x = 0, i.e.,
A-
- afl
ax x=o·
A linear time-invariant system of the form (A.5) is (asymptotically)
stable if A is a (strictly) stable matrix, Le., if all the eigenvalues of A have
(negative) non positive real parts. The stability of linear time-invariant
systems can be determined according to the following theorem.
Theorem A.I The equilibrium point x = 0 of system {A.5} is asymptot-
ically stable if and only if, given any matrix Q > 0, the solution P to the
Lyapunov equation
(A.6)
is positive definite. If Q is only positive semi-definite (Q ~ 0), then only
stability is concluded.
The above theorem does not allow us to conclude anything when the
linearized system is marginally stable.
Theorem A.5 (La Salle) Consider the system (A.2) with f continuous,
and let V(x) be a scalar function with continuous first partial derivatives.
Consider a region r defined by V(x) < , for some, > o. Assume that the
region r is bounded and V(x) :::; 0 'Ix E r. Let D be the set of all points in
r where V(x) = 0, and M be the largest invariant set in D. Then, every
solution x(t) originating in r tends to M as t - 00. On the other hand,
if V(x) :::; 0 'Ix and V(x) - 00 as IIxil - 00, then all solutions globally
asymptotically converge to M as t - 00.
000
A.1. LYAPUNOV THEORY 367
where
A(t) afl
=a
x x=o
.
A linear approximation of (A.I) is given by
x = A(t)x. (A.8)
°
exists such that
v = x T P( t)x >
and
v = xT(ATp+PA+P)x ~ k(t)V,
where limt-+oo It: k(r)dr = -00 uniformly with respect to to·
000
°
Theorem A.7 If the linearized system (A. 8) is uniformly asymptotically
stable, then the equilibrium point x = of the original system (A.i) is also
uniformly asymptotically stable.
000
Theorem A.S Assume that V(x, t) has continuous first derivatives around
the equilibrium point x = O. Consider the following conditions on V and V
where a, {3 and"( denote functions of class /C:
Theorem A.I0 Consider system (A.i) with of lox and of lot bounded
in a certain ball B Vt > o. Then, the equilibrium point x = 0 is exponen-
tially stable if and only if there exists a function Vex, t) and some positive
constants Cti such that "Ix E B and "It > 0
Ctlllxll2 :::; Vex, t) :::; Ct211xll2
V:::; -Ct311x1l2
<><><>
Barbalat's lemma
La Salle's results are only applicable to autonomous systems. On the other
hand, Barbalat's lemma can be used to obtain stability results when the
Lyapunov function derivative is negative semi-definite.
parameter f, i.e.,
where f, 9 and their first partial derivatives with respect to x, z and tare
°
continuous, and e(f) and l1(f) are smooth functions of f. This model is in
standard form if and only if, by setting f = in (A.lO), the equation
0= g(t,x,z,O)
has k ~ 1 isolated real roots z = hi(t, x) for i = 1, ... , k.
Let us use the following change of variables
y = z - h(t - x)
t - to
r=--.
f
and y =
For f
°=is°called the quasi-steady state.
and y = °we obtain the reduced (slow) model
± = f(t,x,h(t,x),O).
On the other hand, for f = °we obtain the boundary-layer (fast) model
dy
dr = g(t, x, Y + h(t, x), 0)
which has an equilibrium point at y = 0.
Stability of a singularly perturbed system can be ascertained on the
basis of Tikhonov's theorem, which is based on the following definition.
o
A.2. SINGULAR PERTURBATION THEORY 373
(ii) the reduced model has a unique solution x( t) and IIx( t) II ::; rl for
t E [to, td;
II < JL
°
Then there exist JL and f* such that, 'v'1](0) , ~(O) with 111](0) - h( to, ~(O»
and < f < f*, it is
Theorem A.12 Assume that the following assumptions are satisfied for
all t E [0,00), x E B T , f E [O,fO]:
°
Then, there exists an f* > such that'v'f
and (A.lO) is exponentially stable.
< f* the origin of system (A.9)
000
374 APPENDIX A. CONTROL BACKGROUND
with L1h = h.
o
Definition A.23 (Lie bracket) The Lie brocket of I and g is the vector
o
Some properties of Lie brackets are:
l~i j~n-m
<><><>
Definition A.25 (Relative degree) The system (A.ll) and (A.12) has
relative degree r at x = 0 if
(i) LgL}h(x) = 0, "Ix in a neighbourhood of the origin and 'Vk < r - 1;
(ii) LgLj-1h(x) i- O.
o
376 APPENDIX A. CONTROL BACKGROUND
It is worth noticing that in the case of linear systems, e.g., f(x) = Ax,
g(x) = Bx, h(x) = Cx, the integer r is characterized by the conditions
CAk B = 0 'Vk < r - 1 and CAr-l B =/; O. It is well known that these are
exactly the conditions that define the relative degree of a linear system.
Another interesting interpretation of the relative degree is that r is
exactly the number of times we have to differentiate the output to obtain
the input explicitly appearing.
The functions L}h for i = 0,1, ... ,r - 1 have a special significance as
demonstrated in the following theorem.
Theorem A.14 (Normal form) If system (A.ll) and (A.12) has relative
degree r :::; n, then it is possible to find n - r functions 4>r+ 1 (x), ... , 4>n (x)
so that
4>(x) = L't1h(X)
4>r+1 (x)
4>n(x)
is a diffeomorphism z = 4>( x) that transforms the system into the following
normal form
ir = b(z) + a(z)u
ir+1 = qr+1(z)
in = qn(z).
Moreover, a(z) =/; 0 in a neighbourhood of Zo = 4>(0).
Theorem A.1S For the system (A.ll) there exists an output function h(x)
such that the triple {!(x), g(x}, h(x)} has relative degree n at x = 0 if and
only if:
(ii) the set {g(x), adfg(x), . .. , adj-2g(x)} is involutive around the origin.
000
Theorem A.16 Consider the system (A.ll) and (A.12) assumed to have
relative degree r. Further, assume that the trivial equilibrium point of the
following (n - r)-dimensional dynamical system is locally asymptotically
378 APPENDIX A. CONTROL BACKGROUND
stable:
(A.14)
where qr+1, ... ,qn are given by the normal form. Under these conditions,
the control law (A.13) yields a locally asymptotically stable closed-loop sys-
tem.
<><><>
amplification and signal shift -which are suitably captured by the no-
tion of passivity of the operator associated with the nonlinear time-varying
system respectively- are physically motivated properties that are related
with system energy dissipation. This is a special appealing feature of the
input-output approach since it guides us in the search of a (Lyapunov-like)
energy function via incorporation of system physical insight.
o
Definition A.27 (Space of uniformly bounded functions) .c~ is the
space of uniformly bounded functions f with norm
IIflloo = sup Ilf(t)1I < 00.
t~O
o
The dimensions of the above spaces are often omitted when clear from
the context.
A key concept that allows us to address stability issues is that of ex-
tended space. Roughly speaking, the idea is to distinguish the signals that
can grow unbounded (in norm) as t --+ 00 from those that remain bounded
for all (finite) time. It should be remarked at this point that in the input-
output formulation special care should be taken for systems that exhibit
unbounded growth in finite time. Extended spaces can be suitably intro-
duced as follows.
Definition A.28 (Truncation) Given any function f : R+ --+ R" and
any T ~ 0, the function
°
f - { f(t)
T-
t E [O,Tj
t E (T,oo).
is a truncation of f. Also, the truncated norm is
o
380 APPENDIX A. CONTROL BACKGROUND
'H.:Uf-+y
where U E .c;e and y E .c~. We assume the system to be causal, i.e., the
output y(t) at any given time t depends only on past inputs u(t') for t' ::; t.
This is tantamount to requiring the following implication to hold true for
the operator 'H.:
Ult == U2t ~ Ylt == Y2t
where Yl, Y2 are the outputs obtained from the inputs Ul, U2 through 'H..
Here, we restrict ourselves to finite-dimensional systems that admit a state
space representation of the form
i; = f(x, u, t) x(to) = Xo
y = h(x, u, t) (A.I5)
'H. : Uf-+y
A.4.2 Passivity
The concept of energy dissipation is fundamental in the study of dynamic
systems in general, and mechanical systems in particular. In many practical
cases this concept is well captured in the definition of passivity. This notion
motivated by the energy storage (or dissipation) properties of RLC electric
A.4. INPUT-OUTPUT THEORY 381
aL
ax f(x} ::; -aL(x}
for some a> O. As shown above, if L(x} is a positive definite function and
f(O} = 0, this implies global asymptotic stability of the trivial equilibrium
point. This however may not be true if L(x} is not a function of the full
state as is the case in some robotic systems. Now, let us define the system
x = f(x} + u
Y = (:~) T
H : u f-+ y;
382 APPENDIX A. CONTROL BACKGROUND
we can show that H is strictly passive relative to the functions V(x) = L(x)
and W(x) = L(x). To this end, we have that
Notice that our definitions of passivity and strict passivity differ from
the standard definitions found in the literature in two respects. First, in the
spirit of dissipative (state space) systems, we have included functions of the
state V (x) and W (x). Second, no specific dependence of the function W (x)
on the system output is given. Our objective to consider this class of passive
systems is twofold. First, to rigorously handle the effects of system initial
conditions, which in our case of state space described systems are explicitly
defined. Second, to dispose of an analysis framework that allows us to
conclude, without additional arguments, not just input-output stability
of the closed-loop system, but bounded ness and internal stability as well.
It is worth pointing out that the class of dissipative systems contains, as
particular cases, passive, finite-gain and sector-bounded systems; each class
of them resulting from a suitable choice of the so-called supply rate function.
Two key properties of passive systems are stability and invariance of
feedback interconnection. These properties are summarized in the following
propositions.
Theorem A.17 (Passivity) Consider the systems HI : UI 1-+ YI and
H2 : U2 1-+ Y2 with states Xl and X2, respectively. Assume HI is passive
relative to VI (Xl) and H2 is strictly passive relative to V2(X2) and W 2(X2)
and they are interconnected in a negative feedback configuration (Fig. A.i),
i.e.,
A.4. INPUT-OUTPUT THEORY 383
v +
Under these conditions, all solutions defined on the interval [0, t) satisfy
000
The above result implies that the feedback interconnection of two pas-
sive systems gives a passive closed-loop system. This is nicely comple-
mented by the following result.
then the map v t-t Yl is strictly passive relative to V (Xl, X2) = Vl (xt) +
V2(X2) and W(Xl' X2) = W2(X2).
000
Finally, taking the time derivative of the total energy along the solutions
to (A.16), and then integrating from 0 to T we get the following restatement
of the energy balance (Hamilton) principle
where the left-hand side is the supplied energy and the right-hand side is
the energy at time T minus the initial energy. Passivity of the operator
T 1--4 q relative to the function V(q,p) follows from the equation above and
positivity of the total energy.
(ii') there exist P = pT > 0 and Q = QT > 0 such that (A.17) holds;
(iii') the map 1-£ : u 1-+ y is strictly passive relative to V(x) = x T Px and
W(x) = xTQx.
000
Lemma A.4 Let the transfer function 1-£(s) E Rnxn be strictly proper and
exponentially stable, and let us denote by u E Rn the input and y E Rn
the output of the system with transfer function 1-£(s); then the following
statements hold:
References
[1] C.A. Desoer and M. Vidyasagar, Feedback Systems: Input-Output
Properties, Academic Press, New York, NY, 1975.
[2] W. Hahn, Stability of Motion, Springer-Verlag, New York, NY, 1967.
[3] D. Hill and P. Moylan, "The stability of nonlinear dissipative systems,"
IEEE Trans. on Automatic Control, vol. 21, pp. 708-711, 1976.