Professional Documents
Culture Documents
5 Eigenvalue Placement Using State Feedback
5 Eigenvalue Placement Using State Feedback
Earlier, we showed how to select the transfer function for a controller that can place
the closed-loop poles given the plants open-loop transfer function. One difficulty
of working with polynomials, however, is that the numerical accuracy can quickly
deteriorate as the order of the polynomial increases. State-space description of systems can lead to numerically superior algorithms. We know provide details on how
state-feedback controller can be used to place closed-loop eigenvalues.
= Ax(t) + Bu(t),
y(t) = Cx(t),
x(t) = x0
where the state-vector x(t) Rn and the input and output signals, u(t) and y(t)
respectively, are scalars. This means that the matrices satisfy the following dimensionsal requirements:
A Rnn ,
B Rn1 ,
and C R1n .
(5.1)
will decay to zero asymptotically for any x0 if the eigenvalues of the matrix A all
have negative real parts.
28
= [A BK]x(t),
y(t) = Cx(t),
x(t) = x0
(5.2)
K = k0 kn1
such that
det(sI [A BK]) = sn + dn1 sn1 + + d0 .
Proof. Write out the matrix A BK and note that it has the same format as A with
the ai replaced with ai + ki . Because
det(sI A) = sn + an1 sn1 + + a0 ,
it follows that
det(sI A + BK) = sn + (an1 + kn1 )sn1 + + (a0 + k0 ).
Thus, if we pick the ki according to
ki = di ai ,
i = 0, . . . , n 1,
t
u
29
0
0
1
0
0
0
0
0
1
..
..
..
.. ,
B
=
A = ...
.
.
.
.
0
0
0
0
1
1
a0 a1 a2 an1
the matrix
K = k0 kn1
does the trick, if ki = di ai , for i = 0, . . . , n 1.
Now, suppose that the pair is not in controllable canonical form. We will show
that there exists an invertible matrix T such that
T AT 1 = A,
TB = B
are in CCF.
where A and B
Define
C = An1 B An2 B AB B
and
An2 B
AB
B
.
C = An1 B
B)
are controllable, the matrices C and C are invertBecause both (A, B) and (A,
ible (changing the order of the columns does not change the rank). Moreover, as in
Lemma 4, the second of these matrices has the form
1 0 0
? 1 0 0
C = ... . . . . . . . . . . . . ...
? ? ? ? 1 0
? ? ? ? ? 1
where ? corresponds to elements whose exact values are not needed.
1 puts the matrix in the correct format. To
The claim is that the matrix T = CC
show this, we need to show that
CC
1 B = B
TB = B
(5.3)
T AT 1 = A C 1 AC = C1 AC1
(5.4)
and
30
1 B = C
CC
.. = . = B,
. 0
1
1
by the form of C.
We now show Eq. 5.4. First of all, note that
AC = An B An1 B A2 B AB
0 0 0
.
1 0 .. 0
. . . .
.. .. .. ..
0 0 1
Also, a0 B a1 AB an1 An1 B is
a0 [nth col. of C] a1 [(n 1)st col. of C] an1 [1st of C]
and, therefore,
an1
an2
C 1 a0 B a1 AB an1 An1 B = . .
..
a0
1
31
an1 0 0 0
.
an2 1 0 .. 0
..
C 1 AC = ...
.
01 . 0
.. .. .. ..
a1 . . . .
a0 0 0 1
However, since the characteristic polynomial of A and A are the same, following the
exact same procedure leads to
an1 0 0 0
.
an2 1 0 .. 0
..
.
C1 AC = ...
01 . 0
.. .. .. ..
a1 . . . .
a0 0 0 1
which confirms Eq. 5.4.
is the state feedback matrix that makes
Note that, if K
K)
= sn + dn1 sn1 + + d0 ,
det(sI A + B
makes
then K = KT
] + [T 1 B][
KT
])
det(sI A + BK) = det(sT 1 T [T 1 AT
K]T
)
= det(T 1 [sI A + B
K)
det T
= det T 1 det(sI A + B
K)
= det(sI A + B
= sn + dn1 sn1 + + d0 ,
as required.
Remark 2. This formula for the state feedback matrix is known as Ackermanns
formula. The Matlab commands acker and place find the required K for a given
(A, B) and a given set of required closed-loop eigenvalues.
32
(5.5)
(5.6)
t 0.
equivalently,
x n+1 = e(t) = r(t) y(t).
In particular, if the system reaches steady-state, the derivatives of all states (including
xn+1 ) go to zero. The only way for this to happen is for e(t) 0.
It follows that we need to ensure that all the states reach equilibrium. We do this
by defining an aumented state
x1
..
. x
z(t) =
xn
xn+1
Writing the state space description:
x
z =
x n+1
Ax + Bu
=
r Cx
x
A 0
B
0
=
+
u+
r.
C 0 xn+1
0
1
| {z } | {z } |{z}
|{z}
33
z = Az
Notice that there are two inputs: the control input u, and the external input r. To
stabilize the system, we seek a
= K kI
K
such that the state-feedback input
u = Kz
can make the eigenvalues of the closed-loop system matrix
K
AK = A B
B)
is controllable, then the eigenvalues of AK can be set arstable. In fact, if (A,
bitrarily. Note, however, that just because (A, B) is controllable does not imply that
B)
is controllable.
(A,
Example 10. Consider the transfer function
G(s) =
s
.
(s + 1)2
0 1
0
A=
, B=
, and C = 0 1 .
1 2
1
Clearly, this is (A, B) is controllable since the representation is in CCF. However,
the augmented system has:
0 1 0
A 0
A =
= 1 2 0 ,
C 0
0 1 0
and
0
= B = 1 .
B
0
0
B
0 1 2
= 1 2 3 ,
C = AB
A2 B
0 1 2
which is of rank 2 (the third column equals minus the first minus two times the
second) and hence the augmented system is not controllable. u
t
34
It is relatively easy to see why augmenting the system with an integrator renders
the state-space system uncontrollable. The open-loop plant has a zero at s = 0.
Adding an integrator, that is, a pole at zero induces a pole-zero cancellation. Hence,
the augmented plants numerator and denominator are no longer coprime. By the
results of the previous chapter, we can expect that the closed-loop poles can not be
set arbitrarily.
Using the state-feedback controller, the system will approach a steady-state,
given by
K)z
+ Br
z = (A B
K)
1 Br.
z = 0 = (A B
K.
We know that this inverse exists, because the
We have taken the inverse of A B
matrix is stable. This means that the eigenvalues all have negative real part eigenvalues, and hence can not be at zero.
Suppose that
11 12
1
(A B K) =
.
21 22
It follows that
11 12
I = (A B K)
21 22
A BK0 Bk1 11 12
=
C
0
21 22
In particular, from the (2,2) element of this product:
C12 = 1.
Hence:
y= C0 z
K)
1 Br
= C 0 (A B
11 12 0
= C 0
r
21 22 1
= C12 r
= r.
(5.7)
35
the reference r, and we did not seem to use anywhere the fact that the reference was
a step.
Unfortunately, if you did think this, you would be wrong. The problem is that, to
arrive at Eq. 5.7, we needed to assume that the system reached an equilibrium (i.e.
the derivatives of the states were zero). But this will not be the case in general.
The procedure for getting there is similar when the references are signals other
than steps. However, the argument as to why steady-state tracking is achieved is
somewhat more complicated. Notice that when the reference is a step, we define the
state
x n+1 = e(t).
In the Laplace transform domain, this is
1
E(s).
s
To track a sinusoid of frequency 0 , we once again augment the state of the
system, but we do so with multiple states. In particular, we define states:
Xn+1 (s) =
d xn+1
xn+2
=
02 xn+1 + e
dt xn+2
0
0 1 xn+1
+
=
ry
02 0 xn+2
In the Laplace transform domain, this is equivalent to
Xn+1 (s) =
s2
1
E(s).
+ 02
Now the procedure is similar. We define a new state z Rn+2 according to:
x
z(t) = xn+1
xn+2
and state-space description
x
z = x n+1
x n+2
Ax + Bu
xn+2
=
02 xn+1 + r Cx
A 0 0
x
B
0
0 1 xn+1 + 0 u + 0 r.
= 0
C 02 0 xn+2
0
1
|
{z
} | {z } | {z }
|{z}
36
z = Az
B)
is controllable, then there exists a
Now, if (A,
= K k1 k2
K
such that
K
AK = A B
is stable.
The error is
e = r y = r Cx
Thus, the whole state-space description of the system, using the external input r and
the error e as the external output is
z = AK z + Br
+r
e = Cz
with transfer function
E(s)
+ 1.
= C(sI
AK )1 B
R(s)
Once again, we can write
11 12 13
(sI AK )1 = 21 22 23 ;
31 32 33
then
E(s)
+1
= C(sI
AK )1 B
R(s)
11 12 13
= C 0 0 21 22 23 0 + 1
31 32 33
1
= 1 C13 .
From the (3,3) element of the product
sI A 0 0
11 12 13
100
s 1 21 22 23 = 0 1 0
(sI AK ) = I 0
C 02 s
31 32 33
001
37
we get:
C13 + 02 23 + s33 = 1.
(5.8)
+1
= C(sI
AK )1 B
R(s)
= C13 + 1
= (02 + s2 )23 = (s).
Finally, we know that for a stable transfer function (s), a sinusoidal input leads
to a steady-state sinusoidal output, with magnitude