Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Adaptive Nonlinear Control: A Lyapunov Approach

Petar V. Kokotovic
Dept. Electrical and Computer Engineering
University of California
Santa Barbara, CA 93106, USA
Miroslav Krstic
Dept. Mechanical Engineering
University of Maryland
College Park, MD 20742, USA

1 Introduction
Realistic models of physical systems are nonlinear and usually contain parameters
(masses, inductances, aerodynamic coefficients, etc.) which are either poorly known
or dependent on a slowly changing environment. If the parameters vary in a broad
range, it is common to employ adaptation: a parameter estimator-identifier-
continuously acquires knowledge about the plant and uses it to tune the controller
"on-line" .
Instabilities in nonlinear systems can be more explosive than in linear systems.
During the parameter estimation transients, the state can "escape" to infinity in finite
time. For this reason, adaptive nonlinear controllers cannot simply be the "adaptive
versions" of standard nonlinear controllers.
Here we give a tutorial outline of a new Lyapunov methodology for adaptive
control design. A complete theory with application examples is presented in [1].

2 Backstepping
Currently the most systematic methodology for adaptive nonlinear control design is
backstepping. We introduce the idea of backstepping by carrying out a nonadaptive
design for the system

rp(O) =0 (1)
u (2)

where () is a known parameter vector and rp(Xl) is a smooth nonlinear function. Our
goal is to stabilize the equilibrium Xl = 0, X2 = _rp(O)T() = O. Backstepping design
is recursive. First, the state X2 is treated as a virtual control for the xl-equation
(1), and a stabilizing function

(3)

170
Adaptive Nonlinear Control: A Lyapunov Approach 171

is designed to stabilize (1) assuming that X2 = Ql(Xl) can be implemented. Since


this is not the case, we define
(4)
(5)
where Z2 is an error variable expressing the fact that X2 is not the true contro!' Dif-
ferentiating Zl and Z2 with respect to time, the complete system (1), (2) is expressed
in the error coordinates (4), (5):
(6)

(7)

It is important to observe that the time derivative al is implemented analytically,


without a differentiator. For the system (6)-(7) we now design a control law u =
Q2(Xl, X2) to render the time derivative of a Lyapunov function negative definite. It
turns out that the design can be completed with the simplest Lyapunov function

V(Xl' X2) = 2"1 Z l2 + 2"Z2.


1 2
(8)
Its derivative for (6), (7) is

ZI(-ClZl+Z2)+Z2 [u- ::~ (X2+'PTO)]


-ClZ; + Z2 [u + Zl - ::~ (X2 + 'PTO)] . (9)

An obvious way to achieve negativity of V is to employ u to make the bracketed


expression equal to -C2Z2 with C2 > 0, namely,

(10)

This control may not be the best choice because it cancels some terms which may
contribute to the negativity of V. Backstepping design offers enough flexibility to
avoid cancellation. However, for the sake of clarity, we will assume that none of the
nonlinearities is useful, so that they all need to be cancelled as in the control law
(10). This control law yields
(11)
which means that the equilibrium Z = 0 is globally asymptotically stable. In view
of (4), (5), the same is true about x = O. The resulting closed-loop system in the
z-coordinates is linear:
1
] [ ;~ ] (12)

The two main methodologies for adaptive backstepping design are the tuning
functions design (based on a Lyapunov approach) and the modular design. Here
we use three examples to illustrate the tuning functions design. A summary of a
general design procedure are also provided but without technical details, for which
the reader is referred to [1].
172 J( okotovi6 and J( rsti6

3 Introductory Examples
In the tuning functions design both the controller and the parameter update law are
designed recursively. At each consecutive step a tuning function is designed as a
potential update law. The tuning functions are not implemented as update laws.
Instead, the stabilizing functions use them to compensate the effects of parameter
estimation transients. Only the final tuning function is used as the parameter update
law.
The tuning functions design will be introduced through the following three ex-
amples in the order of increasing complexity:
A B c

The adaptive problem arises because the parameter vector () is unknown. The non-
linearity <p(xd is known and for simplicity it is assumed that <p(0) = O. The systems
A, B, and C differ structurally: the number of integrators between the control u and
the unknown parameter () increases from zero at A, to two at C. Design A will be
the simplest because the control u and the uncertainty <p(Xl?(} are "matched", that
is, the control does not have to overcome integrator transients in order to counteract
the effects of the uncertainty. Design C will be the hardest because the control must
act through two integrators before it reaches the uncertainty.

Design A. Let {j be an estimate of the unknown parameter () in the system


Xl=U+<pT(}. (13)

= (), then the control law


If this estimate were correct, {j

U = -C1Xl - <p(Xl?{j (14)

would achieve global asymptotic stability of x = O. Because B= () - (j =f. 0, we have

Xl = -C1Xl + <p(Xl?O, (15)


that is, the parameter estimation error 0 continues to act as a disturbance which may
destabilize the system. Our task is to find an update law for (jet) which preserves the
boundedness of x(t) and achieves its regulation to zero. To this end, we consider the
Lyapunov function
(16)
where r is a positive definite symmetric matrix. The derivative of Vl is

(17)

Our goal is to select an update law for {j to guarantee

(18)
Adaptive Nonlinear Control: A Lyapunov Approach 173

The only way this can be achieved for any unknown eis to choose
(19)

This choice yields


(20)
which guarantees global stability of the equilibrium Xl = 0, 0 = (J, and hence, the
boundedness of X1(t) and O(t). By LaSalle's invariance theorem, all the trajectories
of the closed-loop adaptive system converge to the set where V1 = 0, that is, to the
set where c1xi = 0, which implies that

lim X1(t)
t_co
= o. (21)

The update law (19) is driven by the state Xl and the vector <p(xd, called the
regressor. This is a typical form of an update law in the tuning functions design:
the speed of adaptation is dictated by the nonlinearity <P(X1) and the state Xl.

Design B. For the system

(22)

we have already designed a nonadaptive controller in Section 1. To design an adaptive


controller, we replace the unknown (J by its estimate 0 both in the stabilizing function
(3) and in the change of coordinate (5):

(23)

Because in the system (22) the control input is separated from the unknown parameter
by an integrator, the control law (10) will be strengthened by a term V2(X1, X2, 0)
which will compensate for the parameter estimation transients:

(24)

The resulting system in the z coordinates is

(25)

(26)

or, in vector form,

][
174 K okotovic and K rstic

The term 112 can now be chosen to eliminate the last brackets:
,
112(Xl, X2, 8) = -,-8.
aO/l~

a8 (28)

This expression is implementable because {j will be available from the update law.
Thus we obtain the error system

[ ~l
Z2
] = [ -Cl
-1
(29)

When the parameter error 9 is zero, this system becomes the linear ~ymptotically
stable system (12). Our remaining task is to select the update law {j = rT2(X, (j).
Consider the Lyapunov function

(30)

Because 9 = -{j, the derivative of V2 is

= -C1Z; - c2zi + [Zl, Z2] [ _t: a"" rp


T ] 9- {jTr-1e

= -C1Z; - c2zi + {jTr- 1 (r [rp, -~rp] [ ;~ ] - e) (31)

The only way to eliminate the unknown parameter error 9 is to select the update law

Then V2 is nonpositive:
(33)
which means that the global stability of Z = =
0, 9 0 is achieved. Moreover, by
applying the LaSalle argument mentioned in Design A, we prove that z(t) -+ 0 as
t -+ 00. Finally, from (23), it follows that the equilibrium x = 0, (j = 8 is globally
stable and x(t) -+ 0 as t -+ 00. D.
The crucial property of the contr<?l law in Design B is that it incorporates the
112-term (28) which is proportional to (j and compensates for the effect of parameter
estimation transients on the coordinate change (23). It is this term that makes the
adaptive stabilization possible for systems with nonlinearities of arbitrary growth.
By comparing (32) with (19), we note that the first term, rpZl is the potential
update law for the zl-system. The functions

Tl(xd = rpZl (34)


T2(Xl, X2, 9) = Tl(Xl) - ~rpZ2 (35)

are referred to as the tuning functions, because of their role as potential update
laws for intermediate systems in the backstepping procedure.
Adaptive Nonlinear Control: A Lyapunov Approach 175

"------i/
Figure 1: The closed-loop adaptive system (29), (32).

Design C. The system

(36)
X3 = u
is obtained by augmenting system (22) with an integrator. The control law
0) designed in (24) can no longer be directly applied because X3 is a state
lt2(Xl, X2,
and not a control input. We "step back" through the integrator X3 = u and design
the control law for the actual input u. However, we keep the stabilizing function lt2
and use it to define the third error coordinate

(37)

The param.eter update law (32) will have to be modified with an additional z3-term.
Instead of 0 in (28), the compensating term V2 will now use the potential update law
(35) for the system (29):

(38)

Hence, the role of the tuning function T2 is to substitute for the actual update law in
the compensation of the effects of parameter estimation transients.
With (23), (23), (37), (35), (38), and the stabilizing function lt2 in (24), we have

[ ~l
Z2
] = [ -Cl
-1

This system differs from the error system (29) only in its last term. Likewise, instead
of the Lyapunov inequality (33) we have
176 Kokotovi6 and Krsti6

(41)

We now stabilize the (Zl, z2, Z3)-system (39), (41) with respect to the Lyapunov func-
tion
, 1 2
V3(X,0) = V 2 + 2"Z3 (42)

Its derivative along (39) and (41) is

(43)

Again we must eliminate the unknown parameter error if from V3 . For this we must
choose the update law as

] . (44)

Upon inspection of the bracketed terms in V3 , we pick the control law:


U = CX3(Xl, X2, X3, 0), = -Z2 - C3 Z 3
CX
+ aaXl2 (
X2 + 'P T 0') + aX2
aCX2
X3 + V3. (45)

The compensation term V3 is yet to be chosen. Substituting (45) into (43), we get

(46)

From this expression it i.s clear that V3 should cancel ~O. In order to cancel the
cross-term Z2~(rr2 - 0) with V3, it appears that we would need to divide by Z3.
However, the variable Z3 might take a zero value during the transient, and should be
regulated to zero to accomplish the control objective. We resolve this difficulty by
noting that

(47)

(48)
Adaptive Nonlinear Control: A L"apunov Approach 177

From (48) the choice of V3 is immediate:

(49)

The resulting % is
(50)

which guarantees that the equilibrium x = 0, 8 = (1 is globally stable, and x(t) --+ 0
as t --+ 00. The Lyapunov design leading to (48) is effective but does not reveal the
stabilization mechanism. To provide further insight we write the (ZI' Z2, Z3)-system
(39), (41) with u given in (45) but with V3 yet to be selected:

(51)

While V3 can cancel the matched term ~8, it cannot cancel the term.~(rT2 - 8)
in the second equation. By substituting (47), we note that ~(rT2 - 8) has Z3 as a
factor and absorb it into the "system matrix": 8

1
1+ ~rf!.s!acp 1[ ;1 1+
88
-C3
8", 2
Z3
(52)

[~-;rJ
Now V3 in (49) yields

[
ZI
Z2
Z3 1
[-"
-1
0
1
-C2
-1- ~rf!.s!acp
1+ ~rlli~ 1[ " 1+
88
-C3
8", Z2
Z3
(53)
88 8",

[_f~T l'
_f!.s!acpT
8",

This choice, which places the term -W-r~cp at the (2,3) position in the system
matrix, achieves skew-symmetry with Its positive image above the diagonal. What
could not be achieved by pursuing a linear-like form, was achieved by designing a
nonlinear system where the nonlinearities are 'balanced' rather than cancelled. !::.
178 K okotovi6 and K rsti6

4 General Recursive Design Procedure


A systematic backstepping design with tuning functions has been developed for
the class of nonlinear systems transformable into the parametric strict-feedback
form:
Xl = X2 + <f'1(X1)Te
X2 = X3 + <f'2(Xl, X2)Te
(54)
Xn-1 Xn + <f'n-1(X1, ... , Xn _1)Te
xn = ,B(x)u + <f'n(X)Te
Y Xl
where ,B and
(55)
are smooth nonlinear functions, and ,B(x) -# 0, "Ix E IRn.
The general design summarized in Table 1 achieves asymptotic tracking, that is,
the output Y = Xl of the system (54) is forced to asymptotically track the reference
output Yr(t) whose first n derivatives are assumed to be known, bounded and piecewise
continuous.
The closed-loop system has the form

i = A.(z, 0, t)z + W(z, 0, t)Te (63)


e rW(z, 0, t)z , (64)

where
-C1 1 0 0
-1 -C2 1 + 0"23 O"2n
A.(z,O,t) = 0 -1- 0"23 (65)
1 + O"n-1,n
o -1- O"n-1,n -Cn

and
(66)

Because of the skew-symmetry of the off-diagonal part of the matrix Az, it is easy to
see that the Lyapunov function

(67)

has the derivative


n

Vn
. = - 'L.JCkzk,
" 2 (68)
k=l
= =
which guarantees that the equilibrium z 0,0 e is globally stable and z(t) -- 0 as
00. This means, in particular, that the system state and the control input are
t --+
bounded and asymptotic tracking is achieved: limt .... oo [y(t) - Yr(t)] = O.
Adaptive Nonlinear Control: A Lyapunov Approach 179

Table 1: Summary of the tuning functions design for tracking. (For notational con-
venience we define Zo ~ 0, ao ~ 0, TO ~ 0.)

Zi Xi - y~i-1J - ai-1 (56)


ai(Xi, e, y~i-1)) I/i - Zi-1 - CiZi - w;e
~
+ L...J (oa i - 1
fj;;- X k+1
oai-1
+ ~Yr (k J)
(57)
k=l k OYr
i-1
--~-
oai-1 r Ti + "'""' oak-1 r
L...J --~- WiZk (58)
00 k=2 00
(59)

(60)

i = 1, ... , n

Adaptive control law:

1 [ ( O~ -(n-1J) (nJ] (61)


u= f3(x) an X, ,Yr +Yr

Parameter update law:

(62)

To help understand how the control design of Table 1 leads to the closed-loop
system (63)-(66), we provide an interpretation of the matrix Az for n = 5:

° ° ° °
Hi
[ -c,
-1 -C2 1
1.
0"23 0"24 0"25
Az = -1 -C3 -0"23 0"34 0"35
(69)
-1 -c4 -0"24 -0"34 0"45
-1 -C5 -0"25 -0"35 -0"45

If the parameters were known, e == 0, in which case we would not use adaptation,
r = 0, the stabilizing functions (57) would be implemented with I/i == 0, and hence
O"i,j = 0. Then Az would be just the above constant tri-diagonal asymptotically stable
matrix. When the parameters are unknown, we use r > and, due to the change °
. bl e zi = Xi - Yr(i -1 J - ai-1, III
of varIa e zi-equatlOns a term - aa 1 =
. eac h 0 f t h" a'i 0
L:~=1 O"ikzk appears. The term I/i =- L:~=1 O"ikzk - L:~~; O"kiZk in the stabilizing
180 Kokotovic and Krstic

function (57) is crucial in co~pensating the effect of O. The U;k-terms above the
diagonal in (69) come from O. Their skew-symmetric negative images come from
feedback Vi.
It can be shown that the resulting closed-loop system (63), (64), as well as each
e
intermediate system, has a strict passivity property from as the input to Ti as
the output. The loop around this operator is closed (see Figure 1) with the vector
integrator with gain r, which is a passive block. It follows from passivity theory
that this feedback connection of one strictly passive and one passive block is globally
stable.

5 Concluding Remarks
In the tuning functions design the controller and the identifier are derived in an
interlaced fashion. This interlacing led to considerable controller complexity and
inflexibility in the choice of the update law.
It is desirable to have adaptive designs where the controller can be combined with
different identifiers (gradient, least-squares, passivity based, etc.). Such modular
designs have also been developed [1) and have certain advantages over the tuning
functions design.
Judging from the number of publications and significant applications, adaptive
nonlinear control is a rapidly growing area of research. In the presence of distur-
bances and unmodeled dynamics, adaptive nonlinear controllers may lead to complex
dynamic phenomena and chaos, which are the topics awaiting further exploration.

Acknowledgements
This work was supported in part by the National Science Foundation under Grant
ECS-9203491 and in part by the Air Force Office of Scientific Research under Grant
442530-25335.

References

[1) M. Krstic, I. Kanellakopoulos, and P. V. Kokotovic, Nonlinear and Adaptive


Control Design, New York, NY: Wiley, 1995.

Commentary by W. Grantham
This paper presents a Lyapunov control design method for a special class of nonlinear
systems with unknown parameters. The objective is to design a controller to stabilize
the origin, despite a vector of unknown system parameters B. The "backstepping"
approach assumes a cascading-state linear portion of the system, with typical equation
Xl: = Xk+l +'Pl:(Xl, ... , x/J;)TB. The approach is to treat x!:+! as a control variable for
Xl: and then choose Xk+l to 1) cancel the parameter terms and 2) add a stabilizing
term to the Xl: equation. The actual control, which occurs only in the last xn equation,
is used to stabilize the system as well as generate an estimate 0 for the unknown
parameters B.
Adaptive Nonlinear Control: A Lyapunov Approach 181

The stability of the resulting system is established using Lyapunov methods,


where Vex, (}) > 0 and V < 0 for x, () i= 0 would imply V ----> O. However, since the
paper only requires V S 0, there is no assurance that the parameter estimate (jet)
converges to the actual unknown parameter vector ().
The design approach is quite interesting. In its current state it lacks flexibility
in the choice of a Lyapunov function V, and the approach does not survive a linear
transformation of coordinates. But these difficulties should not be insurmountable,
allowing the method to be extended to more general systems.

Commentary by T. Vincent
The authors combine two topics of considerable interest in dynamical systems, non-
linear control design and parameter identification. The combination is a logical one as
the backstepping design method used here assumes knowledge of the system parame-
ters. The basic idea behind the procedure, as outlined in the introductory examples,
makes clever use of Lyapunov functions.
Suppose, as an example, under what the authors call design A, we consider the
linear system
Xl = U + (}XI
where () is an unknown parameter .. Following the authors methods, one can arrive
at the following nonlinear controller

(70)

where X2 is the estimate of (). This result is arrived at by using the Lyaponov function

V = -Xl
1 2 + -1 (
2 2
X2 - ()
)2

so that
.
V = -Xl + (X2 -
2
())
( .
X2 - Xl)
2

Clearly the parameter identification system as provided by (70) will guarantee V < O.
As that authors point out, this will result in asymptotic stability for Xl. However
asymptotic stability for X2 is not guaranteed as V may go to zero before V = O. This
is a curious result in that we are guaranteed to control the system to the origin, in
spite of the fact that the parameter need not be properly identified. The following
table illustrates the results of integrating (70) to equilibrium starting the system at
XI(O) = 0.5 with () = 3.

X2(0) Xl (t f) X2 (t f) max/u/
-5 0 7.83 31.61
-2 0 6.02 17.17
0 0 4.06 7.20
2 0 2.50 1.52
5 0 5.04 3.00

Thus, as promised, the system goes to equilibrium at Xl (t f) = 0 for every case.


However in none of the cases does X2 (t f) = 3. Note that in order to get this stability,
182 K okotovic and K rstic

a large amount of control may be needed. It is easy to show through simulation


that if the control is bounded, say lui:::; 10, then simply using (70) under saturating
control will result in an unstable system for the cases where X2(O) = -5 and -2.
These observations do not lessen the importance of the method developed by the
authors. However it does suggest that using this method with systems operating
under bounded control, one can not assume global convergence and the domain of
attraction becomes a topic of interest.
If one is interested in identifying the system parameter 8, then, as Petar Kokotovic
related to me in a personal communication, one must use persistency of excitation of
the input signal. He suggested simply using a nonzero set point in the above example.
In this case the control is given by

1- Xl - X2X1
(71)
X1(X1 - 1) .

Using the Lyaponov function

V = -21 (Xl - 1)
2
+ -21 (X2 - 8)
2

one arrives at
v=- (Xl - 1)2 + (X2 - 8) [2:2 - Xl (Xl - 1)] .
Using the same initial conditions as before one obtains

X2(O) Xl (t J ) X2 (t J ) maxlul
-5 1 3 46.01
-2 1 3 23.70
0 1 3 12.80
2 1 3 5.40
5 1 3 3.10

In this case the parameter gets identified and the system gets driven to the equilibrium
state. However a large amount of control may be needed.
The authors generalize their method for systems far more complex (and nonlin-
ear) systems than suggested by this example. I think it represents a very interesting
approach to nonlinear design and I am anxious to examine it use in some nonlinear
laboratory systems, which, of course, have bounded control inputs.

You might also like