Fall 2001 16.31 10–1 Topic #10 16.31 Feedback Control State-Space Systems ? What are the basic properties of a state-space model, and how do we analyze these? ? Time Domain Interpretations ? System Modes Copyright 2001 by Jonathan How. Fall 2001 16.31 10–1 ? Forced Solution – Consider a scalar case: ˙x = ax + bu, x(0) given ? x(t)=e at x(0) + integraldisplay t 0 e a(t?τ) bu(τ)dτ where did this come from? 1. ˙x ? ax = bu 2. e ?at [˙x ? ax]= d dt (e ?at x(t)) = e ?at bu(t) 3. integraltext t 0 d dτ e ?aτ x(τ)dτ = e ?at x(t) ? x(0) = integraltext t 0 e ?aτ bu(τ)dτ ? Forced Solution – Matrix case: ˙x = Ax + Bu where x is an n-vector and u is a m-vector ? Just follow the same steps as above to get x(t)=e At x(0) + integraldisplay t 0 e A(t?τ) Bu(τ)dτ and if y = Cx+ Du,then y(t)=Ce At x(0) + integraldisplay t 0 Ce A(t?τ) Bu(τ)dτ + Du(t) – Ce At x(0) is the initial response – Ce A(t) B is the impulse response of the system. Fall 2001 16.31 10–2 ? Have seen the key role of e At in the solution for x(t) – Determines the system time response – But would like to get more insight! ? Consider what happens if the matrix A is diagonalizable, i.e. there exists a T such that T ?1 AT = Λ which is diagonal Λ = ? ? λ 1 . . . λ n ? ? Then e At = Te Λt T ?1 where e Λt = ? ? e λ 1 t . . . e λ n t ? ? ? Follows since e At = I + At + 1 2! (At) 2 + ...and that A = TΛT ?1 ,sowecan show that e At = I + At + 1 2! (At) 2 + ... = I + TΛT ?1 t + 1 2! (TΛT ?1 t) 2 + ... = Te Λt T ?1 ? This is a simpler way to get the matrix exponential, but how find T and λ? – Eigenvalues and Eigenvectors Fall 2001 16.31 10–3 Eigenvalues and Eigenvectors ? Recall that the eigenvalues of A are the same as the roots of the characteristic equation (page 9–1) ? λ is an eigenvalue of A if det(λI ? A)=0 which is true i? there exists a nonzero v (eigenvector)forwhich (λI ? A)v =0 ? Av = λv ? Repeat the process to find all of the eigenvectors. Assuming that the n eigenvectors are linearly independent Av i = λ i v i i =1,...,n A bracketleftbig v 1 ··· v n bracketrightbig = bracketleftbig v 1 ··· v n bracketrightbig ? ? λ 1 . . . λ n ? ? AT = TΛ ? T ?1 AT =Λ ? One word of caution: Not all matrices are diagonalizable A = bracketleftbigg 01 00 bracketrightbigg det(sI ? A)=s 2 only one eigenvalue s = 0 (repeated twice). The eigenvectors solve bracketleftbigg 01 00 bracketrightbiggbracketleftbigg r 1 r 2 bracketrightbigg =0 eigenvectors are of the form bracketleftbigg r 1 0 bracketrightbigg , r 1 negationslash=0→ would only be one. ? Need the Jordan Normal Form to handle this case (section 3.7.3) Fall 2001 16.31 10–4 Mechanics ? Consider A = ? ? ?11 ?85 ? ? (sI ? A)= ? ? s +1 ?1 8 s ? 5 ? ? det(sI ? A)=(s +1)(s? 5) + 8 = s 2 ? 4s +3=0 so the eigenvalues are s 1 =1ands 2 =3 ? Eigenvectors (sI ? A)v =0 (s 1 I ? A)v 1 = ? ? s +1 ?1 8 s ? 5 ? ? s=1 bracketleftbigg v 11 v 21 bracketrightbigg =0 ? ? 2 ?1 8 ?4 ? ? bracketleftbigg v 11 v 21 bracketrightbigg =0 2v 11 ? v 21 =0,? v 21 =2v 11 v 11 is then arbitrary (negationslash= 0), so set v 11 =1 v 1 = bracketleftbigg 1 2 bracketrightbigg (s 2 I ? A)v 2 = ? ? 4 ?1 8 ?2 ? ? bracketleftbigg v 12 v 22 bracketrightbigg =0 4v 12 ? v 22 =0,? v 22 =4v 12 v 2 = bracketleftbigg 1 4 bracketrightbigg ? Confirm that Av i = λ i v i Fall 2001 16.31 10–5 Dynamic Interpretation ? Since A = TΛT ?1 ,then e At = Te Λt T ?1 = ? ? || v 1 ··· v n || ? ? ? ? e λ 1 t . . . e λ n t ? ? ? ? ? w T 1 ? . . . ? w T n ? ? ? where we have written T ?1 = ? ? ? w T 1 ? . . . ? w T n ? ? ? which is a column of rows. ? Multiply this expression out and we get that e At = n summationdisplay i=1 e λ i t v i w T i ? Assume A diagonalizable, then ˙x = Ax, x(0) given, has solution x(t)=e At x(0) = Te Λt T ?1 x(0) = n summationdisplay i=1 e λ i t v i {w T i x(0)} = n summationdisplay i=1 e λ i t v i β i ? State solution is a linear combination of the system modes v i e λ i e λ i t – Determines the nature of the time response v i – Determines extent to which each state contributes to that mode β i – Determines extent to which the initial condition excites the mode Fall 2001 16.31 10–6 ? Note that the v i give the relative sizing of the response of each part of the state vector to the response. v 1 (t)= bracketleftbigg 1 0 bracketrightbigg e ?t mode 1 v 2 (t)= bracketleftbigg 0.5 0.5 bracketrightbigg e ?3t mode 2 ? Clearly e λ i t gives the time modulation – λ i real – growing/decaying exponential response – λ i complex – growing/decaying exponential damped sinusoidal ? Bottom line: The locations of the eigenvalues determine the pole locations for the system, thus: – They determine the stability and/or performance & transient behavior of the system. – It is their locations that we will want to modify when we start the control work Fall 2001 16.31 10–7 Zeros in State Space Models ? Roots of the transfer function numerator are called the system zeros. – Need to develop a similar way of defining/computing them using a state space model. ? Zero: is a generalized frequency s 0 for which the system can have a non-zero input u(t)=u 0 e s 0 t , but exactly zero output y(t) ≡ 0 ?t – Note that there is a specific initial condition associated with this response x 0 , so the state response is of the form x(t)=x 0 e s 0 t u(t)=u 0 e s 0 t ? x(t)=x 0 e s 0 t ? y(t) ≡ 0 ? Given ˙x = Ax + Bu, substitute the above to get: x 0 s 0 e s 0 t = Ax 0 e s 0 t + Bu 0 e s 0 t ? bracketleftbig s 0 I ? A ?B bracketrightbig bracketleftbigg x 0 u 0 bracketrightbigg =0 ? Also have that y = Cx+ Du = 0 which gives: Cx 0 e s 0 t + Du 0 e s 0 t =0 → bracketleftbig CD bracketrightbig bracketleftbigg x 0 u 0 bracketrightbigg =0 ? So we must solve for the s 0 that solves: or bracketleftbigg s 0 I ? A ?B CD bracketrightbiggbracketleftbigg x 0 u 0 bracketrightbigg =0 – This is a generalized eigenvalue problem that can be solved in MATLAB r? using eig.m or tzero.m 2 2 MATLAB r? is a trademark of the Mathworks Inc. Fall 2001 16.31 10–8 ? Is a zero at the frequency s 0 if there exists a non-trivial solution of det bracketleftbigg s 0 I ? A ? B CD bracketrightbigg =0 – Compare with equation on page 9–1 ? Key Point: Zeros have both a direction bracketleftbigg x 0 u 0 bracketrightbigg and a frequency s 0 – Just as we would associate a direction (eigenvector) with each pole (fre- quency λ i ) ? Example: G(s)= s+2 s 2 +7s+12 A = ? ? ?7 ?12 10 ? ? B = bracketleftbigg 1 0 bracketrightbigg C = bracketleftbig 12 bracketrightbig D =0 det bracketleftbigg s 0 I ? A ?B CD bracketrightbigg =det ? ? s 0 +7 12 ?1 ?1 s 0 0 120 ? ? =(s 0 + 7)(0) + 1(2) + 1(s 0 )=s 0 +2=0 so there is clearly a zero at s 0 = ?2, as we expected. For the directions, solve: ? ? s 0 +7 12 ?1 ?1 s 0 0 120 ? ? s 0 =?2 ? ? x 01 x 02 u 0 ? ? = ? ? 512?1 ?1 ?20 120 ? ? ? ? x 01 x 02 u 0 ? ? =0? gives x 01 = ?2x 02 and u 0 =2x 02 so that with x 02 =1 x 0 = bracketleftbigg ?2 1 bracketrightbigg and u =2e ?2t Fall 2001 16.31 10–9 ? Further observations: apply the specified control input in the frequency domain, so that Y 1 (s)=G(s)U(s) where u =2e ?2t ,sothatU(s)= 2 s+2 Y 1 (s)= s +2 s 2 +7s +12 · 2 s +2 = 2 s 2 +7s +12 Say that s = ?2isablocking zero or a transmission zero. ? The response Y (s) is clearly non-zero, but it does not contain a component at the input frequency s = ?2. That input has been “blocked”. ? Note that the output response left in Y 1 (s) is of a very special form – it corresponds to the (negative of the) response you would see from the system with u(t)=0andx 0 = bracketleftbig ?21 bracketrightbig T Y 2 (s)=C(sI ? A) ?1 x 0 = bracketleftbig 1 ?2 bracketrightbig bracketleftbigg s +7 12 ?1 s bracketrightbigg ?1 bracketleftbigg ?2 1 bracketrightbigg = bracketleftbig 1 ?2 bracketrightbig bracketleftbigg s ?12 1 s +7 bracketrightbiggbracketleftbigg ?2 1 bracketrightbigg 1 s 2 +7s +12 = ?2 s 2 +7s +12 ? So then the total output is Y (s)=Y 1 (s)+Y 2 (s) showing that Y (s)=0→ y(t) = 0, as expected. Fall 2001 16.31 10–10 ? Summary of Zeros: Great feature of solving for zeros using the generalized eigenvalue matrix condition is that it can be used to find MIMO zeros of a system with multiple inputs/outputs. det bracketleftbigg s 0 I ? A ? B CD bracketrightbigg =0 ? Need to be very careful when we find MIMO zeros that have the same fre- quency as the poles of the system, because it is not obvious that a pole/zero cancellation will occur (for MIMO systems). – The zeros have a directionality associated with them, and that must “agree” as well, or else you do not get cancellation – More on this topic later. ? Relationship to transfer function matrix: – If z is a zero with (right) direction [ζ T , ?u T ] T ,then bracketleftbigg zI ? A ? B CD bracketrightbiggbracketleftbigg ζ ?u bracketrightbigg =0 – If z not an eigenvalue of A,thenζ =(zI ? A) ?1 B?u,whichgives bracketleftbig C(zI ? A) ?1 B + D bracketrightbig ?u = G(z)?u =0 – Which implies that G(s) loses rank at s = z – If G(s) is square, can test: det G(s)=0 – If any of the resulting roots are also eigenvalues of A, need to re-check the generalized eigenvalue matrix condition. Fall 2001 16.31 10–11 ? Note that the transfer function matrix (TFM) notion is a MIMO general- ization of the SISO transfer function – It is a matrix of transfer functions G(s)= ? ? g 11 (s) ··· g 1m (s) . . . g p1 (s) ··· g pm (s) ? ? – where g ij (s) relates the input of actuator j to the output of sensor i. ? Example: G(s)= ? ? ? ? ? 1 s +1 0 1 s ? 2 s ? 2 s +2 ? ? ? ? ? ? It is relatively easy to go from a state-space model to a TFM, but not obvious how to go back the other way. ? Note: we have to be careful how to analyze these TFM’s. – Just looking at the individual transfer functions is not useful. – Need to look at the system as a whole – will develop a new tool based on the singular values of G(s)