Notes 6
Notes 6
Notes 6
Observers
The previous chapter showed you how to obtain a state-feedback controller that
places the closed-loop eigenvalues is desired locations. Of course, this requires that
your control system have access to all the states. In practice, this will not always be
possible. Here we show how, using the output and a model of the system, an estimate
of the states can be obtained. A system that does this successfully is known as an
observer.
x(0) = x0
39
x
(t) = Ax
(t) + Bu(t) + L y(t) C x
(t) Du(t) ,
where L Rn1 is a free matrix to be chosen.
The term inside the brackets:
y(t) C x
(t) Du(t),
can be thought of as an estimate of the output of the system, because
ey = y C x
Du = (C x + Du) (C x
+ Du) = C (x x) = C e.
It follows that, if the estimate e goes to zero, so does ey (t). However, the converse
is not true, in general. It is possible for ey (t) to go to zero without e(t). However, if
the system is observable, then this reverse implication does hold.
Once again, we compute the dynamic equation for e(t):
e(t) = x (t) x
(t)
= Ax(t) + Bu(t) Ax
(t) + Bu(t) + L y(t) C x
(t) Du(t)
= (A LC )e(t)
= CT ,
B
= LT
K
such that A B
K
has the desired eigenThen, the problem reduces to finding a K
values.
This is the same problem that we considered in looking for a state-feedback con ) is controllable, then the eigentrol input. Specifically, we know that if the pair (A, B
K
can be set arbitrarily. Recall that (A, B
) is controllable if and only
values of A B
if the controllability matrix
C = B An1 B
40
6 Observers
= C T we get:
is of full rank. Replacing A = AT and B
C = B An1 B
= C T (AT )n1 C p
B
=
.
C An1
= OT .
) is the transpose of the observability matrix
Thus, the controllability matrix for (A, B
)
for (C, A). As the rank of a matrix and its transpose are the same, we have that (A, B
is controllable if and only iff (C, A) is observable. Thus, we can state the following
result:
Theorem 3. There exists a matrix L such that the eigenvalues of A LC can be
placed arbitrarily if and only if the pair (C, A) is observable.
The procedure for obtaining an L to place the eigenvalues of A LC is precisely
the same as that considered in the state-feedback problem. For a system described by
a transfer function
G(s) =
sn
bn1 s n1 + b0
+ an1 sn1 + a0
B =
b0
b1
..
bn1
and
C = 0 0 1 .
As we did earlier, it is easy to check that the state-space representation is always
observable. Moreover, if
L =
l0
l1
.
ln1
then
A LC =
0 0 0
1 0 0
. .
. .. ..
a0 l0
a1 l1
41
0 0 1 an1 ln1
Moreover,
det(sI [A LC ]) = sn + [an 1 + ln1 ]sn1 + + [a0 + l0 ].
Thus, the eigenvalues can be placed at the roots of
d (s) = sn + dn 1 sn1 + + d 0,
with the choice
li = di ai ,
i = 0, . . . , n 1.
If (C, A) is observable, but not in observable canonical form, then the procedure
for obtaining an L is exactly like Ackermanns formula.
x
(t) = Ax
+ Bu(t) + L y(t) C x
(t) Du(t) ,
42
6 Observers
x (t)
A
BK
x(t)
=
LC A BK LC x
(t)
x
(t)
where we used the fact that y(t) = C x(t) + Du(t).
Determining where the eigenvalues of this 2 2 block-matrix as written is difficult. However, we can change the state variable. Rather than working with
x(t)
,
(t)
x
we work with
x(t)
x(t)
I 0
x(t)
=
.
=
e(t)
x(t) x
(t)
I I x
(t)
| {z }
T
x (t)
x (t)
=T
e(t)
x
(t)
A
BK
x(t)
=T
LC A BK LC x(t)
A
BK
1 x(t)
=T
LC A BK LC T
e(t)
A BK BK
x(t)
.
=
0
A LC e(t)
Note that the eigenvalues of
A BK BK
,
0
A LC
are the union of the eigenvalues of A BK and A LC . These have negative
real parts if the controller gain K and the observer gain L are both chosen to make
A BK and A LC asymptotically stable.
The controller is thus:
x
(t) = [A BK LC ]x
(t) + Ly(t)
u(t) = K x
(t)
which has transfer function:
1
C (s) = K sI [A BK LC ]
L.
Note that this is an nth order strictly-proper controller.
(6.1)
(6.2)
43
x (t)
.
x(t) = a
xu (t)
Based on this division, we can write the state-space equation as
x a (t)
Aaa Aau xa (t)
Ba
=
x (t)
A A
x (t) + B u(t)
u
ua
uu
(6.3)
xa (t)
= xa (t).
y(t) = I 0
xu (t)
The states that need to be estimated are those that are unavailable. Thus, we define
the estimated unavailable states as x
u (t) and form a system
x
u (t) = Auu x
u (t) + Aua xa (t) + Bu u(t) + error driver.
(6.4)
Error driver refers to the signal, derived from the output, which drives the state
estimate. In the full-order observer, we had:
u (t) .
error driver = L x a (t) Aaa xa (t) Ba u(t) Aau x
|
{z
} | {z }
available
estimated
unavailable
signal
Note that the signal in the brackets is zero if the estimate is correct. We now incorporate this into Eq. 6.4:
44
6 Observers
x
u = Auu LAau x
u + Aua LAaa xa + Lx a + Bu LBa u.
To make the observer estimate approach the real state we, once again, work with the
error:
eu (t) = xu (t) x
u (t)
and obtain:
xa (t)
u(t) = Ka Ku
xu (t)
to the system. Working with the state
x(t)
eu (t)
we have:
x (t)
A BK
BK
x(t)
=
e u (t)
0
Auu LAau eu (t) ,
which is asymptotically stable if the eigenvalues of the matrices A BK and Auu
LAau all have negative real parts.
Using the fact that y = xa , the control system is given by:
u
x
u = Auu LAau Bu LBa Ku x
+ Aua LAaa Bu LBa Ka y + Ly ,
u = Ka y K u x
u .
The transfer function is
],
C (s) = Ka Ku (sI A)1 [sL + B
where