Adaptive Nonlinear
Adaptive Nonlinear
Miroslav Krstić
• Backstepping
• Tuning Functions Design
• Modular Design
• Output Feedback
• Extensions
• A Stochastic Example
• Applications and Additional Refer-
ences
main source:
Nonlinear and Adaptive Control Design (Wiley, 1995)
M. Krstić, I. Kanellakopoulos and P. V. Kokotović
Backstepping (nonadaptive)
error variables:
z1 = x1
z2 = x2 − α1(x1) ,
2
System in error coordinates:
⇒ V̇ = −c1z12 − c2z22
3
z = 0 is globally asymptotically stable
4
Tuning Functions Design
Introductory examples:
A B C
5
To find update law for θ̂(t), choose
1 2 1
V1(x, θ̂) = x1 + θ̃TΓ−1θ̃
2 2
then
lim x1(t) = 0
t→∞
6
Design B. replace θ by θ̂ in the nonadaptive design:
7
Choose
1 1 1 1
V2(x1, x2, θ̂) = V1 + z22 = z12 + z22 + θ̃TΓ−1θ̃
2 2 2 2
we have
ϕT
V̇2 = −c1z12 − c2z22 + [z1, z2] ∂α1 T θ̃ − θ̃TΓ−1θ̂˙
− ∂x ϕ
1
- # $ 0
. / z
= −c1z12 − c2z22 + θ̃TΓ−1 Γ ϕ, − ∂α 1ϕ 1 − θ̂˙ .
∂x1 z2
The choice
# $ - τ 0
. / z1 1
'(%&
θ̂˙ = Γτ2(x, θ̂) = Γ ϕ, − ∂α1ϕ
∂x1 = Γ ϕz1 − ∂α
∂x1
1 ϕz
2
z2
% &' (
τ2
# ∂x1 # ∂x1
− θ̂
2 3
−c1 1 "
−1 −c2
1
"
θ̂˙ "
Γ
9
Design C.
We have one more integrator, so we define the third error coordinate
and replace θ̂˙ in design B by potential update law,
∂α1
ν2(x1, x2, θ̂) = Γτ2(x1, x2, θ̂).
∂ θ̂
Now the z1, z2-system is
# $ # $# $ # $
ż1 −c1 1 z1 ϕT 0
= + ∂α1 T θ̃ +
ż2 −1 −c2 z2 − ∂x ϕ z3 + ∂α1 (Γτ2 − θ̂˙ )
1 ∂ θ̂
and
∂α1
V̇2 = −c1z12 − c2z22 + z2z3 + z2 (Γτ2 − θ̂˙ ) + θ̃T(τ2 − Γ−1θ̂˙ ).
∂ θ̂
10
z3-equation is given by
∂α2 ! T
" ∂α2 ∂α2 ˙
ż3 = u − x2 + ϕ θ − x3 − θ̂
∂x1 ∂x2 ∂ θ̂
∂α2 ! T
" ∂α2 ∂α2 ˙ ∂α2 T
= u− x2 + ϕ θ̂ − x3 − θ̂ − ϕ θ̃ .
∂x1 ∂x2 ∂ θ̂ ∂x1
Choose
1 2 1 2 1 2 1 2 1 T −1
V3(x, θ̂) = V2 + z3 = z1 + z2 + z3 + θ̃ Γ θ̃
2 2 2 2 2
we have
∂α1
2 2
V̇3 = −c1z1 − c2z2 + z2 (Γτ2 − θ̂˙ )
# ∂ θ̂ $
∂α2 ! " ∂α2 ∂α2 ˙
+z3 z2 + u − x2 + ϕTθ̂ − x3 − θ̂
∂x1 ∂x2 ∂ θ̂
- 0
∂α2
+θ̃T τ2 − ϕz3 − Γ−1θ̂˙ .
∂x1
11
Pick update law
- 0
. / z1
˙θ̂ = Γτ (x , x , x , θ̂) = Γ τ − ∂α2 ϕz ∂α1 ∂α2
= Γ ϕ, ∂x ϕ, − ∂x ϕ z2
3 1 2 3 2 3 1 1
∂x1 z3
and control law
∂α2 ! T
" ∂α2
u = α3(x1, x2, x3, θ̂) = −z2 − c3z3 + x2 + ϕ θ̂ + x3 + ν 3 ,
∂x1 ∂x2
results in
6 7
∂α ∂α2 ˙
V̇3 = −c1z12 − c2z22 − c3z32 + z2 1 (Γτ2 − θ̂˙ ) + z3 ν3 − θ̂ .
∂ θ̂ ∂ θ̂
Notice
∂α
θ̂˙ − Γτ2 = θ̂˙ − Γτ3 − Γ 2 ϕz3
∂x1
we have
- 0
∂α2 ∂α1 ∂α2
V̇3 = −c1z12 − c2z22 − c3z32 + z3 ν3 − Γτ3 + Γ ϕz2 .
∂ θ̂ ∂ θ̂ ∂x1
% &' (
=0
Stability and regulation of x to zero follows.
12
Further insight:
ż1 −c1 1 0 z1 ϕT 0
∂α1
− ∂α1 ϕT (Γτ − ˙)
θ̂ .
ż2 = −1 −c2 1 z2 + ∂x1 θ̃ + ∂ θ̂ 2
∂α2 T ∂α2
ż3 0 −1 −c3 z3 − ∂x ϕ ν3 − Γτ3
1 ∂ θ̂
˙ ˙ ∂α2
⇓ θ̂ − Γτ2 = θ̂ − Γτ3 − Γ ϕz3
∂x1
ż1 −c1 1 0 z1 ϕT 0
ż2 = −1 −c2 1 + ∂α1 Γ ∂α2 ϕ z2 +
− ∂α1 T
ϕ θ̃ + 0
∂ θ̂ ∂x1 ∂x1
ż3 0 −1 −c3 z3 − ∂α2
ϕ T ν3 − ∂α
∂ θ̂
2
Γτ3
∂x1
⇓ seletion of ν3
ż1 −c1 1 0 ϕT
z1
ż2 = −1 −c2 1 + ∂α1 Γ ∂α2ϕ − ∂α1 ϕT
z2 +
θ̃.
∂ θ̂ ∂x1 ∂α∂x1
ż3 0 −1 − ∂α1 Γ ∂α
∂x
2ϕ −c3 z3 − ∂x 2 ϕT
∂ θ̂ 1 1
13
General Recursive Design Procedure
14
' ' '
Tuning functions design for tracking (z0 = 0, α0 = 0, τ0 = 0)
zi = xi − yr(i−1) − αi−1
i−1 6 7
8 ∂αi−1 ∂αi−1
αi (x̄i , θ̂, ȳr(i−1) ) = −zi−1 − ci zi − wiT θ̂ + xk+1 + (k−1)
yr
(k)
+ νi
∂xk ∂yr
k=1
∂αi−1 8 ∂αk−1
i−1
15
Closed-loop system
∂αj−1
σjk (x, θ̂) = − Γwk
∂ θ̂
This structure ensures that the Lyapunov function
1 T 1
Vn = z z + θ̃TΓ−1θ̃
2 2
has derivative
n
8
V̇n = − ck zk2.
k=1
16
Modular Design
ẋ = −x + ϕ(x)θ̃
suppose θ̃(t) = e−t and ϕ(x) = x3, we have
ẋ = −x + x3e−t
;
But, when |x0| > 3,
2
1 x2
x(t) → ∞ as t → ln 2 0
3 x0 − 3/2
Conclusion: Need stronger controller.
17
Controller Design. nonlinear damping
u = −x − ϕ(x)θ̂ − ϕ(x)2x
closed-loop system
ẋ = −x − ϕ(x)2x + ϕ(x)θ̃ .
With V = 1 2
2 x , we have
18
For higher order system
ẋ1 = x2 + ϕ(x1)Tθ
ẋ2 = u
set
19
Consider
1 2 1 2
V2 = V1 + z2 = |z|
2 2
we have
# $
1 ∂α1 ! "
∂α1 ˙
V̇2 ≤ −c1z12 + 2
|θ̃| + z1z2 + z2 u − T
x2 + ϕ θ − θ̂
4κ1 ∂x1 ∂ θ̂
# - 0$
1 ∂α1 ! " ∂α1 T ∂α1 ˙
2
≤ −c1z1 + 2
|θ̃| +z2 u+z1 − T
x2 +ϕ θ̂ − ϕ θ̃+ θ̂ .
4κ1 ∂x1 ∂x1 ∂ θ̂
controller
< < < <
< ∂α <2 < ∂α T<2 ∂α1 ! "
< 1 < < 1 < T
u = −z1 − c2z2 − κ2 < ϕ< z − g2 < < z + x2 + ϕ θ̂ ,
< ∂x1 < 2 < ∂ θ̂ < 2 ∂x1
achieves
- 0
1 1 1 ˙2
V̇2 ≤ −c1z12 − c2z22 + + 2
|θ̃| + |θ̂|
4κ1 4κ2 4g2
20
' '
Controller design in the modular approach (z0 = 0, α0 = 0)
zi = xi − yr(i−1) − αi−1
i−1 6 7
8 ∂αi−1 ∂αi−1
αi (x̄i , θ̂, ȳr(i−1) ) = −zi−1 − ci zi − wiT θ̂ + xk+1 + y (k)
(k−1) r
− s i zi
∂xk ∂yr
k=1
8 ∂αi−1
i−1
21
Requirement for identifier
error system
22
Since
1 0 ··· 0
... ...
− ∂α 1 1
'
W (z, θ̂, t)T = ∂x1
... ... ... F (x) = N (z, θ̂, t)F (x)T .
T
0
∂α ∂α
− ∂xn−1 · · · − ∂x n−1 1
1 n−1
Identifier properties:
23
Identifier Design
Passive identifier
x
ẋ = f + F Tθ
'(
$
+
%&
+
#
−
! "
x̂
! x̂˙ = A0 − λF TF P (x̂ − x) + f + F Tθ̂
θ̂ 1 θ̂˙
" "
ΓF P
24
+, θ̃ FP+!
)* +
!
#
−
Γ "
. /
+̇ = A0 − λF (x, u) F (x, u)P + + F (x, u)Tθ̃
T
update law
θ̂˙ = ΓF (x, u)P + , Γ = ΓT > 0 .
Use Lyapunov function
V = θ̃TΓ−1θ̃ + +TP +
its derivative satisfies
λ ˙ |2 .
V̇ ≤ −+T+ − |θ̂
λ̄(Γ)2
Thus, whenever x is bounded, F (x(t))Tθ̃(t) → 0 and θ̂˙ (t) → 0.
=∞
(+̇(t) → 0 because 0 +̇(τ )dτ = −+(0) exists, Barbalat’s lemma...)
25
Swapping identifier
x
ẋ = f + F Tθ
'(
$
> ? Ω0 +! +
Ω̇0 = A0 − λF TF P (Ω0 − x) + f +
%&
#
−
1
θ̂ "
θ̂˙ ΓΩ
"
1 + ν|Ω|2
26
'
define +̃ = x + Ω0 − ΩTθ,
. /
T
+̃˙ = A0 − λF (x, u) F (x, u)P +̃ .
Choose
1 T −1
V = θ̃ Γ θ̃ + +̃P +̃
2
we have
3 +T+
V̇ ≤ − T
,
4 1 + νtr{Ω Ω}
proves identifier properties.
27
Output Feedback Adaptive Designs
# $
0
ẋ = Ax + φ(y) + Φ(y)a + σ(y)u , x ∈ IRn
b
y = eT
1 x,
0
In−1
A = ...
,
0 ··· 0
ϕ0,1(y) ϕ1,1(y) · · · ϕq,1(y)
φ(y) = ...
,
Φ(y) = ... ...
,
ϕ0,n(y) ϕ1,n(y) · · · ϕq,n(y)
28
State estimation filters
Filters:
ξ̇ = A0ξ + ky + φ(y)
Ξ̇ = A0Ξ + Φ(y)
λ̇ = A0λ + enσ(y)u
j
vj = A0λ, j = 0, . . . , m
ΩT = [vm, . . . , v1, v0, Ξ]
29
Parameter-dependent state estimate
x̂ = ξ + ΩTθ
A0 = A − keT
1
is Hurwitz, that is,
P A0 + AT
0 P = −I, P = PT > 0
ε = x − x̂
satisfies
ε̇ = A0ε
30
Parametric model for adaptation:
ẏ = ω0 + ω Tθ + ε2
= bmvm,2 + ω0 + ω̄ Tθ + ε2 ,
where
ω0 = ϕ0,1 + ξ2
ω = [vm,2, vm−1,2, . . . , v0,2, Φ(1) + Ξ(2)]T
ω̄ = [0, vm−1,2, . . . , v0,2, Φ(1) + Ξ(2)]T .
31
Since the states x2, . . . , xn are not measured, the backstepping design
is applied to the system
ẏ = bmvm,2 + ω0 + ω̄ Tθ + ε2
v̇m,i = vm,i+1 − kivm,1 , i = 2, . . . , ρ − 1
v̇m,ρ = σ(y)u + vm,ρ+1 − kρvm,1 .
The order of this system is equal to the relative degree of the plant.
32
Extensions
Pure-feedback systems.
ẋi = xi+1 + ϕi(x1, . . . , xi+1)Tθ, i = 1, . . . , n − 1
! "
ẋn = β0(x) + β(x)Tθ u + ϕ0(x) + ϕn(x)Tθ ,
where ϕ0(0) = 0, ϕ1(0) = · · · = ϕn(0) = 0, β0(0) )= 0.
33
Unknown virtual control coefficients.
ẋi = bixi+1 + ϕi(x1, . . . , xi)Tθ, i = 1, . . . , n − 1
ẋn = bnβ(x)u + ϕn(x1, . . . , xn)Tθ ,
where, in addition to the unknown vector θ, the constant coefficients
bi are also unknown.
34
Multi-input systems.
Ẋi = Bi(X̄i)Xi+1 + Φi(X̄i)Tθ, i = 1, . . . , n − 1
Ẋn = Bn(X)u + Φn(X)Tθ ,
. /T
T
where Xi is a νi-vector, ν1 ≤ ν2 ≤ · · · ≤ νn, X̄i = X1 , . . . , XiT ,
@i
ν
X = X̄n, and the matrices Bi(X̄i) have full rank for all X̄i ∈ IR j=1 j .
The input u is a νn-vector.
35
Block strict-feedback systems.
ẋi = xi+1 + ϕi(x1, . . . , xi, ζ1, . . . , ζi)Tθ, i = 1, . . . , ρ − 1
ẋρ = β(x, ζ)u + ϕρ(x, ζ)Tθ
ζ̇i = Φi,0(x̄i, ζ̄i) + Φi(x̄i, ζ̄i)Tθ, i = 1, . . . , ρ
. /T
with the following notation: x̄i = [x1, . . . , xi]T, ζ̄i = ζ1T, . . . , ζiT ,
x = x̄ρ, and ζ = ζ̄ρ.
36
Partial state-feedback systems. In many physical systems there are
unmeasured states as in the output-feedback form, but there are also
states other than the output y = x1 that are measured. An example
of such a system is
ẋ1 = x2 + ϕ1(x1)Tθ
ẋ2 = x3 + ϕ2(x1, x2)Tθ
ẋ3 = x4 + ϕ3(x1, x2)Tθ
ẋ4 = x5 + ϕ4(x1, x2)Tθ
ẋ5 = u + ϕ5(x1, x2, x5)Tθ .
37
Example of Adaptive Stabilization in the Presence of a
Stochastic Disturbance
dx = udt + xdw
A B
w: Wiener process with E dw2 = σ(t)2dt, no a priori bound for σ
Control laws:
Disturbance Attenuation: u = −x − x3
Adaptive Stabilization: u = −x − θ̂x, θ̂˙ = x2
38
Disturbance Attenuation Adaptive Stabilization
7
5
4.5
4
4
3.5
3
x 3
x 2.5
2 2
1.5
%
%&&
1 1
0.5
0 0
0 0.5 1 1.5 2 2.5 0 0.5 1 1.5 2 2.5
t t
3
2.5
θ̂ 1.5
0.5
t
0 0.5 1 1.5 2 2.5
39
Major Applications of Adaptive Nonlinear Control
40
Other Books on Adaptive NL Control Theory Inspired by KKK
3. Qu (1998),
Robust Control of Nonlinear Uncertain Systems
41
Adaptive NL Control/Backstepping Coverage in Major Texts
1. Khalil (1995/2002),
Nonlinear Systems
2. Isidori (1995),
Nonlinear Control Systems
3. Sastry (1999),
Nonlinear Systems: Analysis, Stability, and Control
42