Fall 2001 Reference input -II 16. 3117-23 On page 17-5, compensator implemented with a reference command y changing to feedback on e(t=r(t-y(t) rather than -y(t) e G So u=gcse=gc(s(r-y), and have u=-Gc(sy 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 AcCc+Ly+ gr Kr+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=0 and g=-L, then we recover the same imple- mentation used previously, since the controller reduces to c= AcCc+L(y-r)=Acc+b-e -Kr=-cx Soif Gc(s)=CcsI-Ac-Bc, then the controller can be written as u=Gc(se(negative signs cancel)
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) ✲ Gc(s) G(s) ✲ ✻ – re y u – So u = Gc(s)e = Gc(s)(r − y), and have u = −Gc(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 = Acxc + Ly + Gr u = −Kxc + 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¯ = 0 and G = −L, then we recover the same i mplementation used previously, since the controller reduces to: x˙ c = Acxc + L(y − r) = Acxc + Bc(−e) u = −Kxc = −Ccxc – So if Gc(s) = Cc(sI−Ac) −1Bc, then the controller can be written as u = Gc(s)e (negative signs cancel)
Fall 2001 16.311724 Second: this generalization does not change the closed-loop poles of the system, regardless of the selection of G and N, since 汇=Ax+Bu C AcIc+Ly+ gr Kr+ Nr A-BK BN LC A c So the closed-loop poles are the eigenvalues of/A BK LC A 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 a Note that for this analysis, take t=a-c since c= =i-i= Ar+ Bu-(Acc+Ly+ gr) A c+B(KIc+ Nr-A-BK-LCc+ LCa+ gr)
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¯ , si nce x˙ = Ax + Bu , y = Cx x˙ c = Acxc + Ly + Gr u = −Kxc + Nr ¯ ⇒ x˙ x˙ c = A −BK LC Ac x xc + BN¯ G r y = C 0 x xc – So the closed-loop poles are the eigenvalues of A −BK LC Ac 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 estimation 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 − xc since xc ≡ xˆ x˜˙ = ˙x − x˙ c = Ax + Bu − (Acxc + Ly + Gr) = Ax + B(−Kxc + Nr ¯ ) − ({A − BK − LC}xc + LCx + Gr)
Fall 2001 16.311725 AT+ B(Nr)(A-LC] c+ LCI+Gr (A-LC). C+ BNr-(A-LC c+Gr (A-LC).I+BNr-Gr (A-LC)C+(BN-G Thus we can eliminate the effect of r on a by setting g= Bn 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 b I-A BK-BN general detI-LC SI-AcI-G 0 SI-A BK 0 previous det I-LC SI-AcL 0 sⅠ-ABK BN new det LC SI-A-BN
Fall 2001 16.31 17–25 ˙ x˜ = Ax + B(Nr ¯ ) − ({A − LC}xc + LCx + Gr) = (A − LC)x + BNr ¯ − ({A − LC}xc + Gr) = (A − LC)˜x + BNr ¯ − Gr = (A − LC)˜x + (BN¯ − G)r • Thus we can eliminate the effect of r on ˜x by setting G ≡ BN¯ • 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 − A BK −BN¯ −LC sI − Ac −G C 0 0 = 0 previous det sI − A BK 0 −LC sI − Ac L C 0 0 = 0 new det sI − A BK −BN¯ −LC sI − Ac −BN¯ C 0 0 = 0
Fall 2001 16.311726 Hard to see how this helps, but consider the scalar case SI-A BK -BN new det-LC sI-Ac-BN →C(-BKBN+(s-A)BN)=0 CBN(BK-SI-A-BK-LCD)=0 CBNSI-A-LCD=0 So that the zero of the y /r path is the root of sI -[A-LC which is the pole of the estimator With this selection of G- Bn 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 A-BK B C O r lDC LC A B e The new implementation of the controller is Cc= AcIc+ Ly+ BNr K a+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–26 • Hard to see how this helps, but consider the scalar case: new det sI − A BK −BN¯ −LC sI − Ac −BN¯ C 0 0 = 0 ⇒ C(−BKBN¯ + (sI − Ac)BN¯ )=0 −CBN¯ (BK − (sI − [A − BK − LC])) = 0 CBN¯ (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 = BN¯ the estimator dynamics are canceled 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 DC C 0 − A −BK LC Ac −1 B B N¯ = 1 • The new implementation of the controller is x˙ c = Acxc + Ly + BNr ¯ u = −Kxc + 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.3117-27 Figure 13: Example #1: G(s)=(+8(5+143(5+20) Method #l: previous implementation Method #2: previous, with the reference input scaled to ensure that the dC gain of y/rlpc=1 Method #3: new implementation with bothG= BN and N selected Step Response meth 1 meth2 0.6 0.2 04 0.5 0.7
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 = BN¯ 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.311728 Figure 14: Example #2: G(s=22L0007 Method #l: previous implementation Method #2: previous, with the reference input scaled to ensure that the dC gain of y/rlpc=1 Method #3: new implementation with bothG= BN and N selected Step Response meth 1 0.5 15 3.5 4.5
Fall 2001 16.31 17–28 Figure 14: Example #2: G(s) = 0.94 s2−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 = BN¯ 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.311729 Figure 15: Example #3: G(s) 81420 8)(S-14)(s-20) Method #l: previous implementation Method #2: previous, with the reference input scaled to ensure that the dC gain of y/rlpc=1 Method #3: new implementation with bothG= BN and N selected Step Response meth1 meth2 0.2 0.50.6 0.8
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 = BN¯ 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