Introduction Many aspects even for a sim ple co nt roller Lecture 13--Applications and Case (=K(+/)+a) Studies Operational issues Theme: Discuss so me practical issues that must Hand-auto matic switches be dealt with to obtain a working adaptive Parameter changes co nt ro∥le Avoid bum ps 1.nt roduct ion Algorit hmic issues 2. Cont roller Implementation Ant aliasing fi lter 3. Parameter Estimation 4.nteract ion cont roller estimato nt eg rator windup No linearities 6. Conclusio ns length lut io n pt Control Design and Implementation How to Think about the problem igital cont rol ·C。 mput at ional delay An adaptive cont roller can be viewed as an auto mat ion of mo deling and co nt rol des ign Sampling rat es sam plIng · What can go wrong? Antialiasing · Experiments eg Co nt rol Desig n Paramet eriz at io n e numerics C K.J. Astrom and BWittenmark
Lecture 13|Applications and Case Studies Theme: Discuss some practical issues that must be dealt with to obtain a working adaptive controller 1. Introduction 2. Controller Implementation 3. Parameter Estimation 4. Interaction Controller Estimator 5. Operational issues 6. Conclusions Introduction Many aspects even for a simple controller u(t) = K e + 1 Ti Z t e(s)ds + Td de dt Operational issues { Hand-automatic switches { Parameter changes { Avoid bumps Algorithmic issues { Antialiasing lters { Filtering of derivative { Integrator windup { Nonlinearities Numerical issues { Approximations { Wordlength { Converter resolution More in adaptive controllers How to Think about the Problem An adaptive controller can be viewed as an automation of modeling and control design What can go wrong? Guidance from theory Experiments Control Design and Implementation Control design issues Digital control Computational delay Sampling rates Multirate sampling Antialiasing Integral Windup Control Design Parameterization Numerics c K. J. Åström and B. Wittenmark 1
Robust pole placement Cont rol System Design dea: obt ain ro bust ness a dn dist urbance rejec sIgn Issues tion by int roducing co nst rants o n poly nomials R and s process load distur banc Measurement no is Ay= B(u+v Command sig nal fo llowi Model uncert ainty Cont roller Ru= Tic-Sy . Cont roller st ruct ure Closed loo p system Explicit observer(White box) AR+Bs:AR+Bs Poly nomial( Black box) aT e desig n met hods AR+BS AR+Bs Pole placement Sensit ivity to mo del errors Linear quadratic gaussian Many ot hers H(z)-H0(x)< Hm(as(z) Desig n parameters Example z-1 factor of R and z +l factor of Design witn Constraints The youla-Kucera parameterization First solve the o rdinary Diophantine If the co nt rolle ARo BSo =Ac Rou=-Soy The co nt roller stabilizes the syster X S=XSo -YA Then all stablizing co nt roller can be written as en sat isfies So-QA AR+ BS=AcX Ro+QB Choose x int roduce the const raints and solve where Q is a stable transfer funct io n for y and R Interpretat io ns: T he cont roller is (X Ro+Y B)u=-(X So-Y A)y Hence =+- XR (Ay- Bu CK.J. Astrom and BWittenmark
Control System Design Design issues { Load disturbances { Measurement noise { Command signal following { Model uncertainty Controller structure { Two-degree-of-freedom { Explicit observer (White box) { Polynomial (Black box) Design methods { Pole placement { Linear quadratic gaussian { Many others { Design parameters Robust Pole Placement Idea: Obtain robustness adn disturbance rejection by introducing constraints on polynomials R and S Process Ay = B(u + v) Avv = e Controller Ru = T uc Sy Closed loop system y = BT AR + BS uc + BR AR + BS v u = AT AR + BS uc AR AR + BS v Sensitivity to model errors jH(z) H0(z)j < H(z)T (z) Hm(z)S(z) Example z 1 factor of R and z + 1 factor of S Design witn Constraints First solve the ordinary Diophantine AR0 + BS0 = Ac The controller R = XR0 + Y B S = XS0 Y A then satises AR + BS = AcX Choose X introduce the constraints and solve for Y and R Interpretations: The controller is (XR0 + Y B)u = (XS0 Y A)y Hence u = S0 R0 y + Y XR0 (Ay Bu) The Youla-Kucera Parameterization If the controller R0u = S0y stabilizes the system Ay = Bu Then all stabilizing controller can be written as u = S0 QA R0 + QB y where Q is a stable transfer function Process u y −S0 −B A Y X R0 1 Σ Σ c K. J. Åström and B. Wittenmark 2
Computational Delays Choice of sampling interval ub≈0.2-0.6 Wo- the nat ural fre q uency of the dominating R"(q-1)u(t)=T(q-1)2(t)-S"(q1)y() he rule im plies a bo ut 5-20 sam ples in a ste p Im plement as follows res ponse of the c losed-loo p system 1. Make A-D con Version of y(t)and u(t) Different rates in controller and estim ator may be useful 2. Com pute u(t=touc(t)-soy(t)+ui(t) Special hold circ uits 3. Make D-A con Version of (t) Post filters te u1(t+1=(1-R")u(t+1+(r”-t)y(t+1 Effect of Anti-Aliasing Filter G(s s Antialiasing filter Fixed parame er pole placement controlle Fourth order bessel filter wit h the bandwidt h Eliminate all freq uencies a b fre quency(wn=T/h) before sam pling (t=y(t+ ad sin(wat Use 2-6 order B utter Wort h or Bessel filters (b Sam pling interVal de pendence Gaa(s 82+2cs+ Bad neWs: The antia liasing filter will influence t he process and t he design i y Good Can often be time de lay. good in t he ada ptive case Parameters wd= 11.3 rad/s and ad=0.1 6.28rad/ cOm pensa ted for a delay of 1. 7h O K.J. Astomand B w itterak
Computational Delays y y(tk−1) y(tk ) y(tk+1) Time u t k−1 t k tk+1 u(tk− 1) u(t k) Time Control Variable Measured Variable Case B y(tk−1) y(tk ) y(t k+1) y t k−1 t k t k+1 Time u(tk ) u(tk+ 1) u Time Control Variable Measured Variable Case A Computational lag τ = h Computational lag τ R(q1)u(t) = T (q1)uc(t) S(q1)y(t) Implement as follows: 1. Make A-D conversion of y(t) and uc(t) 2. Compute u(t) = t0uc(t) s0y(t) + u1(t) 3. Make D-A conversion of u(t) 4. Compute u1(t + 1) = (1 R )u(t + 1) + (T t0)y(t + 1) (S s0)y(t + 1) Choice of sampling interval Rule of thumb (deterministic design): !oh 0:2 0:6 !o { The natural frequency of the dominating poles of the closed-loop system The rule implies about 5{20 samples in a step response of the closed-loop system Dierent rates in controller and estimator may be useful Special hold circuits Post lters Antialiasing lter Eliminate all frequencies above the Nyquist frequency (!N = =h) before sampling. Use 2{6 order Butterworth or Bessel lters Sampling interval dependence Gaa(s) = !2 s2 + 2!s + !2 Bad news: The antialiasing lter will in uence the process and the design Good news: Can often be approximated by a time delay. Good in the adaptive case Eect of Anti-Aliasing Filter Process G(s) = 1 s(s + 1) Fixed parameter pole placement controller. Fourth order Bessel lter with the bandwidth !B. ym(t) = y(t) + ad sin(!d t) 0 5 10 15 20 0 1 0 5 10 15 20 0 1 0 5 10 15 20 0 1 0 5 10 15 20 0 1 Time Time Time Time (a) uc y u (b) uc y u (c) uc y u (d) uc y u Parameters !d = 11:3 rad/s and ad = 0:1. (a) !B = 25 rad/s; (b) !B = 6:28 rad/s; (c) !B = 2:51 rad/s and the regulator compensated for a delay of 1:7h. c K. J. Åström and B. Wittenmark 3
Cont roller Windup it? The feed back loop is bro ken Pol ynomial controllers Trouble if there are unst able systems in Let the cont roller be How to avoid it? R()u(t=t(uc(t)-s(a)y(t nt ro duce the observer dy namics ex plicitel Estima 叫 Actuate A(q)u(t)=T(q)u2(t)-S(q)y(t)+(A(q)-R(q)u(t) Let the sat urating act uator be described by the Estima feedback 叫 Actuator Process function f the co nt roller wit h anti-windup then becomes A(q)v(t)=T(q)u2(t)-S(q)y(t)+(Aa(q)-R(q)u(t) Notice u(t)=f(u(t) Level sat urat ion . Rate sat urat io n Ot her no nlineariti Even worse for adaptive syst ems. Why? An Example Process model G(s y Singularities in Diophantine uation C K.J. Astrom and BWittenmark
Controller Windup What is it? The feedback loop is broken Trouble if there are unstable systems in the loop How to avoid it? (b) (a) Estimator Actuator Process State feedback x ˆ u y Estimator Actuator Process State feedback x ˆ u ua y Notice Level saturation Rate saturation Other nonlinearities Even worse for adaptive systems. Why? Polynomial Controllers Let the controller be R(q)u(t) = T (q)uc(t) S(q)y(t Introduce the observer dynamics explicitely Ao (q)u(t) = T (q)uc(t) S(q)y(t)+(Ao (q) R(q))u(t) Let the saturating actuator be described by the function f the controller with anti-windup then becomes Ao (q)v(t) = T (q)uc(t) S(q)y(t)+(Ao (q) R(q))u(t) u(t) = f (v(t)) An Example Process model G(s) = 1 s(s+1) 0 20 40 60 80 100 −1 0 1 2 0 20 40 60 80 100 −50 0 50 Time Time uc y u 0 20 40 60 80 100 −1 0 1 0 20 40 60 80 100 −0.5 0.0 0.5 Time Time uc y u Singularities in Diophantine equation c K. J. Åström and B. Wittenmark 4
Esti mation ssues Theme: Use only relevant data, treat it carefully and do not throw away good information Singularities in Diophantine e Model st ruct ure e Data filters and excit at io n equation Parameter tracking Expo nential forgetting Parallel estim ato rs · Estimator windup Condit io nal up dating Const ant -tr Direct io nal forgetting . Ro bust est imat io Model structure Data Filters and Excitation What happens when low order models are fitted to dat a generated by a co mplex system? Perfect fit often possi ble if excit at io n y(t)=Go(g)u(t)+u(t) poor, tor example steps a BUT mod he disturbance. filter dat a e bad fit with good excit at io n Parameters y(t=H,(ay(t) will change subst ant ially u(t)=H(a)u(t Exampl So that u,t= H, au(t)is small. This give Let the model be g(s and let the input the model be sinusoidal y (t)= Go()u(t)+u(t) a=8{((w Ty pical filte SIG(iwo (a)2 a good model structure raos H(z) c K.J. Astrom and B. Wittenmark
Singularities in Diophantine equation Estimation Issues Theme: Use only relevant data, treat it carefully and do not throw away good information Model structure Data lters and excitation Parameter tracking { Exponential forgetting { Covariance resetting { Parallel estimators Estimator windup { Conditional updating { Constant-trace algorithms { Directional forgetting { Leakage Robust estimation Model Structure What happens when low order models are tted to data generated by a complex system? Perfect t often possible if excitation is poor, for example steps and sinusoids BUT models are strange Bad t with good excitation. Parameters will change substantially. Example Let the model be G(s) = b s+a and let the input be sinusoidal. a = !o<fG(i!o)g =fG(i!o)g b = !ojG(i!o)j2 =fG(i!o)g A good model structure H(z) = b0z 2 + b1z + b2 zd (z2 + a1z + a2 Data Filters and Excitation Model y(t) = G0(q)u(t) + v(t) where v is a disturbance. Filter data by yf (t) = Hf (q)y(t) uf (t) = Hf (q)u(t So that vf (t) = Hf (q)v(t) is small. This gives the model yf (t) = G0(q)uf (t) + vf (t) Typical lter rad/s Hf ωfl ωfh c K. J. Åström and B. Wittenmark 5
e ntial Forgetting Parameter track nct ion How to discard old data? Cond it io nal updating ∑2() upo y Estimator equat Add pert urbani estimat io n if excit at io n is pool 6()=6(-1)+K((-y(0(t-1) a poorly tuned co nt roller also g ()=P(t-1)y(t)(+y2(t)P(t-1)y(t) F(1)=3(-K(()P(t-1) Expo nential forgetting The forgetting factor is given by Const ant-trace algorit hms Direct ional forgetting We have Th5102050 Force parameters towards prior values 入0.8209095098 An exam ple simulatio n Consider the process Forgetting factor A=0.95 a=-!)+K(u Estimated model yih+h)+ankh)=bu(k h Design a co nt roller wit h int eg ral action and gt an =9-eh/Tm Ao(=q+ao=q-e Co nt roller struct ure (a)λ=0.1;(b)A=0.7;(c)λ=0.95 u(kh=touch)+tu(kh-h) South)-siykh-h)+ukh-h Cont roller paramet 1 1+a,+a a。am+a Estimate parameter b only C K.J. Astrom and BWittenmark
Parameter Tracking How to discard old data? Conditional updating { Support from theory { Monitor excitation. { Add perturbation signals or switch o estimation if excitation is poor { A poorly tuned controller also generates perturbation { Filtering may be useful Exponential forgetting Constant-trace algorithms Directional forgetting Leakage { Force paraqmeters towards prior values Exponential Forgetting Lossfunction V = Xt 1 tke 2 (k) Estimator equations ^ (t) = ^ (t 1) + K(t) y(t) 'T (t)^ (t 1) K(t) = P (t 1)'(t) + 'T (t)P (t 1)'(t)1 P (t) = 1 I K(t)' T (t) P (t 1) The forgetting factor is given by = eh=Tf We have Tf =h 5 10 20 50 100 0.82 0.9 0.95 0.98 0.99 An Example Consider the process dy dt = y(t) + Kp (t)u Estimated model y(kh + h) + ay(kh) = bu(kh) Design a controller with integral action and Am(q) = q + am = q eh=Tm Ao (q) = q + ao = q eh=To Controller structure u(kh) = t0uc(kh) + t1uc(kh h) s0y(kh) s1y(kh h) + u(kh h) Controller parameters t0 = 1 + am b t1 = aot0 s0 = 1 + ao + am a b s1 = aoam + a b Estimate parameter b only Simulation Forgetting factor = 0:95 0 200 400 600 800 1000 −1 1 0 200 400 600 800 1000 −10 10 0 200 400 600 800 1000 0 1 2 Time Time Time uc y u b ^ b (a) = 0:1; (b) = 0:7; (c) = 0:95 0 200 400 600 800 1000 −0.4 0.0 0.4 0 200 400 600 800 1000 −0.4 0.0 0.4 0 200 400 600 800 1000 −0.4 0.0 0.4 Time Time Time (a) (b) (c) ~ b ~ b ~ b c K. J. Åström and B. Wittenmark 6
Covariance resetting Exponent ial forgetting A=0.95 runup Estim ator Win dup ? e(t)=6(t-1)+K(t)(v()-yr(t)e(t-1) b K()=P(t-1)l(t)(入+2(t)P(t-1)q() P()=3(I-K(Oyp2(t)P(t-1) Covariance resetting Notice that if P(t-1s=0 we get u Exp EXa m ple G(s) Estimate paramet ers in P ara meter estimates y(h+h)+ay(an)= bu( h) (a)(a out put y and set point u: (b)covari ance Pi;(c)co ntrol signal u; and( d)estima k, u C K.J. Astrom and BWittenmark
Covariance Resetting Exponential forgetting = 0:95 0 200 400 600 800 1000 −1 1 0 200 400 600 800 1000 −10 10 0 200 400 600 800 1000 0 1 2 Time Time Time uc y u b ^ b Covariance resetting 0 200 400 600 800 1000 −1 1 0 200 400 600 800 1000 −10 10 0 200 400 600 800 1000 0 1 2 Time Time Time uc y u b ^ b Estimator Windup What is it? ^ (t) = ^ (t 1) + K(t) y(t) 'T (t)^ (t 1) K(t) = P (t 1)'(t) + 'T (t)P (t 1)'(t)1 P (t) = 1 I K(t)'T (t) P (t 1) Notice that if P (t 1)' = 0 we get ^ (t) ^ (t 1) P (t) = 1 P (t 1) Exponential instability!! An Example Process G(s) = s + Estimate parameters in y(kh + h) + ay(kh) = bu(kh) (1) (a) (a) output y and setpoint uc; (b) covariance p11; (c) control signal u; and (d) estimator gain k1 0 50 100 150 −1 0 1 0 50 100 150 −1 0 1 0 50 100 150 0 20 40 0 50 100 150 −2 −1 0 1 Time Time Time Time (a) uc y (b) p11 (c) u (d) k1 Parameter Estimates 0 50 100 150 −1 0 1 0 50 100 150 0 1 Time Time ^ b a^ ^k c K. J. Åström and B. Wittenmark 7
Con dition al updat Update when p(t) P(tp(t>2(1-A) Regularized Constant Trace Algorith (c 6()=6(-1)+()()-y2((-1) ()=P(t-1)9(t)(+y(t)2P(t-1)9(t) P=(P-)、Pt-1)(t)()P(t= 1+y()2P(t-1)y(t P(t P(t) tr(p(t )) P1 yp Direction al Forgetting Key idea: Forget only in the direction where there is useful information Start wit h P-4(t+1)=P-1(t)+(t)9(t) Use of prior Knowledge - Leakage Decom po se Pas Modify equat io ns to P-1(t+1)=P-1(t)+g(t)y2(t) 6()=6t-1)+()()-2(t-1)+E(-6 where P-(tp(t)=0,Hence K()=P(t-1)y(t)(x+gr(a)P(t-1)y(t)-2 7()=2(0)= P()=(I-K(t)2(t)P(t-1) Apply exponential forgetting only to the second where Bo is a prior estimate term (t+1)=.[]+Ke0-(t) P-1(t+1)=P-1(t)+7(t)yp(t)φ(t)+g(t)2(t nterpret at io nw The rhs can be writeen as P-1(t)+(1+(X-1 P(t)P-l(tp(t) (p(y()2)(y() C K J. Astrom and B Wittenmark
Conditional Updating Update when '(t)T P (t)'(t) > 2(1 ) 0 50 100 150 −1 0 1 0 50 100 150 −1 0 1 0 50 100 150 0 20 40 0 50 100 150 −2 −1 0 1 Time Time Time Time (a) uc y (b) p11 (c) u (d) k1 0 50 100 150 −1 0 1 0 50 100 150 −1 0 1 0 50 100 150 0 2 4 0 50 100 150 −1 −0.5 0 0.5 Time Time Time Time (a) uc y (b) p11 (c) u (d) k1 Regularized Constant Trace Algorithm ^ (t) = ^ (t 1) + K(t) y(t) ' T (t)^ (t 1) K(t) = P (t 1)'(t) + '(t)T P (t 1)'(t)1 P(t) = 1 P(t 1) P (t 1)'(t)'T (t)P (t 1) 1 + '(t)T P (t 1)'(t) P (t) = c1 P(t) tr P(t) + c2I Typical values c1=c2 104 'T ' c1 1 Directional Forgetting Key idea: Forget only in the direction where there is useful information Start with P 1 (t + 1) = P 1 (t) + '(t)'T (t) Decompose P as P 1 (t + 1) = P 1 (t) + '(t)'T (t) where P~1(t)'(t)=0, Hence (t) = 'T (t)P 1 (t)'(t) ('T (t)'(t))2 Apply exponential forgetting only to the second term P 1 (t + 1) = P~1 (t) + (t)'(t)'T (t) + '(t)'T (t The RHS can be writeen as P 1 (t) + 1+( 1) 'T (t)P 1 (t)'(t) ('T (t)'(t))2 '(t)'T (t) Use of Prior Knowledge { Leakage Modify equations to ^ (t) = ^ (t 1) + K(t) y(t) 'T (t)^ (t 1) + Ka(0 ^ (t K(t) = P (t 1)'(t) + 'T (t)P (t 1)'(t)1 P (t) = 1 I K(t)'T (t) P (t 1) where 0 is a prior estimate (t + 1) = ::: [ ] + K[ 0 (t)] Interpretation! c K. J. Åström and B. Wittenmark
Robust estimation a difficulty wit h least squares Numerics a single la has large im pa Th Robust statistics(Huber) C∑)2()6=∑叫((4)(2) Apply to recursive least squares cal condit e(t)=6(t-1)+P(t)p(t-1)f(e(t) Square root algo rit hms( n where Particularly im port ant for high sig nal-to-noise tegral Actio ol algorit hr steady state error even if the basic co nt roller Example: The direct self-tuner Interaction of control and y(+d)=R(q-1)(t)+S"(q-l)y(t Estimation Pro perties Int eg ral act io specifi ca Com patible crit eria for co nt rol and We thus have three ways to obt ain int eg ral estimat ion agorit hm handle it Estimate the dist ur bance explicit ely a(g)y(t)=b(u(t) nt roller wit h int filter the sig nals to the estimato CK.J. Astrom and BWittenmark
Robust Estimation A diculty with least squares: A single large error has large impact Robust statistics (Huber) Apply to recursive least squares ^ (t) = ^ (t 1) + P (t)'(t 1)f ("(t)) where f (") = " 1 + aj"j Numerics The normal equations X '(k)'T (k) = X '(k)y(k) (2) Numerical conditioning Square root algorithms (Section 11.6) Particularly important for high signal-to-noise ratios Interaction of Control and Estimation Integral action Specications Compatible criteria for control and estimation Integral Action Many adaptive control algorithms give zero steady state error even if the basic controller does not have integral action. Example: The direct self-tuner y(t + d) = R (q1 )u(t) + S (q1 )y(t Properties r^ y ( )=0 = d; : : : ; d + l r^ yu( )=0 = d; : : : ; d + k We thus have three ways to obtain integral action let the adaptive algorithm handle it automatically Estimate the disturbance explicitely A(q)y(t) = B(q)u(t) + v Use a controller with integral action and lter the signals to the estimator c K. J. Åström and B. Wittenmark 9
n -xam ple An Example tible crit for estimati and contro P Ay(t) Controller. Ru(t=Tu(t)-Sy(t sed loop syste T T Effect of specifications R+ps ue(t) u(t) +B2() Control perfor mance error PT P=(R+PsR+PS) T(P-P (R+PS(R+PS) ares error H,(Ayo- Buo) Choose filter as
An Example An Example Eect of Specications Compatible Criteria for Estimation and Control Process: Ay(t) = Bu(t) Controller: Ru(t) = T uc(t) Sy(t) Closed loop system y0(t) = P0T R + P0S uc(t) u(t) = T R + P0 uc(t) Control performance error ecp = P0T R + P0S P T R + P S uc = RT (P0 P ) (R + P0S)(R + P S) uc = R R + P S (Ay0 Bu0) But R R + P S = R AoAm Least squares error e = Hf (Ay0 Bu0) Choose lter as Hf = R AoAm c K. J. Åström and B. Wittenmark 10