TRACKING AND DISTURBANCE REJECTION Sadegh Bolouki Lecture slides for ECE 515 University of Illinois, Urbana-Champaign Fall 2016 S. Bolouki (UIUC) 1 / 13
General objective: The output to track a reference input signal r. Examples: Pilot: letting the aircraft tilt forward to some specified angle. Car driver (cruise control): making the car drive with some specified speed. { ẋ = Ax + Bu y = Cx + Du (no disturbance) We take u = Kx + Nr. ẋ = (A BK)x + BNr Choose K such that A BK is stable. Y(s) = [ (C DK)(sI (A BK)) 1 B + D ] NR(s) final value theorem: lim y(t) = lim sy(s) = [ (C DK)(A BK) 1 B + D ] Nr t s 0 Choose N such that [ (C DK)(A BK) 1 B + D ] N = I. Then, irrespective of the value of r, we have lim t y(t) = r.
For [ (C DK)(A BK) 1 B + D ] N = I to be solvable, we need (C DK)Π + DN = I where Π := (A BK) 1 BN. Thus we have { (A BK)Π + BN = 0 (C DK)Π + DN = I Or equivalently { AΠ + B(N KΠ) = 0 CΠ + D(N KΠ) I = 0 If we now define Γ := N KΠ, then [ ] [ ] [ ] A B Π 0 + = 0 : regulator equation C D Γ I A solution to the regulator problem exists [ (C DK)(A BK) 1 B + D ] N = I is solvable.
S. Bolouki (UIUC) 4 / 13
In practice, we seek a solution that is robust to disturbances. { ẋ = Ax + Bu + Ew y = Cx + Fw where w R n is a DC disturbance. Again, the goal is lim t y(t) = r R p. To achieve this goal, we take u = K 1 x K 2 η where η is the integral of the error e = y r, i.e., η = y r.. [ẋ ] [ ] [ A BK1 BK = 2 x + η C 0 η] }{{} A cl [ [ 0 E r + w I] F] if A cl is stable, lim t η(t) = lim t y(t) r = 0, that is our goal! S. Bolouki (UIUC) 5 / 13
Can we make A cl = Notice that [ ] A BK1 BK 2 stable? C 0 [ ] [ A 0 B [ ] A cl = K1 K C 0 0] 2 }{{}}{{} à B A cl is stable for some K 1, K 2 (Ã, B) is stabilizable Arbitrary pole placement of A cl Controllability of (Ã, B) When is (Ã, B) controllable? Hautus-Rosenbrock: We need [ si à B ] to be full-row-rank for any s C. S. Bolouki (UIUC) 6 / 13
(i) (s = 0) : [ si à B ] [ ] A 0 B =. [ ] C 0 0 A B Thus, must be full-row-rank. C 0 (ii) (s 0) : [ si à B ] [ ] si A 0 B =. C si 0 Thus, [ si A B ] must be full-row-rank for any s C\{0}. However, [ si A Hence, [ si A B ] is also full-row-rank for s = 0 (see (i)). B ] must be full-row-rank for any s C, that is (A, B) must be controllable. Thus [ ] A B is full-row-rank; (Ã, B) is controllable C 0 (A, B) is controllable. S. Bolouki (UIUC) 7 / 13
Example. { ẋ = 2x + u + w y = x. Then [ ] A B = C 0 [ ] 2 1 1 0 : full-row-rank (A, B) = ([ 2 ], [ 1 ]) : controllable Therefore, arbitrary pole placement of [ ] A BK1 BK A cl = 2 = C 0 [ ] 2 k1 k 2 1 0 should be possible. Finally t ( u(t) = k 1 x(t) k 2 y(t ) r ) dt. 0 S. Bolouki (UIUC) 8 / 13
S. Bolouki (UIUC) 9 / 13
S. Bolouki (UIUC) 10 / 13
(SISO Case) From y to u: { ˆx = (A BK LC)ˆx + Ly u = Kx Thus, U(s) = K [ si (A BK LC) ] 1 L S. Bolouki (UIUC) 11 / 13
G(s) = K [ si (A BK LC) ] 1 L Notice that G(s) is strictly proper. Our goal is to design G(s). Plant transfer function: P(s) = b(s) a(s) Controller transfer function: G(s) = n(s) We take the control U(s) = G(s)Y(s) + R(s). Then, the closed loop model has the following transfer function: P cl (s) = Y(s) U(s) = d(s) b(s)d(s) a(s)d(s) + b(s)n(s) Therefore, the poles of the closed-loop model are the roots of cl (s) := a(s)d(s) + b(s)n(s) S. Bolouki (UIUC) 12 / 13
Recall from the separation principle that the poles of the closed-loop model are the roots of det [ si (A BK) ] det [ (si (A LC) ], }{{}}{{} α c(s) α o(s) that is known (desired). Thus we must have a(s)d(s) + b(s)n(s) = α c (s)α o (s) : Diophantine equation This equation is solvable for any α c (s) and α o (s) if and only if a(s) and b(s) have no common roots. S. Bolouki (UIUC) 13 / 13