Lecture 16 (Observers and Output Feedback Control)

advertisement
Linear Control Systems
Lecture # 16
Observers and
Output Feedback Control
– p. 1/2
Observers: Consider the system
ẋ = Ax + Bu
y = Cx + Du
where the initial state x(0) is unknown, but we can measure
the output y . We want to estimate the state x from the
available signals u and y
We assume that we know the matrices {A, B, C, D}
If x(0) was known we could have estimated x by solving
the equation
x̂˙ = Ax̂ + Bu,
x̂(0) = x(0)
on line and we would have obtained x̂(t) ≡ x(t) because
of the uniqueness of solutions
– p. 2/2
This can also be seen by defining the estimation error
e = x − x̂. Then, e satisfies the equation
ė = Ax + Bu − Ax̂ − Bu = Ae,
e(0) = 0
whose solution is e(t) ≡ 0
If x(0) is unknown, we cannot choose x̂(0) = x(0). Hence
e(0) 6= 0 and the estimation error will be different from zero.
Notice, however, that if Re [λ(A)] < 0
lim e(t) = 0
t→∞
Hence, we can asymptotically estimate the state x
– p. 3/2
What if A has some eigenvalues with nonnegative real
parts? or if all the eigenvalues have negative real parts, but
convergence is slow?
Can we use feedback to stabilize the observer?
What signal can we feedback?
We measure y(t) = Cx(t) + Du(t). If an estimate of the
state x̂(t) is available on line, we can use it to estimate the
output by ŷ(t) = C x̂(t) + Du(t). Then
y(t) − ŷ(t) = Cx(t) + Du(t) − C x̂(t) − Du(t) = Ce(t)
– p. 4/2
Consider the observer (estimator):
x̂˙ = Ax̂ + Bu + K[y − ŷ]
where K is the observer gain (an n × p matrix, where p is
the number of outputs)
x̂˙ = Ax̂ + Bu + K[y − C x̂ − Du]
e(t) = x(t) − x̂(t)
ė = ẋ − x̂˙
= Ax + Bu − Ax̂ − Bu
−K[Cx + Du − C x̂ − Du]
= (A − KC)e
– p. 5/2
Design K such that
Re [λ(A − KC)] < 0
When is that possible?
(A − KC)T = AT − C T K T
Let
à = AT , B̃ = C T , F̃ = −K T
(A − KC)T = Ã + B̃ F̃
There is a matrix F̃ such that Re [λ(Ã + B̃ F̃ )] < 0 if and
only if (Ã, B̃) is stabilizable; i.e., if (Ã, B̃) is controllable or
any uncontrollable eigenvalue has a negative real part
– p. 6/2
There is a matrix K such that
Re [λ(A − KC)] < 0
if and only if (A, C) is detectable; i.e., (A, C) is observable
or any unobservable eigenvalue has a negative real part
How would you compute K ?
Find F̃ to stabilize (Ã + B̃ F̃ ) using any of the methods
studied under state feedback. Then, take K = −F̃ T
– p. 7/2
Output Feedback Control: Design an output feedback
controller to stabilize the system
ẋ = Ax + Bu
y = Cx + Du
Separation principle:
Design a state feedback controller u = F x + v such
that Re [λ(A + BF )] < 0
Design an observer
x̂˙ = Ax̂ + Bu + K[y − C x̂ − Du]
where K is chosen such that Re [λ(A − KC)] < 0
Take the output feedback controller as u = F x̂ + v
– p. 8/2
Closed-loop system under state feedback:
ẋ = (A + BF )x + Bv
y = (C + DF )x + Dv
The system is asymptotically stable because
Re [λ(A + BF )] < 0. Hence, it is BIBO stable
The closed-loop transfer function from v to y is given by
Hcl (s) = (C + DF )(sI − A − BF )−1 B + D
– p. 9/2
Closed-loop system under output feedback:
ẋ = Ax + BF x̂ + Bv
x̂˙ = Ax̂ + B(F x̂ + v) + K[Cx + Du − C x̂ − Du]
= KCx + (A + BF − KC)x̂ + Bv
y = Cx + DF x̂ + Dv
Change of variables:
" #
"
#" #
x
I 0
x
=
e
I −I
x̂
ẋ = Ax + BF (x − e) + Bv = (A + BF )x − BF e + Bv
ė = (A − KC)e
– p. 10/2
ẋ = (A + BF )x − BF e + Bv
ė = (A − KC)e
y = (C + DF )x − DF e + Dv
"
ẋ
ė
#
"
#"
#
(A + BF )
−BF
x
=
+
0
(A − KC)
e
" #
h
i x
+ Dv
y =
(C + DF ) −DF
e
"
B
0
#
v
The 2n closed-loop eigenvalues are the eigenvalues of
(A + BF ) and (A − KC)
– p. 11/2
Since both (A + BF ) and (A − KC) are designed to have
eigenvalues with negative real parts, the closed-loop
system is asymptotically stable and BIBO stable
To find the closed-loop transfer function from v to y , take
the Laplace transform of the state and output equations
assuming zero initial conditions
sx̃(s) = (A + BF )x̃(s) − BF ẽ(s) + B ṽ(s)
sẽ(s) = (A − KC)ẽ(s)
ỹ(s) = (C + DF )x̃(s) − DF ẽ(s) + Dṽ(s)
where x̃(s) = L{x(t)}
ẽ(s) = 0 ⇒ ỹ(s) = [(C +DF )(sI −A−BF )−1 B +D]ṽ(s)
The same as in state feedback
– p. 12/2
Remarks:
1. The controller is known as Observer-based controller
2. The observer-based controller can be represented as a
dynamic compensator with cascade and feedback
components
u = F x̂ + v,
x̂˙ = Ax̂ + Bu + K(y − C x̂ − Du)
x̂˙ = (A − KC)x̂ + Ky + (B − KD)u
x̃(s) = (sI − A + KC)−1 [K ỹ(s) + (B − KD)ũ(s)]
ũ(s) = F (sI −A+KC)−1 [K ỹ(s)+(B −KD)ũ(s)]+ ṽ(s)
– p. 13/2
ũ(s) = F (sI −A+KC)−1 [K ỹ(s)+(B −KD)ũ(s)]+ ṽ(s)
Define
Gu (s) = F (sI − A + KC)−1 (B − KD)
,
Gy (s) = F (sI − A + KC)−1 K
ũ(s) = Gu (s)ũ(s) + Gy (s)ỹ(s) + ṽ(s)
[I − Gu (s)]ũ(s) = Gy (s)ỹ(s) + ṽ(s)
ũ(s) = [I − Gu (s)]−1 [Gy (s)ỹ(s) + ṽ(s)]
– p. 14/2
ũ(s) = [I − Gu (s)]−1 [Gy (s)ỹ(s) + ṽ(s)]
3. The eigenvalues of (A + BF ) are chosen to meet the
design specifications on the transient response and any
constraints on x or u (as in state feedback). The
eigenvalues of (A − KC) are chosen much faster than
those of (A + BF ) (farther away to the left)
– p. 15/2
Example: Stabilization of H(s) = 1/s2
ẋ1 = x2 , ẋ2 = u, y = x1
"
#
" #
h
i
0 1
0
A=
, B=
, C= 1 0 , D=0
0 0
1
(A, B) is controllable and (A, C) is observable
State feedback control: u = F x + v
F =
h
f1 f2
i
⇒ A + BF =
"
0 1
f1 f2
#
det[sI − (A + BF )] = s2 − f2 s − f1
– p. 16/2
Desired eigenvalues: A pair of complex eigenvalues with
ωn = 2 and ζ = 0.5
2
= s2 + 2s + 4
s2 + 2ζωn s + ωn
Observer:
det[sI − (A + BF )] = s2 − f2 s − f1
h
i
⇒ F = −4 −2
K=
"
k1
k2
#
⇒ A − KC =
"
−k1 1
−k2 0
#
det[sI − (A − KC)] = s2 + k1 s + k2
– p. 17/2
Desired eigenvalues: A pair of complex eigenvalues with
ωn = 10 and ζ = 0.5
2
= s2 + 10s + 100
s2 + 2ζωn s + ωn
det[sI − (A − KC)] = s2 + k1 s + k2
"
#
10
⇒ K=
100
Output feedback controller:
u = −4x̂1 − 2x̂2 + v
x̂˙ 1 = x̂2 + 10(y − x̂1 )
x̂˙ 2 = u + 100(y − x̂1 )
– p. 18/2
Gu =
−2(s + 12)
s2 + 10s + 100
(1 − Gu )−1 =
Gy =
s2 + 10s + 100
s2 + 12s + 124
−80(3s + 5)
s2 + 10s + 100
– p. 19/2
Given the system
ẋ = Ax + Bu
y = Cx + Du
under what conditions can we stabilize it by output
feedback?
Theorem: The system {A, B, C, D} can be stabilized by
linear output feedback if and only if (A, B) is stabilizable
and (A, C) is detectable
Proof of sufficiency: If (A, B) is stabilizable and (A, C) is
detectable, we have seen how to design a stabilizing
observer-based controller
– p. 20/2
Proof of necessity: Show that uncontrollable and
unobservable eigenvalues cannot be moved by output
feedback
It is clear that uncontrollable eigenvalues cannot be moved
by feedback because they cannot be reached from the
input; so it does not matter whether we deal with state or
output feedback. They cannot be moved
#
#
"
"
B̂1
Â11 Â12
, B̂ =
 =
0 Â22
0
ż2 = Â22 z2
– p. 21/2
Consider now unobservable eigenvalues
"
#
h
i
Â11 0
, Ĉ = Ĉ1 0
Â21 Â22
ż1 = Â11 z1 + B̂1 u
ż2 = Â21 z1 + Â22 z2 + B̂2 u
y = Ĉ1 z1 + Du
Set v = 0 and consider any linear dynamic controller that
can be represented by ũ(s) = G(s)ỹ(s). Let
{Aa , Ba , Ca , Da } be a state-space model of G(s)
– p. 22/2
żc = Aa zc + Ba y
u = C a z c + Da y
u = Ca zc + Da (Ĉ1 z1 + Du)
(I − Da D)u = Ca zc + Ĉ1 z1
The matrix (I − Da D) must be nonsingular for the
closed-loop system to be well defined
u = (I − Da D)−1 [Ca zc + Ĉ1 z1 ]
Notice that u depends only on z1 and zc . Also
żc = [ · ]z1 + [ · ]zc
– p. 23/2
The closed-loop equation takes the form





z1
∗ ∗ 0
ż1





 żc  =  ∗ ∗ 0   zc 
∗ ∗ Â22
ż2
z2
The unobservable eigenvalues remain as closed-loop
eigenvalues
– p. 24/2
Download