Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Notes 6

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

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.

6.1 Full-order observer design


We will assume that the system is given by
x (t) = Ax(t) + Bu(t),

x(0) = x0

y(t) = C x(t) + Du(t).


We want to design a system that takes y and u as inputs and produces an estimate, x
,
of the state.
If the estimate x
is going to behave like the real state, the dynamics of the estimated state should be similar to that of the real system. Thus, we define a model:
x
(t) = Ax
(t) + Bu(t).
It follows that the difference between the real and estimated states
e(t) = x(t) x
(t),
which we call the state error, satisfies the differential equation
e(t) = x (t) x
(t)
= Ax(t) + Bu(t) Ax
(t) Bu(t)
= Ae(t)

6.1 Full-order observer design

39

with initial condition:


e(0) = x(0) x
(0) = e0 .
Note that,
e(t) = eAt e0 ,
which, if A is aymptotically stable, implies that e(t) 0.
What happens if A is not stable? Let us modify the estimated states equation:

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)

The error decays to zero if we can find an L such that A LC is asymptotically


stable. Note that the eigenvalues of A LC are the same as those of
(A LC )T = AT C T LT .
Define
A = AT ,

= 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

the system can be written in observable canonical form, in which


0 0 0 a0
1 0 0 a1
A = . .. ..
,
..
. . .
0 0 1 an1

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

6.2 Building observer-based controllers

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.

6.2 Building observer-based controllers


The previous section showed you how to obtain an observer that can make the estimation error approach zero asymptotically. However, our ultimate goal is to control
the system. A natural ad hoc approach is to apply state-feedback control, but use the
estimate of the state rather than the actual state. That is, instead of using the feedback
control
u(t) = K x(t)
we use
u(t) = K x
(t),
where x
is the estimated state. Clearly, what we would like is for
e(t) = x(t) x
(t) 0.
We will now show that this actually works. That is, we can make the systems
states all go to zero. Note that the complete system is now defined by the states from
the plant:
x (t) = Ax(t) + Bu(t)
and the observer

x
(t) = Ax
+ Bu(t) + L y(t) C x
(t) Du(t) ,

42

6 Observers

where, in both equations:


u(t) = K x
(t).
We can combine the system into one equation:


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

In these coordinates, we have:

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)

6.3 Reduced order observers

43

6.3 Reduced order observers


In the previous section we demonstrated how to obtain observers to estimate the state
x(t). Clearly, this is useful if we do not know the states x(t). However, in practice
some states will be known. There is no point in estimating the states that are available.
In this case, it is possible to obtain reduced order observers.
We will assume that the states are divided into two classes: available, xa (t), and
unavailable, xu (t). We will assume that the states have been ordered such that

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)

and the available states are

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:

error driver = L y(t) C x


(t) Du(t) .
Note that the signal inside the brackets was selected to match the available signal,
y(t), and an estimate of this available signal C x
(t) + Du(t). We take the same
approach for the reduced-order observer. We turn to the first set of rows in Eq. 6.3.
x a (t) Aaa xa (t) Ba u(t) = Aau xu (t) .
|
{z
}
| {z }
available
unavailable
We define:

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:

e u (t) = Auu LAau eu (t),


which decays to zero asymptotically if the matrix
Auu LAau
has eigenvalues with negative real parts. The eigenvalues of this matrix can be set
arbitrarily if the pair (Aau , Auu ) is observable.
Finally, we ask what happens if we apply:

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

A = Auu LAau Bu LBa Ku ,


and

= Aua LAaa Bu LBa Ka .


B
Note that this is an nu = dim(xu )th order proper (but not strictly proper) controller.

You might also like