Pole-placement by state-space methods
Control Design
To be considered in controller design
* Compensate the effect of load disturbances
* Reduce the effect of measurement noise
* Setpoint following (target tracking)
* Inaccuracies in the process model and parameter variations
Items to consider in controller design
* Purpose of the control system
* Process model
* Disturbance model
* Model inaccuracies and changes
* Applicable control strategies
* Design parameters
Process to be controlled
Real continuous process
x (t ) Ax(t ) Bu(t )
y (t ) Cx(t )
Discrete equivalent
RSx( k 1) x( k ) u(k )
T y( k ) C x( k )
A linear state controller u( k ) L x( k )
State controller
State feedback is the most natural way to control a process, which is
modelled as a state-space representation and whose states are
measured or estimated. At this point it is assumed that the states can
be measured directly.
RSx(k 1) x(k ) u(k ) x( k 1) x( k ) L x( k )
Tu(k ) L x(k )
x( k 1) ( L ) x( k ) cl x( k )
is the process system matrix, cl is the closed loop system matrix,
If the process is reachable, the poles of cl can be set arbitrarily.
State controller
The eigenvalues of cl i.e. the roots of the characteristic equation of
the controlled system determine the behaviour of the closed-loop
system . The characteristic equation of the controlled system can be
calculated as
det( zI cl ) det( zI L ) 0
The desired characteristic polynomial is determined by choosing the
poles (zpi).
n
(z z
i 1
pi ) ( z z p1 )( z z p 2 ) ( z z pn ) 0
By comparing the two characteristic equations, n conditions are
obtained, from which the parameters of L can be solved.
State controller, example
The process L
x( k 1) M
1 2 O
P L 1O
x( k ) M P u( k )
N 1 0 Q N0Q
is controlled by a state feedback controller. The desired closed loop
poles are zp1 = zp2 = 0.5. Determine the controller parameter vector
L.
det( zI cl ) det( zI L )
F L
det G z M
1 0O L 1 2 OP LM1OP l I det L z 1 l 2 l2 OP
H N Q N1
0 1 P M
0 Q N0Q 1 l2 JK MN 1 1
z Q
z 2 (1 l1 ) z ( 2 l2 ) 0
Compare with the desired equation
State controller, example
n
(
i 1
z z pi ) ( z z p1 )( z z p2 ) ( z 0.5) 2
z 2
z 0.25 0
z 2 (1 l1 ) z ( 2 l2 ) z 2 z 0.25
RS1 l 1
1
RSl 2
1
T2 l 0.25
2 Tl 175
2 .
The controller is then
u( k ) 2 1.75 x( k )
Deadbeat-control
In deadbeat control all poles are set into the origin. The fastest
possible discrete controller is obtained, which reaches the final value
in n steps. By deadbeat strategy the closed loop characteristic
equation becomes:
n n
( z
i 1
z pi )
i 1
( z 0) z n
0
State observers
It is unrealistic to assume that the states are measurable especially,
when the noise states have been augmented to the state vector.
Hence it is reasonable to estimate the unmeasured states. This is
possible, if the system is observable.
Consider the SISO-case (SISO= single input-single output, scalars u
and y)
RSx(k 1) x(k ) u( k )
T y( k ) Cx(k )
State observers
The purpose of the estimator is to estimate (x(k)) at time k based on
present and past values of u and y , (u(k), u(k-1), …, y(k), y(k-1), …)
The process model is however needed for this purpose. Define the
following concepts
Real state x( k )
Estimated state x ( k )
Estimation error ~
x ( k ) x( k ) x ( k )
State observers
When the process model is known, it would be logical to substitute
the controls u to the model and simply calculate the state estimate at
each time instant. However, this method does not consider the initial
values of the state nor disturbances. The information obtained by the
measured output signal y also remains unused.
The above strategy can be considerably improved . If the estimated
and real output are the same, the estimator performs well. Otherwise
the estimate must be corrected based on the estimation error.
State observers
Estimator based on the control signal only
Real process RSx(k 1) x(k ) u( k )
Ty( k ) Cx( k )
Estimator RSx (k 1) x (k ) u( k )
Ty ( k ) Cx ( k )
Estimator error y( k ) y ( k ) Cx( k ) Cx ( k )
b g
C x( k ) x ( k ) Cx ~( k )
State observers
Add the estimator error term
x ( k 1) x ( k ) u( k ) K ( y( k ) y ( k ))
x ( k ) u( k ) K ( y( k ) Cx ( k ))
b g
KC x ( k ) u( k ) Ky( k )
The performance is studied by comparing the estimate with the real
state
~
x ( k 1) x( k 1) x ( k 1)
b g b g
x( k ) u( k ) x ( k ) u( k ) K ( y( k ) y ( k ))
b g b
x( k ) x ( k ) KC x( k ) x ( k ) g
b gb g b
KC x( k ) x ( k ) KC ~
x(k ) g
State observers
The model for the error dynamics is
~ b
x ( k 1) KC ~g
x ( k ) o ~
x(k )
The matrix K is chosen such that the eigenvalues of o are at desired
places in the complex plane. If they are inside the unit circle, the
estimation error decreases, and if they are in the origin, the
estimation error decreases at the maximum speed (deadbeat-strategy)
vanishing totally by n steps. The procedure is dual to pole
placement in controller design.
State observers, example
R|x(k 1) L1 2O x(k ) L1O u(k )
Estimate states of
S| M
N 1 0 P
Q NQM 0 P
T y ( k ) 0 1 x( k )
by the dead-beat strategy. Determine the estimator parameters K.
det( zI o ) det( zI KC)
F L
det G z M
1 0O L 1 2 OP LM OP
k1 I
z 1 2 k1 LM OP
P
H N0 1Q N 1M
0
0 1 det
Q N Q
k2 JK
1 z k 2 N Q
( z 1)( z k 2 ) ( 2 k1 ) z 2 (1 k 2 ) z ( 2 k1 k 2 ) 0
State observers, example
Compare to the desired characteristic equation
n
(
i 1
z z pi ) ( z 0) 2
z 2
0
z 2 (1 k 2 ) z (2 k1 k 2 ) z 2
RS1 k 0
2
RSk 1
1
T2 k k 0
1 2 T k 1
2
State observers, example
The estimator is
L
x ( k 1) M
1 2 O
P L 1O L 1O
x ( k ) M P u( k ) M P( y( k ) 0 1 x ( k ))
N 1 0 Q N0Q N1Q
x ( k 1) M
L 1 1O
P L 1O L 1O
x ( k ) M P u( k ) M P y( k )
N 1 1 Q N 0Q N1Q
Let us check the performance by calculating two steps from some
initial condition
L x O
x (0) M P,
10 L x O
x(0) M P,
10
u(0) u0 , u(1) u1 , y (0) x20
Nx Q
20 Nx Q20
State observers, example
Check first how the process behaves
R|x(1) L1 2O x(0) L1O u(0) L1 2O L x O L1O u
S| N M 1 0 P
Q NQ M 0 P M
N 1 0 P M 10
P
QN Q N Q
x
20
M 0 P
0
T y(1) 0 1 x(1) 0 1 x(1)
R|x(1) L x 2 x u O
S| N M
10
x
10
20
P
Q
0
T y(1) x
10
State observers, example
R|x(2) L1 2Ox(1) L1Ou(1) L1 2O Lx 2x20 u0 1 OP LM OP
M P
S| N Q N Q N Q N
1 0 M0P M 1 0 P M 10
x10
u1
0 Q NQ
Ty(2) 0 1 x(2) 0 1 x(2)
R|x(2) L x 2 x u 2 x u1 OP LM x 2 x u u OP
M
10
S| N x 2 x u
20
10
0
20
10
0
10
Q N x 2x u Q
10
20
20
0
0
1
T y ( 2) x 2 x u
10 20 0
State observers, example
The estimator can only use input and output signals u and y.
u(0) u0 y (0) x20
u(1) u1 y (1) x10
Based on this information the estimator should find x(2) without any
knowledge of the real initial state (or real state at any time instant).
L
x(2) M
x 2x u u O
10 20
P 0 1
N x 2 x
10 u Q 20 0
State observers, example
Let us calculate the estimate recursively from an arbitrary initial
L x O
guess
x (0) M P
10
N x Q
20
1 1 1 1
xˆ (1) xˆ (0) u (0) y (0)
1 1 0 1
1 1 xˆ10 1 1 xˆ10 xˆ20 u0 x20
u0 x20
1 1 20
ˆ
x 0
1 ˆ
x10 ˆ
x 20 x20
State observers, example
1 1 1 1
xˆ (2) xˆ (1) u (1) y (1)
1 1 0 1
1 1 xˆ10 xˆ20 u0 x20 1 1
u1 x10
1 1 xˆ10 xˆ20 x20 0 1
x10 2 x20 u0 u1
x(2)
x10 2 x20 u0
The estimator converges and the real state is found in two steps
according to the dead-beat strategy, even if the process itself is
unstable (like in this example).
An alternative state estimator
Above the output measurement at time k is used to estimate the state
x(k+1), (at time k+1). So there is a delay.
x ( k 1) x ( k ) u( k ) K ( y( k ) y ( k ))
Another possibility is to use the measurement y(k) at time k to
estimate x(k) . It then follows
x ( k 1) x ( k ) u( k ) K ( y( k 1) y ( k 1))
b
x ( k ) u( k ) K y( k 1) Cx ( k 1) g
x ( k ) u( k ) K c y( k 1) Cb x ( k ) u( k )gh
b I KCgb x ( k ) u( k ) g Ky( k 1)
An alternative state estimator, cont
The estimator error dynamics is now
~ b
x ( k 1) KC ~ g
x ( k ) o ~
x(k )
Additionally, it holds that
~ cb
~( k 1) C KC ~
y( k 1) Cx g h b
x ( k ) C CKC ~
x(k ) g
cb g h
I CK C ~ x(k )
By choosing I-CK = 0 or CK = I, the estimation error can be
eliminated
~
y ( k 1) 0 y( k 1) Cx ( k 1) 0 y( k ) Cx ( k )
An alternative state estimator, cont
The order of the estimator can then be reduced, which leads to the
so-called Luenberger observer . Use the previous example and
design a Luenberger observer with deadbeat-strategy.
CK I
L k O
1M Pk
1
1
0
Nk Q
2
2
So that the second element of the matrix K (k2) is fixed. Tune k1
with deadbeat-strategy.
det( zI o ) det( zI KC )
F L
det G z M
1 0O L 1 2 O L k O L 1 2 OI
HN Q N0 1 P M
1 0 P M P 0 1M
Q N Q N
1
1
1 0 P
QKJ
An alternative state estimator, cont
L
det M
z 1 k 2O
1
P z 2
( k1 1) z 0
N 0 zQ
By comparing to deadbeat-criterion (z2 = 0) k1 becomes -1.
The observer becomes
L 1O
KM P
N1Q
b gb g
x ( k 1) I KC x ( k ) u( k ) K y ( k 1)
L
M
0 2 O
P L 1O L 1O
x ( k ) M P u( k ) M P y ( k 1)
N0 0 Q N0Q N 1 Q
An alternative state estimator, cont
The second state is not observed at all. It is only recognized to be
the same as the output signal.
x ( k 1) M
L 0 2 O
P L 1O L 1O
x ( k ) M P u( k ) M P y ( k 1)
N0 0 Q N0Q N 1 Q
S
R1x ( k 1) 2 x ( k ) u( k ) y ( k 1)
2
Tx (k 1) y(k 1)
2
S
R1x ( k 1) 2 y ( k ) u( k ) y ( k 1)
Tx (k 1) y(k 1)
2
An alternative state estimator, cont
Try the Luenberger estimator as it was done previously with the full-
order observer.
u(0) u0 y (0) x20 L
x(1) M
x 10 2 x20 u0 OP
u(1) u1 y (1) x10 N x10 Q
RSx ( k 1) 2 y(k ) u( k ) y(k 1)
1
Tx ( k 1) y(k 1)
2
S
R1x (1) 2 y (0) u(0) y (1) x
10 2 x20 u0
Tx (1) x
2 10
The observer finds the correct state with one step.
Output feedback
By combining the state observer and state feedback controller it is
possible to design a controller based on output measurements.
-L
x^ u y
Controller Process
Observer
K
Output feedback, cont
RSx( k 1) x( k ) u(k )
The process
Ty( k ) C x( k )
is controlled with state feedback, u( k ) L x( k )
which uses an estimated state. u( k ) L x ( k )
For the controlled
system b g
x ( k 1) KC x ( k ) u( k ) Ky( k )
RSx(k 1) x(k) L x(k)
Ty(k) C x(k)
Output feedback, cont
For the state observer it holds that
~ b
x ( k 1) KC ~ g
x ( k ) o ~
x(k )
~
x ( k ) x( k ) x ( k ) x ( k ) x( k ) ~
x(k )
By considering these equations it follows that
R|x(k 1) x(k ) L bx(k ) ~x(k )g b Lgx(k ) L ~x(k )
S|~x(k 1) b KCg~x(k )
Ty(k ) C x(k )
Output feedback, cont
The state equations of the controlled system are
R|Lx(k 1) O L L L OP LMx(k ) OP
M|N~x (k 1)PQ MN 0 KC Q N~x (k )Q
S| L x( k ) O
y( k ) C 0 M ~ P
|T Nx ( k )Q
The dimension of the controlled system is 2n and the characteristic
equation is
det zI- + L det zI- + KC 0
Output feedback, cont
The eigenvalues of the closed-loop system is a combination of the
eigenvalues of the controller and estimator. The important
consequence of this is that the state feedback controller and state
estimator can be designed separately without bothering about
their influence on each other.
Servo problem
Until now only regulator problems have been discussed. If the
system has to follow a changing reference signal, the servo problem
follows.
In the most simple setting the reference signal is added to the system
multiplied by a constant Lc , which is tuned to ensure the static gain
1 (in order not to have a permanent error). However this is not a
good solution generally: the reference signal may change, also there
might be load disturbances entering the system meaning that the
permanent error can not be avoided in practice.
Servoproblem, cont
Use the control law yREF
Lc
u(k) LcyREF (k) Lx(k) ^x u y
-L Process
In which yREF is the setpoint
Observer
R|Lx( k 1) O L L L OP LMx( k ) OP LML OP y
M|N~x ( k 1)PQ MN 0 KC Q Nx ( k )Q N 0 Q
~
c
REF (k )
S| L x( k ) O
y( k ) C 0 M ~ P
|T Nx ( k )Q
Two-degrees-of-freedom controller
Often servo and regulator parts are combined (feedforward Hff) and
(feedback Hfb).
yREF
Hff
uff
ufb u y
Hfb Process