Académique Documents
Professionnel Documents
Culture Documents
Jan Swevers
KULeuven
jan.swevers@mech.kuleuven.be
November 2009
SISO loopshaping control [H04Q7] 0-2
MULTIVARIABLE
FEEDBACK CONTROL
Analysis and design
Sigurd Skogestad
Norwegian University of Science and Technology
Ian Postlethwaite
University of Leicester
copyright 1996 John Wiley & Sons Ltd,
ISBN 0 471 94330 4
SISO loopshaping control [H04Q7] 0-1
Contents
1 Introduction 1-1
1 Introduction
Always keep in mind
Power of control is limited.
Control quality on depends controller AND on plant/process.
Ziegler-Nichols (1943):
In the application of automatic controllers, it is important to realize that controller and
process form a unit; credit or discredit for results obtained are attributable to one as much as
the other. A poor controller is often able to perform acceptably on a process which is easily
controlled. The finest controller made, when applied to a miserably designed process, may not
deliver the desired performance. True, on badly designed processes, advanced controllers are
able to eke out better results than older models, but on these processes, there is a definite end
point which can be approached by instrumentation and it falls short of perfection.
SISO loopshaping control [H04Q7] 1-2
y = Gu + Gd d (1.1)
y : output/controlled variable
u : input/manipulated variable
d : disturbance
r : reference/setpoint
Major difficulties:
nz snz + + 1 s + 0
G(s) = n (1.2)
s + an1 sn1 + + a1 s + a0
For multivariable systems, G(s) is a matrix of transfer functions.
n = order of denominator (or pole polynomial) or order of the system
nz = order of numerator (or zero polynomial)
n nz = pole excess or relative order.
Definition
A system G(s) is strictly proper if G(s) 0 as s .
A system G(s) is semi-proper or bi-proper if G(s) D 6= 0 as s .
A system G(s) which is strictly proper or semi-proper is proper.
A system G(s) is improper if G(s) as s .
SISO loopshaping control [H04Q7] 1-5
scaled:
b dbmax ,
d = d/ u=u
b/b
umax (1.4)
where:
dbmax largest expected change in disturbance
u
bmax largest allowed input change
SISO loopshaping control [H04Q7] 1-6
y = Gu + Gd d; e=yr (1.6)
Often also:
re = rb/b
rmax (1.7)
so that:
r = Re
r where R = rbmax /b
emax (1.8)
SISO loopshaping control [H04Q7] 1-8
d re
? ?
Gd R
r
y
-? -?
u + -
- G e e -e
+ +
Objective:
for |d(t)| 1 and |e
r(t)| 1,
manipulate u with |u(t)| 1
such that |e(t)| = |y(t) r(t)| 1.
SISO loopshaping control [H04Q7] 1-9
d
?
Gd
r - u- G - b?
+ p-y
- K +
ym
b+
+
6n
(b) Two degrees-of-freedom control configuration
SISO loopshaping control [H04Q7] 1-10
w - -z
- P
u v
K
(c) General control configuration
Table 1: Nomenclature
K controller, in whatever configuration. Sometimes broken down into parts. For exam-
ple, in Figure 2(b), K = [ Kr Ky ] where Kr is a prefilter and Ky is the feedback
controller.
Conventional configurations (Fig 2(a), 2(b)):
G plant model
Gd disturbance model
r reference inputs (commands, setpoints)
d disturbances (process noise)
n measurement noise
y plant outputs. ( include the variables to be controlled (primary outputs with refer-
ence values r) and possibly additional secondary measurements to improve control)
ym measured y
u control signals (manipulated plant inputs)
SISO loopshaping control [H04Q7] 1-12
Minimum phase refers to fact that the system has a minimum possible phase
lag for a given amplitude response.
The local slope at 0 is
d ln |G(j)|
N (0 ) = (2.10)
d ln =0
RHP-zeros and time delays contribute additional phase lag to a system when
compared to that of a minimum phase system with the same gain (hence the
term: NON-minimum phase systems).
Consider:
s + a
G(s) = (2.12)
s+a
with a RHP-zero at s = a has a constant gain of 1, but its phase is
arctan(/a)[rad] (and not 0[rad]).
The time delay es has a constant gain of 1, but its phase is [rad].
SISO loopshaping control [H04Q7] 2-4
5
10
0
Magnitude
2
0
10
1
2
5
10 3 2 1 0 1 2 3
10 10 10 10 10 10 10
1 2 3
0
45
Phase
90
135
180
3 2 1 0 1 2 3
10 10 10 10 10 10 10
Frequency [rad/s]
s+1
Figure 3: Bode plot of minimum phase system L1 = 30 (s+0.01) 2 (s+10)
SISO loopshaping control [H04Q7] 2-5
?
Gd
y
-?
r - u- +
+d - K G d q-
6
- +
ym
d
+
+6
y = GK(r y n) + Gd d
or
(I + GK)y = GKr + Gd d GKn (2.1)
Closed-loop response:
y = (I + GK)1 GK r (2.2)
| {z }
T
+ (I + GK)1 Gd d (2.3)
| {z }
S
(I + GK)1 GK n (2.4)
| {z }
T
SISO loopshaping control [H04Q7] 2-7
Control error:
e = y r = Sr + SGd d T n (2.5)
Plant input:
u = KSr KSGd d KSn (2.6)
SISO loopshaping control [H04Q7] 2-8
Note that:
L = GK (2.7)
S = (I + GK)1 = (I + L)1 (2.8)
T = (I + GK)1 GK = (I + L)1 L (2.9)
S+T =I (2.10)
Notation :
Example
3(2s + 1)
G(s) = (2.11)
(5s + 1)(10s + 1)
RHP zero at s = 0.5
Proportional controller K(s) = Kc
Closed loop system is stable for Kc < 2.5, unstable for Kc > 2.5, limit of
instability for Kc = 2.5 (ultimate gain).
2 Kc = 3 (Unstable)
Kc = Ku = 2.5
1.5
Kc = 1.5
1
0.5
Kc = 0.5
0 Pu
0.5
0 5 10 15 20 25 30 35 40 45 50
Time [sec]
|L| |S|
Magnitude
0 |T |
10
B c BT
2
10 2 1 0 1
10 10 10 10
90
6 S
0
6 T
Phase
90
6 L
180
270 2 1 0 1
10 10 10 10
Frequency [rad/s]
Figure 6: Bode magnitude and phase plots of L = GK, S and T when G(s) =
3(2s+1) 1
(5s+1)(10s+1) , and K(s) = 1.136(1 + 12.7s )
SISO loopshaping control [H04Q7] 2-14
Overshoot = A
1.5 Decay ratio =B/A
A B 1.05
1
y(t)
0.95
0.5
tr ts
Time
1
Magnitude 10
0
10 1
GM
1
10 2 1 0
10 10 c 180 10
90
135
Phase
PM
180
225
2 1 0
10 10 10
Frequency [rad/s]
where the gain crossover frequency c is where L(j) first crosses 1 from
above: |L(jc )| = 1.
The phase margin tells how much negative phase (phase lag) we can add to
L(s) at frequency c before the phase at this frequency becomes 180
which corresponds to closed-loop instability.
Typically we require PM larger than 30 or more.
SISO loopshaping control [H04Q7] 2-19
0.5
1 1 L(j180 )
GM
= + Re
1 PM 0.5 1
L(jc )
0.5
L(j)
Figure 9: Typical Nyquist plot of L(j) for stable plant with PM and GM indicated
SISO loopshaping control [H04Q7] 2-20
Typically :
MS 2 (6dB) (2.16)
MT < 1.25 (2dB) (2.17)
| |S| |T | | |S + T | = 1 (2.18)
180 > BT for GM > 2.414, and 180 < BT for GM < 2.414, yielding that
usually 180 BT .
SISO loopshaping control [H04Q7] 2-27
0.5
y(t)
0
0.5
1
0 5 10 15 20 25 30 35 40 45 50
Time [sec]
|S|
0 B 180 BT
10
Magnitude
|T |
1
10
2
10 2 1 0 1 2
10 10 10 10 10
Frequency [rad/s]
Example continued
Fundamental trade-offs:
1. Good disturbance rejection: L large.
2. Good command following: L large.
3. Mitigation of measurement noise on plant outputs: L small.
4. Small magnitude of input signals: K small and L small.
5. Controller must be strictly proper: K and L 0 at high frequencies.
6. Nominal and robust stability: L small.
7. S + T = 1.
SISO loopshaping control [H04Q7] 2-34
peaks.
SISO loopshaping control [H04Q7] 2-40
Note: L(s) must contain all RHP-zeros of G(s). Idea for minimum phase
plant:
c
L(s) = (2.27)
s
c 1
K(s) = G (s) (2.28)
s
i.e. controller inverts plant and adds integrator (1/s).
BUT:
this is not generally desirable, unless references and disturbances affect
the outputs as steps.
this yields a controller that is not realizable if G(s) has a pole excess of
two or larger.
SISO loopshaping control [H04Q7] 2-44
Objectives are:
1. Command tracking: rise time (to reach 90% of the final value) less than 0.3 s
and overshoot less than 5%.
2. Disturbance rejection: response to unit step disturbance should stay within the
range [1, 1] at all times, and should return to 0 as quickly as possible (|y(t)|
should at least be less than 0.1 after 3 s).
3. Input constraints: u(t) should remain within [1, 1] at all times.
1.5 1.5
1 1
y(t)
y(t)
0.5 0.5
0 0
0 1 2 3 0 1 2 3
Time [sec] Time [sec]
Figure 14: Responses with inverse-based controller K0 (s) for the disturbance
process. Note poor disturbance responce
e = y = SGd d, (2.31)
to achieve |e()| 1 for |d()| = 1 (the worst-case disturbance) we require
|SGd (j)| < 1, , or
|1 + L| |Gd | (2.32)
or approximately:
|L| |Gd | (2.33)
Initial guess:
|Lmin | |Gd | (2.34)
or:
|Kmin | |G1 Gd | (2.35)
SISO loopshaping control [H04Q7] 2-48
Summary:
Controller contains the dynamics (Gd ) of the disturbance and inverts the
dynamics (G) of the inputs.
For disturbance at plant output, Gd = 1, we get |Kmin | = |G1 |.
For disturbances at plant input we have Gd = G and we get |Kmin | = 1.
Loop-shape L(s) may be modified as follows:
1. Around crossover make slope N of |L| to be about 1 for transient behaviour
with acceptable gain and phase margins.
2. Increase the loop gain at low frequencies to improve the settling time and
reduce the steady-state offset add an integrator
3. Let L(s) roll off faster at higher frequencies (beyond the bandwidth) in order
to reduce the use of manipulated inputs, to make the controller realizable
and to reduce the effects of noise.
SISO loopshaping control [H04Q7] 2-50
4 1.5
10
L2 ,L3 y1
Magnitude
2 1
10
L1
0.5
10
0
y3
L3 y2
2
L1 ,L2 0
10 2 0 2
10 10 10 0 1 2 3
Frequency [rad/s] Time [sec]
Figure 16: Loop shapes and disturbance responses for controllers K1 , K2 and K3
for the disturbance process
SISO loopshaping control [H04Q7] 2-52
r - Kr -+ c - Ky u-
G - c?
+ -y
-6 +
ym
c
+
+6
n
Idea:
Design Ky : reduce effect of uncertainty: disturbances and modelling erros
Shape Kr to meet the tracking performance specifications.
SISO loopshaping control [H04Q7] 2-54
= Kr = T 1 Tref (2.40)
SISO loopshaping control [H04Q7] 2-55
Remark:
Practical choice of prefilter is the lead-lag network
lead s + 1
Kr (s) = (2.41)
lag s + 1
lead > lag to speed up the response, and lead < lag to slow down the response.
SISO loopshaping control [H04Q7] 2-56
0.5s + 1 1
Kr3 (s) = (2.42)
0.65s + 1 0.03s + 1
where 1/(0.03s + 1) is included to avoid initial peaking of input signal u(t)
above 1.
1.5
y3 (t)
1
y3 (t)(two degrees-of-freedom)
0.5
0
0 0.5 1 1.5 2 2.5 3
Time [sec]
Figure 18: Tracking responses with the one degree-of-freedom controller (K3 ) and
the two degrees-of-freedom controller (K3 , Kr3 ) for the disturbance process
SISO loopshaping control [H04Q7] 2-58
2
10 2
G = Gd yOL
Magnitude
1 yCL
0
10 0
1
2
10 2 0 2 2
10 10 10 0 5 10 15 20
Frequency [rad/s] Time [sec]
The outlined procedure is well suited for relatively simple systems, e.g.
stable plants where L(s) crosses the negative real axis only once.
The procedure can be extended to more complex systems, the effort required
by the engineer is considerably greater.
SISO loopshaping control [H04Q7] 2-60
|L(j)| 1 S L1 ; T 1
|L(j)| 1 S 1; T L
but in the crossover region where |L(j)| is close to 1, one cannot infer
anything about S and T from |L(j)|.
Alternative:
Directly shape the magnitudes of closed-loop S(s) and T (s).
SISO loopshaping control [H04Q7] 2-61
The term H
The H norm of a stable scalar transfer function f (s) is simply the peak
value of |f (j)| as a function of frequency, that is,
kf (s)k = max |f (j)| (2.44)
The symbol H stands for Hardy space, and H is the set of transfer
functions with bounded -norm, which is simply the set of stable and proper
transfer functions.
SISO loopshaping control [H04Q7] 2-62
1
10
Magnitude
|S| |1/wP |
0
10
1
10
2
10 2 1 0 1
10 10 10 10
Frequency [rad/s]
kwP Sk
Magnitude
0 2 1 0 1
10 10 10 10
Frequency [rad/s]
(b) Weighted sensitivity wP S
Figure 20: Case where |S| exceeds its bound 1/|wP |, resulting in kwP Sk > 1
SISO loopshaping control [H04Q7] 2-64
|S(j)| < 1/|wP (j)|, (2.45)
M
0
10
Magnitude
B
1
10
A
2
10 2 1 0 1 2
10 10 10 10 10
Frequency [rad/s]
Figure 21: Inverse of performance weight. Exact and asymptotic plot of 1/|wP (j)|
in (2.47)
(s/M 1/2 + B
2
)
wP (s) = A1/2 )2
(2.48)
(s + B
SISO loopshaping control [H04Q7] 2-66
Remark
The stacking procedure is selected for mathematical convenience as it does
not allow us to exactly specify the bound on the individual transfer functions.
There maximum error between both is at most n, where n is the number of
elements in the stacked requirement.
2 3dB
SISO loopshaping control [H04Q7] 2-68
Remark 2
Let 0 = minK kN k denote the optimal H norm. An important property
of H optimal controllers is that they yield a flat frequency response , that
is, (N (j)) = 0 at all frequencies.
As a result, except for at most a factor n, the transfer functions resulting
from a H mixed sensitivity design will be close to 0 times inverse of the
weighting functions selected by the designer
This gives the designer a mechanism for directly shaping the magnitudes of
S, T , and KS.
SISO loopshaping control [H04Q7] 2-69
Selected wu = 1 and
s/M + B
wP 1 (s) =
; M = 1.5, B = 10, A = 104 (2.53)
s + B A
(s/M 1/2 + B
2
)
wP 2 (s) = 1/2 2
, M = 1.5, B = 10, A = 104 (2.54)
(s + B A )
SISO loopshaping control [H04Q7] 2-70
0
10
Magnitude
10
2
S1 S2
1/wP 1 1/wP 2
4
10 2 1 0 1 2
10 10 10 10 10
Frequency [rad/s]
Figure 22: Inverse of performance weight (dashed line) and resulting sensitivity
function (solid line) for two H designs (1 and 2) for the disturbance process
SISO loopshaping control [H04Q7] 2-71
1.5 1.5
y2 (t) y1 (t)
1 1
y1 (t)
0.5 0.5 y2 (t)
0
0
0 1 2 3 0 1 2 3
Time [sec] Time [sec]
Figure 23: Closed-loop step responses and step disturbance rejection for two al-
ternative H designs (1 and 2)
SISO loopshaping control [H04Q7] 3-1
y = Gu + Gd d (3.1)
For perfect control, i.e. y = r (not realizable) we have feedforward
controller:
u = G1 r G1 Gd d (3.2)
u = KSr KSGd d
or since T = GKS,
u = G1 T r G1 T Gd d (3.3)
S+T =1 (3.4)
1 1 2 Re
1
2
L(j)
Figure 24: |S| > 1 whenever the Nyquist plot of L is inside the circle
SISO loopshaping control [H04Q7] 3-8
where the area of sensitivity reduction (log |S| negative) must equal the area
of sensitivity increase (log |S| positive): the benefits and costs of feedback are
balanced exactly, and an increase in bandwidth must come at the expense of
a larger peak in S.
Peaks in S are unavoidable: if we push the sensitivity function down at some
frequencies, then it will have to increase at others.
Similar to sitting on a Waterbed
SISO loopshaping control [H04Q7] 3-10
|S(j)| > 1
1 Lm (j) Re
1 L(j)
1
Lm (s) = s+1 1.5
1 s+1
L(s) = s+1 s+1 2.0
Figure 25: Additional phase lag contributed by RHP-zero causes |S| > 1
SISO loopshaping control [H04Q7] 3-12
10
1 k = 2.0
Magnitude |S| (unstable)
k = 1.0
k = 0.5
0 k = 0.1
10
1
10 2 1 0 1
10 10 10 10
Frequency
Figure 26: Effect of increased controller gain on |S| for system with RHP-zero at z = 2,
L(s) = ks 2s
2+s
SISO loopshaping control [H04Q7] 3-13
where:
2z 2 1
w(z, ) = 2 2
= (3.8)
z + z 1 + (/z)2
SISO loopshaping control [H04Q7] 3-14
2 slope
z
(log)
Figure 27: Plot of weight w(z, ) for case with real zero at s = z
SISO loopshaping control [H04Q7] 3-15
If L has no RHP-poles, the right hand side of the sensitivity integral is equal
to zero.
If there is a RHP-pole close to the RHP-zero (pi z), then
pi + z
(3.10)
pi z
In practice, it is (nearly) impossible to stabilize such a plant.
SISO loopshaping control [H04Q7] 3-16
Since even the ideal controller cannot remove a delay, the best possible
complementary sensitivity will be T (s) = es .
The corresponding best sensitivity will be:
S = 1 T = 1 es (3.16)
1
10
Magnitude |S|
0
10
1
10
2
= 1/
10 2 1 0 1 2
10 10 10 10 10
Frequency Delay
Figure 28: Ideal sensitivity function (3.16) for a plant with delay
SISO loopshaping control [H04Q7] 3-20
1
|S(j)| in Figure 28 crosses 1 at 3 = 1.05/.
Because here |S| = 1/|L|, we also have that 1/ is equal to the gain crossover
frequency c in L.
In practice, the ideal controller will be worse, so we have the following
upper limit:
c < 1/ (3.17)
SISO loopshaping control [H04Q7] 3-21
Bandwidth limitation I
Magnitude |S|
0
10
1
10
2
z/2
10 2 1 0 1 2
10 10 10 10 10
Frequency 1/z
(a) Real RHP-zero
Magnitude |S|
y/x = 0.1 = 10 = 50
0
10
1
10
y/x = 1
2
10 2 1 0 1 2
10 10 10 10 10
Frequency 1/x
Bandwidth limitation I
For complex pair of RHP-zeros z = x jy, the ideal sensitivity function:
4xs
S(s) = (3.21)
(s + x + jy)(s + x jy)
See figure (b) on the previous slide, yielding the following approximate
bounds:
|z|/4
Re(z) >> Im(z)
B c < |z|/2.8 Re(z) = Im(z) (3.22)
|z| Re(z) << Im(z)
RHP-zeros located close to the origin (|z| small) are bad for control, and it is
worse for them to be located closer to the real axis than the imaginary axis.
SISO loopshaping control [H04Q7] 3-24
However, from (3.14) we have that kwP Sk |wP (z)|, so the weight must
satisfy
|wP (z)| < 1 (3.24)
MT
BT >p (3.31)
MT 1
SISO loopshaping control [H04Q7] 3-26
The presence of the RHP-pole puts a lower limit on the bandwidth in terms
of T : we cannot let the system roll-off at frequencies lower than p.
E.g. MT = 2: BT > 2p, which is approximately achieved if
c > 2p (3.32)
SISO loopshaping control [H04Q7] 3-27
RHP-zero:
c < z/2
RHP-pole:
c > 2p
RHP-pole and RHP-zero:
z > 4p for acceptable performance and robustness.
Sensitivity peaks.
It can be shown that for a plant with a single real RHP-pole p and a single real
RHP-zero z, we always have:
|z + p|
kSk c, kT k c, c= (3.33)
|z p|
SISO loopshaping control [H04Q7] 3-28
For more complex controllers, if the model is exactly known and there are no
non-minimum phase elements, c can be extended to infinity (controller
based on inverse of system model).
In practical cases, due to model order restrictions, and due to model
uncertainty (inverse model does not work then), also the same bound applies:
c < u .
SISO loopshaping control [H04Q7] 4-1
Notation:
a set of possible perturbed plant models (uncertainty set).
Gp
- wI - I
q -?c+ - G -
+
Here I (s) is any stable transfer function which at each frequency is less
than or equal to one in magnitude. Some allowable I (s)s
sz 1 1 0.1
, , 3
,
s+z s + 1 (5s + 1) s2 + 0.1s + 1
SISO loopshaping control [H04Q7] 4-6
u y
wiI iI
c - K -?c+ p - G p-
-6 +
Example:
k
Gp (s) = es , 2 k, , 3 (4.5)
s + 1
Im
= 1 = 2
= 0.01
= 7 = 0.05 Re
= 0.5
= 0.2
Figure 31: Uncertainty regions of the Nyquist plot at given frequencies. Data from
(4.5)
SISO loopshaping control [H04Q7] 4-8
3
1 2
Figure 32: Disc approximation (solid line) of the original uncertainty region
(dashed line). Plot corresponds to = 0.2 in Figure 31
The radius of the disc can be reduced by moving the center (i.e. selecting
another nominal model).
SISO loopshaping control [H04Q7] 4-9
where A (s) is any stable transfer function which at each frequency is not
larger than one in magnitude.
SISO loopshaping control [H04Q7] 4-10
Im
+
Re
G(j)
|wA (j)|
+
Multiplicative uncertainty
Im
G (centre)
|wA |
Re
Figure 34: The set of possible plants includes the origin at frequencies where
|wA (j)| |G(j)|, or equivalently |wI (j)| 1
SISO loopshaping control [H04Q7] 4-13
At frequencies where |wI (j)| > 1, we do not know the phase of the plant,
and tight control is not possible ...
Consider at frequency 0 that |wI (j0 )| > 1. Then there exists a |I | 1
such that Gp (j0 ) = 0.
There exists a possible plant with zeros at s = j0 , and for this plant, at
frequency 0 the input has no effect on the output, so control has no effect.
To conclude: tight control is not possible at frequencies where |wI (j)| > 1.
SISO loopshaping control [H04Q7] 4-14
k 2.5
G(s) = = (4.12)
s + 1 2.5s + 1
T s + 0.2
wI1 (s) = , T =4 (4.13)
(T /2.5)s + 1
s2 + 1.6s + 1
wI (s) = I1 (s) 2 (4.14)
s + 1.4s + 1
SISO loopshaping control [H04Q7] 4-16
Magnitude
0
10
1
10 2 1 0 1
10 10 10 10
Frequency
Figure 35: Relative errors for 27 combinations of k, and with delay-free nominal
plant (dotted lines). Solid line: First-order weight |wI1 | in (4.13). Dashed line:
Third-order weight |wI | in (4.14)
SISO loopshaping control [H04Q7] 4-17
With parametric uncertainty there are three main options for the choice of
nominal model:
A simplified model, e.g. a low-order, delay free model
A model of mean parameter values, G(s) = G(s)
The central plant obtained from a Nyquist plot (yielding the smallest discs).
SISO loopshaping control [H04Q7] 4-18
-1
2 + + 3 + 1
-2
-3
-4
-2 -1 0 1 2 3 4
Figure 36: Nyquist plot of Gp (j) at frequency (dashed region) showing complex
disc approximations using three options for the nominal model: (1) Simplified
nominal model with no time delay, (2) Mean parameter values, (3) Nominal model
corresponding to smallest radius
SISO loopshaping control [H04Q7] 4-19
Option 1 usually yields the largest uncertainty region, but the model is
simple and this facilitates controller design.
Option 2 is most straightforward choice.
Option 3 yields the smallest region, but in this case a significant effort may
be required to obtain the nominal model, which is usually not a rational
transfer function and a rational approximation could be of very high order.
SISO loopshaping control [H04Q7] 4-20
where G0 (s) is fixed and certain. We want to neglect f (s) which may be
fixed or uncertain.
We represent Gp (s) with a multiplicative uncertainty structure around G0 (s):
Gp G0
lI () = maxGp = maxf (s) |f (j) 1| (4.16)
G0 f
SISO loopshaping control [H04Q7] 4-21
Neglected delay:
Let f (s) = ep s , with 0 p max
We want to represent Gp (s) = G0 (s)ep s , with G0 (s) delay-free and
multiplicative uncertainty.
First consider the maximum delay, for which the relative error is
|1 ejmax |: see left plot in figure on following slide.
The relative uncertainty crosses 1 at frequency 1/max , reaches 2 at
frequency /max , and oscillates between 0 and 2 at higher frequencies.
Similar curves are generated for smaller values of the delay, and they also
oscillate between 0 and 2 but at higher frequencies.
SISO loopshaping control [H04Q7] 4-22
0 0
Magnitude
10 10
1 1
10 10
2 1/max 2 1/max
10 10
2 0 2 2 0 2
10 10 10 10 10 10
Frequency Frequency
(a) Time delay (b) First-order lag
Neglected lag
Let f (s) = 1/(p s + 1) where 0 p max .
The resulting lI () is shown in the right plot of the figure in the previous
slide.
1 max s
wI (s) = 1 = (4.19)
max s + 1 max s + 1
SISO loopshaping control [H04Q7] 4-24
c - K p - c?
+ -
G p-
-6 +
Im
1
0 Re
|1 + L(j)|
L(j)
|wI L|
Encirclements are avoided if none of the discs cover 1, and we get from
Figure 39
RS |T | < 1/|wI |, (4.24)
Magnitude
0
10
1
10
T2 (RS)
3 2 1 0 1
10 10 10 10 10
Frequency
By trial and error we find that reducing the gain to Kc2 = 0.31 just achieves RS
as seen from T2 in Fig. 40.
SISO loopshaping control [H04Q7] 4-30
Remark:
The procedure is conservative. For Kc2 the system with the extreme plant
is not at the limit of instability; we can increase the gain to kc2 = 0.58 before
we get instability.
This condition for RS is only a sufficient condition for stability, and a
violation of this bound does not imply instability for a specific element G in
the set.
However, with the controller with Kc2 , there exists an allowed I , and a
corresponding Gp = G(1 + wi I ) which is at the boundary of instability.
SISO loopshaping control [H04Q7] 4-31
By what factor kmax can we multiply the loop gain L0 before we get
instability?
Lp = kp L0 kp [1, kmax ] (4.25)
Complex perturbation
Lp = kp L0 = kL0 (1 + rk ) (4.27)
where
kmax + 1 kmax 1
k = rk = (4.28)
2 kmax + 1
SISO loopshaping control [H04Q7] 4-32
The nominal loop gain is L = kL0 , and RS condition kwI T k < 1, with
wI = rk , yields:
rk kL0
< 1 (4.29)
1 + kL
0
Since both k and rk depend on kmax , this has to be solved iteratively to find
the value for km ax. It is expected that this will be lower than kmax,1 , since
the RS condition assumes to be complex.
SISO loopshaping control [H04Q7] 4-33
u y
wiI iI
c - K -?c+ p - G p-
-6 +
Gp (s) = G(s)(1 + wiI (s)iI (s))1 (4.30)
SISO loopshaping control [H04Q7] 4-34
We see that we need tight control and have to make S small at frequencies
where the uncertainty is large and wiI exceeds 1 in magnitude.
This may be surprising, because we intuitively expect that we have to detune
the controller when we have uncertainty (make S 1).
But, this uncertainty represents pole uncertainty, and at frequencies where
wiI exceeds 1, we allow for poles crossing from the LHP to the RHP, and we
then known that we need feedback in order to stabilize an unstable system.
SISO loopshaping control [H04Q7] 4-35
|1 + L(j)|
1
0 Re
L(j)
|wP (j)|
Figure 42: Nyquist plot illustration of nominal performance condition |wP | <
|1 + L|
SISO loopshaping control [H04Q7] 4-36
- wI - I d
b- K p -+?
b+ - G -+ ?
b+-p wP -yb
-
6
Im
|1 + L(j)|
1
0 Re
L(j)
|wP (j)|
|wI L|
Figure 44: Nyquist plot illustration of robust performance condition |wP | < |1+Lp |
SISO loopshaping control [H04Q7] 4-38
Thus, RP is not a big issue for SISO systems, and this is probably the
main reason why there is little discussion about RP in the classical control
literature. The situation is different for MIMO systems.
|wP S| + |wI T | min{|wP |, |wI |} (4.43)
We cannot have both |wP | > 1 (i.e. good performance) and |wI | > 1 (i.e.
more than 100% uncertainty) at the same frequency.
The RP condition for this problem is closely approximated by the following
mixed sensitivity H condition
wP S
p
= max |wP S|2 + |wT T |2 < 1 (4.44)
w T
T
It can be shown that this condition is within a factor of at most 2 to the
RP condition.
SISO loopshaping control [H04Q7] 4-40
This means that for SISO systems we can closely approximate the
RP-condition in terms of an H problem, so there is little need to make use
of structured singular values (-synthesis).
The RP-condition can be used to derive bounds on the loop shape |L|:
1 + |wP |
|L| > , (4.45)
1 |wI |
at frequencies where |wI | < 1 (low frequencies, tight control), and
1 |wP |
|L| < , (4.46)
1 + |wI |
at frequencies where |wP | < 1 (high frequencies).
SISO loopshaping control [H04Q7] 4-41
- K -?+ -
G -?
+- w
1
z
-
-6 + +
(a)
- w2 - 2 1
- K -?+ -
G -?
+- w
1
-6 + +
(b)
Figure 45: (a) RP with multiplicative uncertainty, (b) RS with combined multi-
plicative and inverse multiplicative uncertainty
SISO loopshaping control [H04Q7] 4-42
RS |1 + Lp | > 0, Lp ,
|1 + L(1 + w2 2)(1 w1 1 )1 | > 0, 1 , 2 ,
|1 + L + Lw2 2 w1 1 | > 0, 1 , 2 ,
SISO loopshaping control [H04Q7] 4-43
5.1.1 Introduction
K(s)
Introduction
Consider from now on that w is a scalar input (SI) and z is a vector output
(MO), e.g. a vector with 3 elements:
z1
z=
z2 (5.1)
z3
Introduction
kN1 (s)k < 1 kN2 (s)k < 1 kN3 (s)k < 1 (5.5)
By selection the proper input and outputs, NP, RS, and RP can be obtained.
SISO loopshaping control [H04Q7] 5-6
z2 z3 w
W1(s)
z1
K(s) G(s)
-
P(s)
z2 z3
W2(s) W3(s)
w z1
V(s) K(s) G(s) W1(s)
-
P
z3 z2
W3(s) W2(s)
W1(s)
z1
K(s) G(s)
-
V(s)
P
w
z1 z2
W1(s) W2(s)
w z3
K(s) G(s) W3(s)
-
P
|S(j)| , Re
|W1 (j)|
|U (j)| , Re
|W2 (j)|
|T (j)| , Re
|W3 (j)|
W1 (j) is large in frequency band where accurate tracking or disturbance
rejection is required.
W2 (j) is constant
W3 (j) is large in frequency band were the model is uncertain. Examples:
Measurement noise: important at high frequencies
Accelerometer: not useable at low frequencies
SISO loopshaping control [H04Q7] 5-19
Results
= 0.93
1/|W1| |KS|
1/|W2| 3 1/|W |
2 10 2
10
1/|W3|
0 2
10 10
2 1
10 10
4
10 2 1 0 1 2
0
10 2
10 10 10 10 10 10
1
10 10
0 1
10
2
10
Frequency [rad/s] Frequency [rad/s]
SISO loopshaping control [H04Q7] 5-22
Results
0
10
2
10 |S|
|T|
1/|W |
1
1/|W |
3
4
10 2 1 0 1 2
10 10 10 10 10
Frequency [rad/s]