+ All Categories
Home > Documents > SISO loopshaping control [H04Q7] - …jswevers/course_vub/slides/hinf.pdf · SISO loopshaping...

SISO loopshaping control [H04Q7] - …jswevers/course_vub/slides/hinf.pdf · SISO loopshaping...

Date post: 03-May-2018
Category:
Upload: dangdan
View: 229 times
Download: 1 times
Share this document with a friend
182
SISO loopshaping control [H04Q7] 0-1 SISO loopshaping control [H04Q7] classical feedback control, limits of performance, uncertainty and robustness, H Jan Swevers KULeuven [email protected] November 2009
Transcript

SISO loopshaping control [H04Q7] 0-1

SISO loopshaping control [H04Q7]classical feedback control, limits of performance,

uncertainty and robustness, H∞

Jan Swevers

KULeuven

[email protected]

November 2009

SISO loopshaping control [H04Q7] 0-2

Based on the book:

MULTIVARIABLEFEEDBACK CONTROLAnalysis 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

Contents1 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 + Gdd (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]

G(s) =βnz

snz + · · · + β1s + β0

sn + an−1sn−1 + · · · + a1s + a0(1.2)

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:

y = Gu + Gdd; e = y − r (1.3)

scaled:

d = d/dmax, u = u/umax (1.4)

where:

• dmax — largest expected change in disturbance

• umax — largest allowed input change

SISO loopshaping control [H04Q7] 1-6

Scale y, e and r by:

• emax — largest allowed control error, or

• rmax — largest expected change in reference value

Usually:

y = y/emax, r = r/emax, e = e/emax (1.5)

SISO loopshaping control [H04Q7] 1-7

Model in terms of scaled variables:

y = Gu + Gdd; e = y − r (1.6)

Often also:

r = r/rmax (1.7)

so that:

r = Rr where R∆= rmax/emax (1.8)

SISO loopshaping control [H04Q7] 1-8

e e- - -? ?

? ?

-uG

Gd

d

yr-

+

+

+

r

e

R

Figure 1: Model in terms of scaled variables

Objective:

for |d(t)| ≤ 1 and |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]

b

b

b p

6

6�

-?---

?

- ++

ym-

n

y

d

Gd

++

+u GKr

b

b

6

- p

-?---

?

+

n(b) Two degrees-of-freedom control configuration

++

+ym

y

d

Gd

K Gur

(a) One degree-of-freedom control configuration

SISO loopshaping control [H04Q7] 1-10

-

--

(c) General control configuration

P

Ku v

zw

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:

6 G(jω0) =1

π

∫ ∞

−∞

d ln |G(jω)|d lnω︸ ︷︷ ︸N(ω)

ln

∣∣∣∣ω + ω0

ω − ω0

∣∣∣∣︸ ︷︷ ︸

(a)

ω(2.9)

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

N(ω0) =

(d ln |G(jω)|

d lnω

)

ω=ω0

(2.10)

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

primary determined by the local slope of N(ω0).

• Also for stable minimum phase systems:

6 G(jω0) ≈π

2N(ω0)[rad] = 90◦N(ω0) (2.11)

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:

G(s) =−s + a

s + a(2.12)

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 e−θs has a constant gain of 1, but its phase is −ωθ[rad].

SISO loopshaping control [H04Q7] 2-4

10−3

10−2

10−1

100

101

102

103

10−5

100

105

0

−2

−1

−2

10−3

10−2

10−1

100

101

102

103

−180

−135

−90

−45

0

Mag

nitu

de

Frequency [rad/s]

Pha

seω1 ω2 ω3

Figure 3: Bode plot of minimum phase system L1 = 30 s+1(s+0.01)2(s+10)

SISO loopshaping control [H04Q7] 2-5

2.2 Feedback control [2.2]

dd

d

q- - - - ?

?

-

�6

6

ym

r y+

+

Gd

GK-

+

n

+

+

u

d

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

SISO loopshaping control [H04Q7] 2-6

y = GK(r − y − n) + Gdd

or

(I + GK)y = GKr + Gdd − GKn (2.1)

Closed-loop response:

y = (I + GK)−1GK︸ ︷︷ ︸T

r (2.2)

+ (I + GK)−1

︸ ︷︷ ︸S

Gdd (2.3)

− (I + GK)−1GK︸ ︷︷ ︸T

n (2.4)

SISO loopshaping control [H04Q7] 2-7

Control error:

e = y − r = −Sr + SGdd − Tn (2.5)

Plant input:

u = KSr − KSGdd − 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)−1GK = (I + L)−1L (2.9)

S + T = I (2.10)

Notation :

L = GK loop transfer function

S = (I + L)−1 sensitivity function

T = (I + L)−1L 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

•G(s) =

3(−2s + 1)

(5s + 1)(10s + 1)(2.11)

• 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).

0 5 10 15 20 25 30 35 40 45 50−0.5

0

0.5

1

1.5

2

Time [sec]

Kc = 0.5

Kc = 1.5

Kc = Ku = 2.5

Kc = 3 (Unstable)

Pu

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:

K(s) = Kc

(1 +

1

τIs

)(2.12)

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

10−2

10−1

100

101

10−2

100

10−2

10−1

100

101

−270

−180

−90

0

90

Magnit

ude

Frequency [rad/s]

Phase

ωcωB ωBT

|S||T |

|L|

6 S6 T

6 L

Figure 6: Bode magnitude and phase plots of L = GK, S and T when G(s) =3(−2s+1)

(5s+1)(10s+1) , and K(s) = 1.136(1 + 112.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.

0

0.5

1

1.5

Time

y(t

)

A B

Overshoot = ADecay ratio =B/A

1.05

0.95

tstr

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

10−2

10−1

100

10−1

100

101

10−2

10−1

100

−225

−180

−135

−90

ω180ωc

1

GM

PM

Mag

nitu

deP

hase

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:

GM =1

|L(jω180)|(2.13)

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(jω180)| 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(jω180)| of such crossings.

SISO loopshaping control [H04Q7] 2-18

Frequency domain performance: Phase margin

• Definition of Phase Margin:

PM = 6 L(jωc) + 180◦ (2.14)

where the gain crossover frequency ωc is where L(jω) first crosses 1 from

above: |L(jωc)| = 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

−1 0.5 1

−0.5

0.5

ω = +∞ Re

Im

PM

1 − 1GM

L(jωc)

L(jω)

L(jω180)

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 = Gdd − r.

– With feedback control: e = S(Gdd − 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. M−1S 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

• PM and GM can be misleading:

Figure 11: large PM and GM , small MS

SISO loopshaping control [H04Q7] 2-25

Frequency domain performance: Maximum peak criteria

• Note :

GM ≥ MS

MS − 1(2.19)

PM ≥ 2 arcsin

(1

2MS

)≥ 1

MS[rad] (2.20)

• 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 PM > 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(jωc)| 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:

L(s) =−s + z

s(τs + τz + 2)

T (s) =−s + z

s + z

1

τs + 1

with z = 0.1 and τ = 1. Both L and T have a RHP-zero at 0.1. GM = 2.1,

PM = 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 10 15 20 25 30 35 40 45 50−1

−0.5

0

0.5

1

y(t

)

Time [sec]

Figure 12: Step response

10−2

10−1

100

101

102

10−2

10−1

100

Mag

nitu

de

Frequency [rad/s]

ωB ωBTω180

|S|

|T |

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

︸ ︷︷ ︸S

r + (I + L)−1

︸ ︷︷ ︸S

Gdd − (I + L)−1L︸ ︷︷ ︸T

n (2.22)

• 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(jω180)| < 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 need6 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(jωc)| = 1.

2. The shape of L(jω), e.g. slope of |L(jω)| in certain frequency ranges:

N = d ln |L|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:

6 1sn = −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 PM 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

s + z(2.24)

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

S =1

1 + L(2.25)

peaks.

• If L comes very near to −1, so does the inverse of L, hence

T =L

1 + L=

1

1 + 1L

(2.26)

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:

L(s) =ωc

s(2.27)

K(s) =ωc

sG−1(s) (2.28)

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.

G(s) =200

10s + 1

1

(0.05s + 1)2, Gd(s) =

100

10s + 1(2.29)

• 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.

K0(s) =ωc

s

10s + 1

200(0.05s + 1)2

≈ ωc

s

10s + 1

200

0.1s + 1

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

•L0(s) =

ωc

s

0.1s + 1

(0.05s + 1)2(0.01s + 1), ωc = 10 (2.30)

SISO loopshaping control [H04Q7] 2-46

Inverse-based controller design.

• Results:

0 1 2 3

0

0.5

1

1.5y(t

)

Time [sec]

(a) Tracking response

0 1 2 3

0

0.5

1

1.5

y(t

)

Time [sec]

(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 = SGdd, (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| ≈ |G−1Gd| (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

|K| = |s + ωI

s||G−1Gd| (2.36)

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| = |G−1|.• 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.

cc q

6-?

?

-----++ 200

10s+1y

d

0.5

1(0.05s+1)2

u-

+r K(s)

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

SISO loopshaping control [H04Q7] 2-51

10−2

100

102

10−2

100

102

104

Magnit

ude

Frequency [rad/s]

L1

L2,L3

L3L1,L2

(a) Loop gains

0 1 2 30

0.5

1

1.5

y1

y2y3

Time [sec]

(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) = G−1Gd = 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+ωI

s . 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

K2(s) = 0.5s + 2

s(2.38)

=⇒ 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:

K3(s) = 0.5s + 2

s

0.05s + 1

0.005s + 1(2.39)

=⇒ 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”):

c c

c

- - - - - ?

?

-

�6

6r Kr

+-

Kyu

G

Gd

d

y

++

n

ym

+

+

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 = Trefr, then take:

=⇒ Kr = T−1Tref (2.40)

SISO loopshaping control [H04Q7] 2-55

Remark:

Practical choice of prefilter is the lead-lag network

Kr(s) =τleads + 1

τlags + 1(2.41)

τ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−1Tref , and then make a low

order approximation, or we can first make a low order approximation of T :

T (s) ≈ 1.50.1s+1 − 0.5

0.5s+1 = (0.7s+1)(0.1s+1)(0.5s+1)

• This yields:

Kr(s) = 0.5s+10.7s+1 .

SISO loopshaping control [H04Q7] 2-57

• By closed-loop simulations we extend Kr:

Kr3(s) =0.5s + 1

0.65s + 1· 1

0.03s + 1(2.42)

where 1/(0.03s + 1) is included to avoid initial peaking of input signal u(t)

above 1.

0 0.5 1 1.5 2 2.5 3

0

0.5

1

1.5

y3(t)

y3(t)(two degrees-of-freedom)

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.

G(s) = Gd(s) =2.5s(s2 + 1)

(s2 + 0.52)(s2 + 22)(2.43)

|Kmin(jω)| = |G−1Gd| = 1 ⇒ K(s) = 1

10−2

100

102

10−2

100

102

Magnit

ude

Frequency [rad/s]

G = Gd

(a) Magnitude plot of |G| =

|Gd|

0 5 10 15 20−2

−1

0

1

2

yCL

yOL

Time [sec]

(b) Open-loop and

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 ≈ L−1; 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,

‖f(s)‖∞ ∆= max

ω|f(jω)| (2.44)

• The symbol ∞ comes from:

maxω

|f(jω)| = limp→∞

(∫ ∞

−∞

|f(jω)|pdω

)1/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, ‖S(jω)‖∞ ≤ M .

• Specifications may be captured by an upper bound, 1/|wP (s)|, on ‖S‖.

SISO loopshaping control [H04Q7] 2-63

10−2

10−1

100

101

10−2

10−1

100

101

Magnit

ude

Frequency [rad/s]

|1/wP ||S|

(a) Sensitivity S and performance

weight wP

10−2

10−1

100

101

0

1

2

3

Magnit

ude

Frequency [rad/s]

‖wP S‖∞

(b) Weighted sensitivity wP S

Figure 20: Case where |S| exceeds its bound 1/|wP |, resulting in ‖wP S‖∞ > 1

SISO loopshaping control [H04Q7] 2-64

•|S(jω)| < 1/|wP (jω)|, ∀ω (2.45)

⇔ |wP S| < 1, ∀ω ⇔ ‖wP S‖∞ < 1 (2.46)

• Typical performance weight:

wP (s) =s/M + ω∗

B

s + ω∗BA

(2.47)

SISO loopshaping control [H04Q7] 2-65

10−2

10−1

100

101

102

10−2

10−1

100

Magnit

ude

Frequency [rad/s]

M

A

ω∗B

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:

wP (s) =(s/M1/2 + ω∗

B)2

(s + ω∗BA1/2)2

(2.48)

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:

‖N‖∞ = maxω

σ(N(jω)) < 1; N =

wP S

wT T

wuKS

(2.49)

N is a vector and the maximun singular value σ(N) is the usual Euclidean

vector norm:

σ(N) =√

|wP S|2 + |wT T |2 + |wuKS|2 (2.50)

• The H∞ optimal controller is obtained from

minK

‖N(K)‖∞ (2.51)

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‖N‖∞ 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

N =

[wP S

wuKS

](2.52)

• Selected wu = 1 and

wP1(s) =s/M + ω∗

B

s + ω∗BA

; M = 1.5, ω∗B = 10, A = 10−4 (2.53)

=⇒ poor disturbance response

• To get higher gains at low frequencies:

wP2(s) =(s/M1/2 + ω∗

B)2

(s + ω∗BA1/2)2

, M = 1.5, ω∗B = 10, A = 10−4 (2.54)

SISO loopshaping control [H04Q7] 2-70

10−2

10−1

100

101

102

10−4

10−2

100

Magnit

ude

Frequency [rad/s]

1/wP1 1/wP2

S1 S2

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

0 1 2 3

0

0.5

1

1.5

y1(t)

y2(t)

Time [sec]

(a) Tracking response

0 1 2 3

0

0.5

1

1.5

y1(t)

y2(t)

Time [sec]

(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 + Gdd (3.1)

• For “perfect control”, i.e. y = r (not realizable) we have feedforward

controller:

u = G−1r − G−1Gdd (3.2)

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

u = KSr − KSGdd

or since T = GKS,

u = G−1Tr − G−1TGdd (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 G−1 is unstable)

• G contains time delay (since then G−1 contains a prediction)

• G has more poles than zeros (since then G−1 is unrealizable)

For feedforward control perfect control cannot be achieved if

• G is uncertain (since then G−1 cannot be obtained exactly)

Because of input constraints perfect control cannot be achieved if

• |G−1Gd| is large

• |G−1R| 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.

−1 1 2

−2

−1

1

2

Re

Im

L(s) = 2s(s+1)

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

∫ ∞

0

ln |S(jω)|dω = π ·Np∑

i=1

Re(pi) (3.5)

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:

∫ ∞

0

ln |S(jω)|dω = 0 (3.6)

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.

−1

−2.0

−1.5

−1

1

1

Re

Im

Lm(s) = 1s+1

L(s) = 1s+1

−s+1s+1

L(jω)

Lm(jω)

|S(jω)| > 1

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−2

10−1

100

101

10−1

100

101

Magnit

ude|S|

Frequency

k=0.1k=0.5

k=1.0

k=2.0(unstable)

Figure 26: Effect of increased controller gain on |S| for system with RHP-zero at z = 2,

L(s) = ks

2−s2+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

∫ ∞

0

ln |S(jω)| · w(z, ω)dω = π · lnNp∏

i=1

∣∣∣∣pi + z

pi − z

∣∣∣∣ (3.7)

where:

w(z, ω) =2z

z2 + ω2=

2

z

1

1 + (ω/z)2(3.8)

SISO loopshaping control [H04Q7] 3-14

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

Magnitude

ω

(log)

(log)

|w(z, ω)|

z

1z

2z

−2 slope

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 Bode’s 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

0

ln |S(jω)|dω ≈ 0 ( for |S| ≈ 1 at ω > z) (3.9)

• 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

pi − z→ ∞ (3.10)

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 region’s boundary, i.e. somewhere along the jω-axis.

Hence, we have for a stable f(s)

‖f(jω)‖∞ = 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

‖wP S‖∞ ≥ |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

‖wT T‖∞ ≥ |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) = e−θs.

• The corresponding best sensitivity will be:

S = 1 − T = 1 − e−θs (3.16)

10−2

10−1

100

101

102

10−2

10−1

100

101

Magnit

ude|S|

Frequency × Delay

ω = 1/θ

Figure 28: “Ideal” sensitivity function (3.16) for a plant with delay

SISO loopshaping control [H04Q7] 3-20

• |S(jω)| in Figure 28 crosses 1 at π3

1θ = 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:

T (s) =−s + z

s + z(3.18)

• Then

S(s) = 1 − T (s) =2s

s + z(3.19)

• 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:

ωB ≈ ωc <z

2(3.20)

SISO loopshaping control [H04Q7] 3-22

Bandwidth limitation I

10−2

10−1

100

101

102

10−2

10−1

100

Magnit

ude|S|

Frequency × 1/z

z/2

(a) Real RHP-zero

10−2

10−1

100

101

102

10−2

10−1

100

Magnit

ude|S|

Frequency × 1/x

y/x=0.1

y/x=1

=10 =50

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

S(s) =4xs

(s + x + jy)(s + x − jy)(3.21)

• See figure (b) on the previous slide, yielding the following approximate

bounds:

ωB ≈ ωc <

|z|/4 Re(z) >> Im(z)

|z|/2.8 Re(z) = Im(z)

|z| Re(z) << Im(z)

(3.22)

• 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ω)| ∀ω ⇔ ‖wP S‖∞ < 1 (3.23)

• However, from (3.14) we have that ‖wP S‖∞ ≥ |wP (z)|, so the weight must

satisfy

|wP (z)| < 1 (3.24)

• For performance weight

wP (s) =s/M + ω∗

B

s + ω∗BA

(3.25)

and a real zero at z we get:

ω∗B(1 − A) < z

(1 − 1

M

)(3.26)

e.g. A = 0, M = 2:

ω∗B <

z

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ω)| ∀ω ⇔ ‖wT T‖∞ < 1 (3.27)

• However, from (3.15) we have that:

‖wT T‖∞ ≥ |wT (p)| (3.28)

so the weight must satisfy

|wT (p)| < 1 (3.29)

• For:

wT (s) =s

ω∗BT

+1

MT(3.30)

we get:

ω∗BT > p

MT

MT − 1(3.31)

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:

‖S‖∞ ≥ c, ‖T‖∞ ≥ c, c =|z + p||z − p| (3.33)

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(jωu) = −180◦ (3.34)

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

• For a PI 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 don’t 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:

rα =αmax − αmin

αmax + αmin(4.2)

and ∆ is a real scalar satisfying ‖∆‖ ≤ 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

‖∆‖∞ ≤ 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

cq

- -

? - --

wI ∆I

G

Gp

++

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 ∀ω︸ ︷︷ ︸‖∆I‖∞≤1

(4.3)

• 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

s − z

s + z,

1

τs + 1,

1

(5s + 1)3,

0.1

s2 + 0.1s + 1

SISO loopshaping control [H04Q7] 4-6

cc p p-- - ?

� �

-6- +

+

wiI ∆iIu∆ y∆

K G

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:

Gp(s) =k

τs + 1e−θs, 2 ≤ k, θ, τ ≤ 3 (4.5)

ω

ωω

ωω

ω

ω= 0.01

= 0.05

= 0.2= 0.5

= 1 = 2

= 7

Im

Re

Figure 31: Uncertainty regions of the Nyquist plot at given frequencies. Data from

(4.5)

SISO loopshaping control [H04Q7] 4-8

+

−1

−2

−31 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

|wA(jω)|G(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

Re

|wA|

G (centre)

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(jω0)| > 1. Then there exists a |∆I | ≤ 1

such that Gp(jω0) = 0.

• There exists a possible plant with zeros at s = ±jω0, 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(ω) = maxGP ∈Π

|Gp(jω) − G(jω)| (4.9)

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

|wI(jw)| ≥ lI(ω) = maxGp∈Π

∣∣∣∣Gp(jω) − G(jω)

G(jω)

∣∣∣∣ (4.10)

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)

Π : Gp(s) =k

τs + 1e−θs, 2 ≤ k, θ, τ ≤ 3 (4.11)

We want to represent this set using multiplicative uncertainty with a rational weight

wI(s). We select a delay-free nominal model

G(s) =k

τ s + 1=

2.5

2.5s + 1(4.12)

wI1(s) =Ts + 0.2

(T/2.5)s + 1, T = 4 (4.13)

wI(s) = ωI1(s)s2 + 1.6s + 1

s2 + 1.4s + 1(4.14)

SISO loopshaping control [H04Q7] 4-16

10−2

10−1

100

101

10−1

100

Magnit

ude

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

-4

-3

-2

-1

0

1

2

-2 -1 0 1 2 3 4

+ ++ 12 3

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

lI(ω) = maxGp

∣∣∣∣Gp − G0

G0

∣∣∣∣ = maxf(s)∈Πf|f(jω) − 1| (4.16)

SISO loopshaping control [H04Q7] 4-21

Neglected delay:

• Let f(s) = e−θps, with 0 ≤ θp ≤ θmax

• We want to represent Gp(s) = G0(s)e−θps, with G0(s) delay-free and

multiplicative uncertainty.

• First consider the maximum delay, for which the relative error is

|1 − e−jωθmax |: 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:

lI(ω) =

|1 − e−jωθmax | ω < π/θmax

2 ω ≥ π/θmax

(4.17)

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

wI(s) =θmaxs

θmax

2 s + 1(4.18)

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

10−2

100

102

10−2

10−1

100

101

1/θmax

Frequency

Mag

nitu

de

(a) Time delay

10−2

100

102

10−2

10−1

100

101

1/τmax

Frequency

Mag

nitu

de

(b) First-order lag

Figure 37: Multiplicative uncertainty resulting from neglected dynamics

SISO loopshaping control [H04Q7] 4-23

Neglected lag

• Let f(s) = 1/(τps + 1) where 0 ≤ τp ≤ τmax.

• The resulting lI(ω) is shown in the right plot of the figure in the previous

slide.

•wI(s) = 1 − 1

τmaxs + 1=

τmaxs

τmaxs + 1(4.19)

SISO loopshaping control [H04Q7] 4-24

4.4 SISO Robust stability [7.5]

4.4.1 RS with multiplicative uncertainty

c cp p- -

- -

? - -6-

K

wI ∆I

G

Gp

++

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 = GpK = GK(1 + wI∆I) = L + wIL∆I (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.

• Use the Nyquist stability condition to test robust stability: RSdef⇔ system is

stable ∀Lp,def⇔ Lp should not encircle the point −1, ∀Lp.

SISO loopshaping control [H04Q7] 4-26

Graphical derivation of RS-condition.

|1 + L(jω)|

|wIL|

−10

L(jω)

Re

Im

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, |wIL| 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 ⇔ |wIL| < |1 + L|, ∀ω (4.21)

⇔∣∣∣∣

wIL

1 + L

∣∣∣∣ < 1,∀ω ⇔ |wIT | < 1,∀ω (4.22)

def⇔ ‖wIT‖∞ < 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

G(s) =3(−2s + 1)

(5s + 1)(10s + 1)K(s) = Kc

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

wI(s) =10s + 0.33

(10/5.25)s + 1

which closely matches this relative error.

SISO loopshaping control [H04Q7] 4-29

10−3

10−2

10−1

100

101

10−1

100

T1 (not RS)

T2 (RS)

1/WI

Frequency

Magnit

ude

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 = kpL0 kp ∈ [1, kmax] (4.25)

• Real perturbation: Gain Margin:

kmax,1 = GM =1

|L0(jω180)|(4.26)

• Complex perturbation

Lp = kpL0 = kL0(1 + rk∆) (4.27)

where

k =kmax + 1

2rk =

kmax − 1

kmax + 1(4.28)

SISO loopshaping control [H04Q7] 4-32

• The nominal loop gain is L = kL0, and RS condition ‖wIT‖∞ < 1, with

wI = rk, yields: ∥∥∥∥rkkL0

1 + kL0

∥∥∥∥∞

< 1 (4.29)

• Since both k and rk depend on kmax, this has to be solved iteratively to find

the value for kmax. 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]

cc p p-- - ?

� �

-6- +

+

wiI ∆iIu∆ y∆

K G

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)

|1 + L(jω)|

|wP (jω)|

−10

L(jω)Re

Im

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]

b b bp p- -

- -

?- -- -?6-

wI ∆I

G++K

d

++

wPy

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.

RPdef⇔ |wP Sp| < 1 ∀Sp,∀ω (4.33)

⇔ |wP | < |1 + Lp| ∀Lp,∀ω (4.34)

This corresponds to requiring |y/d| < 1 ∀∆I in Figure 43, where we consider

multiplicative uncertainty, and the set of possible loop transfer functions is

Lp = GpK = L(1 + wI∆I) = L + wIL∆I (4.35)

SISO loopshaping control [H04Q7] 4-37

Graphical derivation of RP-condition. (Figure 44)

RP ⇔ |wP | + |wIL| < |1 + L|, ∀ω (4.36)

⇔ |wP (1 + L)−1| + |wIL(1 + L)−1| < 1,∀ω (4.37)

RP ⇔ maxω (|wP S| + |wIT |) < 1 (4.38)

|1 + L(jω)|

|wP (jω)|

−10

L(jω)

|wIL|

Re

Im

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 ⇔ |wIT | < 1,∀ω (4.40)

RP ⇔ |wP S| + |wIT | < 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| + |wIT | ≤ 2 max{|wP S|, |wIT |} < 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| + |wIT | ≥ 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

wT T

]∥∥∥∥∞

= maxω

√|wP S|2 + |wT T |2 < 1 (4.44)

• 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|:

|L| >1 + |wP |1 − |wI |

, (4.45)

at frequencies where |wI | < 1 (low frequencies, tight control), and

|L| <1 − |wP |1 + |wI |

, (4.46)

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:

- -

- -

? - -- -?6

- -

- -

? - - -

?6

-

w2 ∆2

G+

+

d

++ w1

zK

(a)

(b)

K

w2 ∆2

-+

+ G

∆1

w1

++

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 ⇔ |w1S| + |w2T | < 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,∀ω

↔ |w1S| + |w2T | < 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:

K(s)

w

P(s)

z

u y

• 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:

z =

z1

z2

z3

(5.1)

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

Z1(s)

W (s)= N1(s)

Z2(s)

W (s)= N2(s)

Z3(s)

W (s)= N3(s) (5.2)

SISO loopshaping control [H04Q7] 5-5

Introduction

• hinfsyn.m then solves:

minK(s) ‖N(s)‖∞ = minK(s)

∥∥∥∥∥∥∥∥

N1(s)

N2(s)

N3(s)

∥∥∥∥∥∥∥∥∞

(5.3)

which corresponds to:

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:

‖N1(s)‖∞ < 1 ‖N2(s)‖∞ < 1 ‖N3(s)‖∞ < 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:

K(s)

w

W (s)2

-G(s) W (s)1

V(s)

z1

z2z3

W (s)3

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:

K(s)w

-

P

W (s)1V(s)z1

W (s)2

z2z3

W (s)3

G(s)

• 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:

K(s)

w

-

P

W (s)1

V(s)

z1

W (s)2

z2z3

W (s)3

G(s)

• 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

K(s)w

-

P

W (s)3

z3

W (s)1

z1z2

W (s)2

G(s)

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

augw

z1 = W1w − W1Gu = W1(w − Gu)

z2 = W2u

z3 = W3Gu

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

– Don’t 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:

‖H‖∞ =

∥∥∥∥∥∥∥∥

W1S

W2U

W3T

∥∥∥∥∥∥∥∥∞

(5.9)

• 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ω)| ≤ γ

|W1(jω)| , ω ∈ Re

|U(jω)| ≤ γ

|W2(jω)| , ω ∈ Re

|T (jω)| ≤ γ

|W3(jω)| , ω ∈ Re

• 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:

• Definition of the system G(s) = 1s2

– num=1; den=[1 1e-3 1e-6];, pure integration gives numerical

problems in the H∞ synthesis, yielding following poles:

−5.0 10−4 ± 8.66 10−4

– 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=2000ˆ2; den W1=[1/wnˆ2 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/wnˆ2 2*0.7/wn 1];

den W3=[1/200ˆ2 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

10−2

10−1

100

101

102

10−4

10−2

100

102

Frequency [rad/s]

1/|W1|

1/|W2|

1/|W3|

10−2

10−1

100

101

102

100

101

102

103

Frequency [rad/s]

|KS|1/|W

2|

SISO loopshaping control [H04Q7] 5-22

Results

10−2

10−1

100

101

102

10−4

10−2

100

Frequency [rad/s]

|S||T|1/|W

1|

1/|W3|


Recommended