Topic #15 16.31 Feedback Control State-Space Systems Full-state Feedback Control How do we change the poles of the state-space system? Or,evenifwecanchangethepolelocations. Where do we put the poles? — Linear Quadratic Regulator — Symmetric Root Locus How well does this approach work? Copyright 2001 by Jonathan How. 1 Fall 2001 16.31 15—1 Pole Placement SofarwehavelookedathowtopickK to get the dynamics to have some nice properties (i.e. stabilize A) λ i (A);λ i (A?BK) Classic Question: whereshouldweputtheseclosed-looppoles? Of course we can use the time-domain specifications to locate the dominantpoles—rootsof: s 2 +2ζω n s + ω 2 n =0 Then place rest of the poles so they are “much faster” than the dominant behavior. For example: — Could keep the same damped frequency w d andthenmovethe real part to be 2—3 times faster than real part of dominant poles ζω n Just be careful moving the poles too far to the left because it takes a lot of control e?ort Fall 2001 16.31 15—2 Could also choose the closed-loop poles to mimic a system that has similar performance to what you would like to achieve: — Just set pole locations equal to those of the prototype system. — Various options exist Bessel Polynomial Systems of order k → G p (s)= 1 B k (s) All scaled to give settling times of 1 second, which you can change to t s by dividing the poles by t s . Fall 2001 16.31 15—3 Procedure for an n th order system: — Determine the desired settling time t s — Find the k = n polynomial from the table. — Divide pole locations by t s — FormdesiredcharacteristicpolynomialΦ d (s)and useacker/place to determine the feedback gains. — Simulate to check performance and control e?ort. Example: G(s)= 1 s(s +4)(s +1) with A = ? ? ?5 ?40 1 00 0 1 0 ? ? B = ? ? 1 0 0 ? ? so that n = k =3. — Want t s = 2 sec. So there are 3 poles at: ?5.0093/2=?2.5047 and (?3.9668 ± 3.7845i)/2=?1.9834 ±1.8922i — Use these to form Φ d (s)andfind the gains using acker The Bessel approach is fine, but the step response is a bit slow. Fall 2001 16.31 15—4 Another approach is to select the poles to match the n th polyno- mial that was designed to minimize the ITAE “integral of the time multiplied by the absolute value of the error” J ITAE = Z ∞ 0 t |e(t)| dt in response to a step function. Both Bessel and ITAE are tabulated in FPE-508. — Comparison for k =3(Givenforω 0 = 1 rad/sec, so slightly di?erent than numbers given on previous page) φ B d =(s +0.9420)(s +0.7465 ± 0.7112i) φ ITAE d =(s +0.7081)(s +0.5210 ±1.068i) So the ITAE poles are not as heavily damped. — Some overshoot — Faster rise-times. Problem with both of these approaches is that they completely ig- nore the control e?ort required — the designer must iterate. Fall 2001 16.31 15—5 Linear Quadratic Regulator An alternative approach is to place the pole locations so that the closed-loop (SISO) system optimizes the cost function: J LQR = Z ∞ 0 £ x T (t)(C T C)x(t)+ru(t) 2 ¤ dt Where: — y T y = x T (C T C)x {assuming D =0} is called the State Cost — u 2 is called the Control Cost,and — r is the Control Penalty — Simple form of the Linear Quadratic Regulator Problem. Can show that the optimal control is a linear state feedback: u(t)=?K lqr x(t) — K lqr foundbysolvinganAlgebraic RiccatiEquation(ARE). We will look at the details of this solution procedure later. For now, let’s just look at the optimal closed-loop pole locations. Fall 2001 16.31 15—6 Consider a SISO system with a minimal model ˙x = Ax + Bu , y = Cx where a(s)=det(sI ?A)andC(sI ?A) ?1 B ≡ b(s) a(s) Then 1 with u(t)=?K lqr x(t), closed-loop dynamics are: det(sI ?A + BK lqr )= n Y i=1 (s?p i ) where the p i ={ the left-hand-plane roots of ?(s)},with ?(s)=a(s)a(?s)+r ?1 b(s)b(?s) Use this to find the optimal pole locations, and then use those to find the feedback gains required using acker. The pole locations can be found using standard root-locus tools. ?(s)=a(s)a(?s)+r ?1 b(s)b(?s)=0 ? 1+ r ?1 G(s)G(?s)=0 — The plot is symmetric about the real and imaginary axes. ? Symmetric Root Locus — 2n poles are plotted as a function of r — The poles we pick are always the n in the LHP. 1 Several leaps made here for now. We will come back to this LQR problem later. Fall 2001 16.31 15—7 LQR Notes 1. The state cost was written using the output y T y, but that does not need to be the case. Wearefreetodefine a new system output z = C z x that is not based on a physical sensor measurement. ? J LQR = Z ∞ 0 £ x T (t)(C T z C z )x(t)+ru(t) 2 ¤ dt Selection of z used to isolate the system states you are most concerned about, and thus would like to be regulated to “zero”. 2. Note what happens as r;∞ — high control cost case a(s)a(?s)+r ?1 b(s)b(?s)=0 ? a(s)a(?s)=0 So the n closed-loop poles are: — Stable roots of the open-loop system (already in the LHP.) — Reflectionaboutthe jω-axisoftheunstableopen-looppoles. 3. Note what happens as r;0—low control cost case a(s)a(?s)+r ?1 b(s)b(?s)=0 ? b(s)b(?s)=0 Assume order of b(s)b(?s)is2m<2n So the n closed-loop poles go to: — The m finite zeros of the system that are in the LHP (or the reflections of the systems zeros in the RHP). — The system zeros at infinity (there are n?m of these). Fall 2001 16.31 15—8 Note that the poles tending to infinity do so along very specificpaths so that they form a Butterworth Pattern: — At high frequency we can ignore all but the highest powers of s in the expression for ?(s)=0 ?(s)=0 ; (?1) n s 2n + r ?1 (?1) m (b o s m ) 2 =0 ? s 2(n?m) =(?1) n?m+1 b 2 o r The 2(n?m) solutions of this expression lie on a circle of radius (b 2 0 /r) 1/2(n?m) at the intersection of the radial lines with phase from the neg- ative real axis: ± lπ n?m ,l=0,1,..., n?m?1 2 , (n?m) odd ± (l +1/2)π n?m ,l=0,1,..., n?m 2 ?1 , (n?m) even Examples: n?m Phase 1 0 2 ±π/4 3 0, ±π/3 4 ±π/8, ±3π/8 Note: Plot the SRL using the 180 o rules (normal) if n?m is even and the 0 o rules if n?m is odd. Fall 2001 16.31 15—9 Figure 1:Example#1: G(s)= 8·14·20 (s+8)(s+14)(s+20) ?30 ?20 ?10 0 10 20 30 ?50 ?40 ?30 ?20 ?10 0 10 20 30 40 50 Real Axis Imag Axis Symmetric root locus 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 time (sec) Y output Step Response 2.042 2.9408 5.0676 3.3166 u=r?Kx u=Nbar r?Kx 10 ?1 10 0 10 1 10 2 10 ?3 10 ?2 10 ?1 10 0 Freq (rad/sec) G cl Closed?loop Freq Response u=r?Kx u=Nbar r?Kx Fall 2001 16.31 15—10 Figure 2: Example #2: G(s)= 0.94 s 2 ?0.0297 ?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1 ?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1 Real Axis Imag Axis Symmetric root locus 0 5 10 15 20 25 30 0 0.2 0.4 0.6 0.8 1 1.2 time (sec) Y output Step Response 1.6489 1.3594 1.4146 u=r?Kx u=Nbar r?Kx 10 ?3 10 ?2 10 ?1 10 0 10 1 10 ?3 10 ?2 10 ?1 10 0 Freq (rad/sec) G cl Closed?loop Freq Response u=r?Kx u=Nbar r?Kx Fall 2001 16.31 15—11 Figure 3: Example #3: G(s)= 8·14·20 (s?8)(s?14)(s?20) ?30 ?20 ?10 0 10 20 30 ?50 ?40 ?30 ?20 ?10 0 10 20 30 40 50 Real Axis Imag Axis Symmetric root locus 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 time (sec) Y output Step Response 23.042 2.94079 9.44262 3.3166 u=r?Kx u=Nbar r?Kx 10 ?1 10 0 10 1 10 2 10 ?3 10 ?2 10 ?1 10 0 Freq (rad/sec) G cl Closed?loop Freq Response u=r?Kx u=Nbar r?Kx Fall 2001 16.31 15—12 Figure 4: Example #4: G(s)= (s?1) (s+1)(s?3) ?5 ?4 ?3 ?2 ?1 0 1 2 3 4 5 ?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1 Real Axis Imag Axis Symmetric root locus 0 1 2 3 4 5 6 7 8 9 10 ?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1 time (sec) Y output Unstable, NMP system Step Response 7.3589 3.6794 ?4.3589 u=r?Kx u=Nbar r?Kx 10 ?2 10 ?1 10 0 10 1 10 2 10 ?2 10 ?1 10 0 Freq (rad/sec) G cl Closed?loop Freq Response u=r?Kx u=Nbar r?Kx Fall 2001 16.31 15—13 Figure 5: Example #5: G(s)= (s?2)(s?4) (s?1)(s?3)(s 2 +0.8s+4)s 2 ?6 ?4 ?2 0 2 4 6 ?8 ?6 ?4 ?2 0 2 4 6 8 Real Axis Imag Axis Symmetric root locus 0 1 2 3 4 5 6 7 8 9 10 ?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1 time (sec) Y output Unstable, NMP system Step Response 10.0869 4.64874 8.01734 3.81 3.1623 u=r?Kx u=Nbar r?Kx 10 ?2 10 ?1 10 0 10 1 10 2 10 ?8 10 ?7 10 ?6 10 ?5 10 ?4 10 ?3 10 ?2 10 ?1 10 0 Freq (rad/sec) G cl Closed?loop Freq Response u=r?Kx u=Nbar r?Kx Fall 2001 16.31 15—14 As noted previously, we are free to pick the state weighting matrices C z to penalize the parts of the motion we are most concerned with. Simple example — oscillator with x =[p, v] T A = ? 0 1 ?2 ?0.5 ? ,B= ? 0 1 ? but we choose two cases for z z = p = £ 1 0 ¤ x and z = v = £ 0 1 ¤ x ?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1 ?2 ?1.5 ?1 ?0.5 0 0.5 1 1.5 2 Real Axis Imag Axis SRL with Position Penalty ?2 ?1.5 ?1 ?0.5 0 0.5 1 1.5 2 ?1.5 ?1 ?0.5 0 0.5 1 1.5 Real Axis Imag Axis SRL with Velocity Penalty Figure 6: SRL with position (left) and velocity penalties (right) Clearly,choosingadi?erent C z impacts the SRL because it com- pletely changes the zero-structure for the system. Fall 2001 16.31 15—15 Summary Dominantsecondandprototypedesignapproaches(BesselandITAE) place the closed-loop pole locations with no regard to the amount of control e?ort required. — Designer must iterate on the selected bandwidth (ω n ) to ensure that the control e?ort is reasonable. LQR/SRLapproachselectsclosed-looppolesthatbalancebetween system errors and the control e?ort. — Easy design iteration using r — poles move along the SRL. — Sometimes di?cult to relate the desired transient response to the LQR cost function. Nice thing about the LQR approach is that the designer is focused on system performance issues — The pole locations are then supplied using the SRL.