Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change...

57
Robust Control 2018 Richard Pates and Bo Bernhardsson Department of Automatic Control LTH, Lund University Richard Pates and Bo Bernhardsson Robust Control 2018

Transcript of Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change...

Page 1: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robust Control 2018

Richard Pates and Bo Bernhardsson

Department of Automatic Control LTH,

Lund University

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 2: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robust Control, 9hp

7 Lectures, 7 exercises

Examination: Exercises + Handins + Exam

Book: Essentials of Robust Control, Zhou/Doyle

Tools: Matlab (a Julia-initiative is encouraged)

Schedule: See home page, details TBD now

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 3: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Contents

Lecture 1, [Zhou 2-4 (parts)]

Motivation, scalar systems, some stuff we already know, what happens with

MIMO? LQG lack of robustness. Some highlights from the course.

Lecture 2, [Zhou 5-6]

Robust performance specifications, intuition behind normalized coprime

factorisation,...

Lecture 3, [Zhou 8-9]

Small gain, Moebius, chain scattering

Lecture 4, [Zhou 16-17]

Hinf loopshaping + gap metric, nonlinear, controller realization for tracking

Lecture 5, [Zhou 10]

Structured uncertainty, overview of mu, QFT design

Lecture 6, [Zhou 12, 14(parts)+ Dullerud]

Hinf math, interpretations, Riccati galore

Lecture 7, [handouts]

New stuff. Robustness in networks, gain scheduling, adaptivity, dual control

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 4: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Lecture 1 - today

Self-study, exercises, handins, challenges

Robustness for scalar systems, GangOfFour

Robustness for MIMO systems, singular values?

Why H∞ control ?

How define ’closeness’ of systems? The Vinnicombe metric

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 5: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robust Control - Introduction

Process dynamics may change

Feedback can deal with process variations

How to characterize uncertainty

Parameter variations, more general variations, unmodeled

dynamics

Additive ∆, multiplicative δ and feedback uncertainty ∆fb

P Σ

P Σ

δ

∆fb

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 6: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Non-robustness - reality strikes back

A wise man has said (and many agree with me):

”You often pay for lack of understanding in your control system design

by non-robustness.”

Unmodeled dynamics, too simplistic models, too aggressive control

design, too high bandwidth, badly formulated optimization criterion,

variations in parameters, lack of understanding of fundamental

performance limitations . . .

Let’s do PI control of a first order system together:

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 7: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Example - PI control of 1st order system

Normalizing input, output and time variables let’s assume

P (s) =1

s + 1

Assume the pole at −1 actually corresponds here to fast dynamics in

a measurement sensor.

Advice from expert:

”For this process you shouldn’t aim to achieve a closed loop bandwidth

as fast as the sensor dynamics, that would probably give large control

signals and non-robustness. Aim a decade lower. It’s good that you

modeled the sensor dynamics. Try PI control and pole placement.”

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 8: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Example - PI control of 1st order system

Let’s follow the advice

P (s) =1

s + 1, C(s) = kp +

ki

s

Pole-placement design

(s + 1)(kps + ki) = s2 + 2ζ0ω0s + ω20

We get

kp = 2ζ0ω0 − 1

ki = ω20

We expect a closed loop time bandwidth of 1/10th of the sensor

bandwidth to be realistic.

Therefore we guess ω0 = 0.1, ζ0 = 0.5. But let’s evaluate different ω0

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 9: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Result - Rise time vs ω0

0 2 4 6 8 100

10

20

30

40

50

60

70

80

90

100

omega0

riset

ime

0 2 4 6 8 100

1

2

3

4

5

6

ω0

inpu

t loa

d di

stur

banc

e pe

ak

Trade-off looks as expected.

Let’s check the control signal size also.

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 10: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Step Response - input signal size

0 2 4 6 8 101

2

3

4

5

6

7

8

9

10

omega0

cont

rol s

igna

l pea

k

Hmm, the behavior when ω0 is small is rather unexpected.

Let’s check the Nyquist diagram for ω0 = 0.1 and do some simulations

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 11: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Nyquist Diagram ω0=0.1

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0 20 40 60 80 100-8

-6

-4

-2

0

2

4

6

8

10

step response with G=1.1/(s+1), omega0=[0.1 0.3 1 3 10]

The design with ω0 = 0.1 has terrible robustness. The system

becomes unstable with ∼ 10 % gain change

Reasonable design choices, but result is practically useless!

Was any of the expert advice bad? Choice of PI? The pole-placement?

(Handin 1a, explain and make a better design)

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 12: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

The Gangs of Four and Seven

F C P

−1

ΣΣΣr e u

d

x

n

y

X =P

1 + PCD −

PC

1 + PCN +

PCF

1 + PCR

Y =P

1 + PCD +

1

1 + PCN +

PCF

1 + PCR

E = −P

1 + PCD −

1

1 + PCN +

F

1 + PCR

U = −PC

1 + PCD −

C

1 + PCN +

CF

1 + PCR

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 13: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Gain Curves of the Gang of Four

10-1

100

101

102

103

10-2

10-1

100

S

10-1

100

101

102

103

10-2

10-1

100

PS

10-1

100

101

102

103

10-2

10-1

100

101

CS

10-1

100

101

102

103

10-2

10-1

100

T

Gain curves of the Gang of Four for a heat conduction process with I (dash-dotted), PI

(dashed) and PID (full) controllers.

One plot gives a good overview of performance and robustness!

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 14: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Analysis of Small Process Variations

T =PC

1 + PC,

dT

T=

1

1 + PC

dP

P= S

dP

P

S =1

1 + PC,

dS

S=

−PC

1 + PC

dP

P= −T

dP

P

Gyd =P

1 + PC,

dGyd

Gyd

= SdP

P

Gun =C

1 + PC,

dGun

Gun= −T

dP

P

Recall properties of S and T

S + T = 1

S small at low frequencies S ≈ 1 at high frequencies

T small at high frequencies T ≈ 1 at low frequencies

Ms = maxω

|S(iω)|, Mt = maxω

|T (iω)|

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 15: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Ms - better than gain and phase margins

Gain margin

gm ≥Ms

Ms − 1

Phase margin

ϕm ≥ 2 arcsin1

2Ms

1/Ms ωms

ωs

−1

Constraints on both gain and phase margins can be replaced by

constraints on Ms.

Ms = 2 guarantees gm ≥ 2 and ϕm ≥ 30◦

Ms = 1.6 guarantees gm ≥ 2.7 and ϕm ≥ 36◦

Ms = 1.4 guarantees gm ≥ 3.5 and ϕm ≥ 42◦

Ms = 1 guarantees gm = ∞ and ϕm ≥ 60◦

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 16: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robustness margin, SISO case

1 + P C

A

B

C∆P

−1

Re PC

Im PC

Stability for P + ∆P guaranteed if∣∣∣∆P

P

∣∣∣ <

∣∣∣1 + PC

PC

∣∣∣ =

1

|T |

Robustness problems when T is large, Mt = max |T (iω)|

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 17: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robustness margin - multiplicative uncertainty

A feedback system where the process has multiplicative uncertainty,

i.e. P (1 + δ), where δ is the relative error, can be represented with the

following block diagrams

P

−C

Σ

δ δ

P C

1+P C

The small gain theorem gives the stability condition

|δ| <∣∣∣1 + PC

PC

∣∣∣ =

1

|T |

Same result as obtained before!

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 18: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

How about robustness for MIMO systems?

Spoiler alert: We’ll start with a failed approach (MIMO Nyquist)

There is a generalization of the Nyquist theorem to the MIMO case

G(s) = W (s)Λ(s)W −1(s)

Characteristic loci: λi(s) := eigenvalues of G(s)

Theorem [MIMO Nyquist]: If G(s) has Po unstable poles, then the

closed loop system with return ratio −kG(s) is stable if the

characteristic loci of kG(s) encircle the point -1 Po times

anticlockwise.

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 19: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Why not use characteristic loci ?

G(s) can have well behaved char. loci with great apparent stability

margins to −1, but the loop can still be quite non-robust

What was finally agreed upon by control researchers:

Performance and robustness is best understood by using

singular values σi(G) instead of eigenvalues λi(G)

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 20: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

MIMO example - why use singular values

Plant model [Distillation column - Skogestad]

P (s) =1

50s + 1

(

0.878 −0.8641.082 −1.096

)

Choose C(s) = 1sP (s)−1 (dynamic decoupling), gives

Loop gain PC = 1sI

Closed-loop : T (s) = PC(I + PC)−1 = 1s+1I

Nice decoupled first order responses with time constant 1.

MIMO Nyquist diagram looks fine.

But non-robust...

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 21: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Example -continued

In reality: 20 percent input uncertainty (e.g. valve variations)

True control signal is ui,p = (1 + δi)ui with |δi| < 0.2

Pδ =1

50s + 1

(

0.878 −0.8641.082 −1.096

)(

1.2 00 0.8

)

Using same controller as before gives

PδC =1

s

(

14.83 −11.0617.29 −12.83

)

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 22: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Example -closed loop step responses

To:

Out

(1)

-4

-2

0

2

4

6From: In(1)

0 5 10

To:

Out

(2)

-4

-2

0

2

4

6

8

From: In(2)

0 5 10

modeltrue system

Step Response

Time (seconds)

Am

plitu

de

PC =1

s

(

1 00 1

)

, versus PδC =1

s

(

14.83 −11.0617.29 −12.83

)

With P : No interactions, nice step responses

With Pδ: Large interaction, 500 percent overshoot in step responses

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 23: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Example -continued

The design is extremly sensitive to uncertainty on the inputs

But not to uncertainty on the outputs (easy to check)

Several indications of a directionality problem:

RGA(P ) =

(

35 −34−34 35

)

cond(P ) :=σ(P )

σ(P )= 142

How do we analyse performance and robustness for MIMO systems ?

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 24: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Failure of LQG to guarantee robustness

In the 70s there were great hopes to soon find THE robust control

design method

For LQ design one automagically always got great robustness

guarantees

Ms ≤ 1

Disturbance rejection performance improved for all frequencies

Gain Margin [1/2, ∞], Phase Margin ≥ 60 degrees.

Circle criterion: Stability under feedback with any nonlinear

time-varying input gain with slopes in (1/2, ∞).

(Requirements: No cross-terms, Q12 = 0. All states measurable.)

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 25: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robustness of LQG

Kalman filter producing x̂ has similar (dual) robustness properties

Since the LQG controller combines two robust parts: LQ control and

Kalman filtering, it was for a long time hoped that general robustness

guarantees for the LQG controller would soon be found

But, output feedback u = −Lx̂ was surprisingly (?) found to have no

automatic guarantees for robustness

This was a dissappointment, especially for people hoping to automize

design

Turned attention towards robust control, e.g. H∞ in the 80s

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 26: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 27: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robust stability vs robust performance

(Output) sensitivity function

S := (I + PC)−1

Nominal stability(NS): S stable

Nominal performance(NP): σ(S) ≤ 1/|Wp|, where Wp(s) weight

Robust stability(RS): Sδ := (I + PδC)−1 stable, ∀Pδ ∈ P

Robust performance(RP): σ(Sδ) ≤ 1/|Wp|, ∀Pδ ∈ P

For SISO systems NP + RS ⇒ RP (more or less, will show later)

For MIMO systems NP + RS ; RP

Multiviariable effects make simple analysis dangerous

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 28: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robust Performance - SISO case

❢ WS✲❄✲ ✲(1 + ∆WT )P✲C✲ ✲

✻−

we

Want ‖WsS‖ < 1 for system with multiplicative uncertainty

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 29: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robust Performance - SISO case

Nominal Performance ⇔ ‖WSS‖∞ ≤ 1

Robust Stability ⇔ ‖WT T ‖∞ ≤ 1

From figure:

Robust Performance ⇔ |WS | + |WT L| ≤ |1 + L|, ∀s = iω

⇔ |WSS| + |WT T | ≤ 1, ∀s = iω

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 30: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Robust Performance - SISO case

Robust Performance

‖Tew‖∞ < 1 for all ‖∆‖ ≤ 1

is hence equivalent to the condition

maxω

|WSS|

︸ ︷︷ ︸

nominal performance

+ |WT T |︸ ︷︷ ︸

robust stability

< 1

RP almost guaranteed when we have NP + RS

NP + RS ⇒ RP/2

Explains why RP is not a big issue for SISO systems

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 31: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Highlight 1: H∞ control

P

C

✲ ✲

✲w z

u yP =

P11 P12

P21 P22

Tzw = P11+P12C(I−P22C)−1P21

Optimal control:

minC−stab

‖Tzw‖∞

Suboptimal control: Given γ find stabilizing C such that

‖Tzw‖∞ < γ ⇐⇒ ‖z‖2 < γ‖w‖2, ∀w

The optimal control problem is solved by iterating on γ

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 32: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

The H∞ norm = Induced L2 norm

The H∞ norm of a stable function G(s) is given by

‖G‖∞ = sup‖u‖2≤1

‖Gu‖2 = supω

‖G(jω)‖ = supω

σ(G(jω))

For unstable G(s) the norm is defined as +∞

Notation:

G ∈ RHp×m∞ means G(s) rational of size p × m with finite H∞ norm

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 33: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

The H∞ norm = Induced L2 norm

The H∞ norm of a stable function G(s) is given by

‖G‖∞ = sup‖u‖2≤1

‖Gu‖2 = supω

‖G(jω)‖ = supω

σ(G(jω))

For unstable G(s) the norm is defined as +∞

Notation:

G ∈ RHp×m∞ means G(s) rational of size p × m with finite H∞ norm

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 34: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Singular value plot for 2 × 2 system

Singular Values

Frequency (rad/sec)

Singu

lar Va

lues (

abs)

100

101

102

10-2

10-1

100

101

102

G(s) =

10(s+1)s2+0.2s+100

1s+1

s+2s2+0.1s+10

5(s+1)(s+2)(s+3)

The Matlab command norm(G,’inf’) uses bisection together with

the theorem above to get ‖G‖∞ = 50.25. Frequency sweep with 400

frequency points gives only the maximal value 43.53.

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 35: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

MIMO Performance

In the MIMO case the order of matrices matters

Li = CP,Si = (I + Li)

−1,Ti = I − Si,

Lo = PC,So = (I + Lo)−1,To = I − So.

TAT: Which of the following matrices are the same?

PC(I + PC)−1, C(I + PC)−1P, (I + PC)−1PC

(I + CP )−1CP, P (I + PC)−1C, CP (I + CP )−1

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 36: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Highlight 2: When are Two Systems Close ?

For stable systems

δ(P1, P2) = maxω

|P1(iω) − P2(iω)|

as a measure of of closeness of two processes.

Is this a good measure?

Are there other alternatives?

A long story

Gap metric (Zames)

Graph metric coprime factorization (Vidyasagar) G = N/DVinnicombe’s metric

GOF performance metric

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 37: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

When are Two Systems Close?

0 1 2 3 4 50

50

100Open loop

t

y

0 0.1 0.2 0.3 0.4 0.5-1

0

1

2

3Closed loop

t

y

0 0.5 1 1.5 20

100

200

300

400

500Open loop

t

y

0 0.02 0.04 0.06 0.08 0.10

0.5

1

Closed loop

ty

Comparing step responses can be misleading!

Frequency responses are better

Better to compare closed loop responses

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 38: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Similar Open Loop Different Closed Loop

0 1 2 3 4 50

50

100Open loop

t

y

0 0.1 0.2 0.3 0.4 0.5-1

0

1

2

3Closed loop

t

y

P1(s) =100

s + 1, P2(s) =

100

(s + 1)(1 + 0.025s)2

Complementary sensitivity functions with unit feedback C = 1

T1 =100

s + 101, T2 =

1.616e5

(s + 83.9)(s2 − 2.90s + 1926s + 1926)

Very different closed loop systemsRichard Pates and Bo Bernhardsson Robust Control 2018

Page 39: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Different Open Loop Similar Closed Loop

0 0.5 1 1.5 20

100

200

300

400

500Open loop

ty

0 0.02 0.04 0.06 0.08 0.10

0.5

1

Closed loop

t

y

Systems and complementary sensitivity functions

P1(s) =100

s + 1, T1(s) =

100

s + 101, P2(s) =

100

s − 1, T2(s) =

100

s + 99

Closed loop systems are very similar

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 40: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

ν-Gap Metric [Vinnicombe]

For the SISO case

δν(P1, P2) = supω∈R

|P1(jω) − P2(jω)|√

1 + |P1(jω)|2√

1 + |P2(jω)|2

(+ some ”winding number constraint”).

Geometrical interpretation: Distance on the Riemann sphere

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 41: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Geometric Interpretation

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 42: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Feedback Interpretation

Consider systems with the transfer functions P1 and P2. Compare the

complementary sensitivity functions for the closed loop systems

obtained with a controller C that stabilizes both systems.

δ(P1, P2) =∣∣∣

P1C

1 + P1C−

P2C

1 + P2C

∣∣∣ =

∣∣∣

(P1 − P2)C

(1 + P1C)(1 + P2C)

∣∣∣

We have

δ(P1, P2) ≤ Ms1Ms2|(P1 − P2)C|

Vinnicombe’s metric corresponds to C = 1, i.e. unit feedback.

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 43: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

❢ ❢

❢ C P✲ ✲ ✲ ✲ ✲❄

✻✲ ❄

r

u upd

n

ydi

y = To(r − n) + SoPdi + Sod,

r − y = So(r − d) + Ton − SoPdi,

u = CSo(r − n) − CSod − Tidi,

up = CSo(r − n) − CSod + Sidi

1) Good disturbance rejection ”in all directions” if

σ(Lo) >> 1, σ(C) sufficiently large

2) Good robustness and good sensor noise rejection if

σ(Lo) << 1, σ(Li) << 1, σ(C) sufficiently small.

Require 1) at low-frequency and 2) at high frequency

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 44: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

MIMO Loop-Shaping Design

A good performance controller design typically requires

large gain in the low frequency region:

σ(PC) >> 1, σ(CP ) >> 1, σ(C) >> 1.

small gain in the high frequency region:

σ(PC) << 1, σ(CP ) << 1, σ(C) ≤ M

where M is not too large.

Wouldn’t it be nice to be able to do loopshaping worrying only about

the gains and not care about phase and stability ?

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 45: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

MIMO requirements

Example: Weighted (output) sensitivity requirement

‖W1(iω)So(iω)W2(iω)‖ ≤ 1, ∀ω

Often W1(s), W2(s) are chosen as rational functions without rhp poles

or zeros

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 46: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Matlab - General H∞ design

[K,CL,GAM,INFO] = hinfsyn(P,NMEAS,NCON)

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 47: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Matlab - mixsyn

[K,CL,GAM,INFO]=mixsyn(G,W1,W2,W3) or

mixsyn H-infinity mixed-sensitivity synthesis method for

robust control design. Controller K stabilizes plant G

and minimizes the H-infinity cost function

|| W1*S ||

|| W2*K*S ||

|| W3*T ||Hinf

where

S := inv(I+G*K) % sensitivity

T := I-S = G*K/(I+G*K) % complementary sensitivity

W1, W2 and W3 are stable LTI ’weights’

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 48: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Example - mixsyn

Minimizes H∞ norm of

W1(I + GK)−1

W2K(I + GK)−1

W3GK(I + GK)−1

[C,CL,GAM,INFO] = mixsyn(G,W1,W2,W3)

G = (s-1)/(s+1)^2;

W1 = 5*(s+2)/(100*s+1);

W2 = 0.1;

[K,CL,GAM] = mixsyn(G,W1,W2,[]);

L = G*K;

S = inv(1+L);

T = 1-S;

sigma(S,’g’,T,’r’,GAM/W1,’g-.’,GAM*G/ss(W2),’r-.’)

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 49: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Result

10-4 10-2 100 102 10410-5

10-4

10-3

10-2

10-1

100

101

STGAM/W1GAM*G/ss(W2)

Singular Values

Frequency (rad/s)

Sin

gula

r V

alue

s (a

bs)

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 50: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

The GOF matrix

❡ P

C ✛

✲✲

❄ ❄❡

d n

y

u

[

yu

]

=

[

IC

]

(I + PC)−1[

I P][

nd

]

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 51: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Norm of GOF matrix

❡ P

C ✛

✲✲

❄ ❄❡

d n

y

u

What is captured by the norm of the GOF matrix?

∥∥∥∥∥

[

IC

]

(I + PC)−1[

I P]∥∥∥∥∥

?

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 52: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

GOF Stability Margin, bP,C

Stability margin against ”normalised coprime perturbations”

(we will learn what this is in the course)

bP,C =

∥∥∥∥∥

[

I

C

]

(I + PC)−1[

I P]∥∥∥∥∥

−1

if C stabilizes P

0 otherwise

The larger bP,C ∈ [0, 1] is, the more robustly stable the closed loop

system is.

Remark: Note that bP,C depends on scalings of inputs and outputs.

Good fit with Vinnicombe’s metric:

Theorem Assume (P1, C) is stable, then

δν(P1, P2) < bP1,C =⇒ (P2, C) is also stable.

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 53: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Matlab - loopsyn

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 54: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Hihglight 3: Glover McFarlane Loopshaping

❞ PW1 W2

K∞

❄❄ ✲✲

✛ ✛

ds ns

ys

us

100

101

-70

-60

-50

-40

-30

-20

-10

0

10

20

w0 w1

W2(iω)P (iω)W1(iω)

Disturbance rejection

Measurement errorsMagnitude

Frequency

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 55: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

P

K∞

W1

W2

1) Choose W1 and W2 and absorb them into the nominal plant P to

get the shaped plant Ps = W2PW1.

2) Calculate bopt(Ps). If it is small (< 0.25) then return to Step 1 and

adjust weights.

3) Select ǫ ≤ bopt(Ps) and design the controller K∞ such that

∥∥∥∥∥

[

IK∞

]

(I + PsK∞)−1M̃−1s

∥∥∥∥∥

<1

ǫ.

4) The final controller is K = W1K∞W2.

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 56: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

Other Highlights

The game theory interpretation of H∞ control

and the connection to risk-aversive control

QFT design

Some recent research results

...

Richard Pates and Bo Bernhardsson Robust Control 2018

Page 57: Robust Control 2018 Control/lec1...Robust Control - Introduction Process dynamics may change Feedback can deal with process variations How to characterize uncertainty Parameter variations,

What now?

Self-study material - see home page

Exercise 1

Handin 1

Richard Pates and Bo Bernhardsson Robust Control 2018