Professional Documents
Culture Documents
in
Control Engineering
Neil Munro
Control Systems Centre
UMIST
Manchester, England.
Concluding Remarks
x Ax Bu
y Cx Du
where y is a vector of the system outputs
u is a vector of the system inputs
and
Examples: -
0
1
0
0
0
0
0
0
0
1
x
x
(a b )
1
0
ab
0
(
a
b
)
0
a
0
0
u
0
y b a 1 1x
// Re viewForm
0
(a b ) 0
A
ab 0
(a b ) 0
ab
0 0
0 0
1 0
B
0 1
b a 1 1
1
G (s )
a s
1
b s
tf = TransferFunction[s,{{1/(s-a),1/(s-b)}}]
1
TransferFunction[s,{{
as
1
}}]
bs
ss
C D
0
0
1
0
0
0
0
1
(a b )
0 ab
0
0 (a b )
0 ab
a
1
1
b
0 0
0 0
1 0
0 1
0 0
tfsys = TransferFunction[s,
{{((s+2)(s+3))/(s+1)^2,1/(s+1)^2},
{(s+2)/(s+1)^2,(s+1)/((s+1)^2(s+3))},
{1/(s+2),1/(s+1)}}]
iHHLHLLHLy
HL HLHL
k {
s+ 2
s+ 3
s+ 1
s+ 1
s+ 2
s+ 1
s+ 1
s+ 3
s+ 2
s+ 1
T(s ) U(s )u
y V(s ) W(s )u
where , u and y are vectors of the Laplace
transformed system variables. This set of
equations can equally be written as
T(s) U(s) 0
V(s) W(s) u y
T(s) U(s)
P(s)
V
(
s
)
W
(
s
)
sI A B
P(s)
C
D
G (s ) DL1 (s )N L (s )
2
G (s ) N R (s )D (s )
G(s)
[A, B, C, D]
G(s)
G(s)
[A, B, C, D]
[T(s),U(s),V(s),W(s)]
Least Order
P1(s) P2(s)
iHHLHLLHLy
HL HLHL
k {
tfsys = TransferFunction[s,
s+ 2
s+ 1
{{((s+2)(s+3))/(s+1)^2,1/(s+1)^2},
i
-
0
0
2
0
0
0
1
0
5
0
0
0
0
1
4
0
0
0
0
0
0
0
0
3
s+ 1
s+ 3
s+ 2
s+ 1
0
0
0
1
0
7
s+ 1 2
{1/(s+2),1/(s+1)}}]
s+ 1
s+ 2
{(s+2)/(s+1)^2,(s+1)/((s+1)^2(s+3))},
ss = StateSpace[tfsys]
s+ 3
0
0
0
0
1
5
0
0
1
0
0
0
0
0
0
0
0
1
y
S
k
{
LH
L
iHH
y
i
H
L
H
L
y
L
k
H
L
H
L
{
kHLHLHL{
10
4
1
11
4
2
3
1
1
3
1
3
1
1
4
0 1 0
0 0 0
1 0 0
rff = RightMatrixFraction[tfsys]
s+
2 s+
s+
s+
s+
s+
s+
s+
s+
1 s+ 3
s+
s+
rff = RightMatrixFraction[ss,s]
H
L
iHL
y
i
H
L
H
L
y
H
L
k
H
L
H
L
{
k HL HLHL{
s+
2 s2 + 5 s + 6
s+
s+
s+
s+
s+
3
1
1 s+ 3
s+
s+
s+
s+
i y
k{
i HL y
kHLHL{
JN
HL
iy
k{
s+ 1
tfsys = TransferFunction[s,
{{(s+1)/(s^2+2s+1)},{(s+2)/(s+1)}}]
s 2 + 2 s+ 1
s+ 2
s+ 1
ps = SystemMatrix[tfsys,TargetFormRightFraction]
1
s+ 12
0
0
- s-
0
0
- s+
rff = RightMatrixFraction[ps]
1 s+2
s+ 1
s+ 2
s+ 1
TransferFunction[%]
s+ 2
s+ 1
ps = SystemMatrix[tfsys,TargetForm LeftFraction]
i
k
1
0 s2 + 2 s + 1
0
0
0
lf = LeftFractionForm[
1 s 1 2s s 2
0
,s
2 s ,
0
1 s
0
-
s+
s+
1
0
1 s+ 2
0
- 1
0
0
y
{
ik y
{JN
s2 + 2 s + 1
s+ 1
1 s+
s+
1
2
tfsys =TransferFunction[s,
{{(s+1)/(s^2+2s+1)},{(s+2)/(s+1)}]
i y
k{
T
s+ 1
s2 + 2 s+ 1
s+ 2
s+ 1
JHL
N
H
HLL
HL
rff = RightMatrixFraction[tfsys]
s+ 1
s + 1 s+ 2
s+1
2 -1
i y
k {
dt = ToDiscreteTime[tfsys,Sampled->20]//Simplify
- 1 + 20
20 z - 1
20 z + 20 - 2
20 z - 1
20
ik y
H
L
RightMatrixFraction[%]
- 1 + 20
20 z - 1
20 z + 20 - 2
- 1
20
SystemMatrix[dt,TargetForm->RightFraction]
i
k
i
k
20 z - 1
1 - 20
y
{
M
- 20 z - 20 + 2 0 2 0
SystemMatrix[dt]
20 z - 1
- 1 + 20
20 z - 1 20 z + 20 - 2
-1
- 1
y
{
M
20
s(s 2) s 2 3s 2 s(s 2)
P(s ) s(s 2) s 2 3s 1 1 s(s 2)
0
0
0
0
0
0
M, S
0 0
0 1
0 1
1 0
1 0.
M, S
s 2 (s 1) s 3 s 2 1 1 s 2 (s 1)
s(s 2) s 2 3s 2 s(s 2)
P1 (s ) s(s 2) s 2 3s 1 1 s(s 2)
0
0
0
0
0
0
0 0
0 1
0 1
1 0
1 0.
s 2 (s 1) s 3 s 2 1 1 s 2 (s 1)
s(s 2) s 2 3s 2 s(s 2)
~ P2 (s ) 1
1
1
0
0
0
0
0
0
0
0
0.
0
0
0
1
1
Hence
s2
M, S
System Analysis
Controllable[ss]
Observable[ss]
ss =[A, B, C, D]
Controllable[ps]
Observable[ps]
sI A B
P(s)
C D
Controllable[ps]
Observable[ps]
T(s) U(s)
P(s)
V ( s ) W( s )
SmithForm[T(s) U(s)]
McMillanForm[G(s)]
MatrixLeftGCD[T(s) U(s)]
MatrixRightGCD[T(s) V(s)]
Decoupling Zeros
sI A B
P(s)
C D
Decoupling Zeros
T(s) U(s)
P(s)
V ( s ) W( s )
Controllability and
Observability
In the same way that the controllability and
observability of a system described by a set of
state space equations can be determined in the
Control System Professional by entering the
commands
Controllable[ss] and Observable[ss]
where ss is a StateSpace object.
These tests can now also be directly applied to a
system matrix object by entering the commands
Controllable[sm] and Observable[sm]
where sm is a SystemMatrix object in either
polynomial form or state space form.
Preliminary Analysis
Reduction of State-Space Equations
Given a system matrix in state-space form
sI A B
P( s) n
D
C
then an input-decoupling zeros algorithm,
implemented in Mathematica, reduces P(s) to
sI A 11
P1 ( s) A 21
C
1
0 ,n
sIn A 22
C2
0 ,m
B2
D
sI
A 22 , B 2
Gasifier
PSINK
TGAS
PGAS
CVGAS
WAIR
WSTM
WCOL
WLS
MASS
WCHR
Model Format
A is 25 x 25
C is 4 x 25
Inputs:- 1 char
2 air
3 coal
4 steam
5 limestone
6 upstream disturbance
x Ax Bu
y Cx Du
B is 25 x 6
D is 4 x 6
Outputs:- 1 gas cv
2 bed mass
3 gas pressure
4 gas temperature
Preliminary Analysis
The original 25th order system is numerically very ill
conditioned.
The eigenvalues cover a significant range in the complex
plane, ranging from -0.00033 to -33.1252.
The condition number is 5.24 x 1019.
At w = 0 the maximum and minimum singular values are
147500 and 50, respectively.
The Kalman controllability and observability tests yield a
rank of 1, and the controllability and observability gramians
are :-
1.07 1016
7.64 10 5
7
7
.
29
10
4.63 1015
22
8.08 10
Wc
3.17 10 31
33
1.59 10
43
3
.
09
10
69
9.35 10
4.47 1014
4
2.84 10
0
4.49 10
5.29 10 2
2
3.29 10
Wo
2.29 10 2
3
6.15 10
3
1
.
78
10
3
1.22 10
4
7
.
02
10
5
9.11 10
Preliminary Analysis
Dimensions of
A B
( 29, 31)
C D
Dimensions of
A r Br
( 22, 24)
Cr D r
Dimensions of A z (7,7)
0
0
0
0
0
0
0.05677
0
0.05677
0
0
0
0
0
0
0
0.05677
0
0
0
0
Az
0
0
0
0.0002426
0
0
0
0
0
0
0
0.05677
0
0
0
0
0
0
0
0.05677
0
0
0
0
0
0
0
0.05677
Coprime Factorizations
@
D
@
D
@
@
@
@
D
D
D
D
@
@
@
@
D
D
D
D
@
@
@
@
D
D
D
D
@
@
@
D
D
@
@
D
D
D
@
D
@
@
@
D
D
@
@
D
D
D
@@
@
D
D
D
iH
HL
L H
HLLy
HL HL
ki
{
y
H
L
ki HL{
y
H
L
H
L
ki y
{
k{
ps = SystemMatrix t, u, v, w, s
test = MatrixLeftGCD s, t, u ;
Print "L = ", MatrixForm test
Expand test
Simplify test
Det test
. test
. test
= = = Expand t
=== u
s2 s + 1
s3
s s+ 2
s2 + 3 s + 2
s s+ 2
s2 + 3 s + 1
1- s s+ 2
0 1
1 0
1 0
1
0
1
0
0
1
1 s2
0
s2 - 1
U now
True
True
2+ s
s 2+ s
- 1
0
0
1
0
0
0
0
1+ s
0
s2 1 + s
T now
1 - s2 s + 1
s s+ 2
0 0
,s
0 1
0
0
0
1
1 + s2 + s3 1 - s2 - s3 0
2 + 3 s + s2
- 1
0
s 2+ s
1
0
0
0
1
Synthesis Methods
Design Methods
Pole
Assignment
PID
Controller
Optimal
Control
Nyquist
Array
Model Ref.
Opt. Control
Robust NA
Model-Order
Reduction
Nonlinear
Systems
Design/Synthesis Methods
Pole Assignment
SPECTRAL APPROACH
MAPPING APPROACH
EIGENVECTOR METHODS
Ackermanns Formula
k 0 0 1 1 pc ( A)
Here is the controllability matrix of [A,b],
and pc(s) is the desired closed-loop system
characteristic polynomial.
Spectral Approach
q
k i vi
i 1
,
q
where
j 1
q
j1
j i
i v i .b
Mapping Approach
The state-feedback matrix is given as
1 1
k X
b Ab A n 1 b
0
0
1
a
0
n 1 1
X a n 2 a n 1 1
a 1
a2 a3
0
0
0
1
a n 2 0 a 0
n1 a n1 n 2
Eigenvector Methods
It is also possible to determine the statefeedback pole assignment compensator as
uci mi A i I n b
1
Error
-4
-6
-8
Spectral
-10
Mapping
-12
Ackermann's
-14
EVAssign
-16
2
10
12
14
16
18
20
14
16
18
20
Order
0.7
0.6
Tim e [s]
0.5
0.4
0.3
0.2
0.1
0
2
10
12
Order
135
115
Mapping
Time [s]
95
Ackermann's
EV Assign
75
55
35
15
-5
8
Order
10
12
14
J [e t Qe u t Ru ] dt
o
e yM y
C M x M Cx
[C C]~
x
M
System
Model
+
Reference
Model
yM
K 11
Ko
K 21
K 12
K 22
+
-
I dt
+
A
K22
r
K21
K12
+
BM
-
I dt
CM
+
AM
K11
Model xM
K21
+
-
System
K22
y
x
1
(1 4s)
0.6
(1 5s)
G (s )
0.35
(1 5s)
0.2
(1 5s)
1
(1 s )
M (s )
0
0.7
(1 5s)
0.3
(1 5s )
1
(1 4s)
0.4
(1 5s )
0.4
(1 5s)
1
(1 4s )
0.3
(1 5s)
0.7
(1 5s )
0.2
(1 5s )
0.35
(1 5s )
0.6
(1 5s )
1
(1 4s )
1
(1 0.5s )
1
(1 0.5s )
1
(1 s )
0
0
0
0
0
0
0
0.01 0
0
0.01 0
0
0
0
0
0
0
0
0.01 0
0
0
0
0
0
0
0
0.01
0
0
0
0
Q
0
0
0
0 1000
0
0
0
0
0
0
0
0
1000
0
0
0
0
0
0
0
0
1000
0
0
0
0
0
0
0
1000
0
0
0
0
0
0
0
0
1000
0
1000
0
0
0
0
0
0
0
0
1000
0
0
0
0
0
0
0
0
1000 0
0
0
0
R
0
0
0
0
0.01 0
0
0
0
0
0
0
0
0.01 0
0
0
0
0
0
0
0
0.01 0
0
0
0
0
0
0
0.01
0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
1
PID
Plant
Kp
Ki dt
+
u
+
Kd
d
dt
e
r
2-D Test
Compensator
Plant
Kx
s 3 6s 2 2s 1
g (s ) 5
s 3s 4 29s 3 15s 2 3s 60
Ki
+1.0
Kp
-1.0
+1.0
27
(s 1)( s 3)3
27
4
s 10s 3 36s 2 54s 27
g (s )
100
Ki
75
50
25
0
10
7.5
Kp
2.5
0
5
Kd
10
Design Requirements
Stability
Performance
Robustness
Simplicity
Transparency
increasing
difficulty
Acknowledgements
D-Stability
= Sin()
Im
Re
d
25
20
15
10
5
0
Kp
10
15
20
~R
~L
~Y
@
88
8
H
L
H
L
H
L
<
H
L
H
L
H
L
<
8
HL@
HLD
HL
<<D
@
8 <D
tfsys = TransferFunction s,
3
s+2 , 1
s+2 , 1
s+ 2
s+1 , 8
s+4 , 1
s+ 2
s+2 , 3
s + 2 , 10
1, 0.5, 2
s+ 5
i y
k {
T
s+ 2
s+ 2
s+ 2
s+ 1
s+ 4
s+ 2
10
s+ 2
s+ 2
s+ 5
8<
1, 0.5, 2
-0.5
-1
-0.05
-0.1
-0.15
-0.2
-0.25
-0.05
-0.1
-0.15
-0.2
-0.25
-0.05
-0.1
-0.15
-0.2
-0.25
-1.5
2
-0.1
-0.2
-0.3
-0.4
-0.5
1
-2
-1
-1
-2
1
-0.05
-0.1
-0.15
-0.2
-0.25
0.5
-0.5
-0.5
-1
Gasifier
PSINK
TGAS
PGAS
CVGAS
WAIR
WSTM
WCOL
WLS
MASS
WCHR
Model Format
A is 25 x 25
C is 4 x 25
Inputs:- 1 char
2 air
3 coal
4 steam
5 limestone
6 upstream disturbance
x Ax Bu
y Cx Du
B is 25 x 6
D is 4 x 6
Outputs:- 1 gas cv
2 bed mass
3 gas pressure
4 gas temperature
Advantages:
It can be implemented by closing one loop at a
time.
Usually, the resulting control scheme is quite
simple and can be easily realized in practice.
Normalization :
Generates the input-output scaling to be applied to the
system in order to minimize interaction.
Determines the best input-output pairing for control
purposes.
Produces good diagonal dominance properties at low and
intermediate frequencies.
Results are obtained by using simple, wholly real
permutation matrices.
Preliminary Analysis
The original 25th order system is numerically very ill
conditioned.
The eigenvalues cover a significant range in the complex
plane, ranging from -0.00033 to -33.1252.
The condition number is 5.24 x 1019.
At w = 0 the maximum and minimum singular values are
147500 and 50, respectively.
The Kalman controllability and observability tests yield a
rank of 1, and the controllability and observability gramians
are :-
107
. 1016
7.64 105
7
7.29 10
4.63 1015
22
8.08 10
Wc
317
. 10 31
33
. 10
159
43
3
.
09
10
69
9.35 10
4.47 1014
2.84 104
0
4.49 10
5.29 10 2
2
3.29 10
Wo
2.29 10 2
3
6.15 10
3
1
.
78
10
3
1.22 10
4
7
.
02
10
5
9.11 10
Preliminary Analysis
Dimensions of
A B
( 29, 31)
C D
Dimensions of
A r Br
( 22, 24)
Cr D r
Dimensions of A z (7,7)
0
0
0
0
0
0
0.05677
0
0.05677
0
0
0
0
0
0
0
0.05677
0
0
0
0
Az
0
0
0
0.0002426
0
0
0
0
0
0
0
0.05677
0
0
0
0
0
0
0
0.05677
0
0
0
0
0
0
0
0.05677
H
L
@
D
@8<D
@
8
<
D
@
D
@
@
D
@
D
88 8 <<8<<8<8<D
@
@
@
D
D
D
@
8
<
88 @D
<8 <<
@
8
8
<
8
@
D
<
8
<
<
D
D
*
GEC
PI Controller
kp = - 0.003; ki = - 0.00001;
pPlusi = Together kp + ki s
ki kp
2, 1, 3, Negative
, 3, 2
, 1 , 3
2, 1
- 0.001, 0.0001 ,
- 0.0005, 0.0005
0, 0 ,
Im
0.0004
0.0002
Re
-0.001
-0.0008
-0.0006
-0.0004
-0.0002
-0.0002
-0.0004
H
*
GEC
L
@
@
D
8
<
@
DD
PI Controller
Timing
1.2
1
0.8
0.6
0.4
0.2
1000
7.481 Second,
2000
<
Graphics
3000
4000
H
*
more gain
kp = - 0.003; ki = - 0.00001;
D
@8<D @
8
<
D
@
D
@
@
D
@
D
88 8 @
<<8<<@
8@
<8D
<
D
D
D
@
8
<
88 @D
<8 @
<
<
8
8
<
8
@
D
<
8
<
<
D
D
kp = - 0.01; ki = - 0.000002;
pPlusi = Together kp + ki s
ki kp
; oprow = TakeRows c, 2, 2
2, 1, 3, Negative
, 3, 2
, 1 , 3
2, 1
- 0.003, 0.0001 ,
- 0.0015, 0.0015
0, 0 ,
Im
0.0015
0.001
0.0005
Re
-0.003
-0.0025
-0.002
-0.0015
-0.001
-0.0005
-0.0005
-0.001
-0.0015
H
*
@
@
D
8
<
@
DD
Timing
0.8
0.6
0.4
0.2
1000
7.871 Second,
2000
<
Graphics
3000
4000
Design Procedure - 1
The Nyquist Array after an initial output
scaling of diag{0.00001 , 0.001 , 0.001 ,
0.1} looks like :
Design Procedure - 2
The Nyquist Array after swapping the
first two outputs (calorific value of fuel
gas and bedmass) and closing the
bedmass/char off-take loop is :
Design Procedure - 3
The Nyquist Array of the 3 x 3 subsystem after
normalisation and high frequency decoupling at
w = 0.001 rad/sec is (where the outputs are
pressure, temperature and calorific value of fuel
gas) :
Design Summary
Temperature Loop.
bedmass PI
cv PI
pressure PI
temperature
control
constant
decoupling
Input
Scaling
Gasifier
Output
Scaling
Controller
Constant Pre-compensator
1
0.65 0.54 0.66
0
.
06
0
.
78
1
.
29
Constant Post-compensator
0.001
0
.
0001
0.00001
0
.
05
Dynamic Controller
100
0.0001
s
0.01
0.02
s
0.0015( s 0.0005)
s( s 0.001)
Model Simplification
250
200
150
100
50
20
40
60
Green
80
100
= high - order
2000
1000
2500
5000
7500
10000
12500
15000
-1000
-2000
-3000
-4000
8
<
I
I
8
<
8@@
<
@
D
D
D
0.991 Second, Null
3499.26 s7 + 238.081 s6
0.885487 s5 +
10 2
11 3
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1
0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1
0.0330784
3, 2
. s - > 0.1707 I
Model Simplification
Im
0.0004
0.0002
Re
-0.001
-0.0005
0.0005
-0.0002
-0.0004
1
m
This result can be compared with a previous result
developed by Munro and Novin-Hirbod (1979) for
the case of dynamic output feedback, where the
degree r of the necessary compensator is given by
n ( m 1)
r
max(
m
,