Vous êtes sur la page 1sur 8

Lecture 3: State-feedback, observers, reference

values, and integrators


Problem formulation
Pole placement
Observers
Output feedback
Reference values
A larger example

Problem formulation
Model: Continuous-time, sample with h

x( kh + h) = x( kh) + u( kh)

Disturbances: Sporadic pulse disturbances x(0) = x0


Criterion: x(t) 0 reasonably fast with reasonable
inputs u. Choose closed loop poles
Admissible controls: Linear controllers, all states available
More complicated problems later

Problem formulation contd


Design parameters
Closed loop poles
Sampling interval
Evaluation
Compare x(t) and u( kh) with specifications
Trade-off between control magnitude and speed of response
Subjective judgements

Example Double integrator

h /2
1 h

u( kh)

x( kh) +
x( kh + h) =
0

Linear state-feedback controller

u( kh) = Lx( kh) = l1 x1 ( kh) l2 x2 ( kh)

Closed-loop system becomes


x( kh + h) = ( L) x( kh)

1 l1 h2 /2 h l2 h2 /2

=
x( kh)
l1 h
1 l2 h

Characteristic equation

 2

 2
l1 h
l1 h
2
+ l2 h 2 z +
l2 h + 1 = 0
z +
2
2

Example contd

General case

Characteristic equation
 2

 2

l1 h
l1 h
2
z +
+ l2 h 2 z +
l2 h + 1 = 0
2
2
Desired characteristic equation
z2 + p1 z + p2 = 0

l1 h2
l2 h + 1 = p2
2

Solution
l1 =

1
(1 + p1 + p2 )
h2

l2 =

Solvable
\ ( , ) reachable
\ Wc = [ , , . . . , n1 ] has full rank
Matlab L = place(Phi,Gamma,neweigs)

Linear equations for l1 and l2


l1 h2
+ l2 h 2 = p1
2

Basic problem:
Find L such that L has prescribed eigenvalues

1
(3 + p1 p2 )
2h

Unique solution, linear in li


L depends on h
How to choose the specifications?
Use the continuous time counterpart
Damping and natural frequency ( 0 ) of dominating
poles

Solution via controllable form

How to find T ?

= p1 a1
L = LT

= T T 1 , = T

= LT
x = Lx
u = Lz

z = T x,

det( zI ) = A( z)

Desired characteristic equation obtained for

pn an T

c = [T , T T 1 T , . . . , T n1 ] = T Wc
W

..

= l1 l2 . . . ln z
u = Lz

= p1 a1 p2 a2 pn an z

How to get T ?

det( zI ( L)) = P( z)

a1 a2 an1 an

1
0
0
0

..
..
..
..

.
.
.
.

p2 a2

Solvable for T if the system is reachable

T 1

1 a1 an1

0 1 an2

Wc = .

.
.

.
.
.
. .

0 0
1

1 = a1 + . . . an1 + + n1
= Wc W
c

L = p1 a1 p2 a2 pn an

1
a1 + . . . an1 + + n1

Ackermanns formula
n + a1
n1 + + an I = 0

n + p1
n1 + + pn I = ( p1 a1 )
n1 + + ( pn an ) I

For controllable form and 0 k < n

0 ... 1
k = 0 ... 1 ... 0

(b)
Input

Output

2
1
0

pn an = L

5
0

10

15

(c)

10

15

10

15

(d)
0

Input

thus

s2 + 2 s + 2
(a)

n k

so that

0 . . . 1 P()
= p1 a1 p2 a2

Use the continuous time counterpart

Input

=
A()
=
P()

Double integrator

T P()T 1

5
0

10

15

}|
{

z
= 0 . . . 1 P(T T 1 ) T = 0 . . . 1 T P()
L = LT

c W 1 P() = 0 . . . 1 W 1 P()
= 0 ... 1 W
c
c

Change of ( h = 0.44) x T (0) = [1 1], b) = 0.5, c) = 1,


d) = 2

Double integrator contd

Double integrator contd

Time

Time

Other initial value x T (0+ ) = [1 1]


b) N = 5, c) N = 10, d) N = 20

Change of h ( N )
b) N = 5, c) N = 10, d) N = 20

(a)
2

0
0

10

Input

5
Time

10

10

5
Time

10

10

5
Time

10

2
0

0
(d)

2
2

(c)
Input

(d)
0

10

(c)

Input

Input

(b)
Output

Input

Output

(b)

Input

(a)

5
Time

10

Rule of thumb: h =0.2 0.6

Deadbeat control

Observers
x( k + 1) = x( k) + u( k)

Choose P( z) = zn
Remaining design parameter h

y( k) = Cx( k)

Assume only the output available

Double integrator x T (0) = [1 1]


(a)

(b)
Input

Output

10
(d)

Input

Input

Kalman form
Luenberger form

0
5

(c)

Direct calculation

0
5

10

5
Time

10

5
0

Main question:
How to choose the observer poles?

5
0

5
Time

10

b) h = 2, c) h = 1, d) h = 0.5

Luenberger observer
Reduced order observer

Reconstruction using dynamical model


Consider the model
x( k + 1) = x( k) + u( k)

Introduce direct term in the observer

y( k) = Cx( k)

x ( k p k) = x ( k 1 p k 1) + u( k 1)


+ K y( k) C ( x ( k 1 p k 1) + u( k 1))

Introduce "feedback" from measured y( k)

= ( I K C ) ( x ( k 1 p k 1) + u( k 1)) + K y( k)

x ( k + 1 p k) = x ( k p k 1) + u( k) + K [ y( k) C x ( k p k 1)]

Form the estimation error x = x x


x ( k+1 p k) = x ( k p k1) K C x ( k p k1) = [ K C] x ( k p k1)

Choose K to get good convergence


Any eigenvalues possible, provided Wo full rank
Trade-off against noise amplification

Reconstruction error can be written as


x ( k p k) = x( k) x ( k p k) = ( K C ) x ( k 1 p k 1)

Look at
y( k) = y( k) C x ( k p k) = C x ( k p k) = C ( I K C ) x ( k 1 p k 1)

= ( C C K C ) x ( k 1 p k 1) = ( I C K ) C x ( k 1 p k 1)
| {z }
=0?

Why reduced order?

Output feedback
x

New coordinates

C
y
x = Tx
=


z=
C

The error can be written as


y( k p k)

=
z( k p k) =
z( k p k)

0
z( k p k)

where dim z = dim x dim y = n p

Process

Observer

x ( k + 1 p k) = x ( k p k 1) + u( k) + K ( y( k) C x ( k p k 1))

u( k) = L x ( k p k 1)
x ( k + 1 p k) = ( K C L) x ( k p k 1) + K y( k)
u( k) = L x ( k p k 1)

Only z( k p k) = . . . needed

The transfer function of the controller


Gr ( z) = L( zI + L + K C)1 K

Closed loop system

Example Double integrator

x( k + 1) = x( k) + u( k)

Process poles:
Observer poles:

Ar ( z) = det( zI + L)
Ao ( z) = det( zI + K C )

May also use observer with direct term

Velocity

(a)

Estimated states
a) Kalman
b) Luenberger

5
Time

10

0
0

(b)

5
Time

10

10

5
Time

10

2
Velocity

Separation

L
x( k)

KC
x ( k p k 1)

10

2
Velocity

x ( k + 1 p k)

Measured states

Position

Eliminate u( k)


x( k + 1)
L

Position

u( k) = L( x( k) x ( k p k 1))

Position

x ( k + 1 p k) = ( K C ) x ( k p k 1)

0
0

5
Time

10

General disturbances

General disturbances, contd

Dynamical systems with initial values gives the disturbance v

u( k) = Lx( k) Lww( k)

dx
= Ax + Bu + v
dt
dw
= Aw w
v = Cww

dt

x A Cw x B
d

u
+
=



dt w
0
0 Aw
w

Closed-loop system
x( k + 1) = ( L) x( k) + ( xw Lw ) w( k)
{z
}
|
(0?

Sampling gives


xw x( k)
x( k + 1)

+ u( k)

=

w( k + 1)

w( k)

Combined feedback and feedforward

w( k + 1) = ww( k)

w uncontrollable from u! w observable?

Unmeasurable disturbances Step input load


w = 1 i.e. v( k + 1) = v( k) and xw =

Servo case
Try first
u( k) = L x ( k) + L c uc ( k)
The closed loop system

=1

z}|{
u( k) = L x ( k) Lw w ( k) = L x ( k) w ( k)

x ( k + 1) = x ( k) + (w ( k) + u( k)) + K ( y( k) C x ( k))

x( k + 1) = ( L) x( k) + L x ( k) + Lc uc ( k)

w ( k + 1) = w ( k) + K w( y( k) C x ( k))

x ( k + 1) = ( K C ) x ( k)
y( k) = Cx( k)

Integrator in the controller!

uc
x

Disturbance
Observer

State
Observer

u
v

Process

Lc

Observer

Process

Servo case, contd

Model and feedforward

Observer error not reachable from uc , i.e. cancellation of

Use a two-degree-of-freedom controller

Ao = det( zI + K C)

uc

Model and
Feedforward
xm
Generator

Closed loop system from reference to output

u ff

B ( z)
H cl ( z) = C( zI + L) L c = L c
Ac ( z)

B ( z)
A( z)

Controller

Notice: Same zeros! Why?

Output

J2

H m ( q)
uc ( k)
H ( q)

Specifications: m = 0.5 and m = 0.7


Sampling interval: h = 0.5

[ N = 6

x3 = 2 / 0
u( kh) = L x ( kh p kh h) + L c uc ( kh)
Desired closed loop poles (in continuous time)

(s2 + 2 m m s + 2m ) (s + 1 m ) = 0 1 = 2

0.1

u f f ( k) =

Open-loop system: p = 1 and p = 0.05


2

x2 = 1 / 0

Observer

Design
2

Motor

x1 = 1 2
Impulse response

u( k) = L( xm ( k) x ( k)) + u f f ( k)

Feedforward signal

J1

Process

ym ( k) = Cm xm ( k)

A design example
I

xm ( k + 1) = m xm ( k) + m uc ( k)

Reference trajectories for states

Open-loop pulse transfer function

H ( z) = C( zI )1 =

u fb

Observer design
0

25

50
Time

No friction [ Integrator [ y , 0 after an impulse

75


s2 + 2 m 0 m s + ( 0 m )2 (s + 0 1 m ) = 0 0 = 2

Design

Summary

Output

Feedback from observed states. Observer twice as fast as


closed loop dynamics.

20

40

60

80

Input

Full model
Reduced order
Delays in the estimator

General disturbances
The servo case

1
0
1

Reachability
Ackermanns formula

Observers

State feedback

Two degree-of-freedom controller


0

20

40
Time

60

80

Vous aimerez peut-être aussi