Adaptive PID Control MIT
Adaptive PID Control MIT
Adaptive PID Control MIT
Anuradha Annaswamy
( [email protected] ) 1 / 17
Pset #1 out: Thu 19-Feb, due: Fri 27-Feb
Pset #2 out: Wed 25-Feb, due: Fri 6-Mar
Pset #3 out: Wed 4-Mar, due: Fri 13-Mar
Pset #4 out: Wed 11-Mar, due: Fri 20-Mar
Midterm (take home) out: Mon 30-Mar, due: Fri 3-Apr
( [email protected] ) 2 / 17
Adaptive Control of a Second-order Plant
+ e τ 1 x
Gc (s)
s(Js + B)
−
r + er Nominal τ 1 x
Controller s(Js+B)
−
ki
Gc (s) = kp + + kd s Parameterize kd = K, kp = 2λK > 0, ki = λ2 K > 0
s
K(s + λ)2
Closed-loop transfer function:
s2 (Js
+ B) + K(s + λ)2
K(s + λ)2
= 3
Js + s (B + K) + 2Kλ2 s + Kλ
2
Stable if
Jλ
0<K< − B.
2
Design the controller so that x → xd
( [email protected] ) 4 / 17
PID Control - Algebraic Part: Tracking
Wcl (s)
r + er τ 1 x
Gc (s)
s(Js + B)
−
Gc (s)
Wcl (s) =
s(Js + B) + Gc (s)
Wcl−1 (s) = 1 + s(Js + B)G−1
cl (s)
r = Wcl−1 (s)[xd ]
= xd + s(Js + B)G−1
cl (s) [xd ]
= xd + (s(Js + B)) [ωd ] = xd + Bω̇d + J ω̈d
( [email protected] ) 5 / 17
PID Control - Algebraic Part: Tracking
Wcl (s)
r + er τ 1 x
Gc (s)
s(Js + B)
−
Gc (s)
Wcl (s) =
s(Js + B) + Gc (s)
Wcl−1 (s) = 1 + s(Js + B)G−1
cl (s)
r = Wcl−1 (s)[xd ]
= xd + s(Js + B)G−1
cl (s) [xd ]
= xd + (s(Js + B)) [ωd ] = xd + Bω̇d + J ω̈d
( [email protected] ) 5 / 17
PID Control - Algebraic Part: Tracking
Wcl (s)
xd r + er τ 1 x
Wcl−1 (s) Gc (s) s(Js+B)
−
Gc (s)
Wcl (s) =
s(Js + B) + Gc (s)
Wcl−1 (s) = 1 + s(Js + B)G−1
cl (s)
r = Wcl−1 (s)[xd ]
= xd + s(Js + B)G−1
cl (s) [xd ]
= xd + (s(Js + B)) [ωd ] = xd + Bω̇d + J ω̈d
( [email protected] ) 5 / 17
PID Control - Algebraic Part: Tracking
Using r = J ω̈d + Bω̇d + xd the block diagram can be represented as
ω̈d
J
+
ω̇d + r + er τ 1 x
B Gc (s) s(Js+B)
+ −
xd
ẋd
B
Plant
+
xd + e + τ 1 x
Gc (s) s(Js+B)
−
( [email protected] ) 6 / 17
PID Control - Algebraic Part: Tracking - Revised
Design
ẍd
J
ẋd
B
Plant
+
xd + e + τ 1 x
Gc (s) s(Js+B)
−
(K + Jλ)s + Kλ
Gc (s) =
s
( [email protected] ) 7 / 17
PID Control - Algebraic Part: Tracking - Revised
Design
ẍd
J
Controller Plant
+
xd + e + τ 1
Gc (s) s(Js+B)
− +
B
ẋ x
(K + Jλ)s + Kλ
Gc (s) =
s
( [email protected] ) 7 / 17
PID Control - Algebraic Part: Tracking - Revised
Design
r + er + τ 1
Gc (s)
s(Js + B)
− +
ẋ x
B
Reparameterize to accommodate J:
(K + 2λJ)s2 + (2λK + λ2 J)s + λ2 K
Gc (s) =
s
(K + 2λJ)s2 + (2λK + λ2 J)s + λ2 K
Wcl (s) =
Js3 + (K + 2λJ)s2 + (2λK + λ2 J)s + λ2 K
r = Wcl−1 (s)[xd ]
= xd + (Js2 )G−1 cl (s) [xd ]
= xd + J ω̈d
τ = Jẍd + Bẋ + Gc (s)[e]
Z
= J ẍd + 2λė + λ2 e + Bẋ + K ė + 2λe + λ2 e(τ )dτ = Je1 (t) + Bẋ + Ke2 (t)
( [email protected] ) 9 / 17
PID Control - Algebraic Part: Tracking - Complete
Design
ẍd e1
J
xd e2 + +τ 1
K
x + s(Js + B)
ẋ
B
φ = [ e1 ẋ e 2 ]> , θ ∗ = [ J B K ]>
Adaptive PID control:
τ = J(t)e1 + B(t)ẋ
b b + Ke2
( [email protected] ) 10 / 17
PID Control - Algebraic Part: Tracking - Complete
Design
ẍd e1
J
xd e2 + +τ 1
K
x + s(Js + B)
ẋ
B
φ = [ e1 ẋ e 2 ]> , θ ∗ = [ J B K ]>
Adaptive PID control:
τ = J(t)e1 + B(t)ẋ
b b + Ke2
( [email protected] ) 10 / 17
PID Control - Algebraic Part: Tracking - Complete
Design
ẍd e1
J
xd e2 + +τ 1
K
x + s(Js + B)
ẋ
B
φ = [ e1 ẋ e 2 ]> , θ ∗ = [ J B K ]>
Adaptive PID control:
τ = J(t)e1 + B(t)ẋ
b b + Ke2
( [email protected] ) 10 / 17
PID Control - Algebraic Part: Tracking - Complete
Design
ẍd e1
J
xd e2 + +τ 1
K
x + s(Js + B)
ẋ
B
φ = [ e1 ẋ e 2 ]> , θ ∗ = [ J B K ]>
Adaptive PID control:
τ = J(t)e1 + B(t)ẋ
b b + Ke2
( [email protected] ) 10 / 17
PID Control - Algebraic Part: Tracking - Complete
Design
ẍd e1
J
xd e2 + +τ 1
K
x + s(Js + B)
ẋ
B
φ = [ e1 ẋ e 2 ]> , θ ∗ = [ J B K ]>
Adaptive PID control:
τ = J(t)e1 + B(t)ẋ
b b + Ke2
( [email protected] ) 10 / 17
PID Control - Algebraic Part: Tracking - Complete
Design
ẍd e1
J
xd e2 + +τ 1
K
x + s(Js + B)
ẋ
B
φ = [ e1 ẋ e 2 ]> , θ ∗ = [ J B K ]>
Adaptive PID control:
τ = J(t)e1 + B(t)ẋ
b b + Ke2
( [email protected] ) 10 / 17
PID Control - Algebraic Part: Tracking - Complete
Design
ẍd e1
J
b
xd e2 + +τ 1
K
x + s(Js + B)
ẋ
B
b
φ = [ e1 ẋ e 2 ]> , θ ∗ = [ J B K ]>
Adaptive PID control:
τ = J(t)e1 + B(t)ẋ
b b + Ke2
( [email protected] ) 10 / 17
Adaptive PID Control (ẋ measurable)
τ
= b
J(t)e1 + B(t)ẋ
b + Ke2
1
Plant+controller: ẍ = (−Bẋ + τ )
J
1
= −Bẋ + b
J(t)e1 + B(t)ẋ
b + Ke2
J
Z
e2 = ė + 2λe + λ2 e(τ )dτ
.. ..
K 1 e
ė2 = − e2 + −Je1 − Bẋ
e − Error Model 3
J J
Globally stable; limt→∞ e2 (t) = limt→∞ e(t) = 0.
( [email protected] ) 11 / 17
Adaptive Phase Lead Compensators
+ e τ 1 x
Gc (s)
s(Js + B)
−
( [email protected] ) 12 / 17
Adaptive Phase Lead Compensators
+ e τ 1 x
Gc (s)
s(Js + B)
−
( [email protected] ) 12 / 17
Adaptive Phase Lead Compensators
+ e τ 1 x
Gc (s)
s(Js + B)
−
( [email protected] ) 12 / 17
Adaptive Phase Lead Compensators
+ e Adaptive τ 1 x
Controller s(Js + B)
−
( [email protected] ) 12 / 17
Phase Lead Compensators - Algebraic Part
cmd + Nominal 1 x, ẋ y
s(Js+B) s+a
Controller
−
θ0
s + z0
Gc (s) = k , z0 < p0
s + p0
( [email protected] ) 13 / 17
Phase Lead Compensators - Synthetic output y
ω̇d0
B Wcl (s)
+
ω̈d0 + + v 1 x, ẋ y
J Gc (s) s(Js+B) s+a
+ −
yd
θ0 θ0
( [email protected] ) 14 / 17
Adaptive Phase Lead Compensators - Synthetic
output y
ω̇d0
B
b
+
ω̈d0 + + v 1 x, ẋ y
J
b Gc (s) s(Js+B) s+a
+ −
yd θy
θy
ν = θy (t)(yd − y) + Bbω̇d0 + b
J ω̈d0
e ω̇d0 + e
= θey (t)(yd − y) + B(t) J(t)ω̈d0 + θ∗ (yd − y) + Bω̇d0 + J ω̈d0
( [email protected] ) 15 / 17
Adaptive Phase Lead Compensators - Synthetic
output y
ω̇d0
B
b
+
ω̈d0 + + v 1 x, ẋ y
J
b Gc (s) s(Js+B) s+a
+ −
+
yd
θ∗ θ∗
ω
θ̃
( [email protected] ) 16 / 17
Underlying Error Model
ω ey
θ̃> Wm (s)
kc
(s + zc ) (s + a)
Wm (s) = J
kc
s (s + pc ) s + BJ + θ∗ (s + zc ) (s + a)
J
θy
e ey
θ = B , ω = ω̇d0
e e
J
e ω̈d0
( [email protected] ) 17 / 17