57
2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control Anuradha Annaswamy [email protected] October 23, 2019 ( [email protected]) October 23, 2019 1 / 16

2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

  • Upload
    others

  • View
    12

  • Download
    3

Embed Size (px)

Citation preview

Page 1: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

2.153 Adaptive ControlFall 2019

Lecture 14: Adaptive PID Control

Anuradha Annaswamy

[email protected]

October 23, 2019

( [email protected]) October 23, 2019 1 / 16

Page 2: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

Gc(s)1

s(Js + B)+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

sτ = kpe(t) + ki

∫e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 3: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

Gc(s)1

s(Js + B)+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

s

τ = kpe(t) + ki∫

e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 4: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

Gc(s)1

s(Js + B)+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

sτ = kpe(t) + ki

∫e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 5: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

AdaptiveController

1s(Js + B)

+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

sτ = kpe(t) + ki

∫e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 6: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

AdaptiveController

1s(Js + B)

+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

sτ = kpe(t) + ki

∫e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 7: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

AdaptiveController

1s(Js + B)

+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

sτ = kpe(t) + ki

∫e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 8: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

AdaptiveController

1s(Js + B)

+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

sτ = kpe(t) + ki

∫e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 9: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Control of a Second-order Plant

AdaptiveController

1s(Js + B)

+ e τ x

Plant: Jx + Bx = τ J > 0

PI Control: Gc(s) = kp +ki

sτ = kpe(t) + ki

∫e(τ)dτ

Adaptive PI Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ

PID Control: Gc(s) = kp + kds + kis

τ = kpe(t) + ki∫

e(τ)dτ + kddedt

Adaptive PID Control: τ = kp(t)e(t) + ki(t)∫

e(τ)dτ + kd(t)e(t)

J and B are unknown. Adjust kp(t), ki(t) and kd(t) so that theclosed-loop system is stable and limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 2 / 16

Page 10: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID -Control: Algebraic Part

NominalController

1s(Js+B)

r + er τ x

Gc(s) = kp +ki

s+ kds

Parameterize kd = K, kp = 2λK > 0, ki = λ2K > 0

Closed-loop transfer function:K(s + λ)2

s2(Js + B) + K(s + λ)2

=K(s + λ)2

Js3 + s2(B + K) + 2Kλ2s + Kλ

Stable if0 < K <

Jλ2− B.

Design the controller so that x→ xd

( [email protected]) October 23, 2019 3 / 16

Page 11: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID -Control: Algebraic Part

NominalController

1s(Js+B)

r + er τ x

Gc(s) = kp +ki

s+ kds Parameterize kd = K, kp = 2λK > 0, ki = λ2K > 0

Closed-loop transfer function:K(s + λ)2

s2(Js + B) + K(s + λ)2

=K(s + λ)2

Js3 + s2(B + K) + 2Kλ2s + Kλ

Stable if0 < K <

Jλ2− B.

Design the controller so that x→ xd

( [email protected]) October 23, 2019 3 / 16

Page 12: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID -Control: Algebraic Part

NominalController

1s(Js+B)

r + er τ x

Gc(s) = kp +ki

s+ kds Parameterize kd = K, kp = 2λK > 0, ki = λ2K > 0

Closed-loop transfer function:K(s + λ)2

s2(Js + B) + K(s + λ)2

=K(s + λ)2

Js3 + s2(B + K) + 2Kλ2s + Kλ

Stable if0 < K <

Jλ2− B.

Design the controller so that x→ xd

( [email protected]) October 23, 2019 3 / 16

Page 13: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID -Control: Algebraic Part

NominalController

1s(Js+B)

r + er τ x

Gc(s) = kp +ki

s+ kds Parameterize kd = K, kp = 2λK > 0, ki = λ2K > 0

Closed-loop transfer function:K(s + λ)2

s2(Js + B) + K(s + λ)2

=K(s + λ)2

Js3 + s2(B + K) + 2Kλ2s + Kλ

Stable if0 < K <

Jλ2− B.

Design the controller so that x→ xd

( [email protected]) October 23, 2019 3 / 16

Page 14: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

Gc(s)1

s(Js + B)r + er τ x

Wcl(s)

Wcl(s) =Gc(s)

s(Js + B) + Gc(s)

W−1cl (s) = 1 + s(Js + B)G−1

cl (s)

r = W−1cl (s)[xd]

= xd +(

s(Js + B)G−1cl (s)

)[xd]

= xd + (s(Js + B)) [ωd] = xd + Bωd + Jωd

( [email protected]) October 23, 2019 4 / 16

Page 15: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

Gc(s)1

s(Js + B)r + er τ x

Wcl(s)

Wcl(s) =Gc(s)

s(Js + B) + Gc(s)

W−1cl (s) = 1 + s(Js + B)G−1

cl (s)

r = W−1cl (s)[xd]

= xd +(

s(Js + B)G−1cl (s)

)[xd]

= xd + (s(Js + B)) [ωd] = xd + Bωd + Jωd

( [email protected]) October 23, 2019 4 / 16

Page 16: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

W−1cl (s) Gc(s)

1s(Js+B)

τxd r + er x

Wcl(s)

Wcl(s) =Gc(s)

s(Js + B) + Gc(s)

W−1cl (s) = 1 + s(Js + B)G−1

cl (s)

r = W−1cl (s)[xd]

= xd +(

s(Js + B)G−1cl (s)

)[xd]

= xd + (s(Js + B)) [ωd] = xd + Bωd + Jωd

( [email protected]) October 23, 2019 4 / 16

Page 17: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

W−1cl (s) Gc(s)

1s(Js+B)

τxd r + er x

Wcl(s)

Wcl(s) =Gc(s)

s(Js + B) + Gc(s)

W−1cl (s) = 1 + s(Js + B)G−1

cl (s)

r = W−1cl (s)[xd]

= xd +(

s(Js + B)G−1cl (s)

)[xd]

= xd + (s(Js + B)) [ωd] = xd + Bωd + Jωd

( [email protected]) October 23, 2019 4 / 16

Page 18: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

W−1cl (s) Gc(s)

1s(Js+B)

τxd r + er x

Wcl(s)

Wcl(s) =Gc(s)

s(Js + B) + Gc(s)

W−1cl (s) = 1 + s(Js + B)G−1

cl (s)

r = W−1cl (s)[xd]

= xd +(

s(Js + B)G−1cl (s)

)[xd]

= xd + (s(Js + B)) [ωd]

= xd + Bωd + Jωd

( [email protected]) October 23, 2019 4 / 16

Page 19: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

W−1cl (s) Gc(s)

1s(Js+B)

τxd r + er x

Wcl(s)

Wcl(s) =Gc(s)

s(Js + B) + Gc(s)

W−1cl (s) = 1 + s(Js + B)G−1

cl (s)

r = W−1cl (s)[xd]

= xd +(

s(Js + B)G−1cl (s)

)[xd]

= xd + (s(Js + B)) [ωd] = xd + Bωd + Jωd

( [email protected]) October 23, 2019 4 / 16

Page 20: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

Using r = Jωd + Bωd + xd the block diagram can be represented as

J

B Gc(s)1

s(Js+B)

ωd

ωd

xd

+

++ r + er τ x

which can then be simplified to

Gc(s)

B

J

1s(Js+B)

Plantxd +

xd

xd

+e + τ x

( [email protected]) October 23, 2019 5 / 16

Page 21: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking

Using r = Jωd + Bωd + xd the block diagram can be represented as

J

B Gc(s)1

s(Js+B)

ωd

ωd

xd

+

++ r + er τ x

which can then be simplified to

Gc(s)

B

J

1s(Js+B)

Plantxd +

xd

xd

+e + τ x

( [email protected]) October 23, 2019 5 / 16

Page 22: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - RevisedDesign

Gc(s)

B

J

1s(Js+B)

Plantxd +

xd

xd

+e + τ x

Move B from feedforward - to feedback

( [email protected]) October 23, 2019 6 / 16

Page 23: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - RevisedDesign

J

Gc(s)

Controller1

s(Js+B)

Plant

B

xd +

xd

+e + τ

x

+

x

Move B from feedforward - to feedback

( [email protected]) October 23, 2019 6 / 16

Page 24: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - RevisedDesign

Gc(s)1

s(Js + B)

B

r + er + τ

x

+

x

Reparameterize to accommodate J:

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s

Wcl(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

Js3 + (K + 2λJ)s2 + (2λK + λ2J)s + λ2K

Always stable, for any J and B.

( [email protected]) October 23, 2019 7 / 16

Page 25: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - RevisedDesign

Gc(s)1

s(Js + B)

B

r + er + τ

x

+

x

Reparameterize to accommodate J:

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s

Wcl(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

Js3 + (K + 2λJ)s2 + (2λK + λ2J)s + λ2K

Always stable, for any J and B.( [email protected]) October 23, 2019 7 / 16

Page 26: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

Gc(s)1

s(Js + B)

B

xd +

xd

+e + τ

x+

x−

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s,

Wcl(s) =Gc(s)

Js2 + Gc(s)

r = W−1cl (s)[xd]

= xd +((Js2)G−1

cl (s))[xd]

= xd + Jωd

τ = Jxd + Bx + Gc(s)[e]

= J(

xd + 2λe + λ2e)+ Bx + K

(e + 2λe + λ2

∫e(τ)dτ

)= Je1(t) + Bx + Ke2(t)

( [email protected]) October 23, 2019 8 / 16

Page 27: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

Gc(s)1

s(Js + B)

B

xd +

xd

+e + τ

x+

x−

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s,Wcl(s) =

Gc(s)Js2 + Gc(s)

r = W−1cl (s)[xd]

= xd +((Js2)G−1

cl (s))[xd]

= xd + Jωd

τ = Jxd + Bx + Gc(s)[e]

= J(

xd + 2λe + λ2e)+ Bx + K

(e + 2λe + λ2

∫e(τ)dτ

)= Je1(t) + Bx + Ke2(t)

( [email protected]) October 23, 2019 8 / 16

Page 28: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

Gc(s)1

s(Js + B)

B

xd +

xd

+e + τ

x+

x−

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s,Wcl(s) =

Gc(s)Js2 + Gc(s)

r = W−1cl (s)[xd]

= xd +((Js2)G−1

cl (s))[xd]

= xd + Jωd

τ = Jxd + Bx + Gc(s)[e]

= J(

xd + 2λe + λ2e)+ Bx + K

(e + 2λe + λ2

∫e(τ)dτ

)= Je1(t) + Bx + Ke2(t)

( [email protected]) October 23, 2019 8 / 16

Page 29: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

Gc(s)1

s(Js + B)

B

xd +

xd

+e + τ

x+

x−

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s,Wcl(s) =

Gc(s)Js2 + Gc(s)

r = W−1cl (s)[xd]

= xd +((Js2)G−1

cl (s))[xd]

= xd + Jωd

τ = Jxd + Bx + Gc(s)[e]

= J(

xd + 2λe + λ2e)+ Bx + K

(e + 2λe + λ2

∫e(τ)dτ

)= Je1(t) + Bx + Ke2(t)

( [email protected]) October 23, 2019 8 / 16

Page 30: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

Gc(s)1

s(Js + B)

B

xd +

xd

+e + τ

x+

x−

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s,Wcl(s) =

Gc(s)Js2 + Gc(s)

r = W−1cl (s)[xd]

= xd +((Js2)G−1

cl (s))[xd]

= xd + Jωd

τ = Jxd + Bx + Gc(s)[e]

= J(

xd + 2λe + λ2e)+ Bx + K

(e + 2λe + λ2

∫e(τ)dτ

)= Je1(t) + Bx + Ke2(t)

( [email protected]) October 23, 2019 8 / 16

Page 31: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

Gc(s)1

s(Js + B)

B

xd +

xd

+e + τ

x+

x−

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s,Wcl(s) =

Gc(s)Js2 + Gc(s)

r = W−1cl (s)[xd]

= xd +((Js2)G−1

cl (s))[xd]

= xd + Jωd

τ = Jxd + Bx + Gc(s)[e]

= J(

xd + 2λe + λ2e)+ Bx + K

(e + 2λe + λ2

∫e(τ)dτ

)= Je1(t) + Bx + Ke2(t)

( [email protected]) October 23, 2019 8 / 16

Page 32: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

Gc(s)1

s(Js + B)

B

xd +

xd

+e + τ

x+

x−

Gc(s) =(K + 2λJ)s2 + (2λK + λ2J)s + λ2K

s,Wcl(s) =

Gc(s)Js2 + Gc(s)

r = W−1cl (s)[xd]

= xd +((Js2)G−1

cl (s))[xd]

= xd + Jωd

τ = Jxd + Bx + Gc(s)[e]

= J(

xd + 2λe + λ2e)+ Bx + K

(e + 2λe + λ2

∫e(τ)dτ

)= Je1(t) + Bx + Ke2(t)

( [email protected]) October 23, 2019 8 / 16

Page 33: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

K

B

1s(Js + B)

xd

xd

e1

e2++

+

τ

xx

τ = Je1(t) + Bx + Ke2(t)

e1 =(

xd + 2λe + λ2e), e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

φ = [ e1 x e2 ]> , θ∗ = [ J B K ]>

Adaptive PID control:

τ = J(t)e1 + B(t)x + Ke2

( [email protected]) October 23, 2019 9 / 16

Page 34: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

K

B

1s(Js + B)

xd

xd

e1

e2++

+

τ

xx

τ = Je1(t) + Bx + Ke2(t)

e1 =(

xd + 2λe + λ2e), e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

φ = [ e1 x e2 ]> , θ∗ = [ J B K ]>

Adaptive PID control:

τ = J(t)e1 + B(t)x + Ke2

( [email protected]) October 23, 2019 9 / 16

Page 35: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

K

B

1s(Js + B)

xd

xd

e1

e2++

+

τ

xx

τ = Je1(t) + Bx + Ke2(t)

e1 =(

xd + 2λe + λ2e), e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

φ = [ e1 x e2 ]> ,

θ∗ = [ J B K ]>

Adaptive PID control:

τ = J(t)e1 + B(t)x + Ke2

( [email protected]) October 23, 2019 9 / 16

Page 36: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

K

B

1s(Js + B)

xd

xd

e1

e2++

+

τ

xx

τ = Je1(t) + Bx + Ke2(t)

e1 =(

xd + 2λe + λ2e), e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

φ = [ e1 x e2 ]> , θ∗ = [ J B K ]>

Adaptive PID control:

τ = J(t)e1 + B(t)x + Ke2

( [email protected]) October 23, 2019 9 / 16

Page 37: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

K

B

1s(Js + B)

xd

xd

e1

e2++

+

τ

xx

τ = Je1(t) + Bx + Ke2(t)

e1 =(

xd + 2λe + λ2e), e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

φ = [ e1 x e2 ]> , θ∗ = [ J B K ]>

Adaptive PID control:

τ = J(t)e1 + B(t)x + Ke2

( [email protected]) October 23, 2019 9 / 16

Page 38: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

K

B

1s(Js + B)

xd

xd

e1

e2++

+

τ

xx

τ = Je1(t) + Bx + Ke2(t)

e1 =(

xd + 2λe + λ2e), e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

φ = [ e1 x e2 ]> , θ∗ = [ J B K ]>

Adaptive PID control:

τ = J(t)e1 + B(t)x + Ke2

( [email protected]) October 23, 2019 9 / 16

Page 39: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

PID Control - Algebraic Part: Tracking - CompleteDesign

J

K

B

1s(Js + B)

xd

xd

e1

e2++

+

τ

xx

τ = Je1(t) + Bx + Ke2(t)

e1 =(

xd + 2λe + λ2e), e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

φ = [ e1 x e2 ]> , θ∗ = [ J B K ]>

Adaptive PID control:

τ = J(t)e1 + B(t)x + Ke2

( [email protected]) October 23, 2019 9 / 16

Page 40: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive PID Control (x measurable)

τ = J(t)e1 + B(t)x + Ke2

Plant+controller: x =1J(−Bx + τ)

=1J

(−Bx + J(t)e1 + B(t)x + Ke2

)e2 =

(e + 2λe + λ2

∫e(τ)dτ

).. ..

e2 = −KJ

e2 +1J

(−Je1 − Bx

)− Error Model 3

Globally stable; limt→∞ e2(t) = limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 10 / 16

Page 41: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive PID Control (x measurable)

τ = J(t)e1 + B(t)x + Ke2

Plant+controller: x =1J(−Bx + τ)

=1J

(−Bx + J(t)e1 + B(t)x + Ke2

)

e2 =

(e + 2λe + λ2

∫e(τ)dτ

).. ..

e2 = −KJ

e2 +1J

(−Je1 − Bx

)− Error Model 3

Globally stable; limt→∞ e2(t) = limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 10 / 16

Page 42: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive PID Control (x measurable)

τ = J(t)e1 + B(t)x + Ke2

Plant+controller: x =1J(−Bx + τ)

=1J

(−Bx + J(t)e1 + B(t)x + Ke2

)e2 =

(e + 2λe + λ2

∫e(τ)dτ

)

.. ..

e2 = −KJ

e2 +1J

(−Je1 − Bx

)− Error Model 3

Globally stable; limt→∞ e2(t) = limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 10 / 16

Page 43: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive PID Control (x measurable)

τ = J(t)e1 + B(t)x + Ke2

Plant+controller: x =1J(−Bx + τ)

=1J

(−Bx + J(t)e1 + B(t)x + Ke2

)e2 =

(e + 2λe + λ2

∫e(τ)dτ

).. ..

e2 = −KJ

e2 +1J

(−Je1 − Bx

)

− Error Model 3

Globally stable; limt→∞ e2(t) = limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 10 / 16

Page 44: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive PID Control (x measurable)

τ = J(t)e1 + B(t)x + Ke2

Plant+controller: x =1J(−Bx + τ)

=1J

(−Bx + J(t)e1 + B(t)x + Ke2

)e2 =

(e + 2λe + λ2

∫e(τ)dτ

).. ..

e2 = −KJ

e2 +1J

(−Je1 − Bx

)− Error Model 3

Globally stable; limt→∞ e2(t) = limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 10 / 16

Page 45: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive PID Control (x measurable)

τ = J(t)e1 + B(t)x + Ke2

Plant+controller: x =1J(−Bx + τ)

=1J

(−Bx + J(t)e1 + B(t)x + Ke2

)e2 =

(e + 2λe + λ2

∫e(τ)dτ

).. ..

e2 = −KJ

e2 +1J

(−Je1 − Bx

)− Error Model 3

Globally stable; limt→∞ e2(t) = limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 10 / 16

Page 46: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Phase Lead Compensators

Gc(s)1

s(Js + B)+ e τ x

Plant: Jx + Bx = τ J > 0

Phase-lead: Gc(s) = ks + z0

s + p0, z0 < p0

τ = Gc(s)e

J and B are unknown. Deternine τ so that limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 11 / 16

Anu
Typewritten Text
(angular position)
Page 47: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Phase Lead Compensators

Gc(s)1

s(Js + B)+ e τ x

Plant: Jx + Bx = τ J > 0

Phase-lead: Gc(s) = ks + z0

s + p0, z0 < p0

τ = Gc(s)e

J and B are unknown. Deternine τ so that limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 11 / 16

Page 48: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Phase Lead Compensators

Gc(s)1

s(Js + B)+ e τ x

Plant: Jx + Bx = τ J > 0

Phase-lead: Gc(s) = ks + z0

s + p0, z0 < p0

τ = Gc(s)e

J and B are unknown. Deternine τ so that limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 11 / 16

Page 49: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Phase Lead Compensators

AdaptiveController

1s(Js + B)

+ e τ x

Plant: Jx + Bx = τ J > 0

Phase-lead: Gc(s) = ks + z0

s + p0, z0 < p0

τ = Gc(s)e

J and B are unknown. Deternine τ so that limt→∞ e(t) = 0.

( [email protected]) October 23, 2019 11 / 16

Page 50: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Phase Lead Compensators - Algebraic Part

NominalController

1s(Js+B) s + a

θ0

cmd + x, x y

Gc(s) = ks + z0

s + p0, z0 < p0

Always stable for any J, B, z0, p0 > 0 with z0 < p0.Assume x and x measurable

( [email protected]) October 23, 2019 12 / 16

Page 51: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Phase Lead Compensators - Algebraic Part

NominalController

1s(Js+B) s + a

θ0

cmd + x, x y

Gc(s) = ks + z0

s + p0, z0 < p0

Always stable for any J, B, z0, p0 > 0 with z0 < p0.Assume x and x measurable

( [email protected]) October 23, 2019 12 / 16

Page 52: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Phase Lead Compensators - Synthetic output y

J

B

θ0

Gc(s)1

s(Js+B) s + a

θ0

ω′d

ω′d

yd

++

+

+ v x, x y

Wcl(s)

ν = θ0(yd − y) + Bω′d + Jω′d

Stable for all parameters of Gc(s)

θ0 = θ∗ - value for which Wcl(s) has a desired phase margin

( [email protected]) October 23, 2019 13 / 16

Page 53: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Phase Lead Compensators - Synthetic output y

J

B

θ0

Gc(s)1

s(Js+B) s + a

θ0

ω′d

ω′d

yd

++

+

+ v x, x y

Wcl(s)

ν = θ0(yd − y) + Bω′d + Jω′d

Stable for all parameters of Gc(s)

θ0 = θ∗ - value for which Wcl(s) has a desired phase margin

( [email protected]) October 23, 2019 13 / 16

Page 54: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Phase Lead Compensators - Syntheticoutput y

J

B

θy

Gc(s)1

s(Js+B) s + a

θy

ω′d

ω′d

yd

++

+

+ v x, x y

ν = θy(t)(yd − y) + Bω′d + Jω′d

= θy(t)(yd − y) + B(t)ω′d + J(t)ω′d + θ∗(yd − y) + Bω′d + Jω′d

( [email protected]) October 23, 2019 14 / 16

Page 55: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Phase Lead Compensators - Syntheticoutput y

J

B

θy

Gc(s)1

s(Js+B) s + a

θy

ω′d

ω′d

yd

++

+

+ v x, x y

ν = θy(t)(yd − y) + Bω′d + Jω′d= θy(t)(yd − y) + B(t)ω′d + J(t)ω′d + θ∗(yd − y) + Bω′d + Jω′d

( [email protected]) October 23, 2019 14 / 16

Page 56: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Adaptive Phase Lead Compensators - Syntheticoutput y

B

J

θ∗

θ

Gc(s)1

s(Js+B) s + a

θ∗

ω′d

ω′d

yd

ω

++

+

+

+ v x, x y

ν = θTω + θ∗ey + Bω′d + Jω′d

θ =

θy

BJ

, ω =

ey

ω′dω′d

( [email protected]) October 23, 2019 15 / 16

Page 57: 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID ...aaclab.mit.edu/material/lect/2_153_Lecture_14.pdf · 2.153 Adaptive Control Fall 2019 Lecture 14: Adaptive PID Control

Underlying Error Model

θ> Wm(s)ω ey

Wcl(s) = Wm(s) =

kc

J(s + zc) (s + a)

s (s + pc)(s + B

J

)+ θ∗

kc

J(s + zc) (s + a)

θ =

θy

BJ

, ω =

ey

ω′dω′d

( [email protected]) October 23, 2019 16 / 16