Plan of the Lecture Review: control design using frequency response: - - PowerPoint PPT Presentation

plan of the lecture
SMART_READER_LITE
LIVE PREVIEW

Plan of the Lecture Review: control design using frequency response: - - PowerPoint PPT Presentation

Plan of the Lecture Review: control design using frequency response: PI/lead Todays topic: control design using frequency response: PD/lag, PID/lead+lag Plan of the Lecture Review: control design using frequency response: PI/lead


slide-1
SLIDE 1

Plan of the Lecture

◮ Review: control design using frequency response: PI/lead ◮ Today’s topic: control design using frequency response:

PD/lag, PID/lead+lag

slide-2
SLIDE 2

Plan of the Lecture

◮ Review: control design using frequency response: PI/lead ◮ Today’s topic: control design using frequency response:

PD/lag, PID/lead+lag Goal: understand the effect of various types of controllers (PD/lead, PI/lag) on the closed-loop performance by reading the open-loop Bode plot; develop frequency-response techniques for shaping transient and steady-state response using dynamic compensation

slide-3
SLIDE 3

Plan of the Lecture

◮ Review: control design using frequency response: PI/lead ◮ Today’s topic: control design using frequency response:

PD/lag, PID/lead+lag Goal: understand the effect of various types of controllers (PD/lead, PI/lag) on the closed-loop performance by reading the open-loop Bode plot; develop frequency-response techniques for shaping transient and steady-state response using dynamic compensation Reading: FPE, Chapter 6

slide-4
SLIDE 4

Review: Bode’s Gain-Phase Relationship

G(s) Y

+ −

R K

slide-5
SLIDE 5

Review: Bode’s Gain-Phase Relationship

G(s) Y

+ −

R K

Assuming that G(s) is minimum-phase (i.e., has no RHP zeros), we derived the following for the Bode plot of KG(s):

slide-6
SLIDE 6

Review: Bode’s Gain-Phase Relationship

G(s) Y

+ −

R K

Assuming that G(s) is minimum-phase (i.e., has no RHP zeros), we derived the following for the Bode plot of KG(s): low freq. real zero/pole complex zero/pole

  • mag. slope

n up/down by 1 up/down by 2 phase n × 90◦ up/down by 90◦ up/down by 180◦

slide-7
SLIDE 7

Review: Bode’s Gain-Phase Relationship

G(s) Y

+ −

R K

Assuming that G(s) is minimum-phase (i.e., has no RHP zeros), we derived the following for the Bode plot of KG(s): low freq. real zero/pole complex zero/pole

  • mag. slope

n up/down by 1 up/down by 2 phase n × 90◦ up/down by 90◦ up/down by 180◦ We can state this succinctly as follows: Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦

slide-8
SLIDE 8

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦

slide-9
SLIDE 9

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

slide-10
SLIDE 10

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

slide-11
SLIDE 11

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

slide-12
SLIDE 12

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

⇒ φ(ωc) = −180◦

slide-13
SLIDE 13

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

⇒ φ(ωc) = −180◦ ⇒ bad (no PM)

slide-14
SLIDE 14

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

⇒ φ(ωc) = −180◦ ⇒ bad (no PM)

◮ M has slope −1 at ωc

slide-15
SLIDE 15

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

⇒ φ(ωc) = −180◦ ⇒ bad (no PM)

◮ M has slope −1 at ωc

⇒ φ(ωc) = −90◦

slide-16
SLIDE 16

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

⇒ φ(ωc) = −180◦ ⇒ bad (no PM)

◮ M has slope −1 at ωc

⇒ φ(ωc) = −90◦ ⇒ good (PM = 90◦)

slide-17
SLIDE 17

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

⇒ φ(ωc) = −180◦ ⇒ bad (no PM)

◮ M has slope −1 at ωc

⇒ φ(ωc) = −90◦ ⇒ good (PM = 90◦) — this is an important design guideline!!

slide-18
SLIDE 18

Bode’s Gain-Phase Relationship

Gain-Phase Relationship. Far enough from break-points, Phase ≈ Magnitude Slope × 90◦ This suggests the following rule of thumb:

M = 1 want slope = −1 here

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160.

ωc

◮ M has slope −2 at ωc

⇒ φ(ωc) = −180◦ ⇒ bad (no PM)

◮ M has slope −1 at ωc

⇒ φ(ωc) = −90◦ ⇒ good (PM = 90◦) — this is an important design guideline!! (Similar considerations apply when M-plot has positive slope – depends on the t.f.)

slide-19
SLIDE 19

Control Design Using Frequency Response

G(s) Y

+ −

R K

Bode’s Gain-Phase Relationship suggests that we can shape the time response of the closed-loop system by choosing K (or, more generally, a dynamic controller KD(s)) to tune the Phase Margin.

slide-20
SLIDE 20

Control Design Using Frequency Response

G(s) Y

+ −

R K

Bode’s Gain-Phase Relationship suggests that we can shape the time response of the closed-loop system by choosing K (or, more generally, a dynamic controller KD(s)) to tune the Phase Margin. In particular, from the quantitative Gain-Phase Relationship, Magnitude slope(ωc) = −1 = ⇒ Phase(ωc) ≈ −90◦ — which gives us PM of 90◦ and consequently good damping.

slide-21
SLIDE 21

Lead Controller Design Using Frequency Response

General Procedure

slide-22
SLIDE 22

Lead Controller Design Using Frequency Response

General Procedure

  • 1. Choose K to get desired bandwidth spec w/o lead
slide-23
SLIDE 23

Lead Controller Design Using Frequency Response

General Procedure

  • 1. Choose K to get desired bandwidth spec w/o lead
  • 2. Choose lead zero and pole to get desired PM
slide-24
SLIDE 24

Lead Controller Design Using Frequency Response

General Procedure

  • 1. Choose K to get desired bandwidth spec w/o lead
  • 2. Choose lead zero and pole to get desired PM

◮ in general, we should first check PM with the K from 1,

w/o lead, to see how much more PM we need

slide-25
SLIDE 25

Lead Controller Design Using Frequency Response

General Procedure

  • 1. Choose K to get desired bandwidth spec w/o lead
  • 2. Choose lead zero and pole to get desired PM

◮ in general, we should first check PM with the K from 1,

w/o lead, to see how much more PM we need

  • 3. Check design and iterate until specs are met.
slide-26
SLIDE 26

Lead Controller Design Using Frequency Response

General Procedure

  • 1. Choose K to get desired bandwidth spec w/o lead
  • 2. Choose lead zero and pole to get desired PM

◮ in general, we should first check PM with the K from 1,

w/o lead, to see how much more PM we need

  • 3. Check design and iterate until specs are met.

This is an intuitive procedure, but it’s not very precise, requires trial & error.

slide-27
SLIDE 27

Lag Compensation: Bode Plot

D(s) = s + z s + p = z p

s z + 1 s p + 1,

z ≫ p

slide-28
SLIDE 28

Lag Compensation: Bode Plot

D(s) = s + z s + p = z p

s z + 1 s p + 1,

z ≫ p

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

◮ jω + z

jω + p

ω→∞

− − − → 1 so M → 1 at high frequencies

◮ subtracts phase, hence the

term “phase lag”

slide-29
SLIDE 29

Lag Compensation: Bode Plot

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

slide-30
SLIDE 30

Lag Compensation: Bode Plot

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

◮ jω + z

jω + p

ω→0

− − − → z p

slide-31
SLIDE 31

Lag Compensation: Bode Plot

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

◮ jω + z

jω + p

ω→0

− − − → z p steady-state tracking error: e(∞) = sR(s) 1 + D(s)G(s)

  • s=0
slide-32
SLIDE 32

Lag Compensation: Bode Plot

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

◮ jω + z

jω + p

ω→0

− − − → z p steady-state tracking error: e(∞) = sR(s) 1 + D(s)G(s)

  • s=0

large z/p = ⇒ better s.s. tracking

slide-33
SLIDE 33

Lag Compensation: Bode Plot

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

◮ jω + z

jω + p

ω→0

− − − → z p steady-state tracking error: e(∞) = sR(s) 1 + D(s)G(s)

  • s=0

large z/p = ⇒ better s.s. tracking

◮ lag decreases ωc =

⇒ slows down time response (to compensate, adjust K or add lead)

slide-34
SLIDE 34

Lag Compensation: Bode Plot

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

◮ jω + z

jω + p

ω→0

− − − → z p steady-state tracking error: e(∞) = sR(s) 1 + D(s)G(s)

  • s=0

large z/p = ⇒ better s.s. tracking

◮ lag decreases ωc =

⇒ slows down time response (to compensate, adjust K or add lead)

◮ caution: lead increases PM, but

adding lag can undo this

slide-35
SLIDE 35

Lag Compensation: Bode Plot

0.01 0.1 1 10 0. 5. 10. 15. 20. 25. 0.01 0.1 1 10

  • 60.
  • 50.
  • 40.
  • 30.
  • 20.
  • 10.

slope = 0 slope = -1 slope = 0 0◦ −90◦ z/p 1 z p

◮ jω + z

jω + p

ω→0

− − − → z p steady-state tracking error: e(∞) = sR(s) 1 + D(s)G(s)

  • s=0

large z/p = ⇒ better s.s. tracking

◮ lag decreases ωc =

⇒ slows down time response (to compensate, adjust K or add lead)

◮ caution: lead increases PM, but

adding lag can undo this

◮ to mitigate this, choose both z

and p very small, while maintaining desired ratio z/p

slide-36
SLIDE 36

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

slide-37
SLIDE 37

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:
slide-38
SLIDE 38

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:

◮ PM ≥ 60◦

slide-39
SLIDE 39

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:

◮ PM ≥ 60◦ ◮ e(∞) ≤ 10% for constant reference (closed-loop tracking

error)

slide-40
SLIDE 40

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:

◮ PM ≥ 60◦ ◮ e(∞) ≤ 10% for constant reference (closed-loop tracking

error) Strategy:

slide-41
SLIDE 41

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:

◮ PM ≥ 60◦ ◮ e(∞) ≤ 10% for constant reference (closed-loop tracking

error) Strategy:

◮ we will use lag

KD(s) = K s + z s + p, z ≫ p

slide-42
SLIDE 42

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:

◮ PM ≥ 60◦ ◮ e(∞) ≤ 10% for constant reference (closed-loop tracking

error) Strategy:

◮ we will use lag

KD(s) = K s + z s + p, z ≫ p

◮ z and p will be chosen to get good tracking

slide-43
SLIDE 43

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:

◮ PM ≥ 60◦ ◮ e(∞) ≤ 10% for constant reference (closed-loop tracking

error) Strategy:

◮ we will use lag

KD(s) = K s + z s + p, z ≫ p

◮ z and p will be chosen to get good tracking ◮ PM will be shaped by choosing K

slide-44
SLIDE 44

Example

G(s) = 1 (s + 0.2)(s + 0.5)

Bode form

= 10 s

0.2 + 1

s

0.5 + 1

  • Objectives:

◮ PM ≥ 60◦ ◮ e(∞) ≤ 10% for constant reference (closed-loop tracking

error) Strategy:

◮ we will use lag

KD(s) = K s + z s + p, z ≫ p

◮ z and p will be chosen to get good tracking ◮ PM will be shaped by choosing K ◮ this is different from what we did for lead (used p and z to

shape PM, then chose K to get desired bandwidth spec)

slide-45
SLIDE 45

Step 1: Choose K to Shape PM

Check Bode plot of G(s) to see how much PM it already has:

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

slide-46
SLIDE 46

Step 1: Choose K to Shape PM

Check Bode plot of G(s) to see how much PM it already has:

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1

slide-47
SLIDE 47

Step 1: Choose K to Shape PM

Check Bode plot of G(s) to see how much PM it already has:

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1 ◮ PM ≈ 40◦

slide-48
SLIDE 48

Step 1: Choose K to Shape PM

Check Bode plot of G(s) to see how much PM it already has:

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1 ◮ PM ≈ 40◦ ◮ we want PM = 60◦

slide-49
SLIDE 49

Step 1: Choose K to Shape PM

Check Bode plot of G(s) to see how much PM it already has:

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1 ◮ PM ≈ 40◦ ◮ we want PM = 60◦

φ = −120◦ at ω ≈ 0.573 M = 2.16

slide-50
SLIDE 50

Step 1: Choose K to Shape PM

Check Bode plot of G(s) to see how much PM it already has:

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1 ◮ PM ≈ 40◦ ◮ we want PM = 60◦

φ = −120◦ at ω ≈ 0.573 M = 2.16 — need to decrease K to 1/2.16

slide-51
SLIDE 51

Step 1: Choose K to Shape PM

Check Bode plot of G(s) to see how much PM it already has:

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1 ◮ PM ≈ 40◦ ◮ we want PM = 60◦

φ = −120◦ at ω ≈ 0.573 M = 2.16 — need to decrease K to 1/2.16 A conservative choice (to allow some slack) is K = 1/2.5 = 0.4, gives ωc ≈ 0.52, PM ≈ 65◦

slide-52
SLIDE 52

Step 2: Choose z & p to Shape Tracking Error

So far: KG(s) = 0.4 · 10 s

0.2 + 1

s

0.5 + 1

slide-53
SLIDE 53

Step 2: Choose z & p to Shape Tracking Error

So far: KG(s) = 0.4 · 10 s

0.2 + 1

s

0.5 + 1

  • e(∞) =

1 1 + KG(s)

  • s=0 =

1 1 + 4 = 1 5 = 20% (too high)

slide-54
SLIDE 54

Step 2: Choose z & p to Shape Tracking Error

So far: KG(s) = 0.4 · 10 s

0.2 + 1

s

0.5 + 1

  • e(∞) =

1 1 + KG(s)

  • s=0 =

1 1 + 4 = 1 5 = 20% (too high) To have e(∞) ≤ 10%, need KD(0)G(0) ≥ 9:

slide-55
SLIDE 55

Step 2: Choose z & p to Shape Tracking Error

So far: KG(s) = 0.4 · 10 s

0.2 + 1

s

0.5 + 1

  • e(∞) =

1 1 + KG(s)

  • s=0 =

1 1 + 4 = 1 5 = 20% (too high) To have e(∞) ≤ 10%, need KD(0)G(0) ≥ 9: e(∞) = 1 1 + KD(0)G(0) ≤ 1 1 + 9 = 10%.

slide-56
SLIDE 56

Step 2: Choose z & p to Shape Tracking Error

So far: KG(s) = 0.4 · 10 s

0.2 + 1

s

0.5 + 1

  • e(∞) =

1 1 + KG(s)

  • s=0 =

1 1 + 4 = 1 5 = 20% (too high) To have e(∞) ≤ 10%, need KD(0)G(0) ≥ 9: e(∞) = 1 1 + KD(0)G(0) ≤ 1 1 + 9 = 10%. So, we need D(0) = s + z s + p

  • s=0 = z

p ≥ 9 4 = 2.25 — say, z/p = 2.5

slide-57
SLIDE 57

Step 2: Choose z & p to Shape Tracking Error

So far: KG(s) = 0.4 · 10 s

0.2 + 1

s

0.5 + 1

  • e(∞) =

1 1 + KG(s)

  • s=0 =

1 1 + 4 = 1 5 = 20% (too high) To have e(∞) ≤ 10%, need KD(0)G(0) ≥ 9: e(∞) = 1 1 + KD(0)G(0) ≤ 1 1 + 9 = 10%. So, we need D(0) = s + z s + p

  • s=0 = z

p ≥ 9 4 = 2.25 — say, z/p = 2.5 Not to distort PM and ωc, let’s pick z and p an order of magnitude smaller than ωc ≈ 0.5: z = 0.05, p = 0.02

slide-58
SLIDE 58

Overall Design

Plant: G(s) = 10 s 0.2 + 1 s 0.5 + 1

  • Controller:

KD(s) = 0.4s + 0.05 s + 0.02

0.001 0.01 0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.001 0.01 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

— the design still needs a bit of refinement ...

slide-59
SLIDE 59

Lead & Lag Compensation

Let’s combine the advantages of PD/lead and PI/lag. Back to our example: G(s) = 10 s 0.2 + 1 s 0.5 + 1

  • 0.1

1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1 ◮ PM ≈ 40◦

slide-60
SLIDE 60

Lead & Lag Compensation

Let’s combine the advantages of PD/lead and PI/lag. Back to our example: G(s) = 10 s 0.2 + 1 s 0.5 + 1

  • 0.1

1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

◮ from Matlab, ωc ≈ 1 ◮ PM ≈ 40◦

New objectives:

◮ ωBW ≥ 2 ◮ PM ≥ 60◦ ◮ e(∞) ≤ 1% for const. ref.

slide-61
SLIDE 61

Lead & Lag Compensation

What we got before, with lag only:

◮ Improved PM by adjusting K to decrease ωc. ◮ This gave ωc ≈ 0.5, whereas now we want a larger ωc

(recall: ωBW ∈ [ωc, 2ωc], so ωc = 0.5 is too small) So: we need to reshape the phase curve using lead.

slide-62
SLIDE 62

Lead & Lag Compensation

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

Step 1. Choose K to get ωc ≈ 2 (before lead)

slide-63
SLIDE 63

Lead & Lag Compensation

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

Step 1. Choose K to get ωc ≈ 2 (before lead) Using Matlab, can check:

slide-64
SLIDE 64

Lead & Lag Compensation

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

Step 1. Choose K to get ωc ≈ 2 (before lead) Using Matlab, can check: at ω = 2, M ≈ 0.24 (with K = 1)

slide-65
SLIDE 65

Lead & Lag Compensation

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

Step 1. Choose K to get ωc ≈ 2 (before lead) Using Matlab, can check: at ω = 2, M ≈ 0.24 (with K = 1) — need K = 1 0.24 ≈ 4.1667

slide-66
SLIDE 66

Lead & Lag Compensation

0.1 1

  • 40.
  • 30.
  • 20.
  • 10.

0. 10. 20. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

0.2 0.5 1 1 10 slope = 0 slope = -2 slope = -1 0◦ −140◦

Step 1. Choose K to get ωc ≈ 2 (before lead) Using Matlab, can check: at ω = 2, M ≈ 0.24 (with K = 1) — need K = 1 0.24 ≈ 4.1667 — choose K = 4 (gives ωc slightly < 2, but still ok).

slide-67
SLIDE 67

Lead & Lag Compensation

K = 4

0.1 1

  • 20.
  • 10.

0. 10. 20. 30. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

2 slope = 0 slope = -2 slope = -1 −160◦

Step 2. Decide how much phase lead is needed, and choose zlead and plead

slide-68
SLIDE 68

Lead & Lag Compensation

K = 4

0.1 1

  • 20.
  • 10.

0. 10. 20. 30. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

2 slope = 0 slope = -2 slope = -1 −160◦

Step 2. Decide how much phase lead is needed, and choose zlead and plead Using Matlab, can check:

slide-69
SLIDE 69

Lead & Lag Compensation

K = 4

0.1 1

  • 20.
  • 10.

0. 10. 20. 30. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

2 slope = 0 slope = -2 slope = -1 −160◦

Step 2. Decide how much phase lead is needed, and choose zlead and plead Using Matlab, can check: at ω = 2, φ ≈ −160◦

slide-70
SLIDE 70

Lead & Lag Compensation

K = 4

0.1 1

  • 20.
  • 10.

0. 10. 20. 30. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

2 slope = 0 slope = -2 slope = -1 −160◦

Step 2. Decide how much phase lead is needed, and choose zlead and plead Using Matlab, can check: at ω = 2, φ ≈ −160◦ — so PM = 20◦

slide-71
SLIDE 71

Lead & Lag Compensation

K = 4

0.1 1

  • 20.
  • 10.

0. 10. 20. 30. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

2 slope = 0 slope = -2 slope = -1 −160◦

Step 2. Decide how much phase lead is needed, and choose zlead and plead Using Matlab, can check: at ω = 2, φ ≈ −160◦ — so PM = 20◦ (in fact, choosing K = 4 made things worse: it increased ωc and consequently decreased PM)

slide-72
SLIDE 72

Lead & Lag Compensation

K = 4

0.1 1

  • 20.
  • 10.

0. 10. 20. 30. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

2 slope = 0 slope = -2 slope = -1 −160◦

Step 2. Decide how much phase lead is needed, and choose zlead and plead Using Matlab, can check: at ω = 2, φ ≈ −160◦ — so PM = 20◦ (in fact, choosing K = 4 made things worse: it increased ωc and consequently decreased PM) We need at least 40◦ phase lead!!

slide-73
SLIDE 73

Lead & Lag Compensation

K = 4

0.1 1

  • 20.
  • 10.

0. 10. 20. 30. 0.1 1

  • 175.
  • 150.
  • 125.
  • 100.
  • 75.
  • 50.
  • 25.

2 slope = 0 slope = -2 slope = -1 −160◦

Step 2. Decide how much phase lead is needed, and choose zlead and plead Using Matlab, can check: at ω = 2, φ ≈ −160◦ — so PM = 20◦ (in fact, choosing K = 4 made things worse: it increased ωc and consequently decreased PM) We need at least 40◦ phase lead!! The choice of lead pole/zero must satisfy √zlead · plead ≈ 2 = ⇒ zlead · plead = 4

slide-74
SLIDE 74

Lead & Lag Compensation

Need at least 40◦ phase lead, while satisfying √zlead · plead ≈ 2 = ⇒ zlead · plead = 4

slide-75
SLIDE 75

Lead & Lag Compensation

Need at least 40◦ phase lead, while satisfying √zlead · plead ≈ 2 = ⇒ zlead · plead = 4 Let’s try zlead = 1 and plead = 4 D(s) = s + 1 s 4 + 1

0.1 1 10 5. 10. 15. 20. 25. 30. 35.

2 37◦

slide-76
SLIDE 76

Lead & Lag Compensation

Need at least 40◦ phase lead, while satisfying √zlead · plead ≈ 2 = ⇒ zlead · plead = 4 Let’s try zlead = 1 and plead = 4 D(s) = s + 1 s 4 + 1

0.1 1 10 5. 10. 15. 20. 25. 30. 35.

2 37◦

Phase lead = 37◦ — not enough!!

slide-77
SLIDE 77

Lead & Lag Compensation

Need at least 40◦ phase lead, while satisfying √zlead · plead ≈ 2 = ⇒ zlead · plead = 4

slide-78
SLIDE 78

Lead & Lag Compensation

Need at least 40◦ phase lead, while satisfying √zlead · plead ≈ 2 = ⇒ zlead · plead = 4 The choice of zlead = 1, plead = 4 gave phase lead = 37◦.

slide-79
SLIDE 79

Lead & Lag Compensation

Need at least 40◦ phase lead, while satisfying √zlead · plead ≈ 2 = ⇒ zlead · plead = 4 The choice of zlead = 1, plead = 4 gave phase lead = 37◦. Need to space zlead and plead farther apart:

slide-80
SLIDE 80

Lead & Lag Compensation

Need at least 40◦ phase lead, while satisfying √zlead · plead ≈ 2 = ⇒ zlead · plead = 4 The choice of zlead = 1, plead = 4 gave phase lead = 37◦. Need to space zlead and plead farther apart:

  • zlead = 0.8

plead = 5 = ⇒ phase lead = 46◦

0.1 1 10 100 10. 20. 30. 40.

2 37◦ 46◦

slide-81
SLIDE 81

Lead & Lag Compensation

Step 3. Evaluate steady-state tracking and choose zlag, plag to satisfy specs

slide-82
SLIDE 82

Lead & Lag Compensation

Step 3. Evaluate steady-state tracking and choose zlag, plag to satisfy specs So far: K D(s)

lead

  • nly

G(s) = 4 s 0.8 + 1 s 5 + 1 · 10 s 0.2 + 1 s 0.5 + 1

  • KD(0)G(0) = 40

= ⇒ e(∞) = 1 1 + KD(0)G(0) = 1 1 + 40

slide-83
SLIDE 83

Lead & Lag Compensation

Step 3. Evaluate steady-state tracking and choose zlag, plag to satisfy specs So far: K D(s)

lead

  • nly

G(s) = 4 s 0.8 + 1 s 5 + 1 · 10 s 0.2 + 1 s 0.5 + 1

  • KD(0)G(0) = 40

= ⇒ e(∞) = 1 1 + KD(0)G(0) = 1 1 + 40 — this is not small enough: need 1% = 1 100 = 1 1 + 99

slide-84
SLIDE 84

Lead & Lag Compensation

Step 3. Evaluate steady-state tracking and choose zlag, plag to satisfy specs So far: K D(s)

lead

  • nly

G(s) = 4 s 0.8 + 1 s 5 + 1 · 10 s 0.2 + 1 s 0.5 + 1

  • KD(0)G(0) = 40

= ⇒ e(∞) = 1 1 + KD(0)G(0) = 1 1 + 40 — this is not small enough: need 1% = 1 100 = 1 1 + 99 We want D(0) ≥ 99 40 with lag zlag plag ≈ 2.5 will do

slide-85
SLIDE 85

Lead & Lag Compensation

Need to choose lag pole/zero that are sufficiently small (not to distort the phase lead too much) and satisfy zlag plag ≈ 2.5.

slide-86
SLIDE 86

Lead & Lag Compensation

Need to choose lag pole/zero that are sufficiently small (not to distort the phase lead too much) and satisfy zlag plag ≈ 2.5. We can stick with our previous design: zlag = 0.05, plag = 0.02

slide-87
SLIDE 87

Lead & Lag Compensation

Need to choose lag pole/zero that are sufficiently small (not to distort the phase lead too much) and satisfy zlag plag ≈ 2.5. We can stick with our previous design: zlag = 0.05, plag = 0.02 Overall controller: 4 s 0.8 + 1 s 5 + 1

  • lead (with

gain K = 4 absorbed)

· s + 0.05 s + 0.02

  • lag (not in

Bode form)

(Note: we don’t rewrite lag in Bode form, because zlag/plag is not incorporated into K.)

slide-88
SLIDE 88

Frequency Domain Design Method: Advantages

Design based on Bode plots is good for:

slide-89
SLIDE 89

Frequency Domain Design Method: Advantages

Design based on Bode plots is good for:

◮ easily visualizing the concepts

slide-90
SLIDE 90

Frequency Domain Design Method: Advantages

Design based on Bode plots is good for:

◮ easily visualizing the concepts

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160. 0.001 0.01 0.1 1 10

  • 180.
  • 160.
  • 140.
  • 120.
  • 100.

want this low for noise suppression want this high for s.s. tracking ωc PM −180◦ 1 want this large for stability and good damping

slide-91
SLIDE 91

Frequency Domain Design Method: Advantages

Design based on Bode plots is good for:

◮ easily visualizing the concepts

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160. 0.001 0.01 0.1 1 10

  • 180.
  • 160.
  • 140.
  • 120.
  • 100.

want this low for noise suppression want this high for s.s. tracking ωc PM −180◦ 1 want this large for stability and good damping

◮ evaluating the design and seeing which way to change it

slide-92
SLIDE 92

Frequency Domain Design Method: Advantages

Design based on Bode plots is good for:

◮ easily visualizing the concepts

0.001 0.01 0.1 1 10 40. 60. 80. 100. 120. 140. 160. 0.001 0.01 0.1 1 10

  • 180.
  • 160.
  • 140.
  • 120.
  • 100.

want this low for noise suppression want this high for s.s. tracking ωc PM −180◦ 1 want this large for stability and good damping

◮ evaluating the design and seeing which way to change it ◮ using experimental data (frequency response of the

uncontrolled system can be measured experimentally)

slide-93
SLIDE 93

Frequency Domain Design Method: Disadvantages

Design based on Bode plots is not good for:

slide-94
SLIDE 94

Frequency Domain Design Method: Disadvantages

Design based on Bode plots is not good for:

◮ exact closed-loop pole placement (root locus is more

suitable for that)

slide-95
SLIDE 95

Frequency Domain Design Method: Disadvantages

Design based on Bode plots is not good for:

◮ exact closed-loop pole placement (root locus is more

suitable for that)

◮ deciding if a given K is stabilizing or not ...

slide-96
SLIDE 96

Frequency Domain Design Method: Disadvantages

Design based on Bode plots is not good for:

◮ exact closed-loop pole placement (root locus is more

suitable for that)

◮ deciding if a given K is stabilizing or not ...

◮ we can only measure how far we are from instability (using

GM or PM), if we know that we are stable

slide-97
SLIDE 97

Frequency Domain Design Method: Disadvantages

Design based on Bode plots is not good for:

◮ exact closed-loop pole placement (root locus is more

suitable for that)

◮ deciding if a given K is stabilizing or not ...

◮ we can only measure how far we are from instability (using

GM or PM), if we know that we are stable

◮ however, we don’t have a way of checking whether a given

K is stabilizing from frequency response data

slide-98
SLIDE 98

Frequency Domain Design Method: Disadvantages

Design based on Bode plots is not good for:

◮ exact closed-loop pole placement (root locus is more

suitable for that)

◮ deciding if a given K is stabilizing or not ...

◮ we can only measure how far we are from instability (using

GM or PM), if we know that we are stable

◮ however, we don’t have a way of checking whether a given

K is stabilizing from frequency response data

What we want is a frequency-domain substitute for the Routh–Hurwitz criterion — this is the Nyquist criterion, which we will discuss in the next lecture.