Vous êtes sur la page 1sur 182

SISO loopshaping control [H04Q7] 0-1

SISO loopshaping control [H04Q7]


classical feedback control, limits of performance,
uncertainty and robustness, H

Jan Swevers
KULeuven

jan.swevers@mech.kuleuven.be

November 2009
SISO loopshaping control [H04Q7] 0-2

Based on the book:

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.1 The control problem [1.2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

1.2 Transfer functions [1.3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

1.3 Scaling [1.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

1.4 Notation [1.6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9

2 Classical feedback control [2] 2-1

2.1 FRF of minimum phase systems [2.1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

2.2 Feedback control [2.2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

2.3 Closed loop stability [2.3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9

2.4 Closed-loop performance [2.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12

2.5 Controller design [2.5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32

2.6 Loop shaping [2.6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33

2.6.1 Inverse-based controller [2.6.3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-43

2.6.2 Loop shaping for disturbance rejection [2.6.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47

2.6.3 Loop shaping for disturbance rejection [2.6.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-48

2.6.4 Loop shaping for disturbance rejection [2.6.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49

2.6.5 Two degrees of freedom design [2.6.5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53

2.6.6 Conclusion on loop shaping [2.6.6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-59

2.7 Closed-loop shaping [2.7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-60


SISO loopshaping control [H04Q7] 0-2

2.7.1 Weighted sensitivity [2.7.2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-62

2.7.2 stacked requirements: mixed sensitivity [2.7.3] . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-66

3 PERFORMANCE LIMITATIONS IN SISO SYSTEMS [5] 3-1

3.1 Input-Output Controllability [5.1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

3.2 Perfect control & plant inversion [5.2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

3.3 Constraints on S and T [5.3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

3.3.1 S plus T is one [5.3.1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

3.3.2 The waterbed effects (sensitivity integrals) [5.3.2] . . . . . . . . . . . . . . . . . . . . . . . . . 3-6

3.3.3 Interpolation constraints [5.3.3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16

3.3.4 Sensitivity peaks [5.3.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

3.3.5 Limitations imposed by time delays [5.5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19

3.3.6 Limitations imposed by RHP-zeros [5.6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21

3.4 Limitations imposed by RHP-poles [5.8] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25

3.5 Combined RHP-poles and RHP-zeros [5.9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27

3.6 Limitations imposed by phase lag [5.12] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28

4 UNCERTAINTY AND ROBUSTNESS FOR SISO SYSTEMS [7] 4-1

4.1 Introduction [7.1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

4.2 Classes of uncertainty [7.2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

4.3 Representing uncertainty in the frequency domain [7.4] . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

4.3.1 Uncertainty regions [7.4.1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

4.3.2 Approximation by complex perturbations [7.4.2] . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9


SISO loopshaping control [H04Q7] 0-3

4.3.3 Obtaining the weight for complex uncertainty [7.4.3] . . . . . . . . . . . . . . . . . . . . . . . 4-14

4.3.4 Choice of nominal model [7.4.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17

4.3.5 Neglected dynamics represented as uncertainty [7.4.5] . . . . . . . . . . . . . . . . . . . . . . . 4-20

4.4 SISO Robust stability [7.5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24

4.4.1 RS with multiplicative uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24

4.4.2 Comparison with gain margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31

4.4.3 RS with inverse multiplicative uncertainty [7.5.3] . . . . . . . . . . . . . . . . . . . . . . . . . 4-33

4.5 SISO Robust performance [7.6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35

4.5.1 Nominal performance in the Nyquist plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35

4.5.2 Robust performance [7.6.2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36

4.5.3 The relationship between NP, RS and RP [7.6.3] . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38

4.5.4 The similarity between RS and RP [7.6.4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41

5 H optimization: mixed sensitivity loop-shaping in Matlab 5-1

5.1 Controller calculation in Matlab: robust control toolbox toolbox . . . . . . . . . . . . . . . . . . . . . 5-2

5.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

5.1.2 Building the generalized plant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

5.1.3 Calculation of the controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15

5.2 Selection of the weighting functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17

5.3 Example of double integrator implemented in Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19


SISO loopshaping control [H04Q7] 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

1.1 The control problem [1.2]

y = Gu + Gd d (1.1)

y : output/controlled variable
u : input/manipulated variable
d : disturbance
r : reference/setpoint

Regulator problem : counteract d


Servo problem : let y follow r

Goal of control: make control error e = y r small.


SISO loopshaping control [H04Q7] 1-3

Major difficulties:

Model (G, Gd ) inaccurate


RealPlant: Gp = G + E ;
E = uncertainty or perturbation (unknown)

Nominal stability (NS) : system is stable with no model uncertainty.


Nominal Performance (NP) : system satisfies performance specifications
with no model uncertainty.
Robust stability (RS) : system stable for all perturbed plants
Robust performance (RP) : system satisfies performance specifications
for all perturbed plants
SISO loopshaping control [H04Q7] 1-4

1.2 Transfer functions [1.3]

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

1.3 Scaling [1.4]

Proper scaling simplifies controller design and performance analysis.


SISO :
unscaled:
bu + G
yb = Gb b
b d d; eb = yb rb (1.3)

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

Scale yb, eb and rb by:


ebmax largest allowed control error, or
rbmax largest expected change in reference value
Usually:
y = yb/b
emax , r = rb/b
emax , e = eb/b
emax (1.5)
SISO loopshaping control [H04Q7] 1-7

Model in terms of scaled variables:

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
+ +

Figure 1: Model in terms of scaled variables

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

1.4 Notation [1.6]


d
?
Gd
r-+b - K u- G - ?b + p -y
- +
ym 6
b+
+
6n
(a) One degree-of-freedom control configuration

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

Figure 2: Control configurations


SISO loopshaping control [H04Q7] 1-11

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

General configuration (Fig 2(c)):


P generalized plant model. Includes G and Gd and the interconnection structure be-
tween the plant and the controller.
May also include weighting functions.
w exogenous inputs: commands, disturbances and noise
z exogenous outputs; error signals to be minimized, e.g. y r
v controller inputs for the general configuration, e.g. commands, measured plant out-
puts, measured disturbances, etc. For the special case of a one degree-of-freedom
controller with perfect measurements we have v = r y.
u control signals
SISO loopshaping control [H04Q7] 2-1

2 Classical feedback control [2]

2.1 FRF of minimum phase systems [2.1]


G(j) is called frequency response function (FRF) of the system G(s).
Minimum phase system: no time delay or right-half plane (RHP) zeros
For stable minimum phase systems: a unique relationship exists between the
gain and phase of FRF: Bode gain-phase relationship:
Z
1
d ln |G(j)| + 0 d
6 G(j0 ) = ln (2.9)
| d ln 0

{z }| {z }
N () (a)
SISO loopshaping control [H04Q7] 2-2

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

(a) in equation (2.9) is infinite at = 0 , so it follows that 6 G(j0 ) is


primary determined by the local slope of N (0 ).
Also for stable minimum phase systems:

6 G(j0 ) N (0 )[rad] = 90 N (0 ) (2.11)
2
SISO loopshaping control [H04Q7] 2-3

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

2.2 Feedback control [2.2]


d

?
Gd

y
-?
r - u- +
+d - K G d q-
6
- +

ym
d
+
+6

Figure 4: Block diagram of one degree-of-freedom feedback control system


SISO loopshaping control [H04Q7] 2-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 :

L = GK loop transfer function

S = (I + L)1 sensitivity function

T = (I + L)1 L complementary sensitivity function


SISO loopshaping control [H04Q7] 2-9

2.3 Closed loop stability [2.3]

One of the main issues in designing feedback controllers is stability. If the


feedback gain is too large, then the controller may overreact and the
closed-loop system becomes unstable.
SISO loopshaping control [H04Q7] 2-10

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]

Figure 5: Effect of proportional gain Kc on the closed-loop step response


SISO loopshaping control [H04Q7] 2-11

Two methods are commonly used to determine closed-loop stability


The closed-loop is stable if and only if all the closed-loop poles ar in the open
LHP.
Nyquist criterion: The frequency response of L(j) is plotted in the
complex plane and the number of encirclements it makes of the critical point
s = 1 is counted, and compared with the number of open-loop unstable
poles.
The closed-loop system is stable if and only if L(j) does not encircle
s = 1 when the number of unstable open-loop poles is zero.
If L(s) has pol poles in the RHP, then the number of counterclockwise
encirclements of s = 1 must be equal to pol .
SISO loopshaping control [H04Q7] 2-12

2.4 Closed-loop performance [2.4]

Typical closed-loop responses


Consider the system (2.11).
We found that Kc = 1.5 gives a reasonable good response except for the
steady state error.
Reason: non-zero steady state sensitivity function S(0) = 0.18.
To remove this steady state error, we add integration, yielding a PI controller:
 
1
K(s) = Kc 1 + (2.12)
I s
with: Kc = Ku /2.2, I = Pu /1.2, with Ku = 2.5 the ultimate gain, and
Pu = 15.2s the period of the oscillation at the limit of stability.
SISO loopshaping control [H04Q7] 2-13

|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

Time domain performance


Step response analysis yields estimates of the following characteristics: rise time
tr , settling time ts , overshoot A, decay ratio B/A, steady state offset.

Overshoot = A
1.5 Decay ratio =B/A
A B 1.05
1
y(t)

0.95
0.5

tr ts
Time

Figure 7: Characteristics of closed-loop step response


SISO loopshaping control [H04Q7] 2-15

Frequency domain performance


Look at the frequency response function (FRF) of L(s), S(s), and T (s), e.g.
figure 6. Different measures exist: gain margin (GM), phase margin (PM),
maximum peak of S and of T , various definitions of crossover and bandwidth
frequencies.
SISO loopshaping control [H04Q7] 2-16

Frequency domain performance

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]

Figure 8: Typical Bode plot of L(j) with PM and GM indicated


SISO loopshaping control [H04Q7] 2-17

Frequency domain performance: Gain margin

Definition of Gain Margin:


1
GM = (2.13)
|L(j180 )|
with 180 the phase crossover frequency, where the Nyquist plot of L(j)
crosse the negative real axis between 1 and 0, or where the phase of L(j)
equals 180 .
If there is more than one crossing, the largest value of |L(j180 )| is taken.
Typically we require that GM > 2
If the Nyquist plot of L crosses the negative real axis between 1 and , a
gain reduction margin can be similarly defined from the smallest value of
|L(j180 )| of such crossings.
SISO loopshaping control [H04Q7] 2-18

Frequency domain performance: Phase margin

Definition of Phase Margin:

P M = 6 L(jc ) + 180 (2.14)

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

Frequency domain performance: GM and PM


Im

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

Frequency domain performance: GM and PM


PM and GM provide stability margins for gain and phase uncertainty. We will
show that GM and PM are closely related to the peak values of |S(j)| and
|T (j)|, and therefore also useful in terms of performance.
SISO loopshaping control [H04Q7] 2-21

Frequency domain performance: Maximum peak criteria


Maximum peaks of sensitivity and complementary sensitivity functions:

MS = max |S(j)|; MT = max |T (j)| (2.15)

Typically :
MS 2 (6dB) (2.16)
MT < 1.25 (2dB) (2.17)

Since S + T = 1, if follows that at any frequency

| |S| |T | | |S + T | = 1 (2.18)

so MS and MT differ at most by 1. A large value of MS therefore occurs if


and only if MT is large.
SISO loopshaping control [H04Q7] 2-22

Frequency domain performance: Maximum peak criteria


Why do we want to bound the value of MS ?
Without feedback control: e = y r = Gd d r.
With feedback control: e = S(Gd d r): i.e. feedback performance is
improved at all frequencies where S < 1.
Typically: S is small at low frequencies, S(0) = 0 for systems with integral
action. At high frequencies L 0, and so S 1. At intermediate
frequencies one cannot avoid in practice a peak value, MS > 1.
SISO loopshaping control [H04Q7] 2-23

Frequency domain performance: Maximum peak criteria


MS is also a robustness measure: to maintain closed-loop stability, the
number of encirclements of the critical point 1 by L(j) must not change:
so we want L to stay away from this point. MS1 is the smallest distance
between L(j) and 1, so for robustness: the smaller MS the better.

Figure 10: PM, GM, MS


SISO loopshaping control [H04Q7] 2-24

Frequency domain performance: Maximum peak criteria


P M and GM can be misleading:

Figure 11: large P M and GM , small MS


SISO loopshaping control [H04Q7] 2-25

Frequency domain performance: Maximum peak criteria


Note :
MS
GM (2.19)
MS 1
 
1 1
PM 2 arcsin [rad] (2.20)
2MS MS
For example, for MS = 2 we are guaranteed
GM 2 and PM 29.0 .
In conclusion: Specifications on MS and MT can make specifications on the
gain and phase margin unnecessray. For instance, requiring MS < 2 implies
the common rule of thump GM > 2, and P M > 30 .
SISO loopshaping control [H04Q7] 2-26

Bandwidth and crossover frequency


Bandwidth is defined as the frequency range [1 , 2 ] over which control is
effective. Usually 1 = 0, and then 2 = B is the bandwidth.
Definition The (closed-loop) bandwidth, B , is the frequency where |S(j)|

first crosses 1/ 2 = 0.707( 3 dB) from below.
The bandwidth in terms of T , BT , is the highest frequency at which |T (j)|

crosses 1/ 2 = 0.707( 3 dB) from above. (Usually a poor indicator of
performance).
The gain crossover frequency, c , is the frequency where |L(jc )| first crosses
1 from above. For systems with PM < 90 we have

B < c < BT (2.21)

180 > BT for GM > 2.414, and 180 < BT for GM < 2.414, yielding that
usually 180 BT .
SISO loopshaping control [H04Q7] 2-27

Bandwidth and crossover frequency


Typical situation
Up to frequency B , |S| is less than 0.7, and control is effective in terms of
improving performance.
In the frequency range [B , BT ] control still affects the response, but does
not improve performance. In most cases we find that in this frequency range
|S| is larger than 1 and control degrades performance.
Finally, at frequencies higher than BT , we have S 1, and control has no
significant effect on the response.
SISO loopshaping control [H04Q7] 2-28

Bandwidth and crossover frequency


Example : comparison of B and BT as indicators of performance
Assume:
s + z
L(s) =
s( s + z + 2)
s + z 1
T (s) =
s + z s + 1
with z = 0.1 and = 1. Both L and T have a RHP-zero at 0.1. GM = 2.1,
P M = 60.1 , MS = 1.93, MT = 1.
B = 0.036, c = 0.054, and BT = 1/ = 1.
SISO loopshaping control [H04Q7] 2-29

0.5

y(t)
0

0.5

1
0 5 10 15 20 25 30 35 40 45 50
Time [sec]

Figure 12: Step response

|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]

Figure 13: Plots of |S| and |T |


SISO loopshaping control [H04Q7] 2-30

Example continued

Closed-loop step response shows a rise time of 31s, which is close to


1/B = 28s, but very different from 1/BT = 1, illustrating that B is a
better indicator of the closed-loop performance than BT .
We see that |T | 1 up to about BT . However, in that frequency range from
B to BT , the phase of T (not shown) drops from 40 to about 220 , so
in practice tracking is poor in that frequency range.
SISO loopshaping control [H04Q7] 2-31

Best indicator for good performance


In conclusion, B and also c are good indicators of closed-loop performance,
while BT may be misleading.
T 1 is not sufficient to have good performance, also the phase of T has to
be considered.
For good performance we want S to be close to 0, and this will be the case if
|S| 0, irrespective of the phase of S.
SISO loopshaping control [H04Q7] 2-32

2.5 Controller design [2.5]

Three main approaches:


1. Shaping of transfer functions.
(a) Loop shaping. Classical approach in which the magnitude of the
open-loop transfer function, L(j), is shaped.
(b) Shaping of closed-loop transfer functions, such as S, T and KS
H optimal control
2. The signal-based approach. One considers a particular disturbance or
reference change and tries to optimize the closed-loop response
Linear Quadratic Gaussian (LQG) control.
3. Numerical optimization. Multi-objective optimization to optimize
directly the true objectives, such as rise times, stability margins, etc.
Computationally difficult.
SISO loopshaping control [H04Q7] 2-33

2.6 Loop shaping [2.6]


Shaping of open loop transfer function L(j) = G(j)K(j):
e = (I + L)1 r + (I + L)1 Gd d (I + L)1 L n (2.22)
| {z } | {z } | {z }
S S T

For perfect control we want e = y r = 0; that is, we would like


e 0.d + 0.r + 0.n (2.23)

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

Fundamentals of loop-shaping design


Loop shaping: design procedure that involves explicitly shaping the loop
transfer function L(s) = G(s)K(s).
To get the benefits of feedback control, we want the loop gain |L(j)| to be
as large as possible within the bandwidth region.
Due to time delay, RHP-zeros, unmodelled high-frequency dynamics and
input limitations, loop gain has to drop below 1 at and above some frequency
c : thus disregarding stability, |L(j)| has to fall sharply with frequency.
SISO loopshaping control [H04Q7] 2-35

Fundamentals of loop-shaping design


Design of L(s) is most critical in the crossover region between c (where
|L(j)| = 1) and 180 (where 6 L(j) = 180 ):
For stability |L(j180 )| < 1.
For fast response, we want c and therefore 180 large, we want the phase
lag in L to be small.
This is not consistent with the desire that |L(j)| should fall sharply.
Example: L = 1/sn , 6 L = n90 , and for a phase margin of 45 we need
6 L > 135 , and the slope cannot exceed N = 1.5.

Take the slope of L at c equal to 1, and steeper at lower and higher


frequencies (with a penalty however).
For systems with delay and RHP-zeros, problem even worse: additional
phase lag without contributing to the slope.
SISO loopshaping control [H04Q7] 2-36

Fundamentals of loop-shaping design


Specifications for desired loop transfer function:
1. Gain crossover frequency, c , where |L(jc )| = 1.
2. The shape of L(j), e.g. slope of |L(j)| in certain frequency ranges:
d ln |L|
N= d ln w
Typically, a slope N = 1 (20 dB/decade) around crossover, and a
larger roll-off at higher frequencies. The desired slope at lower frequencies
depends on the nature of the disturbance or reference signal.
3. The system type, defined as the number of pure integrators in L(s).
Note:
1. for offset free tracking L(s) must contain at least one integrator for each
integrator in r(s).
2. slope and phase are dependent. For example:
1
6
sn = n 2
SISO loopshaping control [H04Q7] 2-37

Limitations imposed by RHP-zeros and time delays


We want a slope of 1 arround c , and preferably a steeper slope before and
after crossover: phase lag at c will necessarily be at least 90 , even
without delays and RHP-zeroes.
For robustness and performance we want at least P M to be 35 .
The phase lag contribution from any delays and RHP-zeros at frequency c
cannot exceed about 55 .
For a delay , the phase lag equals 1rad or 57 at = 1/: c < 1/.
For a RHP-zero s = z, we place an additional pole s = z in the loop gain to
avoid an increase of the loop gain caused by the zero, yielding the following
all-pass term in the loop gain:
s + z
(2.24)
s+z
The phase contribution of this all-pass term at = z/2 equals 53 :
c < z/2.
SISO loopshaping control [H04Q7] 2-38

Summary loop shaping


Design the controller K(s) such that the loop gain frequency response L(j)
has a suitable shape:
Low frequencies: S small and T close to 1: |L(j)| >> 1.
High frequencies: T small and S close to 1: |L(j)| << 1.
SISO loopshaping control [H04Q7] 2-39

Summary loop shaping


Cross-over region: |L(j)| 1. In this frequency region, the magnitude
and phase of L together determine how closely the Nyquist plot approaches
1.
The more L approaches 1, the more
1
S= (2.25)
1+L
peaks.
If L comes very near to 1, so does the inverse of L, hence
L 1
T = = 1 (2.26)
1+L 1+ L

peaks.
SISO loopshaping control [H04Q7] 2-40

Summary loop shaping


Phase-gain relationship in cross over region:
Assume that L is stable and minimum phase.
So slope 1 or L(j) = 1/j, corresponds to a phase of /2 radians or
90 .
For stability the phase of L at c should be between 180 and +180 .
To achieve a phase margin of 60 , the phase should be between 120
and +120 :
Since L decreases at this point, phase of L generally may be expected to
be negative in the cross over region.
SISO loopshaping control [H04Q7] 2-41

Summary loop shaping


SISO loopshaping control [H04Q7] 2-42

The above phase-gain relationship holds for minimum phase systems.


For non-minimum phase systems, the trade-off between attenuation and
phase lag is even more troublesome.
SISO loopshaping control [H04Q7] 2-43

2.6.1 Inverse-based controller [2.6.3]

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

Example: Disturbance process.



200 1 100
G(s) = , Gd (s) = (2.29)
10s + 1 (0.05s + 1)2 10s + 1

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.

Analysis. |Gd (j)| remains larger than 1 up to d 10 rad/s c 10 rad/s.


SISO loopshaping control [H04Q7] 2-45

Inverse-based controller design.



c 10s + 1
K0 (s) = (0.05s + 1)2
s 200
c 10s + 1 0.1s + 1
,
s 200 0.01s + 1
Remark: inverse-based control yields an unrealizable controller, and therefore
we approximate (0.05s + 1)2 by (0.1s + 1), and let this term be effective over
one decade by adding (0.01s + 1).

c 0.1s + 1
L0 (s) = 2
, c = 10 (2.30)
s (0.05s + 1) (0.01s + 1)
SISO loopshaping control [H04Q7] 2-46

Inverse-based controller design.


Results:

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]

(a) Tracking response (b) Disturbance response

Figure 14: Responses with inverse-based controller K0 (s) for the disturbance
process. Note poor disturbance responce

Reference tracking is excellent, disturbance rejection is poor.


SISO loopshaping control [H04Q7] 2-47

2.6.2 Loop shaping for disturbance rejection [2.6.4]


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

2.6.3 Loop shaping for disturbance rejection [2.6.4]

Controller contains the model of the disturbance.


To improve low-frequency performance
s + I
|K| = | ||G1 Gd | (2.36)
s
SISO loopshaping control [H04Q7] 2-49

2.6.4 Loop shaping for disturbance rejection [2.6.4]

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

Example: Loop-shaping design for the disturbance process.


d
?
0.5

r -+ c - K(s) u- 1 -?c+ - 200 q -y


- (0.05s+1)2 + 10s+1
6

Figure 15: Block diagram representation of the disturbance process in (2.29)


SISO loopshaping control [H04Q7] 2-51

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]

(a) Loop gains (b) Disturbance responses

Figure 16: Loop shapes and disturbance responses for controllers K1 , K2 and K3
for the disturbance process
SISO loopshaping control [H04Q7] 2-52

Step 1. Initial design. K(s) = G1 Gd = 0.5(0.05s + 1)2 .


Make proper:
K1 (s) = 0.5 (2.37)
= offset!
Step 2. More gain at low frequency. To get integral action multiply the
controller by the term s+
s
I
. For I = 0.2 c the phase contribution from s+I
s is
arctan(1/0.2) 90 = 11 at c . For c 10 rad/s, select the following
controller
s+2
K2 (s) = 0.5 (2.38)
s
= response exceeds 1, oscillatory, small phase margin
Step 3. High-frequency correction. Supplement with derivative action by
multiplying K2 (s) by a lead term effective over one decade starting at 20 rad/s:
s + 2 0.05s + 1
K3 (s) = 0.5 (2.39)
s 0.005s + 1
= poor reference tracking (simulation)
SISO loopshaping control [H04Q7] 2-53

2.6.5 Two degrees of freedom design [2.6.5]

In order to meet both regulator and tracking performance use Kr (= prefilter):


d
?
Gd

r - Kr -+ c - Ky u-
G - c?
+ -y
-6 +
ym
c
+
+6
n

Figure 17: Two degrees-of-freedom controller

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

T = L(I + L)1 with L = GKy


If the desired y = Tref r, then take:

= 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

Example: Two degrees-of-freedom design for the disturbance process.


Consider the system in figure 15, (system (2.29)), with feedback controller
K3 (2.39), yielding good disturbance rejection, bad tracking performance.
Tacking performance: rise time is 0.16s which is better than required (0.3s),
but overshoot is 24%, which is higher than the 5% specification.
Solution: design a 2-dof controller with Ky = K3 , with reference model
Tref = 1/(0.1s + 1), first order response with no overshoot.
To get a low order Kr , we can calculate Kr = T 1 Tref , and then make a low
order approximation, or we can first make a low order approximation of T :
1.5 0.5 (0.7s+1)
T (s) 0.1s+1 0.5s+1 = (0.1s+1)(0.5s+1)
This yields:
0.5s+1
Kr (s) = 0.7s+1 .
SISO loopshaping control [H04Q7] 2-57

By closed-loop simulations we extend Kr :

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

Example: Loop shaping for a flexible structure.


2.5s(s2 + 1)
G(s) = Gd (s) = 2 (2.43)
(s + 0.52 )(s2 + 22 )
|Kmin (j)| = |G1 Gd | = 1 K(s) = 1

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]

(a) Magnitude plot of |G| = (b) Open-loop and


|Gd | closed-loop disturbance
responses with K = 1

Figure 19: Flexible structure in (2.43)


SISO loopshaping control [H04Q7] 2-59

2.6.6 Conclusion on loop shaping [2.6.6]

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

2.7 Closed-loop shaping [2.7]


Why ?
We are interested in S and T :

|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 comes from:


Z 1/p
max |f (j)| = lim |f (j)|p d
p

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

2.7.1 Weighted sensitivity [2.7.2]

Typical specifications in terms of S:



1. Minimum bandwidth frequency B .
2. Maximum tracking error at selected frequencies.
3. System type, or alternatively the maximum steady-state tracking error, A.
4. Shape of S over selected frequency ranges.
5. Maximum peak magnitude of S, kS(j)k M .
Specifications may be captured by an upper bound, 1/|wP (s)|, on kSk.
SISO loopshaping control [H04Q7] 2-63

1
10

Magnitude
|S| |1/wP |
0
10

1
10

2
10 2 1 0 1
10 10 10 10
Frequency [rad/s]

(a) Sensitivity S and performance


weight wP

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)

|wP S| < 1, kwP Sk < 1 (2.46)

Typical performance weight:



s/M + B
wP (s) = A (2.47)
s + B
SISO loopshaping control [H04Q7] 2-65

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)

To get a steeper slope for L (and S) below the bandwidth:

(s/M 1/2 + B
2
)
wP (s) = A1/2 )2
(2.48)
(s + B
SISO loopshaping control [H04Q7] 2-66

2.7.2 stacked requirements: mixed sensitivity [2.7.3]

In order to enforce specifications on other transfer functions:



wP S
kN k = max (N (j)) < 1; N = wT T (2.49)

wu KS
N is a vector and the maximun singular value (N ) is the usual Euclidean
vector norm:
p
(N ) = |wP S|2 + |wT T |2 + |wu KS|2 (2.50)

The H optimal controller is obtained from

min kN (K)k (2.51)


K
SISO loopshaping control [H04Q7] 2-67

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

Example: H mixed sensitivity design for the disturbance process.


Consider the plant in (2.29), and an H mixed sensitivity S/KS design in which
 
wP S
N= (2.52)
wu KS

Selected wu = 1 and

s/M + B
wP 1 (s) =
; M = 1.5, B = 10, A = 104 (2.53)
s + B A

= poor disturbance response

To get higher gains at low frequencies:

(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]

(a) Tracking response (b) Disturbance response

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

3 PERFORMANCE LIMITATIONS IN SISO


SYSTEMS [5]

3.1 Input-Output Controllability [5.1]

In Control courses: emphasis on controller design and stability analysis. In


practice : three important questions:

I. How well can the plant be controlled?

II. What control structure should be used? (What variables should we


measure, which variables should we manipulate, and how are these variables best
paired together?)

III. How might the process be changed to improve control?


SISO loopshaping control [H04Q7] 3-2

Definition 1 (Input-output) controllability is the ability to achieve


acceptable control performance; that is, to keep the outputs (y) within specified
bounds from their references (r), in spite of unknown but bounded variations,
such as disturbances (d) and plant changes, using available inputs (u) and
available measurements (ym or dm ).

Note: controllability is independent of the controller, and is a property of the


plant (or process) alone.
It can only be affected by:
changing the apparatus itself, e.g. type, size, etc.
relocating sensors and actuators
adding new equipment to dampen disturbances
adding extra sensors
adding extra actuators
SISO loopshaping control [H04Q7] 3-3

3.2 Perfect control & plant inversion [5.2]

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)

With feedback control u = K(r y) we have:

u = KSr KSGd d

or since T = GKS,
u = G1 T r G1 T Gd d (3.3)

Where feedback is effective (T I) feedback input in (3.3) is the same as


perfect control input in (3.2) = High gain feedback generates an inverse of
G even though K may be very simple.
SISO loopshaping control [H04Q7] 3-4

As consequence perfect control cannot be achieved if


G contains RHP-zeros (since then G1 is unstable)
G contains time delay (since then G1 contains a prediction)
G has more poles than zeros (since then G1 is unrealizable)

For feedforward control perfect control cannot be achieved if


G is uncertain (since then G1 cannot be obtained exactly)

Because of input constraints perfect control cannot be achieved if


|G1 Gd | is large
|G1 R| is large
SISO loopshaping control [H04Q7] 3-5

3.3 Constraints on S and T [5.3]

3.3.1 S plus T is one [5.3.1]

S+T =1 (3.4)

= at any frequency |S(j)| 0.5 or |T (j)| 0.5


SISO loopshaping control [H04Q7] 3-6

3.3.2 The waterbed effects (sensitivity integrals) [5.3.2]

We discuss the inherent limitations of the behavior of S and T which result


from the pole-zero pattern of the plant.
An unstable plant imposes extra requirements on the loop gain.
If the plant has right-half plane zeros, its inverse is unstable, which imposes
limitations on the way the dynamics of the plant can be compensated.
The upper limit of the band over which effective disturbance attenuation is
possible is constrained from above by the magnitude of the smallest
right-half plane zero.
If the plant has unstable poles, the achievable disturbance attenuation is
further impaired. This effect is especially pronounced when one or several
right-half plane pole-zero pairs are close.
SISO loopshaping control [H04Q7] 3-7

First waterbed formula for minimum phase systems


Idea:
When L(s) = has a relative degree of two or more, then for some the distance
between L and 1 is less than one.
Im
2
2
L(s) = s(s+1)
1

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

First waterbed formula for minimum phase systems


Theorem 1 Bode sensitivity integral Suppose that the open-loop transfer
function L(s) is rational and has at least two more poles than zeros (relative
degree of two or more).
Suppose also that L(s) has Np RHP-poles at locations pi .
Then for closed-loop stability the sensitivity function must satisfy
Z Np
X
ln |S(j)|d = Re(pi ) (3.5)
0 i=1

where Re(pi ) denotes the real part of pi .


SISO loopshaping control [H04Q7] 3-9

First waterbed formula for minimum phase systems


For stable plant: if Np = 0:
Z
ln |S(j)|d = 0 (3.6)
0

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

First waterbed formula for minimum phase systems


For unstable plant: the presence of unstable poles increases the peak of the
sensitivity function. Specifically, the area of sensitivity increase |S| > 1
exceeds that of sensitivity reduction by an amount proportional to the sum
of the distance from the unstable poles to the left-half plane: we have to pay
a price for stabilizing an unstable system.
Remark For stable systems, if the pole-zero excess is one or zero, the
integral is finite and negative : disturbance attenuation is possible over all
frequencies.
Remark 2 For unstable systems, if the pole-zero excess is one or zero, the
integral is finite and can be positive or negative ...
SISO loopshaping control [H04Q7] 3-11

Second waterbed formula for non-minimum phase systems


For plants with RHP-zeros, the sensitivity function must satisfy an additional
integral relationship, which has stronger implications for the peak of S.
Im

|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

Second waterbed formula for non-minimum phase systems

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

Theorem 2 Weighted sensitivity integral. Suppose that L(s) has a single


real RHP-zero z and has Np RHP-poles, pi . Then for closed-loop stability the
sensitivity function must satisfy
Z Np
Y pi + z
ln |S(j)| w(z, )d = ln (3.7)
pi z
0 i=1

where:
2z 2 1
w(z, ) = 2 2
= (3.8)
z + z 1 + (/z)2
SISO loopshaping control [H04Q7] 3-14

Weight w(z, ) cuts off contribution of ln|S| at frequencies > z.


Magnitude
(log)
2
z |w(z, )|
1
z

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

This is similar to Bodes sensitivity integral, except that the trade-off


between S less than 1 and S larger than 1, is done over a limited frequency
range, yielding that a large peak for |S| is unavoidable if we try to reduce |S|
at low frequencies.
Z z
ln |S(j)|d 0 ( for |S| 1 at > z) (3.9)
0

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

3.3.3 Interpolation constraints [5.3.3]

If p is a RHP-pole of L(s) then

T (p) = 1, S(p) = 0 (3.11)

Similarly, if z is a RHP-zero of L(s) then

T (z) = 0, S(z) = 1 (3.12)


SISO loopshaping control [H04Q7] 3-17

3.3.4 Sensitivity peaks [5.3.4]

Maximum modulus principle. Suppose f (s) is stable (i.e. f (s) is analytic in


the complex RHP). Then the maximum value of |f (s)| for s in the right-half
plane is attained on the regions boundary, i.e. somewhere along the j-axis.
Hence, we have for a stable f (s)

kf (j)k = max |f (j)| |f (s0 )| s0 RHP (3.13)


The results below follow from (3.13) with f (s) = wP (s)S(s)


f (s) = wT (s)T (s)
for weighted sensitivity and weighted complementary sensitivity.
SISO loopshaping control [H04Q7] 3-18

Theorem 3 Weighted sensitivity peak. Suppose that G(s) has a RHP-zero z


and let wP (s) be any stable weight function.
Then for closed-loop stability the weighted sensitivity function must satisfy

kwP Sk |wP (z)| (3.14)

Theorem 4 Weighted complementary sensitivity peak.


Suppose that G(s) has a RHP-pole p and let wT (s) be any stable weight function.
Then for closed-loop stability the weighted complementary sensitivity function
must satisfy
kwT T k |wT (p)| (3.15)
SISO loopshaping control [H04Q7] 3-19

3.3.5 Limitations imposed by time delays [5.5]

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

3.3.6 Limitations imposed by RHP-zeros [5.6]

Bandwidth limitation I [5.6.3]


Suppose we have a system with one real RHP-zero z.
The ideal complementary sensitivity is an all-pass system:
s + z
T (s) = (3.18)
s+z
Then
2s
S(s) = 1 T (s) = (3.19)
s+z
Because T (s) is all-pass, |S| = 1/|L|. (see figure (a) on the next slide).
The low-frequency asymptote of |S| crosses 1 at frequency z/2, yielding (for
a real RHP-zero) the following requirement:
z
B c < (3.20)
2
SISO loopshaping control [H04Q7] 3-22

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

(b) Complex pair of RHP-zeros,


z = x jy
SISO loopshaping control [H04Q7] 3-23

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

Bandwidth limitation II [5.6.4]


Performance requirement:

|S(j)| < 1/|wP (j)| kwP Sk < 1 (3.23)

However, from (3.14) we have that kwP Sk |wP (z)|, so the weight must
satisfy
|wP (z)| < 1 (3.24)

For performance weight



s/M + B
wP (s) = A (3.25)
s + B
and a real zero at z we get:
 
1
B (1 A) < z 1 (3.26)
M
e.g. A = 0, M = 2:
z
B <
2
SISO loopshaping control [H04Q7] 3-25

3.4 Limitations imposed by RHP-poles [5.8]


Specification (performance or RS specification):
|T (j)| < 1/|wT (j)| kwT T k < 1 (3.27)

However, from (3.15) we have that:

kwT T k |wT (p)| (3.28)


so the weight must satisfy
|wT (p)| < 1 (3.29)
For:
s 1
wT (s) = + (3.30)
BT MT
we get:

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

3.5 Combined RHP-poles and RHP-zeros [5.9]

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

3.6 Limitations imposed by phase lag [5.12]


Phase lag from RHP-zeros and time delays causes fundamental problems in
control design: for minimal-phase elements: no theoretical limitations, but
practical limitations.
For stability we know: c < 180 .
Define u as the frequency where the phase lag of the system G is 180 .
6 G(ju ) = 180 (3.34)

For a P controller: 180 = u , yielding: c < u .


For a P I controller (introducing additional lag): 180 < u , and
consequently c < u .
For a PID controller (a practical PID controller where the phase lead in
restricted to 55 , which is also a reasonable value for the PM, and thus):
c < u .
SISO loopshaping control [H04Q7] 3-29

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

4 UNCERTAINTY AND ROBUSTNESS FOR


SISO SYSTEMS [7]

4.1 Introduction [7.1]

A control system is robust if it is insensitive to differences between the actual


system and the model of the system which was used to design the controller.
These differences are referred to as model/plant mismatch or simply model
uncertainty.
SISO loopshaping control [H04Q7] 4-2

Our approach is:


1. Determine the uncertainty set: find a mathematical representation of the
model uncertainty (clarify what we know about what we dont know).
2. Check Robust stability (RS): determine whether the system remains stable
for all plants in the uncertainty set.
3. Check Robust performance (RP): if RS is satisfied, determine whether the
performance specifications are met for all plants in the uncertainty set.

Notation:
a set of possible perturbed plant models (uncertainty set).

G(s) nominal plant model (with no uncertainty).

Gp (s) and G (s) particular perturbed plant models.


SISO loopshaping control [H04Q7] 4-3

4.2 Classes of uncertainty [7.2]

Parametric uncertainty. Here the structure of the model (including the


order) is known, but some of the parameters are uncertain.
Assume that each uncertain parameter is bounded within some region
[min , max ]:
p = (1 + r ) (4.1)
where is the mean parameter value, and the relative uncertainty is:
max min
r = (4.2)
max + min
and is a real scalar satisfying kk 1.
Parametric uncertainty is sometimes called structured uncertainty.
Parametric uncertainty: often difficult to estimate, difficult to consider in
controller synthesis: we chose for complex perturbations.
SISO loopshaping control [H04Q7] 4-4

Neglected and unmodelled dynamics uncertainty. Here the model is


in error because of missing dynamics, usually at high frequencies, either
through deliberate neglect or because of a lack of understanding of the
physical process.
Any model of a real system will contain this source of uncertainty.
This leads to complex perturbations which we normalize such that
kk 1.
Lumped uncertainty. Here the uncertainty description represents one or
several sources of parametric and/or unmodelled dynamics uncertainty
combined into a single lumped perturbation of a chosen structure.
SISO loopshaping control [H04Q7] 4-5

Gp
- wI - I

q -?c+ - G -
+

Figure 29: Plant with multiplicative uncertainty

Multiplicative uncertainty of the form


I : Gp (s) = G(s)(1 + wI (s)I (s));
where
|I (j)| 1 (4.3)
| {z }
kI k 1

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 +

Figure 30: Feedback system with inverse multiplicative uncertainty

Inverse multiplicative uncertainty

iI : Gp (s) = G(s)(1 + wiI (s)iI (s))1 ;


|iI (j)| 1 (4.4)

Better suited for representing pole uncertainty.


Even with a stable iI (s), this form allows for uncertainty in the location of
an unstable pole, and also allows poles crossing between LHP and RHP.
SISO loopshaping control [H04Q7] 4-7

4.3 Representing uncertainty in the frequency domain [7.4]


4.3.1 Uncertainty regions [7.4.1]

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

4.3.2 Approximation by complex perturbations [7.4.2]

We use disc-shaped regions to represent uncertainty regions : additive


uncertainty, multiplicative uncertainty, etc ...
Additive uncertainty

A : Gp (s) = G(s) + wA (s)A (s); |A (j)| 1 (4.6)

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)| 
+

Figure 33: Disc-shaped uncertainty regions generated by complex additive uncer-


tainty, Gp = G + wA
SISO loopshaping control [H04Q7] 4-11

Multiplicative uncertainty

I : Gp (s) = G(s)(1 + wI (s)I (s); |I (j)| 1 (4.7)

For SISO systems, additive and multiplicative uncertainty descriptions are


equivalent if at each frequency:

|wI (j)| = |wA (j)|/|G(j)| (4.8)

Multiplicative (relative) weights are often preferred because their numerical


value is more informative:
SISO loopshaping control [H04Q7] 4-12

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

4.3.3 Obtaining the weight for complex uncertainty [7.4.3]

1. Select a nominal model G(s).


2. Additive uncertainty. At each frequency find the smallest radius lA () which
includes all the possible plants :

|wA (jw)| lA () = max |Gp (j) G(j)| (4.9)


GP

3. Multiplicative (relative) uncertainty. (preferred uncertainty form)



Gp (j) G(j)
|wI (jw)| lI () = max
(4.10)
Gp G(j)
SISO loopshaping control [H04Q7] 4-15

Example 1 Multiplicative weight for parametric uncertainty.


Consider again the set of plants with parametric uncertainty given in (4.5)
k
: Gp (s) = es , 2 k, , 3 (4.11)
s + 1
We want to represent this set using multiplicative uncertainty with a rational weight
wI (s). We select a delay-free nominal model

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

4.3.4 Choice of nominal model [7.4.4]

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

4.3.5 Neglected dynamics represented as uncertainty [7.4.5]

We saw that one of the advantages of frequency domain uncertainty


descriptions is that one can choose to work with a simple nominal model,
and represent neglected dynamics as uncertainty:

Gp (s) = G0 (s)f (s) (4.15)

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

It then follows that the relative bound corresponds to:



|1 ejmax | < /
max
lI () = (4.17)
2 /max

The estimated lI () can be approximated as a first order weight:


max s
wI (s) = max
(4.18)
2 s+1

which is accurate except at max : slight underestimation of uncertainty.


1 1
10 10
Magnitude

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

Figure 37: Multiplicative uncertainty resulting from neglected dynamics


SISO loopshaping control [H04Q7] 4-23

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

4.4 SISO Robust stability [7.5]


4.4.1 RS with multiplicative uncertainty
Gp
- wI - I

c - K p - c?
+ -
G p-
-6 +

Figure 38: Feedback system with multiplicative uncertainty

Determine the stability of this uncertain feedback system when there is


multiplicative (relative) uncertainty of magnitude |wI (j)|.
The loop transfer function equals:
Lp = Gp K = GK(1 + wI I ) = L + wI LI (4.20)
with |(j)| 1, .
SISO loopshaping control [H04Q7] 4-25

We assume (as always) stability of the nominal closed-loop system. For


simplicity, we assume that Lp is stable.
def
Use the Nyquist stability condition to test robust stability: RS system is
def
stable Lp , Lp should not encircle the point 1, Lp .
SISO loopshaping control [H04Q7] 4-26

Graphical derivation of RS-condition.

Im

1
0 Re
|1 + L(j)|
L(j)

|wI L|

Figure 39: Nyquist plot of Lp for robust stability

| 1 L| = |1 + L| is the distance from the point 1 to the centre of the disc


representing Lp , |wI L| is the radius of the disc.
SISO loopshaping control [H04Q7] 4-27

Encirclements are avoided if none of the discs cover 1, and we get from
Figure 39

RS |wI L| < |1 + L|, (4.21)



wI L

1 + L < 1, |wI T | < 1, (4.22)
def
kwI T k < 1 (4.23)


RS |T | < 1/|wI |, (4.24)

We have to detune the controller (i.e. make T small) at frequencies where


the relative uncertainty wI exceeds 1 in magnitude.
This condition is exact (necessary and sufficient) provided that there exist
uncertain plants such that at each frequency all perturbations satisfying
(j) 1 are possible. If this is not the case, the RS condition is sufficient.
SISO loopshaping control [H04Q7] 4-28

Example 2 Consider the following nominal plant and PI-controller


3(2s + 1) 12.7s + 1
G(s) = K(s) = Kc
(5s + 1)(10s + 1) 12.7s
Kc = Kc1 = 1.13 (Ziegler-Nichols). One extreme uncertain plant is
G (s) = 4(3s + 1)/(4s + 1)2 . For this plant the relative error |(G G)/G| is 0.33 at
low frequencies; it is 1 at about 0.1 rad/s, and it is 5.25 at high frequencies
uncertainty weight
10s + 0.33
wI (s) =
(10/5.25)s + 1
which closely matches this relative error.
SISO loopshaping control [H04Q7] 4-29

1/WI T1 (not RS)

Magnitude
0
10

1
10
T2 (RS)
3 2 1 0 1
10 10 10 10 10
Frequency

Figure 40: Checking robust stability with multiplicative uncertainty

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

4.4.2 Comparison with gain margin

By what factor kmax can we multiply the loop gain L0 before we get
instability?
Lp = kp L0 kp [1, kmax ] (4.25)

Real perturbation: Gain Margin:


1
kmax,1 = GM = (4.26)
|L0 (j180 )|

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

4.4.3 RS with inverse multiplicative uncertainty [7.5.3]

u y
wiI  iI 

c - K -?c+ p - G p-
-6 +

Figure 41: Feedback system with inverse multiplicative uncertainty


Gp (s) = G(s)(1 + wiI (s)iI (s))1 (4.30)
SISO loopshaping control [H04Q7] 4-34

It can be shown that:

RS |S| < 1/|wiI |, (4.31)

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

4.5 SISO Robust performance [7.6]


4.5.1 Nominal performance in the Nyquist plot

NP |wP S| < 1 |wP | < |1 + L| (4.32)


Im

|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

4.5.2 Robust performance [7.6.2]

- wI - I d
b- K p -+?
b+ - G -+ ?
b+-p wP -yb
-
6

Figure 43: Diagram for robust performance with multiplicative uncertainty

For robust performance we require the performance condition (4.32) to be


satisfied for all possible plants, that is, including the worst-case uncertainty.
def
RP |wP Sp | < 1 Sp , (4.33)
|wP | < |1 + Lp | Lp , (4.34)
This corresponds to requiring |b
y /d| < 1 I in Figure 43, where we consider
multiplicative uncertainty, and the set of possible loop transfer functions is
Lp = Gp K = L(1 + wI I ) = L + wI LI (4.35)
SISO loopshaping control [H04Q7] 4-37

Graphical derivation of RP-condition. (Figure 44)


RP |wP | + |wI L| < |1 + L|, (4.36)
|wP (1 + L)1 | + |wI L(1 + L)1 | < 1, (4.37)

RP max (|wP S| + |wI T |) < 1 (4.38)

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

4.5.3 The relationship between NP, RS and RP [7.6.3]

NP |wP S| < 1, (4.39)


RS |wI T | < 1, (4.40)
RP |wP S| + |wI T | < 1, (4.41)

A prerequisite for RP is that we satisfy NP and RS. This applies in general,


both for SISO and MIMO systems and for any uncertainty.
For SISO systems, if we satisfy both RS and NP, then we have at each
frequency
|wP S| + |wI T | 2 max{|wP S|, |wI T |} < 2 (4.42)
Therefore, within a factor of at most 2, we will automatically get RP when
NP and RS are satisfied.
SISO loopshaping control [H04Q7] 4-39

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

4.5.4 The similarity between RS and RP [7.6.4]

RP may be viewed as a special case of RS: consider the following system:


- w2 - 2 d

- 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

(a) RP with multiplicative uncertainty


With w1 replaced by wP and w2 replaced by wI , we get:

RP |w1 S| + |w2 T | < 1, (4.47)

(b) RS with combined wI and wiI


We want the closed loop system to be stable for all possible |1 | 1 and
|2 | 1.
RS is equivalent to avoiding encirclements of 1 by the Nyquist plot of Lp :
the distance between Lp and 1 must be larger than zero:

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

The worst case is obtained when we choose 1 and 2 with magnitude 1


such that the terms Lw2 2 and w1 1 are in the opposite direction of the
term 1 + L:

RS |1 + L| |Lw2 | |w1 | > 0,


|w1 S| + |w2 T | < 1,

which is the same condition as found for RP


SISO loopshaping control [H04Q7] 5-1

5 H optimization: mixed sensitivity


loop-shaping in Matlab
Contents
Controller calculation in Matlab: robust control toolbox
Selection of the weighting functions
Example of double integrator implemented in Matlab
Mixed Sensitivity Controller Design Revisited
SISO loopshaping control [H04Q7] 5-2

5.1 Controller calculation in Matlab: robust control


toolbox toolbox
Introduction
Building the generalized plant
Calculation of the controller
SISO loopshaping control [H04Q7] 5-3

5.1.1 Introduction

Consider the following configuration:


w z
u P(s) y

K(s)

hinfsyn.m solves standard H problem: find a controller that minimizes


the H norm between w and z.
SISO loopshaping control [H04Q7] 5-4

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

and define the following (closed-loop) transfer functions:


Z1 (s) Z2 (s) Z3 (s)
= N1 (s) = N2 (s) = N3 (s) (5.2)
W (s) W (s) W (s)
SISO loopshaping control [H04Q7] 5-5

Introduction

hinfsyn.m then solves:



N (s)
1

minK(s) kN (s)k
= minK(s) N2 (s)
(5.3)

N3 (s)

which corresponds to:


p
minK(s) |N1 (s)|2 + |N2 (s)|2 + |N2 (s)|2 (5.4)

This is the mixed sensitivity loop shaping problem.


If this minimum is smaller than 1, we also have that:

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

5.1.2 Building the generalized plant

Consider the following system:

z2 z3 w

W2(s) W3(s) V(s)

W1(s)
z1
K(s) G(s)
-
P(s)

From this figure it is clear that:

z1 = N1 (s)w = W1 (s)S(s)V (s)w


z2 = N2 (s)w = W2 (s)U (s)V (s)w
z3 = N3 (s)w = W3 (s)T (s)V (s)w

with U (s) = K(s)S(s) the input sensitivity function.


SISO loopshaping control [H04Q7] 5-7

Building the generalized plant

Solving this mixed sensitivity loop shaping problem, with

V (s) = 1 W1 (s) = wP (s) W3 (s) = wI (s) W2 (s) = Uc (5.6)

yields RS and NP (and consequently approximately RP) if the minimum is


smaller than 1.
We take V (s) = 1 is taken to reduce the degrees of freedom in the control
design (sufficient for SISO).
The transfer function W2 (s)U (s)V (s) introduces a bound on the input
sensitivity. W2 (s) is often set equal to a constant Uc . This transfer function is
used to specify limits on the input (limit the input). Numerical problems can
occur when using hinfsyn.m if this weighted input sensitivity is omitted ...
SISO loopshaping control [H04Q7] 5-8

Building the generalized plant

Consider the following system:

z2 z3

W2(s) W3(s)

w z1
V(s) K(s) G(s) W1(s)
-
P

From this figure it is clear that:

z1 = N1 (s)w = W1 (s)T (s)V (s)w


z2 = N2 (s)w = W2 (s)S(s)V (s)w
z3 = N3 (s)w = W3 (s)U (s)V (s)w

with U (s) = K(s)S(s) the input sensitivity function.


SISO loopshaping control [H04Q7] 5-9

Building the generalized plant

Solving this mixed sensitivity loop shaping problem, with

V (s) = 1 W1 (s) = wI (s) W2 (s) = wP (s) W3 (s) = Uc (5.7)

yields RS and NP (and consequently approximately RP) if the minimum is


smaller than 1.
SISO loopshaping control [H04Q7] 5-10

Building the generalized plant

Consider the following system:

z3 z2

W3(s) W2(s)

W1(s)
z1
K(s) G(s)
-

V(s)

P
w

From this figure it is clear that:

z1 = N1 (s)w = W1 (s)T (s)V (s)w


z2 = N2 (s)w = W2 (s)U (s)V (s)w
z3 = N3 (s)w = W3 (s)S(s)V (s)w

with U (s) = K(s)S(s) the input sensitivity function.


SISO loopshaping control [H04Q7] 5-11

Building the generalized plant

Solving this mixed sensitivity loop shaping problem, with

V (s) = 1 W1 (s) = wI (s) W3 (s) = wP (s) W2 (s) = Uc (5.8)

yields RS and NP (and consequently approximately RP) if the minimum is


smaller than 1.

General remark : the specification on T (s) is often omitted, and can be


included in the specification on U (s) = K(s)S(s) if the weight on U (s) is
extended with the system model.
SISO loopshaping control [H04Q7] 5-12

Building the generalized plant

Choose V , W1 , W2 , and W3 to meet robustness and performance


requirements
In the -synthesis toolbox, systems are represented in a special form
State space models or transfer functions can be transformed to this form:
sys = tf(num,den), with num and den the numerator and
denominator of the continuous-time transfer function
sys = tf(num,den,Ts), with num and den the numerator and
denominator of the discrete-time transfer function
sys = ss(A,B,C,D), with A, B, C, D the continuous time state space
model
sys = ss(A,B,C,D,Ts), with A, B, C, D the discrete-time state space
model
State space models can be recovered from this sys:
[A,B,C,D] = ssdata(sys)
SISO loopshaping control [H04Q7] 5-13

Building the generalized plant

z1 z2

W1(s) W2(s)

w z3
K(s) G(s) W3(s)
-
P

The generalized plant P is built out of G, W1 , W2 , and W3 (V = 1) with


augw

z1 = W1 w W1 Gu = W1 (w Gu)
z2 = W2 u
z3 = W3 Gu
y = w Gu
SISO loopshaping control [H04Q7] 5-14

Building the generalized plant

P = AUGW(G,W1,W2,W3) augments plant with LTI weights


All inputs must be proper.
Input:
G = LTI plant of dimension [NY,NU]=size(G).
W1= LTI sensitivity weight
W2= LTI control signal weight
W3= LTI complementary sensitivity weight

Output: augmented plant, with partitioning


P = MKTITO(SYS,NY,NU)
where
SYS =[W1 , -W1*G
0 , W2
0 , W3*G
I , -G ];
SISO loopshaping control [H04Q7] 5-15

5.1.3 Calculation of the controller

[Kinf,Pcl,gamma opt] = hinfsyn(P,nmeas,ncon);


with:
nmeas=1;, number of inputs of the controller
ncon=1;, number of control inputs of the system P
gmn=0.01;, lower limit of
and
Kinf, H -controller
Pcl, closed-loop system between w and z.
gamma opt, optimal achieved
SISO loopshaping control [H04Q7] 5-16

Calculation of the controller

P must satisfy certain conditions, before hinfsyn can compute a controller


Some practical consequences:
None of the subsystems of P (G, W1 , W2 and W3 ) may contain pure
integration
All subsystems must be proper (number of poles number of zeros)
W2 must have as many poles as zeros
Solution:
Add high or low frequency poles to satisfy these conditions
Dont use extreme values for this trick to avoid numerical problems
SISO loopshaping control [H04Q7] 5-17

5.2 Selection of the weighting functions


Mixed sensitivity loop shaping:

W S
1

kHk =
W2 U (5.9)

W3 T

W1 , W2 , and W3 are chosen such that, if this -norm is minimized, S and T


have optimal shape
1. Partial pole placement (not discussed in this course)
Theoretical interesting
Problem: By suitably choosing the weighting functions, the chosen poles
may be arranged to be the dominant poles.
It is not clear how this is done for more complicated systems
2. Intuitive choice of weighting functions
SISO loopshaping control [H04Q7] 5-18

Intuitive choice of weighting functions


|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

5.3 Example of double integrator implemented in Matlab

Implementation of the example is straightforward now:


1
Definition of the system G(s) = s2
num=1; den=[1 1e-3 1e-6];, pure integration gives numerical
problems in the H synthesis, yielding following poles:
5.0 104 8.66 104
G=tf(num,den);, transforms your system in the mu-synthesis toolbox
representation
SISO loopshaping control [H04Q7] 5-20

Choice of the weighting functions


wn=1e-3; num W1=20002; den W1=[1/wn2 2*0.7/wn 1];
W1=tf(num W1,den W1);
num W2=1e-3; den W2=1; W2=tf(num W2,den W2);
wn=1e-3; num W3=5e-8*[1/wn2 2*0.7/wn 1];
den W3=[1/2002 2*0.7/200 1]; W3=tf(num W3,den W3);
Calculation of augmented plant: P = augw(G,W1,W2,W3);
Calculation of optimal controller
nmeas=1;
ncon=1;
[Kinf,Pcl,gamma opt] = hinfsyn(P,nmeas,ncon);
SISO loopshaping control [H04Q7] 5-21

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]

Vous aimerez peut-être aussi