[go: up one dir, main page]

0% found this document useful (0 votes)
67 views36 pages

State-Space Pole-Placement Control

This document discusses pole-placement controller design using state-space methods. It covers: 1) Factors to consider in controller design like disturbances, noise, setpoint tracking and model inaccuracies. 2) Modeling a process as a discrete-time state-space model. 3) Designing a state feedback controller by choosing closed-loop poles to place the eigenvalues of the closed-loop system matrix. 4) Using a state observer since states may not be directly measurable, and designing the observer similarly to the controller.

Uploaded by

balkyder
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views36 pages

State-Space Pole-Placement Control

This document discusses pole-placement controller design using state-space methods. It covers: 1) Factors to consider in controller design like disturbances, noise, setpoint tracking and model inaccuracies. 2) Modeling a process as a discrete-time state-space model. 3) Designing a state feedback controller by choosing closed-loop poles to place the eigenvalues of the closed-loop system matrix. 4) Using a state observer since states may not be directly measurable, and designing the observer similarly to the controller.

Uploaded by

balkyder
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

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)  L1 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 1M
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 N1Q
 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 N1Q
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)  L1 2O x(0)  L1O u(0)  L1 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)  L1 2Ox(1)  L1Ou(1)  L1 2O Lx  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 Pk
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
KM 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  LML 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

You might also like