MIMO systems

advertisement
Control Systems 2
Lecture 9: MIMO systems: directionality and loopshaping
Roy Smith
2016-4-27
9.1
Directionality
MIMO systems: inputs and outputs are vector-valued.
Input signals are functions of both frequency and “direction.”


u1 (jω)


..
u(jω) = 

.
unu (jω)
For a given u(s), the “signal gain” of the system is,
ky(s)k2
kG(s)u(s)k2
=
ku(s)k2
ku(s)k2
Z
∞
= Z −∞
∞
−∞
y(jω)∗ y(jω)dω
∗
1/2
u(jω) u(jω)dω
1/2 =
Z
Z
ny
∞ X
−∞ i=1
nu
∞ X
−∞ i=1
|yi (jω)|2 dω
2
!1/2
|ui (jω)| dω
!1/2
Here we measure only the size of G(s)u(s) (i.e. kG(s)u(s)k2 ).
2016-4-27
9.2
Singular value decomposition
Given a matrix G ∈ C m×p , with rank(G) = r ≤ min(m, p),
G = U ΣV ∗ ,
with Σ = diag(σ1 , . . . , σr , 0, . . . , 0),
σi ≥ σi+1 ≥ σr > 0,
U ∗ U = I,
V ∗V = I
(unitary).
2 × 2 real matrix example
G=
|
− sin θ1
cos θ1
{z
}
U
(rotate)
cos θ1
sin θ1
σ1 0
0 σ2
| {z }
Σ
(scale)
|
cos θ2
− sin θ2
± sin θ2
± cos θ2
{z
V∗
(rotate)
}
2016-4-27
9.3
Singular value decomposition
Maximum gain; as a function of direction



G = U ΣV = u1

∗
···



um 


σ1
..
.
σr
0
If we choose x = v1 (which means kxk2 = 1) then,

0 




0
v1∗
..
.
vp∗



Gx = u1 σ1 , and kGxk2 = σ1 = max kGxk2 .
kxk2 =1
Notation:
2016-4-27
σ (G) := σ1
σ (G) := σmin(m,p)
(maximum singular value)
(minimum singular value)
9.4
Singular value decomposition
Input (u), kuk2 = 1
Output (y = Gu)
y(2)
Gv1
u(2)
1
1
Gv2
−1
y(1)
v1
v2
1 u(1)
−1
1
−1
−1
σ1 = 2.00 (maximum gain)
σ2 = 0.82 (minimum gain)
1.5
G=
−1.1
0
1.1
2016-4-27
9.5
SVD properties
Gain bounds for y = Gu
For any u,
σ (G) ≤
kGuk2
≤ σ (G)
kuk2
Norm relationships:
If G = G1 G2 ,
kGk = σ (G) ≤ σ (G1 )σ (G2 )
If G = G1 + G2 ,
kGk = σ (G) ≤ σ (G1 ) + σ (G2 )
Condition number
κ(G) :=
σ (G)
σ (G)
and by definition: κ(G) ≥ 1
Plants with high condition numbers can be very difficult to control.
2016-4-27
9.6
Eigenvalue decompositions
Spectral radius
ρ(G) = max |λi (G)|,
i
where λi (G) satisfies λi xi = Gxi (eigenvalue equation).
Spectral radius is not a norm
G = G1 + G2 , but ρ(G) ρ(G1 ) + ρ(G2 )
0 1
ρ
= 0, but the matrix is not zero.
0 0
2016-4-27
9.7
Eigenvalue decomposition
Input (u), kuk2 = 1
Output (y = Gu)
y(2)
Gv1
u(2)
1
1
Gx2
Gv2
−1
y(1)
v1
x2
v2
1 u(1)
−1
1
x1
−1
λ1 = 1.50
λ2 = 1.10
2016-4-27
Gx1
−1
1.5
G=
−1.1
0
1.1
9.8
Singular value decomposition
Maximum gain; as a function of frequency
y(jω) = G(jω) u(jω) = U (jω)Σ(jω)V (jω)∗ u(jω).
H∞ norm
kG(s)kH∞ =
sup
ku(s)k2 =1
=
ky(s)k2
sup
ku(jω)k2 =1
Z
∞
−∞
Z ∞
∗
y(jω) y(jω)dω
∗
u(jω) u(jω)dω
−∞
= sup
ω
max
ku(jω)k2 =1
1/2
1/2
ky(jω)k2 = sup σ (G(jω))
ω
2016-4-27
9.9
Example: distillation process (LV configuration)
1
87.8
G(s) =
75s + 1 108.2
−86.4
−109.6
σ (G(0)) = 197
σ (G(0)) = 1.39
κ(G(0)) = 141.7
Magnitude
100
σ (G)
10
σ (G)
1
0.01
0.1
1
log ω
(rad/sec)
0.1
2016-4-27
9.10
Distillation process: input errors
1
87.8
G(s) =
75s + 1 108.2
−86.4
−109.6
Open-loop steady state response
Consider the input,
1
u=
giving the output
1
87.8
y=
108.2
−86.4
1
1.40
=
.
−109.6 1
−1.40
Now suppose we have a 5% error in the input actuators:
1.05
87.8
−86.4
1.05
10.11
u=
. now gives y =
=
.
0.95
108.2 −109.6 0.95
9.49
Source of the problem:
high condition number; and
input errors not aligned with singular vectors.
2016-4-27
9.11
Distillation process: model uncertainty
1
87.8
G(s) =
75s + 1 108.2
−86.4
−109.6
≈
1
87
G̃(s) =
75s + 1 109
−88
.
−108
Suppose we have errors in each matrix entry that are less than 2%.
Open-loop steady state response
Again consider the input,
1
u=
giving the output
1
87.8
y=
108.2
Now apply the same input to G̃(0),
1
87
u=
. now gives y =
1
109
−86.4
1
1.40
=
.
−109.6 1
−1.40
−88
1
−1
=
.
−108 1
1
The sign of each output has changed. Any closed loop controller designed for
G̃(s) is almost certainly unstable on G(s).
2016-4-27
9.12
Example: spinning satellite
1
s − a2
G(s) = 2
s + a2 −a(s + 1)
100
a(s + 1)
,
s − a2
a = 10.
Magnitude
10
σ (G)
1
0.1
1
log ω
(rad/sec)
10
σ (G)
0.1
2016-4-27
9.13
Non-square plants
ny > nu
ny < nu
y1
y2
y3
G(s)
u1
y1
u2
y2
There is an output direction which is
not affected by the input.
u1
G(s)
u2
u3
There is an input direction which has
no effect on the output.
These directions may vary as a function of frequency.
Functional controllability
A system is functionally controllable if the number of outputs (to be
controlled) is equal to the normal rank of G(s).
2016-4-27
9.14
SVD performance measures
d
Gd (s)
y
+
u
G(s)
K(s)
+
r
−
n
ym
+
Input gain constraints
Recall the “perfect” control (feedforward) solution:
u = G(s)−1 R r − G(s)−1 Gd (s) d
To avoid input saturation:
σ G(jω)−1 R(ω) ≤ 1
σ G(jω)−1 Gd (jω) ≤ 1
⇐
σ (G(jω)) ≥ σ (R(ω))
⇐
σ (G(jω)) ≥ σ (Gd (jω))
2016-4-27
9.15
MIMO reference tracking performance
Gd (s)
y
+
G(s)
d
u
K(s)
+
r
−
n
ym
+
Say d = 0, n = 0, and e = r − y.
σ (S(jω)) ≤
ke(ω)k2
≤ σ (S(jω))
kr(ω)k2
To get the reference tracking error, e, small for r of any direction,
σ (S(jω)) <1/|Wp (ω)|,
for all ω
⇐⇒ σ (Wp (ω)S(jω)) < 1,
for all ω
⇐⇒ kWp SkH∞ < 1.
2016-4-27
9.16
MIMO reference tracking performance
Bandwidth
ωB :
√
Frequency where σ (S(jω)) crosses 1/ 2 from below.
σ (X) − 1 ≤
1
σ ((I + X)−1 )
(see S & P appendix)
So:
σ (L(jω)) − 1 ≤
1
σ (S(jω))
At low ω:
σ (L(jω)) 1
=⇒
σ (S(jω)) ≈ 1/σ (L(jω))
At high ω:
σ (L(jω)) 1
=⇒
σ (S(jω)) ≈ 1
2016-4-27
9.17
MIMO performance limitations
MIMO sensitivity
S(jω) + T (jω) = I
for all ω.
So,
|1 − σ (S(jω))| ≤ σ (T (jω)) ≤ 1 + σ (S(jω))
|1 − σ (T (jω))| ≤ σ (S(jω)) ≤ 1 + σ (T (jω))
2016-4-27
9.18
MIMO performance limitations
A Bode integral-type sensitivity constraint
Z
∞
0
ln | det(S(jω)| dω =
=
XZ
j
∞
ln σj (S(jω)) dω
0

Np

X


π
real(pi )



0
if L(s) is unstable
i=1
if L(s) is stable
As in the SISO case, the summation is over the Np unstable poles of L(s).
2016-4-27
9.19
MIMO interpolation conditions
Internally stable closed-loop S(s) and T (s)
For RHP-poles, p, of G(s), with output direction yp
T (pi )yp = yp ,
S(pi )yp = 0
For RHP-zeros, z, of G(s), with output direction yz
yz∗ T (z) = 0,
2016-4-27
yz∗ S(z) = yz∗
9.20
Weighted sensitivity peak
Suppose G(s) has a RHP-zero, z.
Suppose we also have a scalar sensitivity weight, Wp (s).
Then for a closed-loop internally stable sensitivity function, S(s),
kWp (s)S(s)kH∞ = max σ (Wp (jω)S(jω))
ω
≥ |Wp (z)|
Performance requirements
kWp (s)S(s)kH∞ < 1
=⇒
|Wp (z)| < 1.
2016-4-27
9.21
Weighted complementary sensitivity peak
Suppose G(s) has a RHP-pole, p.
Suppose we also have a scalar perturbation weight, Wm (s).
Then for a closed-loop internally stable sensitivity function, T (s),
kWm (s)T (s)kH∞ = max σ (Wm (jω)T (jω))
ω
≥ |Wm (p)|
Robustness requirements
kWm (s)T (s)kH∞ < 1
2016-4-27
=⇒
|Wm (p)| < 1.
9.22
MIMO loopshaping
Nominal performance
Reference tracking:
e = S(s)w
kWp SkH∞ ≤ 1
⇐⇒
⇐⇒
kWp ek2 ≤ 1 for all kwk2 ≤ 1
Nominal performance
Robust stability
Suppose we have a multiplicative perturbation model.
Model set:
G(s)(I +∆Wm (ω))
kWm T kH∞ ≤ 1
or
k∆kH∞ < 1
(I +∆Wm (ω))G(s),
⇐⇒ Robust stability
Important subtlety: the correct definition of T (s) and S(s) depends on the
location of the perturbation.
2016-4-27
9.23
MIMO loopshaping
For simplicity, consider scalar weights Wm (s) and Wp (s).
Magnitude
If σ (L(jω)) 1 (high freq.)
100
σ (T (jω)) < 1/|Wm (jω)|
is approximately
10
1
σ (L(jω)) < |Wm−1 (jω)|
Wp (jω)
0.01
0.1
1
log ω
(rad/sec)
Wm−1 (jω)
0.1
If σ (L(jω)) 1 (low freq.)
σ (S(jω)) < 1/|Wp (jω)|
0.01
is approximately
σ (L(jω))
σ (L(jω))
σ (L(jω)) > |Wp (jω)|
Note: In general σ(GK) 6= σ(KG). Different conditions may apply.
2016-4-27
9.24
Example: distillation process (DV configuration)
Nominal plant
1
−87.8
G(s) =
(100s + 1)(s + 1) −108.2
1.4
−1.4
Perturbation model
Wm
∆
y
y= 1
y2
G(s)
(s + 0.2)
Wm (s) =
I2×2 ,
(0.5s + 1)
u
u= 1
u2
+
∆=
δ11
δ21
δ12
δ22
or
∆=
|
{z
}
“unstructured”
perturbation
δ11
0
0
δ22
{z
}
|
“structured”
perturbation
2016-4-27
9.25
Example: distillation process (DV configuration)
1
−87.8
G(s) =
(100s + 1)(s + 1) −108.2
1.4
,
−1.4
κ(G(jω)) = 70.6
Magnitude
100
10
σ (G(s))
Wp (s)
Wm (s)
1
0.01
0.1
log ω
(rad/sec)
1
0.1
σ (G(s))
0.01
2016-4-27
G(s)
9.26
MIMO controller design: inverse based
Wm (s)
∆
y
G(s)
K(s)
+
+
r
−
1
−87.8
G(s) =
−108.2
(100s + 1)(s + 1)
(100s + 1) 0.4
K(s) =
0
s
0
0.2
1.4
−1.4
−87.8
−108.2
1
0.4
Li (s) = K(s)G(s) =
s(s + 1) 0
−1
1.4
−1.4
0
0.2
1
0.29
Lo (s) = G(s)K(s) =
s(s + 1) 0.11
RS analysis
←−
0.09
0.31
←−
NP analysis
2016-4-27
9.27
Example: Nominal performance
kWp So kH∞ = Wp (s) (I + G(s)K(s))−1 H
∞
< 1,
or, equivalently,
|σ (So (jω))| <
1
|Wp (jω)|
Magnitude
Wp −1 (jω)
1
0.01
0.1
1
log ω
(rad/sec)
0.1
σ(So (jω))
0.01
2016-4-27
9.28
Example: Robust stability
kWm Ti kH∞ = Wm (s) (I + K(s)G(s))−1 K(s)G(s)H
∞
< 1,
or, equivalently,
|σ (Ti (jω))| <
1
|Wm (jω)|
Magnitude
Wm−1 (jω)
1
0.01
0.1
1
log ω
(rad/sec)
σ(Ti (jω))
0.1
0.01
2016-4-27
9.29
Example: nominal performance and robust stability
1.0
0.75
σ (Wp (jω)So (jω))
0.5
0.25
σ (Wm (jω)Ti (jω))
0
2016-4-27
0.01
0.1
1
log ω
(rad/sec)
σ (Wp (jω)So (jω)) < 1,
for all ω
⇐⇒
nominal performance
σ (Wm (jω)Ti (jω)) < 1,
for all ω
⇐⇒
robust stability
9.30
MIMO loopshaping
Potential difficulties
I
Robust stability is with respect to a single unstructured perturbation.
I
Ensuring stabilization is not as simple as the SISO case.
I
Multiple performance criteria are not as easily expressed as a single
sensitivity constraint.
I
No guarantees about robust performance.
2016-4-27
9.31
MIMO RHP zero limitations
Non-minimum phase MIMO example

s
2
 s + 11s + 10
GNMP (s) = 
 5s2 + 10s + 50
s3 + 15s2 + 50s
=


s
10
 s + 10 s + 10 


 10
s 
s + 10 s + 10
|
{z
}
−1
Bz (s)

10
s2 + 11s + 10 


s + 55
s2 + 15s + 50

5 
s + 5
 .
1
s
{z
}
GMP (s)
1
s + 1

0
|
GNMP (s) has a RHP zero at s = 10 radians/second.
1 −1 GNMP (s) |s=10 = 0 0 .
| {z }
yzT
2016-4-27
9.32
MIMO RHP zero limitations
Non-minimum phase MIMO example
Magnitude
100
G12 (jω)
10
0.1
1
10
100
log ω
(rad/sec)
1
10
100
log ω
(rad/sec)
1
0.1
0.01
G11 (jω)
0.001
90
0.1
0
−90
G21 (jω)
G22 (jω)
−180
Phase (deg.)
2016-4-27
9.33
MIMO RHP zero limitations
Internal Model Control (IMC) based design
Design for,
T (s) = Bz−1 (s)Tideal (s).
Choose the “ideal” complementary sensitivity function to be,
1
1 0
Tideal (s) = 2
.
0 1
√
s
s
+ 2
+1
ωc
ωc
2016-4-27
9.34
MIMO RHP zero limitations
Sensitivity: S = (I + GK)−1
Reference tracking performance or output disturbance rejection.
Maximum singular value
10
0.1
1
1
10
0.1
100
log ω
(rad/sec)
ωc = 0.1
ωc = 0.2
ωc = 0.5
ωc = 1.0
ωc = 2.0
ωc = 5.0
ωc = 10
ωc = 20
0.01
0.001
2016-4-27
9.35
MIMO RHP zero limitations
Input complementary sensitivity: Ti = (I + KG)−1
Robustness with respect to input perturbations.
Maximum singular value
50
10
0.1
1
0.1
0.01
1
10
100
log ω
(rad/sec)
ωc = 0.1
ωc = 0.2
ωc = 0.5
ωc = 1.0
ωc = 2.0
ωc = 5.0
ωc = 10
ωc = 20
0.001
2016-4-27
9.36
Notes and references
Skogestad & Postlethwaite (2nd Ed.)
MIMO systems: sections 3.2 and 3.3
MIMO examples: section 3.7
Sensitivity bounds: sections 6.2 and 6.3
2016-4-27
9.37
Download