MIT16_30F10_lec02 - Topic#2 16.30/31 Feedback Control...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Topic #2 16.30/31 Feedback Control Systems Basic Root Locus Basic aircraft control concepts Basic control approaches Fall 2010 16.30/31 22 Aircraft Longitudinal Control Consider the short period approximate model of an 747 aircraft. xsp = Aspxsp + Bspe where e is the elevator input, and U0 w Zw /m xsp = , Asp = -1 -1 Iyy (Mw + Mw Zw /m) Iyy (Mq + Mw U0) q Ze /m Bsp = -1 Iyy (Me + Mw Ze /m) Add that = q, so s = q Take the output as , input is e, then form the transfer function1 1 q(s) 1 (s) = = 0 1 (sI - Asp)-1Bsp e(s) s e(s) s For the 747 (40Kft, M = 0.8) this reduces to: (s) 1.1569s + 0.3435 =- 2 Ge (s) e(s) s(s + 0.7410s + 0.9272) so that the dominant roots have a frequency of approximately 1 rad/sec and damping of about 0.4 Pole-Zero Map 1 1 0.68 0.54 0.42 0.3 0.2 0.09 0.8 0.8 0.84 0.6 0.6 0.4 0.95 Imaginary Axis 0.2 0.4 0.2 0 -0.2 0.95 -0.4 0.2 0.4 -0.6 0.84 0.6 -0.8 0.68 -0.9 -0.8 -0.7 0.54 -0.6 0.42 -0.5 -0.4 Real Axis 0.3 -0.3 0.2 -0.2 0.09 -0.1 0.8 -1 -1 1 0 0.1 Fig. 1: Note - this is the Pole-zero map for Gqe 1 Much more on how to do this part later Fall 2010 16.30/31 23 Basic problem is that there are vast quantities of empirical data to show that pilots do not like the flying qualities of an aircraft with this combination of frequency and damping What is preferred? 7 Undamped natural frequency s rad/sec 6 5 POOR 4 3 2 UNACCEPTABLE ACCEPTABLE SATISFACTORY 1 0 0.1 0.2 0.4 0.6 0.8 1 2 4 Damping ratio s Image by MIT OpenCourseWare. Fig. 2: "Thumb Print" criterion This criterion was developed in 1950's, and more recent data is pro vided in MILSPEC8785C Based on this plot, a good target: frequency 3 rad/sec and damping of about 0.6 Problem is that the short period dynamics are no where near these numbers, so we must modify them. Could do it by redesigning the aircraft, but it is a bit late for that. . . Fall 2010 16.30/31 24 First Short Period Autopilot First attempt to control the vehicle response: measure and feed it back to the elevator command e. Unfortunately the actuator is slow, so there is an apparent lag in the response that we must model c e 4 s+4 a e Ge (s) c k - a c Dynamics: e is the actual elevator deflection, e is the actuator command created by our controller 4 a a c = Ge (s)e ; e = H(s)e ; H(s) = s+4 The control is just basic proportional feedback c e = -k ( - c) which gives that = -Ge (s)H(s)k ( - c) or that (s) Ge (s)H(s)k = c(s) 1 + Ge (s)H(s)k Looks good, but how do we analyze what is going on? Need to be able to predict where the poles are going as a function of k Root Locus Fall 2010 16.30/31 25 Root Locus Basics r - e Gc(s) u Gp(s) y Assume that the plant transfer function is of the form npz Np i (s - zpi ) Gp = Kp = Kp npp Dp i (s - ppi ) and the controller transfer function is ncz Nc i (s - zci ) Gc(s) = Kc = Kc ncp Dc i (s - pci ) 2 Assume that npp > npz and ncp > ncz Signals are: u y r e control commands output/measurements reference input response error Unity feedback form. We could add the controller Gc in the feedback path without changing the pole locations. Will discuss performance and add disturbances later, but for now just focus on the pole locations 2 Errata: Added n values for the number of poles and zeros Fall 2010 16.30/31 26 Basic questions: Analysis: Given Nc and Dc, where do the closed loop poles go as a function of Kc? Synthesis: Given Kp, Np and Dp, how should we chose Kc, Nc, Dc to put the closed loop poles in the desired locations? Block diagram analysis: Since y = GpGce and e = r - y, then easy to show that y Gc Gp = Gcl (s) r 1 + Gc Gp where Kc Kp N c N p DcDp + KcKpNcNp is the closed loop transfer function Gcl (s) = Denominator called characteristic equation c(s) and the roots of c(s) = 0 are called the closed-loop poles (CLP). The CLP are clearly functions of Kc for a given Kp, Np, Dp, Nc, Dc a "locus of roots" [Evans, 1948] Fall 2010 16.30/31 27 Root Locus Analysis General root locus is hard to determine by hand and requires Matlab tools such as rlocus(num,den) to obtain full result, but we can get some important insights by developing a short set of plotting rules. Full rules in FPE, page 279 (4th edition). Basic questions: 1. What points are on the root locus? 2. Where does the root locus start? 3. Where does the root locus end? 4. When/where is the locus on the real line? 5. Given that s0 is found to be on the locus, what gain is need for that to become the closed-loop pole location? 6.What are the departure and arrival angles? 7.Where are the multiple points on the locus? Question #1: is point s0 on the root locus? Assume that Nc and Dc are known, let Nc Np Ld = and K = KcKp Dc Dp So values of s for which Ld(s) = -1/K, with K real are on the RL. For K positive, s0 is on the root locus if Ld(s0) = 180 l 360, Ld(s0) = 0 l 360, l = 0, 1, . . . [0 locus] l = 0, 1, . . . If K negative, s0 is on the root locus if These are known as the phase conditions. c(s) = 1 + KLd(s) = 0 Fall 2010 16.30/31 28 Question #2: Where does the root locus start? c = 1 + K Nc N p =0 DcDp DcDp + KNcNp = 0 So if K 0, then locus starts at solutions of DcDp = 0 which are the poles of the plant and compensator. Question #3: Where does the root locus end? Already shown that for s0 to be on the locus, must have 1 Ld(s0) = - K So if K , the poles must satisfy: Ld = NcNp =0 DcDp There are several possibilities: 1. Poles are located at values of s for which NcNp = 0, which are the zeros of the plant and the compensator 2. If Loop Ld(s) has more poles than zeros As |s| , |Ld(s)| 0, but we must ensure that the phase condition is still satisfied. Fall 2010 16.30/31 29 More details as K : Assume there are n zeros and p poles of Ld(s) Then for large |s|, Ld(s) 1 (s - )p-n So the root locus degenerates to: 1 1+ =0 (s - )p-n So n poles head to the zeros of Ld(s) Remaining p - n poles head to |s| = along asymptotes defined by the radial lines 180 + 360 (l - 1) l = p-n l = 1, 2, . . . so that the number of asymptotes is governed by the number of poles compared to the number of zeros (relative degree). If zi are the zeros if Ld and pj are the poles, then the centroid of the asymptotes is given by: = p pj - p-n n zi Fall 2010 16.30/31 210 Example: L(s) = s-4 Im Re Number of asymptotes and ? Example G(s) = s+1 s2(s + 4) Im Re Number of asymptotes and ? Example G(s) = s-1 s2(s - 4) Im Re Number of asymptotes and ? Fall 2010 16.30/31 211 Question #4: When/where is the locus on the real line? Locus points on the real line are to the left of an odd number of real axis poles and zeros [K positive]. Follows from the phase condition and the fact that the phase contribution of the complex poles/zeros cancels out Question #5: Given that s0 is found to be on the locus, what gain is needed for that to become the closed-loop pole location? Need Dp(s0)Dc(s0) 1 K = Np(s0)Nc(s0) |Ld(s0)| Since K = KpKc, sign of Kc depends on sign of Kp e.g., assume that Ld(s0) = 180, then need Kc and Kp to be same sign so that K > 0 Fall 2010 16.30/31 212 Root Locus Examples Im Re Fig. 3: Basic Im Re Fig. 4: Two poles Im Re Fig. 5: Add zero Examples similar to control design process: add compensator dynam ics to modify root locus and then chose gain to place CLP at desired location on the locus. Fall 2010 16.30/31 213 Im Fig. 6: Three poles Re Im Fig. 7: Add a zero again Re Im Re Fig. 8: Complex Case Im Re Fig. 9: Very Complex Case Fall 2010 16.30/31 214 Performance Issues Interested in knowing how well our closed loop system can track var ious inputs Steps, ramps, parabolas Both transient and steady state For perfect steady state tracking want error to approach zero t lim e(t) = 0 Can determine this using the closed-loop transfer function and the final value theorem t lim e(t) = lim se(s) s0 So for a step input r(t) = 1(t) r(s) = 1/s y(s) Gc(s)Gp(s) = r(s) 1 + Gc(s)Gp(s) e(s) 1 = r(s) 1 + Gc(s)Gp(s) y(s) = Gc(s)Gp(s) e(s) so in the case of a step input, we have r(s) 1/s e(s) = = 1 + Gc(s)Gp(s) 1 + Gc(s)Gp(s) 1/s 1 lim se(s) = lim s = e() s0 s0 1 + Gc (s)Gp (s) 1 + Gc(0)Gp(0) So the steady state error to a step is given by 1 ess = 1 + Gc(0)Gp(0) To make the error small, we need to make one (or both) of Gc(0), Gp(0) very large Fall 2010 16.30/31 215 Clearly if Gp(s) has a free integrator (or two) so that it resembles 1 sn (s+)m with n 1, then s0 lim Gp(s) ess 0 Can continue this discussion by looking at various input types (step, ramp, parabola) with systems that have a different number of free integrators (type), but the summary is this: step type 0 type 1 type 2 where Kp = lim Gc(s)Gp(s) s0 ramp parabola 1 Kv 0 1 Ka 1 1 + Kp 0 0 Position Error Constant Velocity Error Constant Acceleration Error Constant Kv = lim sGc(s)Gp(s) s0 Ka = lim s2Gc(s)Gp(s) s0 which are a good simple way to keep track of how well your system is doing in terms of steady state tracking performance. Fall 2010 16.30/31 216 Dynamic Compensation For a given plant, can draw a root locus versus K. But if desired pole locations are not on that locus, then need to modify it using dynamic compensation. Basic root locus plots give us an indication of the effect of adding compensator dynamics. But need to know what to add to place the poles where we want them. New questions: What type of compensation is required? How do we determine where to put the additional dynamics? There are three classic types of controllers u = Gc(s)e 1.Proportional feedback: Gc Kg a gain, so that Nc = Dc = 1 Same case we have been looking at. 2.Integral feedback: u(t) = Ki Used to reduce/eliminate steady-state error t 0 e( )d Gc(s) = Ki s If e( ) is approximately constant, then u(t) will grow to be very large and thus hopefully correct the error. Fall 2010 16.30/31 217 Consider error response of Gp(s) = 1/(s + a)(s + b) (a > 0, b > 0) to a step, r(t) = 1(t) r(s) = 1/s where e 1 = = S(s) r 1 + Gc G p e(s) = r(s) (1 + GcGp) where S(s) is the Sensitivity Transfer Function for the closed-loop system To analyze error, use FVT limt e(t) = lims0 se(s) so that with proportional control, s 1 1 lim ess = lim = Kg t s0 s 1 + Kg Gp (s) 1 + ab so can make ess small, but only with a very large Kg With integral control, lims0 Gc(s) = , so ess 0 Integral control improves the steady state, but this is at the expense of the transient response Typically gets worse because the system is less well damped Fall 2010 16.30/31 218 1 , add integral feedback to (s + a)(s + b) improve the steady state response. Example #1: G(s) = Im Re Fig. 10: RL after adding integral FB Increasing Ki to increase speed of the response pushes the poles towards the imaginary axis more oscillatory response. Now combine proportional and integral (PI) feedback: K2 K1 s + K 2 = s s which introduces a pole at the origin and zero at s = -K2/K1 Gc = K1 + PI solves many of the problems with just integral control Im Re Fig. 11: RL with proportional and integral FB Fall 2010 16.30/31 219 3.Derivative Feedback: u = Kde so that Gc(s) = Kds Does not help with the steady state Provides feedback on the rate of change of e(t) so that the control can anticipate future errors. 1 Example # 2: G(s) = , (a > 0, b > 0) (s - a)(s - b) with Gc(s) = Kds Im Re Fig. 12: RL with derivative FB Derivative feedback is very useful for pulling the root locus into the LHP - increases damping and more stable response. Typically used in combination with proportional feedback to form proportional-derivative feedback PD Gc(s) = K1 + K2s which moves the zero from the origin. Unfortunately pure PD is not realizable in the lab as pure differenti ation of a measured signal is typically a bad idea Typically use band-limited differentiation instead, by rolling-off the PD control with a high-frequency pole (or two). Fall 2010 16.30/31 220 Controller Synthesis First determine where the poles should be located Will proportional feedback do the job? What types of dynamics need to be added? Use main building block GB (s) = Kc (s + z) (s + p) Looks like various controllers, depending how Kc, p, and z picked If pick z > p, with p small, then Im GB (s) Kc (s + z) s Re which is essentially a PI compensator, called a lag. If pick p z, then at low frequency, the impact of p/(s + p) is small, so Im Re GB (s) Kc(s + z) which is essentially PD compensator, called a lead. Various algorithms exist to design the components of the lead and lag compensators Fall 2010 16.30/31 221 Classic Root Locus Approach Consider a simple system Gp = s-2 for which we want the closed loop poles to be at -1 2j Will proportional control be sufficient? no So use compensator with 1 pole. Gc = K So there are 3 CLP. To determine how to pick the p, z, and k, we must use the phase and magnitude conditions of the RL To proceed, evaluate the phase of the loop s+z Ld(s) = (s + p)s2 at s0 = -1 + 2j. Since we want s0 to be on the new locus, we know that Ld(s0) = 180 360l Im (s + z) (s + p) (-1,2j) -p -z 0 Re Fig. 13: Phase Condition As shown in the figure, there are four terms in Ld(s0) the two poles at the origin contribute 117 each Given the assumed location of the compensator pole/zero, can work out their contribution as well Fall 2010 16.30/31 222 2 z-1 Geometry for the real zero: tan = 2 p-1 and for the real pole: tan = Since we expect the zero to be closer to the origin, put it first on the negative real line, and then assume that p = z, where typically 5 10 is a good ratio. So the phase condition gives: but recall that -2(117) + - = 180 2 2 - arctan = 53 arctan z-1 10z - 1 tan(A - B) = tan(A) - tan(B) 1 + tan(A) tan(B) = 1.33 so which give z = 2.2253, p = 22.2531, kc = 45.5062 2 2 1 + ( z-1 )( 10z -1 ) 2 2 ( z-1 ) - ( 10z -1 ) 1 2 3 4 5 6 7 8 9 10 11 12 13 % RL design using angles clear all target = -1+2*j; phi origin= 180-atan(imag(target)/-real(target))*180/pi; syms z M; ratio=10; phi z=(imag(target)/(z+real(target))); phi p=(imag(target)/(ratio*z+real(target))); M=(phi z-phi p)/(1+phi z * phi p); test=solve(M-tan(pi/180*(2*phi origin-180))); Z=eval(test(1)); P=ratio*Z; K=1/abs((target+Z)/(target^2*(target+P))); [Z P K] Fall 2010 16.30/31 223 Pole Placement Another option for simple systems is called pole placement. Know that the desired characteristic equation is d(s) = (s2 + 2s + 5)(s + ) = 0 Actual closed loop poles solve: c(s) = 1 + GpGc = 0 s2(s + p) + K(s + z) = 0 s3 + s2p + Ks + Kz = 0 Clearly need to pull the poles at the origin into the LHP, so need a lead compensator Rule of thumb:3 take p = (5 - 10)z. Compare the characteristic equations: c(s) = s2 + 10zs2 + Ks + Kz = 0 d(s) = (s2 + 2s + 5)(s + ) = s3 + s2( + 2) + s(2 + 5) + 5 = 0 gives s2 + 2=10z s 2 + 5=K s0 5=zK solve for , z, K 25 5z ; = 5 - 2z 5 - 2z z = 2.23, = 20.25, K = 45.5 K= 3 Errata: changed the rule of the pole zero ratio. Fall 2010 16.30/31 224 Fig. 14: CLP with pole placement Code: Pole Placement 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 % % Fall 2009 % close all figure(1);clf set(gcf,'DefaultLineLineWidth',2) set(gcf,'DefaultlineMarkerSize',10) set(gcf,'DefaultlineMarkerFace','b') clear all;%close all; set(0, 'DefaultAxesFontSize', 14, 'DefaultAxesFontWeight','demi') set(0, 'DefaultTextFontSize', 14, 'DefaultTextFontWeight','demi') %Example: G(s)=1/2^2 %Design Gc(s) to put the clp poles at -1 + 2j z=roots([-20 49 -10]);z=max(z),k=25/(5-2*z),alpha=5*z/(5-2*z), num=1;den=[1 0 0]; knum=k*[1 z];kden=[1 10*z]; rlocus(conv(num,knum),conv(den,kden)); hold;plot(-alpha+eps*j,'d');plot([-1+2*j,-1-2*j],'d');hold off r=rlocus(conv(num,knum),conv(den,kden),1)' axis([-25 5 -15 15]) print -dpng -r300 rl pp.png Fall 2010 16.30/31 225 Observations In a root locus design it is easy to see the pole locations, and thus we can relatively easily identify the dominant time response Caveat is that near pole/zero cancelation complicates the process of determining which set of poles will dominate Some of the performance specifications are given in the frequency response, and it is difficult to determine those (and the corresponding system error gains) in the RL plot Easy for low-order systems, very difficult / time consuming for higher order ones As we will see, extremely difficult to identify the robustness margins using a RL plot A good approach for a fast/rough initial design Matlab tool called sisotool provides a great interface for designing and analyzing controllers MIT OpenCourseWare 16.30 / 16.31 Feedback Control Systems Fall 2010 For information about citing these materials or our Terms of Use, visit: ...
View Full Document

This note was uploaded on 02/03/2012 for the course AERO 16.30 taught by Professor Ericferon during the Fall '04 term at MIT.

Ask a homework question - tutors are online