2E1262
2006
2E1262 Nonlinear Control
Lecture 10
Lyapunov-based control design methods Exact feedback linearization
Lecture 10
2E1262
2006
Todays Goal
You should be able to
Design nonlinear observers Design controllers based on back-stepping Apply exact feedback linearization
Lecture 10
2E1262
2006
Output Feedback and State Feedback
x = f (x, u) y = h(x)
Output feedback: Find u
= k(y) such that the closed-loop system
x = f x, k h(x)
has nice properties. State feedback: Find u
= (x) such that x = f (x, (x))
has nice properties.
k and may include dynamics.
Lecture 10 3
2E1262
2006
Nonlinear Controllers
Nonlinear dynamical controller: z = a(z, y), u = c(z) Linear dynamics, static nonlinearity: z = Az + By , u = c(z) Linear controller: z = Az + By , u = Cz
Lecture 10
2E1262
2006
Nonlinear Observers
What if x is not measurable?
x = f (x, u), y = h(x)
Simplest observer
x = f (x, u) x = f (x, u) + K(y h(x))
Correction, as in linear case,
Choices of K
Linearize f at x0 , nd K for the linearisation Linearize f at x(t), nd K = K(x) for the linearisation
Second case is called Extended Kalman Filter
Lecture 10 5
2E1262
2006
Lyapunov-Based Control Design Methods
x = f (x, u) Find stabilizing state feedback u = u(x) Verify stability through Lyapunov function Methods depend on structure of f
Here we limit discussion to Back-stepping control design, which require certain f discussed later.
Lecture 10
2E1262
2006
Back-Stepping Control Design
We want to design a state feedback u
= u(x) that stabilizes
(1)
x1 = f (x1 ) + g(x1 )x2 x2 = u
at x
= 0 with f (0) = 0.
Idea: See the system as a cascade connection. Design controller rst for the inner loop and then for the outer.
x2
g(x1 ) f ()
x1
Lecture 10
2E1262
2006
Suppose the partial system
x1 = f (x1 ) + g(x1 ) v
can be stabilized by v = V1 = V1 (x1 ) such that
(x1 ) and there exists Lyapunov fcn W (x1 )
1 (x1 ) = dV1 f (x1 ) + g(x1 )(x1 ) V dx1
for some positive denite function W .
Lecture 10
2E1262
2006
The Trick
Equation (1) can be rewritten as
x1 = f (x1 ) + g(x1 )(x1 ) + g(x1 )[x2 (x1 )] x2 = u
u x2 (x1 ) g(x1 ) f + g x1
Lecture 10
2E1262
2006
Introduce new state
= x2 (x1 ) and control v = u :
x1 = f (x1 ) + g(x1 )(x1 ) + g(x1 ) =v
where
1 ) = d x1 = d f (x1 ) + g(x1 )x2 (x dx1 dx1
u g(x1 ) f + g x1
(x1 )
Lecture 10
10
2E1262
2006
Consider V2 (x1 , x2 )
= V1 (x1 ) + 2 /2. Then,
2 (x1 , x2 ) = dV1 f (x1 ) + g(x1 )(x1 ) + dV1 g(x1 ) + v V dx1 dx1 dV1 g(x1 ) + v W (x1 ) + dx1
Choosing
dV1 v= g(x1 ) k, dx1
gives Hence, x
k>0
V2 (x1 , x2 ) W (x1 ) k 2
= 0 is asymptotically stable for (1) with control law u(x) = (x) + v(x). If V1 radially unbounded, then global stability.
Lecture 10 11
2E1262
2006
Back-Stepping Lemma
Lemma: Let z
= (x1 , . . . , xk1 )T and z = f (z) + g(z)xk xk = u
Assume (0)
= 0, f (0) = 0, z = f (z) + g(z)(z)
stable, and V (z) a Lyapunov fcn (with V d u= f (z) + g(z)xk dz
stabilizes x
Lecture 10
W ). Then,
dV g(z) (xk (z)) dz
= 0 with V (z) + (xk (z))2 /2 being a Lyapunov fcn.
12
2E1262
2006
Strict Feedback Systems
Back-stepping Lemma can be applied to stabilize systems on strict feedback form:
x1 = f1 (x1 ) + g1 (x1 )x2 x2 = f2 (x1 , x2 ) + g2 (x1 , x2 )x3 x3 = f3 (x1 , x2 , x3 ) + g3 (x1 , x2 , x3 )x4
. . .
xn = fn (x1 , . . . , xn ) + gn (x1 , . . . , xn )u
where gk Note:
=0
x1 , . . . , xk do not depend on xk+2 , . . . , xn .
Lecture 10
13
2E1262
2006
2 minute exercise: Give an example of a linear system x = Ax + Bu on strict feedback form.
Lecture 10
14
2E1262
2006
Back-Stepping
Back-Stepping Lemma can be applied recursively to a system
x = f (x) + g(x)u
on strict feedback form. Back-stepping generates stabilizing feedbacks k (x1 , . . . , xk ) (equal to u in Back-Stepping Lemma) and Lyapunov functions
Vk (x1 , . . . , xk ) = Vk1 (x1 , . . . , xk1 ) + [xk k1 ]2 /2
by stepping back from x1 to u (see Khalil pp. 593594 for details). Back-stepping results in the nal state feedback
u = n (x1 , . . . , xn )
Lecture 10 15
2E1262
2006
Example
Design back-stepping controller for
x1 = x2 + x2 , x2 = x3 , x3 = u 1
Step 0 Verify strict feedback form Step 1 Consider rst subsystem
x1 = x2 + 1 (x1 ), x2 = u1 1 = x2 x1 stabilizes the rst equation. With 1 V1 (x1 ) = x2 /2, Back-Stepping Lemma gives 1
where 1 (x1 )
u1 = (2x1 1)(x2 + x2 ) x3 (x2 + x2 + x1 ) = 2 (x1 , x2 ) 1 1 V2 = x2 /2 + (x2 + x2 + x1 )2 /2 1 1
Lecture 10 16
2E1262
2006
Step 2 Applying Back-Stepping Lemma on
x1 = x2 + x2 1 x2 = x3 x3 = u
gives
dV2 d2 u = u2 = f (z) + g(z)xn g(z) (xn 2 (z)) dz dz 2 2 2 V2 = (x1 + x2 ) + x3 (x3 2 (x1 , x2 )) x1 x2 x2
which globally stabilizes the system.
Lecture 10
17
2E1262
2006
Exact Feedback Linearization
Idea: Find state feedback u
= u(x, v) so that nonlinear system
x = f (x) + g(x)u
turns into linear system
x = Ax + Bv
and then apply linear control design method.
Lecture 10
18
2E1262
2006
One-Link Robot
m
m 2 + d + m g cos = u
where d is the viscous damping. The control u
= is the applied torque = u(x) with x = (, )T
19
Design state feedback controller u
Lecture 10
2E1262
2006
Introduce new control variable v and let
u = m 2 v + d + m g cos
Then Choose PD-controller
=v v = v(, ) = kp (ref ) kd
Gives closed-loop system:
+ kd + kp = kp ref
Hence, u
= m 2 [kp ( ref ) kd ] + d + m g cos
20
Lecture 10
2E1262
2006
n-Link Robot
m2
2
2 2 m1 1
M () + C(, ) + G() = u, M C G
Lecture 10
(t), u(t) Rn1
n n inertia matrix, M = M T > 0 n 1 vector of centripetal and Coriolis terms n 1 vector of gravitation terms
21
2E1262
2006
Computed Torque Method
u = M ()v + C(, ) + G() Kp , Kd Rnn v = Kp (ref ) Kd ,
gives closed-loop system
+ Kd + Kp = Kp ref
Note that this is n independent second-order equations. We may choose Kd
= kd I and Kp = kp I .
Lecture 10
22
2E1262
2006
Kp ref
x=f
(, )
C, G
K p , Kd
Remarks:
Accurate model and certain system structure needed Extension: Include ref and ref (reference model)
Lecture 10 23
2E1262
2006
Exact Feedback Linearization
Transform nonlinear system x = f (x) + g(x)u into a linear system z = Az + bv by means of feedback u = (x) + (x)v and/or a change of state variables z = T (x). Then, design a stabilizing state feedback for the linear system.
x=f
Remark: Computed torque method corresponds to exact feedback linearization using only feedback.
Lecture 10
24
2E1262
2006
Example
Design controller based on feedback and state transformation for
x1 = a sin x2 x2 = x2 + u 1
Note we cannot cancel a sin x2 by only using u. Introduce instead
z1 = x1 , z2 = a sin x2
so that
z1 = z2
2 z2 = (z1 + u)a cos x2
Now, feedback linearization is possible by u
Lecture 10
2 = z1 + v/(a cos x2 )
25
2E1262
2006
Feedback linearization leads to
z1 = z2 z2 = v
For example, v = k1 z1 k2 z2 gives closed-loop characteristic polynomial s2 The resulting feedback law is
+ k2 s + k1 .
u=
2 z1
v k1 x1 + k2 a sin x2 2 + = x1 a cos x2 a cos x2
Lecture 10
26
2E1262
2006
Next Lecture
Gain scheduling Nonlinear controllability (How to park a car )
Lecture 10
27