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, even if we can change the pole locations Where do we put the poles? Linear Quadratic Regulator Symmetric Root Locus How well does this approach work? Copyright [2001 by JOnathan dHow. O
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, even if we can change the pole locations. • 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.3115-1 Pole placement e So far we have looked at how to pick k to get the dynamics to have some nice properties(i. e stabilize A 入(A)~A1(A-BK) Classic Question: where should we put these closed-loop poles? Of course we can use the time-domain specifications to locate the dominant poles- roots of +2cnS2=0 Then place rest of the poles so they are "much faster"than the dominant behavior. For example Could keep the same damped frequency wd and then move the real part to be 2-3 times faster than real part of dominant pole Just be careful moving the poles too far to the left because it takes a lot of control effort
Fall 2001 16.31 15—1 Pole Placement • So far we have looked at how to pick K to get the dynamics to have some nice properties (i.e. stabilize A) λi(A) ; λi(A − BK) • Classic Question: where should we put these closed-loop poles? • Of course we can use the time-domain specifications to locate the dominant poles — roots of: s2 + 2ζωns + ω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 wd and then move the 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 effort
Fall 2001 16.3115-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 -Gp(s)=Bs Step response of Gp for various k k=1 0.6 04 0.2 1.0 3.0 Time(seconds) Roots of normalized Bessel polynomials corresponding to a settling time of one second of Bk (s) 4.6200 24.0530±/23400 3-50093,39668±37845 4-4.0156±50723.55281±j6553 546448041104±63142.59268/30813 642169±尸530062613±44018,7.1205±14540 -80271,4.361±A8.7519,6.5714±.6786,-7.6824±28081 844554±9715,6855+1692788.1682±A41057,8.7693±3616 99658545696±/11871145815.85962±/5365594013±2665 104683512403373609±377,898:6057,49657±9342.104278±13071 All scaled to give settling times of 1 second, which ou can change to ts by dividing the poles by ts
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 → Gp(s) = 1 Bk(s) • All scaled to give settling times of 1 second, which you can change to ts by dividing the poles by ts
Fall 2001 6.3115-3 e Procedure for an nn order system Determine the desired settling time t Find the k=n polynomial from the table Divide pole locations by ts Form desired characteristic polynomial a(s)and use acker/place to determine the feedback gains Simulate to check performance and control effort Example G(s s(s+4)(s+1) with 5-40 100B 100 so that nm=k=3 Want t=2 sec. So there are 3 50093/2=-25047and (-3.96837845)/2=-1.9834±1.8922 Use these to form a(s and find the gains using acker e The Bessel approach is fine, but the step response is a bit slow
Fall 2001 16.31 15—3 • Procedure for an nth order system: — Determine the desired settling time ts — Find the k = n polynomial from the table. — Divide pole locations by ts — Form desired characteristic polynomial Φd(s) and use acker/place to determine the feedback gains. — Simulate to check performance and control effort. • Example: G(s) = 1 s(s + 4)(s + 1) with A = −5 −4 0 1 0 0 0 1 0 B = 1 0 0 so that n = k = 3. — Want ts = 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) and find the gains using acker • The Bessel approach is fine, but the step response is a bit slow
Fall 2001 163115-4 Another approach is to select the poles to match the nn polyno- mial that was designed to minimize the itae "integral of the time multiplied by the absolute value of the error JItae t e(tl dt in response to a step function Both bessel and itae are tabulated in FPE-508 Comparison for k=3(Given for wo 1 rad/sec, so slightly different than numbers given on previous page d=(s+0.920)(s+0.7465±07112) o4B=(s+0.7081)(s+0.5210±1.068 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 effort required the designer must iterate
Fall 2001 16.31 15—4 • Another approach is to select the poles to match the nth polynomial that was designed to minimize the ITAE “integral of the time multiplied by the absolute value of the error” JIT AE = 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 (Given for ω0 = 1 rad/sec, so slightly different than numbers given on previous page) φB d = (s + 0.9420)(s + 0.7465 ± 0.7112i) φIT AE 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 ignore the control effort required — the designer must iterate
Fall 2001 163115-5 Linear Quadratic Regulator An alternative approach is to place the pole locations so that the closed-loop(SISO)system optimizes the cost function LQR (t)(CC)(t)+ru(t)dt Where y'y=a(CC)c assuming D=0) is called the State Cost ul 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 ()=-Kq(t Klgr found by solving an Algebraic Riccati Equation(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—5 Linear Quadratic Regulator • An alternative approach is to place the pole locations so that the closed-loop (SISO) system optimizes the cost function: JLQR = Z ∞ 0 £ xT (t)(CTC)x(t) + r u(t) 2 ¤ dt Where: — yT y = xT (CTC)x {assuming D = 0} is called the State Cost — u2 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) = −Klqrx(t) — Klqr found by solving an Algebraic Riccati Equation (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.3115-6 Consider a siso system with a minimal model a= Ax+ Bu Where a(s)=det(sl-A)and C(sI-A-Ir-_b(s) Then with u(t)=-Klgra(t), closed-loop dynamics are det(sl-A+ bkigr) where the pi=f the left-hand-plane roots of A(s), with A(s=asa(-s)+rb(s)b(s Use this to find the optimal pole locations, and then use those to find the feed back gains required using acker The pole locations can be found using standard root-locus tools △(s)=a(sa(-s)+r-1b(s5b(-s)=0 1+r-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 I Several leaps made here for now. We will come back to this LQR problem later
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) and C(sI − A) −1 B ≡ b(s) a(s) • Then1 with u(t) = −Klqrx(t), closed-loop dynamics are: det(sI − A + BKlqr) = Y n i=1 (s − pi) where the pi ={ 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. 1Several leaps made here for now. We will come back to this LQR problem later
Fall 2001 16.3115-7 LQR Notes 1. The state cost was written using the output y y, but that does not need to be the case e We are free to define a new system output z=Cza that is not based on a physical sensor measurement LQR a(t)(C2C2)c(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 a oo- high control cost case a()a(-s+rb(s)b(s)=0= asa(-s)=0 So the n closed-loop poles are Stable roots of the open-loop system(already in the LHP. Reflection about the jw-axis of the unstable open-loop poles 3 Note what happens as rm0-low control cost case alsa-s)+r b(s b(s=0= b(s)b(-s=0 sume order o of b(s)b(s)is 2m 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—7 LQR Notes 1. The state cost was written using the output yT y, but that does not need to be the case. • We are free to define a new system output z = Czx that is not based on a physical sensor measurement. ⇒ JLQR = Z ∞ 0 £ xT (t)(CT z Cz)x(t) + r u(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.) — Reflection about the jω-axis of the unstable open-loop poles. 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) is 2m < 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.3115-8 Note that the poles tending to infinity do so along very specific paths so that they form a Butterworth Pattern At high frequency we can ignore all but the highest powers of s in the expression for A(s)=0 T 0 b The 2(n-m) solutions of this expression lie on a circle of radius (6/r)12-m) at the intersection of the radial lines with phase from the neg- ative real axis: m0一 土 (n-m)odd (+1/2)丌 Z=0.1 n-m even n-7 Examples n- m Phase 1 0 2 丌/4 3 0,土丌/3 4±丌/8,±3丌/8 Note: Plot the SRL using the 180 rules(normal)if n-m is even and the oo rules if m dd
Fall 2001 16.31 15—8 • Note that the poles tending to infinity do so along very specific paths 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) ns2n + r−1 (−1) m(bosm) 2 = 0 ⇒ s2(n−m) = (−1) n−m+1 b2 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 negative 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 180o rules (normal) if n − m is even and the 0o rules if n − m is odd
Fall 2001 16.31159 Figure 1: Example #1: G(s) s+8)(s+14)(S+20) Symmetric root locus 10 30 10 Real Axis 2042 9408 0676
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 100 101 102 10−3 10−2 10−1 100 Freq (rad/sec) Gcl Closed−loop Freq Response u=r−Kx u=Nbar r−Kx