Linear Control Systems Lecture # 16 Observers and Output Feedback Control – p. 1/2 Observers: Consider the system ẋ = Ax + Bu y = Cx + Du where the initial state x(0) is unknown, but we can measure the output y . We want to estimate the state x from the available signals u and y We assume that we know the matrices {A, B, C, D} If x(0) was known we could have estimated x by solving the equation x̂˙ = Ax̂ + Bu, x̂(0) = x(0) on line and we would have obtained x̂(t) ≡ x(t) because of the uniqueness of solutions – p. 2/2 This can also be seen by defining the estimation error e = x − x̂. Then, e satisfies the equation ė = Ax + Bu − Ax̂ − Bu = Ae, e(0) = 0 whose solution is e(t) ≡ 0 If x(0) is unknown, we cannot choose x̂(0) = x(0). Hence e(0) 6= 0 and the estimation error will be different from zero. Notice, however, that if Re [λ(A)] < 0 lim e(t) = 0 t→∞ Hence, we can asymptotically estimate the state x – p. 3/2 What if A has some eigenvalues with nonnegative real parts? or if all the eigenvalues have negative real parts, but convergence is slow? Can we use feedback to stabilize the observer? What signal can we feedback? We measure y(t) = Cx(t) + Du(t). If an estimate of the state x̂(t) is available on line, we can use it to estimate the output by ŷ(t) = C x̂(t) + Du(t). Then y(t) − ŷ(t) = Cx(t) + Du(t) − C x̂(t) − Du(t) = Ce(t) – p. 4/2 Consider the observer (estimator): x̂˙ = Ax̂ + Bu + K[y − ŷ] where K is the observer gain (an n × p matrix, where p is the number of outputs) x̂˙ = Ax̂ + Bu + K[y − C x̂ − Du] e(t) = x(t) − x̂(t) ė = ẋ − x̂˙ = Ax + Bu − Ax̂ − Bu −K[Cx + Du − C x̂ − Du] = (A − KC)e – p. 5/2 Design K such that Re [λ(A − KC)] < 0 When is that possible? (A − KC)T = AT − C T K T Let à = AT , B̃ = C T , F̃ = −K T (A − KC)T = à + B̃ F̃ There is a matrix F̃ such that Re [λ(à + B̃ F̃ )] < 0 if and only if (Ã, B̃) is stabilizable; i.e., if (Ã, B̃) is controllable or any uncontrollable eigenvalue has a negative real part – p. 6/2 There is a matrix K such that Re [λ(A − KC)] < 0 if and only if (A, C) is detectable; i.e., (A, C) is observable or any unobservable eigenvalue has a negative real part How would you compute K ? Find F̃ to stabilize (à + B̃ F̃ ) using any of the methods studied under state feedback. Then, take K = −F̃ T – p. 7/2 Output Feedback Control: Design an output feedback controller to stabilize the system ẋ = Ax + Bu y = Cx + Du Separation principle: Design a state feedback controller u = F x + v such that Re [λ(A + BF )] < 0 Design an observer x̂˙ = Ax̂ + Bu + K[y − C x̂ − Du] where K is chosen such that Re [λ(A − KC)] < 0 Take the output feedback controller as u = F x̂ + v – p. 8/2 Closed-loop system under state feedback: ẋ = (A + BF )x + Bv y = (C + DF )x + Dv The system is asymptotically stable because Re [λ(A + BF )] < 0. Hence, it is BIBO stable The closed-loop transfer function from v to y is given by Hcl (s) = (C + DF )(sI − A − BF )−1 B + D – p. 9/2 Closed-loop system under output feedback: ẋ = Ax + BF x̂ + Bv x̂˙ = Ax̂ + B(F x̂ + v) + K[Cx + Du − C x̂ − Du] = KCx + (A + BF − KC)x̂ + Bv y = Cx + DF x̂ + Dv Change of variables: " # " #" # x I 0 x = e I −I x̂ ẋ = Ax + BF (x − e) + Bv = (A + BF )x − BF e + Bv ė = (A − KC)e – p. 10/2 ẋ = (A + BF )x − BF e + Bv ė = (A − KC)e y = (C + DF )x − DF e + Dv " ẋ ė # " #" # (A + BF ) −BF x = + 0 (A − KC) e " # h i x + Dv y = (C + DF ) −DF e " B 0 # v The 2n closed-loop eigenvalues are the eigenvalues of (A + BF ) and (A − KC) – p. 11/2 Since both (A + BF ) and (A − KC) are designed to have eigenvalues with negative real parts, the closed-loop system is asymptotically stable and BIBO stable To find the closed-loop transfer function from v to y , take the Laplace transform of the state and output equations assuming zero initial conditions sx̃(s) = (A + BF )x̃(s) − BF ẽ(s) + B ṽ(s) sẽ(s) = (A − KC)ẽ(s) ỹ(s) = (C + DF )x̃(s) − DF ẽ(s) + Dṽ(s) where x̃(s) = L{x(t)} ẽ(s) = 0 ⇒ ỹ(s) = [(C +DF )(sI −A−BF )−1 B +D]ṽ(s) The same as in state feedback – p. 12/2 Remarks: 1. The controller is known as Observer-based controller 2. The observer-based controller can be represented as a dynamic compensator with cascade and feedback components u = F x̂ + v, x̂˙ = Ax̂ + Bu + K(y − C x̂ − Du) x̂˙ = (A − KC)x̂ + Ky + (B − KD)u x̃(s) = (sI − A + KC)−1 [K ỹ(s) + (B − KD)ũ(s)] ũ(s) = F (sI −A+KC)−1 [K ỹ(s)+(B −KD)ũ(s)]+ ṽ(s) – p. 13/2 ũ(s) = F (sI −A+KC)−1 [K ỹ(s)+(B −KD)ũ(s)]+ ṽ(s) Define Gu (s) = F (sI − A + KC)−1 (B − KD) , Gy (s) = F (sI − A + KC)−1 K ũ(s) = Gu (s)ũ(s) + Gy (s)ỹ(s) + ṽ(s) [I − Gu (s)]ũ(s) = Gy (s)ỹ(s) + ṽ(s) ũ(s) = [I − Gu (s)]−1 [Gy (s)ỹ(s) + ṽ(s)] – p. 14/2 ũ(s) = [I − Gu (s)]−1 [Gy (s)ỹ(s) + ṽ(s)] 3. The eigenvalues of (A + BF ) are chosen to meet the design specifications on the transient response and any constraints on x or u (as in state feedback). The eigenvalues of (A − KC) are chosen much faster than those of (A + BF ) (farther away to the left) – p. 15/2 Example: Stabilization of H(s) = 1/s2 ẋ1 = x2 , ẋ2 = u, y = x1 " # " # h i 0 1 0 A= , B= , C= 1 0 , D=0 0 0 1 (A, B) is controllable and (A, C) is observable State feedback control: u = F x + v F = h f1 f2 i ⇒ A + BF = " 0 1 f1 f2 # det[sI − (A + BF )] = s2 − f2 s − f1 – p. 16/2 Desired eigenvalues: A pair of complex eigenvalues with ωn = 2 and ζ = 0.5 2 = s2 + 2s + 4 s2 + 2ζωn s + ωn Observer: det[sI − (A + BF )] = s2 − f2 s − f1 h i ⇒ F = −4 −2 K= " k1 k2 # ⇒ A − KC = " −k1 1 −k2 0 # det[sI − (A − KC)] = s2 + k1 s + k2 – p. 17/2 Desired eigenvalues: A pair of complex eigenvalues with ωn = 10 and ζ = 0.5 2 = s2 + 10s + 100 s2 + 2ζωn s + ωn det[sI − (A − KC)] = s2 + k1 s + k2 " # 10 ⇒ K= 100 Output feedback controller: u = −4x̂1 − 2x̂2 + v x̂˙ 1 = x̂2 + 10(y − x̂1 ) x̂˙ 2 = u + 100(y − x̂1 ) – p. 18/2 Gu = −2(s + 12) s2 + 10s + 100 (1 − Gu )−1 = Gy = s2 + 10s + 100 s2 + 12s + 124 −80(3s + 5) s2 + 10s + 100 – p. 19/2 Given the system ẋ = Ax + Bu y = Cx + Du under what conditions can we stabilize it by output feedback? Theorem: The system {A, B, C, D} can be stabilized by linear output feedback if and only if (A, B) is stabilizable and (A, C) is detectable Proof of sufficiency: If (A, B) is stabilizable and (A, C) is detectable, we have seen how to design a stabilizing observer-based controller – p. 20/2 Proof of necessity: Show that uncontrollable and unobservable eigenvalues cannot be moved by output feedback It is clear that uncontrollable eigenvalues cannot be moved by feedback because they cannot be reached from the input; so it does not matter whether we deal with state or output feedback. They cannot be moved # # " " B̂1 Â11 Â12 , B̂ =  = 0 Â22 0 ż2 = Â22 z2 – p. 21/2 Consider now unobservable eigenvalues " # h i Â11 0 , Ĉ = Ĉ1 0 Â21 Â22 ż1 = Â11 z1 + B̂1 u ż2 = Â21 z1 + Â22 z2 + B̂2 u y = Ĉ1 z1 + Du Set v = 0 and consider any linear dynamic controller that can be represented by ũ(s) = G(s)ỹ(s). Let {Aa , Ba , Ca , Da } be a state-space model of G(s) – p. 22/2 żc = Aa zc + Ba y u = C a z c + Da y u = Ca zc + Da (Ĉ1 z1 + Du) (I − Da D)u = Ca zc + Ĉ1 z1 The matrix (I − Da D) must be nonsingular for the closed-loop system to be well defined u = (I − Da D)−1 [Ca zc + Ĉ1 z1 ] Notice that u depends only on z1 and zc . Also żc = [ · ]z1 + [ · ]zc – p. 23/2 The closed-loop equation takes the form z1 ∗ ∗ 0 ż1 żc = ∗ ∗ 0 zc ∗ ∗ Â22 ż2 z2 The unobservable eigenvalues remain as closed-loop eigenvalues – p. 24/2