Feedback Control System Design 2.017 Fall 2009

Feedback Control System Design 2.017 Fall 2009

Feedback Control System Design 2.017 Fall 2009 Dr. Harrison Chin 10/29/2009 Announcements • Milestone Presentations on Nov 5 in class – This is 15% of your total grade: 5% group grade 10% individual grade – Email your team’s PowerPoint file to Franz and Harrison by 10 am on Nov 5 – Each team gets 30 minutes of presentation + 10 minutes of Q&A – Select or design your own presentation template and style Control Systems • An integral part of any industrial society • Many applications including transportation, automation, manufacturing, home appliances,… • Helped exploration of the oceans and space • Examples: – Temperature control – Flight control – Process control –… Types of Control Systems Open loop system control disturbance d command input u output r Controller Actuators Plant Sensors y Closed loop system control disturbance error input d command output + e u r Controller Actuators Plant Sensors y _ Control System Comparison • Open loop: – The output variables do not affect the input variables – The system will follow the desired reference commands if no unpredictable effects occur – It can compensate for disturbances that are taken into account – It does not change the system stability • Closed loop: – The output variables do affect the input variables in order to maintain a desired system behavior – Requires measurement (controlled variables or other variables) – Requires control errors computed as the difference between the controlled variable and the reference command – Computes control inputs based on the control errors such that the control error is minimized – Able to reject the effect of disturbances – Can make the system unstable, where the controlled variables grow without bound Overview of Closed Loop Control Systems Disturbances Inputs Actuators Plant Outputs Sensors Power Amp Scope Computer / DAC ADC Function Microcontroller Generator Reference Inputs (Setpoints) Control Algorithm Model Control System Representations • Transfer functions (Laplace) ⎧x&(t) = Ax(t) + Bu(t) • State-space equations (System matrices) ⎨ ⎩y(t) = Cx(t) + Du(t) • Block diagrams D(s) Gd (s) E(s) + + R(s) Gc (s) G(s) Y (s) _ + H (s) Laplace Transform • Convert functions of time into functions that are algebraic in the complex variables. • Replaces differentiation & integral operations by algebraic operations all involving the complex variable. • Allows the use of graphical methods to predict system performance without solving the differential equations of the system. These include response, steady state behavior, and transient behavior. • Mainly used in control system analysis and design. Laplace vs. Fourier Transform • Laplace transform: ∞ F(s) = f (t)e−st dt f ′(t) ⇒ sF(s) ∫0 • Fourier transform ∞ F(ω) = f (t)e− jωt dt ∫−∞ • Laplace transforms often depend on the initial value of the function • Fourier transforms are independent of the initial value. • The transforms are only the same if the function is the same both sides of the y-axis (so the unit step function is different). System Modeling (1st Order System) Differential equation: Transfer function: Laplace transform mv&(t) + bv(t) = f (t) mV (s)s + bV (s) = F(s) mv&(t) + bv(t) = 0 V (s) 1 (1/ b) = = F(s) ms + b m / b s +1 ⎛ b ⎞ () −⎜ ⎟t v(t) = v (t)e ⎝ m ⎠ 0 −1 − b −1 s = = = ()m / b m τ Time constant 5× e−1 = 1.84 τ ≈ 1.5 System Modeling (2nd Order System) x,v k mv&(t) + bv(t) = f (t) m b m&x&(t) + bx&(t) + kx(t) = f (t) 2 2 x = e−(b / 2m)t ⎜⎛ Ae (b / 2m) −(k / m)t + Be− (b / 2m) −(k / m)t ⎟⎞ ⎝ ⎠ 2 2 2 s + 2ζωns + ωn ⇔ ms + bs + k ⎧ k ⎪ωn = ⎪ m ⇒ ⎨ b ⎪ζ = ⎩⎪ 2 km 2nd Order System Poles 2 2 π s + 2ζωns +ωn = 0 T = p 2 ωn 1−ζ 4 2 Ts = s1,2 = −σ d ± jωd = −ζωn ± jωn 1−ζ ζωn ⎛ ζπ ⎞ −⎜ ⎟ ⎜ 2 ⎟ %OS = e ⎝ 1−ζ ⎠ ×100 System Identification (Time Domain) Step Input, Open Loop τ System Identification (Frequency Domain) Z-Axis 2 Center Stage Modes 10 100 Measured Gain -2 Model 10 Fit 101 102 103 Frequency (Hz) ) 0 eg d ( -100 -200 e Lag as -300 Ph 101 102 103 Frequency (Hz) Closed-Loop Transfer Function • The gain of a single-loop feedback system is given by the forward gain divided by 1 plus the loop gain. + E(s) R(s) Gc (s)G(s) Y (s) _ H (s) Gc (s)G(s) Gcl (s) = 1+ Gc (s)G(s)H(s) PID Controller Transfer Function K G (s) = K + i + K s c p s d K + K s + K s2 = i p d s ⎛ ⎛ K p ⎞ ⎛ K ⎞ 2 ⎞ ⎜1+ ⎜ ⎟s + ⎜ d ⎟s ⎟ Ki ⎝ Ki ⎠ = K ⎜ ⎝ ⎠ ⎟ i ⎜ s ⎟ ⎜ ⎟ ⎝ ⎠ Disturbance Rejection (Active Vibration Cancellation) P, PI, PD, PID,… disturbance Controller Plant Control Actions • Proportional – improves speed but with steady-state error • Integral – improves steady state error but with less stability, overshoot, longer transient, integrator windup • Derivative – improves stability but sensitive to noise Root Locus • Can we increase system damping with a simple proportional control ? Dominant Poles σ 2 σ1 MATLAB SISO Design Tool • MATLAB command: ‘sisotool’ or ‘rltool’ PID Controller Transfer Function Courtesy of The MathWorks, Inc. Used with permission. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. State-Space Representation ⎧x&(t) = Ax(t) + Bu(t) ⎧sX (s) = AX (s) + BU (s) ⎨ ⇒ ⎨ ⎩y(t) = Cx(t) + Du(t) ⎩ Y (s) = CX (s) + DU (s) (sI − A)X (s) = BU (s) ⇒ X (s) = (sI − A)−1BU (s) Y (s) = C(sI − A)−1BU (s) + DU (s) Y (s) ⇒ G(s) = = C(sI − A)−1B + D U (s) Characteristic Polynomial Resolvent if D = 0 −1 ⎡adj(sI − A) ⎤ ⇒ G(s) = C(sI − A) B = C⎢ ⎥B ⎣det(sI − A)⎦ det(sI − A + BC) − det(sI − A) = det(sI − A) MATLAB ss2tf command uses this formula to compute the transfer function(s) Characteristic polynomial Controllability x2 x(tf) x1 x(t0) Courtesy of Kamal Youcef-Toumi. Used with permission. Observability Courtesy of Kamal Youcef-Toumi. Used with permission. Stabilizability and Detectability Courtesy of Kamal Youcef-Toumi. Used with permission. Example • Can we observe and/or control the position (x) of the following system? u x& x Full-State Feedback ⎧x& = Ax + Bu ⎨ ⎩y = Cx Open-loop characteristic equation: det[sI − A]= 0 u = −Kx x& = Ax − BKx = (A − BK)x Closed-loop characteristic equation: det[sI − (A − BK)]= 0 Where to Place The Poles? • Must meet the performance requirements: – Stability – Speed of response – Robustness • For a given state the larger the gain, the larger the control input • Avoid actuator saturation • Avoid stressing the hardware (not exciting any structural modes) • The gains are proportional to the amounts that the poles are to be moved. The less the poles are moved, the smaller the gain matrix. Butterworth Pole Configurations • The bandwidth of a system is governed primarily by its dominant poles (i.e., the poles w/ real parts closest to the origin) • Efficient use of the control signal would require that all the closed-loop poles be about the same distance from the origin (a.k.a Butterworth configuration) B1(s) = s +1 2 B2 (s) = s + 2s +1 3 2 B3 (s) = s + 2s + 2s +1 4 3 2 B4 (s) = s + 2.613s + ()2 + 2 s + 2.613s +1 State-Space Design Summary • Formulate the state-space model • Make sure the system is both controllable and observable by checking the ranks of the controllability and the observability matrices – Add additional actuators if necessary – Add additional sensors if necessary – Eliminate redundant states • Select a bandwidth high enough to achieve the desired speed of response • Keep the bandwidth low enough to avoid exciting unmodeled high-frequency modes and noise • Place the poles at roughly uniform distance from the origin for efficient use of the control effort Example ⎧x&(t) = Ax(t) + Bu(t) ⎨ ⎩y(t) = Cx(t) ⎡0 1 ⎤ ⎡0⎤ A = ⎢ ⎥ B = ⎢ ⎥ C = [1 1] ⎣4 − 2⎦ ⎣1⎦ Place closed-loop poles according to the Butterworth configuration 2 det[sI − (A − BK)]= B2 (s) = s + 2s +1 ′ −1 Bass-Gura formula: K = ⎡()QW ⎤ (a) − a) ⎣⎢ ⎦⎥ Ackermann’s formula: MATLAB command “acker(A,B,p)” ExampleMATLAB Code % 2.14/2.140 State-Space Method Example %% Test controllability and observability %% Set up an SS model CtrlTestMatrix = ctrb(A,B) A = [0 1 rank(CtrlTestMatrix) 4 -2]; ObsrbTestMatrix = obsv(A,C) B = [0 rank(ObsrbTestMatrix) 1]; %% Place the poles to Butterworth configuration C = [1 1]; p = roots([1 sqrt(2) 1]) % K = acker(A,B,p) % this method is not numerically D = 0; reliable and starts to break down rapidly for problems of order greater than 5 K = place(A,B,p) %% Convert to transfer function [num,den] = ss2tf(A,B,C,D,1); % check the closed-loop pole locations eig(A-B*K) sys_tf = tf(num,den) pzmap(1,poly(eig(A-B*K))) zpk(sys_tf) pzmap(sys_tf) hold Frequency Design Methods • Loop shaping • Bode, Nyquist • Crossover frequency • Closed-loop bandwidth • Phase margin Frequency Response (Gain and Phase) vin (t) Gcl (s) vout (t) Vout p-p Vin p-p Phase shift Frequency Response (Bode Plot ) • The frequency response of a system is typically expressed as a Bode plot. ⎛ π ⎞ M c = M 0 ⋅sin⎜ ⎟ = 0.707 ⋅ M 0 ⎝ 4 ⎠ 20⋅log10 (0.707) = 3dB Gain Plot Phase Plot Cutoff frequency 1 ω = 2πf = c c τ MIT OpenCourseWare http://ocw.mit.edu 2.017J Design of Electromechanical Robotic Systems Fall 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    36 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us