ch4 Poles
ch4 Poles
Pole placement
In what follows, we first present state-feedback controller design and then ob-
37
CHAPTER 4. POLE PLACEMENT
ẋ = Ax + Bu
(4.1)
y = Cx
where x is the n × 1 state vector, u is the input (control) vector, y the output vector,
A is an nx × nx matrix (the system matrix), B is an nx × nu input matrix and C is
an ny × nx output matrix.
All states are assumed available for feedback and the system is controllable.
The control law will be designed such that all state variables will approach zero
in steady-state from non-zero initial conditions caused for example by external dis-
turbances.
38
4.2 POLE ASSIGNMENT BY STATE FEEDBACK
We choose the control law such that each control input is a linear combination of
the state variables:
u = −Kx
k11 k12 ··· k1nx x1
k21 k22 ···
k2nx
x2
= − . .. ..
..
.. . . ···
.
knu 1 knu 2 · · · knu nx xnx
k11 x1 + k12 x2 + · · · + k1nx xnx
k21 x1 + k22 x2 + · · · + k2n xn
x x
= − ..
.
knu 1 x1 + knu 2 x2 + · · · + knu nx xnx
As shown in Figure 4.2 and as resulted from equation (4.2.1) the system has a
constant matrix in state feedback path.
Substituting the feedback law given by (4.2.1) into the state equation of system
(4.1) we obtain the state equation for the closed-loop system:
The stability of the closed-loop system (4.2) and its transient characteristics are
determined by the eigenvalues of the closed-loop system matrix A − BK. If the sys-
tem is controllable, the poles of the closed-loop system can be placed in any desired
location by the appropriate choice of the matrix K.
The characteristic equation of the closed-loop system is:
When evaluated, this gives an n-th order polynomial in s containing the elements
of the gain matrix K: k11 , k12 , ..., knu nx . The control law design then consists of
computing the gain K so that the roots of equation (4.3) are in desirable locations.
Assume that the desired location of the closed-loop poles are known:
desired poles: p1 , p2 , · · · , pn
39
CHAPTER 4. POLE PLACEMENT
(s − p1 )(s − p2 ) · · · (s − pn ) = 0 (4.4)
ẋ = Ax + bu
y = Ix
µ ¶
1 2
i.e., all states are measured and available for feedback, with matrices A = ,
3 4
µ ¶
1 0
B= . This system is unstable, but controllable – already rank(B) = 2 – thus
0 2
we design a state-feedback control law u = −Kx to stabilize it. Let us impose the
closed-loop system poles p1 = −1 and p2 = −2. With these poles, the characteristic
equation of the closed-loop system is (s + 1)(s + 2) = 0, i.e., s2 + 3s + 2 = 0.
Now we compute the characteristic equation as a function of the controller gains.
The closed-loop system dynamics are given by
ẋ = (A − BK)x
µ ¶
k11 k12
where K = and the characteristic equation is
k21 k22
det(sI − (A − BK)) = 0
i.e., µ ¶
s − 1 + k11 2k12 − 2
det =0
k21 − 3 s − 4 + 2k22
resulting in
− 5 + 2k22 + k11 = 3
− 2 − 2k22 − 4k11 − 2k11 k22 − 2k12 k21 + 2k21 + 6k12 = 2
40
4.2 POLE ASSIGNMENT BY STATE FEEDBACK
There are two equations and four unknowns, and an infinite number µ of solutions
¶ for
12 0
k11 , k12 , k21 , and k22 . For instance, two solutions are: K = ,K =
0 −2
µ ¶
−1 0
, both leading to the same closed-loop poles 1 and 2.
0 29
todo: simulations
As we have seen in the above example, in the general case there are a number
of solutions, but matching the coefficients of the characteristic equations may lead to
equations that are quite cumbersome. A way to solve the pole placement problem is
as follows.
• Let Λ a real matrix having the desired eigenvalues. For instance, Λ can be
chosen as
α1 β1 0 · · ·
−β1 α1 0 · · ·
.. .. .. ..
Λ= . . . .
0 0 λ1 · · ·
.. .. .. ..
. . . .
• If the system is controllable, then the closed-loop system poles can be placed
at the desired locations. This means that there exists a transformation matrix T
so that T −1 (A − BK)T = Λ, i.e., AT − BKT = ΛT .
AT − T Λ = BG
(4.5)
KT = G
The first equation in (4.5) is called the Sylvester equation and is linear in T . If
G is chosen arbitrarily, the Sylvester equation can be solved in T .
Note that the procedure above gives a solution if A and Λ have no common eigen-
values, however, it may fail due to numerical problems (T not invertible or poorly
conditioned) for special choices of G.
41
CHAPTER 4. POLE PLACEMENT
where det(sI −A) = sn +an−1 sn−1 +· · ·+a1 s+a0 is the characteristic polynomial
of A.
Looking
¡ at the controller
¢ gain, the matrix K is a constant 1 × n row vector, i.e.,
K = k1 k2 · · · kn and the state-feedback can be computed as represented in
Figure 4.3. If the system is in controller canonical form, the closed-loop system can
be written as
ẋ = (A − BK)x
−an−1 −an−2 ··· −a1 −a0 1
1 0 ··· 0
0 0
¢
0 1 ··· 0 0 ¡
= − 0 k1 k2 · · · kn x
. .. .. .. .. ..
.. . . . . .
0 0 ··· 1 0 0
resulting in
−(an−1 + k1 ) −(an−2 + k2 ) ··· −(a1 + kn−1 ) −(a0 + kn )
1 0 ··· 0 0
0 1 ··· 0 0
ẋ = x
.. .. .. .. ..
. . . . .
0 0 ··· 1 0
(4.6)
Looking at the form of the closed-loop system matrix in (4.6) it is quite clear that
the closed-loop system poles can be chosen arbitrarily.
42
4.2 POLE ASSIGNMENT BY STATE FEEDBACK
Example 4.3 , (Ogata, 2002) Consider the system described by the state equation:
0 1 0 0
ẋ = 0 0 1 x + 0 u
−1 −5 −6 1
We will design a state feedback control law u = −Kx such that the closed-loop poles
are located at:
First we have to check the controllability matrix of the open-loop system. The
controllability matrix is:
£ ¤ 0 0 1
PC = B AB A2 B = 0 1 −6
1 −6 31
and we find the determinant is det PC = −1. Since the rank of the controllability
matrix is rank PC = 3, the system is controllable.
If we consider that the output of this system is the first state variable y = x1 , the
system response for a zero input u = 0 and initial conditions x(0) = [1 0 0]T is
shown in Figure 4.4.
The open-loop system is stable and the settling time of the open-loop response is
about 14 seconds. Indeed, if we compute the eigenvalues of matrix A from:
The eigenvalues of the system matrix are also the system poles. As they have real and
negative values the open-loop system is stable. We may want to improve the settling
time of the system, we will compute the control law that moves the closed-loop poles
43
CHAPTER 4. POLE PLACEMENT
Amplitude 0.8
0.6
0.4
0.2
0
0 5 10 15 20 25
Time (sec)
in the locations given by p1 , p2 and p3 . The dominant desired poles are p1,2 with
the real part −2. The settling time of this pair of poles can be approximated as
ts = 4/2 = 2sec.
We apply now the pole placement method for computing the gain matrix K:
• For a third order system with one input and one output, the gain matrix is:
£ ¤
K = k1 k2 k3
• The characteristic equation of the closed-loop system for the desired poles is:
44
4.2 POLE ASSIGNMENT BY STATE FEEDBACK
k1 = 199, k2 = 55, k3 = 8
0 5 10 15 20 25
Time (sec)
Figure 4.5: Response of the closed-loop system to initial conditions (green line) com-
pared to the response of the open-loop system (blue line)
The settling time is indeed about 2 seconds, although the response of the closed-
loop system exhibits some oscillations
where x is the n × 1 state vector, u is the (scalar) control signal, y the (scalar) output
signal, A is an n × n scalar matrix (the system matrix), B is an n × 1 constant matrix
(the input matrix) and C is an 1 × n constant matrix (the output matrix).
The goal now, is to drive the output y to a given reference input r, with zero-
steady-state error.
One solution is to scale the reference input r and choose the control law (control
signal) to be a linear combination of the state variables (see Figure 4.6):
x1
£ ¤ x2
u = N r −Kx = N r − k1 k2 · · · kn
· · · = N r −k1 x1 −k2 x2 −· · ·−kn xn
xn
(4.10)
45
CHAPTER 4. POLE PLACEMENT
0 = (A − BK)xss + BN r
yss = Cxss
or
The steady-state error is zero if yss = r, so the value of N can be computed from:
1
yss = −C(A − BK)−1 BN r = r, ⇒ N = −
C(A − BK)−1 B
We will design a control system using state-feedback so that the closed-loop system
has two poles located at p1,2 = −1 ± j and the steady-state error for a step input is
zero.
46
4.2 POLE ASSIGNMENT BY STATE FEEDBACK
• The feedback gain matrix K is obtained by pole placement. If the desired poles
of the closed-loop system are p1,2 = −1 ± j, the characteristic equation for
these poles is:
(s + 1 − j)(s + 1 + j) = s2 + 2s + 2 = 0
• The characteristic
£ ¤ equation of the closed-loop system with the feedback gain
K = k1 k2 is:
µ· ¸ · ¸ · ¸ ¶
s 0 2 3 1 £ ¤
det[sI − (A − BK)] = det − + k1 k2 =
0 s 1 0 0
· ¸
s − 2 + k1 −3 + k2
= =0
−1 s
or:
• By setting the characteristic equation of the closed loop system equal to the
characteristic equation for the desired poles we obtain:
−2 + k1 = 2, −3 + k2 = 2, and k1 = 4, k2 = 5
Note that this matrix will only ensure the desire transient characteristics (ac-
cording to the desired closed-loop poles). The zero steady-state error for a step
input is not guaranteed. Therefore, we will compute the gain N that will scale
the reference input so that the output equals the reference at steady-state.
• Compute N from:
1
N =−
C(A − BK)−1 B
· ¸ · ¸ · ¸
2 3 1 £ ¤ −2 −2
(A − BK) = − 4 5 =
1 0 0 1 0
47
CHAPTER 4. POLE PLACEMENT
¸ ·
0 −1 1
(A − BK) =
−1/2 −1
· ¸· ¸ · ¸
−1
£ ¤ 0 1 1 £ ¤ 1
C(A − BK) B = 1 −1 = 1/2 1 = 1/2
−1/2 −1 0 0
1
N =− = −2
1/2
The step response of the closed-loop system, implemented according to Figure 4.6, is
shown in Figure 4.7.
Step Response
0 1 2 3 4 5 6 7 8
Time (sec)
The output follows the unit step, thus yss = 1 and the steady-state error is zero:
ess = 0.
ẋ = Ax + Bu
(4.11)
y = Cx
where x is the n × 1 state vector, u is the input (control) vector, y the output vector,
A is an nx × nx matrix (the system matrix), B is an nx × nu input matrix and C is
an ny × nx output matrix.
As it is frequently the case, not all states can be measured, and only the measure-
ments y are available. We therefore introduce an observer, which is a mechanism to
estimate the unmeasured states from the available measurements. An observer is in
fact a virtual sensor.
A general linear observer has the form
ḃ = Ab
x b)
x + Bu + L(y − y
(4.12)
b = Cx
y b
48
4.2 POLE ASSIGNMENT BY STATE FEEDBACK
where xb is the n × 1 state vector denoting the estimated states, y b is the estimated
output, and L is the observer gain to be determined. Note that for L = 0, the observer
(4.12) degenerates into the system (4.11). The term L(y − y b ) is called the innovation
process and represents the feedback error between the observation and the predicted
model output.
The general goal of observer design is to make the estimation error defined as the
difference between the true and estimated stated e = x − x b converge to zero.
The estimation error dynamics, i.e., ė can be written as
ḃ
ė = ẋ − x
= Ax + Bu − (Ab b ))
x + Bu + L(y − y
i.e,
ė = (A − LC) e (4.13)
Remark: As can be seen, the input u – as long as it known and available inde-
pendently of the estimated states – does not affect the observer design.
If the system is completely observable, it is possible to assign the eigenvalues of
(A − LC) to any desired location.
The actual assignment is similar to the pole placement in the state feedback case.
The characteristic equation of the error dynamics is:
which is an n-th order polynomial in s containing the elements of the gain matrix L:
l11 , l12 , ..., lnx ny . The observer design then consists of computing the gain L so that
the roots of equation (4.14) are in desirable locations.
Assume that the desired location of the closed-loop poles are known:
desired poles: p1 , p2 , · · · , pn
(s − p1 )(s − p2 ) · · · (s − pn ) = 0 (4.15)
ẋ = Ax
y = Cx
49
CHAPTER 4. POLE PLACEMENT
µ ¶
1 1 ¡ ¢
with A = and C = 1 1 , i.e., the states are not measured. Our objec-
3 2
µ ¶
1 1
tive is to estimated the two states. The observability matrix is Γo = , with
4 3
rank(Γo ) = 2, thus the system is completely observable and an observer can be
designed.
Let us impose the error dynamics poles p1 = −5 and p2 = −6. With these poles,
the characteristic equation of the closed-loop system is (s + 5)(s + 6) = 0, i.e.,
s2 + 11s + 30 = 0.
Now we compute the characteristic equation as a function of the observer gains.
The error dynamics are given by
xḃ = (A − LC)e
µ ¶
l
where L = 1 and the characteristic equation is
l2
det(sI − (A − Lc)) = 0
i.e., µ ¶
s − 1 + l1 l1 − 1
det =0
l2 − 3 s − 2 + l2
resulting in
s2 + s(−3 + l1 + l2 ) + (l1 − 1) = 0
The observer gains are computed by matching the coefficients of s:
− 3 + l1 + l2 = 11
l1 − 1 = 30
and result in l1 = 31 and l2 = −17.
todo: simulations
Remark: Note that the system in Example 4.5 is not stable. However, this fact
does not affect the design of the observer.
Similarly to controller design, in the general case there are a number of solutions.
A way to solve the pole placement problem is as follows.
• Let Λ a real matrix having the desired eigenvalues. For instance, Λ can be
chosen as
α1 β1 0 · · ·
−β1 α1 0 · · ·
.. .
. .
. .
.
Λ= . . . .
0 0 λ · · ·
1
.. .. .. ..
. . . .
50
4.2 POLE ASSIGNMENT BY STATE FEEDBACK
• If the system is observable, then the poles of the error dynamics can be placed
at the desired locations. This means that there exists a transformation matrix T
so that T (A − LC)T −1 = Λ, i.e., T A − T LC = ΛT .
T A − ΛT = GC
(4.16)
TL = G
Note that the procedure above is very similar to that used in controller design. In
fact, by taking the transpose of the two equations in (4.16), we have
AT T T − T T ΛT = C T GT
LT T T = GT
where det(sI −A) = sn +an−1 sn−1 +· · ·+a1 s+a0 is the characteristic polynomial
of A.
Inthis case, the observer gain L is a constant nx × 1 column vector, i.e., L =
l1
l2
.. . Due to the system being in observer canonical form, the error dynamics can
.
lnx
51
CHAPTER 4. POLE PLACEMENT
be written as
ė = (A − LC)e
−an−1 1 ··· 0 0
−an−2 0 ··· 0 0 Ã !
l ³ ´
.. .. − 1
= ... ..
.
..
. . . ..
.
1 0 0 .. 0 e
l2 . ln
−a1 0 ··· 0 1 x
−a0 0 ··· 0 0
resulting in
−an−1 − l1 1 ··· 0 0
−an−2 − l2 0 ··· 0 0
.. .. .. .. .. e
ė = . . . . . (4.17)
−a1 − ln−1 0 ··· 0 1
−a0 − ln 0 ··· 0 0
and it is quite clear that the poles of the error dynamics can be chosen arbitrarily.
µ ¶
3 1 ¡ ¢
Example 4.7 todo Consider the system with A = ,C = 1 0
1 0
ḃ = Ab
x b)
x + Bu + L(y − y
b = Cx
y b
while the controller considered is – since the true states are not available –
b
u = −K x (4.19)
The error dynamics are – note that the input u applied is the same for the system
and the observer –
ė = (A − LC)e (4.20)
52
4.3 SEPARATION PRINCIPLE
ẋ = Ax + Bu
b
= Ax − BK x
(4.21)
= Ax − BK(x − e)
= (A − BK)x + BKe
The characteristic equation of (4.22) – since the system matrix is upper-block tri-
angular – will be given by multiplications of the characteristic equations of A − BK
and A − LC. Thus, as long as both the error dynamics and the state-feedback dynam-
ics A − BK are stable, the observer-based state-feedback closed-loop will be stable.
This fact – i.e., that the observer and the controller can be designed independently –
is called the separation principle.
Note however, that although stability is maintained in the absence of perturba-
tions, model uncertainty, etc., the performances of the closed-loop system will de-
pend on the whole system dynamics.
Remark: From an application point of view, when placing the poles, the error
dynamics should be at least 5 − 6 times faster than the state-feedback closed-loop
dynamics.
53