You are on page 1of 22

Robust Control Design via Feedback Linearization

Harry G. Kwatny
Department of Mechanical Engineering & Mechanics Drexel University

Outline

Perturbations of feedback linearizable systems Triangular forms Lyapunov Redesign

Setup

x = f ( x) + G ( x)u y = h( x ) x Rn , u Rm , y R p g m ( x)] , h( x) smooth

f ( x), G ( x) = [ g1 ( x)

z = Az + bv y = cz 0 1 0 0 A= 0 0 1 0 0 , b = , c = [1 0 1 0 0 1

0]

Perturbations of SISO Feedback Linearizable Systems


x = f ( x) + ( x) + [ g ( x) + ( x) ] u y = h( x )
Assumption: the nominal system is feedback linearizable. What happens when the nominal system transformation is applied to the actual system?

Matched Uncertainty, etc.


Gi = span { g , , ad if g} , 0 i n 1
Definition: Suppose the system is of relative degree r. We say that the perturbation satisfies: The triangularity condition if

adGi Gi +1 , 0 i r 3
ad Gi Gi +1 , 0 i r 2

The strict triangularity condition if The extended matching condition if The matching condition if

G1

G0

Triangular Forms (r = n)
triangularity zi = zi +1 + i ( z1 , , zi +1 ) , 1 i n 1 zn = ( x ( z ) ) + n ( z1 , , zn ) + ( x ( z ) ) u strict triangularity zi = zi +1 + i ( z1 , , zi ) , 1 i n 1 zn = ( x ( z ) ) + n ( z1 , , zn ) + ( x ( z ) ) u extended matching zi = zi +1 , 1 i n 2 zn 1 = n 1 ( z1 , , zn ) zn = ( x ( z ) ) + n ( z1 , , zn ) + ( x ( z ) ) u matching zi = zi +1 , 1 i n 1 most restrictive zn = ( x ( z ) ) + n ( z1 , , zn ) + ( x ( z ) ) u least restrictive

Example
0 x2 0 x x x ( x , x ) 0 1 1 2 3 1 2 + + x= u 0 0 x4 x1 x3 x4 / 2 2 ( x3 , x4 ) 1
f

0 0 0 0 0 0 0 0 0 1 0 0 G0 = , G1 = , , G2 = , , 0 1 0 0 1 0 1 0 1 0 0 1

Example Contd
0 0 0 0 0 0 , ad G0 = , ad G1 = , 0 0 0 x x x 2 4 2 4 2 3 0 0 0 1 x2 0 0 ad G2 = , , 0 0 0 0 2 x4 2 x3 strict triangularity

Example Contd
z1 = x1 z2 = x2 z3 = x1 x2 + x3 z4 = x1 x3 + x4 x1 = z1 x2 = z2 x3 = z1 + z2 + z3 x4 = z2 + z3 + z4

z2 0 z z , z ( ) 0 3 1 1 2 z= u + 0 z4 + 1 ( z1 , z2 ) 1 z z z z z z z z z + + + + 3 5 3 2 , 2 3 4 2( 1 2 3 2 3 4 ) ) 2 ( 1

Lyapunov Redesign Process


Begin with an exactly feedback linearizable nominal system with matched uncertainty Apply the nominal control u*(z) to actual system and test stability using a Lyapunov function Add a new component to nominal control, u(z) = u*(z) + (z)-1(z) to enhance stability Choose (z) via Lyapunov design

Problem Setup

A state linearizable system with matched uncertainty is transformable to:

(*)

z = Az + E [ ( z ) + ( z, u, t ) + ( z )u ]

Choose a control based on nominal system:

u * (t ) = 1 ( z ) ( ( z ) + Kz ) , with ( A + EK ) stable

Nominal Closed Loop System


(**)
z = ( A + EK ) z
function
2

( A + EK ) stable Lyapunov
T

V ( z ) = z T Pz , V ( z ) = z T Qz z

P ( A + EK ) + ( A + EK ) P = Q I , Q = QT > 0
along trajectories of (**)

Actual Closed Loop System


Apply u* to actual system (*). Try V(z)


V ( z ) = z Qz z + 2 z T PE
T 2

Assume

< z , 0
2 2

V ( min ( Q ) + 1) z + 2 PE z stability if < ( min ( Q ) + 1) / 2 PE

This implies some inherent robustness

Redesign (we can do more) ~ 1


u = u * + 1

Assume the uncertainty satisfies:


(0,0, t ) = 0, t ( z, u* + 1 , t ) ( z ) z + k , 0 k < 1, smooth

The actual closed loop dynamics are:


z = ( A + EK ) z + E + ( z , u * + 1 , t )

The time derivative of V along trajectories is 2 T V = z Qz z + 2 z T PE ( + )

Redesign ~ 2

Set w := z PE and try to achieve z + wT ( + ) 0 Notice that


T T
2

wT + wT wT + w wT + w ( z ) z + k For a smooth control set := w , ( z ) > 0


z + w + w w (1 k ) + w ( z ) z z
2 T T 2 2

=
z +w +w
2 T T 1 4 2

1 2 4 (1 k )
2 2 1 2

w + w z z = ( w z

Redesign ~ 3

1 2 will do So any > 4 (1 k )

In particular
2 ( z) T = E Pz , 0 + > 0 0 4 1 k ( )

Redesign ~ 4

There are other possibilities, recall


V = z Qz z + wT ( + )
T 2

And
wT + wT wT + w ( z ) z + k

So choose
= ( z) w
1 k w , ( z) > ( z) z

Example
x2 x1 0 3 + au u x + 1 x = 0.2 x + x 3 / 2 + 1 2 2 1 [ 0,1] , a [ 0.1, 0.1]

= 0.1x2 + x1 + x13 / 2, = 1
x1 u = + [ 1 2] = 2 x1 1.9 x2 x13 / 2 x2
* 1 3 x 3 1 = x1 + a 2 x1 1.9 x1 + a 2 2 = 0.0761 + 1.1025 x14 , k = a

x13 u = u + = 5.02114 x1 0.30625 x15 4.92114 x2 0.30625x14 x2 2


*

Example ~ Results
x1 1.4 1.2 1 0.8 0.6 0.4 0.2 2 4 6 8 x1 1.4 1.2 1 0.8 0.6 0.4 0.2 t 10

= 1, a = 0.1

x1 14 12 10 8 6 4

10

0.2 0.4 0.6 0.8

1.2 1.4

nom system/nom control


x2 2 -0.2 -0.4 -0.6 -0.8 4 6

actual system/robust control actual system/nom control


2 4 6 8 10 t x2 140 120 100 80 60 40 20 0.2 0.4 0.6 0.8 1 1.2 1.4 t

x2 t 10 8 -0.05 -0.1 -0.15 -0.2 -0.25 -0.3

Setup for Backstepping


SISO system r=n strict triangularity assumption

xi = xi +1 + i ( x1 , , xi , t ) , 1 i n 1 xn = ( x ) + ( x ) u + n ( x, t )

det ( 0 ) 0 ( 0, t ) = 0, i ( X i , t ) i ( X i ) X i , i 0 X i = { x1 xi }

Step 1
x1 = v1 + 1 ( x1 , t ) y1 = x1 y1 = v1 + 1 ( y1 , t ) := f1 ( y1 )
2 V1 := 1 y 2 1

L f1V1 = y1 ( v1 + 1 ( y1 , t ) ) choose : v1 = k1 y1 1 ( y1 ) y1 L f1V1 = k1 y12 1 ( y1 ) y12 + y11


2 take : 1 ( y1 ) > 1 4 1 ( x1 ) , x1 0

L f1V1 = ( k1 1) y12

Step 2

x1 = x2 + 1 ( x1 , t ) x2 = v2 + 2 ( x1 , x2 , t ) y2 = x2 v1 ( x1 )

( x1 , x2 )

( y1 , y2 )
:= f1 ( y1 , y2 )

y1 = v1 ( y1 ) + y2 + 1 ( y1 , t ) y2 = v2 + 2 ( y1 , y2 , t )

choose : v2 = y1 k2 y2 2 ( y1 , y2 ) y2
2 2 2 y , y L V k 2 y k 1 y 2 ( y1 , y2 ) > 1 ( ) ( ) ( ) f 2 2 1 2 1 1 2 2 4
2

2 y define : V2 = V1 + 1 2 2

You might also like