Review: Today's Topic
Review: Today's Topic
r
+ u ẋ = Ax + Bu
y
y=x
u
plant y
controller
y
u plant observer b
x
State Estimation Using an Observer
The idea is to design the observer in such a way that the state
b is asymptotically accurate:
estimate x
v
u n
uX t→∞
kbx(t) − x(t)k = t xi (t) − xi (t))2 −−−→ 0
(b
i=1
y
plant observer
b
x
u= b
Kx
K
A New Concept: Observability
ẋ = Ax + Bu, y = Cx x ∈ Rn
0 −6
Let A= , C= 0 1
1 −5
ẋ = Ax + Bu, y = Cx
(The proof of this for n > 2 uses the Jordan canonical form, we will
not worry about this.)
Coordinate Transformations and Observability
Just like controllability, observability is preserved under
invertible coordinate transformations.
T
ẋ = Ax + Bu −−−−→ x̄˙ = Āx̄ + B̄u
y = Cx y = C̄ x̄
−1 −1
where Ā = T AT , B̄ = T B, C̄ = CT
C̄ CT −1
C̄ Ā
CT T AT −1
−1
O(Ā, C̄) = =
..
..
. .
C̄ Ā n−1 −1
CT T An−1 T −1
C
CA
= . T −1 = O(A, C)T −1
. .
CAn−1
Coordinate Transformations and Observability
Just like controllability, observability is preserved under
invertible coordinate transformations:
T
ẋ = Ax + Bu −−−−→ x̄˙ = Āx̄ + B̄u
y = Cx y = C̄ x̄
where Ā = T AT −1 , B̄ = T B, C̄ = CT −1
ḃ = (A − LC)b
x x + Ly.
System: ẋ = Ax
y = Cx
Observer: ḃ = (A − LC)b
x x + Ly.
ė = ẋ − x
ḃ
= Ax − [(A − LC)b
x + LCx]
= (A − LC)x − (A − LC)b
x
= (A − LC)e
v̇ = F v, v ∈ Rn , F ∈ Rn×n
Let λ1 , . . . , λn be eigenvalues of F , i.e., roots of
det(Is − F ) = 0.
Then there exists a matrix T ∈ Rn×n , such that T −1 = T T and
λ1
λ2
F = T −1 .. T
.
λn
Consider the change of coordinates v̄ = T v. Then
λ1
λ2
v̄˙ = T F T −1 v̄ = .. v̄
.
λn
Linear ODEs: A Digression
λ1
λ2
v̄˙ = T F T −1 v̄ = .. v̄, (λ1 , . . . , λn ) = eig(F )
.
λn
m
v̄˙ i = λi v̄i , i = 1, 2, . . . , n
System: ẋ = Ax
y = Cx
Observer: ḃ = (A − LC)b
x x + Ly
Error: ė = (A − LC)e
System: ẋ = Ax
y = Cx
Observer: ḃ = (A − LC)b
x x + Ly
Error: ė = (A − LC)e
ẋ = Ax, y = Cx
ẋ = Ax
y = Cx, y∈R
0 0 ... 0 0 −an
1 0 ... 0 0 −an−1
.. ,
where A = ... .. . .
. .
.. ..
. . . C = 0 0 ... 0 1
0 0 ... 1 0 −a2
0 0 ... 0 1 −a1
— still in OCF!!
Observer Pole Placement in OCF
ẋ = Ax, y = Cx, ḃ = (A − LC)b
x x + Ly
0 0 ... 0 −(an + `1 )
1 0 ... 0 −(an−1 + `2 )
A − LC = ... .. . .
. .
..
.
..
.
0 0 ... 0 −(a2 + `n−1 )
0 0 ... 1 −(a1 + `n )
Eigenvalues of A − LC are the roots of the characteristic
polynomial
det(Is − A + LC)
= sn + (a1 + `n )sn−1 + . . . + (an−1 + `2 )s + (an + `1 )
Key observation: In OCF, each observer gain affects only one
of the coefficients of the characteristic polynomial, which can be
assigned arbitrarily by a suitable choice of `1 , . . . , `n .
Hence the name Observer Canonical Form — convenient for
observer design.
Observer Pole Placement
ḃ = (A − T −1 L̄C)b
x x + T −1 L̄y
ẋ = Ax, y = Cx
ẋ = AT x + C T u
is controllable.
Proof: C(AT , C T ) = C T | AT C T | . . . | (AT )n−1 C T
T
C
CA
= . = [O(A, C)]T
..
CAn−1
F − GK = AT − C T K
ḃ = (A − LC)b
x x + Ly
= (A − K T C)b
x + K T y.
Combining Full-State Feedback with an Observer
I So far, we have focused on autonomous systems (u = 0).
I What about nonzero inputs?
ẋ = Ax + Bu
y = Cx
— assume (A, B) is controllable and (A, C) is observable.
I In the next lecture, we will learn how to use an observer
together with estimated state feedback to (approximately)
place closed-loop poles.
u= b
Kx
plant y
b
x
K observer