Robust Stability and Performance: ME8281 - Last Updated: April 21, 2008 (C) Perry Li
Robust Stability and Performance: ME8281 - Last Updated: April 21, 2008 (C) Perry Li
Robust Stability and Performance: ME8281 - Last Updated: April 21, 2008 (C) Perry Li
Y (s) Y (s) Go(s)C(s)
To(s) = = = (18)
Dm(s) R(s) 1 + Go(s)C(s)
Y (s) 1
So(s) = = (19)
Do(s) 1 + Go(s)C(s)
Y (s) Go(s)
Sio(s) = = (20)
Di(s) 1 + Go(s)C(s)
U (s) C(s)
Suo(s) = = (21)
Do(s) 1 + Go(s)C(s)
Internal Stability
Example Consider
s s + 2
Go(s) = , C(s) =
(s + 4)(s + 2) s
G(s)C(s) 1
To(s) = Y (s)/Dm(s) = =
1 + Go(s)C(s) s + 5
s+4
S(s) = 1 To(s) =
s+5
Y (s) s
Sio(s) = =
Di(s) (s + 2)(s + 5)
Modeling Error
Additive uncertainty:
Multiplicative uncertainty:
or
G(s) Go(s)
G(s) =
Go(s)
k
s s + 2k
e
s + 2k
where k = 0, 1, 2, . . ..
k
s s + 2k
G(s) = e
s + 2k
" k # k
s + 2k s + 2k
G(s) = e s / .
s + 2k s + 2k
0
10
2
10
MME
4
10
6 k=0
10 k=1
k=2
8
k=3
10 k=5
10
10
2 1 0 1 2
10 10 10 10 10
rad/s
Other examples:
n2 /(s2 + 2ns + n2 ) 1.
Robust Stability
P := {G(s) = (1 + Wu(s)(s))Go(s)}
where
Remark:
kF k := sup|F (j)| is the so called infinity
norm of the transfer function F (s).
|1 + Lo(j)|
However, since
Lo(j)
|To(j)G(j)| < 1
G(j) < 1
1 + Lo(j)
Necessity in item 2:
|Wu(j1) To(j1)| = 1 1
at some 1.
1 (s )
(s) =
(s + )
1
(j) = ej(,)
1
1+Lo(j1) = Wu(j1)ej(,1) = Lo(j1)G(j1)
1
QED.
Remarks:
The perturbed closed loop system can be formulated
into a closed loop system between G1(s) =
G(s) = Wu(s)(s) and G2(s) = To(s).
ky()k
kGiki := supu()
ku()k
Robust Performance
We assume that the performance is specified by the
smallness of the achieved sensitivity S(s).
1 1
S(s) = =
1 + G(s)C(s) 1 + L(s)
Nominal performance:
1
kWpSok < 1; So(s) =
1 + Lo(s)
do = k + asin(t + )
where
P := {G(s) = (1 + Wu(s)(s))Go(s)}
Perturbed sensitivity:
1 So
S(s) = =
1 + (1 + G)Lo(s) 1 + G(s)To(s)
Lo (s)
where To(s) = 1+Lo (s) .
Sketch of Proof:
|WpSo| |WpSo|
=
1 |WuTo| 1 + WuTo
Geometric interpretation:
The robust performance theorem states that at all
, disks of size |Lo(j)Wu(j)| centered at Lo(j)
should not intersect disk with radius |Wp(j)| the
(1, 0) point.
This is because:
|Wp(jw)|
(1, 0)
|Wu(jw)| |Lo(jw)|
Lo(jw)
Perturbed plant:
Error sensitivity:
1
S(s) =
1 + To(s)G(s)
S(s) = So(s)S(s)
T (s) = To(s)(1 + G(s))S(s)
Si(s) = Sio(s)(1 + G(s))S(s)
Su(s) = Suo(s)S(s)
A Conservative Result:
S(s) 1 + j0.
|To(j)Wu(j)| <<< 1
Servo-hydraulic Example
mx + bx + kf (x y) = 0;
y = u
K
G(s) =
s(ms2 + bs + K)
G(s) Go(s)
G(s) =
Go(s)
(ms2 + bs) (s2 + 2wns)
= 2 = 2
m + bs + K s + 2wns + wn2
G(s) = Wu(s)(s);
Performance Weight Wp
4
10
Wp = 100
(s + 20)5
2
10
0
10
9s
Wu =
2
10 s + 1200
4
10
6 9 s (s+200)
10 Wu =
(s + 1200)2
8
10
10
10
3 2 1 0 1 2 3 4
10 10 10 10 10 10 10 10
Secondly try:
9s(s + 200)
Wu =
(s + 1500)2
Bandwidth of c = 20 rad/s
100wc5
Wp(s) =
(s + wc)5
|Wp(j)S(j)| < 1
Proportional control:
K s
To = , So = .
s+K s+K
2
10
WuT
0
WpS
10
2
10
4
10
6
10
8
10
10
10
1 0 1 2 3 4
10 10 10 10 10 10
Nominal design: K = 600
K = 160
Sensitivity S Robust Stability WuT
0 0
10 10
2 2
10 10
4 4
10 10
6 6
10 10
5 0 5 5 0 5
10 10 10 10 10 10
0 0
10 10
10 2
10 10
20 4
10 10
5 0 5 5 0 5
10 10 10 10 10 10
K = 180
Sensitivity S Robust Stability WuT
0 0
10 10
2 2
10 10
4 4
10 10
6 6
10 10
5 0 5 5 0 5
10 10 10 10 10 10
0 0
10 10
10 2
10 10
20 4
10 10
5 0 5 5 0 5
10 10 10 10 10 10
K = 200
Sensitivity S Robust Stability WuT
0 2
10 10
0
10
2
10
2
10
4
10
4
10
6 6
10 10
5 0 5 5 0 5
10 10 10 10 10 10
0 0
10 10
10 2
10 10
20 4
10 10
5 0 5 5 0 5
10 10 10 10 10 10
K = 220
Sensitivity S Robust Stability WuT
0 2
10 10
0
10
2
10
2
10
4
10
4
10
6 6
10 10
5 0 5 5 0 5
10 10 10 10 10 10
0 0
10 10
10 2
10 10
20 4
10 10
5 0 5 5 0 5
10 10 10 10 10 10
Options:
K = 180.
Robust Stability WuT
1
10
2 3 4
10 10 10
0
10
2
10
4
10
0 1 2
10 10 10
K = 180
Sufficient condition:
1 |Wp|
|Lo| < |WpSo| + |WuTo| < 1.
1 + |Wu|
Necessary condition:
1 |Wp|
|Lo| < |WpSo| + |WuTo| < 1.
|Wu| 1
1 |Wp|
|Lo| < (25)
|Wu|
Sufficient condition:
|Wp| + 1
|Lo| > |WpSo| + |WuTo| < 1.
1 |Wu|
Necessary condition:
|Wp| 1
|Lo| > |WpSo| + |WuTo| < 1.
1 |Wu|
|Wp|
|Lo| > (26)
1 |Wu|
Setup:
Procedure:
C(s) = Lo(s)/Go(s)
i (s + i)
Ci(s) = .
i s + i
180
L(s) = C(s)Go(s) =
s
EH actuator example Proportional Control (K=180)
4
10
3
10
2
10
1
10
0
10
1
10
2
10
1 0 1 2 3 4
10 10 10 10 10 10
s+1 s+1
Lo(s) = 180 Go(s) = 180
(s/10 + 1) s(s/10 + 1)
3
10
2
10
1
10
0
10
1
10
2
10
1 0 1 2 3 4
10 10 10 10 10 10
1 0
10 10
2 2
10 10
3 4
10 10
4 6
10 10
2 0 2 4 2 0 2 4
10 10 10 10 10 10 10 10
5 0
10 10
10 1
10 10
15 2
10 10
2 0 2 4 2 0 2 4
10 10 10 10 10 10 10 10
s+1
C(s) = 180
s/10 + 1
s/100 + 1 s+1
Lo(s) = 180 Go(s)
(s/10 + 1) s/10 + 1
s/100 + 1
= 180
s(s/10 + 1)2
4
10
3
10
Trial 1
2
10
Trial 0
1
10
Trial 2
0
10
1
10
2
10
1 0 1 2 3 4
10 10 10 10 10 10
1
10
2
10
3
10
4 5
10 10
2 0 2 4 2 0 2 4
10 10 10 10 10 10 10 10
5
10
1
10
10
10
15 2
10 10
2 0 2 4 2 0 2 4
10 10 10 10 10 10 10 10
(s + 1)(s/100 + 1)
C(s) = 180
(s/10 + 1)2
10
5
Imaginary Axis
10
15
20
x = Ax + Bu L(C x y)
u = K x
L(s) P (s)
U (s) = Y (s) + V (s) (27)
E(s) E(s)
where
P (s)
U (s) = (R(s) Y (s))
E(s)
P (s)
where V (s) = E(s) R(s).
:= y C x = Ce
Therefore,
where
L(s) P (s)
U (s) = Y (s)
E(s) E(s)
Ao(s) Bo(s)
(s) = Y (s) U (s)
E(s) E(s)
u = v K x Qu(s)
Ao(s)L(s) Bo(s)Ao(s)
So(s) = Qu(s) (28)
E(s)F (s) E(s)F (s)
Bo(s)P (s) Bo(s)Ao(s)
To(s) = + Qu(s) (29)
E(s)F (s) E(s)F (s)
F (s) = Ao(s)
L(s) = E(s)
P (s) = 0
so that
Bo(s)
So(s) = 1 Qu(s)
E(s)
Bo(s)
To(s) = Qu(s)
E(s)
L(s)
Qu(s) = F1(s)
Bo(s)
P(s)
Qu(s) = F2(s)
Ao(s)
Q(s) = G1
o (s)F1 (s)
Qu(s) = G1
o F2 (s)
Remarks:
Bo(s) 1
G(s) = =
Ao(s) s
x = u + di
y = x + do
x = u L(x y)
= y y = y x
u + Ly
(s) = y(s)
s+L
s y(s) u(s)
=
s+L s+L
y(s) s(s + K + L) s
So(s) = = Qu(s)
do(s) (s + L)(s + K) (s + L)(s + K)
u(s) KL s
To(s) = = + Qu(s)
di(s) (s + K)(s + L) (s + L)(s + K)
these definitions:
E(s) = s + L
F (s) = s + K
L(s) = (s + L + K)
P (s) = LK
0
0.5 10
5
0 10
1
Phase (deg)
10
0.5 10
15
0
0 1
10
2 0 2 4
10 10 10 10 10 10
Frequency (rad/sec)
0
10
1
10
2
10
5 3
10 10
2 0 2 4 2 0 2 4
10 10 10 10 10 10 10 10
>> wc1=200;
>> [B1,A1]=butter(2,wc1,s);
(s + L + K) B1(s)
Q(s) =
A1(s)
Nominal Performance
Bode Diagram 0
100 10
Magnitude (dB)
50
5
0 10
50
0
Phase (deg)
10
10
90
15
180
1 2 3 4 5
10
2 0 2 4
10 10 10 10 10 10 10 10 10
Frequency (rad/sec)
5 5
10 10
2 0 2 4 2 0 2 4
10 10 10 10 10 10 10 10
Nominal Performance
Bode Diagram 0
1 10
0
1
Phase (deg)
10
10
0.5
15
0
0 1
10
2 0 2 4
10 10 10 10 10 10
Frequency (rad/sec)
0
10
2
10
0
4 10
10
6
10
2 0 2 4 3
10 10 10 10 10
>> [B2,A2]=butter(2,[200,5000],s);
KLB2(s)
Q(s) =
sA2(s)
Nominal Performance
Bode Diagram 0
100 10
Magnitude (dB)
50
0 5
10
50
100
360
Phase (deg)
10
10
0
15
360
0 2 4 6
10
2 0 2 4
10 10 10 10 10 10 10 10
Frequency (rad/sec)
1
10
2
10
5 3
10 10
2 0 2 4 2 0 2 4
10 10 10 10 10 10 10 10
Constraints on Wp and Wu
Preliminary Results
kWpSok = supRe(s)0|WpSo|
|Wp(z)So(z)| = |Wp(z)|.
kWuTok = supRe(s)0|WuTo|
|Wu(p)To(p)| = |Wu(p)|.
sz
G(s) = G1(s)
sp
where z and p are RHP zero and pole, G1(s) does not
have any RHP poles or zeros. Then, it can be shown
that:
z + p
kWpSok |Wp(z)|
z p
z + p
kWuTok |Wu(p)|
z p
Significance:
k
L(s) = kG(s) = 2
;
s +s+1
s2 + s + 1
S(s) = 2
s + s + (1 + k)
log S(jw)
1
10
L(s) = k 1
2
s +s+1
k=0
0
10
k=10
1
10
2
10
0 1 2 3 4 5 6 7 8 9 10
rad/s
L(s)
Complementary sensitity is given by T (s) = 1+L(s) .
Z M
1 X 1
ln|T (j)|d = (34)
0 2 c
i=1 i
2kv
Significance:
T o
Wu1 = ; |To(jo)| |Wu1(jo)|.
(sT + )
|p| 1 p
+ < 1 o > |p|.
o T 1 1/T
Limitations - summary
Design implications:
Closed loop pole should be faster than open loop
unstable pole;
Closed loop pole should be slower than open loop
non-minimum phase zero.
Problem when open loop pole is fast, and non-
minimum phase zero is slow consider changing
system architecture.
ls2 g
Gux(s) = 2
s (M ls2 (M + m)g)
q
This has an unstable pole at + (MM
+m)g
l , and a non-
p
minimum phase zero at + g/l.
g
Guy (s) =
s2(M ls2 (M + m)g)
Conclusions: