2.153 Adaptive Control Lecture 7 Adaptive PID Control Anuradha Annaswamy aanna@mit.edu ( aanna@mit.edu 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 ( aanna@mit.edu 2 / 17
Adaptive Control of a Second-order Plant e 1 G c (s τ x s(js B Plant: Jẍ Bẋ = τ J > 0 PI Control: Adaptive PI Control: G c (s = k p k i s τ = k p e(t k i e(τdτ τ = k p (te(t k i (t e(τdτ PID Control: Adaptive PID Control: G c (s = k p k d s k i s τ = k p e(t k i e(τdτ de kd dt τ = k p (te(t k i (t e(τdτ k d (tė(t J and B are unknown. Adjust k p (t, k i (t and k d (t so that the closed-loop system is stable and lim t e(t = 0. ( aanna@mit.edu 3 / 17
Adaptive Control of a Second-order Plant e 1 G c (s τ x s(js B Plant: Jẍ Bẋ = τ J > 0 PI Control: Adaptive PI Control: G c (s = k p k i s τ = k p e(t k i e(τdτ τ = k p (te(t k i (t e(τdτ PID Control: Adaptive PID Control: G c (s = k p k d s k i s τ = k p e(t k i e(τdτ de kd dt τ = k p (te(t k i (t e(τdτ k d (tė(t J and B are unknown. Adjust k p (t, k i (t and k d (t so that the closed-loop system is stable and lim t e(t = 0. ( aanna@mit.edu 3 / 17
Adaptive Control of a Second-order Plant e 1 G c (s τ x s(js B Plant: Jẍ Bẋ = τ J > 0 PI Control: Adaptive PI Control: G c (s = k p k i s τ = k p e(t k i e(τdτ τ = k p (te(t k i (t e(τdτ PID Control: Adaptive PID Control: G c (s = k p k d s k i s τ = k p e(t k i e(τdτ de kd dt τ = k p (te(t k i (t e(τdτ k d (tė(t J and B are unknown. Adjust k p (t, k i (t and k d (t so that the closed-loop system is stable and lim t e(t = 0. ( aanna@mit.edu 3 / 17
Adaptive Control of a Second-order Plant e Adaptive τ 1 x Controller s(js B Plant: Jẍ Bẋ = τ J > 0 PI Control: Adaptive PI Control: G c (s = k p k i s τ = k p e(t k i e(τdτ τ = k p (te(t k i (t e(τdτ PID Control: Adaptive PID Control: G c (s = k p k d s k i s τ = k p e(t k i e(τdτ de kd dt τ = k p (te(t k i (t e(τdτ k d (tė(t J and B are unknown. Adjust k p (t, k i (t and k d (t so that the closed-loop system is stable and lim t e(t = 0. ( aanna@mit.edu 3 / 17
PID -Control: Algebraic Part r e r Nominal τ 1 x Controller s(jsb G c (s = k p k i s k ds Parameterize k d = K, k p = 2λK > 0, k i = λ 2 K > 0 Closed-loop transfer function: K(s λ 2 s 2 (Js B K(s λ 2 = K(s λ 2 Js 3 s 2 (B K 2Kλ 2 s Kλ Stable if 0 < K < Jλ 2 B. Design the controller so that x x d ( aanna@mit.edu 4 / 17
PID Control - Algebraic Part: Tracking W cl (s r e r 1 G c (s τ x s(js B W cl (s = G c (s s(js B G c (s W 1 cl (s = 1 s(js BG 1 cl (s r = W 1 cl (s[x d ] ( = x d s(js BG 1 cl (s [x d ] = x d (s(js B [ω d ] = x d B ω d J ω d ( aanna@mit.edu 5 / 17
PID Control - Algebraic Part: Tracking W cl (s r e r 1 G c (s τ x s(js B W cl (s = G c (s s(js B G c (s W 1 cl (s = 1 s(js BG 1 cl (s r = W 1 cl (s[x d ] ( = x d s(js BG 1 cl (s [x d ] = x d (s(js B [ω d ] = x d B ω d J ω d ( aanna@mit.edu 5 / 17
PID Control - Algebraic Part: Tracking W cl (s x d W 1 r e r τ 1 x cl (s G c (s s(jsb W cl (s = G c (s s(js B G c (s W 1 cl (s = 1 s(js BG 1 cl (s r = W 1 cl (s[x d ] ( = x d s(js BG 1 cl (s [x d ] = x d (s(js B [ω d ] = x d B ω d J ω d ( aanna@mit.edu 5 / 17
PID Control - Algebraic Part: Tracking Using r = J ω d B ω d x d the block diagram can be represented as ω d J ω d r e r τ 1 B G c(s s(jsb x x d which can then be simplified to ẍ d J ẋ d x d B e Plant τ 1 G c(s s(jsb x ( aanna@mit.edu 6 / 17
PID Control - Algebraic Part: Tracking - Revised Design ẍ d J ẋ d x d B Plant e τ 1 x G c (s s(jsb Move B from feedforward - to feedback G c (s = (K Jλs Kλ s ( aanna@mit.edu 7 / 17
PID Control - Algebraic Part: Tracking - Revised Design ẍ d J x d Controller e τ G c (s Plant 1 s(jsb B ẋ x Move B from feedforward - to feedback G c (s = (K Jλs Kλ s ( aanna@mit.edu 7 / 17
PID Control - Algebraic Part: Tracking - Revised Design r e r τ G c(s 1 s(js B B ẋ x Reparameterize to accommodate J: G c (s = (K 2λJs2 (2λK λ 2 Js λ 2 K s (K 2λJs 2 (2λK λ 2 Js λ 2 K W cl (s = Js 3 (K 2λJs 2 (2λK λ 2 Js λ 2 K Always stable, for any J and B. ( aanna@mit.edu 8 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d J x d e τ G c (s 1 s(js B B ẋ x G c(s = (K 2λJs2 (2λK λ 2 Js λ 2 K G c(s, W cl (s = s Js 2 G c(s r = W 1 cl (s[x d ] ( = x d (Js 2 G 1 cl (s [x d ] = x d J ω d τ = Jẍ d Bẋ G c(s[e] ( = J ẍ d 2λė λ 2 e Bẋ K (ė 2λe λ 2 e(τdτ = Je 1(t Bẋ Ke 2(t ( aanna@mit.edu 9 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d x d x e 1 J e 2 τ K ẋ B 1 s(js B τ = Je 1(t Bẋ Ke 2(t ( e 1 = ẍ d 2λė λ 2 e, e 2 = (ė 2λe λ 2 e(τdτ Adaptive PID control: φ = [ e 1 ẋ e 2 ], θ = [ J B K ] τ = Ĵ(te 1 B(tẋ Ke 2 ( aanna@mit.edu 10 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d x d x e 1 J e 2 τ K ẋ B 1 s(js B τ = Je 1(t Bẋ Ke 2(t ( e 1 = ẍ d 2λė λ 2 e, e 2 = (ė 2λe λ 2 e(τdτ Adaptive PID control: φ = [ e 1 ẋ e 2 ], θ = [ J B K ] τ = Ĵ(te 1 B(tẋ Ke 2 ( aanna@mit.edu 10 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d x d x e 1 J e 2 τ K ẋ B 1 s(js B τ = Je 1(t Bẋ Ke 2(t ( e 1 = ẍ d 2λė λ 2 e, e 2 = (ė 2λe λ 2 e(τdτ Adaptive PID control: φ = [ e 1 ẋ e 2 ], θ = [ J B K ] τ = Ĵ(te 1 B(tẋ Ke 2 ( aanna@mit.edu 10 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d x d x e 1 J e 2 τ K ẋ B 1 s(js B τ = Je 1(t Bẋ Ke 2(t ( e 1 = ẍ d 2λė λ 2 e, e 2 = (ė 2λe λ 2 e(τdτ Adaptive PID control: φ = [ e 1 ẋ e 2 ], θ = [ J B K ] τ = Ĵ(te 1 B(tẋ Ke 2 ( aanna@mit.edu 10 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d x d x e 1 J e 2 τ K ẋ B 1 s(js B τ = Je 1(t Bẋ Ke 2(t ( e 1 = ẍ d 2λė λ 2 e, e 2 = (ė 2λe λ 2 e(τdτ Adaptive PID control: φ = [ e 1 ẋ e 2 ], θ = [ J B K ] τ = Ĵ(te 1 B(tẋ Ke 2 ( aanna@mit.edu 10 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d x d x e 1 J e 2 τ K ẋ B 1 s(js B τ = Je 1(t Bẋ Ke 2(t ( e 1 = ẍ d 2λė λ 2 e, e 2 = (ė 2λe λ 2 e(τdτ Adaptive PID control: φ = [ e 1 ẋ e 2 ], θ = [ J B K ] τ = Ĵ(te 1 B(tẋ Ke 2 ( aanna@mit.edu 10 / 17
PID Control - Algebraic Part: Tracking - Complete Design ẍ d x d x e 1 Ĵ e 2 τ K ẋ B 1 s(js B τ = Je 1(t Bẋ Ke 2(t ( e 1 = ẍ d 2λė λ 2 e, e 2 = (ė 2λe λ 2 e(τdτ Adaptive PID control: φ = [ e 1 ẋ e 2 ], θ = [ J B K ] τ = Ĵ(te 1 B(tẋ Ke 2 ( aanna@mit.edu 10 / 17
Adaptive PID Control (ẋ measurable τ = Ĵ(te 1 B(tẋ Ke 2 Plantcontroller: ẍ = 1 (Bẋ τ J = 1 (Bẋ Ĵ(te 1 B(tẋ Ke 2 J e 2 = (ė 2λe λ 2 e(τdτ.... ė 2 = K J e 2 1 J Globally stable; lim t e 2 (t = lim t e(t = 0. ( Je 1 Bẋ Error Model 3 ( aanna@mit.edu 11 / 17
Adaptive Phase Lead Compensators e 1 G c (s τ x s(js B Plant: Jẍ Bẋ = τ J > 0 Phase-lead: G c (s = k s z 0 s p 0, z 0 < p 0 τ = G c (se J and B are unknown. Deternine τ so that lim t e(t = 0. ( aanna@mit.edu 12 / 17
Adaptive Phase Lead Compensators e 1 G c (s τ x s(js B Plant: Jẍ Bẋ = τ J > 0 Phase-lead: G c (s = k s z 0 s p 0, z 0 < p 0 τ = G c (se J and B are unknown. Deternine τ so that lim t e(t = 0. ( aanna@mit.edu 12 / 17
Adaptive Phase Lead Compensators e 1 G c (s τ x s(js B Plant: Jẍ Bẋ = τ J > 0 Phase-lead: G c (s = k s z 0 s p 0, z 0 < p 0 τ = G c (se J and B are unknown. Deternine τ so that lim t e(t = 0. ( aanna@mit.edu 12 / 17
Adaptive Phase Lead Compensators e Adaptive τ 1 x Controller s(js B Plant: Jẍ Bẋ = τ J > 0 Phase-lead: G c (s = k s z 0 s p 0, z 0 < p 0 τ = G c (se J and B are unknown. Deternine τ so that lim t e(t = 0. ( aanna@mit.edu 12 / 17
Phase Lead Compensators - Algebraic Part cmd Nominal 1 x, ẋ y Controller s(jsb s a θ 0 G c (s = k s z 0 s p 0, z 0 < p 0 Always stable for any J, B, z 0, p 0 > 0 with z 0 < p 0. Assume x and ẋ measurable ( aanna@mit.edu 13 / 17
Phase Lead Compensators - Synthetic output y ω d B W cl (s ω d J v 1 x, ẋ y G c (s s(jsb s a y d θ 0 θ 0 ν = θ 0 (y d y B ω d J ω d Stable for all parameters of G c (s θ 0 = θ - value for which W cl (s has a desired phase margin ( aanna@mit.edu 14 / 17
Adaptive Phase Lead Compensators - Synthetic output y ω d B ω d Ĵ v 1 x, ẋ y G c (s s(jsb s a y d θ y θ y ν = θ y (t(y d y B ω d Ĵ ω d = θ y (t(y d y B(t ω d J(t ω d θ (y d y B ω d J ω d ( aanna@mit.edu 15 / 17
Adaptive Phase Lead Compensators - Synthetic output y ω d B ω d y d Ĵ θ v 1 x, ẋ y G c(s s(jsb s a θ ω θ ν = θ T ω θ e y B ω d J ω d θ y e y θ = B, ω = ω d J ω d ( aanna@mit.edu 16 / 17
Underlying Error Model ω θ W m (s e y W m (s = θ = k c J (s z c (s a s (s p c ( s B J θ k c J (s z c (s a θ y e y B, ω = ω d J ω d ( aanna@mit.edu 17 / 17