Fall 2001 16.31 17–23 Reference Input - II ? On page 17-5, compensator implemented with a reference command by changing to feedback on e(t)=r(t) ? y(t) rather than ?y(t) G c (s) G(s) ? ? ? – re yu – So u = G c (s)e = G c (s)(r ?y), and have u = ?G c (s)y if r =0. – Intuitively appealing because it is the same approach used for the classical control, but it turns out not to be the best approach. ? Can improve the implementation by using a more general form: ˙x c = A c x c + Ly + Gr u = ?Kx c + ˉ Nr – Now explicitly have two inputs to the controller (y and r) – ˉ N performs the same role that we used it for previously. – Introduce G as an extra degree of freedom in the problem. ? First: if ˉ N =0andG = ?L,thenwerecoverthesameimple- mentation used previously, since the controller reduces to: ˙x c = A c x c + L(y ? r)=A c x c + B c (?e) u = ?Kx c = ?C c x c – So if G c (s)=C c (sI?A c ) ?1 B c , then the controller can be written as u = G c (s)e (negative signs cancel). Fall 2001 16.31 17–24 ? Second: this generalization does not change the closed-loop poles of the system, regardless of the selection of G and ˉ N,since ˙x = Ax + Bu , y = Cx ˙x c = A c x c + Ly + Gr u = ?Kx c + ˉ Nr ? bracketleftbigg ˙x ˙x c bracketrightbigg = bracketleftbigg A ?BK LC A c bracketrightbiggbracketleftbigg x x c bracketrightbigg + bracketleftbigg B ˉ N G bracketrightbigg r y = bracketleftbig C 0 bracketrightbig bracketleftbigg x x c bracketrightbigg – So the closed-loop poles are the eigenvalues of bracketleftbigg A ?BK LC A c bracketrightbigg regardless of the choice of G and ˉ N – G and ˉ N impact the forward path, not the feedback path ? Third: given this extra freedom, what is the best way to use it? – One good objective is to select G and ˉ N so that the state esti- mation error is independent of r. – With this choice, changes in r do not tend to cause such large transients in ?x – Note that for this analysis, take ?x = x ? x c since x c ≡ ?x ˙ ?x =˙x ? ˙x c = Ax + Bu? (A c x c + Ly + Gr) = Ax + B(?Kx c + ˉ Nr) ? ({A ? BK ? LC}x c + LCx + Gr) Fall 2001 16.31 17–25 ˙ ?x = Ax + B( ˉ Nr) ? ({A ? LC}x c + LCx + Gr) =(A ? LC)x + B ˉ Nr? ({A ? LC}x c + Gr) =(A ? LC)?x + B ˉ Nr? Gr =(A ? LC)?x +(B ˉ N ? G)r ? Thus we can eliminate the e?ect of r on ?x by setting G ≡ B ˉ N ? Fourth: if this generalization does not change the closed-loop poles of the system, then what does it change? – The zeros of the y/r transfer function, which are given by: general det ? ? sI ? ABK?B ˉ N ?LC sI ? A c ?G C 0 0 ? ? =0 previous det ? ? sI ? ABK 0 ?LC sI ? A c L C 0 0 ? ? =0 new det ? ? sI ? ABK?B ˉ N ?LC sI ? A c ?B ˉ N C 0 0 ? ? =0 Fall 2001 16.31 17–26 ? Hard to see how this helps, but consider the scalar case: new det ? ? sI ? ABK?B ˉ N ?LC sI ? A c ?B ˉ N C 0 0 ? ? =0 ? C(?BKB ˉ N +(sI ? A c )B ˉ N)=0 ?CB ˉ N(BK ? (sI ? [A ? BK ? LC])) = 0 CB ˉ N(sI ? [A ? LC]) = 0 – So that the zero of the y/r path is the root of sI?[A?LC]=0 which is the pole of the estimator. – With this selection of G = B ˉ N the estimator dynamics are can- celed out of the response of the system to a reference command. – No such cancelation occurs with the previous implementation. ? Fifth: select ˉ N to ensure that the steady-state error is zero. – As before, this can be done by selecting ˉ N so that the DC gain of the closed-loop y/r transfer function is 1. y r vextendsingle vextendsingle vextendsingle DC defines bracketleftbig C 0 bracketrightbig parenleftBigg ? bracketleftbigg A ?BK LC A c bracketrightbigg ?1 parenrightBigg bracketleftbigg B B bracketrightbigg ˉ N =1 ? The new implementation of the controller is ˙x c = A c x c + Ly + B ˉ Nr u = ?Kx c + ˉ Nr – Which has two separate inputs y and r – Selection of ˉ N ensure that the steady-state performance is good – The new implementation gives better transient performance. Fall 2001 16.31 17–27 Figure 13: Example #1: G(s)= 8·14·20 (s+8)(s+14)(s+20) . ? Method #1: previous implementation. ? Method #2: previous, with the reference input scaled to ensure that the DC gain of y/r| DC =1. ? Method #3: new implementation with both G = B ˉ N and ˉ N selected. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Step Response meth1 meth2 meth3 Fall 2001 16.31 17–28 Figure 14: Example #2: G(s)= 0.94 s 2 ?0.0297 . ? Method #1: previous implementation. ? Method #2: previous, with the reference input scaled to ensure that the DC gain of y/r| DC =1. ? Method #3: new implementation with both G = B ˉ N and ˉ N selected. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 Step Response meth1 meth2 meth3 Fall 2001 16.31 17–29 Figure 15: Example #3: G(s)= 8·14·20 (s?8)(s?14)(s?20) . ? Method #1: previous implementation. ? Method #2: previous, with the reference input scaled to ensure that the DC gain of y/r| DC =1. ? Method #3: new implementation with both G = B ˉ N and ˉ N selected. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ?3 ?2 ?1 0 1 2 3 4 Step Response meth1 meth2 meth3