EE556: Motion Control

advertisement
EE556: Motion Control
J. Carroll, Instructor
Spring, 1998
Chapter 1 Linear vs. Nonlinear
1.1
Typical Linear Control Design Assumes
1.1.1
System model is linearizable
) No discontinuities in the system model (a.k.a. “Hard Nonlinearities”)
1.1.2
System model is reasonably well known
1.1.3
System operates over small region of state-space
1.2
Why Nonlinear Control?
1.2.1
Improves performance over linear controllers
Greater accuracy, more e¢cient, more reliable, etc.
1.2.2
Allows analysis of “Hard Nonlinearities”
Coulomb friction, saturation, dead-zones, hysteresis, backlash, etc.
Note: These e¤ects are not di¤erentiable ) no single linear approximation possible
1.2.3
Compensates for model uncertainties
System parameters, disturbances (e.g., noise), unmeasurable states, etc.
1.2.4
Simpli…es design
Nonlinear design is often rooted in the system physics
Example: A pendulum comes to rest at a position of minimum energy. This
is a nonlinear systems concept which is more intuitive than the location
of eigenvalues associated with a linear approximation about an operating
point.
1.3
System Behavior
1.3.1
Linear systems
Suppose a Linear Time Invariant (LTI) system of the form
:
x= Ax;
where x 2 Rn is the state vector, A 2 Rn£n is the system matrix.
(1.1)
1
The following properties hold:
1. If A is nonsingular, the system has a unique Equilibrium Point (EP)
:
Note: The EP of a system occurs where x= 0:
2. 8 (for all) Initial Conditions (IC), if the eigenvalues of A have negative real
parts then the EP is stable in an exponential sense (i.e., so-called Global
Exponential Stability, or GES).
3. The transient response is composed of natural modes with an analytical
solution.
4. If an input is added to the system as shown
:
(1.2)
x= Ax + Bu;
then the following additional properties hold:
² The system response satis…es superposition
² If (1.1) is GES then (1.2) is Bounded Input Bounded Output (BIBO)
stable in the presence of u
² Sinusoidal inputs result in sinusoidal outputs of the same frequency
Homework: Show that Properties 1–4 above hold for an LTI with the system
matrix
·
¸
5
14
A=
:
¡4 ¡10
Note, for Part 4 assume u = 1 + sin(t):
1.3.2
1.3.2.1
Nonlinear systems – common properties
Multiple EPs dependent on ICs
(see Ex:1.2 of text)
1.3.2.2
Limit cycles
Self-excited oscillations of …xed amplitude and frequency (see Ex:1.3 of text)
1.3.2.3
Bifurcations
Changes in the number and stability of EPs in response to parameter changes
(critical values)
::
Example: Given the system x +ax + x3 = 0; if
² a > 0; then the system has one EP at x = 0
p
p
² a < 0; then the system has three EPs at x = f0; a; ¡ ag
2
This results in the following plot of the EPs of x versus the critical parameter
a; referred to as a “Pitchfork Bifurcation”
x
a
Figure 1: Example of Pitchfork Bifurcation.
1.3.2.4
Chaos
Small changes in ICs cause large changes in the system response
1.3.2.5
Other e¤ects
Jump resonance, subharmonic generation, etc.
1.4
Overview of the Course
The course, like the text, will consist of two distinct parts:
² Analytical tools
² Design techniques
Unlike the text, we will not treat these as separate issues. Instead, necessary analytical tools will be introduced as various nonlinear design techniques are
covered. Some of the analytical tools covered in the text include:
1.4.1
Phase Plane Plots (PPP)
A traditional approach to studying nonlinear systems, limited to second order
systems (Ch. 2 of text)
1.4.2
Describing Functions
An approximate Frequency Domain (FD) approach (Ch. 5 of text), which is
di¢cult to apply to Multiple Input Multiple Output (MIMO) systems
3
1.4.3
Lyapunov Theory
A powerful tool for nonlinear system analysis and design (Ch. 3 and 4 of text),
which be the basis for most of what we cover in class
1.4.4
Electromechanical systems as a design metaphor
We will use electromechanical systems (e.g., robots and electric actuators) as a
basis for our controller designs. Note, however, that these techniques can be
readily extended to many types of systems.
1.5
Review of Lagrange-Euler Dynamics
1.5.1
Models are needed for control purposes
We shall initially focus on robotic systems, ignoring actuator dynamics (due to
electric or hydraulic motors which drive the links), sensor dynamics and joint/link
‡exibility (due to gearing, etc.)
1.5.1.1
Force, inertia, energy review
1.5.1.1.1 Centripetal force Of mass, m; orbiting a point at radius, r; with
angular velocity, !; as shown in Figure 2, is given by
FCENT
:2
mv 2
=
= m! 2r = m µ r:
r
Note: v = ! £ r = !r:
w
r
v
q
m
Figure 2: Centripetal Force Diagram.
1.5.1.1.2 Coriolis force Imagine a sphere rotating about its center with an
angular velocity, ! 0 : The Coriolis force on a mass, m; moving along the surface of
the sphere at a velocity, v; as shown in Figure 3, is given by
: :
: :
FCOR = ¡2m! 0 £ v = ¡2m µÁ R sin(Á + 90± ) = ¡2mR µÁ cos(Á):
4
Note: Using the RHR, ! 0 £ v ) Coriolis force de‡ects m to the right (as shown).
Aside: In low pressure weather systems in the northern hemisphere, the Coriolis
force causes an air mass to be de‡ected to the right, resulting in the characteristic counter-clockwise air circulation associated with hurricanes and
tornadoes.
w
0
r
m
FCOR
f
R
v
f
Figure 3: Coriolis Force Diagram.
1.5.1.1.3 Kinetic energy Of a mass, m; moving with linear velocity, v; is
given by the familiar expression
1
K:E: = mv2 :
2
The rotational K.E. associated with the mass in Figure 2 is given by
1
K:E:ROT = I! 2 ;
2
where I is the moment of inertia, given by
Z
I=
½(r)r2 dl;
vol
where ½(r) is the mass distribution at radius r in the volume. For the case of a
simple point-mass,
I
= mr2 ;
:2
1
) K:E:ROT = mr2 µ :
2
1.5.1.1.4 Potential energy Of a mass, m; at a height, h; in gravitational
…eld, g; is given by
P:E: = mgh:
Note: The origin of the coordinate system, which corresponds to zero P.E., can be
selected arbitrarily since only di¤erences in P.E. can create physical forces.
5
1.5.1.2
Lagrange’s Equation of Motion
One method of deriving a dynamic model for a robotic system, is given by
¾
½
@L
d @L
¡
= ¿;
(1.3)
:
dt @ q
@q
where L = K:E: ¡ P:E: is a scalar function called the Lagrangian, ¿ 2 Rn are
generalized torque(force) inputs and q 2 Rn are generalized joint(link) angles.
1.5.1.2.1 Dynamics of a 2-link Polar Arm Let q =
· ¸
´
2 R2 ; as shown in Figure 4.
f
·
µ
r
¸
2 R2 and ¿ =
y
m
r
g
q
A
f
h
x
l
Figure 4. 2-Link Polar Arm.
Note: There’s only one joint, at point A, which is both prismatic and revolute
) ´ is an input torque (revolute joint) and f is an input force (prismatic joint).
Given this, we have
1 2 :2 1 :2
mr µ + m r ; and
2
2
P:E: = mgr sin(µ);
K:E: =
which yields the following Lagrangian
:2
1
1 :2
L(µ; r) = K:E: ¡ P:E: = mr2 µ + m r ¡mgr sin(µ):
2
2
whose derivatives can be easily computed
"
# ·
: ¸
@L
2
:
@L
mr
µ
q
@
=
=
;
:
:
@L
:
r
m
@q
q
@
½
¾
·
::
: : ¸
2
d @L
rµ
mr
µ
+2mr
=
; and
::
:
dt @ q
mr
"
#
¡mgr cos(µ)
@L
:2
=
:
@q
mr µ ¡mg sin(µ)
(1.4)
6
Substituting (1.4) into (1.3) yields the system dynamics
#
::
· ¸ "
: :
mr2 µ +2mr rµ +mgr cos(µ)
´
:
¿=
=
:2
::
f
m r ¡mr µ +mg sin(µ)
Note: This is a coupled set of nonlinear di¤erential equations
::
::
mr2 µ and m r are inertial terms,
: :
2mr r µ is a coriolis term,
:2
¡mr µ is a centripetal term,
mgr cos(µ) and mg sin(µ) are gravity terms.
Note: One way to derive the K.E. of the 2-link arm is to observe that in rectangular coordinates
:
:
:
:
:
:
x = r cos(µ) ) x=r cos(µ) ¡ r sin(µ) µ; and
y = r sin(µ) ) y =r sin(µ) + r cos(µ) µ :
q
:2
:2
Since v = x + y ; we can write
:2
:2
1 :2
1
1
:2
K:E: = mv2 = m(x + y ) = m(r +r2 µ ):
2
2
2
Some observations –
1. The 2-link arm dynamics can be written in a matrix form
# ·
·
¸ · :: ¸ "
¸ · ¸
: :
r
2mr
µ
mr2 0
mgr cos(µ)
´
µ
+
:2
+
=
:
::
0
m
mg sin(µ)
f
r
¡mr µ
2. This corresponds to the following general form of manipulator dynamics
::
:
(1.5)
M (q) q +V (q; q ) + G(q) = ¿ ;
:
where M (q) is a matrix containing inertial terms, V (q; q ) is a vector containing Coriolis/centripetal terms and G(q) is a vector containing gravity
terms.
3. For control design purposes, the Coriolis/centripetal vector is often written
in a more convenient
:
: :
V (q; q) = Vm (q; q ) q;
(1.6)
:
where Vm (q; q) is a matrix expression.
Note: For the 2-link arm example,
:
Vm (q; q) =
"
:
0
2mr µ
:
¡mr µ 0
7
#
:
1.5.1.2.2 Dynamics of a 2-link Revolute Elbow Let q =
·
¸
¿1
¿=
2 R2 ; as shown in Figure 5.
¿2
(x2,y2)
m2
y
l2
l1
q1
q2
¸
2 R2 and
g
q2
(x1,y1)
m1
·
t2
q1
x
t1
Figure 5: 2-link Revolute Elbow.
:2
:2
:2
:2
Note: v12 =x1 + y 1 and v22 =x2 + y 2 :
For link 1–
:
:
x1 = l1 cos(q1) )x1= ¡l1 sin(q1 ) q1
:
:
y1 = l1 sin(q1 ) )y1 = l1 cos(q1 ) q1
:2
:2
:2
) v12 = x1 + y 1 = l12 q1
:2
1
1
) K:E:1 = m1 v12 = m1 l12 q 1
2
2
) P:E:1 = m1 gl1 sin(q1 )
For link 2 –
x2
y2
) v22
:
:
:
:
= l1 cos(q1 ) + l2 cos(q1 + q2 ) ) x2 = ¡l1 sin(q1 ) q1 ¡l2 sin(q1 + q2 )(q1 + q 2)
:
:
:
:
= l1 sin(q1 ) + l2 sin(q1 + q2 ) ) y 2 = l1 cos(q1 ) q 1 +l2 cos(q1 + q2 )(q1 + q2 )
:
:2
:2
:2
:2
:2
:
:
2
= x2 + y 2= l12 q 1 +l22(q 1 + q 2) + 2l1 l2(q 1 + q1 q2 ) cos(q2 )
1
) K:E:2 = m2v22 = Sub. from above.
2
) P:E:2 = m2 gy2 = Sub. from above.
Lagrangian –
L(q) = K:E: ¡ P:E: = (K:E:1 + K:E:2) ¡ (P:E:1 + P:E:2)
:2
:2
1
1 :2
=
(m1 + m2 )l12 q 1 + l22 (q1 + q2 )
2
2
:2
: :
+m2 l1l2 (q1 + q 1 q2 ) cos(q2 )
¡(m1 + m2)gl1 sin(q1) ¡ m2 g sin(q1 + q2 )
8
Lagrange’s Equation – Applying (1.3) to the 2-link revolute elbow yields
2 n o 3
· @L ¸ ·
¸
d
@L
:
¿1
1
4 dt n @ q1 o 5 ¡ @q
=
;
@L
d
@L
¿2
:
@q2
dt
@ q2
where all terms on the LHS are computed using the Lagrangian given above.
Some observations –
1. The 2-link revolute elbow dynamics can be written in the general matrix
form of (1.5), where the inertia matrix is
·
¸
(m1 + m2)l12 + m2 l22 + 2m2 l1l2 cos(q2 ) m2l22 + m2l1 l2 cos(q2 )
M(q) =
m2 l22 + m2 l1 l2 cos(q2 )
m2l12
Note: In general, M (q) is a symmetric matrix.
2. The Coriolis/centripetal vector is
#
"
: :
:2
:
q
q
q
¡m
l
l
(2
+
)
sin(q
)
2 1 2
1 2
2
1
V (q; q ) =
:2
m2l1 l2 q1 sin(q2 )
:
Note: Which are the Coriolis and centripetal terms in V (q; q )?
3. The gravity vector is
·
¸
(m1 + m2)gl1 cos(q1 ) + m2 g cos(q1 + q2 )
G(q) =
m2 gl2 cos(q1 + q2 )
Homework: Verify that the 2-link revolute elbow dynamics
can be written in
:
q
the general :form given: above,
and shown that
V (q; ) can be written in the
:
:
form, V (q; q) = Vm (q; q) q (i.e., …nd Vm (q; q )):
1.5.1.2.3 General Robotic Systems The dynamics of any robotic system
can be derived in a systematic way using the following steps:
1. At each link, assign a generalized coordinate frame such that the moments
of inertia can be calculated.
2. De…ne a linear transformation matrix between each link’s coordinate frames
of the form
·
¸
R i pi
Ai =
2 R4£4 ;
0 1
where Ri 2 R3£3 is a rotation matrix, pi 2 R3£1 is a translation vector, and
0 2 R1£3 and 1 2 R1 are place holders.
3. The relation between coordinate frames is then given by
i¡1
r = Ai ¢ i r;
where i r is a point w.r.t. coordinate frame i; and
w.r.t. coordinate frame i ¡ 1:
i¡1
r is the same point
9
4. De…ne an “arm” matrix for the ith link of the form
Ti = A1 A2 ¢ ¢ ¢ Ai :
Now, given the coordinates i r of a point expressed in a frame attached to
link i; the coordinates of the same point in the “base” (or …xed) frame is
where i r =
£
x y z 1
¤T
r = 0 r = Ti ¢ i r;
:
5. The pseudo inertia matrix for link i is calculated using an incremental mass,
m; in the frame i; as shown
R
R
R
2 R 2
3
x
dm
xydm
xzdm
R
R 2
R
R xdm
Z
6 xydm
7
i
R
R y dm R yzdm
R ydm 7
r ¢ i rT dm = 6
Ii =
2
4 xzdm
5
link i
R
R yzdm R z dm R zdm
xdm
ydm
zdm
dm
Note: These integrals are dependent on the volume and mass distribution
of the link.
6. The (j; k) element of the inertia matrix, M(q) 2 Rn£n ; is then given by
(·
¸ ·
¸T )
n
X
@Ti
@Ti
Mj;k (q) =
trace
Ii
@qj
@qk
i=maxfj;kg
7. Given this, the kinetic energy can be found using
K:E: =
:
1 :T
q M (q) q
2
8. The potential energy can be found using
P:E: =
n
X
g T Ti Ii e4 , P (q);
i=1
£
¤T
where g is a gravity vector de…ned, g = 0 0 9:81 0
2 R4; and e4 is
£
¤T
2 R4 :
a basis vector de…ned e = 0 0 0 1
9. The Lagrangian for a general robotic is then given by
L(q) =
:
1 :T
q M (q) q ¡P (q)
2
10. The dynamics of a general robotic system can then be derived using Lagrange’s equation
½
¾
@L
d @L
¡
= ¿;
:
dt @ q
@q
10
which yields the following terms
:
@L
= M(q) q;
:
q
½ @¾
:
:
::
d @L
= M (q) q +M(q) q ; and
:
dt @ q
o @P (q)
:
@L
1 @ n:T
q M(q) q ¡
=
:
@q
2 @q
@q
11. The dynamics of a general robotic system can therefore be written as
·
o¸ @P (q)
:
:
::
:
1 @ n:T
q
q
q
q
+
M (q)
M(q) + M (q) +
= ¿;
2 @q
@q
which corresponds to the general form of (1.5), rewritten below
::
:
M (q) q +V (q; q ) + G(q) = ¿ :
Aside: Since the Coriolis/centripetal forces do no work on the system, they
are computed solely from the inertia matrix, M(q): This will have stability rami…cations later on!
11
Chapter 2 Stability Theory
2.1
Commonly Used Symbols and Terms
The following are de…nitions for miscellaneous terms we will commonly use:
Proposition: Something o¤ered for consideration or acceptance. A theorem or
problem to be demonstrated.
Theorem: A formula, proposition, or statement in mathematics or logic deduced from other formulas or propositions. An idea accepted or proposed
as demonstrable truth.
Axiom: A proposition regarded as self-evident.
Lemma: An auxiliary proposition accepted as true for use in demonstrating other
propositions.
The following are miscellaneous symbols which we will commonly use:
) implies
2 element of
½ subset of
inf s greatest lower bound
2.1.1
, if, and only if
3 such that
\ union of
sup s least upper bound
8 for all
9 there exists
[ intersection of
2 end of proof
Norms
A generalized concept about the size of a vector or matrix, related to the concept
of distance or length.
2.1.1.1
Vector norms
The norm of a vector x; represented as kxk ; is a real-valued function de…ned on
the vector space, Â; with an associated …eld of real numbers R; 3
1. kxk ¸ 08x 2 Â with kxk = 0 , x = 0
2. kaxk = jaj kxk 8x 2 Â and scalars a
3. kx + yk · kxk + kyk 8x; y 2 Â
Note: This last condition is commonly referred to as the triangle-inequality.
Note: The notation j¢j refers to the absolute value for real numbers and the
magnitude for complex numbers.
12
2.1.1.1.1 Common norm de…nitions in Rn : The following are common
norm de…nitions on  = Rn ; where Rn is the set of n £ 1 vectors with real
elements.
P
1-norm: kxk1 ´ ni=1 jxi j
Pn
2-norm: kxk2 ´ (
1
i=1
Pn
p-norm: kxkp ´ (
x2i ) 2 ; also known as the Euclidean norm.
1
i=1
jxi jp ) p ; 8 interger p > 0:
1¡norm: kxk1 ´ max jxi j
1·i·n
For example, if we de…ne x =
£
1 ¡2 2
¤T
and y =
£
1 ¡2 3
kxk1 = 5 kxk2 = p
3
kxk1 = 2
kyk1 = 6 kyk2 = 14 kyk1 = 3
¤T
; then
Note that the proposed norm de…nitions satisfy the three required norm prop£
¤T
erties. For example, given x and y above we have x + y = 2 ¡4 5
; which
obeys the triangle inequality for the proposed norm de…nitions
kx + yk1 = 11
p · 11 = kxk
p 1 + kyk1 ;
kx + yk2 = 45 · 3 + 14 = kxk2 + kyk2 ;
kx + yk1 = 5 · 2 + 5 = kxk1 + kyk1 :
Lemma: Let kxka and kxkb be any two norms of a vector x 2 Rn ; then 9
…nite positive constants ® and ¯ 3
® kxka · kxkb · ¯ kxka ; 8x 2 Rn :
Given this Lemma, it follows that
p
kxk1 · n kxk2 ;
kxk1 ·pkxk1 · n kxk1 ;
kxk2 · n kxk1 :
£
¤T
; one can easily verify that
For example, if we de…ne x = 1 ¡2 2
p
p
kxk1 = 5 · 3 3 = n kxk2 ;
kxk1 = 2 · kxk
p 1 =p5 · 3(2) = n kxk1 ;
kxk2 = 3 · 2 3 = n kxk1 :
2.1.1.2
Induced matrix norms
A vector x is often operated on by a matrix A to produce another vector y = Ax:
In order to relate the sizes of x and Ax; we de…ne the concept of an induced matrix
norm.
De…nition: Let kxk be any norm of x 2 Rn ; then each n £ n matrix A has an
induced norm de…ned by
kAki =max kAxk :
kxk=1
13
Note: While no speci…c norm is required in order to compute the induced matrix
norm, a proper norm must be used (i.e., one which satis…es the three norm
conditions stated above). Given this, the induced matrix norm can be shown
to satisfy the triangle inequality
kABki · kAki kBki ; 8A 2 Rn£m and B 2 Rm£p :
£
¤T
How do you apply the above de…nition? Let’s consider the vector x = x1 x2
2
R2 and assume the 2-norm is used to compute the RHS of the expression. From
the de…nition, we can write
kAki2 = max kAxk2 ;
kxk2 =1
where kxk2 =
de…ned as
p
x21 + x22: To simplify the example, let’s consider a speci…c A matrix
·
¸
2 0
A=
;
0 3
which yields the following
·
¸ ·
¸
x1
2x1
Ax =
=
;
x2
3x2
q
) kAxk2 = 4x21 + 9x22 :
2 0
0 3
¸·
The de…nition now requires us to …nd the max kAxk2 over all possible x 3 kxk2 =
1: As this is not a trivial task, we will construct a table to help illustrate the
concept
p
x1
x2 kxk2 kAxk2 = 4x21 + 9x22
0
1
1
3
1
0
1
q 2
:707 :707
13
2
1
<3
From the table, it appears that kAki2 = max kAxk2 = 3: Note, the induced
kxk2 =1
matrix norm can often be calculated analytically based on the general de…nition,
once a speci…c norm type is selected. For example, the induced 2-norm can be
calculated as follows
p
kAki2 ´ ¸max (AT A); where ¸max is the maximum eigenvalue of AT A:
If we apply this de…nition to the A matrix given above, we have
s
µ·
¸¶
p
4 0
T
kAki2 ´ ¸max (A A) = ¸max
= 3:
0 9
Similar results are obtained for the other norm types, as shown
P
kAki1 ´max jaij j ;
j
i
P
kAki1 ´max jaij j :
i
j
14
For example, given
we have
2.2
2
3
1 ¡1 2
A=4 2
3 ¡2 5 ;
¡1 0
1
kAki1 = max(4; 4; 5) = 5;
kAki1 = max(4; 7; 2) = 7;
kAki2 = 4:4576:
Matrix Properties
We now consider some matrix analysis concepts which play a role in the stability
study of nonlinear systems
2.2.1
Useful De…nitions
Positive De…nite: A real n £ n matrix A is positive de…nite (PD) if xT Ax >
08x 2 Rn ; x 6= 0:
Positive Semide…nite: A real n £ n matrix A is positive semide…nite (PSD) if
xT Ax ¸ 08x 2 Rn :
Negative De…nite: A real n £ n matrix A is negative de…nite (ND) if xT Ax <
08x 2 Rn ; x 6= 0:
Negative Semide…nite: A real n £ n matrix A is negative semide…nite (NSD)
if xT Ax · 08x 2 Rn :
Symmetric: A matrix A is symmetric if A = AT :
Antisymmetric (skew symmetry): A matrix A is skew symmetric if A =
¡AT :
Note: Any matrix A can be broken down into its symmetric and skew-symmetric
components, as shown
A + AT
(symmetric part),
2 T
A¡A
AA =
(antisymmetric part),
2
such that A = AS + AA : Given this, we can compute the quadratic form
xT Ax; as shown
AS =
xT Ax = xT (AS + AA )x = xT AS x + xT AA x:
Since the quadratic form of a skew symmetric matrix is identically equal to
zero (i.e., xT AA x = 0), we can write
µ
¶
A + AT
T
T
T
x Ax = x AS x = x
x:
2
Therefore, the test for the de…niteness of matrix A can performed using only
the symmetric part of matrix A:
15
2.2.1.1
Resulting De…nitions
Let A = [aij ] be a symmetric n £ n real matrix. As a result, all eigenvalues of A
are real, and the following hold.
Positive De…nite: A is PD if all eigenvalues are positive.
Positive Semide…nite: A is PSD if all eigenvalues are nonnegative.
Negative De…nite: A is ND if all eigenvalues are negative.
Negative Semide…nite: A is NSD if all eigenvalues are nonpositive.
Inde…nite: A is inde…nite if some eigenvalues are positive and some eigenvalues
are negative.
2.2.2
Useful Theorems
Rayleigh-Ritz Theorem: Let A be a real, symmetric n £ n PD matrix with
¸min and ¸max the minimum and maximum eigenvalues of A; respectively.
Then 8x 2 Rn ;
¸min (A) kxk2 · xT Ax · ¸max (A) kxk2 :
This allows us to upper and lower bound the quadratic form.
Example: Let
·
¸
4 ¡2
A =
;
¡4 6
) ¸min (A) = 2 and ¸max (A) = 8:
£
¤T
If we consider x = x1 x2
2 R2 and its 2-norm, then by the RayleighRitz Theorem, we can state
2(x21 + x22 ) · 4x21 ¡ 6x1 x2 + 6x22 · 8(x21 + x22 )
Gershgorin Theorem: Let A be a real, symmetric n £ n matrix, and suppose
that
n
X
jaii j >
jaij j 8i = 1; ¢ ¢ ¢; n; j 6= i:
j=1
If all diagonal elements of A are positive (i.e., aii > 0); then the matrix A is
PD.
Example: Let
·
¸
4 ¡2
A =
;
¡4 6
·
¸
A + AT
4 ¡3
) AS =
=
:
¡3 6
2
Using the above de…nitions, we can state that A is PD since its eigenvalues,
¸min = 2 and ¸max = 8; are both positive.
16
We can obtain the same result, however, using the Gershgorin Theorem since the
diagonal elements of AS are positive and
ja11 j = 4 > ja12 j = 3;
ja22 j = 6 > ja21 j = 3:
Note: A modi…ed version of this theorem can also be used to predict the location
of the eigenvalues of matrix A:
Modi…ed Gershgorin Theorem: All eigenvalues of a matrix A 2 Rn£n ;
lie in at least one of n disks with centers aii and radii given by
n
X
ri =
jaij j :
j6=i
Example: Suppose A is a real, symmetric n £ n matrix 3
n
X
jaij j 8i = 1; ¢ ¢ ¢; n; j 6= i:
jaii j >
j=1
If all diagonal elements of A are positive (i.e., aii > 0); then all of the
discs lie totally in the open RHP ) all eigenvalues of A are in the open
RHP ) the matrix A is PD.
Example 2: Given the A matrix above, all eigenvalues of A must lie within
the union of two disks, one centered at the point a11 = 4 with a radius
of r1 = 3; the other at the point a22 = 6 with a radius of r2 = 3; as
shown below.
jw
r1
1
X
2
3
4
5
6
7
X
8
r2
Figure 6: Locating Eigenvalues Using Gershgorin.
2.3
Stability Concepts
2.3.1
Important De…nitions
Given a nonautonomous system of the form
:
x (t) = f(x; t); f 2 Rn£1 ; x 2 Rn£1
we can state the following de…nitions:
17
De…nition 4.0: Equilibrium Points (EP) of the system shall be denoted as x¤;
and de…ned by
f(x¤; t) = 0 8 t ¸ t0:
De…nition 4.1: The EP x¤ = 0 is Stable (S) at time t0 if 8 R > 0; 9 a positive
scalar r(R; t0) 3
kx(t0 )k < r ) kx(t)k < R 8 t ¸ t0 :
Note: In other words, the EP x¤ is Stable (S) in the sense of Lyapunov
at time t0 if starting close enough to x¤ at t0 implies that the state
x(t) will stay close to x¤ for all time greater than t0 (i.e., the state is
bounded).
Note: The norm used above can be any proper norm, but we will typically
assume a 2-norm.
De…nition 4.2: The EP x¤ is Asymptotically Stable (AS) in the sense of Lyapunov at time t0 if
a) It is Stable (S)
b) 9 r(t0 ) > 0 3
kx(t0 )k < r(t0 ) ) kx(t)k ! 0 as t ! 1:
Note: r(t0 ) is called an attractive set.
Note: In other words, the EP x¤ = 0 is Asymptotically Stable (AS) at
time t0 if: (a) all states starting su¢ciently close to x¤ stay close to x¤;
and (b) all such states eventually converge to x¤ (i.e., there exits an
attractive set for all t0 ):
Note: The size of the attractive set and the speed of trajectory convergence
may depend on the initial time t0 :
De…nition 4.3: The EP x¤ = 0 is Exponentially Stable (ES) if 9 positive scalars
®; ¸ 3 for su¢ciently small x(t0 )
kx(t)k · ® kx(t0 )k e¡¸(t¡t0 ) 8 t ¸ t0 :
Note: A Global stability results in the above de…nitions if the property holds for
all initial conditions (IC) x(t0 ):
De…nition 4.4: The EP x¤ = 0 is Globally Asymptotically Stable (GAS)
if 8 x(t0 )
kx(t0)k ! 0 as t ! 1:
Note: ES ) AS ) S.
:
Examples: Given x (t) = ¡a(t)x(t);
8 t
9
< Z
=
) x(t) = x(t0 ) exp ¡
a(¿ )d¿ :
:
;
t0
18
1. Let a(t) =
1
;
(1 + t)2
8 t
9
¾
½
< Z
=
1
1
1
:
) x(t) = x(t0 ) exp ¡
d¿ = x(t0 ) exp
¡
:
(1 + t) (1 + t0 )
(1 + ¿)2 ;
t0
From the de…nitions, we can only say that x(t) is Stable (i.e., bounded).
1
2. Let a(t) =
;
(1 + t)
8 t
9
¸
·
< Z
=
1
1 + t0
) x(t) = x(t0 ) exp ¡
:
d¿ = x(t0)
:
(1 + ¿) ;
1+t
t0
From the de…nitions, we can state that x(t) is AS (and, therefore also
S).
3. Let a(t) = t;
) x(t) = x(t0 ) exp ¡
Zt
t0
8 t
9
½
¾
< Z
=
¤
1£2
) x(t) = x(t0 ) exp ¡
¿ d¿ = x(t0 ) exp ¡ t ¡ t0 :
:
;
2
t0
From the de…nitions, we can state that x(t) is ES (and, therefore also
S).
De…nition 4.5: The EP x¤ = 0 is locally Uniformly Stable (US) if the scalar r
in De…nition 4.1 can be selected independently of t0 ) r = r(R):
Note: This de…nition rules out the possibility that a system has decreasing
stability as t0 gets big, and it removes the e¤ect of the initial time t0
on the state convergence, i.e.,
kx(t0 )k < r(R) ) kx(t)k < R 8 t ¸ t0:
De…nition 4.6: The EP x¤ = 0 is locally Uniformly Asymptotically Stable (UAS)
if
a) It is Uniformly Stable (US)
b) 9 a ball, or region of attraction, BR0 whose radius is independent of t0 3
any system trajectory x(t) with initial states in BR0 converge to x¤ = 0
uniformly in t0 :
Note: In other words, 8 0 < R2 < R1 < R0 9 a time interval T (R1 ; R2 ) 3
8 t0 ¸ 0;
kx(t0 )k < R1 ) kx(t)k < R2 8 t ¸ t0 + T:
This implies that trajectories which start within ball BR1 converge to a
smaller ball BR2 within the time interval T; which is independent of t0:
Note: This is a local result dependent on the initial of R0 : If R0 ´ Rn (i.e.,
the whole space), then the result is Global (GUS).
19
:
Example: As shown previously, given x (t) = ¡a(t)x(t); with a(t) =
1
1+t
¸
1 + t0
:
) x(t) = x(t0 )
1+t
·
This system is AS but not UAS, since the convergence of x(t) to x¤ = 0
depends on t0 (i.e., the large the value of t0 ; the longer it takes x(t) !
0):
Note: For Uniform convergence, both the rate of convergence and the …nal
admissible state x(tf ) can not depend on the initial time t0 :
Homework: Use De…nition 4.3 to show that ES ) UAS.
De…nition 4.6.1: The EP x¤ = 0 is Globally Uniformly Asymptotically Stable
(GUAS) if 8 x(t0 );
kx(t)k ! 0 as t ! 1; Uniformly in t0 :
2.3.2
Lyapunov’s Direct (or 2nd) Method
We shall analyze the stability properties of systems using scalar “energy-like”
functions (see Chapters 3 and 4 of the text).
2.3.2.1
Mass-Spring-Damper System
Consider the nonlinear mass-spring-damper system
::
: ¯:¯
m x + b x ¯x¯ + k0 x + k1 x3 = 0:
|{z}
| {z } | {z }
mass
2.3.2.1.1
spring
damper
Consider the system’s total energy
E = K:E: + P:E:
Zx
1 :2
=
mx +
(k0x + k1x3 )dx
2
0
1 :2 1
1
=
m x + k0x2 + k1 x4 ´ V (¹
x)
2
2
4
Note: If V (¹
x) ! 0 as t ! 1; then the system is intuitively Stable (i.e., bounded)
in the sense of Lyapunov (see De…nition 4.1).
2.3.2.1.2 Relations between energy and stability Comparing the de…nitions of stability to the system’s energy, one can see the following relations
a) Zero energy corresponds to an EP
E = 0 ) K:E: = P:E: = 0 ) x = x_ = 0; or x¹¤ = 0; where x¹ =
b) If a system’s energy goes to zero, then x¹ ! 0 (i.e., AS).
£
x x_
¤T
:
20
c) Instability is related to the growth of energy. The rate of energy (i.e., power)
dissipation is
P =
:
dE
@V (¹
x) : @V (¹
x) ::
x+
x:
x) =
=V (¹
:
dt
@x
@x
Note: The RHS of the above expression represents the total derivative of
V calculated along the state trajectory.
Note: For the nonlinear mass-spring-damper system
:
: ::
:
x) = m xx +(k0x + k1 x3 ) x :
V (¹
Given the system dynamics, we can write
::
: ¯:¯
m x= ¡b x ¯x¯ ¡ (k0x + k1 x3 ):
:
x) expression yields
Substituting these dynamics into the RHS of the V (¹
¯ : ¯3
:
:2 ¯:¯
x) = ¡b x ¯x¯ = ¡b ¯x¯ :
V (¹
Observe that if b > 0 (i.e., a reasonable assumption for practical mechanical
dampers), then
:
:
x) < 0 8 x6= 0 ) V (¹
x) is decreasing in time.
V (¹
This implies that as long as the mass-spring-damper system is moving, the
damper element is dissipating energy. This dissipation will occur until the
:
system settles down (i.e., until x= 0): Physically, this will only occur when
x = 0; since the spring element exerts a non-zero force at all other positions.
Graphically, we have the following situation
V(x)
t
.
x
2.3.2.2
x
Related De…nitions
De…nition 4.6.2: A scalar continuous function V (¹
x) is said to be locally PD if
V (0) = 0; and, in a ball BR0
x¹ 6= 0 ) V (¹
x) > 0:
If V (0) = 0 and the above property holds over the whole state space, then
V (¹
x) is said to be globally PD.
21
Note: A function V (¹
x) is ND if ¡V (¹
x) is PD, and V (¹
x) is PSD if V (0) = 0
and
V (¹
x) ¸ 08x 6= 0:
Example: The energy of the nonlinear mass-spring-damper system is globally PD, but the power is only NSD since
¯ : ¯3
:
:
:
V = ¡b ¯x¯ )V = 0 if x= 0; regardless of the value of x:
:
:
Therefore, V · 0 for x¹ 6= 0: Given this, V is NSD by de…nition.
Note: This is true for all scalar functions which do not contain the full
state.
Example 2: The energy associated with an inverted pendulum system of
mass M and length R is given by
1
:2
V (¹
x) = M R x +M R(1 ¡ cos(x)):
2
This function is only locally PD, due to the 1 ¡ cos(x) term. Why?
De…nition 4.7: A scalar time-varying function V (x; t) is locally PD if V (0; t) = 0
and 9 a time-invariant PD function V0 (x) 3 8 t ¸ t0 ;
V (x; t) ¸ V0(x):
Note: This implies that a time-varying function is PD if it dominates a
time-invariant PD function.
Note: If this occurs over the whole space, then the result is Global.
De…nition 4.8: A scalar function is said to be decrescent if V (0; t) = 0 and 9 a
time-invariant PD function V1(x) 3 8 t ¸ t0 ;
V (x; t) · V1(x):
Note: A time-varying function is decrescent if it is dominated by a timeinvariant PD function.
£
¤
Example: Assume a time-varying function V (x; t) = 1 + sin2(t) (x21 + x22 ) ; where
£
¤T
x = x1 x2
; and two time invariant functions V0 (x) = (x21 + x22 ) and
V1 (x) = 2 (x21 + x22 ) : We can state that V (x; t) is PD and decrescent since
V0 (x) · V (x; t) · V1 (x) 8 t ¸ t0 :
De…nition 4.9: A scalar function ® is said to be class k if ®(0) = 0; ®(½) > 0 8
½ > 0; and ®(½) non-decreasing.
i) A scalar function V (x; t) is locally PD i¤ 9 a class k function ® 3 V (0; t) =
0 and V (x; t) ¸ ®(kxk) 8 t ¸ t0 and 8 x 2 BR0 :
ii) A scalar function V (x; t) is locally decrescent i¤ 9 a class k function ¯
3 V (0; t) = 0 and V (x; t) · ¯(kxk) 8 t ¸ t0 and 8 x 2 BR0 :
22
Note: These results are Global if BR0 is the whole space.
Proof of i): Since the statement is i¤ (()); we must prove both necessary
()) and su¢cient (() conditions.
Su¢ciency ((): If 9 a class k function ® 3 V (0; t) = 0 and V (x; t) ¸
®(kxk) then V (x; t) is locally PD.
Proof: It follows from De…nition 4.9 that ®; a class k function, is
also a time invariant PD function. Therefore, if we let ®(kxk) =
V0(x); then it follows from De…nition 4.7 that V (x; t) is locally
PD.
Necessity ()): If a function V (x; t) is locally PD then 9 a class k
function ® 3 V (0; t) = 0 and V (x; t) ¸ ®(kxk):
Proof: Let V (x; t) be locally PD, then by de…nition 9 V (x; t) ¸
V0(x) and V (0; t) = 0 8 t ¸ t0 : If we de…ne
®(½) =
inf
½·kxk·R0
V0 (x);
where R0 is the radius of a ball for a local result and the
whole space for a global result, then ®(½) = 0 and ®(½) is
non-decreasing. Since V0 (x) was de…ned as V0 (x) = ®(kxk); we
have that V0(x) is non-zero 8 x except at x = 0: This implies
that ®(½) > 0 8 ½ > 0: Having shown that ®(½) = 0; ®(½) > 0
8 ½ > 0; and ®(½) is non-decreasing, we can state that ®(½) is
a class k function 3
V (x; t) ¸ ®(kxk) 8 t ¸ t0 and 8x 2 BR0 :
¤
Question: How does the de…nition
®(½) =
inf
½·kxk·R0
V0(x);
guarantee that ®(½) is non-decreasing?
Answer: The de…nition states that the function ®(½) is the greatest lower
bound on the time invariant PD function V0 (x) for all kxk less than or
equal to ½: To fully appreciate this de…nition, it is helpful to note that
V0(x) has the following properties: (i) V0 (0) = 0; and (ii) V0(x) > 0 8
x 6= 0:
Let’s examine one possible V0(x) in more detail. If V0(x) is de…ned as
½
jxj ; for x · 0
V0 (x) =
see graph below for x > 0
23
V0(x)
5
4
3
2
a(r)
1
1
2
3
4
5
1
2
3
4
5
x
r
Note: V0(x) is not non-decreasing, and as de…ned ®(½) is only a onesided function (i.e., exists only for ½ ¸ 0):
From the graph of V0 (x); we can make the following table
½
x
kxk
0
0
0
1 -1,1
1
-2,2
2
-3,3
3
-4,4
4
-5,5
5
..
..
.
.
2 -2,2
2
-3,3
3
-4,4
4
-5,5
5
..
..
.
.
V0 (x) ®(½)
0
0
1,3
1
2,2
3,1
4,4
5,7
..
.
2,2
3,1
4,4
5,7
..
.
1
3 -3,3
-4,4
-5,5
..
.
3
4
5
..
.
3,1
4,4
5,7
..
.
1
4 -4,4
-5,5
..
.
4
5
..
.
4,4
5,7
..
.
5
5 -5,5
..
.
5
..
.
5,7
..
.
5
Note: To calculate ®(½); you must search over all kxk 3 an increase in ½
causes no decrease in ®(½):
Note: If x is not a scalar, then the condition ½ · kxk forms a ball of radius
½ about the origin. The ball shape depends on the norm.
24
Example: Let V0 (x) = x2 = jxj2 ; then ®(½) = inf V0(x) = p2: To show
½·kxk
that ®(½) is non-decreasing, we can do a proof by contradiction, that
is we can assume that ®(½) is decreasing for some ½2 > ½1;
) ®(½2) < ®(½1 ):
By the de…nition of ®; we can state that
inf V0(x) <
½2 ·kxk
inf
½1 <½2 ·kxk
V0(x):
This is a contradiction, since the left hand case is included in the right
hand case (in the calculation of the in…mum). Therefore, by contradiction we can state
inf V0 (x) ¸
½2 ·kxk
)
inf
½1 <½2 ·kxk
V0 (x); for ½2 > ½1
®(½) is non-decreasing.
Homework: Prove part ii) of Lemma 4.1 using the de…nition
¯(½) = sup V1 (x):
0·kxk·½
2.3.2.3
Lyapunov Stability for Time Invariant Systems
Theorem 3.2 (Local Stability): If 8 x 2 BR0 9 a scalar function V (x) with
continuous …rst partial derivatives 3
a) V (x) is locally PD
b) V_ (x) is locally NSD
then the EP x¤ = 0 is Stable (S). If V_ (x) is locally ND, then the system is AS.
Proof: See text!
Theorem 3.3 (Global Stability): Assume a scalar V (x) with continuous …rst
partial derivatives 3
a) V (x) is globally PD
b) V_ (x) is globally ND
c) V (x) ! 1 as kxk ! 1 (i.e., radially unbounded)
then the EP x¤ = 0 is GAS.
Note: This result can be extended to cases where V_ (x) is only globally
NSD using LaSalle’s Invariant Set Theorem for TI systems (see the
discussion of Global Invariant Set Theory on pages 73-76 of text).
25
2.3.2.3.1
Lyapunov functions for LTI systems Given a system of the form
x_ = Ax 2 Rn ;
consider the scalar function
V (x) = xT P x;
where P 2 Rn£n is a symmetric PD matrix. Di¤erentiating V along the state
trajectory yields
V_ (x) = x_ T P x + xT P x_ = ¡xT Qx;
where Q = ¡(AT P + P A) 2 Rn£n :
Note: If Q is PD given a particular P; then the system is GAS at the EP x¤ = 0
by Theorem 3.3, and V (x) is referred to as a Lyapunov function.
Note: Generally, it is di¢cult to select a particular P 3 Q is PD. In practice, it
is easier to select Q (e.g., Q = In ) and then compute P; verifying that it is
PD. If P is PD then
1
V (x) = xT P x;
2
is a Lyapunov function for the system which yields GAS stability.
Example: Let the system matrix A be de…ned as
·
¸
0
4
A=
:
¡8 ¡12
If we take Q = I and denote P to be of the form
·
¸
p11 p12
P =
;
p12 p22
then Q = ¡(AT P + P A) yields
÷
·
¸
¸T ·
¸ ·
¸·
¸!
1 0
0
4
p11 p12
p11 p12
0
4
=¡
:
+
0 1
¡8 ¡12
p12 p22
p12 p22
¡8 ¡12
After much algebraic gyration, we obtain p11 = 5; p12 = p22 = 1; which
implies
·
¸
5 1
P =
:
1 1
Given this, it is easy to show that P is PD, and therefore, the system is
GAS.
2.3.2.4
Lyapunov Stability for Non-autonomous Systems
Stability: If 8 x 2 BR0 9 a scalar function V (x; t) with constant partial
derivatives 3
1) V is PD
2a) V_ is NSD
26
then the EP x¤ = 0 is Stable (S) in the sense of Lyapunov (i.e.,
bounded).
Uniform Stability: If in addition to (1) and (2a),
3) V is decrescent
then the EP x¤ = 0 is Uniformly Stable (US) in the sense of Lyapunov.
Uniform Asymptotic Stability: If (1) and (3) are satis…ed and (2a) is
strengthened 3
2b) V_ is ND
then the EP x¤ = 0 is Uniformly Asymptotically Stable (UAS) in the
sense of Lyapunov.
Global Uniform Asymptotic Stability: If the ball BR0 can be replaced
by the whole state space and if (1), (2b), (3), and
4) V (x; t) ! 1 as kxk ! 1 (i.e. radially unbounded)
all hold, then the EP x¤ = 0 is Globally Uniformly Asymptotically
Stable (GUAS) in the sense of Lyapunov.
Note: The requirement that the …rst partial derivatives be continuous stems
from the fact that
dV
@V
@V
@V
@V
V_ =
=
+
x_ =
+
f(x; t);
dt
@t
@x
@t
@x
must be a continuous function for the Lyapunov Theorem to hold as
stated.
2.3.2.5
Lyapunov Stability in Terms of Class k functions
The Lyapunov stability theorem for non-autonomous systems can be restated in
terms of class k functions.
Stability: Assume that in a neighborhood of the EP x¤ = 0 9 a scalar
function V (x; t) with continuous …rst derivatives and a class-k function
® 3 8 x 6= 0
1) V (x; t) ¸ ®(kxk)
2a) V_ (x; t) · 0
then the EP x¤ = 0 is Stable (S) in the sense of Lyapunov.
Uniform Stability: If in addition to (1) and (2a), 9 a class k function ¯
3
3) V (x; t) · ¯(kxk)
then the EP x¤ = 0 is Uniformly Stable (US) in the sense of Lyapunov.
Uniform Asymptotic Stability: If in addition to (1) and (3), 9 a class k
function ° 3
2b) V_ (x; t) · ¡°(kxk)
then the EP x¤ = 0 is Uniformly Asymptotically Stable (UAS) in the
sense of Lyapunov.
27
Global Uniform Asymptotic Stability: If (1), (2b) and (3) are satis…ed
over the whole space and
4) lim ®(kxk) ! 1 (i.e.V is radially unbounded)
then the EP x¤ = 0 is Globally Uniformly Asymptotically Stable
(GUAS) in the sense of Lyapunov.
Proof of Stability: To apply De…nition 4.1 (i.e., the de…nition of Stability
in the sense of Lyapunov), we must show that given a R > 0 9 r > 0 3
kx(t0)k < r ) kx(t)k < R 8 t ¸ t0 :
This shown in two steps (see the …gure below)–
a) Given conditions (1) and (2a), we know that V (x; t) is nonincreasing
since V_ · 0
) V (x(t0 ); t0 ) ¸ V (x(t); t) ¸ ®(kxk) 8 t ¸ t0 :
b) Since V is continuous with respect to x and V (0; t0 ) = 0; we can
de…ne a ball, Br ; close to the origin 3
kx(t0 )k < r ) V (x(t0 ); t0 ) < ®(R):
Since ® is nondecreasing, ) kx(t)k < R 8 t ¸ t0 : Therefore, the EP x¤ = 0
is Stable by De…nition 4.1. 2
V(x,t)
t
a(R)
a(||x(t)||)
r
V(x(t0),t)
a(||x(t)||)
||x(t0)||
r
R
||x(t)||
Proof of Uniform Stability: We will apply the same method as above,
except that r(R) will have no dependence on t0 (see De…nition 4.2).
From conditions (1) and (3), we have
®(kx(t)k) · V (x(t); t) · ¯(kxk):
) 8 R > 0 9 r(R) > 0 3 ®(R) > ¯(r); as shown below.
28
r
b(||x||)
V(x,t)
a(||x||)
r
r
R
||x||
Let the IC x(t0 ) be selected 3 kx(t0)k < r; then
®(kxk) · V (x(t); t) · V (x(t0); t0) · ¯(kxk) < ®(R):
Since ®(kxk) < ®(R) ) kx(t)k < R: Therefore, the EP x¤ = 0 is US
by De…nition 4.2. 2
Proof of Uniform Asymptotic Stability: The approach used to show
UAS is as follows. If kx(t)k 9 0 as t ! 1; then 9 a positive scalar
°3
V_ (x(t); t) · ¡° < 0
Zt
Zt
_
V dt = V (x(t); t) ¡ V (x(t0 ); t0 ) · ¡
°dt = ¡°(t ¡ t0 ):
)
t0
)
t0
0 · V (x(t); t) · V (x(t0 ); t0 ) ¡ °(t ¡ t0):
This leads to a contradiction as t gets big, since V (x(t0 ); t0 ) ¡ °(t ¡ t0 )
eventually becomes negative (see text for full proof).
Proof of Global Uniform Asymptotic Stability: Since ® is radially unbounded, we can select r arbitrarily large for any given IC kx(t0)k and
still …nd a ¯(r) < ®(R): Therefore, we can use the UAS proof (see text)
to also show that the EP x¤ = 0 is GUAS (i.e., UAS in the large). 2
Example: Consider the system
x_ 1 = ¡x1 ¡ e¡2tx2 ;
x_ 2 = x1 ¡ x2 :
Determine the stability of the system at its EP (i.e., x_ 1 = x_ 2 = 0 )
x1 = x2 = 0):
£
¤T
Solution: Let x = x1 x2
; and consider the Lyapunov function
candidate
V (x; t) = x21 + (1 + e¡2t)x22 :
Note, V is PD because it dominates the TI PD function
®(kxk) = x21 + x22 = kxk22 ;
29
and V is decrescent because it is dominated by the TI PD function
¯(kxk) = 2x21 + 2x22 = 2 kxk22 :
In addition, since
V_ (x; t) = 2x1 x_ 1 + 2(1 + e¡2t )x2 x_ 2 ¡ 2e¡2t x22
= ¡2x21 ¡ 2x22 + 2x1 x2 ¡ 4e¡2t x22 ;
we can show that
¡2x21 ¡ 2x22 + 2x1 x2 ¡ 4e¡2t x22 · x21 + x22
) V_ · ¡°(kxk) where °(kxk) = kxk22 :
Since we have established the existence of class k functions ®; ¯
and ° 3
®(kxk) · V (x; t) · ¯(kxk); and
V_ · ¡°(kxk);
we can state that the EP x¤ = 0 is GUAS
)
2.3.2.6
lim kx(t)k ! 0:
t!1
Lyapunov-like Analysis Using Barbalat’s Lemma
It is often hard to come up with actual Lyapunov functions for NA systems which
have ND derivatives ) hard to show asymptotic stability. Barbalat’s Lemma
helps remedy this situation. We …rst introduce some use concepts.
2.3.2.6.1 Asymptotic properties of functions and their derivatives Given
a di¤erentiable function of time, f (t); the following hold:
a) f_ ! 0 ; f converges (i.e., f(t) has a limit as t ! 1):
_ = cos(ln(t)) : Note that f(t)
_ !0
Example: Let f(t) = sin(ln(t)) ) f(t)
t
but that f (t) keeps oscillating (albeit slower and slower) as t ! 1 (i.e.,
f does not have a limit).
b) f converges ; f_ ! 0:
Example: Let f (t) = e¡t sin(2e2t ) ) lim f(t) = 0; but f_ = ¡e¡t sin(2e2t)+
4et cos(2e2t ) ) lim f (t) = 1:
t!1
t!1
_ · 0 (i.e., f(t) is decreasing), then
Lemma B.1: If f(t) is lower bounded and f(t)
f(t) converges as t ! 1.
Note: This is a standard calculus result.
30
Lemma B.2 (Barbalat’s Lemma): If the function f(t) has a …nite limit as
_ is uniformly continuous (i.e., f(t)
Ä exists and is bounded),
t ! 1 and f(t)
_ ! 0 as t ! 1:
then f(t)
Lyapunov-like Lemma: If the scalar function V (x; t) satis…es
1) V (x; t) is lower bounded
2) V_ (x; t) is NSD
3) VÄ (x; t) exists and is bounded (i.e., VÄ (x; t) is uniformly continuous)
then V_ (x; t) ! 0 as t ! 1:
Proof: Apply Lemma B.1 to (1) and (2) to obtain
lim V (x; t) ! V1 :
t!1
Use this result along with (3) and Lemma B.2 to obtain
lim V_ (x; t) ! 0:
t!1
Example: Given the error system
e_ = ¡e + eµ ¡ u;
where e is the system state, u is the control input and µ is an unknown
constant parameter. Design u(t) 3
lim e(t) = 0:
t!1
Let u = e^µ; where ^µ(t) is a dynamic estimate of the unknown constant
parameter µ: De…ne a parameter estimate error as
^
µ~ = µ ¡ µ:
Vary the parameter estimate according to the update law
Z
:
^µ= e2 ) ^µ = e2 dt:
Given this, the estimate error can be expressed as
:
:
~µ= µ¡
_ ^µ= ¡e2:
Therefore, the total system dynamics can be expressed in terms of the error
system and the update law, as shown
e_ = ¡e + eµ ¡ e^µ = ¡e + e~µ;
:
~µ = ¡e2:
To show stability of this system, we need to propose a Lyapunov function
£
¤T
of the form V (x; t); where x = e ~µ
: Try a PD scalar function of the
1 2
1 ~2
form V (x; t) = e + µ ; then
2
2
:
V_ (x; t) = ee_ + ~µ ~µ
³
´
¡
¢
~
= e ¡e + eµ + ~µ ¡e2
= ¡e2 · 0:
31
Note: It may appear that V_ is ND, but in fact it is only NSD since it does
not contain the full state x:
Since V_ is only NSD, we can not apply Lyapunov’s Direct Method to show AS
(only S). We may, however, be able to apply the Lyapunov-like Lemma. To
do this, we must show that VÄ (x; t) exists and is bounded (i.e., VÄ (x; t) is
uniformly continuous). Taking the derivative of V_ along the state trajectory
yields
³
´
Ä
~
V (x; t) = ¡2ee_ = ¡2e ¡e + eµ = 2e2 ¡ 2e2~µ:
Since V_ · 0; we can state that V is lower bounded by some term V0 : Given
this we can apply Lemma B.1 to state that V converges as t ! 1; as shown
V
! V1 ; which given the quadratic nature of V
) e ! e1 and ~µ ! ~µ1 :
This implies that VÄ exists and is bounded, since
VÄ1 = 2e21 ¡ 2e21 ~µ1 :
Therefore, by Lemma B.2, we can state
lim V_
t!1
! 0
) lim e ! 0:
t!1
This implies that the error is AS!
Note: Although e is AS, we can only state that ~µ is bounded (i.e., S), since
~µ ! ~µ1 : This implies that ^µ is only bounded (i.e., we can not guarantee
that the estimate converges to the actual value).
Note: The system is able to accurately track a desired trajectory despite
the fact that the actual parameter values are not known or identi…ed.
Note: An alternative view of what is happening under the proposed controller with the proposed update law can be gained by examining the
control input
Z
^
u = eµ = e e2dt:
Substituting this into the error system yields
µ
¶
Z
2
e_ =|{z}
¡e + e µ ¡ e dt :
|
A
{z
}
B
Part A provides the feedback necessary to stabilize the system under
no disturbances (i.e., no parameter error), while part B can be viewed
as added memory which is designed to reject constant disturbances.
32
2.4
The Robot Equation and Its Properties
2.4.1
General Properties
We shall assume a general robot equation of the form
M(q)Ä
q + V (q; q)
_ + F (q; q)
_ + G(q) + Td = ¿;
or simply
M(q)Ä
q + N(q; q)
_ + Td = ¿;
where N(q; q)
_ ´ V (q; q)
_ + F (q; q)
_ + G(q):
2.4.1.1
Inertia Matrix
The following properties are associated with the inertia matrix:
i) M(q) is symmetric and PD for revolute robots.
ii) Given (i), we have
where
mmin In · M (q) · mmax In ;
mmin = ¸min fM(q)g ; over all q
mmax = ¸max fM(q)g ; over all q:
Note: mmin and mmax are constants for revolute robots and may be functions of q for prismatic systems.
Note: Another way to express property (ii), is by applying the RayleighRitz Theorem, which yields
mmin kxk2 · xT M(q)x · mmax kxk2 ; x 2 Rn :
£
¤T
Example: For a 2-link revolute arm with q = µ1 µ2
;
·
¸
m11 m12
M(q) =
m12 m22
·
¸
(m1 + m2) l12 + m2 l22 + 2m2 l1 l2 cos(µ2 ) m2l22 + m2l1l2 cos(µ2 )
=
:
m2 l22 + m2 l1 l2 cos(µ2 )
m2l22
Note, that M (q) depends only on µ2 : To calculate the eigenvalues of M(q),
we compute
j¸I ¡ M (q)j = (¸ ¡ m11 ) (¸ ¡ m22 ) ¡ m212 = 0:
Write the expression in a quadratic form
¸2 + b¸ + c = 0;
where b = ¡(m11 + m22 ) and c = (m212 + m11m22): Use this expression to
solve for ¸min and ¸max as µ2 varies (i.e., 0 · µ2 · 2¼):
33
λ
λ max
λ min
θ2
Homework: Find ¸min and ¸max for a 2-link revolute robot with m1 = 2; m2 = 5;
l1 = 1 and l2 = 1:
Note: The Gershgorin Theorem can be used to establish ¸min and ¸max ; since
m12
m12
m11
m22
λmin
2.4.1.2
λmax
Coriolis/Centripetal Vector
i) V (q; q)
_ is quadratic in q
ii) kV (q; q)k
_ · Vmax kqk
_ 2 ; where Vmax is a constant for revolute joints (a function
of q for prismatic joints)
iii) V (q; q)
_ ´ Vm (q; q)
_ q_
iv) S(q; q)
_ ´ M_ (q) ¡ 2Vm (q; q)
_ is skew-symmetric
Example: For a 2-link revolute robot
#
"
2
¡m2 l1 l2 (2µ_ 1µ_ 2 + µ_ 2 ) sin(µ2 )
:
V (q; q)
_ =
2
m2 l1 l2µ_ 1 sin(µ2 )
The bound Vmax on V (q; q)
_ can be found by noting
¯ ¯
¯
¯
2
2
¯
¯
¯ ¯
kV (q; q)k
_ 1 = ¯m2 l1 l2(2µ_ 1 µ_ 2 + µ_ 2) sin(µ2 )¯ + ¯m2 l1 l2µ_ 1 sin(µ2 )¯
¯ ¯ ¯ ¯
¯ ¯ ¯ ¯
_ 21 ;
· m2l1 l2 (¯µ_ 1 ¯ + ¯µ_ 2¯)2 ´ Vmax kqk
where Vmax = m2 l1 l2:
Note: How is Vm (q; q)
_ calculated? Answer, by trial and error from the constraint
that S is skew-symmetric
) S = ¡S T ; S 2 Rn£n
³
´T
) M_ (q) ¡ 2Vm (q; q)
_ = ¡ M_ (q) ¡ 2Vm (q; q)
_
) M_ = Vm + VmT :
34
Example: Given a 2-link polar arm with the dynamics
"
#
·
¸
2mrr_ µ_
mr2 0
M(q) =
and V (q; q)
_ =
;
2
0
m
¡mr µ_
…nd
Vm (q; q)
_ =
_
Start by forming M(q);
and note that
V (q; q)
_ =
·
Vm11
Vm12
¡Vm12 Vm22
¸
:
¸
2mr
r
_
0
_
M(q)
=
= Vm + VmT ;
0
0
) 2mr r_ ´ 2Vm11
"
2mrr_µ_
2
¡mrµ_
·
#
=
·
Vm11
Vm12
¡Vm12 Vm22
¸·
µ_
r_
¸
= Vm (q; q)
_ q_
Given this, we can try
Vm11 = mrr_
) 2mr r_ µ_ = mr r_ µ_ + Vm12r_
_
) Vm12 = mrµ:
We can now …nd Vm22 ; since
¡mr µ_
Therefore,
2
2
= ¡mrµ_ + Vm22 r_
) Vm22 = 0:
Vm (q; q)
_ =
·
mrr_
mrµ_
¡mr µ_ 0
¸
:
Note: Since S(q; q)
_ ´ M_ (q) ¡ 2Vm (q; q)
_ is skew-symmetric
) xT Sx = 0:
Homework: Find Vm (q; q)
_ for the 2-link revolute robot discussed previously.
2.4.1.3
Gravity Vector
The gravity vector can always be upper bounded, as
kG(q)k · gmax :
Example: Consider a 2-link Revolute Arm, where
·
¸
(m1 + m2)gl1 cos µ1 + m2 gl2 cos(µ1 + µ2 )
G(q) =
:
m2 gl2 cos(µ1 + µ2 )
Given this, we can state that
kG(q)k1 = j(m1 + m2 )gl1 cos µ1 + m2 gl2 cos(µ1 + µ2 )j + jm2 gl2 cos(µ1 + µ2 )j
· (m1 + m2 )gl1 + 2m2 gl2 ´ gmax :
Note: For prismatic systems, gmax may be a function of q; i.e., gmax (q):
35
2.4.1.4
Friction Terms
We will make the following assumptions about the nature of the friction terms.
In general, friction is very di¢cult to model accurately.
i) F (q)
_ = Fv q_ + Fs (q);
_ where Fv = diag ffvi g and Fs = diag ffsi g sign (q)
_ ; and fvi
and fsi are coe¢cients of dynamic and static friction, respectively.
ii) kF (q)k
_ = kFv q_ + Fs (q)k
_ · fv max kqk
_ + fs max :
Note: Friction is a local e¤ect with no inter-joint dependency.
2.4.1.5
Disturbance Terms
We will assume any disturbance terms (e.g., unmodeled dynamics, noise, etc.) can
be upper bounded as
kTd (q; q)k
_ · Td max :
2.4.1.6
Linearity in the Parameters
The robot dynamics can be written as a linear combination of parameters and
state-related functions, as shown
M(q)Ä
q + N(q; q)
_ = W (q; q;
_ qÄ)©;
where (i) © is a vector is robot parameters (which may be either known or unknown) and (ii) W (q; q;
_ qÄ) is a matrix(vector) of known robot functions, often
referred to as the regressor matrix. This allows us to express the robot dynamics
as
W (q; q;
_ qÄ)© = ¿ :
2.4.2
Computed Torque (CT) Control
Assume that the robot dynamics are given by
¿ = M(q)Ä
q + N(q; q);
_
(2.1)
where N(q; q)
_ ´ Vm (q; q)
_ q_ + F (q; q)
_ + G(q): And suppose that a desired robot
trajectory,
q
(t);
is
selected
such
that
it is third-order di¤erentiable (i.e., q_d ; qÄd
d
:::
and q d all exist).
We can now de…ne a trajectory tracking error as
e(t) = qd (t) ¡ q(t);
) e(t)
_ = q_d (t) ¡ q(t);
_
) eÄ(t) = qÄd (t) ¡ qÄ(t); etc.
(2.2)
Given this, we can de…ne a feedback linearizing (i.e., computed torque) controller
for the dynamics of (2.1), as shown
¿ c = M (q)u(t) + N(q; q);
_
(2.3)
where u(t) is an auxiliary linear controller.
36
Substituting (2.3) into (2.1) yields
qÄ = u(t):
(2.4)
We are now free to de…ne u(t) however we wish. If we choose to de…ne u as a
proportional-derivative (PD) controller with a feedforward term
u(t) = qÄd + Kv e_ + Kp e;
(2.5)
where Kv ; Kp 2 Rn£n are constant PD diagonal gain matrices, then substituting
(2.5) into (2.4) yields
eÄ + Kv e_ + Kp e = 0:
(2.6)
Since Kv and Kp are diagonal, we can write
eÄi + Kvi e_i + Kpi ei = 0:
(2.7)
Given this, standard linear systems arguments can be used to show that
lim e_ i ; ei
t!1
= 0
)
error system is GAS.
Note: Given equation (2.7), we can state more than just GAS, we can claim GES.
Why?
Homework: Solve (2.7) in terms of the ICs ei (0) and e_i (0); and show that
error system is GES when
2
Kvi
= 4Kpi :
Note: CT control requires exact model knowledge, full-state feedback and possibly heavy computation.
Note: The stability of the system may also be shown using Lyapunov techniques
by letting
V (x; t) = xT P x;
£
¤T
where x = e e_
2 R2n and P is a constant PD matrix. Given this,
V_ (x; t) = x_ T P x + xT P x:
_
Under CT control, the system error dynamics can be written in a state space
form using (2.6), as shown
e_ = x_ 1 = x2 ;
eÄ = x_ 2 = ¡Kv e_ ¡ Kp e = ¡Kpx1 ¡ Kv x2 ;
·
¸ ·
¸·
¸
x_ 1
0n
In
x1
) x_ =
=
´ Ax:
x_ 2
¡Kp ¡Kv
x2
Substituting x_ into the RHS of V_ above, we obtain
V_ (x; t) = ¡xT Qx;
37
where Q = ¡(AT P + P A): To show stability of the error system, we can let
Q = I2n ; and solve for P: If we can show that P is PD (using techniques
such as the Gershgorin Theorem), then V (x; t) is a Lyapunov function for
the system ) the system is GUAS at x¤ = 0 by Theorem 3.3
)
lim x = 0;
t!1
)
t!1
)
t!1
lim e; e_ = 0;
lim q(t) = qd (t) and lim q(t)
_ = q_d (t):
t!1
A nice result!
2.4.3
Approximated Computed Torque (ACT) Control
Assume the robot dynamics and tracking error of (2.1) and (2.2), respectively.
Let ¿ c be de…ned as
^ u(t) + N;
^
¿c = M
(2.8)
where u(t) is an auxiliary linear controller, and the “hat” terms are …xed estimates
of the actual quantities. We shall once again de…ned u as a PD controller with
feedforward term as in (2.5). Substituting (2.5) into (2.8) yields the controller
^ (Ä
^
¿c = M
qd + Kv e_ + Kp e) + N
^ (Ä
^ +M
^ qÄ:
= M
e + Kv e_ + Kpe) + N
(2.9)
Substituting (2.9) into (2.1) yields
^ (Ä
^ +M
^ qÄ = M qÄ + N;
M
e + Kv e_ + Kp e) + N
)
(2.10)
h
³
´i
¡1
^
^
^
eÄ + Kv e_ + Kp e = M
(M qÄ + N) ¡ M qÄ + (2.11)
N :
We now make use of the linear parameterization property of the robot dynamics, which states
¿ = M qÄ + N = W (q; q;
_ qÄ)©;
where W 2 Rn£r and © 2 Rr£1 ; to rewrite (2.11) as shown
h
i
¡1
^
^
^ ¡1 W ©;
~
eÄ + Kv e_ + Kp e = M
W© ¡ W© = M
(2.12)
~ is a parameter estimate error vector, de…ned as ©
~ ´ © ¡ ©:
^
where ©
~ = 0 ) eÄ + Kv e_ + Kp e = 0: This is the same error dynamics
Note: When ©
obtained under CT control ) the error system is GES (as shown previously).
~ 6= 0; then it is very di¢cult to analyze the behavior of the system
Note: If ©
even if Kv and Kp are selected to yield good stability of the LHS of (2.12),
due to the presence of the time-varying estimate error on the RHS of (2.12).
Note: ACT control is less restrictive than CT control, since you do not need to
know exact knowledge of the system parameters (only …xed estimates). This
simplicity, however, comes at the cost of a weaker stability result.
38
Example: Consider a single-link, planar robot of mass, m; and length, l; with
displacement, q; and input torque, ¿; whose dynamics are given by
¿ = ml2qÄ + bq_ + mgl sin(q):
Assume the coe¢cients of gravity, g; and the link length, l; are known exactly. This implies that system dynamics can be linearly parameterized in
terms of the unknown parameters as shown
·
¸
£ 2
¤ m
= W (q; q;
_ qÄ)©;
¿ = l qÄ + +gl sin(q) q_
b
where W 2 R1£2 and © 2 R2£1 : Under ACT control, the closed-loop system
dynamics become
µ ¶h
i
¡
¢
1
eÄ + kv e_ + kp e =
m
~ l2 qÄ + +gl sin(q) + ~bq_ :
m
^
The e¤ects of a parameter estimate error look like time-varying disturbances
to an otherwise stable linear system.
Question: Is it possible to use linear systems theory to claim that the above
system is BIBO stable, with e(t) as the system output and the RHS as
the system input?
2.4.4
PD Plus Gravity (PD+G) Control
PD+G control yields a nice stability result in exchange for exact knowledge of the
system’s gravity vector only. A PD+G can be viewed as a form of ACT control
with the following …xed estimate de…nitions
^ ´ In and N
^ ´ G(q):
M
This results in a controller of the form
¿ c = Kv e_ + Kp e + G(q);
(2.13)
as shown in Professor Schilling’s book, Fundamentals of Robotics, Prentice Hall,
1990.
Note: PD+G control is much easier to implement than full blown CT control
because it requires less on-line computation. This advantage comes at the
expense a reduced tracking capability, i.e., PD+G can only guarantee stable
set-point tracking in systems without friction.
Example: Show that PD+G control yields “good” set-point tracking (i.e., q_d = 0)
in frictionless systems.
Proof: If we ignore the friction terms in (2.1), the robot dynamics are given
by
¿ = M(q)Ä
q + Vm (q; q)
_ q_ + G(q):
(2.14)
39
When q_d = 0 (i.e., set-point tracking), the PD+G control of (2.13)
yields the following closed-loop dynamics
M(q)Ä
q + Vm (q; q)
_ q_ + Kv q_ ¡ Kp e = 0:
(2.15)
If we select a Lyapunov function candidate
V =
¢
1¡ T
q_ M q_ + eT Kp e ;
2
we can di¤erentiate V along the state trajectory to obtain
µ
¶
1
T
V_ = q_ M qÄ + M_ q_ ¡ Kp e :
2
(2.16)
(2.17)
Note: Since q_d = 0 ) e_ = ¡q:
_
Substitute the closed-loop dynamics of (2.15) into (2.17) to obtain
µ
¶
1 _
T
_
V = q_
M ¡ Vm q_ ¡ q_T Kv q;
_
(2.18)
2
and use the skew-symmetric property of the robot dynamics to simplify
the expression
V_ = ¡q_T Kv q:
_
(2.19)
£
¤T
2 R2 ) V is
To show stability of the closed-loop system, let x = q_ e
PD, but V_ is only NSD (i.e., because it does not contain the full state).
Therefore, we can only say that the system is stable in the sense of
Lyapunov (i.e., q_ and e are bounded). We may, however, be able to
apply Barbalat’s Lemma to obtain a stronger stability result.
Since V is PD it is lower bounded by zero. In addition, we also have that
V_
= ¡q_T Kv q_ · 0
)
lim V = V1 (By Lemma B.1)
t!1
lim q_ = q_1 and lim e = e1 .
)
t!1
t!1
(2.20)
In order to apply Lemma B.2, we must also show that VÄ is bounded.
We can calculate VÄ from V_ as shown
VÄ = ¡q_T Kv qÄ:
Substituting qÄ from (2.15) into the above expression yields
VÄ = ¡q_T Kv M ¡1(q) [Kp e ¡ Kv q_ ¡ Vm (q; q)
_ q]
_ :
(2.21)
Given Property (ii) of the Inertia Matrix (i.e., M (q) upper and lower
bounded), we can state that
1
mmax
In · M ¡1 (q) ·
1
In ;
mmin
(2.22)
40
where
mmin = ¸min fM(q)g ; over all q
mmax = ¸max fM (q)g ; over all q:
Given (2.20) and (2.22), we can use (2.21) to state that VÄ is bounded,
i.e.,
lim VÄ = VÄ1 :
t!1
Therefore, by applying Lemma B.2 to V , we can state that
lim V_
t!1
= 0;
)
lim q_ = q_1 = 0:
t!1
This is a stronger result because it tells us that the actual robot velocity
approaches the desired set-point velocity. In addition, when q_ = 0
equation (2.15) yields
¯
qÄ(t) = M ¡1 (q1 ) [Kp e1 ¡ Kv q_1 ¡ Vm (q1 ; q_1 )q_1 ]¯q_1=0
= M ¡1 (q1 )Kp e:
Therefore, a nonzero e(t) results in a nonzero qÄ(t); and hence, in q_ 6=
0n (a contradiction!).
¯
o Given this, the only invariant set contained in
¯_
_ !
x(t) ¯V (x; t) = 0 is x(t) = 0: This implies that both e(t) and q(t)
0 as t ! 1:
Note: The stability analysis required us to neglect friction terms and assume set-point moves of the robot. If q_d (t) 6= 0; it can be shown that
PD+G control guarantees only a bounded tracking error. It should be
noted, however, that the error bound is inversely proportional to the
PD gains (i.e., the larger the control gains the smaller the error).
2.4.5
Adaptive Computed Torque (AdCT) Control
~ = 0 (i.e., exact parameter
Approximate CT control yields a nice stability when ©
~
knowledge), but this result is lost when © = 0:
^ is dynamHeuristically, one would expect better tracking performance if ©
ically adjusted (i.e., as the robot moves), in response to the measured system
performance (i.e., via an update law).
Question: How do we formulate this update law?
Answer: Use the stability analysis as a guide.
2.4.5.1
Establish the Error System
The …rst step is to formulate the tracking error system. Given the robot dynamics
of (2.1) in LP form
¿ = M(q)Ä
q + Vm (q; q)
_ q_ + F (q; q)
_ + G(q) = W (q; q;
_ qÄ)©;
(2.23)
41
the following ACT-like controller was proposed by Craig
^ (q) (Ä
^
¿c = M
qd + Kv e_ + Kpe) + V^m (q; q)
_ q_ + F^ (q)
_ + G(q):
(2.24)
For convenience, the proposed controller can be rewritten as
^ (q) (Ä
^ (q)Ä
^
¿c = M
e + Kv e_ + Kp e) + M
q + V^m (q; q)
_ q_ + F^ (q)
_ + G(q);
or alternately
^
^
¿ c = M(q)
(Ä
e + Kv e_ + Kp e) + W (q; q;
_ qÄ)©:
(2.25)
(2.26)
Substituting (2.26) into (2.23) yields
^ ¡1 (q)W (q; q;
~
eÄ + Kv e_ + Kpe = M
_ qÄ)©;
(2.27)
~ = © ¡ ©;
^ as before. For convenience, we can rewrite the error system of
where ©
(2.27) in state space form
^ ¡1(q)W (q; q;
~
x_ = Ax + B M
_ qÄ)©;
where
·
e
e_
(2.28)
¸
2 R2n ;
·
¸
0n
B =
2 R2n£n ; and
In
·
¸
0n
In
A =
2 R2n£2n :
¡Kp ¡Kv
x =
2.4.5.2
Lyapunov-like Stability Analysis
Given the error system above, we can perform a Lyapunov stability analysis to
^ 2 Rr : To begin,
show that x is GUAS with the proper choice of update law for ©
we select the following Lyapunov-like function
~ T ¡¡1©;
~
V = xT P x + ©
(2.29)
where P 2 R2n£2n is a constant PD symmetric matrix, ¡ 2 Rr£r is a constant PD
diagonal matrix de…ned as
¡ = diag(° 1; ° 2 ; ¢ ¢ ¢ ; ° r ); with ° i > 0:
Di¤erentiating V with respect to time along the state trajectory yields
:
~ T ¡¡1 ©;
~
V_ = xT P x_ + x_ T P x + 2©
(2.30)
where the fact that ¡ = ¡T has been used
¸T
· : T
:
¡1 ~
~ T ¡¡1 ©:
~
~
) © ¡ © =©
Substituting x_ from (2.28) into (2.30) yields
³
´ ³
´T
:
^ ¡1 (q)W (q; q;
~ + Ax + B M
^ ¡1 (q)W (q; q;
~ P x+2©
~ T ¡¡1 ©
~:
V_ = xT P Ax + B M
_ qÄ)©
_ qÄ)©
(2.31)
42
Combining terms and using the fact that the transpose of a scalar is equal to itself,
we obtain
µ
¶
:
T
T
¡1 ~
T
¡1
T
_
~
^
V = ¡x Qx + 2© ¡ © +W (q; q;
_ qÄ)M (q)B P x ;
(2.32)
¡
¢
where Q 2 R2n£2n is a constant PD symmetric matrix, de…ned as Q = ¡ AT P + P A :
:
~
Note, the only unde…ned term in (2.32) is ©; the adaptive update law.
2.4.5.3
Update Law Selection
For GUAS stability of the system,: we must have V PD and V_ at least NSD. Note,
~ such that the second term of the RHS of (2.32)
we can make V_ NSD if we de…ne ©
is zero
:
~ ¡¡W T (q; q;
^ ¡1(q)B T P x:
) ©=
_ qÄ)M
(2.33)
Substituting (2.33) into (2.32), we obtain
V_ = ¡xT Qx:
(2.34)
Note: Given (2.34), why is V_ only NSD?
:
:
:
~ ©¡
_ ©=
^ ¡©
^
Note: De…nition (2.33) provides the adaptive update law, since ©=
:
^ ¡W T (q; q;
^ ¡1 (q)B T P x:
) ©=
_ qÄ)M
2.4.5.4
(2.35)
Detailed Stability Analysis
So far we have shown that the AdCT controller of (2.24) with the adaptive update
law of (2.35) yields a V which is PD and a V_ which is NSD. How can we show
that the tracking error is GUAS for this system?
To begin, since V_ is NSD and V is lower bounded by zero (being PD) we can
apply Lemma B.1 to state
lim V = V1 (i.e., V is upper bounded).
t!1
Since V is UB, we can use (2.29) to state that
~ =©
~ 1 (i.e., both x and ©
~ are bounded).
lim x = x1 and lim ©
t!1
t!1
Assuming that the desired trajectory and is derivatives are bounded, as well as
^ are
the system parameters (all reasonable assumptions), we have that q; q_ and ©
all bounded. Given this, we can use the robot dynamics of (2.23) to write
qÄ = M ¡1 (q) [¿ ¡ Vm (q; q)
_ q_ ¡ F (q; q)
_ ¡ G(q)] ;
^
) qÄ is bounded (since ¿ depends only on q; q_ and ©):
We can now use the error system of (2.28) to show that x_ is bounded, and then
(2.34) to show that VÄ is bounded. At this point we can summarize our results
V is LB by zero,
V_ is NSD, and
VÄ is bounded;
43
therefore, we can apply Barbalat’s Lemma (B.2) to state that
lim V_ = 0:
t!1
Given this, we can apply the Rayleigh-Ritz Theorem to state that
lim ¸min fQg kxk2 = 0;
t!1
)
lim x = 0:
t!1
Given this, we can state that x¤ = 0 is GUAS.
~ Does it converge to zero? (i.e., Do the dynamic
Question: What about ©?
parameter estimates converge to their actual values?)
Answer: From the stability analysis, all we can say about the parameter estimate
~ is that it is bounded if M
^ ¡1(q) exists. This places a restriction on the
error ©
parameter update law of (2.35) ) some form of parameter resetting must
^ ¡1 to explode.
be used to guarantee that poor estimates do not cause M
Note: Methods to do this which do not a¤ect the stability analysis are presented
in the text “Adaptive Control of Mechanical Manipulators,” by J. Craig.
Note: A major disadvantage associated with this adaptive approach is the control need for acceleration measurements located in the regressor matrix
W (q; q;
_ qÄ): Although becoming more common on the market now (for use in
automotive air bags, etc.), these signals tend to be fairly noisy for control
purposes.
Example: Assume a robotic system of the form
¿ = ml2qÄ + bq_ + mlg sin(q);
where m and b are unknown parameters. Under the AdCT control strategy,
the torque input would be de…ned as
¿ c = ml
^ 2 (Ä
qd + kv e_ + kpe) + ^bq_ + mlg
^ sin(q);
with the tracking error de…ned as
e = qd ¡ q:
We can form the following LP from the system dynamics
·
¸
£ 2
¤ m
¿ = W (q; q;
_ qÄ)© = l qÄ + lg sin(q) q_
:
b
Note: There is only one link in this case () n = 1).
Given the above LP, we can write the controller as follows
^
¿ c = W (q; q;
_ qÄ)©;
^
where M(q)
= ml
^ 2:
44
The adaptive update law is now given as
:
^ ¡W T M
^ ¡1 B T P x;
©=
where
x=
·
e
e_
¸
; ¡=
·
°1 0
0 °2
¸
; B=
·
0
1
¸
; and P =
·
p11 p12
p12 p22
¸
> 0:
Reducing the RHS of the update law and writing it element by element,
yields
2
3
2
" : #
°
(l
q
Ä
+
lg
sin(q))
(p
e
+
p
e)
_
11
12
1
:
m
^
6
7
^
ml
^ 2
:
©=
=4
5:
° 2q_ (p12 e + p22e)
_
^b
ml
^ 2
Note: In order to implement this update law, you would need to use the
following expressions
m(t)
^
=
^b(t) =
Zt
0
Zt
0
¸
Zt ·
° 1 (l2qÄ + lg sin(q)) (p11 e + p12 e)
_
m
^ (t)dt =
dt;
ml
^ 2
:
0
:
Zt
^b (t)dt =
0
·
¸
° 2 q_ (p12e + p22 e)
_
dt:
ml
^ 2
To perform this on-line on a digital computer, requires some form of
numerical integration routine (e.g., trapezoidal rule, runge-kutta, etc.).
Note: We still need to choose p11; p12 and p22 to ensure system stability
(i.e., so that P and Q are PD). If we select P as
·
¸
1 kp + 12 kv 12
P =
;
1
1
2
2
then
T
Q = ¡(A P + P A) =
·
1
k
2 p
0
0
kv ¡
1
2
¸
:
Now, if we select kp > 0 and kv > 1; then P and Q are PD (note, this
is only a su¢cient condition which can be checked using Gershgorin
Theorem). This gives us a feel for the range of stable gains!
2.4.6
Adaptive Inertia Related (AIR) Controller
We have already seen that a conservation of energy based Lyapunov function
yields a nice stability result for the PD+G controller. It would be nice if we could
extend this result in the following ways: (i) eliminate the need for knowledge of
the gravity terms in G(q); (ii) eliminate the need to neglect friction terms F (q)
_ ;
and (iii) ensure trajectory tracking, not just set-point tracking.
As in the case of Craig’s AdCT controller, an improved adaptive control design
can be accomplished using the stability analysis as a guide.
45
2.4.6.1
Lyapunov-like Stability Analysis
To begin, Slotine choose the following inertia-related Lyapunov function
1
1 ~ T ¡1 ~
V = r T M(q)r + ©
¡ ©;
2
2
(2.36)
~ = © ¡ ©;
^ ¡ 2 Rr£r is a diagonal PD matrix, and r is a …ltered version of
where ©
the tracking error de…ned as
r = e_ + ¤e;
(2.37)
with ¤ 2 Rn£n a diagonal PD matrix and e = qd ¡ q:
Note: Using this de…nition of r; it is possible to write the second-order robot
dynamics in terms of a …rst-order di¤erential equation. This reduces the
order of the resulting error dynamics (a side bene…t).
Di¤erentiating (2.36) with respect to time yields
:
1
~ T ¡¡1 ©
~:
V_ = r T M(q)r_ + rT M_ (q)r + ©
2
(2.38)
If the standard robot are assumed
¿ = M(q)Ä
q + Vm (q; q)
_ q_ + F (q; q)
_ + G(q);
(2.39)
then we can write the dynamics in terms of the …ltered tracking error, as shown
M(q)r_ = Y (q; q)©
_ ¡ ¿ ¡ Vm (q; q)r;
_
(2.40)
where Y 2 Rn£r is a regressor matrix and © 2 Rr£1 is an unknown parameter
vector of the form
Y (q; q)©
_ = M (q) (Ä
qd + ¤e)
_ + Vm (q; q)
_ (q_d + ¤e) + F (q; q)
_ + G(q):
(2.41)
Note: Using this approach, Y is only a function of q; q;
_ and the desired trajectory
) no acceleration measurements are need. An improvement over AdCT
control!
Substituting (2.40) into (2.38) yields
µ
¶
:
1
T
T
T ¡1 ~
_
_
~
V = r (Y (q; q)©
_ ¡ ¿) + r
M (q) ¡ Vm (q; q)
_ r+© ¡ ©:
2
(2.42)
Applying the skew-symmetric property to the middle term in the above expression
yields
:
T
T ¡1 ~
_
~
V = r (Y (q; q)©
_ ¡ ¿) + © ¡ © :
(2.43)
We now use the stability analysis to guide us on our choice of ¿ c ;
^ + Kv r:
¿ c = Y (q; q)
_©
Substituting (2.44) into (2.43) and rewriting algebraically, we obtain
µ
¶
:
T
T
¡1 ~
T
_
~
V = ¡r Kv r + © ¡ © +Y (q; q)r
_
:
(2.44)
(2.45)
46
We can force V_ to be at least NSD by choosing the adaptive update law as follows
:
:
^ ¡ ©=
~ ¡Y T (q; q)r:
©=
_
(2.46)
Substituting (2.46) into (2.45) yields
V_ = ¡rT Kv r:
(2.47)
^ as
Note: Given (2.46), we can compute ©
^ =
©
Zt
¡Y T (q; q)rdt;
_
0
)
¿ c = Y (q; q)
_
Zt
¡Y T (q; q)rdt
_
+ Kv r:
0
:
~ such that the last term on
Question: Why didn’t we make V_ ND by selecting ©
:
³
´
~T©
~ ) ©=
~ ¡¡ Y T (q; q)r
~ ?
the RHS of (2.45) resulted in something like ¡©
_ +©
Answer: This adaptive update law results in a controller of the form
¿ c = Y (q; q)
_
Zt
0
³
³
´´
^ dt + Kv r;
¡ Y T (q; q)r
_ + ©¡©
which is not possible to implement because it requires knowledge of © (i.e.,
the unknown parameters).
2.4.6.2
Detailed Stability Proof
Thus far, we know that V is LB and that V_ is NSD. (How do we know this?) Can
we show that VÄ is bounded? (Allowing us to apply Barbalat’s Lemma).
Since V is LB and V_ is NSD, we know from Lemma B.1 that V converges (i.e.,
and is UB). Since V is UB and M(q) is PD, we can use (2.36) to show that r and
~ are bounded. From (2.37), i.e., the de…nition of r; we can use standard linear
©
control arguments to state that both e and e;
_ and hence q and q;
_ are bounded.
(Why?)
~ are all bounded, we can use (2.40) and (2.44) to show
Given that e; e;
_ r and ©
that r_ is bounded. From (2.47), we know that VÄ = ¡2rT Kv r:
_ Given that r and r_
Ä
are bounded, we can therefore state that V is also bounded. Thus, we have shown
that under the proposed AIR controller
V is LB,
V_ is NSD, and
VÄ is bounded;
therefore, we can apply Barbalat’s Lemma to state that
lim V_ = 0;
t!1
47
which, according to Rayleigh-Ritz Theorem, implies that
lim ¸min fKv g krk2 = 0;
t!1
)
lim r = 0:
t!1
This result tells us that the …ltered tracking error, r; is GUAS. This is a nice
result, but could be better. (Why?)
Note: The de…nition of r can be viewed as a stable linear …lter, H(s); of the
form
H(s) =
e(s)
= (sIn + ¤)¡1;
r(s)
where r(t) is the …lter input and e(t) is the …lter output. Since ¤ 2 Rn£n is
a diagonal PD matrix by de…nition, we know that all of the …lter’s
eigenvalues are in the open left-half plane ) …lter has BIBO stability.
Therefore, we can apply standard linear control arguments to show that if
r is GUAS, then both e and e_ are GUAS
)
lim e; e_ = 0:
t!1
A nice result on the tracking!
~
Question: What can we say about the parameter error ©?
Answer: For now, only that it is bounded. Later, we will show that the parameter
error converges to zero under certain conditions related to the harmonic
content of the desired trajectory.
Homework: Using the system dynamics described in the AdCT controller example, design an AIR controller providing speci…c values for the control gains
Kv and ¤ and prove that the resulting tracking error is GUAS.
2.4.7
2.4.7.1
Passivity Based Controllers
Introduction
Consider an nth order, single-input, single-output rational transfer function of the
form
bm sm + bm¡1 sm¡1 + ¢ ¢ ¢ + b0
H(s) =
;
sn + an¡1 sn¡1 + ¢ ¢ ¢ + a0
where the coe¢cients of the numerator and denominator are real numbers and
n ¸ m:
De…nition P1: The di¤erence between the order of the numerator and denominator, i.e., n ¡ m; is called the relative degree of the transfer function.
De…nition P2: A transfer function, H(s); is positive real (PR) if
Re fH(s)g ¸ 0 8 Re fsg ¸ 0:
48
De…nition P3: A transfer function H(s) is strictly positive real (SPR) if
i) H(s) is stable, and
ii) Re fH(j!)g > 0 8 ! ¸ 0:
De…nition P3 (Alternate): A transfer function H(s) is strictly positive real
(SPR) if H(s ¡ ²) is PR for some ² > 0:
1
; with ¸ > 0 where s = ¾ + j!:
s+¸
(¾ + ¸) ¡ j!
1
=
:
) H(s)js=¾+j! =
(¾ + ¸) + j!
(¾ + ¸)2 + ! 2
Example: Consider, H(s) =
It is clear that Re fH(s)g ¸ 0 if ¾ = Re fsg ¸ 0 ) H(s) is PR. It is also
¸
easy to show that H(s) is SPR by selecting ² =
2
µ
¶
¸
¾+
¡ j!
2
) H(s ¡ ²) = µ
;
¶2
¸
¾+
+ !2
2
) H(s ¡ ²) is PR.
Note: The basic di¤erence between PR and SPR functions is that PR functions
may have poles on the j!-axis while SPR functions can not.
De…nition P4: A polynomial in s is called monic if the highest power of s is
unity.
De…nition P5: A polynomial in s is called Hurwitz if its roots lie in the open
left-half plane only (not including the j!-axis).
De…nition P6: A rational transfer functions is called stable if the denominator
polynomial is Hurwitz.
De…nition P7: A rational transfer functions is called minimum phase if the numerator polynomial is Hurwitz.
De…nition P8: A rational transfer functions is called proper if its relative degree
is at least 0.
De…nition P9: A rational transfer function is called strictly proper if its relative
degree is at least 1.
Question: State whether or not each of the following transfer functions is stable,
minimum phase, proper or strictly proper:
(s + 1)(s + 2)
;
(s + 3)
(s + 1)(s ¡ 2)
H2(s) =
;
(s + 3)(s + 4)
(s + 1)(s + 2)
H3(s) =
:
(s + 3)(s + 4)(s ¡ 1)
H1(s) =
49
Answer: H1 is stable and minimum phase, but not proper. H2 is stable and
proper, but not minimum phase. H3 is minimum phase and strictly proper,
but not stable.
2.4.7.2
The Passivity Formulation
We have seen how Lyapunov functions can be viewed as energy functions related
to system stability. Therefore, we would expect Lyapunov functions to be additive
(i.e., the Lyapunov functions of individual subsystems can be combined to produce
a Lyapunov function for the whole system).
Passivity theory formalizes this notion and allows us to construct Lyapunovlike functions for feedback control purposes.
De…nition P10: Consider a system that has an equal number of inputs, u(t);
and outputs, y(t): The system is said to be passive if
ZT
yT (t)u(t)dt ¸ °; 8 …nite T > 0 and some ° > ¡1:
(2.48)
0
Note: A passive system is a system whose interconnecting parts either dissipate
or do not create energy.
2.4.7.3
The Passive Adaptive Controller
Assume the standard robot dynamics and de…ne an auxiliary tracking error variable of the form
r(s) = H ¡1 (s)e(s);
(2.49)
where e(t) is the standard tracking error and
·
¸
K(s)
¡1
H (s) = sIn +
;
s
(2.50)
with s the Laplace transform variable and K(s) 2 Rn£n is a gain matrix chosen
such that H(s) is a strictly proper, stable transfer function matrix.
We shall use (2.49) and (2.50) to de…ne a LP of the robot dynamics, as shown
µ
¶
K(s)e
+ F (q)
_ + G(q); (2.51)
Z(q; q)©
_ = M (q) (Ä
qd + K(s)e) + Vm (q; q)
_ q_d +
s
where Z(q; q)
_ 2 Rn£r is a known regressor matrix and © 2 Rr£1 is an unknown
parameter vector.
A passivity-based adaptive update rule (i.e., so-called passivity integral) can
now be de…ned as
Zt
~
¡r T (¾)Z(¾)©(¾)d¾
¸ ¡°; 8 t; ° > 0:
(2.52)
0
50
Note: K(s)e in the above expression is an abuse of notation used to represent
K(t) ¤ e(t)
in the time domain.
Note: It is possible to select K(s) such that Z(q; q)
_ and r do not depend on
measurements of qÄ: This will occur if K(s) is selected such that the resulting
H(s) has a relative degree of one.
Note: This control formulation is called a passivity approach because the mapping of
~
¡r ! Z(q; q)
_©
is constructed to be a passive mapping.
The passivity formulation is then used to analyze the stability of the error
system, but …rst let’s illustrate its use in generating an adaptive update law.
Example Adaptive Update Law Using Passivity: Show that the adaptive
update law
:
:
~ ¡ ©=
^ ¡¡Z T (q; q)r;
©=
_
(2.53)
satis…es the inequality of (2.52) with ¡ de…ned as ¡ = diag(° 1 ; ¢ ¢ ¢ ; ° r ) where
° i > 0:
We begin by using the fact that ¡ is diagonal to rewrite (2.53) as shown
:T
~ ¡¡1 = ¡rT Z(q; q):
©
_
(2.54)
Substitute (2.54) into (2.52) to obtain
Zt
:T
~ ¡¡1©(¾)d¾
~
©
¸ ¡°:
(2.55)
0
Since ¡ is a constant matrix, we can use the product rule to rewrite (2.55)
as
Zt
o
1
d n~T
¡1 ~
© (¾)¡ ©(¾) d¾ ¸ ¡°;
2
d¾
0
or
1 ~T
~ ¡ 1©
~
~ T (0)¡¡1 ©(0)
© (t)¡¡1 ©(t)
¸ ¡°:
2
2
From (2.56), it is now obvious that if ° is selected as
(2.56)
1 ~T
~
°= ©
(0)¡¡1 ©(0);
2
then the passivity integral of (2.52) is satis…ed for the update rule of (2.53).
51
2.4.7.4
Controller Development
Now that we have a feel for how the passivity integral of (2.52) can be used to
generate adaptive update laws, we use the concept of passivity to analyze the
system stability for a class of adaptive controllers of the form
^ + Kv r:
¿ c = Z(q; q)
_©
(2.57)
Note: Many di¤erent controllers can be generated using (2.57) by selecting different functions for K (s) in the de…nition of r; i.e., see equations (2.49)
and (2.50) ) Di¤erent K(s) produce di¤erent feedback paths due to the
presence of r in (2.57).
To form the closed-loop error system under ¿ c of (2.57), we rewrite the standard
robot dynamics in terms of r and Z(q; q);
_ as shown
M (q)r_ = Z(q; q)©
_ ¡ ¿ ¡ Vm (q; q)r:
_
(2.58)
Substituting (2.57) into (2.58) yields
~
M(q)r_ = ¡Kv r ¡ Vm (q; q)r
_ + Z(q; q)
_ ©:
(2.59)
To analyze the stability of the closed-loop system, we use the Lyapunov-like function …rst introduced by Ortega and Spong in 1988
1
V = rT M(q)r + °¡
2
Zt
~
rT (¾)Z(¾)©(¾)d¾
(2.60)
0
Note: V is positive if the parameter update law is designed to satisfy the passivity
integral of (2.52), as shown in the above example.
Di¤erentiating V with respect to time along the state trajectory yields
µ
¶
1 _
T
T
_
~
V = r M(q)r_ + r
M (q) ¡ Vm (q; q)
_ r ¡ r T Z(q; q)
_ ©:
(2.61)
2
Substituting (2.59) into (2.61), and applying the skew-symmetry property yields
V_ = ¡rT Kv r:
2.4.7.5
(2.62)
Detailed Stability Proof
Given (2.62), we can use R.R. Theorem to place an upper bound on V_ as shown
V_ · ¡¸min fKv g krk2 ;
(2.63)
which can be rewritten as
Z1
0
V_ (¾)d¾ · ¡¸min fKv g
Z1
kr(¾)k2 d¾:
(2.64)
0
52
Multiply (2.64) by -1, and integrate the LHS to obtain
V (0) ¡ V (1) ¸ ¸min fKv g
Z1
kr(¾)k2 d¾:
(2.65)
0
Since V_ is NSD by (2.62), we can state that V is nonincreasing and UB by
V (0):
Since M(q) is lowerbounded (due to the PD property of the inertia matrix),
we can state that V of (2.60) is LB (by zero).
Since V is nonincreasing, UB by V (0) and LB by zero, we can rewrite (2.65)
as
Z1
¸min fKv g
kr(¾)k2 d¾ < 1:
(2.66)
0
Given (2.66) we can state
v
uZ1
u
u
t kr(¾)k2 d¾ < 1:
(2.67)
0
De…nition P11: A uniformly continuous, scalar function, fi (t); is said to belong
to the set Lp 8 p 2 [1; 1) if
Z1
jfi (t)jp dt < 1:
0
De…nition P12: A uniformly continuous, scalar function, fi (t); is said to belong
to the set L1 if
sup jfi (t)j · ¯; for …nite ¯:
t2[0;1)
De…nition P13: Let Lnp denote the set of all n £ 1 vectors of scalar functions,
fi (t); belonging to Lp :
De…nition P14: The function norm of f(t) = [f1(t); f2 (t); ¢ ¢ ¢ fi (t); ¢ ¢ ¢ fn (t)]T 2
Lnp is de…ned as
21
3 p1
Z X
n
kfkp = 4
jfi (t)jp dt5 ; 8 p 2 [1; 1);
0 i=1
and
kfk1 = max kfi (t)k1 :
1·i·n
Note: A function norm, kf kp ; is a di¤erent concept than the standard vector
norm, kf(t)kp ; de…ned
kf(t)kp ´
à n
X
i=1
jfi (t)jp
! p1
:
53
T
Example: Let f(t) = [e¡t ; 2e¡2t ; 3e¡3t ] : Using the standard 2-norm de…nition,
we can compute the vector norm of f(t); as shown
p
p
kf(t)k2 = f T (t)f (t) = e¡2t + 4e¡4t + 9e¡6t :
Note: The value of kf (t)k2 is dependent on the time at which it is evaluated.
Since
Z1
0
° ¡t °2
°e ° dt =
1
;
2
Z1
0
¡t
° ¡2t °2
°2e ° dt = 1;
¡2t
) e 2 L2 ; 2e
) f (t) 2 L32 ;
Z1
2 L2 ; 3e
° ¡3t °2
°3e ° dt = 3
2
0
¡3t
2 L2
we can also compute both the function 2-norm of f (t); as shown
v
v
uZ1
uZ1
3
u
u X
p
u
u
2
kfi (t)k dt = t (e¡2t + 4e¡4t + 9e¡6t ) dt = 3:
kf k2 = t
0 i=1
0
Note: The value of kfk2 is not dependent on the time at which it is evaluated.
Homework: Compute the following function norms
£ ¡t
¤T
f(t) =
2 L31 ;
e
¡e¡t ¡ (1 + t)¡2
·
¸T
1
¡t
¡t
e
¡e
f(t) =
2 L32; and
(1 + t)
¸T
·
1
¡t
¡t
e
¡e
2 L31 :
f(t) =
(1 + t)
Note: Given the above de…nitions and (2.67), we can state that r(t) 2 Ln2 : This
is an alternate way of stating that r(t) is bounded in some sense.
Note: An important stability result used to show the stability of the proposed
passivity control formulation is now stated (the proof can be found in the
referenced work).
Theorem [Desoer and Vidyasagar, 1975]: Suppose H(s) is a stable transfer
function with the following input/output relations
e(s) = H(s)r(s);
then:
i) if r(t) 2 Ln2 ; then e(t) 2 Ln2 and e(t)
_ 2 Ln2 :
ii) if lim r(t) = 0; then lim e(t) = 0:
t!1
t!1
iii) if a scalar r(t) 2 L2 ; then lim e(t) = 0:
t!1
54
To establish a GUAS stability result on the tracking error e; we note from
(2.49) that
e(s) = H(s)r(s);
where H(s) is a strictly proper, stable transfer function matrix by de…nition (2.50),
and r(t) 2 Ln2 : This allows us to directly apply part (iii) of the above theorem to
state that lim e(t) = 0:
t!1
Note: In this case, we have not used Barbalat’s Theorem to show that lim r(t) =
t!1
0 and, therefore, that lim e(t) = 0: All we have shown in this case is that
t!1
r(t) 2 Ln2 : As a result, all we can say about the velocity tracking error,
e(t);
_
is that it is bounded, i.e., e(t)
_
2 Ln2 ; by the theorem of Desoer and
Vidyasagar.
Question: Is it possible to apply Barbalat’s Theorem to the passivity control
formulation to show GUAS stability of both e(t) and e(t)?
_
2.4.7.6
Speci…c Examples of the Passivity Formulation
The passivity formulation yields a general class of torque control laws. We now
examine some speci…c examples.
Passivity of the Adaptive Inertia Related Controller: We shall show that
the AIR controller can be derived using passivity concepts by de…ning K(s) =
¤s; where ¤ 2 Rn£n is a diagonal PD matrix
) H(s) = (sIn + ¤)¡1 ) r(s) = (sIn + ¤) e(s) - r(t) = e(t)
_ + ¤e(t):
This yields the control torque
^ + Kv r;
¿ c = Z(q; q)
_©
where
^ = M(q)
^
^
Z(q; q)
_ ©
(Ä
qd + ¤e)
_ + V^m (q; q)
_ (q_d + ¤e) + F^ (q; q)
_ + G(q):
which is identical to the AIR controller proposed by Slotine in (2.44).
Question: For the particular K(s) de…ned above, the passivity formulation
yields the AIR controller originally proposed by Slotine. One may then
wonder if the update law originally proposed for the AIR controller in
(2.46) satis…es the passivity integral de…ned in (2.52).
Answer: Given the choice of K(s) above, the passivity-based adaptive update law of (2.53) yields the same expression originally proposed by
Slotine to update the AIR controller. Therefore, we can state that the
entire AIR controller meets the passivity requirements.
Passivity-based Adaptive PID Controller: The AIR controller is a form of
PD control since e and e_ are used in the feedback portion of the controller.
In this case, we de…ne K(s) to yield a form of Adaptive PID controller
K(s) = ¤s + ª;
55
where ¤; ª 2 Rn£n are both diagonal PD matrices. This yields a strictly
proper, stable transfer function matrix of the form
µ
¶¡1
ª
H(s) = sIn + ¤ +
:
s
Note: Since ¤ and ª are both diagonal matrices by de…nition, the matrix transfer
function H(s) can be decoupled into n subsystems, where the ith subsystem
has the form
¶
µ
Z
s
ª
hi (s) = 2
e(s) - r(t) = e(t)+¤e(t)+ª
_
e(t)dt:
) r(s) = sIn + ¤ +
s + ¸i s + Ã i
s
By applying (2.49) and (2.57), the resulting torque control law takes the form
Z
^
¿ c = Z(q; q)
_ © + Kv e_ + Kp e + KI e(t)dt;
where Kp = Kv ¤ and KI = Kv ª:
Note: The Adaptive PID controller uses the same update law as de…ned for the
PD case above.
Question: What advantages might one expect from the use of an Adaptive PID
controller versus an Adaptive PD controller?
2.4.8
Persistency of Excitation (PE)
Thus far, all of the adaptive controllers proposed provided GUAS stability on the
trajectory tracking error, but only bounded stability on the parameter error. In
general, parameter identi…cation will occur in adaptive systems only if certain conditions are satis…ed on the regression matrix (as noted by Narendra and Anderson
in 1977).
Example: For the AIR controller, we can establish parameter error convergence
if the regression matrix Y (¢) satis…es the following PE condition
t0Z
+¢
®Ir ·
Y T (q(t); q(t);
_
qd (t); q_d (t); qÄd (t))Y (q(t); q(t);
_
qd (t); q_d (t); qÄd (t))dt · ¯Ir ;
t0
(2.68)
8 t0 and scalars ®; ¯; ¢ > 0: Since the tracking error is GUAS, we can
rewrite (2.68) as
t0Z
+¢
®Ir ·
Y T (qd (t); q_d (t); qÄd (t))Y (qd (t); q_d (t); qÄd (t))dt · ¯Ir ;
(2.69)
t0
where q(t) and q(t)
_ have been replaced by qd (t) and q_d (t); respectively.
Note: Condition (2.69) implies that if Y (¢) varies su¢ciently over the time interval ¢ such that the entire r-dimensional space is spanned, then the parameter error will converge to zero.
56
Note: This amounts to a condition on the desired trajectory, such that all parameters (e.g., system payload masses) are identi…ed after a su¢cient learning
interval.
Case Study: We will show lack of PE for a planar one-link robot whose
dynamics are given by
¿ = M qÄ + B q;
_
(2.70)
where M and B are unknown parameters. The AIR controller for these
dynamics is given by
^ + Y12 B
^ + kv e_ + kpe;
¿ c = Y11 M
(2.71)
where kp = kv ¸ and the regressor matrix is given by
£
¤
Y (q; q;
_ qd ; q_d ; qÄd ) = qÄd + ¸e_ q_ ;
(2.72)
and corresponding parameter estimate vector is
·
¸
^
M
^=
©
^ :
B
(2.73)
We can formulate the adaptive update rule as shown previously to be
:
^ = ° 1Y11 (e_ + ¸e) ; and
M
(2.74)
:
^ = ° 2Y12 (e_ + ¸e) :
B
Given the AIR controller for this system, we want to show that a speci…c
desired trajectory is not PE. Let’s choose the desired trajectory as
qd = 1 ¡ e¡2t : Once the tracking error transients have died out, we can
evaluate the integrand of the PE condition of (2.69) as
· 2
¸
qÄd q_d qÄd
T
Y Y =
:
(2.75)
q_d qÄd q_d2
Substituting the desired trajectory into (2.75) yields
·
¸
16e¡4t ¡8e¡4t
T
Y Y =
:
¡8e¡4t 4e¡4t
Now, multiply the …rst column of the above expression by
it to the second column to obtain
¸
·
16e¡4t 0
Ryy =
:
¡8e¡4t 0
(2.76)
1
2
and add
(2.77)
Since Y T Y has the same range space as Ryy ; it is easy to see from (2.77)
that range space of Y T Y is one dimensional ) the PE condition does
not hold for the proposed desired trajectory ) the parameter estimate
errors will not converge for the desired trajectory.
Homework: Given the AIR controller of the previous example with M = 1;
^
B = 1; kv = 10; ¸ = 2:5; ° 1 = ° 2 = 20; the ICs q(0) = q(0)
_
= M(0)
=
^
B(0)
= 0; and the desired trajectory qd (t) = sin(t); simulate the system
using a numerical integration package, such as Simnon, and plot the
~ and B
~ versus time. Repeat the process using the
results of e; e;
_ M
following desired trajectory qd (t) = sin(t) + cos(3t): What can you say
about the trajectory tracking error and parameter identi…cation in each
case?
57
2.4.9
Composite Adaptive Control
It has been shown that the parameter error converges to zero under a PE condition.
In may applications, it may not be practical to utilize PE trajectories, but we
may still want parameter convergence.
Therefore we must redesign the controller to achieve both stable trajectory
tracking and parameter identi…cation.
We shall show how this can be achieved by modifying the AIR controller
to achieve GUAS parameter error convergence under a condition (which is less
restrictive than the PE requirement) called an In…nite Integral Condition (IIC).
The procedure can be outlined as follows:
i) A …ltered regression matrix is formed from the torque measurements.
ii) This regression matrix is then used to formulate a least-squares estimator for
the unknown parameters.
iii) The AIR update law is modi…ed to include an additional least-squares estimator term.
We will now proceed through these steps, one at a time for the general robot
case –
i) Torque Filtering: Given a torque measurement, we would like to form a regression matrix which does not contain acceleration measurements. We have
previously shown (see ACT controller) that the robot dynamics can be written as
¿ = M(q)Ä
q + Vm (q; q)
_ q_ + F (q; q)
_ + G(q) = W (q; q;
_ qÄ)©:
(2.78)
We can rewrite the middle expression as
¿ = h_ + g;
(2.79)
where
d
fM(q)qg
_ ; and
dt
_
g = ¡M(q)
q_ + Vm (q; q)
_ q_ + F (q; q)
_ + G(q):
h_ =
(2.80)
(2.81)
This new form allows us to …lter out, or remove, the need for measurements of qÄ
from the regression matrix; that is to say, by …ltering (2.79), we obtain
¿ f = f ¤ ¿ = f ¤ h_ + f ¤ g;
(2.82)
where f is the impulse response of a stable, strictly proper (linear) …lter and ¤
denotes the convolution operation in the time domain.
Example: Let f(s) =
a
; where a > 0:
s+a
58
It is a property of the convolution operator that
f ¤ h_ = f_ ¤ h + f(0)h ¡ f h(0):
(2.83)
Given this, we can rewrite (2.82) as
¿ f = f_ ¤ h + f (0)h ¡ fh(0) + f ¤ g:
(2.84)
Substituting for h and g of (2.80) and (2.81) into (2.84) yields
_
¿ f = f¤[M(q)
q]+f
_
(0)M (q)q¡fM
_
(q(0))q(0)+f¤[¡M(q)
_
q_ + Vm (q; q)
_ q_ + F (q; q)
_ + G(q)] ;
(2.85)
_
where f is the impulse response of a proper, stable …lter.
Example: If f (t) - f(s) =
a
as
; where a > 0; then f_(t) - sf(s) =
:
s+a
s+a
Note: Using this technique, qÄ has been “…ltered out” of the RHS of (2.85).
Since the convolution operator is linear, we still can separate out the unknown
parameters from the known system dynamics from the RHS of (2.85), to form a
LP as shown
¿ f = Wf (q; q)©;
_
where Wf 2 Rn£r is a new regression matrix and © 2 Rr£1 is the unknown
parameter vector.
Example: Torque …ltering of a one-link robot arm, using the …lter dynamics of
the previous example with a = 1
) f (t) = e¡t - f (s) =
1
:
s+1
(2.86)
Using (2.85), the …ltered torque expression for the one-link robot is given by
¿ f = f_ ¤ M q_ + M q_ ¡ fM q(0)
_ + f ¤ B q;
_
(2.87)
as
: The RHS of (2.87) is now used to separate known
s+a
functions from unknown parameters of the form
where f_(s) =
(2.88)
¿ f = Wf (q; q)©;
_
where
£
f_ ¤ q_ + q_ ¡ f q(0)
_
f ¤ q_
·
¸
M
© =
2 R2£1:
B
Wf (q; q)
_ =
¤
2 R1£2 ; and
(2.89)
(2.90)
Note: Wf (q; q)
_ is no longer a function of qÄ!
Note: The quantities ¿ f and Wf (q; q)
_ are assumed to be known (i.e., measurable), while © is unknown.
59
ii) Formulation of the Least-Squares Estimator: We begin by de…ning an estimate
of the …ltered torque based on the estimate of the unknown parameters, as
shown
^
¿^ f = Wf (q; q)
_ ©:
(2.91)
We now de…ne the measurable quantity
~
¿~ f = ¿ f ¡ ¿^f = Wf (q; q)
_ ©:
(2.92)
Note: The use of the term ¿~f is crucial to the development of a least-squares
estimator for ©:
Note: It is easy to show that ¿~ f is, in fact, measurable since
^
¿~ f = ¿ f ¡ Wf (q; q)
_ ©;
^ are all known (or measurable).
where ¿ f ; Wf and ©
^ is generate on-line by the adaptive update law.
Note: ©
Least Squares Estimation (LSE) is used in many di¤erent system identi…cation
schemes. It can be shown that LSE extracts the maximum amount of parametric information from a system, even when it is not PE.
Note: For many robotics applications, it is not desirable to have the desired trajectory be PE. Given this, LSE is an attractive alternative for
generating the adaptive update law.
To begin the LSE development, we de…ne a least-squares update rule of the form
:
where
^ P WfT ¿~f ;
©=
(2.93)
P_ = ¡P WfT Wf P;
(2.94)
for P (t) 2 Rr£r a time-varying, symmetric matrix. It can be shown that
~ converges to zero if the following In…nite
the parameter estimate error, ©;
Integral Condition (IIC) holds
8t
9
<Z
=
~ = 0:
lim ¸min
WfT (¾)Wf (¾)d¾ = 1 ) lim ©
(2.95)
t!1
t!1
:
;
0
As noted in your text, the IIC is a weaker condition than PE, which can often
be validated for robotic systems.
Example: Find the LSE given by (2.93) and (2.94) for the one-link robot arm
dynamics.
Let P be de…ned as
P =
·
P1 P2
P2 P3
¸
:
(2.96)
60
Using the …ltered regression matrix of the previous example, we obtain
£
¤
Wf (q; q)
_ = Wf 11 Wf12 ;
(2.97)
where
Wf 11 = f_ ¤ q_ + q_ ¡ f q(0);
_
and
Wf 12 = f ¤ q:
_
(2.98)
(2.99)
Using (2.94), we obtain
P_1 = ¡ (Wf11 P1 + Wf 12 P2 )2 ;
(2.100)
¡
¢
2
2
2
P_2 = ¡Wf 11P1 P2 ¡ Wf12 P2 P3 ¡ Wf11 Wf12 P1 P3 + P2 ; (2.101)
P_3 = ¡ (Wf11 P2 + Wf 12 P3 )2 :
(2.102)
Using (2.93), the parameter update laws become
:
^ = (Wf11 P1 + Wf12 P2 ) ¿~ f and
M
(2.103)
^ = (Wf11 P2 + Wf12 P3 ) ¿~ f ;
B
(2.104)
:
where ¿~ f is calculated from (??) to be
^ ¡ Wf 12 B:
^
¿~f = ¿ f ¡ Wf11 M
(2.105)
We now show that the IIC is satis…ed for the one-link example. Using (2.92) and
the fact that © is constant, (2.93) can be written as
:
~ P WfT Wf ©:
~
©=
Using the matrix identity
we rewrite (2.94) as
(2.106)
P_ = ¡P P_ ¡1P;
P_ ¡1 = WfT Wf :
(2.107)
Substituting (2.107) into (2.106) yields
:
which has the solution
~ ¡P P_ ¡1 ©;
~
©=
(2.108)
~ = ¡P P ¡1(0)©(0):
~
©
(2.109)
Note: This can be veri…ed by substituting (2.109) into the right and left-hand
sides of (2.108) to obtain
~
~
¡P_ P ¡1(0)©(0)
= P P_ ¡1 P P ¡1 (0)©(0):
From (2.107), it is easy to show that the solution for P is
8
9¡1
Zt
<
=
P = P ¡1 (0)+
WfT (¾)Wf (¾)d¾
:
:
;
(2.110)
(2.111)
0
61
Examining (2.111), we can see that if the IIC is satis…ed then
©
ª
lim ¸min fP g = 0 ) lim ¸min P ¡1 = 1:
t!1
t!1
(2.112)
If (2.112) holds, then we can use (2.109) to show that the parameter estimate
error converges to zero as time gets big, i.e.,
~ = 0:
lim ©
t!1
(2.113)
Note: For a detailed stability proof, see Li and Slotine’s “Parameter Estimation
Strategy for Robotic Applications,” ASME WAM, Boston 1985.
iii) Composite Adaptive Controller: Uses the same structure as the AIR controller
with a modi…ed adaptive update law, given by
:
:
~ P Y T r + P WfT ¿~f :
^ ©=
©=
(2.114)
To prove that the tracking and parameter errors both converge to zero under the
proposed controller, use the following Lyapunov-like function
1
1 ~ T ¡1 ~
V = r T M (q)r + ©
P ©:
2
2
(2.115)
Di¤erentiating (2.115) with respect to time along the state trajectory yields
:
1 T
1 ~ T _ ¡1 ~
T
T ¡1 ~
_
~
V = r M(q)r_ + r M (q)r + © P © + ©
P ©:
2
2
(2.116)
Note: Under the AIR controller, the closed-loop error dynamics of (2.40) were
given by
M(q)r_ = Y (q; q)©
_ ¡ ¿ ¡ Vm (q; q)r:
_
(2.117)
Substituting (2.117) into (2.116) yields
·
¸
:
T
T
¡1
T
~ P ©
~ +Y r + 1 ©
~ T P_ ¡1 ©:
~
V_ = ¡r kv r + ©
2
(2.118)
:
~ (2.107) for P_ ¡1 ; and (2.92) for ¿~ f into (2.118)
Substituting (2.114) for ©;
yields
1 ~T T
~
V_ = ¡r T kv r ¡ ©
Wf Wf ©:
(2.119)
2
iv) Detailed Stability Analysis: Given (2.119), we can say that V_ is at least NSD,
and applying R.R. Theorem is bound above as shown
V_ · ¡¸min fkv g krk2 :
(2.120)
Equation (2.120) implies that V is bounded above by V (0) : Equation (2.115)
implies that V is PD, and therefore, bounded below by zero. Now, if the
IIC is satis…ed such that (2.112) holds on P ¡1; we can use the facts that
~ are also
V is bounded and M (q) is PD to state that the signals r and ©
bounded.
62
Given this standard linear systems arguments on r can be applied to show that
e and e;
_ and hence q and q;
_ are bounded signals. We can now use the same
approach as in the passivity development, i.e., see equations (2.63) through
(2.67), to state that r 2 Ln2 :
We can establish a transfer function relation between e and r of the form
e(s) = G(s)r(s);
where
(2.121)
G(s) = (sIn + ¤)¡1
is a strictly proper, stable transfer function matrix with ¤ 2 Rn£n a PD
matrix. We can now apply Vidyasagar’s Theorem (see the passivity development) to state that e is GAS
) lim e(t) = 0:
t!1
This is a good result for trajectory tracking!
To show parameter convergence, we assume that the IIC is satis…ed such that
(2.112) holds on P ¡1: Given this, we can state that the last quadratic term
~ T P ¡1©;
~ blows up as t ! 1: But, as
on the RHS of V of (2.115), i.e., 21 ©
noted previously, (2.120) implies that V is bounded above by some …nite
~ is GAS
V (0) : The only way these two conditions can co-exist is if ©
~ = 0:
) lim ©(t)
t!1
Note: We have shown that under the composite adaptive controller both e and
~ are GAS. All we can say about e_ from the above analysis is that it is
©
bounded.
Homework: Prove that e_ is also GAS by invoking Barbalat’s Lemma.
Example: Composite Adaptive Control of a One-Link Robot Arm
The torque control law is the same as that presented previously for the AIR
example. The composite parameter update laws are given by
:
^ = (P1 Y11 + P2 Y12 ) r + (P1Wf 11 + P2 Wf12 ) ¿~ f ; and
M
:
^ = (P2 Y11 + P3 Y12 ) r + (P3Wf 11 + P3 Wf12 ) ¿~ f ;
B
where all terms of the RHS of these expressions are de…ned above.
Note: P1 ; P2 ; and P3 are the dynamic control gains de…ned in the leastsquares estimator development above.
63
2.4.10
Robustness of Adaptive Controllers
All of the adaptive controllers developed thus far assure GAS trajectory tracking
under the assumption that there are no unmodeled dynamics (i.e., no system
disturbances). A simple way to account for unmodeled dynamics is to add a
disturbance term to the standard robot equation, as shown
¿ = M (q)Ä
q + V (q; q)
_ + F (q; q)
_ + G(q) + Td ;
(2.122)
where Td 2 Rn is an additive torque disturbance term.
Let’s examine what happens to the AIR controller when it is applied to the
dynamics of (2.122), i.e., a system with unmodeled dynamics. The closed-loop
system dynamics result in a Lyapunov-like function of the form
V_ = ¡rT kv r + rT Td :
(2.123)
Given this, it is clear that V_ is no longer NSD, due to the presence of the disturbance term. From our previous experience with Lyapunov stability, we know that
it is advantageous to have V_ at least NSD. By R.R. Theorem we can write
V_ = ¡¸min fkv g krk2 + krk kTd k :
(2.124)
We can obtain a su¢cient condition for the “negativity” of V_ from (2.124), as
shown
kTd k
krk >
:
(2.125)
¸min fkv g
If the above expression is satis…ed, then V_ is ND and the magnitude of V will
decrease as time progresses, and as the magnitude of V decreases, the magnitude
of r must also eventually decrease. But if the magnitude of r gets too small then
(2.125) is no longer satis…ed, which implies that V_ becomes positive. This implies
that V will increase as time progresses. As V increases, one of two things can
happen:
i) Increasing V causes increasing r such that (2.125) is once again satis…ed, caus~ are both bounded signals, but
ing V to decrease along with r ) r and ©
oscillate around zero in some fashion.
~ to increase while r stays small enough to satisfy (2.125).
ii) Increasing V causes ©
~ to increase without check.
This implies that V_ remains positive, allowing ©
This implies that the parameter estimates can become unstable in the presence of system disturbances. As the parameter estimates become large, the
applied control torques also become large, leading to actuator saturation
and possible system instability.
2.4.10.1
A Torque-Based Disturbance Rejection Method
The parameter estimates remain bounded if the AIR torque control law is modi…ed
as shown
¿ = ¿ AIR + kd SGN(r);
(2.126)
where ¿ AIR is the standard AIR controller, kd is a scalar control gain satisfying
kd > max fjTdi jg
(2.127)
64
with Tdi representing the ith component of the torque disturbance vector, and
SGN(¢) denotes the vector signum function de…ned as
SGN(r) = [sgn(r1); sgn(r2 ); ¢ ¢ ¢ ; sgn(rn )]T ;
(2.128)
with sgn(¢) denoting the standard, scalar signum function. Applying (2.126) to the
robot dynamics of (2.122), the closed-loop AIR Lyapunov-like function becomes
V_ = ¡rT kv r + r T Td ¡ kd r T SGN(r):
(2.129)
Using the fact that jri j = ri sgn(ri ); we can rewrite (2.129) as
V_ · ¡rT Kv r+
X
n
jri j (jTdi j ¡ kd ) :
(2.130)
i=1
Using (2.128), we can bound the RHS of (2.130) as
V_ · ¡rT Kv r:
(2.131)
~ are bounded.
Given this, it can be shown that e is GAS and the e_ and ©
Example: Disturbance Rejection for a Two-Link Robot Arm
Let the unknown, yet bounded, torque disturbance term to the two-link robot
dynamics be
·
¸
2 sin(10t)
Td =
:
2 sin(10t)
The modi…ed AIR controller is then given by
¿ 1 = ¿ AIR 1 + kd sgn(e_1 + ¸1 e1); and
¿ 2 = ¿ AIR 2 + kd sgn(e_2 + ¸2 e2);
where ¿ AIR 1 and ¿ AIR 2 are the elements of the standard two-link AIR controller and select kd such that it satis…es (2.127), e.g.,
kd = 2:2:
Note: The standard AIR update law is used to create the parameter estimates.
2.4.11
Robust Control
Two disadvantages associated with adaptive control are:
i) The large amount of on-line computation required.
ii) The lack of robustness to additive bounded disturbances.
Robust controllers overcome these disadvantages using a priori known bounds on
the system uncertainty (e.g., parameters and disturbances).
65
For control design purposes, assume robot dynamics with unmodeled dynamics
of the form
¿ = M (q)Ä
q + Vm (q; q)
_ q_ + F (q; q)
_ + G(q) + Td ;
(2.132)
where Td 2 Rn is an unknown additive torque disturbance. For control
design purposes, we can rewrite (2.132) in terms of r;
_ as shown
M (q)r_ = M(q) (Ä
qd + ®e)
_ + Vm (q; q)
_ (q_d + ®e)
_ + F (q; q)
_ + G(q) + Td ¡ ¿ :
(2.133)
These dynamics can be parameterized as in the AIR development as shown
M r_ = Y © + Td ¡ ¿ ¡ Vm (q; q)r:
_
(2.134)
Given this, we shall propose a torque control which is similar to the AIR
controller
^ + Kv r + u;
¿ c = Y (q; q)
_©
(2.135)
^ is a …xed estimate of the unknown system parameters © (i.e., a
where ©
nominal value or best guess) and u is an auxiliary robust control term to be
de…ned. Substituting (2.135) into (2.134) yields the closed-loop error system
dynamics
~ ¡ Kv r + Td ¡ u ¡ Vm (q; q)r:
M r_ = Y ©
_
(2.136)
To show stability of the proposed system, we de…ne a Lyapunov-like function of
the form
V
1 T
r M (q)r
2
) ¸1 krk2 · V · ¸2 krk2 :
=
(2.137)
(2.138)
Di¤erentiating V with respect to time along the state trajectory yields
1
V_ = rT M r_ + rT M_ r:
2
(2.139)
Substituting the error system dynamics of (2.136) yields
µ
¶
³
´
1 _
T
T
T
_
~
V = ¡r Kv r ¡ r Y © + Td ¡ u + r
M ¡ Vm r :
2
|
{z
}
(2.140)
0
We must now de…ne the auxiliary robust control term, u; such that V_ has
desirable properties. If we de…ne u to be a saturation type controller, as
shown
r½2
; where
krk ½ + ²
°
°
°
° ~
½ ¸ °Y © + Td ° ;
(2.142)
2 2
³
´
~ + Td ¡ krk ½ :
V_ = ¡r T Kv r ¡ r T Y ©
krk ½ + ²
(2.143)
u =
(2.141)
then substituting (2.141) into (2.140) yields
66
Applying the R.R. Theorem to the second term on the RHS of (2.143) and
using (2.142), we can place an upper bound on V_ of (2.143) as shown
krk2 ½2
T
_
V · ¡r Kv r + krk ½ ¡
:
krk ½ + ²
(2.144)
Placing the last two terms on the RHS of (2.144) under a common denominator yields
² krk ½
V_ · ¡rT Kv r +
:
(2.145)
krk ½ + ²
The last term on the RHS of (2.145) is always upper bounded by ²; therefore,
we can place a new upper bound on V_ as shown
V_ · ¡rT Kv r + ²:
(2.146)
At this point, we are ready to perform a detailed stability analysis of the
proposed controller.
2.4.11.1
Stability Analysis
We begin by introducing two lemmas which will be used to show stability of the
proposed robust controller
Lemma A: If r(t) 2 Rn is the state vector of a continuous dynamic system of
the form
r(t)
_ = f(r(t); t);
(2.147)
with an associated Lyapunov-like function V (r; t) having the following properties
¸1 krk2 · V (r; t) · ¸2 krk2 ; and
V_ (r; t) · ¡¸3 krk2 + ²; 8 (r; t) 2 Rn £ R;
(2.148)
(2.149)
where ¸1 ; ¸2 ; ¸3 and ² are positive scalar constants, then r(t) is globally
uniformly ultimately bounded (GUUB) in the following sense
¸1
£
¤
¸2
²
kr(t)k ·
kr(0)k2 e¡¸t +
1 ¡ e¡¸t 2 ;
¸1
¸1 ¸
·
where ¸ =
¸3
:
¸2
(2.150)
Proof of Lemma A: Given (2.147) through (2.149), we multiply (2.148)
by ¡¸ to obtain
¡¸3 krk2 · ¡¸V (r; t) · ¡¸1 ¸ krk2 :
(2.151)
We now use (2.151) to place a new upper bound on V_ in (2.149), as
shown
V_ (r; t) · ¡¸V (r; t) + ²:
(2.152)
67
Multiplying (2.152) by e¡¸t and rearranging terms in a more convenient
fashion yields
e¸tV_ (r; t) + e¸t ¸V (r; t) · ²e¸t :
(2.153)
Note, the left hand side of (2.153) is equivalent to the total derivative
ª
d © ¸t
e V (r; t) = e¸t V_ (r; t) + e¸t¸V (r; t);
dt
which allows us to rewrite (2.153) as shown
Zt
0
©
ª
d e¸t V (r; t) ·
Zt
²e¸t dt:
(2.154)
0
Evaluating (2.154) and rearranging terms yields a new upper bound in
V
¤
²£
V (r; t) · e¡¸t V (r(0); 0) +
1 ¡ e¡¸t :
(2.155)
¸
We can now use (2.148) to rewrite (2.155) in terms of r to obtain the
result of (2.150).
Lemma B: Let r(t) 2 Rn be a vector de…ned in terms of another vector e(t) 2
Rn ; as shown
r(t) = e(t)
_ + ®e(t);
(2.156)
where ® is a positive scalar constant. If r(t) is upper bounded by an expression of the form
¡¸t
p
p
(2.157)
kr(t)k · A + jBje 2 ;
where A is a non-negative scalar constant, and jBj and ¸ are positive scalar
constants, then e(t) can be upper bounded as shown
2
3
p
p
¡¸t
¤
£
2n jBj 4
n A
ke(t)k · ne¡®t ke(0)k +
1 ¡ e¡®t +
e 2 ¡ e¡®t 5 :
®
2® ¡ ¸
(2.158)
Proof of Lemma B: Given (2.156), we can state that the ith component of
the r(t) and e(t) vectors have the following frequency domain relation
ri (s) = [sei (s) ¡ ei (0)] + ®ei (s):
(2.159)
Solving (2.159) for ei (s) and transforming the result back to the time
domain yields
ei (t) = ei (0)e
¡®t
+
Zt
e¡®(t¡¾) ri (¾)d¾;
(2.160)
0
68
where ¾ is a dummy variable of integration associated with the convolution operation. This implies that the ith component of e(t) can be
upper bounded as
jei (t)j · jei (0)j e¡®t +
Zt
e¡®(t¡¾) jri (¾)j d¾:
(2.161)
0
If we consider the one-norm, then
n
X
ke(t)k =
jei (t)j ) jei (t)j · ke(t)k :
i=1
This relation allows us to place a new upper bound on e(t) of (2.161),
as shown
ke(t)k · ne
¡®t
ke(0)k + n
Zt
e¡®(t¡¾) kr(¾)k d¾:
(2.162)
0
Substituting the upper bound for kr(¾)k from (2.157) and evaluating
the resulting integral term yields (2.158).
We now apply these lemmas to show the stability of the proposed robust
controller. Since
1 T
r M(q)r
V =
2
) ¸1 krk2 · V · ¸2 krk2 ;
(2.163)
and since
V_
· ¡rT Kv r + ²
) V_ · ¡¸3 krk2 + ²;
(2.164)
where ¸1; ¸2; and ¸3 are related to the minimum and maximum eigenvalues of M (q) and Kv ; respectively, as can be calculated using the
G.T. and R.R. Theorems. Given (2.163) and (2.164), we can invoke
Lemma A to state that r(t) is GUUB in the following sense
r
i
¸
¸
¸2
²¸2 h
¡ ¸3 t
2 ¡ ¸2 t
1
2
kr(t)k ·
kr(0)k e
+
1¡e
:
(2.165)
¸1
¸1 ¸3
Note: Since ¸3 is dependent on the control gain matrix Kv ; we are
able to arbitrarily adjust the transient response of the system.
Note: Since the steady-state error term is a multiple of the robust
control gain ²; we are also able to arbitrarily adjust the size of the
resulting steady-state error.
This is a nice result!
Note: We can invoke Lemma B to provide a bound on the position
tracking error, e(t); as shown in (2.158). Given (2.156), we can also
place an upper bound on the size of the velocity tracking error using
the results for r(t) and e(t) from (2.165) and (2.158), respectively,
along with the triangle inequality.
69
1. It is assumed that all of the system parameters are unknown, yet lie
within known bounds. For example, if we assume a one-link robot
of the form
¿ = M qÄ + B q_ + Td ;
where Td = sin(t); then it is assumed that M and B are unknown
yet lie within known bounds, say
¹ and B · B · B:
¹
M ·M ·M
In addition, it is assumed that the disturbance terms are upper
bounded
) Td · T¹d = 1;
for this case.
2. It is often possible to specify the system parameters in terms of a
nominal value and some amount of uncertainty. For example, it is
common to specify a resistor value as
R = 100- § 10%
¹
) R = 90- · R · 110- = R:
^ and the associated unIn terms of the nominal resistor value, R;
certainty, ¢R; this can be written as
^ = 100- and ¢R = 10- 3
) R
^ ¡ ¢R and R
¹=R
^ + ¢R:
R = R
3. It has been shown [Dawson ’90] that the upper bound on the uncertainty, ½; can be written as
½ = ±0 + ±1 kxk + ±2 kxk2 ;
where
x=
·
e
e_
¸
2 R2n ;
and ±i are positive scalar constants which depend on the system
parameter and disturbance bounds.
4. The proposed controller ¿ c of (2.135) assumed some “best guess” on
^ The controller will still work if
the nominal parameter values ©:
^ ´ 0; but in this case ½ must bound the entire feedforward term,
©
not simply the error in the feedforward term. While this will still
stabilize the system, it requires more control energy than the case
where the known (i.e., nominal) portion of the system is feedforward. This could present a problem with actuator saturation. The
moral of the story is: If you know some info. about a system, use
it!
5. Note if ² ´ 0 in the auxiliary robust controller u; then the saturation
type controller reduces down to a sliding mode type controller of
the form
r½2
)u=
= sgn(r)½:
krk ½
70
The resulting controller is discontinuous with respect to r(t): This
implies that an in…nite control bandwidth is required to physically
implement the controller (i.e., a step function in the time domain).
Given this, we can view the ² term as a form of boundary layer
added to prevent the need for in…nite control bandwidth.
It can be shown [see your text] that sliding mode type controllers of
the form above provide perfect tracking (i.e., GES stability of r);
but that this performance comes at the cost of being physically
unrealizable due to the need for in…nite control bandwidth. Note,
while some forms of control hardware may be better suited to supplying sliding mode type control signals than others (e.g., a PWM
ampli…er compared to a linear ampli…er), none are truly able to
supply an in…nite control bandwidth.
Also note that high frequency control signals (as associated with sliding mode type control signals produced by PWM ampli…ers) often result in control “chattering” – an undesirable, high-frequency
oscillation of the system about the desired operating point (not
acceptable in some systems).
Homework: Derive the complete stability proof which shows that the
sliding mode type controller given above is GES.
2.4.12
Adaptive Robust Control
Let’s compare the various control methods studies thus far:
Advantages - (1) Does not require a priori knowledge of unknown system
parameters. (2) Can learn system parameters on-line.
Disadvantages- (1) Requires large amounts of on-line computation. (2)
Lacks robustness to additive bounded disturbances..
Advantages- (1) Minimum on-line computation. (2) Inherently robust to
system disturbances.
Disadvantages- (1) Requires a priori knowledge of system uncertainty. (2)
Can not guarantee GAS tracking (only GUUB stability).
An adaptive robust controller combines the best qualities of each controller:
(1) reduced on-line calculations, (2) robustness to additive bounded disturbances,
(3) no a priori knowledge of the system uncertainty, and (4) GAS tracking performance.
2.4.12.1
Controller Development
To begin the Adaptive Robust Controller development, we assume robot dynamics
of the form
¿ = M (q)Ä
q + Vm (q; q)
_ q_ + F (q; q)
_ + G(q) + Td ;
(2.166)
As shown in the AIR controller development, the …ltered tracking error dynamics
can be written as
M r_ = Y © + Td ¡ ¿ ¡ Vm (q; q)r:
_
(2.167)
71
Given this, the adaptive robust controller is de…ned as
^ + Kv r + u;
¿ c = Y (q; q)
_©
(2.168)
where u is an auxiliary robust control term de…ned as
r^½2
u=
;
krk ^½ + ²(t)
(2.169)
²_ (t) = ¡k² ²(t) given ²(0) > 0;
(2.170)
where ²(t) is a dynamic control gain de…ned as
and ^½ is a dynamic (i.e., adaptive) estimate of the bounding function ½ de…ned as
°
°
° ~
°
½ ¸ °Y © + Td ° :
(2.171)
In the last section we noted that ½ can be written in the form
½ = ± 0 + ±1 kxk + ±2 kxk2 ;
where
x=
·
e
e_
¸
(2.172)
2 R2n ;
and ±i are positive scalar constants which depend on the system parameter and disturbance bounds. For the robust controller presented previously, these bounding
constants had to be formulated a prior. The proposed adaptive robust controller
“learns” the bounding constants on-line.
This is accomplished by assuming an estimated bound of the form
^½ = ^± 0 + ^±1 kxk + ^±2 kxk2 ;
(2.173)
given the dynamic estimates ±^0 ; ±^1 and ^±2 of ± 0 ; ±1 and ±2 ; respectively. We can
rewrite (2.173) more conveniently in a linearly parameterized form as shown
^
^½ = S £;
where
S=
and
£
1 kxk kxk2
2^ 3
±0
^ = 4 ^±1 5 :
£
^±2
(2.174)
¤
;
(2.175)
(2.176)
Note: The actual bounding function can also be written in a matrix form as
shown
½ = S£;
(2.177)
where
2
3
±0
£ = 4 ±1 5 :
±2
72
Given this the bounding estimates in (2.176) are updated on-line using the
following update law
:
^
£= °S T krk ;
(2.178)
where ° is a positive scalar control gain. This implies that the bounding estimate
error is given by
:
:
~ £¡
_ £=
^ ¡°S T krk :
£=
(2.179)
2.4.12.2
Stability Analysis
We can analyze the stability of the system using the following Lyapunov-like
function
1
1 ~ T ¡1 ~
V = rT M(q)r + £
° £ + k²¡1 ²(t):
(2.180)
2
2
Taking the derivative of V with respect to time along the state trajectory yields
:
1
~ T ° ¡1 £
~ +k²¡1 ²_ (t):
V_ = rT M(q)r_ + r T M_ (q)r + £
2
(2.181)
Substituting (2.167) and (2.168) into (2.181) yields
¶
µ
:
³
´
1 _
T
T
T
~ T ° ¡1 £
~ +k²¡1 ²_ (t):
_
~
M (q) ¡ Vm (q; q)
_ r +£
V = ¡r Kv r+r Y © + Td ¡ u + r
2
|
{z
}
0
(2.182)
Substituting (2.169) into (2.182) yields
³
´
T
T
_
~
V = ¡r Kv r + r Y © + Td ¡
:
krk2 ^½2
~ T ° ¡1 £
~ +k²¡1 ²_ (t):
+£
krk ^½ + ²(t)
(2.183)
Using the various relations discussed in this section, we can upper bound V_ as
shown
³ ´2
^
krk2 S £
~ T S T krk ¡ ²(t):
V_ · ¡rT Kv r + krk S£ ¡
¡£
(2.184)
^
krk S £ + ²(t)
The second and fourth terms on the RHS of (2.184) can be combined to yield
^¡
V_ · ¡rT Kv r V_ + krk S £
³ ´2
^
krk2 S £
^ + ²(t)
krk S £
¡ ²(t):
(2.185)
Writing the middle two terms under a common denominator yields
^
²(t) krk S £
V_ · ¡rT Kv r +
¡ ²(t):
^ + ²(t)
krk S £
(2.186)
Since the middle term on the RHS of (2.186) is always upper bounded by ²(t); we
can state that V_ is upper bounded as shown
V_ · ¡r T Kv r · ¡¸3 krk2 :
(2.187)
73
Given this, we can integrate the expression to obtain
Z1
V_ (¾)d¾ · ¡¸3
0
Z1
kr(¾)k2 d¾:
(2.188)
0
Multiplying (2.188) by -1 and solving the LHS yields
V (0) ¡ V (1) ¸ ¸3
Z1
kr(¾)k2 d¾:
(2.189)
0
Since V_ is NSD by (2.187), we can state that V is nonincreasing and upper
bounded by V (0): Given (2.180), we can state that V is also lower bounded by
zero. This implies that
¸3
Z1
kr(¾)k2 d¾ < 1; or
0
v
uZ1
u
u
t kr(¾)k2 d¾ < 1:
(2.190)
0
As seen in the passivity development, this implies that
r 2 Ln2 :
(2.191)
e(s) = G(s)r(s);
(2.192)
We have previously shown that
is a strictly proper, stable transfer function when G(s) is de…ned as
G(s) =
1
:
s+®
Given this, we can apply the Theorem of Desoer and Vidyasagar (see the Passivity
development), to state that
lim e(t) = 0 ) e(t) is AS.
t!1
(2.193)
~ are
Note: Using the above stability procedure, we can only state that e_ and £
bounded.
74
Download