ECE4510: Feedback Control Systems. 1–1 FEEDBACK CONTROL • Control is a very common concept. e.g., Human-machine interaction: Driving a car. ➤ MANUAL CONTROL. e.g., Independent machine: Room temperature control. Furnace in winter, air conditioner in summer. Both controlled (turned “on”/“off”) by thermostat. ➤ AUTOMATIC CONTROL. Control is the process of causing a system variable to conform to some desired value, called a reference value. (e.g., variable=temperature) DEFINITION: Feedback is the process of measuring the controlled variable (e.g., temperature) and using that information to influence the value of the controlled variable. DEFINITION: • Some applications: – Airplane autopilots that can land a plane in fog. – Space telescopes with pointing accuracy of 10−6 degrees. – Disk-drive read heads with < 1 micron accuracy. – Robots for various applications. – ... (see next page for a synopsis). Lecture notes prepared by Dr. Gregory L. Plett 1–2 ECE4510, FEEDBACK CONTROL Typical Feedback Applications Categories Specific Applications Ecological Wildlife management and control; control of plant chemical wastes via monitoring lakes and rivers; air pollution abatement; water control and distribution; flood control via dams and resevoirs; forest growth management. Medical Medical instrumentation for monitoring and control; artificial limbs (prosthesis). Home Home heating, refrigeration, and airconditioning via thermostatic appliances control; electronic sensing and control in clothes dryers; humidity controllers; temperature control of ovens. Power/energy Power system control and planning; feedback instrumentation in oil recovery; optimal control of windmill blade and solar panel surfaces; optimal power distribution via power factor control. Transportation Control of roadway vehicle traffic flows using sensors; automatic speed control devices on automobiles; propulsion control in rail transit systems; building elevators and escalators. Manufacturing Sensor-equipped robots for cutting, drilling die casting, forging, welding, packaging, and assembling; chemical process control; tension control windup processes in textile mills; conveyor speed control with optical pyrometer sensing in hot steel rolling mills. Aerospace and Missile guidance and control; automatic piloting; spacecraft conmilitary trol; tracking systems; nuclear submarine navigation and control; fire-control systems (artillery). (reproduced from: J.R. Rowland, “Linear Control Systems: Modeling, Analysis, and Design,” John Wiley & Sons, (New York: 1986), p. 6.) Lecture notes prepared by Dr. Gregory L. Plett 1–3 ECE4510, FEEDBACK CONTROL • Rube Goldberg showed that a knowledge of feedback control was even useful to budding cartoonists! Rube Goldberg walks in his sleep, strolls through a cactus field in his bare feet, and screams out an idea for self-operating napkin: As you raise spoon of soup (A) to your mouth it pulls string (B), thereby jerking ladle (C) which throws cracker (D) past parrot (E). Parrot jumps after cracker and perch (F) tilts, upsetting seeds (G) into pail (H). Extra weight in pail pulls cord (I), which opens and lights automatic cigar lighter (J), setting off sky-rocket (K) which causes sickle (L) to cut string (M) and allow pendulum with attached napkin to swing back and forth thereby wiping off your chin. After the meal, substitute a harmonica for the napkin and you’ll be able to entertain the guests with a little music. Simple Feedback System Example Heat Loss (Q out) Desired Temp. Thermostat Gas Valve Furnace Q in House Room Temp. “Block Diagram” of furnace-controlled room temperature controller. Identifies major components and omits details. Shows information/ energy flow. • Central component = PROCESS or “PLANT”, one of whose variables we want to control. e.g., Plant = ; Variable = . Lecture notes prepared by Dr. Gregory L. Plett 1–4 ECE4510, FEEDBACK CONTROL • DISTURBANCE = some system input out of our direct control. e.g., Disturbance = . • ACTUATOR = device that influences controlled variable. e.g., Actuator = . • REFERENCE SENSOR measures desired system output. • OUTPUT SENSOR measures actual system output. • * COMPENSATOR/ CONTROLLER = device that computes the “control effort” to apply the the actuator, based on sensor readings. e.g., combines the last three functions. A More Abstract Block Diagram: Disturbance error Ref. Value Reference Sensor Compensator Actuator Output Plant Output Sensor “Negative Feedback” An Even More Abstract Block Diagram: Disturbance Ref. Value Compensator Lecture notes prepared by Dr. Gregory L. Plett Plant Output ECE4510, FEEDBACK CONTROL The Control Problem: • ‘Reject’ disturbance. • Acceptable steady state errors. • Acceptable transient response. • Minimize sensitivity to parameter changes in the plant. Solution Reached By: 1. Choosing output sensors. 2. Choosing actuators. *3. Developing plant, actuator, sensor equations (models). *4. Designing compensator based on the models and design criteria. *5. Evaluating design analytically, with simulation and prototype. *6. Iteration!! A First Analysis: Auto Cruise Control • Want to control speed of automobile. 1. Output sensor = speedometer. 2. Actuator = throttle and engine. Lecture notes prepared by Dr. Gregory L. Plett 1–5 1–6 ECE4510, FEEDBACK CONTROL • Block diagram: Road Grade Desired Speed Control Variable Compensator Throttle Actuator Engine Plant Actual Speed Auto Body Speedometer Measured Speed Output Sensor Sensor Noise 3. Model of system: 1. Operate system ≈ 55 MPH. Assume linear response near 55 MPH. 2. Measure: 1% change in throttle ➠ 10 MPH change in speed. 3. Measure: 1% change in grade ➠ 5 MPH change in speed. 4. Measure: Speedometer accurate to a fraction of 1 MPH, so is assumed exact. 5. Functional block diagram: r (t)—reference speed, MPH. w(t) u(t)—throttle posn., %. y(t)—actual speed, MPH. w(t)—road grade, %. 0.5 r (t) Compen- u(t) sator Lecture notes prepared by Dr. Gregory L. Plett 10 y(t) 1–7 ECE4510, FEEDBACK CONTROL 4. Design compensator/controller – First attempt = “open loop” controller. w(t) 0.5 r (t) Compensator u(t) 1/10 yol(t) 10 yol(t) = 10 (u(t) − 0.5w(t)) r(t) = 10 − 0.5w(t) 10 = r(t) − 5w(t). 5. Evaluate design. – r(t) = 55, w(t) = 0% ➠ yol(t) = 55. No Error. . . Good. – r(t) = 55, w(t) = 1% ➠ yol(t) = 50. 10% Error. . . Not Good. – r(t) = 55, w(t) = 2% ➠ yol(t) = 45. 20% Error. . . Not Good. – Suppose you load the trunk with all your ECE4510 notes and the car becomes more sluggish. e.g., the gain “10” becomes “9” – r(t) = 55, w(t) = 0% ➠ yol(t) = 49.5. – r(t) = 55, w(t) = 1% ➠ yol(t) = . . . 6. Iterate design. Go to step #4. Lecture notes prepared by Dr. Gregory L. Plett 10% Error. . . Not Good. 1–8 ECE4510, FEEDBACK CONTROL 4. Second attempt = Feedback controller w(t) 0.5 Compensator z }| { r (t) 100 u(t) ycl(t) 10 – Multiply your output error by 100; FEEDBACK GAIN = 100 ycl(t) = 10u(t) − 5w(t) u(t) = 100(r(t) − ycl(t)) so, ycl(t) = 1000r(t) − 1000ycl(t) − 5w(t) 1001ycl(t) = 1000r(t) − 5w(t) ycl(t) = 0.999r(t) − 0.005w(t) 5. Evaluate design. – r(t) = 55, w(t) = 0% ➠ ycl(t) = 54.945 – r(t) = 55, w(t) = 1% ➠ ycl(t) = 54.94 – r(t) = 55, w(t) = 2% ➠ ycl(t) = 54.935 – r(t) = 55, w(t) = 10% ➠ ycl(t) = 54.895 ... 0.2% Error! ➤ Feedback system rejects disturbances. ➤ Feedback system has steady state error. – r(t) = 55, w(t) = 0%, plant=“9”, not “10” ➠ ycl(t) = 54.939 ➤ Feedback system less sensitive to system parameter values. NOTE! High feedback gain = good performance here. Not always true! e.g., Public address amplifier. Lecture notes prepared by Dr. Gregory L. Plett 1–9 ECE4510, FEEDBACK CONTROL 4. Third attempt. Try to get rid of steady state error. w(t) 0.5 Compensator r (t) α u(t) 10 ycl(t) β ycl(t) = 10 α (r(t) − βycl(t)) − 5w(t) = 10αr(t) − 10αβycl(t) − 5w(t) 10αr(t) − 5w(t) ycl(t) = 1 + 10αβ 10α 5 = r(t) − w(t) 1 + 10αβ 1 + 10αβ | {z } 1 set to 1: β=1− 10α 5 w(t). 10α • Best results yet! (Try for yourself with α = 100.) = r(t) − A Brief History of Control • 2nd century B.C.: Fluid level/Flow rate control. Still used to flush toilets! Lecture notes prepared by Dr. Gregory L. Plett Supply Float 1–10 ECE4510, FEEDBACK CONTROL Damper • 1624: Drebbel’s incubator ➠ Control temperature using mechanical feedback. Riser Eggs Water Float Flue Gasses Mercury Metal plate Fire Alcohol • 1787: Thomas Mead’s fly-ball governor. • 1788: James Watt’s fly-ball governor. Pivot Sleeve To engine inlet Butterfly valve Steam Ball Rotation Pulley from engine ➤ Both control a rotating shaft. • 1840: Airy’s telescope controller. “and the machine (if I may so express myself) became perfectly wild.” ➤ Discovery of instability in a feedback control system. ➤ Analysis of system with differential equations. ➤ Beginnings of feedback control theory. Lecture notes prepared by Dr. Gregory L. Plett ECE4510, FEEDBACK CONTROL 1–11 • 1868: Maxwell found stability criteria for second and third order (simple) systems. • 1877: Routh found stability criteria for more complex (general) linear systems. • 1893: Lyapunov: stability of nonlinear systems. • 1932: Nyquist’s graphical stability criteria • (1945: Bode’s simpler graphical method) • 1936: PID Control. • 1948: Evan’s root locus. • 1960’s: State variable (“modern”) control design. • 1980’s: “Post Modern” H∞ Robust control. Adaptive control...? Lecture notes prepared by Dr. Gregory L. Plett 1–12 ECE4510, FEEDBACK CONTROL Chronological History of Feedback Control 1624 Drebble, Incubator 1728 Watt, Flyball governor 1868 Maxwell, Flyball stability analysis 1877 Routh, Stability 1890 Liapunov, Nonlinear stability 1910 Sperry, Gyroscope and autopilot 1927 Black, Feedback electronic amplifier: Bush, Differential analyzer 1932 Nyquist, Nyquist stability criterion 1938 Bode, Frequency response methods 1942 Wiener, Optimal filter design: Ziegler-Nichols PID tuning 1947 Hurewicz, Sampled data systems; Nichols, Nichols chart 1948 Evans, Root locus 1950 Kochenberger, Nonlinear analysis 1956 Pontryagin, Maximum principle 1957 Bellman, Dynamic programming 1960 Draper, Inertial navigation; Kalman, Optimal estimation 1969 Hoff, Microprocessor (reproduced from: G.F. Franklin, J.D. Powell, A. Emami-Naeini, “Feedback Control of Dynamic Systems,” 3rd edition, Addison Wesley, (Reading, Mass: 1994), flyleaf.) Lecture notes prepared by Dr. Gregory L. Plett ECE4510: Feedback Control Systems. SYSTEM MODELING IN THE TIME DOMAIN • Model = Set of equations used to represent a physical system, relating output to input. • Required to: 1. Understand system behavior (analysis). 2. Design a controller (synthesis). • Developing the model ≈ 80%–90% of the effort in designing a controller. Methods: 1. Analytic system modeling—we focus on these methods. 2. Empirical system identification. (In practice, there is always an empirical component to system modeling). • No model is exact! Inaccuracies due to: 1. Unknown parameter values. 2. Unmodeled dynamics (to make simpler model). LTI Systems • This course teaches methods to control linear time invariant (LTI) systems. • None exist! But, many are “close enough.” • In the following, suppose a system maps x(t) 7→ y(t) as y(t) = T [x(t)]. Lecture notes prepared by Dr. Gregory L. Plett 2–1 2–2 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN LINEAR : A system is linear iff T [ax1(t) + bx2(t)] = a T [x1(t)] + bT [x2(t)]. a.k.a. “superposition.” TIME INVARIANT : A system is time invariant iff y(t − t0) = T [x(t − t0)] ∀ t0. (Translation: “If we input a specific signal x(t) and record the output y(t), then input a shifted version of the signal x(t), the output will be a shifted version of y(t), with the same shift.) If a system is LTI, then it has an “impulse response.” This entirely characterizes the system’s dynamics. The Laplace transform of the impulse response is the “transfer function.” Working with the transfer function eliminates the need to mess around with trying to solve complicated differential equations. KEY POINT: A Simple Model • Consider a resistor: i(t) R v(t) • Ohm’s Law (model) says: v(t) = i(t) · R. • Is the resistor LTI? • Is the model of the resistor LTI? EXAMPLE : Consider a 1 Ohm, 2 Watt resistor. Lecture notes prepared by Dr. Gregory L. Plett 2–3 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN • Apply 1 Volt; 1 Amp of current is predicted to flow. Power dissipated = V 2/R = 1 Watt. • Now apply 10 Volts. 10 Amps of current is predicted to flow. Power dissipated = V 2/R = 100 Watts! ➤ Model will no longer be accurate. ➤ True behavior depends on input signal level—nonlinear. ➤ Model is accurate in certain range of input-signal values. Dynamics of Mechanical Systems I (translational) X • Newton’s Law: F = ma. Vector sum of forces = mass of object times inertial acceleration. • “Free-body diagrams” are a tool to apply this law. EXAMPLE : Cruise control model. • Write the equations of motion for the speed and forward motion of a car assuming that the engine imparts a forward force of u(t). 1. Assume rotational inertia of wheels is negligible. 2. Assume that friction is proportional to car’s speed (viscous friction). X F = ma . or, .. u(t) − b x(t) = m x(t) b . u(t) .. x(t) + x(t) = m m Lecture notes prepared by Dr. Gregory L. Plett x(t) . b x(t) m u(t) 2–4 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN . If the variable of interest is speed (v(t) = x(t)), not position, u(t) b . v(t) + v(t) = m m • Notice that the differential equation has “output variables” on the left of “=”, and “input variables” on the right. IMPORTANT POINT: All of our models of dynamical systems will be differential equations involving the input (e.g., u(t)) and its derivatives and the output (e.g., y(t)) and its derivatives. No other signals (intermediate variables) are allowed in our solutions. EXAMPLE : Car suspension. Each wheel in a car suspension system has a tire, shock absorber and spring. Write the one-dimensional (vertical) equations of motion for the car body and wheel. m2 ks “Quarter-car model” y(t) b m1 x(t) kw r (t) Free-body diagram: Road Surface Inertial Reference . . b( y (t) − x(t)) ks (y(t) − x(t)) m1 kw (x(t) − r (t)) Lecture notes prepared by Dr. Gregory L. Plett m2 x(t) ks (y(t) − x(t)) y(t) . . b( y (t) − x(t)) 2–5 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN The force from the spring is proportional to its stretch. The force from the shock absorber is proportional to the rate-of-change of its stretch. X F = ma . . .. b y (t) − x(t) + ks (y(t) − x(t)) − kw (x(t) − r(t)) = m 1 x(t) . .. . y y −ks (y(t) − x(t)) − b (t) − x(t) = m 2 (t) Re-arrange: .. x(t) + . kw kw b . ks ( x(t) − y (t)) + (x(t) − y(t)) + x(t) = r(t) m1 m1 m1 m1 .. ks b . . y (t) + y x(t)) ( (t) − (y(t) − x(t)) = 0 + m2 m2 Important components for mechanical-translational systems: m 1. Mass x1 (t) 2. Spring k f (t) = k(x 1 (t) − x 2 (t)) x2 (t) x1 (t) 3. Damper b x2 (t) . . f (t) = b(x 1 (t) − x 2 (t)) Dynamics of Mechanical Systems II (rotational) X • Newton’s Law is modified to be: M = J α (or I α) Vector sum of moments = moment of inertia times angular acceleration. (“moment”=“torque”). EXAMPLE : Satellite control. Satellites require attitude control so that sensors, antennas, etc., are properly pointed. Let’s consider one axis of rotation. Lecture notes prepared by Dr. Gregory L. Plett 2–6 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN θ (t) moment = Fc (t) · d, so, .. Fc (t)d = J θ (t) d .. Fc (t)d θ (t) = J Note: Output of system θ(t) integrates Gas jet Fc (t) torques twice—“double-integrator plant.” EXAMPLE : Torsional pendulum. A torsional pendulum is used, for example, in clocks enclosed in glass domes. A similar device is the read-write head on a hard-disk drive. k: “Springiness” of suspension wire. k J b b: Viscous friction. τ, θ X .. M = J θ (t) .. . J θ (t) = τ (t) − bθ (t) − kθ(t) .. b. k τ (t) (t) + (t) + θ(t) = θ θ J J J Important components for mechanical rotational systems: 1. Inertia J θ1 (t) 2. Spring k τ (t) = k(θ1(t) − θ2(t)) θ2 (t) θ1 (t) 3. Damper Lecture notes prepared by Dr. Gregory L. Plett b θ2 (t) . . τ (t) = b(θ 1 (t) − θ 2 (t)) 2–7 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN EXAMPLE : NONLINEAR Rotational Pendulum. Moment of intertia: J = ml 2. X .. (t) M = J θ l .. θ (t), τ (t) mg J θ (t) = τ (t) − mgl sin(θ(t)) .. g τ (t) = θ (t) + |sin(θ(t)) {z } l ml 2 Nonlinear! If motion is “small,” sin (θ(t)) ≈ θ(t). .. g τ (t) θ (t) + θ(t) = l ml 2 This is a preview of linearization. Linear. Summary of Developing Models for Rigid Bodies: 1. Assign variables such as x(t) and θ (t) that are both necessary and sufficient to describe and arbitrary position of the object. 2. Draw a free-body diagram of each component, and indicate all forces acting on each body and the accelerations of the center of mass with respect to an inertial reference. X X 3. Apply Newton’s laws: F = ma, M = J α. 4. Combine the equations to eliminate internal forces. 5. The final form must be in terms of ONLY the input to the system and its derivatives, and the output of the system and its derivatives. Dynamics of Electrical Circuits • Kirchhoff’s Law’s: – Current Law (KCL): The algebraic sum of currents entering a node equals the algebraic sum of currents leaving the node. – Voltage Law (KVL): The algebraic sum of all voltages taken around a closed path in a circuit is zero. Lecture notes prepared by Dr. Gregory L. Plett 2–8 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN • “Node analysis” is a tool to apply these laws. (i.e., select one node as reference (e.g., ground) and assume all other voltages are unknown. Write equations for the unknowns using KCL. KVL must be used for voltage sources.) EXAMPLE : Bridged-Tee circuit. ➀ vi (t) C2 ➁ R1 R2 ➂ C1 ➃ • Select reference = ➃. – KVL at ➀: v➀(t) = vi (t). v➀(t) − v➁(t) v➁(t) − v➂(t) . – KCL at ➁: − − C 1v ➁ (t) = 0. R1 R2 v➁(t) − v➂(t) . . – KCL at ➂: + C 2(v ➀(t) − v ➂ (t)) = 0. R2 . . . . v➁(t) − v➂(t) + R2C 2(v ➀ (t) − v ➂(t)) = 0 v➂(t) + R2C 2(v ➂ (t) − v ➀(t)) = v➁(t) . . v v v➀(t) − v➂ (t) + R2C 2( ➂ (t) − ➀(t)) − R1 . . v➂(t) + R2C 2(v ➂(t) − v ➀ (t)) − v➂ (t) − R2 . .. .. C1 v ➂ (t) + R2C 2(v ➂(t) − v ➀ (t)) = 0 . . R2 v➀ (t) − v➂(t) + R2C 2(v ➂ (t) − v ➀(t)) − . . R1 v➂ (t) + R2C 2(v ➂(t) − v ➀ (t)) − v➂ (t) − Lecture notes prepared by Dr. Gregory L. Plett ECE4510, SYSTEM MODELING IN THE TIME DOMAIN . .. .. R1 R2C 1 v ➂ (t) + R2C 2(v ➂(t) − v ➀ (t)) = 0. .. . 2 2 R1 R2 C 1C 2 v ➂(t) + R2 C 2 + R1 R2C 2 + R1 R2C 1 v ➂(t) + (R2 ) v➂ (t) .. . 2–9 = (R1 R22C 1C 2)v ➀(t) + (R22C 2 + R1 R2C 2)v ➀ (t) + (R2)v➀(t) Important components for electrical systems: 1. Resistor v(t) i(t) v(t) = Ri(t) 2. Capacitor v(t) i(t) i(t) = C d v(t) dt 3. Inductor v(t) i(t) v(t) = L d i(t) dt 4. Voltage source v(t) vs v(t) = vs 5. Current source is i(t) i(t) = i s 6. Operational Amplifier i − (t) vd (t) i + (t) vd (t) = 0 i − (t) = i +(t) = 0 vo (t) vo (t) = Ao (v+ (t) − v− (t)) as Ao → ∞ Lecture notes prepared by Dr. Gregory L. Plett 2–10 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN EXAMPLE : Op-amp circuit. R2 C vi (t) R1 vo (t) = −R2i(t) − vc (t). i(t) = R1 vi (t) vo (t) dvo(t) di(t) dvc (t) = −R2 − dt dt dt R2 dvi (t) i(t) =− − R1 dt C R2 dvi (t) 1 =− − vi (t) R1 dt R1 C . . R1C v o (t) = −R2C v i (t) − vi (t) (as C → ∞, we get an inverting amplifier.) Dynamics of Electro-Mechanical Systems • These are systems that convert energy from electrical to mechanical, or vice versa. EXAMPLE : DC Generator. • Assume generator is driven at constant speed. • Generator has field windings (input), and rotor/armature windings (output). i f (t) R f e f (t) | Ra eg (t) Lf {z Field circuit Lecture notes prepared by Dr. Gregory L. Plett L a i a (t) } | {z Rotor circuit ea (t) Zl } | {z } Load circuit 2–11 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN • e f (t) = R f i f (t) + L f • eg (t) = K φ di f (t) dt e f (t) is input, i f (t) is output. dθ(t) dt K depends on generator structure. = K g i f (t). dθ(t)/dt = angular velocity = cst. φ = flux, proportional to i f (t). • eg (t) = Ra i a (t) + L a di a (t) + ea (t). dt eg (t) is input, i a (t) is output. • ea (t) = Z l i a (t). e f (t) Field circuit i a (t) is input, ea (t) is output. i f (t) eg (t) Kg Rotor circuit i a (t) Zl ea (t) This is a preview of a “block diagram” used to simplify our understanding of the system dynamics. EXAMPLE : DC Motor (servo-motor). • Directly generates rotational motion. • Indirectly generates translational motion. i a (t) Ra ea (t) | La b θ (t), τ (t) eb (t) {z Armature } J | {z } Load • Mechanical resistance of load is translated into an electrical “resistance” called the “back e.m.f.” dθ(t) • eb (t) = K e K e = K φ, as with generator. dt di a (t) • ea (t) = Ra i a (t) + L a + eb (t) dt • τ (t) = K τ i a (t) K τ = K 1φ Lecture notes prepared by Dr. Gregory L. Plett 2–12 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN • Combining these equations of motion, recall Newton: X M = Jα .. . J θ (t) = τ (t) − bθ (t) . = K τ i a (t) − bθ (t) • Assume (FOR NOW ONLY) electrical response is faster than mechanical. L a ≈ 0. .. . ea (t) − eb (t) J θ (t) = K τ − bθ (t) Ra .. Kτ Ke . Kτ J θ (t) + b + ea (t) θ (t) = Ra Ra | {z } back emf indistinguishable from friction! Dynamics of Heat Flow/ Dynamics of Fluid Flow • These two subjects will not be covered here. Refer to texts on thermodynamics or fluid-dynamics. Transformers and Gears • Ideally, both of these devices simply scale their input value. Transformer : Gears : N1 e1 i 2 = = N2 e2 i 1 r1 θ2 τ1 = = r2 θ1 τ2 r1 r2 System Identification (SYS ID) • When we generate models of system dynamics, we are performing “system identifications.” Lecture notes prepared by Dr. Gregory L. Plett 2–13 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN • When we use known properties from physics and knowledge of the system’s structure (as we have done here) we are performing “white box system ID.” • If the system is very complex, or if the physics are not well understood, we need to use input/output data to generate a system model: “black-box system ID.” • A topic for the whole course! Linearization • We will study how to control linear systems. • Linear systems are rare. • We can “linearize” a non-linear system—the controller designed for linearized model will work on the true nonlinear system (but not as well as a controller designed directly for the non-linear system.) KEY POINT: We can convert any differential equation into a first-order vector differential equation: . xE = f (E x , u) ; xE = vector, u = input. Iff the system is linear, this will be of the form: . xE = A xE + Bu; EXAMPLE : A and B are constant matrices. Torsional pendulum (pg. 2–2–6) .. b. k τ (t) θ (t) + θ (t) + θ(t) = J J J " # # " x1(t) θ(t) let = . x2(t) θ (t) Lecture notes prepared by Dr. Gregory L. Plett 2–14 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN . x 2(t) + b k τ (t) x 2(t) + x1(t) = J J J " . # " #" # " # x 1(t) x 1(t) 0 1 0 τ (t). = + . x 2(t) x2(t) −k/J −b/J 1/J | | {z } {z } A B So, our model of the torsional pendulum is linear. EXAMPLE : Rotational pendulum (pg. 2–2–7) .. g τ (t) θ (t) + sin(θ(t)) = l ml 2 " # # " x 1(t) θ(t) let = . x2(t) θ (t) " . # 0 x 2(t) x 1(t) + 1 τ (t). = g . − sin(x 1(t)) x 2(t) l ml 2 Not linear because we cannot make a constant A matrix. Small Signal Linearization • Uses a Taylor-series expansion of the differential equation around some operating condition. (Equilibrium value where . x 0 = 0 = f (x 0, u 0 )). let x = x0 + δx u = u 0 + δu . x0 = operating state u 0 = nominal control value. x = f (x, u). • Taylor-series expansion: . . . x = x 0 + δ x ≈ f (x 0, u 0 ) + Aδx + Bδu Lecture notes prepared by Dr. Gregory L. Plett plus higher-order terms ECE4510, SYSTEM MODELING IN THE TIME DOMAIN 2–15 • Subtract out equillibrium (nominal) solution; . δ x = Aδx + Bδu, which is linear. This is exactly how we linearized the rotational pendulum before, with τ0 = 0; θ0 = 0. θ3 θ5 sin(θ) = θ − + − · · · 3! 5! ≈ θ. Feedback Linearization (computed torque) .. • For rotational pendulum, ml 2θ (t) + mgl sin(θ(t)) = τ (t). – COMPUTE: τ (t) = mgl sin(θ(t)) + u(t). .. – THEN: ml 2 θ (t) = u(t), no matter how large θ(t) becomes! – Sometimes used in robotics and airplane flight control, but very computationally intensive. Analogous Systems • The linearized differential equations of many very different physical systems appear identical. • One would suppose they behave in similar ways (dynamic response) and can be controlled with similar controllers. Lecture notes prepared by Dr. Gregory L. Plett 2–16 ECE4510, SYSTEM MODELING IN THE TIME DOMAIN .. . Mechanical Translational m x(t) + b x(t) + kx(t) = u(t) .. . Mechanical Rotational J θ (t) + bθ (t) + kθ(t) = τ (t) .. Satellite J θ (t) = f (t) · d .. kτ ke . kτ DC Motor (for L a = 0) (t) = J θ (t) + b + ea (t) θ Ra Ra .. . Generator (L a L f )ea (t) + (L f (Ra + Rl ) + L a R f )ea (t)+ R f (Ra + Rl ) = (k g Rl )e f (t) • These are all of the form .. . .. . a2 x(t) + a1 x(t) + a0 x(t) = b2u(t) + b1u(t) + b0u(t) which is called a second-order form. • Therefore, we have seen very specific examples of a very general class of system. If we learn how to control the general class, we can apply this knowledge to specific systems. Lecture notes prepared by Dr. Gregory L. Plett 3–1 ECE4510: Feedback Control Systems. DYNAMIC RESPONSE • We can now model dynamic systems with differential equations. • What do these equations mean? • How does this system respond to certain inputs? • If we add dynamics (a controller) how will the system respond? • How SHOULD the system respond? (specifications) ∗∗∗ ∗∗∗ KEY, ESSENTIAL, VITAL, TOOL: Laplace Transform Some Important Input Signals • Several signals recur throughout this course. • The unit step function: ( 1, t ≥ 0; 1(t) = 0, otherwise. • The unit ramp function: ( t, t ≥ 0; r(t) = 0, otherwise. • The unit parabola function: 2 t , t ≥ 0; p(t) = 2 0, otherwise. Lecture notes prepared by Dr. Gregory L. Plett 1(t) t r (t) t p(t) t 3–2 ECE4510, DYNAMIC RESPONSE • The cosine/sine functions: cos(t) sin(t) t t • The impulse function, δ(t): – Very strange “generalized” function, only defined under an integral. δ(t) = 0, t 6= 0 zero duration Z ∞ δ(t) dt = 1. unit area. −∞ δ(t) Symbol – Sifting property Z ∞ −∞ t x(τ )δ(t − τ ) dτ = x(t). Response of Linear Time Invariant System • Let y(t) be the output of an LTI system with input x(t). y(t) = T [x(t)] Z ∞ = T[ x(τ )δ(t − τ ) dτ ] Z = −∞ ∞ −∞ x(τ )T [δ(t − τ )] dτ. Let h(t, τ ) = T [δ(t − τ )] Lecture notes prepared by Dr. Gregory L. Plett (sifting) (linear) ECE4510, DYNAMIC RESPONSE 3–3 Z = If the system is time invariant, ∞ −∞ x(τ )h(t, τ ) dτ h(t, τ ) = h(t − τ ) Z ∞ = x(τ )h(t − τ ) dτ −∞ (time invariant) 4 = x(t) ∗ h(t). • The output of an LTI system is equal to the convolution of its “impulse response” with the input. • This makes life EASY (TRUST me!) EXAMPLE : Finding an impulse response: . • Consider a first-order system, y (t) + ky(t) = u(t). • Let y(0−) = 0, u(t) = δ(t). . • For positive time we have y (t) + ky(t) = 0. Recall from your differential-equation math course: y(t) = Aest , solve for A, s. . y (t) = Asest Asest + k Aest = 0 s+k = 0 s = −k. • We have solved for s—now solve for A. Z 0+ Z 0+ Z 0+ . y (t) dt + k y(t) dt = δ(t) dt − − − | 0 {z } | 0 {z } | 0 {z } + y(t)|00− 0 1 y(0+) − y(0−) = 1 + Ae−k0 − 0 = 1 A = 1. Lecture notes prepared by Dr. Gregory L. Plett 3–4 ECE4510, DYNAMIC RESPONSE • Response to impulse: h(t) = e−kt , t > 0. • h(t) = e−kt 1(t). • Response of this system to general input: Z ∞ y(t) = h(τ )u(t − τ ) dτ Z −∞ ∞ Z −∞ ∞ = = e−kτ 1(τ )u(t − τ ) dτ e−kτ u(t − τ ) dτ. 0 Transfer Function • Response to impulse = “impulse response” h(t). • Response to general input = messy convolution: h(t) ∗ u(t). Response to Sinusoid? Cosinusoid? A j ωt − j ωt A cos(ωt) = e +e 2 Break it Down: Response to Exponential? • Let u(t) = est , where s is complex. Z ∞ y(t) = h(τ )u(t − τ ) dτ −∞ ∞ Z = −∞ ∞ Z = Lecture notes prepared by Dr. Gregory L. Plett −∞ h(τ )es(t−τ ) dτ h(τ )est e−sτ dτ ECE4510, DYNAMIC RESPONSE Z =e st 3–5 ∞ h(τ )e−sτ dτ | −∞ {z } Transfer function, H (s) = est H (s). • An input of the form est decouples the convolution into two independent parts: a part depending on est and a part depending on h(t). [Complex exponentials are eigenfunctions of all LTI systems.] EXAMPLE : . y (t) + ky(t) = u(t) = est : but , y(t) = H (s)e , st . y (t) = s H (s)est , s H (s)est + k H (s)est = est 1 H (s) = s+k est y(t) = . s+k Response to Cosinusoid (revisited) Let s= jω s=− jω u(t)=e j ωt u(t)=e− j ωt u(t)=A cos(ωt) Now, (I never integrated!) y(t)=H ( jω)e j ωt y(t)=H (− jω)e− j ωt A j ωt − j ωt y(t)= H ( jω)e + H (− jω)e 2 4 H ( jω) = Me j φ H (− jω) = Me− j φ (can be shown for h(t) real) AM j (ωt+φ) − j (ωt+φ) y(t) = +e e 2 = AM cos(ωt + φ). • The response of an LTI system to a sinusoid is a sinusoid! (of the same frequency). Lecture notes prepared by Dr. Gregory L. Plett 3–6 ECE4510, DYNAMIC RESPONSE EXAMPLE : Frequency response of our first order system: 1 H (s) = s+k 1 H ( jω) = jω + k 1 M = |H ( jω)| = √ ω2 + k 2 ω −1 φ = 6 H ( jω) = − tan k A −1 ω y(t) = √ cos ωt − tan . 2 2 k ω +k • Can we use these results to simplify convolution and get an easier way to understand dynamic response? The Laplace L− Transform • We have seen that if a system has an impulse response h(t), we can compute a transfer function H (s), Z ∞ H (s) = h(t)e−st dt. −∞ • Since we deal with causal systems (possibly with an impulse at t = 0), we can integrate from 0− instead of negative infinity. Z ∞ H (s) = h(t)e−st dt. 0− • This is called the one-sided (uni-lateral) Laplace transform of h(t). Lecture notes prepared by Dr. Gregory L. Plett 3–7 ECE4510, DYNAMIC RESPONSE Laplace Transforms of Common Signals Name Time function, f (t) Laplace tx., F(s) Unit impulse δ(t) Unit step 1(t) Unit ramp t · 1(t) nth order ramp t n · 1(t) Sine sin(bt)1(t) Cosine cos(bt)1(t) Damped sine e−at sin(bt)1(t) Damped cosine e−at cos(bt)1(t) Diverging sine t sin(bt)1(t) Diverging cosine t cos(bt)1(t) 1 1 s 1 s2 n! s n+1 b s 2 + b2 s s 2 + b2 b (s + a)2 + b2 s+a (s + a)2 + b2 2bs (s 2 + b2)2 s 2 − b2 (s 2 + b2)2 Properties of the Laplace Transform L {a f1(t) + b f 2(t)} = a F1(s) + bF2(s). • Superposition: L { f (t − τ )} = e−sτ F(s). 1 s • Time Scaling: L { f (at)} = F . • Time delay: |a| a (useful if original equations are expressed poorly in time scale. e.g., measuring disk-drive seek speed in hours). • Differentiation: n L . o f (t) = s F(s) − f (0−) n .. o . L f (t) = s 2 F(s) − s f (0−) − f (0−) (m) L f (t) = s m F(s) − s m−1 f (0−) − . . . − f (m−1)(0−). Lecture notes prepared by Dr. Gregory L. Plett ECE4510, DYNAMIC RESPONSE Z t 3–8 1 = F(s). s 0− • Convolution: Recall that y(t) = h(t) ∗ u(t) • Integration: L f (τ ) dτ Y (s) = L {y(t)} = L {h(t) ∗ u(t)} Z t =L h(τ )u(t − τ ) dτ Z = = τ =0− ∞ Z t t=0− Z ∞ τ =0− Z ∞ τ =0− t=τ − t τ =t h(τ )u(t − τ ) dτ e−st dt h(τ )u(t − τ ) e−st dt dτ. • Multiply by e−sτ esτ Y (s) = τ Region of integration Z ∞ h(τ )e τ =0− Let t 0 = t − τ : Y (s) = Z ∞ τ =0− −sτ h(τ )e Z ∞ t=τ − −sτ u(t − τ )e−s(t−τ ) dt dτ. Z dτ ∞ t 0 =0− 0 u(t 0)e−st dt 0 Y (s) = H (s)U (s). • The Laplace transform “unwraps” convolution for general input signals. Makes system easy to analyze. The Inverse Laplace Transform • The inverse Laplace Transform converts F(s) → f (t). • Once we get an intuitive feel for F(s), we won’t need to do this often. Lecture notes prepared by Dr. Gregory L. Plett 3–9 ECE4510, DYNAMIC RESPONSE • The main tool for ILT is partial-fraction-expansion. b0s m + b1s m−1 + · · · + bm Assume : F(s) = n s + aa s n−1 + · · · + an Qm (s − zi ) (zeros) = k Qni =1 (poles) i =1 (s − pi ) c1 c2 cn = + +··· + if { pi } distinct. s − p1 s − p2 s − pn c2(s − p1) cn (s − p1 ) so, (s − p1 )F(s) = c1 + +··· + s − p2 s − pn let s = p1 : c1 = (s − p1)F(s)|s= p1 ➠ ci = (s − pi )F(s)|s= pi f (t) = n X ci e pi t 1(t) since L ekt 1(t) = i =1 EXAMPLE : 1 . s−k 5 5 = . s 2 + 3s + 2 (s + 1)(s + 2) 5 c1 = (s + 1)F(s) = =5 s=−1 s + 2 s=−1 5 c2 = (s + 2)F(s) = = −5 s=−2 s + 1 s=−2 F(s) = f (t) = (5e−t − 5e−2t )1(t). • If F(s) has repeated roots, we must modify the procedure. e.g., repeated three times: k F(s) = (s − p1)3(s − p2) · · · c1,1 c1,2 c1,3 c2 = + + + + ··· s − p1 (s − p1)2 (s − p1)3 s − p2 c1,3 = (s − p1)3 F(s) Lecture notes prepared by Dr. Gregory L. Plett s= p1 3–10 ECE4510, DYNAMIC RESPONSE d (s − p1 )3 F(s) ds s= p1 2 1 d 3 = ) F(s) (s − p 1 2 ds 2 s= p1 i 1 d k (s − p = ) F(s) . i i! ds i s= pi c1,2 = c1,1 cx,k−i EXAMPLE : Find ILT of s +3 . (s + 1)(s + 2)2 −2t • ans: f (t) = (2e−t − 2e−2t − |te{z })1(t). from repeated root. • TEDIOUS. • Use Matlab. e.g., F(s) = 5 . s 2 + 3s + 2 Example 1. Example 2. >> Fnum = [0 0 5]; >> Fnum = [0 0 1 3]; >> Fden = [1 3 2]; >> Fden = conv([1 1],conv([1 2],[1 2])); [r,p,k] = residue(Fnum,Fden); [r,p,k] = residue(Fnum,Fden); r = -5 5 p = -2 -1 k = [] r = -2 -1 2 p = -2 -2 -1 k = [] • When you use “residue” and get repeated roots, BE SURE to type “help residue” to correctly interpret the result. Lecture notes prepared by Dr. Gregory L. Plett 3–11 ECE4510, DYNAMIC RESPONSE Using the Laplace Transform to Solve Problems • We can use the Laplace transform to solve both homogeneous and forced differential equations. EXAMPLE : .. . y(0−) = α, y (0−) = β. s 2Y (s) − αs − β + Y (s) = 0 y (t) + y(t) = 0, Y (s)(s 2 + 1) = αs + β αs + β Y (s) = 2 s +1 αs β = 2 + 2 . s +1 s +1 From tables, y(t) = [α cos(t) + β sin(t)]1(t). • If initial conditions are zero, things are very simple. EXAMPLE : .. . − . y(0 ) = 0, y (0−) = 0, u(t) = 2e−2t 1(t). 2 s 2Y (s) + 5sY (s) + 4Y (s) = s+2 2 Y (s) = (s + 2)(s + 1)(s + 4) −1 2/3 1/3 = + + . s+2 s+1 s+4 2 1 From tables, y(t) = −e−2t + e−t + e−4t 1(t). 3 3 y (t)+5 y (t)+4y(t) = u(t), Time Response vs. Pole Locations: 1st-Order Pole(s) (stable) • Pole = root of denominator of H (s) = b(s)/a(s). • Poles qualitatively determine the behavior of the system. Lecture notes prepared by Dr. Gregory L. Plett 3–12 ECE4510, DYNAMIC RESPONSE • Zeros quantify this relationship. 1 ➠ h(t) = e−σ t 1(t). s+σ • If σ > 0, pole is at s < 0, STABLE i.e., impulse response decays, and any bounded input produces bounded output. EXAMPLE : H (s) = • If σ < 0, pole is at s > 0, UNSTABLE. • σ is “time constant” factor: τ = 1/σ . step([0 1],[1 1]); 1 0.8 0.8 0.6 e −σ t 0.4 ←− y(t) × K h(t) impulse([0 1],[1 1]); 1 1 e 0.2 0 0 K (1 − e−t/τ ) System response. K = dc gain 0.6 0.4 Response to initial condition −→ 0. 0.2 1 t =τ 2 3 4 5 Time (sec × τ ) 0 0 1 t =τ 2 3 4 Time (sec × τ ) Time Response vs. Pole Locations: 2nd-Order Poles (stable) b0 K ωn2 H (s) = 2 = s + a1s + a2 s 2 + 2ζ ωn s + ωn2 (standard form). ζ = damping ratio. ωn = natural frequency or undamped frequency. ωn h(t) = p e−σ t (sin(ωd t)) 1(t), 1 − ζ2 where, σ = ζ ωn , p ωd = ωn 1 − ζ 2 = damped frequency. Lecture notes prepared by Dr. Gregory L. Plett 5 3–13 ECE4510, DYNAMIC RESPONSE =(s) −1 θ = sin (ζ ) 45 ωn σ ωd ◦ =(s) 30 ◦ =(s) 17.5 <(s) <(s) ◦ =(s) <(s) ζ = 0.707 Impulse Response <(s) ζ = 0.5 ζ = 0.3 1 h(t) 0.5 e−σ t 0 Envelope of sinusoid decays as e−σ t −e−σ t −0.5 −1 0 5 10 15 20 25 30 Time (sec) Impulse Responses of 2nd-Order Systems 1 Step Responses of 2nd-Order Systems 2 ζ =0 ζ =0 0.2 0.5 0.2 1.5 0.4 0.4 y(t) y(t) 0.6 0 ζ =1 0.8 −0.5 0.6 1 0.8 0.5 1.0 −1 0 2 4 6 ωn t 8 10 12 0 0 2 4 6 ωn t 8 10 12 • Low damping, ζ ≈ 0, oscillatory; High damping, ζ ≈ 1, no oscillations. Lecture notes prepared by Dr. Gregory L. Plett 3–14 ECE4510, DYNAMIC RESPONSE =(s) =(s) <(s) Impulse responses vs. pole locations <(s) Step responses vs. pole locations • 0 < ζ < 1 underdamped. •ζ =1 critically damped, ζ > 1 overdamped. Time Domain Specifications • We have seen impulse and step responses for first- and second-order systems. • Our control problem may be to specify exactly what the response SHOULD be. • Usually expressed in terms of the step response. Mp tp 1 0.9 0.1 tr Lecture notes prepared by Dr. Gregory L. Plett t ts 3–15 ECE4510, DYNAMIC RESPONSE • tr = Rise time = time to reach vicinity of new set point. • ts = Settling time = time for transients to decay (to 5%, 2%, 1%). • M p = Percent overshoot. • t p = Time to peak. Rise Time • All step responses rise in roughly the same amount of time (see pg. 3–3–13.) Take ζ = 0.5 to be average. ➠ time from 0.1 to 0.9 is approx ωn tr = 1.8: 1.8 tr ≈ . ωn • We could make this more accurate, but note: – Only valid for 2nd-order systems with no zeros. – Use this as approximate design “rule of thumb” and iterate design until spec. is met. Peak Time and Overshoot • Step response can be found from ILT of H (s)/s. σ y(t) = 1 − e−σ t cos(ωd t) + sin(ωd t) , ωd p ωd = ωn 1 − ζ 2, σ = ζ ωn . . • Peak occurs when y (t) = 0 . σ y (t) = σ e−σ t cos(ωd t) + sin(ωd t) − e−σ t (−ωd sin(ωd t) + σ cos(ωd t)) ωd 2 σ = e−σ t sin(ωd t) + ωd sin(ωd t) = 0. ωd Lecture notes prepared by Dr. Gregory L. Plett 3–16 ECE4510, DYNAMIC RESPONSE 100 • So, • (common values: M p = 16% for ζ = 0.5; M p = 5% for ζ = 0.7). 80 70 M p, % ωd t p = π, π π tp = = p . 2 ωd ωn 1 − ζ √ −ζ π/ 1−ζ 2 • Mp = e × 100. 90 60 50 40 30 20 10 0 0 0.2 0.4 ζ 0.6 0.8 Settling Time • Determined mostly by decaying exponential e−ωn ζ ts = . . . = 0.01, 0.02, or 0.05 EXAMPLE : = 0.01 e−ωn ζ ts = 0.01 ωn ζ ts = 4.6 4.6 4.6 ts = = ζ ωn σ ts 0.01 ts = 4.6/σ 0.02 ts = 3.9/σ 0.05 ts = 3.0/σ Design Synthesis • Specifications on tr , ts , M p determine pole locations. • ωn ≥ 1.8/tr . • ζ ≥ fn(M p ). • σ ≥ 4.6/ts . (read off of ζ versus M p graph on page 3–3–16) (for example—settling to 1%) Lecture notes prepared by Dr. Gregory L. Plett 1.0 3–17 ECE4510, DYNAMIC RESPONSE =(s) =(s) =(s) σ ωn sin−1 ζ <(s) EXAMPLE : =(s) <(s) <(s) <(s) Converting specs. to s-plane • Specs: tr ≤ 0.6, M p ≤ 10%, ts ≤ 3 sec. at 1% • ωn ≥ 1.8/tr = 3.0 rad/sec. • From graph of M p versus ζ, ζ ≥ 0.6. • σ ≥ 4.6/3 = 1.5 sec. 3 2 =(s) 1 0 −1 −2 −3 −5 EXAMPLE : −4 −3 −2 <(s) −1 0 1 Designing motor compensator • Suppose a servo-motor system for a pen-plotter has transfer function 0.5K a ωn2 = 2 . s 2 + 2s + 0.5K a s + 2ζ ωn s + ωn2 • Only one adjustable parameter K a , so can choose only one spec: tr , ts or M p ➠ Allow NO overshoot. Lecture notes prepared by Dr. Gregory L. Plett 3–18 ECE4510, DYNAMIC RESPONSE • M p = 0, ζ = 1. • From transfer fn: 2 = 2ζ ωn • ωn2 = 12 = 0.5K a , ➠ ωn = 1. K a = 2.0 • Note: ts = 4.6 seconds. We will need a better controller than this for a pen plotter! Time Response vs. Pole Locations: Higher Order Systems • We have looked at first-order and second-order systems without zeros, and with unity gain. Non-unity gain • If we multiply by K , the dc gain is K . tr , ts , M p , t p are not affected. Add a zero to a second-order system 2(s + 1.1) H2(s) = 1.1(s + 1)(s + 2) 0.1 2 0.9 = + 1.1 s + 1 s + 2 0.18 1.64 = + s+1 s+2 2 H1(s) = (s + 1)(s + 2) 2 2 = − s+1 s +2 • Same dc gain (at s = 0). • Coefficient of (s + 1) pole GREATLY reduced. • General conclusion: a zero “near” a pole tends to cancel the effect of that pole. • How about transient response? H (s) = Lecture notes prepared by Dr. Gregory L. Plett (s/αζ ωn ) + 1 . (s/ωn )2 + 2ζ s/ωn + 1 3–19 ECE4510, DYNAMIC RESPONSE – Zero at s = −ασ. – Poles at <(s) = −σ. • Large α, zero far from poles ➠ no effect. • α ≈ 1, large effect. • Notice that the overshoot goes up as α → 0. Overshoot versus normalized zero loc. 2 1.5 1.5 1 α=1 2 4 100 0.5 0 0 Mp Step Response 2nd-order system with zero 2 2 4 ζ = 0.3 0.5 0.7 1 0.5 ωn t 6 8 10 0 0 2 4 α 6 8 10 • A little more analysis; set ωn = 1 s/αζ + 1 H (s) = 2 s + 2ζ s + 1 1 1 s = 2 + s + 2ζ s + 1 αζ s 2 + 2ζ s + 1 = Ho (s) + Hd (s). • Ho (s) is the original response, without the zero. • Hd (s) is the added term due to the zero. Notice that 1 Hd (s) = s Ho (s). αζ The time response is a scaled version of the DERIVATIVE of the time response of Ho (s). • If any of the zeros in RHP, system is NONMINIMUM PHASE. Lecture notes prepared by Dr. Gregory L. Plett 3–20 ECE4510, DYNAMIC RESPONSE 2nd-order min-phase step resp. 2nd-order nonmin-phase step resp. 2 1.5 H (s) 1.5 1 Ho (s) Ho (s) y(t) y(t) 0.5 1 H (s) 0 0.5 −0.5 0 Hd (s) −0.5 0 2 Hd (s) −1 4 6 8 Time (sec) 10 −1.5 0 2 4 6 Time (sec) 8 10 Add a pole to a second order system H (s) = 1 . (s/αζ ωn + 1)[(s/ωn )2 + 2ζ s/ωn + 1] • Original poles at <(s) = −σ = −ζ ωn . • New pole at s = −αζ ωn . • Major effect is an increase in rise time. Norm. rise time vs. norm. pole loc. 9 1.2 8 7 1 ζ = 1.0 0.7 0.5 6 0.8 100 5 2 α=1 0.6 0.4 0.2 0 0 ωn tr Step Response 2nd-order system with pole 1.4 1 2 3 4 ωn t 5 5 4 3 2 6 7 8 1 0 2 4 α 6 8 10 Summary of Higher-Order Approximations • Extra zero in LHP will increase overshoot if the zero is within a factor of ≈ 4 from the real part of complex poles. Lecture notes prepared by Dr. Gregory L. Plett 3–21 ECE4510, DYNAMIC RESPONSE • Extra zero in RHP depresses overshoot, and may cause step response to start in wrong direction. DELAY . • Extra pole in LHP increases rise-time if extra pole is within a factor of ≈ 4 from the real part of complex poles. =(s) Insignificant Dominant Unstable region <(s) • MATLAB ‘step’ and ‘impulse’ commands can plot higher order system responses. • Since a model is an approximation of a true system, it may be all right to reduce the order of the system to a first or second order system. If higher order poles and zeros are a factor of 5 or 10 time farther from the imaginary axis. – Analysis and design much easier. – Numerical accuracy of simulations better for low-order models. – 1st- and 2nd-order models provide us with great intuition into how the system works. – May be just as accurate as high-order model, since high-order model itself may be inaccurate. Changing Dynamic Response • Topic of the rest of the course. Lecture notes prepared by Dr. Gregory L. Plett 3–22 ECE4510, DYNAMIC RESPONSE • Important tools: block diagram manipulation and Mason’s rule. Block Diagram Manipulation • We have already seen block diagrams (see pg. 1–1–3). • Shows information/energy flow in a system. • When used with Laplace transforms, can simplify complex system dynamics. • Four BASIC configurations: U (s) U (s) H (s) H1 (s) Y (s) = H (s)U (s) Y (s) H2 (s) Y (s) Y (s) = [H1(s)H2(s)] U (s) Y (s) Y (s) = [H1(s) + H2 (s)] U (s) H1 (s) U (s) H2 (s) U1 (s) = R(s) − Y2 (s) R(s) U1 (s) Y2 (s) = H2(s)H1(s)U1(s) H1 (s) Y (s) so, U1 (s) = R(s) − H2(s)H1(s)U1(s) = Y2 (s) H2 (s) U2 (s) Y (s) = H1(s)U1 (s) = • Alternate representation Lecture notes prepared by Dr. Gregory L. Plett R(s) 1 + H2(s)H1(s) H1(s) R(s) 1 + H2(s)H1(s) 3–23 ECE4510, DYNAMIC RESPONSE H (s) U (s) H1(s) U (s) Y (s) H2(s) Y (s) H1(s) U (s) Y (s) H2(s) H1(s) R(s) Y (s) −H2(s) EXAMPLE : Recall dc generator dynamics from page 2–2–10 i f (t) R f e f (t) | e f (t) Field circuit Ra eg (t) Lf {z Field circuit i f (t) L a i a (t) } Kg | eg (t) ea (t) {z Rotor circuit Rotor circuit Zl }| {z } Load circuit i a (t) Zl • Compute the transfer functions of the four blocks. d if dt E f (s) = R f I f (s) + L f s I f (s) ef = Rfif + L f I f (s) 1 = . E f (s) Rf + L fs Lecture notes prepared by Dr. Gregory L. Plett eg (t) = K g i f (t) E g (s) = K g I f (s) E g (s) = Kg. I f (s) ea (t) 3–24 ECE4510, DYNAMIC RESPONSE d i a (t) + ea (t) dt E g (s) = Ra Ia (s) + L a s Ia (s) + E a (s) eg (t) = Ra i a (t) + L a ea (t) = i a (t)Z l E a (s) = Z l Ia (s) E a (s) = Zl . Ia (s) = (Ra + L a s + Z l ) Ia (s) Ia (s) 1 . = E g (s) L a s + Ra + Z l • Put everything together. E a (s) E a (s) Ia (s) E g (s) I f (s) = E f (s) Ia (s) E g (s) I f (s) E f (s) = K g Zl . L f s + R f (L a s + Ra + Z l ) Block Diagram Algebra U (s) H (s) Y1 (s) U (s) ⇐⇒ Y1 (s) H (s) 1 H (s) Y2 (s) U1 (s) H (s) Y (s) ⇐⇒ U2 (s) R(s) H1(s) Y (s) R(s) ⇐⇒ H2(s) Lecture notes prepared by Dr. Gregory L. Plett U1 (s) H (s) U2 (s) H (s) 1 H2 (s) “Unity Feedback” Y2 (s) Y (s) H2(s) H1(s) Y (s) 3–25 ECE4510, DYNAMIC RESPONSE EXAMPLE : Simplify: H6 (s) H1 (s) R(s) H2 (s) Y (s) H5 (s) H3 (s) H4 (s) H6 (s) H1(s) 1 − H1 (s)H3(s) R(s) H2 (s) Y (s) H5 (s) H4 (s) H6(s) H2(s) H1(s) 1 − H1 (s)H3(s) R(s) H5 (s) H2 (s) Y (s) H4 (s) | R(s) {z H1 (s)H2 (s) 1−H1 (s)H3 (s) H1(s)H2(s)H4 (s) 1+ 1−H1 (s)H3(s) }| H (s) H5(s)+ H6(s) 2 H1 (s)H2(s)H5(s) + H1 (s)H6(s) 1 − H1 (s)H3(s) + H1(s)H2(s)H4(s) Lecture notes prepared by Dr. Gregory L. Plett {z Y (s) } 3–26 ECE4510, DYNAMIC RESPONSE Mason’s Rule • If you don’t care to simplify a block diagram using block diagram manipulation, you can use Mason’s Rule. • “Node” = Common input to several blocks, or output of summing junction. H1 (s) U (s) Y (s) H2(s) • “Path” = Sequence of connected blocks, from one variable to another, in the direction of signal flow, without including any variable more than once. • “Forward Path” = Path from input to output. • “Loop” = Path from node back to itself. • “Path Gain” = Product of all transfer functions in a path. • “Loop Gain” = Product of all transfer functions in a loop. • “Nontouching” = Two loops are nontouching if they have no nodes in common. G6 R G1 ➁ G2 ➂ G3 G4 ➃ ➀ −H1 • 2 Loops: ➁➂➁, ➃➄➃ ➄ G5 ➅ Y −H2 Nontouching. • 2 Forward paths: ➀➁➂➃➄➅ Touches both loops. ➀➃➄➅ Does not touch first loop, but touches second loop. Lecture notes prepared by Dr. Gregory L. Plett ECE4510, DYNAMIC RESPONSE 3–27 • Mason’s Rule p 1X 1 T = Mk 1k = M1 11 + M212 + · · · + M p 1 p 1 k=1 1 1 = 1 − (sum of ALL (touching or not) individual loop gains) +(sum of the products of loop gains of all possible combinations of nontouching loops taken two at a time) −(sum of the products of loop gains of all possible combinations of nontouching loops taken three at a time) + · · · Mk = Path gain of kth forward path 1k = Value of 1 for that part of the flow graph not touching the kth forward path. • Key to using rule = organization! • Above example: – Find the loop- and the forward path-gains. – Loops: ∗ L 1 : ➁➂➁; Gain=−H1 G 2. ∗ L 2 : ➃➄➃; Gain=−H2 G 4. – Forward Paths: ∗ M1 : ➀➁➂➃➄➅; Gain=G 1 G 2 G 3 G 4 G 5 ∗ M2 : ➀➃➄➅; Gain=G 6 G 4 G 5. • 1 = 1 − (L 1 + L 2) + L 1 L 2 = 1 + H1 G 2 + H2 G 4 + H1 H2 G 2 G 4. • 1k is easiest determined by redrawing flowgraph without path k. Lecture notes prepared by Dr. Gregory L. Plett 3–28 ECE4510, DYNAMIC RESPONSE G6 Path 1 removed. No loops. 11 = 1 − 0 −H1 G1 G2 −H2 G3 −H1 T = Path 2 removed. One loop with gain −G 2 H1. 12 = 1 − (−G 2 H1 ) −H2 M1 11 + M212 G 1 G 2 G 3 G 4 G 5 + G 6 G 4 G 5(1 + H1 G 2) . = 1 1 + H1 G 2 + H2 G 4 + H1 H2 G 2 G 4 • Mason’s rule may be shorter that block-diagram manipulation. • Use the method with which you are most comfortable. Lecture notes prepared by Dr. Gregory L. Plett 4–1 ECE4510: Feedback Control Systems. BASIC PROPERTIES OF FEEDBACK • Two basic types of control systems: OPEN LOOP : Disturbance r (t) y(t) Plant Ctrlr CLOSED LOOP : Disturbance r (t) Plant Ctrlr y(t) Sensor • We will compare these systems in a number of ways: disturbance rejection, sensitivity, dynamic tracking, steady state error and stability. DC Motor Speed Control • Recall equations of motion for a dc motor (pg. 2–2–11) but add load torque. i a (t) Ra ea (t) | La b θ (t), τ (t) eb (t) {z Armature } J | {z } Load • Assume that we are trying to control motor speed: Lecture notes prepared by Dr. Gregory L. Plett τl , load 4–2 ECE4510, BASIC PROPERTIES OF FEEDBACK J θ + bθ = kτ i a + τl let output y = θ. , . di a 4 disturbance w = τl . ke θ + L a + Ra i a = ea dt . y J + by = kτ i a + w s J Y (s) + bY (s) = k I (s) + W (s) τ a di a ke Y (s) + s L a Ia (s) + Ra Ia (s) = E a (s) ke y + L a + Ra i a = ea dt .. . (J L a s s + bL a s + J Ra s + b Ra + kτ ke )Y (s) = kτ E a (s) + (Ra + L a s)W (s) • This can be re-written as (magic happens) (τ1s + 1)(τ2s + 1)Y (s) = AE a (s) + BW (s) τ1 ≈ Ra J/(kτ ke ) = mechanical time constant τ2 ≈ L a /Ra = electrical time constant A = kτ /(b Ra + kτ ke ) B = Ra /(b Ra + kτ ke ) • So, Y (s) = A B E a (s) + W (s). (τ1s + 1)(τ2s + 1) (τ1s + 1)(τ2s + 1) • If ea (t) = ea · 1(t) (constant) and w(t) = w · 1(t) (constant), What is steady state output? – Recall Laplace-transform final value theorem: If a signal has a constant final value, it may be found as yss = lim sY (s). s→0 – So, ea w , W (s) = , yss = Aea + Bw. s s • This is the response of the open-loop system (without a controller). E a (s) = Lecture notes prepared by Dr. Gregory L. Plett 4–3 ECE4510, BASIC PROPERTIES OF FEEDBACK B A Dist. w(t) r (t) Ctrlr Motor ea (t) A (τ1s + 1)(τ2s + 1) y(t) • Let’s make a simple controller for the open-loop system. ea (t) = K ol r(t), (gain of K ol ) • Choose K ol so that there is no steady-state error when w = 0. yss = AK ol rss + Bwss ⇒ K ol = 1/A. • Is closed-loop any better? B A Dist. w(t) r (t) Ctrlr ea (t) A (τ1s + 1)(τ2s + 1) y(t) 1 Tachometer • Let’s make a similar controller for the closed-loop system (with the possibility of a different value of K .) ea (t) = K cl (r(t) − y(t)) • The transfer function for the closed-loop system is: AK cl B Y (s) = W (s) (R(s) − Y (s)) + (τ1s + 1)(τ2s + 1) (τ1s + 1)(τ2s + 1) AK cl B = R(s) + W (s) (τ1s + 1)(τ2s + 1) + AK cl (τ1s + 1)(τ2s + 1) + AK cl AK cl yss = rss , assuming w = 0. 1 + AK cl Lecture notes prepared by Dr. Gregory L. Plett ECE4510, BASIC PROPERTIES OF FEEDBACK 4–4 • If AK cl 1, yss ≈ rss . • Open-loop with load: yss = AK ol rss + Bwss = rss + Bwss δy = Bwss . • Closed-loop with load: AK cl B rss + wss 1 + AK cl 1 + AK cl B δy ≈ wss . 1 + AK cl yss = which is much better than open-loop since AK cl 1. ADVANTAGE OF FEEDBACK: Better disturbance rejection (by factor of 1 + AK cl ). Sensitivity • The steady-state gain of the open-loop system is: 1.0 • How does this change if the motor constant A changes? A → A + δA G ol + δG ol = K ol ( A + δ A) 1 = ( A + δ A) A δA = 1+ . A |{z} gain error • In relative terms: δG ol δA δA = = |{z} 1.0 . G ol A A sensitivity • Therefore, a 10% change in A ➠ 10% change in gain. Sensitivity=1.0. Lecture notes prepared by Dr. Gregory L. Plett ECE4510, BASIC PROPERTIES OF FEEDBACK 4–5 AK cl . 1 + AK cl ( A + δ A)K cl G cl + δG cl = . 1 + ( A + δ A)K cl • Steady-state gain of closed-loop system is: • From calculus (law of total differential) dG cl δG cl = δA dA or δG cl A dG cl δA = G cl G dA A | cl{z } sensitivity S GA cl A (1 + AK cl )K cl − K cl ( AK cl ) AK cl /(1 + AK cl ) (1 + AK cl )2 1 = . 1 + AK cl S AG cl = ADVANTAGE OF FEEDBACK : Lower sensitivity to modeling error (by a factor of 1 + AK cl ) Dynamic Tracking • Steady-state response of closed-loop better than open-loop: Better disturbance rejection, better (lower) sensitivity. • What about transient response? • Open-loop system: Poles at roots of (τ1s + 1)(τ2s + 1) ➠ s = −1/τ1, s = −1/τ2. • Closed-loop system: Poles at roots of (τ1s + 1)(τ2s + 1) + AK cl . p −(τ1 + τ2) ± (τ1 + τ2)2 − 4τ1τ2(1 + AK cl ) ➠ s= . 2τ1τ2 Lecture notes prepared by Dr. Gregory L. Plett 4–6 ECE4510, BASIC PROPERTIES OF FEEDBACK • FEEDBACK MOVES POLES – System may have faster/slower response – System may be more/less damped – System may become unstable!!! – Often a high gain K cl results in instability. We need design tools to help us design the dynamic response of the closed-loop system. – For this dc motor example, we can get step responses of the following form: 1.5 y(t) High K cl 1 0.5 0 0 Low K cl 2 4 6 8 10 Time (sec) PID Control • General control setup: R(s) Disturbance D(s) G(s) Y (s) • Need to design controller D(s). • One option is PID (Proportional Integral Derivative) control design. Lecture notes prepared by Dr. Gregory L. Plett 4–7 ECE4510, BASIC PROPERTIES OF FEEDBACK • Extremely popular. 90+% of all controllers are PID. – Doesn’t mean that they are great, just popular. • We just saw proportional control where u(t) = K e(t), or D(s) = K . • Proportional control allows non-zero steady state error. – Increases speed of response. – Larger transient overshoot. • Integral control eliminates steady state error. D(s) = KI . s – Dynamic response gets worse. • Derivative control damps dynamic response. D(s) = K D s. Proportional Control • u(t) = K (r(t) − y(t)) = K e(t) ... D(s) = K . • May have steady state error, may not be able to completely reject a constant disturbance. EXAMPLE: Determine behavior of closed loop poles for the dc motor. Y (s) AK = . R(s) (τ1s + 1)(τ2s + 1) + AK • Poles are roots of (τ1s + 1)(τ2s + 1) + AK . • Without feedback, K → 0. s1 = −1/τ1, • With feedback, s1 , s 2 = −(τ1 + τ2) ± Lecture notes prepared by Dr. Gregory L. Plett p s2 = −1/τ2. (τ1 + τ2)2 − 4τ1τ2 (1 + AK ) . 2τ1τ2 4–8 ECE4510, BASIC PROPERTIES OF FEEDBACK (τ1 − τ2 )2 =(s) K = 4τ1τ2 A K =0 1 − τ2 K =0 1 − τ1 − <(s) τ1 + τ2 2τ1τ2 • (We will see many root-locus plots in this course!) (τ1 − τ2)2 • After a certain gain K = , the poles go straight up and down. 4τ1τ2 A Settling time remains the same, rise time decreases, damping decreases (more overshoot.) • For larger systems increasing K leads to instability. • How do we improve accuracy, but keep stability? Integral and Proportional Integral Control Z K t K • Pure integral control: u(t) = e(τ ) dτ, D(s) = . TI 0 TI s • TI = “Integral time” = time for output = K with input = 1. • Integral feedback can give nonzero control even if e = 0 because of “memory.” No steady state error, and constant disturbances can be canceled (completely). Z K t EXAMPLE: Substitute: u(t) = (r(τ ) − y(τ )) dτ into dc-motor TI 0 equations. Lecture notes prepared by Dr. Gregory L. Plett 4–9 ECE4510, BASIC PROPERTIES OF FEEDBACK .. . K τ1τ2 y (t) + (τ1 + τ2) y (t) + y(t) = A TI Z t (r(τ ) − y(τ )) dτ + Bw(t). 0 • Differentiate, AK . (r(t) − y(t)) + B w(t) TI ... .. . AK AK . y y y τ1τ2 (t) + (τ1 + τ2) (t) + (t) + y(t) = r(t) + B w(t). TI TI ... .. . τ1τ2 y (t) + (τ1 + τ2) y (t) + y (t) = . • If r(t) = cst, w(t) = cst, w(t) = 0, AK AK yss = rss TI TI ➠ no error. • Steady-state improves =(s) • Dynamic response degrades. – Very oscillatory. K =0K =0 1 1 − − τ2 τ1 – Possibly unstable. • Can be improved by adding proportional term to integral term. Z t K u(t) = K e(t) + e(τ ) dτ, T I 0 1 D(s) = K 1 + . TI s • Poles are at τ1τ2s 3 + (τ1 + τ2)s 2 + (1 + AK )s + Two degrees of freedom. Derivative and Proportional Derivative Control . • u(t) = K TD e(t), D(s) = K TD s. Lecture notes prepared by Dr. Gregory L. Plett AK = 0. TI <(s) 4–10 ECE4510, BASIC PROPERTIES OF FEEDBACK • TD = “Derivative time”. • PURE DERIVATIVE CONTROL IMPRACTICAL SINCE DERIVATIVE MAGNIFIES SENSOR NOISE! • Practical version = “Lead control,” which we will study later. • Stabilizes system. . • Does nothing to reduce constant error! If e(t) = 0, then u(t) = 0. • Motor Control: Poles at roots of τ1τ2s 2 + (τ1 + τ2 + AK TD )s + 1 = 0. – TD enters ζ term, can make damping better. • PD = Proportional plus derivative control D(s) = K (1 + TD s) • Root locus for dc motor, PD control. =(s) 1 − τ2 1 − TD 1 − τ1 <(s) Proportional Integral Derivative Control 1 • D(s) = K 1 + + TD s . TI s • Need ways to design parameters K , TI , TD . • In general (i.e., not always), K , TI ↑ ⇐⇒ error ↓, stability ↓ TD ↑ ⇐⇒ stability ↑ Lecture notes prepared by Dr. Gregory L. Plett 4–11 ECE4510, BASIC PROPERTIES OF FEEDBACK • For speed control problem, Z . 1 t . u(t) = K (r(t) − y(t)) + (r(τ ) − y(τ )) dτ + TD (r(t) − y (t)) . TI 0 (math happens). Solve for poles τ1τ2 TI s 3 + TI ((τ1 + τ2) + AK TD )s 2 + TI (1 + AK )s + AK = 0 AK + τ + AK T τ 1 + AK 1 2 D s2 + s+ s3 + = 0. τ1τ2 τ1τ2 τ1τ2 TI • Three coefficients, three parameters. We can put poles anywhere! Complete control of dynamics in this case. • Entire transfer functions are: Y (s) TI Bs = . W (s) TI τ1τ2s 3 + TI (τ1 + τ2)s 2 + TI (1 + AK )s + AK Y (s) AK (TI s + 1) = . R(s) TI τ1τ2s 3 + TI (τ1 + τ2)s 2 + TI (1 + AK )s + AK • We can plot responses in MATLAB: num = [TI*B 0]; den = [TI*TAU1*TAU2 TI*(TAU1+TAU2) TI*(1+A*K) A*K]; step(num, den) Step Reference Response 1.6 PI P 1.2 1.4 y(t) (rad/sec) 1.4 y(t) (rad/sec) Step Disturbance Response 1.6 1 0.8 PID 0.6 0.4 0.2 0 0 P 1.2 1 0.8 PI PID 0.6 0.4 0.2 0.01 0.02 0.03 0.04 0.05 0 0 0.01 Time (sec) Ziegler - Nichols Tuning of PID Controllers • “Rules of Thumb” for selecting K , TI , TD . Lecture notes prepared by Dr. Gregory L. Plett 0.02 0.03 Time (sec) 0.04 0.05 4–12 ECE4510, BASIC PROPERTIES OF FEEDBACK • Not optimal in any sense—just provide good performance. METHOD I : If system has step response like this, Slope, A/τ A Y (s) Ae−τd s = , U (s) τ s + 1 (first-order system plus delay) τd τ • We can easily identify A, τd , τ from this step response. • Don’t need complex model! • Tuning criteria: Ripple in impulse response decays to 25% of its value in one period of ripple 1 Period RESULTING TUNING RULES : P PI 0.25 K = METHOD II : τ Aτd 0.9τ Aτ τd d TI = 0.3 K = PID 1.2τ K = Aτd TI = 2τd TD = 0.5τd Configure system as r (t) Ku Plant y(t) • Turn up gain K u until system produces oscillations (on stability boundary) K u = “ultimate gain.” Lecture notes prepared by Dr. Gregory L. Plett 4–13 ECE4510, BASIC PROPERTIES OF FEEDBACK Period, Pu 1 RESULTING TUNING RULES : P PI K = 0.5K u K = 0.45K u 1 TI = Pu 1.2 PID K = 0.6K u TI = 0.5Pu Pu TD = 8 Practical Problem: Integrator Overload • Integrator in PI or PID control can cause problems. • For example, suppose there is saturation in the actuator. – Error will not decrease. – Integrator will integrate a constant error and its value will “blow up.” • Solution = “integrator anti-windup.” Turn off integration when actuator saturates. K e(t) u(t) K TI s Ka u min u max • Doing this is NECESSARY in any practical implementation. • Omission leads to bad response, instability. Lecture notes prepared by Dr. Gregory L. Plett 4–14 ECE4510, BASIC PROPERTIES OF FEEDBACK Step Response Control Effort 1.6 1 1.4 Without antiwindup 1.2 0.6 0.6 u(t) y(t) 1 0.8 With antiwindup 0.4 0.2 0 0.4 −0.2 0.2 −0.4 0 0 Without antiwindup 0.8 2 4 6 8 10 −0.6 0 With antiwindup 2 Time (sec) 4 6 Time (sec) 8 10 Steady-State Error • System error is any difference between r(t) and y(t). • Two sources: 1. Imprecise tracking of r(t). 2. Disturbance affecting the system output. Steady-State Error (w.r.t. Reference Input) • We have already seen examples of CL systems that have some tracking error (proportional ctrl) or not (integral ctrl) to a step input. We will formalize this concept here. • Start with very general control structure: r (t) T (s) y(t) • The closed-loop transfer function for the whole system, Y (s) T (s) = . R(s) • The error is E(s) = R(s) − Y (s) Lecture notes prepared by Dr. Gregory L. Plett 4–15 ECE4510, BASIC PROPERTIES OF FEEDBACK = R(s) − T (s)R(s) = [1 − T (s)] R(s). • Assume conditions of final value theorem are satisfied (i.e., T (s) is stable) ess = lim e(t) = lim s[1 − T (s)]R(s). t→∞ s→0 tk • We use test inputs of the type: r(t) = 1(t); k! t · 1(t) 1(t) t R(s) = t2 · 1(t) 2 t 1 s k+1 . t • As k increases, tracking is progressively harder. 0, type > K ; 1 − T (s) ess = lim = constant, type = K ; s→0 sk ∞, type < K . • If system type = 0, constant steady-state error for step input, infinite s.s. error for ramp or parabolic input. • If system type = 1, no steady-state error for step input, constant s.s. error for ramp input, infinite s.s. error for parabolic input. • If system type = 2, no steady-state error for step or ramp inputs, constant s.s. error for parabolic inputs. • And so forth, for higher-order system types. • Ramp responses of different system types: Lecture notes prepared by Dr. Gregory L. Plett 4–16 ECE4510, BASIC PROPERTIES OF FEEDBACK t Type 0 System t Type 1 System t t Type 2 System t t • DANGER : Higher order sounds better but they are harder to stabilize and design. Transient response may be poor. UNITY FEEDBACK: SPECIAL CASE • NOTE : The following method is a special case of the above general method. Be careful to use the apropriate method for the problem at hand! • Unity-feedback is when the control system looks like: r (t) G ol (s) y(t) • There are some important simplifications: G ol (s) T (s) = 1 + G ol (s) 1 + G ol (s) G ol (s) 1 − T (s) = − 1 + G ol (s) 1 + G ol (s) 1 = . 1 + G ol (s) So, E(s) = Lecture notes prepared by Dr. Gregory L. Plett 1 R(s). 1 + G ol (s) 4–17 ECE4510, BASIC PROPERTIES OF FEEDBACK • For the test inputs R(s) = 1 s k+1 ess = lim s E(s) s→0 1 s→0 [1 + G ol (s)]s k = lim • For type 0, 1 1 , = s→0 1 + G ol (s) 1 + Kp ess = lim K p = lim G ol (s). s→0 • For type 1, 1 1 1 1 , = lim = s→0 1 + G ol (s) s s→0 sG ol (s) Kv ess = lim K v = lim sG ol (s). s→0 • For type 2, 1 1 1 1 = lim , = s→0 1 + G ol (s) s 2 s→0 s 2 G ol (s) Ka ess = lim K a = lim s 2 G ol (s). s→0 These formulas only meaningful for unity-feedback! K p = lim G ol (s). “position error constant” s→0 K v = lim sG ol (s). “velocity error constant” K a = lim s 2 G ol (s). “acceleration error constant” s→0 s→0 Steady-state tracking errors ess for unity-feedback case ONLY. Sys. Type Type 0 Step Input 1 1 + Kp Ramp Input ∞ ∞ ∞ Type 1 0 1 Kv Type 2 0 0 Lecture notes prepared by Dr. Gregory L. Plett Parabola Input 1 Ka ECE4510, BASIC PROPERTIES OF FEEDBACK EXAMPLES: (1) Consider G ol (s) = s+1 ; System type? (s + 2)(s + 3) 1 1 = . 2·3 6 1 6 Therefore, type= 0, ess to unit step= = . 1 + 1/6 7 G ol (0) = (s + 1)(s + 10)(s − 5) (2) Consider G ol (s) = 2 ; System type? (s + 3s)(s 4 + s 2 + 1) 1 · 10 · (−5) =∞ ➠Type > 0. 0·1 (s + 1)(s + 10)(s − 5) sG ol (s) = (s + 3)(s 4 + s 2 + 1) 1 · 10 · (−5) −50 sG ol (s)|s=0 = = . 3·1 3 −3 Therefore, type= 1, ess to unit ramp= . 50 s 2 + 2s + 1 (3) Consider G ol (s) = 4 ; System type?. s + 3s 3 + 2s 2 1 G ol (0) = = ∞ ➠Type > 0 0 s 2 + 2s + 1 sG ol (s) = 3 s + 3s 2 + 2s 1 sG ol (s)|s=0 = = ∞ ➠Type > 1 0 s 2 + 2s + 1 2 s G ol (s) = 2 s + 3s + 2 1 s 2 G ol (s) s=0 = ➠Type = 2. 2 G ol (0) = Lecture notes prepared by Dr. Gregory L. Plett 4–18 4–19 ECE4510, BASIC PROPERTIES OF FEEDBACK Therefore, type= 2, ess to unit parabola= 2. Open-loop G(s) = G ol (s) tells us about closed-loop s.s. response. KEY POINT: EXAMPLE: DC-motor example with Proportional control. r (t) Ctrlr A (τ1s + 1)(τ2s + 1) y(t) • Controller: D(s) = K . D(s)G(s) = KA , (τ1s + 1)(τ2s + 1) lim D(s)G(s) = K A. s→0 So system is type 0, with s.s. error to step input of agrees with prior results.) 1 . (This 1+KA EXAMPLE : DC-motor example with PI control 1 • Controller: D(s) = K 1 + . TI s D(s)G(s) = KA+ KA TI s (τ1s + 1)(τ2s + 1) lim D(s)G(s) = ∞ . s→0 lim s D(s)G(s) = s→0 KA . TI System is type 1, with s.s. error to ramp input of EXAMPLE : DC-motor with another integrator Lecture notes prepared by Dr. Gregory L. Plett TI . KA ECE4510, BASIC PROPERTIES OF FEEDBACK • Controller: D(s) = K 1 + 4–20 1 1 . + TI s TI s 2 D(s)G(s) = KA+ KA TI s + KA TI s 2 (τ1s + 1)(τ2s + 1) KA lim s 2 D(s)G(s) = . s→0 TI System is type 2, with s.s. error to parabolic input of TI . KA Steady State Error (w.r.t. Disturbance) • Recall, system error is any difference between r(t) and y(t). • One source of system error is disturbance. • Can find system type with respect to disturbance. Y (s) = Tw (s) W (s) such that Y (s) = T (s)R(s) + Tw (s)W (s). • We do not wish the output to have ANY disturbance term in it, so the output error due to the disturbance is equal to the output due to the disturbance. ess = yss = lim sTw (s)W (s). s→0 • Type 0 system (w.r.t. disturbance) has constant lim Tw (s). s→0 Tw (s) . s→0 s Tw (s) • Type 2 system (w.r.t. disturbance) has constant lim 2 . s→0 s • Type 1 system (w.r.t. disturbance) has constant lim Lecture notes prepared by Dr. Gregory L. Plett 5–1 ECE4510: Feedback Control Systems. STABILITY ANALYSIS • Many classifications of stability in system analysis. • For LTI systems, all are basically the same ➠ “BIBO.” Stable Neutral Unstable • If input is bounded: |u(t)| < K 1, then output is also bounded |y(t)| < K 2. • In the time domain, Z y(t) = ∞ h(τ )u(t − τ ) dτ −∞ ∞ Z |y(t)| = Lecture notes prepared by Dr. Gregory L. Plett −∞ h(τ )u(t − τ ) dτ ECE4510, STABILITY ANALYSIS Z ≤ 5–2 ∞ −∞ |h(τ )| |u(t − τ )| dτ Z ≤ K1 Z • So if a system is BIBO stable, u(t) C ∞ −∞ ∞ −∞ |h(τ )| dτ. |h(τ )| dτ < ∞. Note: (h(t) = 1(t)). Stable? y(t) • In the Laplace domain, Q Y (s) (s − zi ) K m H (s) = = Qn 1 R(s) 1 (s − pi ) m ≤ n. (assume poles unique) h(t) = n X ki e pi t i =1 Z ∞ −∞ |h(τ )| dτ < ∞ iff <( pi ) < 0 ∀ i. (If poles are not distinct, h(t) will have terms k t m−1e pi t (m − 1)! for an mth order root. Z ∞ −∞ |h(τ )| dτ < ∞ iff <( pi ) < 0; Same condition.) • Laplace-domain condition for stability: All poles in the transfer function must be in the open left hand plane. (i.e., none on jω axis.) Lecture notes prepared by Dr. Gregory L. Plett 5–3 ECE4510, STABILITY ANALYSIS EXAMPLE : T (s) = 2 . Is T (s) stable? s 2 + 3s + 2 2 T (s) = , (s + 1)(s + 2) • Roots at s = −1, s = −2. Stable! 10s + 24 EXAMPLE : T (s) = . Is T (s) stable? s 3 + 2s 2 − 11s − 12 10(s + 2.4) T (s) = , (s + 1)(s − 3)(s + 4) • Roots at s = −1, s = +3, s = −4. Unstable! s EXAMPLE: T (s) = . Is T (s) stable? s2 + 1 s T (s) = , (s − j)(s + j) • Roots at s = ± j. MARGINALLY stable. • Use input = sin(t). s 1 s = s 2 + 1 s 2 + 1 (s 2 + 1)2 y(t) = t sin(t) . . . unbounded. Y (s) = • MARGINALLY stable = unstable (bounded impulse response, but unbounded output for some inputs.) Routh Hurwitz Stability Criterion • Factoring high-degree polynomials to find roots is tedious and numerically not well conditioned. • Want other stability tests, and also MARGINS of stability. Lecture notes prepared by Dr. Gregory L. Plett ECE4510, STABILITY ANALYSIS (1) Routh test Can you tell this is (2) Root locus an important topic? (3) Nyquist test (4) Bode stability margins • In 1868, Maxwell found conditions on the coefficients of a transfer function polynomial of 2nd and 3rd order to guarantee stability. • It became the subject of the 1877 Adams Prize to determine conditions for stability for higher-order polynomials. • Routh won this prize, and the method is still useful. “Case 0” • Consider the denominator a(s). 2nd order: a(s) = s 2 + a1s + a0 = (s − p1 )(s − p2) = s 2 − ( p1 + p2)s + p1 p2. 3rd order: a(s) = s 3 + a2s 2 + a1s + a0 = (s − p1 )(s − p2)(s − p3 ) = s 2 − ( p1 + p2)s + p1 p2 s − p3 = s 3 − ( p1 + p2 + p3 )s 2 + ( p1 p2 + p1 p3 + p2 p3)s − p1 p2 p3 . TREND : Stability ➠ none of the coefficients ai can be ≤ 0. Does this trend continue? Lecture notes prepared by Dr. Gregory L. Plett 5–4 ECE4510, STABILITY ANALYSIS an−1 = (−1)× sum of all roots. an−2 = sum of products of roots taken two at a time. an−3 = (−1)× sum of products of roots taken three at a time. ... a0 = (−1)n × product of all roots. • Conclusions: 1. If any coefficient ai = 0, not all roots in LHP. 2. If any coefficient ai < 0, at least one root in RHP. TEST: If any coefficient ai ≤ 0, system is unstable. EXAMPLE : a(s) = s 2 + 0s + 1. • From conclusion (1), not all roots in LHP. • Roots at s = ± j. • “Marginally” stable. EXAMPLE : a(s) = s 3 + 2s 2 − 11s − 12. • From conclusion (2), at least one root is in RHP. • Roots at s = −1, s = −4, s = +3. • Unstable. EXAMPLE : a(s) = s 3 + s 2 + 2s + 8. • We don’t know yet if this system is stable or not. √ 1 j 15 • Roots at s = −2, s = ± . Unstable, but how do we find out 2 2 without factoring? Lecture notes prepared by Dr. Gregory L. Plett 5–5 5–6 ECE4510, STABILITY ANALYSIS “Case 1” • Once we have determined that ai ≥ 0 ∀ i, we need to run the Routh test. • Very mechanical, not intuitive. Proof difficult. • a(s) = s n + an−1s n−1 + · · · + a1s + a0. • Form “Routh Array”. sn s n−1 s n−2 s n−3 ... s1 s0 TEST : an an−2 an−4 · · · an−1 an−3 an−5 · · · b1 b2 · · · c1 c2 ··· j1 k1 b1 = −1 an an−2 an−1 an−1 an−3 b2 = −1 an an−4 an−1 an−1 an−5 c1 = −1 an−1 an−3 b1 b1 b2 c2 = −1 an−1 an−5 b1 b1 b3 ··· ··· Number of unstable roots = number of sign changes in left column. EXAMPLE : a(s) = s 3 + s 2 + 2s + 8. s3 1 2 s2 1 8 s 1 −6 s0 8 b1 = c1 = • Two sign changes (1 → −6, Lecture notes prepared by Dr. Gregory L. Plett −1 1 2 1 1 8 −1 1 8 −6 −6 0 = −(8 − 2) = −6 = 1 (0 + 68) = 8 6 −6 → 8) Two roots in RHP. 5–7 ECE4510, STABILITY ANALYSIS EXAMPLE : a(s) = s 2 + a1s + a0. s 2 1 a0 s 1 a1 s 0 a0 b1 = −1 1 a0 a1 a1 0 = −1 (0 − a0 a1) = a0 a1 • Stable iff a1 > 0, a0 > 0. EXAMPLE : s3 s2 s 1 s0 a(s) = s 3 + a2s 2 + a1s + a0. 1 a2 a0 a1 − a2 a0 a1 a0 • Stable iff a2 > 0, a0 > 0, a1 > b1 = −1 1 a1 a2 a2 a0 = −1 (a0 − a1 a2) a2 = a1 − c1 = −1 a2 a0 b1 b1 0 = a0 a2 −1 (−a0b1 ) = a0. b1 a0 . a2 “Case 2” 0 • Sometimes find an element in first column = 0 ➠ (!) 0 • Replace with ± as → 0. Lecture notes prepared by Dr. Gregory L. Plett 5–8 ECE4510, STABILITY ANALYSIS EXAMPLE : a(s) = s 5 + 2s 4 + 2s 3 + 4s 2 + 11s + 10. −1 1 2 2 2 4 = −1 (4 − 4) = 0 2 −1 1 11 2 2 10 = −1 (10 − 22) = 6 2 −1 2 4 6 = −1 −12 (12 − 4) ≈ c2 = −1 2 10 0 = −1 (0 − 10) = 10 d1 = 12 6 −12 10 = 72 (10 + ) ≈ 6 12 −1 e1 = 6 −12 10 6 0 = −1 (0 − 60) = 10 6 b1 = b2 = s5 s4 s3 new s 3 s2 s1 s0 1 2 11 2 4 10 0 6 6 −12 10 6 10 If > 0, two sign changes. If < 0, two sign changes. ➠ Two poles in RHP. c1 = “Case 3” • Sometimes an entire row in Routh array = 0. • This means that polynomial factors such that one factor has conjugate-MIRROR-roots. =(s) =(s) <(s) =(s) <(s) • In any case, system is unstable. But how many RHP roots? Lecture notes prepared by Dr. Gregory L. Plett <(s) 5–9 ECE4510, STABILITY ANALYSIS • Complete Routh array by making polynomial a1(s) from last non-zero row in array. Poly has even orders of s only!! • a1(s) is a factor of a(s). It is missing some orders of s, so IS NOT STABLE (by “case 0”.) • We want to see if it has roots in the RHP or only on the jω-axis. da1(s) • Replace zero row with and continue. ds EXAMPLE : s4 s3 s2 s1 new s 1 s0 1 1 1 0 2 2 a(s) = s 4 + s 3 + 3s 2 + 2s + 2. 3 2 2 2 0 No sign changes in Routh array. So, no RHP roots. √ Roots of a1(s) at s = ± j 2. Marginally stable. Lecture notes prepared by Dr. Gregory L. Plett b1 = −1 1 3 1 1 2 = 1 b2 = −1 1 2 1 1 0 = 2 −1 1 2 c1 = 1 1 2 = 0 −1 1 2 2 2 0 = 2 d1 = a1(s) = s 2 + 2 da1(s) = 2s ds 5–10 ECE4510, STABILITY ANALYSIS EXAMPLE : s4 s3 new s 3 s2 new s 2 s1 s0 a(s) = s 4 + 4 (Hard). 1 0 4 0 −16 4 0 0 0 4 4 4 da1(s) = 4s 3. ds a1 (s) = s 4 + 4; Two sign changes. Therefore 2 RHP poles. Other two poles are mirrors in LHP. b1 = −1 1 0 4 4 0 = 0 b2 = −1 1 4 4 4 0 = 4 c1 = −1 4 0 4 = d1 = 16 4 −16 0 −16 = 4 Design Tool • Consider the system: r (t) s+1 s(s − 1)(s + 6) K s+1 K s(s−1)(s+6) Y (s) T (s) = = s+1 R(s) 1 + K s(s−1)(s+6) = K (s + 1) s(s − 1)(s + 6) + K (s + 1) a(s) = s(s − 1)(s + 6) + K (s + 1) Lecture notes prepared by Dr. Gregory L. Plett y(t) 5–11 ECE4510, STABILITY ANALYSIS = s 3 + 5s 2 + (K − 6)s + K . s3 s2 s 1 s0 1 K −6 5 K 4K − 30 5 K b1 = −1 1 K − 6 5 5 K = −1 (K − 5(K − 6)) 5 = (4K − 30)/5. c1 = For stability of the closed-loop system, K > 0, and K > 30/4. −1 5 K b1 b1 0 = −1 (−b1 K ) = K b1 • Step response for different values of K . 2.5 K =25 K =13 K =7.5 Amplitude 2 1.5 1 0.5 0 −0.5 0 2 4 6 8 10 12 Time (sec.) EXAMPLE : r (t) 1 K 1+ TI s Lecture notes prepared by Dr. Gregory L. Plett 1 (s + 1)(s + 2) y(t) 5–12 ECE4510, STABILITY ANALYSIS K TI s+K Y (s) s(s+1)(s+2) T (s) = = K TI s+K R(s) 1 + s(s+1)(s+2) = K TI s + K . s(s + 1)(s + 2) + K TI s + K • a(s) = s 3 + 3s 2 + (2 + K TI )s + K . s3 s2 s1 s 0 1 2 + K TI 3 K 6 + 3K TI − K 3 K b1 = −1 1 2 + K TI 3 3 K = −1 (K − 3(2 + K TI )) 3 −1 3 K b1 b1 0 = −1 (−b1 K ) = K b1 c1 = • For stability of the closed-loop system, 0 < K < 1 K > 0 for TI > . 3 6 1 for TI < or 1 − 3TI 3 1.2 Amplitude 1 K = 3, TI = 0.5 0.8 K = 1, TI = 0.25 0.6 K = 1, TI = ∞ 0.4 0.2 0 0 2 4 6 Time (sec.) Lecture notes prepared by Dr. Gregory L. Plett 8 10 12 Root Locus: Construction and Design Plant R( s ) + K _ Gp ( s ) Y( s ) K is a positive parameter that can be changed K .Gp ( s ) Y( s ) R ( s ) 1 K .Gp ( s ) s Gp ( s ) N( s ) and D( s ) m s am n bn 1 1 .s m .s n 1 } ...... 1 ....... are polynomials where m n K. N( s ) D( s ) Y( s ) R( s ) 1 Closed Loop Transfer Function a0 N ( s ) b D( s ) } General Form for the Transfer Function 0 K .N( s ) N( s ) D ( s ) K .N( s ) K. D( s ) The closed loop poles are the roots of the characteristic equation ∆ ( s ) D( s ) The location of the roots of ∆( s) K .N( s ) 0 in the s-plane change as K is varied from 0 to A "Locus" of these roots plotted in the s-plane as a function of K is called the Different ways to write the same thing ∆( s) 1 K. N( s ) D( s ) D( s ) K .N( s ) 0 Gives the roots of the closed loop system ∞ Root Locus Root Locus Rules 1. Starting points (K = 0) The root loci start at the open-loop poles. 2. Termination points The root loci terminate at the open-loop zeros. The open loop zeros include those at infinity. 3. Number of distinct root loci There will be as many root loci as the largest number of finite open loop poles or zeros. For the majority of systems, the number of finite open-loop poles will be greater than the number of finite open-loop zeros. 4. Symmetry of root loci The root loci are symmetrical with respect to the real axis. 5. Asymptote intersection The asymptotes intersect the real axis at a point given by centroid formula { σi = ∑ open − loop poles − ∑ open − loop zeros n− m 6. Root Locus locations on the real axis The root loci may be found on portions of the real axis to the left of an odd number of open-loop poles and zeros. 7. Rool locus asymptotes The root loci are asymptotic to straight lines, for large values of s, with angles given by θ= (1 + 2k )π n− m Let RD (relative degree) = n - m k = 0,1,..., n − m − 1 n = no. of finite open loop poles m = no. of finite open loop zeros Asymptote Chart in the s plane X RD 1 X RD 2 120 RD 3 The centroids are marked x X 90 RD 4 in the asymptote charts above X 72 RD 5 Example Plant + R( s ) Gp ( s ) Y( s ) R( s ) K _ 1 2 ) .( s s .( s K. 1 K. ∆( s) 1 K. } 4) 1 2 ) .( s s .( s } 2 ) .( s s 0, 2, 4 Closed Loop Transfer Function 4) 1 s .( s Y( s ) Open loop poles are at 4) 1 2 ) .( s s .( s Gp ( s ) Locus Form } Root for the Denominator 4) Step 1. Pole Zero Plot Step 2. Real Axis jω X X -4 jω X X X σ -2 -4 Step 3. Centroid / Asymptotes centroid 0 2 4 0 3 X X -4 X -2 σ jω centroid 2 X -2 σ RD 3 6 Step 4. Draw the Root Locus Imag Axis 4 a. Locus must be symmetric about real axis b. Open loop zeros at infinity = 3 c. Locus starts at open loop poles and goes to the open loop zeros 2 0 -2 Note: Locus is symmetric about the real axis because complex poles always come in conjugate pairs -4 -6 -6 -5 -4 -3 -2 -1 Real Axis 0 1 2 Example Plant + R( s ) Gp ( s ) Y( s ) R( s ) K _ s 2 3 3j) .( s 1 ) .( s (s K. 1 ) .( s (s 1 K. ∆( s) 1 K. (s Gp ( s ) 1 ) .( s 1 ) .( s 3 s 2 3 3j) .( s 3 } 3j) s 2 3 3j) .( s s (s 3 Y( s ) | 3j) 3 2 3j) .( s oX 3 3j) | 3 1 2 Root Locus Form for the Denominator jω ( 2) σ X jω X 5 2 oX -3 -2 -1 centroid Step 3. Centroid / Asymptotes 3 } Step 2. Real Axis σ X = Closed Loop Transfer Function X -3 -2 -1 s=−2 s = − 3 ± j3 3j) jω Centroid Open loop poles } Step 1. Pole Zero Plot X Open loop zero oX σ -3 -2 -1 X RD 2 10 8 6 a. Locus must be symmetric about real axis b. Open loop zeros at infinity = 2 c. Locus starts at open loop poles and goes to the open loop zeros Imag Axis Step 4. Draw the Root Locus 4 2 0 -2 -4 -6 -8 -10 -4 -3 -2 -1 Real Axis 0 1 2 Example + R( s ) Gp ( s ) Y( s ) R( s ) K _ 1 1 ) .( s (s Gp ( s ) } 3) 1 ( s 1 ) .( s 3 ) 1 K. ( s 1 ) .( s 3 ) K. ∆( s) 1 1 1 ) .( s (s } 3) } 1, 3 s Open loop poles K. 1 Y( s ) Closed Loop Transfer Function Root Locus Form for the Denominator Step 1. Pole Zero Plot Step 2. Real Axis jω jω X X -3 X X σ -1 -3 σ -1 centroid Step 3. Centroid / Asymptotes = 3 1 2 2 RD 2 X X -3 -1 Step 4. Draw the Root Locus 2.5 σ 2 1.5 Imag Axis Centroid jω 1 0.5 0 -0.5 a. Locus must be symmetric about real axis b. Open loop zeros at infinity = 2 c. Locus starts at open loop poles and goes to the open loop zeros -1 -1.5 -2 -2.5 -4 -3 -2 -1 Real Axis 0 1 2 Example - Continued R( s ) Open Loop System Gp ( s ) 1 1 ) .( s (s Y( s ) Gp ( s ) 3) Step Response Let R(s) = Unit step 0.3 Y( s ) 1 2 s 0.25 1 6 1 s Amplitude 1 3 s 3 0.2 0.15 0.1 0.05 0 0 1 2 3 4 5 6 Time (sec.) Closed Loop System Y( s ) + _ R( s ) K Gp ( s ) Let R(s) = unit step Step Response 1.2 1 K 30 K 10 Amplitude 0.8 } K 4 0.6 0.4 as K changes it is clear that the transient response can be "shaped" K 1 0.2 0 0 2 4 6 8 10 Time (sec.) Note: Higher values of K speed up the closed-loop response when compared to the open-loop response Example + _ R( s ) Gp ( s ) Y( s ) R( s ) K s .( s K. 3 ) .( s s .( s 1 K. ∆( s) 1 K. Gp ( s ) 1 j .7.4 ) .( s 3 3 ) .( s 3 s .( s 3 ) .( s s .( s 3 ) .( s j .7.4 ) 3 1 j .7.4 ) .( s Y( s ) } j .7.4 ) 3 3 1 j .7.4 ) .( s 3 j .7.4 ) 3 1 j .7.4 ) .( s 3 j .7.4 ) Step 1. Pole Zero Plot X Locus Form } Root for the Denominator Step 2. Real Axis jω X Closed-Loop Transfer Function jω X X X σ -3X X σ -3 X centroid Step 3. Centroid Asymptotes Centroid = RD 4 3 3 3 4 0 9 4 2.25 jω X X -3 X X σ Step 4. Draw the Root Locus a. Locus must be symmetric about real axis b. Open loop zeros at infinity = 4 c. Locus starts at open loop poles and goes to the open loop zeros 8 6 Imag Axis 4 2 0 -2 -4 -6 -8 -4 -3 -2 -1 Real Axis 0 1 2 Magnitude and Angle Conditions K .Gp ( s ) Y( s ) R ( s ) 1 K .Gp ( s ) Y( s ) + R( s ) K _ Gp ( s ) Poles are determined by K .Gp ( s ) ∆( s) 1 ∆( s) } characteristic equation } =0 clp denotes closed-loop pole s clp Magnitude Condition ∆( s) 1 K .Gp ( s ) K .Gp ( s ) =0 s clp K . Gp ( s ) } 1 = s clp } =1 s clp K .Gp ( s ) => = -1 s clp } Expression for finding clps Take the magnitude of both sides (Note K is a real number) Magnitude Condition Angle Condition K .Gp ( s ) } = -1 Expression for finding clps s clp Angle K .Gp ( s ) Angle Gp ( s ) Angle Gp ( s ) = Angle( 1 ) } Take the angle of both sides s clp = -180 s clp = -180 s clp } Use -180 degrees as opposed to 180 degrees by convention (only here) (Note K is a real number) } Angle Condition Example Find the value of K which places a closed loop pole at -5 Gp ( s ) s 2 1 ) .( s (s Y( s ) + R( s ) K _ Gp ( s ) 4) Find the transfer function K. Y( s ) R( s ) (s K. 1 s 2 1 ) .( s 4) s 2 1 ) .( s (s } closed loop TF 4) 1 0.8 Imag Axis 0.6 0.4 0.2 } 0 Draw the Root Locus -0.2 -0.4 -0.6 Note that -5 lies on the root locus -0.8 -1 -6 -5 -4 -3 -2 -1 0 1 2 Real Axis Magnitude Condition K . Gp ( s ) = s K. 5 = s 2 1 ) .( s (s K. 3 . ( 4) ( 1 ) 4) =1 s 1 5 K => 4 3 Angle Condition Angle Gp ( s ) = Angle( 3 ) = s Angle( s 2) Angle( s 4) Angle( s 5 ( Angle( 1 ) ) Angle( 4 ) 180 ( 180 180 ) 180 1) s = - 180 5 Condition } Angle is satisfied 6–1 ECE4510: Feedback Control Systems. ROOT-LOCUS ANALYSIS • Recall step response: we have seen that pole locations in the system transfer function determine performance characteristics; such as rise time, overshoot, settling time. • We have also seen that feedback can change pole locations in the system transfer function and therefore performance is changed. • Suppose that we have one variable parameter in our control system. Then, we make a parametric plot of pole locations as that parameter changes. The poles are the roots of the denominator of the transfer function (a.k.a. the “characteristic equation.”) This plot is a plot of the locus of the roots or the “ROOT LOCUS PLOT” (First suggested by Evans.) VERY IMPORTANT NOTE : Root locus is a parametric plot (vs. K ) of the roots of an equation 1+ K b(s) = 0. a(s) • A common control configuration is r (t) K G(s) – Unity feedback, proportional gain. – We will generalize control configuration later. Lecture notes prepared by Dr. Gregory L. Plett y(t) 6–2 ECE4510, ROOT-LOCUS ANALYSIS – Closed-loop transfer function T (s) = K G(s) . 1 + K G(s) – Poles = roots of 1 + K G(s) = 0. • Assume plant transfer function G(s) is rational polynomial: b(s) G(s) = , such that a(s) b(s) = (s − z 1)(s − z 2) · · · (s − z m ) a(s) = (s − p1)(s − p2 ) · · · (s − pn ) n≥m (b(s) is monic.) (a(s) is monic.) [a(s) may be assumed monic without loss of generality. If b(s) is not monic, then its gain is just absorbed as part of K in 1 + K G(s) = 0] • zi are zeros of G(s), the OPEN-LOOP transfer function. • pi are poles of G(s), the OPEN-LOOP transfer function. • CLOSED-LOOP poles are roots of equation 1 + K G(s) = 0 a(s) + K b(s) = 0, which clearly move as a function of K . • Zeros are unaffected by feedback. 1 . Find the root locus. s(s + 2) • a(s) = s(s + 2); b(s) = 1. EXAMPLE : G(s) = • Locus of roots: (aside, stable for all K > 0 .) s(s + 2) + K = 0 s 2 + 2s + K = 0. Lecture notes prepared by Dr. Gregory L. Plett 6–3 ECE4510, ROOT-LOCUS ANALYSIS • For this simple system we can easily find the roots. √ −2 ± 4 − 4K s1,2 = 2 √ = −1 ± 1 − K . • Roots are real and negative for 0 < K < 1. • Roots are complex conjugates for K > 1. =(s) K =1 s1 , K = 0 s2 , K = 0 <(s) • Suppose we want damping ratio=0.707. We can recall that 2 2 s + 2ζ ωn s + ωn = 0 K =2 m s 2 + 2s + K = 0 or we can locate the point on the root locus where |<{poles}| = |={poles}|. √ | − 1| = | 1 − K | 2 = K. (or, K = 0, not an appropriate solution). How to Plot a Root Locus • A value s = s1 is on the (180◦) root locus iff 1 + K G(s1) = 0 for some real value of K , 0 ≤ K ≤ ∞. Lecture notes prepared by Dr. Gregory L. Plett ECE4510, ROOT-LOCUS ANALYSIS • [A value of s = s1 is on the (0◦) complementary root locus iff 1 + K G(s1) = 0 for some REAL value of K , −∞ < K < 0.] −1 • So, K = G(s) • Note, G(s) is complex, so this is really two equations! 1 |K | = G(s) −1 6 G(s) = 6 . K 6–4 (6.1) (6.2) • Since K is real and positive, 6 K = 0. Therefore, 6 G(s) = 180◦ ± l360◦, l = 0, 1, 2, . . . • So once we know a point on the root locus, we can use the magnitude equation 6.1 to find the gain K that produced it. • We will use the angle equation 6.2 to plot the locus. i.e., the locus of the roots = all points on s-plane where 6 G(s) = 180◦ ± l360◦. NOTES : 1. We will derive techniques so that we don’t need to test every point on the s-plane! 2. The angle criteria explains why the root locus is sometimes called the 180◦ root locus. 3. Similarly, the complementary root locus is also called the 0◦ root locus. KEY TOOL : 6 EXAMPLE: For any point on the s-plane X X 6 6 (due to poles). G(s) = (due to zeros) − G(s) = (s − z 1) . (s − p1)(s − p2 ) Lecture notes prepared by Dr. Gregory L. Plett 6–5 ECE4510, ROOT-LOCUS ANALYSIS =(s) θ p2 θz1 θ p1 <(s) 6 G(s1) = θz1 − θ p1 − θ p2 . Test point s1 Locus on the Real Axis • Consider a test point s1 on the real axis. • If the point is right of all poles and zeros of G(s), then 6 G(s) = 0. NOT ON THE LOCUS. p2 =(s) p1 z1 Test point s1 <(s) 6 G(s) = 6 z 1 − 6 p1 − 6 p2 − 6 p̄2 = 0 − 0 − 6 p2 − 6 p̄2 = 0. p̄2 If the test point is on the real axis, complex-conjugate roots have equal and oposite angles which cancel and may be ignored. OBSERVATION : • If the test point is to the left of ONE pole or zero, the angle will be −180◦ or +180◦ (= −180◦) so that point is on the locus. Lecture notes prepared by Dr. Gregory L. Plett 6–6 ECE4510, ROOT-LOCUS ANALYSIS • If the test point s1 is to the left of – 1 pole and 1 zero: 6 G(s1) = 180◦ − (−180◦) = 360◦ = 0◦. – 2 poles: 6 G(s1) = −180◦ − 180◦ = −360◦ = 0◦. – 2 zeros: 6 G(s1) = 180◦ + 180◦ = 360◦ = 0◦. ➠ NOT ON THE LOCUS. GENERAL RULE #1 All points on the real axis to the left of an odd number of poles and zeros are part of the root locus. EXAMPLE: G(s) = 1 . s(s + 4 + 4 j)(s + 4 − 4 j) =(s) <(s) EXAMPLE : G(s) = s+8 . s+1 =(s) <(s) Lecture notes prepared by Dr. Gregory L. Plett ECE4510, ROOT-LOCUS ANALYSIS 6–7 Locus Not on the Real Axis OBSERVATION : Because we assume that system models are rational-polynomial with real coefficients, all poles must be either real or complex conjugate pairs. Therefore, THE ROOT LOCUS IS SYMMETRICAL WITH RESPECT TO THE REAL AXIS. • What happens at K = 0, ∞? (s − z 1)(s − z 2 ) · · · (s − z m ) =0 (s − p1)(s − p2) · · · (s − pn ) (s − p1)(s − p2 ) · · · (s − pn ) + K (s − z 1)(s − z 2) · · · (s − z m ) = 0. 1 + K G(s) = 1 + K • At K = 0 the closed loop poles equal the open-loop poles. • As K approaches ∞ (s − p1)(s − p2 ) · · · (s − pn ) + (s − z 1 )(s − z 2) · · · (s − z m ) = 0; K the n poles approach the zeros of the open-loop transfer function, INCLUDING THE n − m ZEROS AT C ∞. • Plug s = ∞ into G(s) and notice that it equals zero if m < n. • The idea of ∞ in the complex plane is a number with infinite magnitude and some angle. • To find where the n − m remaining poles go as K → ∞, consider that the m finite zeros have canceled m of the poles. Looking back at the remaining n − m poles (standing at C ∞), we have approximately 1 1+K , (s − α)n−m or n − m poles clustered/centered at α. • We need to determine α, the center of the locus, and the directions that the poles take. Lecture notes prepared by Dr. Gregory L. Plett 6–8 ECE4510, ROOT-LOCUS ANALYSIS • Assume s1 = Re j φ is on the locus, R large and fixed, φ variable. We use geometry to see what φ must be for s1 to be on the locus. • Since all of the open-loop poles are at approximately the same place α, the angle of 1 + K G(s1) is 180◦ if the n − m angles from α to s1 sum to 180. (n − m)φl = 180◦ + l360◦, l = 0, 1, . . . , n − m − 1 or 180◦ + 360◦(l − 1) φl = , n−m l = 1, 2, . . . , n − m. • So, if n − m = 1; φ = +180◦. There is one pole going to C ∞ along the negative real axis. n − m = 2; φ = ±90◦. There are two poles going to C ∞ vertically. n − m = 3; φ = ±60◦, 180◦. (etc) One goes left and the other two go at plus and minus 60◦. • To find the center, α, reconsider our approximation as |s| → ∞. b(s) 1 ≈ a(s) (s − α)n−m b(s) 1 and match the top and a(s) (s − α)n−m two coefficients of s, the dominant ones. – Divide (by long division) – An easier way... Lecture notes prepared by Dr. Gregory L. Plett 6–9 ECE4510, ROOT-LOCUS ANALYSIS – Note that roots of denominator of G(s) satisfy: s n + a1s n−1 + a2s n−2 + · · · + an = (s − p1)(s − p2) · · · (s − pn ) X ➠ a1 = − pi . – Note that the roots of the denominator of T (s) are s n + a1s n−1 + a2s n−2 + · · · + an + K (s m + b1s m−1 + · · · + bm ) = 0. If n − m > 1 then the (n − 1)st coefficient of the closed loop system X is such that a1 = − ri where ri are the closed-loop poles. – We know that m poles go to the zeros of G(s), and assume the 1 other n − m are clustered at . Therefore, the asymptotic n−m (s − α) X sum of roots is −(n − m)α − zi . – Putting this all together, X X X ri = (n − m)α + zi = pi or P P pi − zi . (n − m) α= GENERAL RULE #2 • All poles go from their open-loop locations at K = 0 to: – The zeros of G(s), or – To C ∞ . • Those going to C ∞ go along asymptotes 180◦ + 360◦(l − 1) φl = n−m centered at P α= Lecture notes prepared by Dr. Gregory L. Plett P pi − zi . n−m 6–10 ECE4510, ROOT-LOCUS ANALYSIS EXAMPLES : ➀ ➁ ➂ ➃ ➄ Additional Techniques • The two general rules given, plus some experience are enough to sketch root loci. Some additional rules help when there is ambiguity. (As in examples ➁, ➄) Lecture notes prepared by Dr. Gregory L. Plett 6–11 ECE4510, ROOT-LOCUS ANALYSIS Departure Angles, Arrival Angles • We know asymptotically where poles go, but need to know how they start, and how they end up there. • Importance: One of the following systems is stable for all K > 0, the other is not. Which one? =(s) =(s) <(s) <(s) • We will soon be able to answer this. Consider an example: EXAMPLE: G(s) = 1 . s(s + 4 + 4 j)(s + 4 − 4 j) =(s) p1 φ2 p2 p̄1 <(s) φ̄1 • Take a test point s0 very close to p1 . Compute 6 G(s0). • If on locus −90◦ − φ1 − 135◦ = 180◦ + 360◦l Lecture notes prepared by Dr. Gregory L. Plett l = 0, 1, . . . 6–12 ECE4510, ROOT-LOCUS ANALYSIS where φ̄1 = Angle from p̄1 to s0 ≈ 90◦. φ1 = Angle from p1 to s0. φ2 = Angle from p2 to s0 ≈ 135◦. ➠ φ1 = −45◦. • Can now draw “departure of poles” on locus. • Single-pole departure rule: X X 6 6 (remaining poles) − 180◦ ± 360◦l. φdep = (zeros) − • Multiple-pole departure rule: (multiplicity q ≥ 1) X X 6 6 (remaining poles) − 180◦ ± 360◦l. qφdep = (zeros) − • Multiple-pole arrival rule: (multiplicity q ≥ 1) X X 6 (poles) − 6 (remaining zeros) + 180◦ ± 360◦l. qψarr = • Note: The idea of adding 360◦l is to add enough angle to get the result within ±180◦. Also, if there is multiplicity, then l counts off the different angles. Imaginary Axis Crossings • Routh stability test can be run to find value for K = K 0 that causes marginal stability. • Substitute K 0 and find roots of a(s) + K 0b(s) = 0. • Alternatively, substitute K 0, let s = jω0, solve for a( jω0) + K 0b( jω0) = 0. (Real and Imaginary parts) Lecture notes prepared by Dr. Gregory L. Plett 6–13 ECE4510, ROOT-LOCUS ANALYSIS Points with Multiple Roots • Sometimes, branches of the locus intersect. (see ➁, ➄ on pg. 6–6–10). • Computing points of intersection can clarify ambiguous loci. • Consider two poles approaching each other on the real axis: =(s) <(s) • As two poles approach each other gain is increasing. • When they meet, they break away from the real axis and so K increases only for complex parts of the plane. • Therefore gain K along a branch of the locus is maximum at breakaway point. • Gain K is minimum along a branch of the locus for arrival points. • Both are “saddle points” in the s-plane. • So, dK = 0, ds where 1 + K G(s) = 0 −1 K = G(s) −1 d or, = 0 ➠ multiple root at s0. ds G(s) s=s0 [must verify that s0 is on the root locus. May be an extraneous result.] Lecture notes prepared by Dr. Gregory L. Plett 6–14 ECE4510, ROOT-LOCUS ANALYSIS • Some similar loci for which finding saddle points helps clarify ambiguity ... =(s) =(s) <(s) =(s) <(s) =(s) <(s) Finding K for a Specific Locus Point • Recall that the root locus is defined by the equation 1 + K G(s) = 0, which can be broken up into a magnitude-equation and a phase-equation (Eqs: 6.1 and 6.2). −1 |K | = G(s) −1 6 G(s) = 6 . K • The phase equation is used to plot the locus. Lecture notes prepared by Dr. Gregory L. Plett <(s) 6–15 ECE4510, ROOT-LOCUS ANALYSIS • The magnitude equation may be used to find the value of K to get a specific set of closed-loop poles. −1 • That is, K = is the gain to put a pole at s0, if s0 is on the locus. G(s0) Summary: Root-Locus Drawing Rules—180◦ Locus • The steps in drawing a 180◦ root locus follow from the basic phase definition. This is the locus of b(s) 1+K = 0, a(s) K ≥0 b(s) ◦ phase of = −180 . a(s) • They are – STEP 1: On the s-plane, mark poles (roots of a(s)) by an × and zeros (roots of a(s)) with an ◦. There will be a branch of the locus departing from every pole and a branch arriving at every zero. – STEP 2: Draw the locus on the real axis to the left of an odd number of real poles plus zeros. – STEP 3: Draw the asymptotes, centered at α and leaving at angles φ, where n − m = number of asymptotes. n = order of a(s) m = order of b(s) P P pi − z i −a1 + b1 α = = n−m n−m φl = 180◦ + (l − 1)360◦ , n−m l = 1, 2, . . . n − m. For n − m > 0, there will be a branch of the locus approaching each asymptote and departing to infinity. For n − m < 0, there will be a branch of the locus arriving from infinity along each asymptote. – STEP 4: Compare locus departure angles from the poles and arrival angles at the zeros where qφdep = qψarr = X X ψi − φi − X X φi − 180◦ ± l360◦ ψi + 180◦ ± l360◦, where q is the order of the pole or zero and l takes on q integer values so that the angles are between ±180◦ . ψi is the angle of the line going from the i th zero to the pole or zero whose angle of departure or arrival is being computed. Similarly, φi is the angle of the line from the i th pole. – STEP 5: If further refinement is required at the stability boundary, assume s0 = j ω0 and compute the point(s) where the locus crosses the imaginary axis for positive K . – STEP 6: For the case of multiple roots, two loci come together at 180◦ and break away at ±90◦. Three loci segments approach each other at angles of 120◦ and depart at angles rotated by 60◦ . Lecture notes prepared by Dr. Gregory L. Plett 6–16 ECE4510, ROOT-LOCUS ANALYSIS – STEP 7 Complete the locus, using the facts developed in the previous steps and making reference to the illustrative loci for guidance. The loci branches start at poles and end at zeros or infinity. – STEP 8 Select the desired point on the locus that meets the specifications (s0), then use the magnitude condition to find that the value of K associated with that point is 1 K = . |b (s0 ) /a (s0 )| EXAMPLE : r (t) (s + 1)(s + 2) s(s + 4) K y(t) =(s) <(s) This example is NOT a unity-feedback case, so we need to be careful. EXAMPLE : r (t) K s+2 s − 10 y(t) s+3 s+1 • Recall that the root-locus rules plot the locus of roots of the equation b(s) 1+ K = 0. a(s) Lecture notes prepared by Dr. Gregory L. Plett 6–17 ECE4510, ROOT-LOCUS ANALYSIS • Compute T (s) to determine the characteristic equation as a function of K . s+2 K s−10 T (s) = (s+2)(s+3) 1 + K (s+1)(s−10) = • Poles of T (s) at K (s + 2)(s + 1) (s + 1)(s − 10) + K (s + 2)(s + 3) (s + 1)(s − 10) + K (s + 2)(s + 3) = 0 or 1+K (s + 2)(s + 3) = 0. (s + 1)(s − 10) =(s) <(s) 1) “Open loop” poles and zeros: 2) Real axis 3) Asymptotes 4) Departure angles 5) Stability boundary: Note, characteristic equation = (s + 1)(s − 10) + K (s + 2)(s + 3) = s 2 − 9s − 10 + K s 2 + 5K s + 6K = (K + 1)s 2 + (5K − 9)s + 6K − 10 Lecture notes prepared by Dr. Gregory L. Plett 6–18 ECE4510, ROOT-LOCUS ANALYSIS Routh Array s2 K + 1 6K − 10 s 1 5K − 9 s 0 6K − 10 K > −1 9 K > = 1.8 ← 5 10 K > = 1.66 6 stability criterion When K = 9/5, the s 1 row of the Routh array is zero—top row becomes a factor of the characteristic equation. Imag.-axis crossings where 9 9 + 1 s 2 + 6 − 10 = 0 5 5 r 2 14s 2 + 4 = 0 ... s = ±j . 7 =(s) <(s) 6) Breakaway points −(s + 1)(s − 10) K (s) = (s + 2)(s + 3) −(s 2 − 9s − 10) = s 2 + 5s + 6 d −(s + 1)(s − 10)(2s + 5) − (−2s + 9)(s + 2)(s + 3) =0 K (s) = ds (den)2 3 2 2 = −2s + 18s + 20s − 5s + 45s + 50 − 3 2 2 −2s − 10s − 12s + 9s + 45s + 54 = 0 Lecture notes prepared by Dr. Gregory L. Plett 6–19 ECE4510, ROOT-LOCUS ANALYSIS = (−2 + 2)s 3 + (18 − 5 + 10 − 9)s 2 + (20 + 45 + 12 − 45)s + (50 − 54) = 0 = 14s 2 + 32s − 4 = 0 p √ −32 ± 322 − 4(14)(−4) −32 ± 1248 s= = 28 28 roots at {0.118, −2.40}. Now we can complete the locus: =(s) <(s) EXAMPLE : r (t) K 1 s+a s+1 s2 y(t) • Two design parameters: K , pole location −a. s+1 G(s) = 2 . s (s + a) • Test a = 2, a = 50, a = 9. 1) Poles and zeros of G(s). =(s) <(s) 2) Real axis. Lecture notes prepared by Dr. Gregory L. Plett ECE4510, ROOT-LOCUS ANALYSIS 3) Asymptotes: n−m = 2 P P pi − zi 0 + 0 + (−a) − (−1) 1 − a α= = = 2 2 2 α = {−0.5, −24.5, −4} 180◦ + 360◦(l − 1) φl = = ±90◦. 2 4) Departure angles for two poles at s = 0. X X 6 (zeros) − 6 (remaining poles) − 180◦ − 360◦l 2φdep = = 0 − 0 − 180◦ − 360◦l 360◦ ◦ φdep = −90 − l = ±90◦. 2 5) Will always be stable for K > 0. 6) Breakaway points: −s 2(s + a) K (s) = s+1 d (s + 1)(3s 2 + 2as) − s 2(s + a)(1) =0 K (s) = − ds (s + 1)2 2 = s 2s + (a + 3)s + 2a = 0 ( ) p 2 −a + 3 ± (a + 3) − 4(2)(2a) breakaway at 0, 2(2) p sa={2,50,9} = −1.25 ± j 7/16, (−2.04 and − 24.46), −3 and 0 | {z } not on locus Lecture notes prepared by Dr. Gregory L. Plett 6–20 6–21 ECE4510, ROOT-LOCUS ANALYSIS a=2 =(s) a=9 <(s) a = 50 =(s) <(s) =(s) <(s) Matlab and Root Loci b(s) b0s m + b1s m−1 + · · · + bm • If G(s) = . = a(s) a0s n + a1s n−1 + · · · + an b = [b0 b1 b2 . . . bm]; a = [a0 a1 a2 . . . an]; rlocus(b,a); % plots the root locus • Also, k=rlocfind(b,a); returns the value of K for a specific point on the root locus (graphical, with a mouse). • Matlab is also able to draw space aliens! z=[-5+5j -5-5j -4.8+2j -4.8-2j 0.35+0.2j 0.35-0.2j ... 2j -2j 2j -2j 0.7 0.7 1.0+1.5j 1.0-1.5j 1.0+1.5j 1.0-1.5j 2.2]; p=[-4.5+3.2j -4.5-3.2j -0.15+0.8j -0.15-0.8j 0.3j -0.3j 0.4+0.3j ... 0.4-0.3j 0.45+0.6j 0.45-0.6j 1+1.3j 1-1.3j 1+1.3j 1-1.3j 2+0.15j ... 2-0.15j 2]; num=poly(z); den=poly(p); rlocus(num,den); Lecture notes prepared by Dr. Gregory L. Plett 6–22 ECE4510, ROOT-LOCUS ANALYSIS 6 4 Imag Axis 2 “TAKE ME TO YOUR LEADER!” 0 −2 −4 −6 −6 −5 −4 −3 −2 −1 Real Axis 0 1 2 3 Summary: Root-Locus Drawing Rules—0◦ Locus • We have assumed that 0 ≤ K < ∞, and that G(s) has monic b(s) and a(s). If K < 0 or a(s)/b(s) has a negative sign preceding it, we must change our root-locus plotting rules. • Recall that we plot 1 + K G(s) = 0 −1 G(s) = K ( 180◦, if K positive; 6 G(s) = 0◦ , if K negative. • In the following summary of drawing a 0◦ root locus, the steps which have changed are highlighted. • The steps in drawing a 0◦ root locus follow from the basic phase definition. This is the locus of b(s) = 0, 1+K a(s) K ≤0 b(s) ◦ phase of =0 . a(s) • They are – STEP 1: On the s-plane, mark poles (roots of a(s)) by an × and zeros (roots of a(s)) with an ◦. There will be a branch of the locus departing from every pole and a branch arriving at every zero. – STEP 2: Draw the locus on the real axis to the left of an even number of real poles plus zeros. Lecture notes prepared by Dr. Gregory L. Plett 6–23 ECE4510, ROOT-LOCUS ANALYSIS – STEP 3: Draw the asymptotes, centered at α and leaving at angles φ, where n − m = number of asymptotes. n = order of a(s) m = order of b(s) P P pi − z i −a1 + b1 α = = n−m n−m ➠ φl = (l − 1)360◦ , n−m l = 1, 2, . . . n − m. For n − m > 0, there will be a branch of the locus approaching each asymptote and departing to infinity. For n − m < 0, there will be a branch of the locus arriving from infinity along each asymptote. – STEP 4: Compare locus departure angles from the poles and arrival angles at the zeros where X X ➠ qφdep = ψi − φi ± l360◦ X X ➠ qψarr = φi − ψi ± l360◦, where q is the order of the pole or zero and l takes on q integer values so that the angles are between ±180◦ . ψi is the angle of the line going from the i th zero to the pole or zero whose angle of departure or arrival is being computed. Similarly, φi is the angle of the line from the i th pole. – STEP 5: If further refinement is required at the stability boundary, assume s0 = j ω0 and compute the point(s) where the locus crosses the imaginary axis for positive K . – STEP 6: For the case of multiple roots, two loci come together at 180◦ and break away at ±90◦. Three loci segments approach each other at angles of 120◦ and depart at angles rotated by 60◦ . – STEP 7: Complete the locus, using the facts developed in the previous steps and making reference to the illustrative loci for guidance. The loci branches start at poles and end at zeros or infinity. – STEP 8: Select the desired point on the locus that meets the specifications (s0), then use the magnitude condition to find that the value of K associated with that point is 1 K = . |b (s0 ) /a (s0 )| Extensions to Root Locus Method—Time Delay • A system with a time delay has the form G(s) = e−τd s G 0(s) where τd is the delay and G 0(s) is the non-delayed system. Lecture notes prepared by Dr. Gregory L. Plett 6–24 ECE4510, ROOT-LOCUS ANALYSIS • This is not in rational-polynomial form. We cannot use root locus techniques directly. METHOD 1: b s + b 0 1 • Approximate e−τd s by , a polynomial. a0 s + 1 • Padé approximation. 1 − (τd s/2) e−τd s ≈ First-order approximation 1 + (τd s/2) 1 − τd s/2 + (τd s)2/12 ≈ 1 + τd s/2 + (τd s)2/12 1 ≈ 1 + τd s Second-order approximation. Very crude. • Extremely important for digital control!!! METHOD 2: • Directly plot locus using phase condition. • i.e., 6 G(s) = (−τd ω) + 6 G 0(s) if s = σ + jω. • i.e., look for places where 6 G 0(s) = 180◦ + τd ω + 360◦l. • Fix ω, search horizontally for locus. Lecture notes prepared by Dr. Gregory L. Plett 7–1 ECE4510: Feedback Control Systems. ROOT-LOCUS DESIGN • We have seen how to draw a root locus for a given plant dynamics. • We include a variable gain K —proportional control. • What if desired pole locations are not on this locus? • We need to modify the locus itself by adding extra dynamics—compensator: r (t) K D(s) G(s) y(t) • We redraw the locus and pick K in order to put the poles where we want them. HOW? K D(s)G(s) T (s) = let G 0(s) = D(s)G(s) 1 + K D(s)G(s) K G 0(s) = ➠ We know how to draw this locus! 1 + K G 0(s) • Adding a compensator effectively adds dynamics to the plant. • What types of (1) compensation should we use, and (2) how do we figure out where to put the additional dynamics? Types of Compensator Dynamics • There are 3 classical types of controllers with some important variations. Lecture notes prepared by Dr. Gregory L. Plett 7–2 ECE4510, ROOT-LOCUS DESIGN 1) Proportional Feedback D(s) = 1. u(t) = K e(t) K G(s) . 1 + K G(s) • Same as what we have already looked at. Controller only consists of a “gain knob.” We have to take the locus “as given” since we have no extra dynamics to modify it. T (s) = • Usually a very limited approach, but a good place to start. 2) Integral Feedback 1 D(s) = TI s T (s) = 1 K u(t) = TI Z t e(τ ) dτ 0 K G(s) TI s . + TKI G(s) s • Usually used to reduce/eliminate steady-state error. i.e., if e(t) constant, u(t) will become very large and hopefully correct the error. • Penalty: Steady-state response improves, but often transient response degrades. Steady-State Response • We apply a step (ramp, parabola) input. How well does our (closed loop) system track this? • Ultimately, we would like zero error. e(t) = 0. (Maybe 1%–2% in reality) • Recall: For a unity-feedback control system as drawn above, the steady-state error to a unit-step input is: 1 ess = . 1 + K D(0)G(0) Lecture notes prepared by Dr. Gregory L. Plett 7–3 ECE4510, ROOT-LOCUS DESIGN If we make D(s) = 1 , then as s → 0, D(s) → ∞ TI s 1 ess → = 0. 1+∞ • So by adding the integrator into the compensator, the error has been 1 reduced from to zero for systems that do not have any free 1 + Kp integrators. 1 EXAMPLE : G(s) = , a > b > 0. (s + a)(s + b) 1 1 • Proportional feedback, D(s) = 1, G(0) = , ess = . K ab 1 + ab =(s) −a <(s) −b • Integral feedback, D(s) = • We can make ess small by making K very large, but this often leads to poorly-damped behavior and often requires excessively large actuators. 1 , ess = 0. TI s =(s) −a −b Lecture notes prepared by Dr. Gregory L. Plett <(s) • Increasing K to increase the speed of response pushes the pole toward the imaginary axis ➠ oscillatory. 7–4 ECE4510, ROOT-LOCUS DESIGN Proportional-Integral (PI) Control s + (1/TI ) 1 • Now, D(s) = 1 + = . Both a pole and a zero. TI s s =(s) −a −b <(s) • Combination of proportional and integral (PI) solves many of the problems with just (I) integral. Phase-Lag Design • The integrator in PI control can cause some practical problems. “Integrator windup” due to actuator saturation. • PI control is often approximated by “lag control.” (s − z 0) D(s) = , | p0| < |z 0|. (s − p0 ) That is, the pole is closer to the origin than the zero. • Because |z 0| > | p0 |, the phase φ added to the open-loop transfer function is negative. . . “phase lag” • Pole often placed very close to zero. e.g., p0 ≈ 0.01. • Zero is placed near pole. e.g., z 0 ≈ 0.1. Lecture notes prepared by Dr. Gregory L. Plett 7–5 ECE4510, ROOT-LOCUS DESIGN =(s) −a <(s) −b 3) Derivative Feedback D(s) = TD s, • Good steady-state error without overflow problems. Very similar to proportional control. . u(t) = K TD e(t). • Does not do much (anything?) to help the steady-state error. • Derivative control provides feedback that is proportional to the rate-of-change of e(t) ➠ control response ANTICIPATES future errors. – Very beneficial. – Used a lot! EXAMPLE : G(s) = 1 , (s + a)(s + b) D(s) = TD s. =(s) −a −b <(s) • No ringing. “Very” stable. Proportional-Derivative (PD) Control • Often, proportional control and derivative control go together. D(s) = 1 + TD s. Lecture notes prepared by Dr. Gregory L. Plett 7–6 ECE4510, ROOT-LOCUS DESIGN =(s) −a −b • No more zero at s = 0. Therefore better steady-state response. <(s) Phase-Lead Control • Derivative magnifies sensor noise. • Instead of D-control or PD-control use “lead control.” (s − z 0) D(s) = , |z 0| < | p0 |. (s − p0 ) That is, the zero is closer to the origin than the pole. • Lag control does not change locus much since p0 ≈ z 0 ≈ 0. Lag control improves steady-state error. • Lead control DOES change locus. Pole and zero locations chosen so that locus will pass through some desired point s = s1. • Design may be done analytically: Let a1 s + a0 D(s) = . b1 s + 1 • Choose a0 to get specified dc gain. (open-loop gain=K p , K v , . . .) a1 s + a 0 = dc gain. G(s) b1 s + 1 s=0 |a0||G(0)| = dc gain. a0 = Lecture notes prepared by Dr. Gregory L. Plett Desired dc gain . |G(0)| 7–7 ECE4510, ROOT-LOCUS DESIGN • a1 and b1 are chosen to make locus go through s = s1, a1 s1 + a 0 G(s1) = −1 b 1 s1 + 1 for that point to be on the root locus. a 1 s1 + a 0 |G(s1)| = 1 ➠ Magnitude b 1 s1 + 1 a 1 s1 + a 0 ➠ Phase 6 + 6 G(s1) = 180◦. b 1 s1 + 1 (math happens) sin(β) + a0|G(s1)| sin(β − ψ) a1 = s1 = |s1|e jβ |s1||G(s1)| sin(ψ) sin(β + ψ) + a0|G(s1)| sin(β) G(s1) = |G(s1)|e j ψ . b1 = −|s1| sin(ψ) √ j 135◦ 1 EXAMPLE : G(s) = . s = 2 2e = −2 + 2 j . 1 s2 The point s1 is chosen to achieve ζ = 0.707 and τ = 0.5 sec. • a0: We cannot compute a0 since a0 = 2. 1 s2 → ∞. So, arbitrarily choose s=0 • a1: Note, β = 135◦, ψ = −270◦ because 1 1 − j 270◦ G(s1) = 2 = . e s s=2√2e j 135◦ 8 √ sin(135◦) + 2(1/8) sin(45◦) (1/ 2)(1 + 1/4) 5 a1 = = = . √ √ ◦ 2 (2 2)(1/8) sin(−270 ) 2/4 • b1 : √ sin(−135 ) + 2(1/8) sin(135 ) −(1/ 2)(1 − 1/4) 3 b1 = = = . √ √ 16 −(2 2) sin(−270◦) −2 2 ◦ Lecture notes prepared by Dr. Gregory L. Plett ◦ 7–8 ECE4510, ROOT-LOCUS DESIGN • So, the compensator is: D(s) = (5/2)s + 2 . (3/16)s + 1 Example locus passing through (-2,2) 4 3 Imag Axis 2 1 0 −1 −2 −3 −4 −6 −5 −4 −3 −2 −1 0 1 Real Axis Proportional-Integral-Derivative (PID) Control • Most common type of control, even though often approximated by Lead-Lag control. 1 • D(s) = K 1 + + TD s . TI s − sin(β + ψ)TI |s1| •K = |G(s1)| sin(β)[TI |s1| + 2 cos(β)] sin(ψ) K jβ • TD = , where s = |s |e and + 1 1 |s1||G(s1)| sin(β) TI |s1|2 G(s1) = |G(s1)|e j ψ for both cases. • TI chosen to match some design criteria. e.g., Steady-state error. Compensator Implementation • Analog compensators commonly use op-amp circuits. • See the following pages. . . Lecture notes prepared by Dr. Gregory L. Plett 7–9 ECE4510, ROOT-LOCUS DESIGN =(s) <(s) 1 − K s 1 K V1 V2 =(s) <(s) 1 K −K s 1 V1 V2 =(s) 1 K −z 1 <(s) −K (s + z 1 ) V1 V2 1/(K z 1) K p1 =(s) − p1 <(s) −K s + p1 1 V1 V2 =(s) − p1 <(s) Lecture notes prepared by Dr. Gregory L. Plett −K s s + p1 V1 1/K K K p1 1 V2 ECE4510, ROOT-LOCUS DESIGN =(s) <(s) s + z1 −K s + p1 any p1 and z 1 or 7–10 K p1 1 z1 1/K V1 V2 1 =(s) <(s) or −K s + z1 s + p1 K1 K = K2 any p1 and z 1 =(s) <(s) s + z1 s + p1 z 1 > p1 =(s) <(s) =(s) <(s) s + z1 s + p1 z 1 > p1 V1 K2 V1 1 1 p1 V2 1 z 1 − p1 V1 1 z 1 − p1 p1 > z 1 1 p1 z1 V2 1 K 2 p1 V1 K = Lecture notes prepared by Dr. Gregory L. Plett K1 s + z1 s + p1 K 1 K 1z1 1 p1 LAG V2 1 1 p1 LAG V2 p1 − z 1 z1 LEAD 7–11 ECE4510, ROOT-LOCUS DESIGN =(s) <(s) K s + z1 s + p1 p1 > z 1 K = p1 z1 =(s) K (s + z 1 ) −z 1 <(s) Lecture notes prepared by Dr. Gregory L. Plett 1 K = z1 V1 p1 − z 1 p1 V2 1 1 p1 V1 1 z1 LEAD V2 1 LEAD Lead Compensator (Using Magnitude and Angle Condition) + 1 Gc ( s ) R( s ) s .( s - Gc ( s ) Find such that the dominant closed loop poles are at Gc ( s ) K K. ∆ cl ( s ) 1 − 3 ± j3 3 1 2 s .( s Imag Axis Let Y( s ) 1) 1) } 1 0 -1 Root Locus does not go through − 3 ± j3 -2 -3 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 Real A xis Gc ( s ) K . (s (s a) b) K. (s (s a) . 1 b ) s .( s 1 ) ∆ cl ( s ) 1 Centroid b RD 2 0 1 } Lead Compensation => a 2 Root Locus goes through − 3 ± j3 { Imag Axis If b> a> 0 -3+j3 -b -c 0 -a -3-j3 Real Axis Note: a closed loop pole at "-c" has been injected By moving "a" and "b" around we can change the centroid and hence bend the root locus to go through− 3 ± j 3 Note: − 3 ± j3 are more dominant that "-c" How do we find the values for a, b and K which ensure that − 3 ± j3 are the closed-loop poles ? 73 Find Closed Loop Transfer Function Y( s ) R( s ) K( s a ) s .( s b ) .( s 1 ) s a 1 K. ( s b ) .s .( s 1 ) K. ∆ ( s) 1 ( s a) . s ( s b ) .( s } From the Block Diagram =0 s 1) 3 } Achieves the desired result j3 Angle Condition: Find "a" and "b" Angle K . Angle s .( s (s (s Angle ( s 1) a) . 1 . b) s ( s 1) b) tan Note : ( s a) b ) .( s s 1 b A Angle B Angle ( α 3 3 3 s s 3 11.3 deg Angle ( A) jβ ) tan 1 } Angle s . => Angle ( B ) One Equation Two Unknowns } One Equation Two Unknowns } = - 180 180 = j .3 j .3 j .3 3 = -180 (s (s 1) 3) s Angle Conditions Let 3 a 3 j .3 b 18 Angle ( AB ) Angle ( A) Angle ( B ) β α Selection of "a" 1) "a" is not unique 2) If "a" is picked too big, "b" will not exist (i.e., b may become negative) 3) If "a" is picked too small, the system might not exhibit the right dominant behavior (i.e., closed loop pole at -c might dominate the behavior) 74 Magnitude Condition - Find "K" K. K. K. (s 15 s 3 18 ) .( s ) .( s s 1) j .3 j .3 . 3 j .3 . 2 3 1 ( 15.3 ) .( 4.24 ) .( 3.65 ) Gc ( s ) 79 . s 3 s 18 } j .3 3 = 1 1 j .3 K 79 ( approximately) answer 75 Lead Compensator (Using Coefficient Matching) + Gc ( s ) R( s ) Gp ( s ) Y( s ) - Gc ( s ) Find so that the dominant closed loop poles are at 1 Gp ( s ) s .( s s s Gc ( s ) K . 1) K .( s a ) Y( s ) s .( s b ) .( s 1 ) R( s ) ( s a) s .( s 1 K. ( s b ) .s .( s 1 ) a b − 3 ± j3 Select a Lead Compensator for the same reason as before } K .( s a ) 1 ) .( s b ) K .( s a) } closed loop TF Note: There are three closed loop poles given by the characteristic equation ∆ cl ( s ) s .( s 1 ) .( s K .( s b) a) } } Still need to draw the root locus to understand the problem actual closed loop denominator Imag Axis jω -3+j3 0 -a -c -b -3-j3 σ Real Axis ∆ cl ( s ) s 3 (b 1 ) .s 2 ∆ dcl ( s ) ( s c ) .( s ∆ dcl ( s ) ( s c) . s 2 (6 c) s ∆ dcl ( s ) s 3 K) .s (b j .3 ) .( s 3 6 .s 2 a .K 3 j .3 ) } } desired closed loop denominator } 18 ( 18 actual closed loop denominator 6 c) s simplification 18 c 76 Equate the desired denominator to the actual denominator ∆ dcl ( s ) ∆ cl ( s ) 6 c b 18 1 6c b } K aK 18 c 3 equations, 4 unknowns (cannot solve) Let c b b 6c b 18 18 c 13 (same reason as before) } K 6c 5 a 3 K } K 78 1 0 6 K 0 0 1 1 . b 5 1 1 6 c 18 checks with previous answer Note we have discovered the third closed loop pole in the process (i.e., s = - 13) Interesting Side Note Previous equation can be used to determine how big ’’a’’ can get 5 c b 5 c 6 .c 18 18 . c a 18 a 13 } c b 6c 5 18 } K K 18 . c a } eliminate K and b one equation and two unknowns simplified expression From root locus, "c" must be a positive number for the problem to make sense so if c> 0 then 18 a 5> 0 therefore a< 18 5 Any other selection of "a" forces "b" to be negative, and hence, the compensator would have an unstable pole. 77 Find the Structure of the Time Response For the Previous Problem Quickly Y( s ) R( s ) ( s y( t ) A 78 .( s 13 ) . ( s B .e 13 t 3) 3) 2 R( s ) C .e ( 3) 2 3 t. cos ( 3 t ) 1 s where D .e 3 t. y( t ) } r( t) sin ( 3 t ) is a step input } write this immediately A, B,C, D can be found with the PFE tool How can we find A ? lim sY ( s ) s 0 lim t y( t ) 78 .( 3 ) 1 ( 13 ) .( 18 ) A 1 so lim t ∞ final value theorem A 1 ∞ } Closed Loop Step Response 78 Example Find the range of K which ensures closed loop stability r( t) y( t ) + P( s ) - K s 1 ( s 4 ) .( s 2 ) Y( s ) P( s ) R ( s ) 1 P ( s ) .H ( s ) K H( s ) ∆ cl ( s ) 1 H( s ) P( s ) } s 3 s 0.1 Closed-loop Transfer Function K .P ( s ) .H( s ) 1 K. s 3 . s 0.1 ( s s 1 2 ) .( s } 4) Denominator in Root Locus Form Draw the Root Locus 1.5 j .a Imag Axis 1 0.5 c 0 -0.5 j .a -1 -1.5 -6 Use coefficient matching to find the value of K which places closed loop poles at ∆ cl ( s ) ( s 0.1 ) .( s ∆ cl ( s ) ( s 0.1 ) . s ∆ cl ( s ) s 3 ∆ cl ( s ) s 3 6.1 s ( 6.1 2 2 ) .( s 2 6s 8.6 s K) s 2 4) K. s 0.8 Ks 2 -2 0 2 4 Real Axis ± j.a K .( s 8 ( 8.6 -4 3 ) .( s 2 4s 4 .K .s 4 .K) .s ( 0.8 1) } 3 3 .K 3 .K) Denominator in Polynomial Form } Simplification 79 ∆ cl ( s ) s 3 ( 6.1 c) . s ∆ dcl ( s ) ( s ∆ dcl ( s ) s K) s 3 cs 2 2 a 2 } 2 2 2 a s 4 .K) .s ( 8.6 a c 3 .K) ( 0.8 } actual denominator desired denominator (see root locus) } simplified After equating the coefficients, we obtain 6.1 K c 2) 8.6 2 4 .K a 3) 0.8 3 .K a c 1) } 3 equations 3 unknowns 2 After multiplying equation 1) by equation 2), and equating the result to equation 3), we obtain one equation for K K) .( 8.6 ( 6.1 4K 4K (K 2 2 4 K) 0.8 24.4 ) .K ( 8.6 K 1.94 52.46 0.8 3K 51.66 0 } simplified 6.657 ) 0 } factored 18.8 K 1.94 ) .( K 2 3K a c or K 6.657 Since K cannot be negative } roots K 1.94 is the answer 1.5 0 < K< 1.94 , the system is stable 1 Imag Axis For 0.5 0 -0.5 -1 -1.5 -6 -4 -2 0 2 4 Real Axis 80 Lead Compensator: Design Example R( s ) + s .( s - Design Gc ( s ) Gc ( s ) K . Y( s ) R( s ) 2) so that the dominant closed loop poles are at s 2 j .2 3 and s 2 j .2 3 s s a b } Lead Compensator a) . 4 b ) s .( s 2 ) ( s a) . 4 K. ( s b ) s .( s 2 ) K. 1 Y( s ) 4 Gc ( s ) (s (s } Closed Loop Transfer Function Imag Axis ∆ cl ( s ) 1 j2 3 -b -a -c − j2 3 K. s s a . 4 . b s ( s 2) } Draw the Root Locus Real Axis 81 Method I Angle/Magnitude Condition Angle Condition } a 2.9 Let s 2.9 . s b (s Angle Angle ( s 1 4 2 ) .( s ) b) s tan Do you know why ? 2 3 b 2 s 45 2 180 = j .2 3 2 180 = j .2 . 3 Angle 4 .( s 2.9 ) s .( s 2 ) s 2 j .2 3 b 5.46 => Magnitude Condition K. s 2.9 . 4 s 5.46 s .( s 2 ) 1 = s 2 => K 4.68 j2 3 Method II: Coefficient Matching Y( s ) R( s ) a) 4 . b) s ( s 2) s a . 4 s .( s K. s b s( s 2) K. 1 ∆ cl ( s ) s (s (s 3 (2 ∆ dcl ( s ) s ∆ dcl ( s ) s 3 2 (4 b ) .s 2 c) s 2 4 K) .s (2 b j .2 3 . s ( 16 4 K (s b ) .( s 2 ) 2 4 Ka j .2 3 .( s 4 .c ) .s 16 .c a) ( Ks } c) } Ka ) 4 } Closed-Loop Transfer Function simplified actual denominator } desired denominator (see root locus) simplified 82 4 c 2 2 .b b 4 .K 16 16 .c 4 .K .a Let 3 equations } 4 .c 4 unknowns } a 2.9 1 1 0 c 2 4 2 4 . b 16 16 0 11.6 K 0 c 3.4 b 5.4 K 4.68 } Do you know why ? } 3 equations 3 unknowns Use calculator to solve (same answer as before) Imag Axis Note: "c" is between "a" and "b" j2 3 -b -a -c − j2 3 Real Axis 83 ECE4510: Feedback Control Systems. 8–1 FREQUENCY-RESPONSE ANALYSIS • Advantages and disadvantages to root-locus design approach: ADVANTAGES : – Good indicator of transient response. – Explicitly shows location of closed-loop poles. ➠ Tradeoffs are clear. DISADVANTAGES : – Requires transfer function of plant be known. – Difficult to infer all performance values. – Hard to extract steady-state response (sinusoidal inputs). • Frequency-response methods can be used to supplement root locus: – Can infer performance and stability from same plot. – Can use measured data when no model is available. – Design process is independent of system order (# poles). – Time delays handled correctly (e−sτ ). – Graphical techniques (analysis/synthesis) are “quite simple.” Frequency Response • We want to know how a linear system responds to sinusoidal input, in steady state. Lecture notes prepared by Dr. Gregory L. Plett 8–2 ECE4510, FREQUENCY-RESPONSE ANALYSIS • Consider system Y (s) = G(s). U (s) • Consider the input: u(t) = u 0 sin(ωt) u 0ω U (s) = 2 . s + ω2 • With zero initial conditions, u 0ω Y (s) = G(s) 2 . s + ω2 • Do a partial-fraction expansion (assume distinct roots) α0∗ α1 α2 αn α0 Y (s) = + + ···+ + + s − a1 s − a2 s − an s + jω s − jω t y(t) = |α1ea1t + α2ea2{z + · · · + αn ean}t +2|α0| sin(ωt + φ) If stable, these decay to zero. =(α ) 0 yss(t) = 2|α0| sin(ωt + φ), φ = tan−1 <(α0) = u 0 A sin(ωt + φ). • Important LTI-system fact: If the input to an LTI system is a sinusoid, the “steady-state” output is a sinusoid of the same frequency but different amplitude and phase. • Amplitude gain: A; Phase shift: φ. • “A” and “φ” may be found from α0, which is found using partial-fraction expansion techniques. A = |G(s)|s= j ω = |G( jω)| p = <(G( jω))2 + =(G( jω))2; φ = 6 G(s)|s= j ω = 6 G( jω) Lecture notes prepared by Dr. Gregory L. Plett ECE4510, FREQUENCY-RESPONSE ANALYSIS = tan−1 8–3 =(G( jω)) . <(G( jω)) FORESHADOWING : Transfer function along jω-axis tells us response to a sinusoid...but also tells us about stability since jω-axis is stability boundary! Plotting a Frequency Response • There are two common ways to plot a frequency response ➠ the magnitude and phase for all frequencies. EXAMPLE: R U (s) Y (s) C G(s) = 1 1 + RCs • Frequency response 1 (let RC = 1) 1 + jω RC 1 = 1 + jω 1 6 − tan−1 (ω). =√ 1 + ω2 G( jω) = • We will need to separate magnitude and phase information from rational polynomials in jω. – Magnitude = magnitude of numerator / magnitude of denominator p <(num)2 + =(num)2 p . 2 2 <(den) + =(den) Lecture notes prepared by Dr. Gregory L. Plett ECE4510, FREQUENCY-RESPONSE ANALYSIS 8–4 – Phase = phase of numerator − phase of denominator =(num) =(den) tan−1 − tan−1 . <(num) <(den) Plot Method #1: Polar Plot in s -plane. • Evaluate G( jω) at each frequency for 0 ≤ ω < ∞. • Result will be a complex number at each frequency: a + jb or Ae j φ . • Plot each point on the complex plane at (a + jb) or Ae j φ for each frequency-response value. • Result = polar plot. • We will later call this a “Nyquist plot”. ω 0 0.5 1.0 1.5 2.0 3.0 5.0 10.0 ∞ G( jω) 1.0006 0.0◦ 0.8946 − 26.6◦ 0.7076 − 45.0◦ 0.5556 − 56.3◦ 0.4476 − 63.4◦ 0.3166 − 71.6◦ 0.1966 − 78.7◦ 0.1006 − 84.3◦ 0.0006 − 90.0◦ • The polar plot is parametric in ω, so it is hard to read the frequency-response for a specific frequency from the plot. • We will see later that the polar plot will help us determine stability properties of the plant and closed-loop system. Lecture notes prepared by Dr. Gregory L. Plett 8–5 ECE4510, FREQUENCY-RESPONSE ANALYSIS Plot Method #2: Magnitude and Phase Plots • We can replot the data by separating the plots for magnitude and phase making two plots versus frequency. 1 0 −10 0.8 G( jω) |G( jω)| −20 0.6 6 0.4 −30 −40 −50 −60 −70 0.2 −80 0 0 1 2 3 4 5 Frequency, (rads/sec.) 6 −90 0 1 2 3 4 5 Frequency, (rads/sec.) 6 • The above plots are in a natural scale, but usually a log-log plot is made ➠ This is called a “Bode plot” or “Bode diagram.” Bode Diagrams • Simplest way to display the frequency response of a rational-polynomial transfer function is to use a Bode Plot. • Logarithmic ω versus logarithmic |G( jω)|, and logarithmic ω versus 6 G( jω). REASON : log10 ab cd = log10 a + log10 b − log10 c − log10 d. ➤ The polynomial factors that contribute to the transfer function can be split up and evaluated separately. (s + 1) G(s) = (s/10 + 1) ( jω + 1) G( jω) = ( jω/10 + 1) Lecture notes prepared by Dr. Gregory L. Plett 8–6 ECE4510, FREQUENCY-RESPONSE ANALYSIS | jω + 1| | jω/10 + 1| r ω 2 p 2 log10 |G( jω)| = log10 1 + ω − log10 1 + . 10 |G( jω)| = • Consider: s log10 • For ω ωn , s log10 • For ω ωn , log10 KEY POINT: ω 1+ ωn ω 1+ ωn s ω 1+ ωn 2 . 2 ≈ log10(1) = 0. 2 ≈ log10 ω . ωn Two straight lines on a log-log plot; intersect at ω = ωn . • Typically plot 20 log10 |G( jω)|; that is, in dB. 20dB Approximation Exact 0.1ωn ωn 10ωn • A transfer function is made up of first-order zeros and poles, complex zeros and poles, constant gains and delays. We will see how to make straight-line (magnitude- and phase-plot) approximations for all these, and combine them to form the appropriate Bode diagram. Lecture notes prepared by Dr. Gregory L. Plett 8–7 ECE4510, FREQUENCY-RESPONSE ANALYSIS Bode-Magnitude Diagrams Bode-Magnitude: Constant Gain dB • dB = 20 log10 |K |. |K | > 1 • Not a function of frequency. Horizontal straight line. If |K | < 1, then negative, else positive. 0.1 10 1 |K | < 1 Bode-Magnitude: Zero or Pole at Origin 20 dB • For a zero at the origin, G(s) = s dB = 20 log10 |G( jω)| 20 dB per decade 0.1 1 10 = 20 log10 | jω| dB. −20 dB • For a pole at the origin, 1 G(s) = s dB = 20 log10 |G( jω)| = −20 log10 | jω| dB. 20 dB −20 dB per decade 0.1 1 10 −20 dB • Both are straight lines, slope = ±20 dB per decade of frequency. – Line intersects ω-axis at ω = 1. Lecture notes prepared by Dr. Gregory L. Plett 8–8 ECE4510, FREQUENCY-RESPONSE ANALYSIS • For an nth-order pole or zero at the origin, dB = ±20 log10 |( jω)n | = ±20 log10 ωn = ±20n log10 ω. – Still straight lines. – Still intersect ω-axis at ω = 1. – But, slope = ±20n dB per decade. Bode-Magnitude: Zero or Pole on Real Axis, but not at Origin • For a zero on the real axis, (LHP or RHP), the standard Bode form is s G(s) = ±1 , ωn which ensures unity dc-gain. • If you start out with something like G(s) = (s + ωn ), then factor as G(s) = ωn s +1 . ωn Draw the gain term (ωn ) separately from the zero term (s/ωn + 1). • In general, a LHP or RHP zero has standard Bode form s G(s) = ±1 ωn ω G( jω) = ±1 + j ωn s 2 ω 20 log10 |G( jω)| = 20 log10 1 + ωn Lecture notes prepared by Dr. Gregory L. Plett 8–9 ECE4510, FREQUENCY-RESPONSE ANALYSIS s √ ω 2 20 log10 1 + ≈ 20 log10 1 = 0. ωn s 2 ω ω . 20 log10 1 + ≈ 20 log10 ωn ωn • For ω ωn , • For ω ωn , • Two straight lines on a log scale which intersect at ω = ωn . • For a pole on the real axis, (LHP or RHP) standard Bode form is −1 s G(s) = ±1 ωn s 2 ω 20 log10 |G( jω)| = −20 log10 1 + . ωn This is the same except for a minus sign. 0.1ωn 1ωn 10ωn −20 dB per decade 20 dB −20 dB 20 dB per decade 0.1ωn 1ωn 10ωn Bode-Magnitude: Complex-Zero or Complex-Pole Pair • For a complex-zero pair (LHP or RHP) standard Bode form is 2 s s + 1, ± 2ζ ωn ωn which has unity dc-gain. • If you start out with something like s 2 ± 2ζ ωn s + ωn2 , Lecture notes prepared by Dr. Gregory L. Plett 8–10 ECE4510, FREQUENCY-RESPONSE ANALYSIS which we have seen before as a “standard form,” the dc-gain is ωn2 . • Convert forms by factoring out ωn2 # " 2 s s +1 . s 2 ± 2ζ ωn s + ωn2 = ωn2 ± 2ζ ωn ωn • Complex zeros do not lend themselves very well to straight-line approximation. 2 s • If ζ = 1, then this is ±1 . ωn • Double real zero at ωn ➠ slope of 40 dB/decade. • For ζ 6= 1, there will be overshoot or undershoot at ω ≈ ωn . – At ω = ωn , magnitude value = 20 log10 2ζ dB. • We write complex poles (LHP or RHP) as " #−1 2 s s G(s) = +1 ± 2ζ . ωn ωn – At ω = ωn , peak magnitude value = −20 log10 2ζ dB. – For ω ωn , magnitude ≈ 0 dB. – For ω ωn , magnitude slope = −40 dB/decade. Bode Mag: Complex zeros 20 dB 40 dB 20 dB ζ = 0.9 0.7 0.5 0 dB 0.3 0.2 0.1 0.05 0 dB −20 dB 0.1ωn ωn Lecture notes prepared by Dr. Gregory L. Plett −20 dB 10ωn −40 dB 0.1ωn Bode Mag: Complex poles ζ = 0.05 0.1 0.2 0.3 0.5 0.7 ζ = 0.9 ωn 10ωn 8–11 ECE4510, FREQUENCY-RESPONSE ANALYSIS Bode-Magnitude: Time Delay • G(s) = e−sτ ... |G( jω)| = 1. • 20 log10 1 = 0 dB. • Does not change magnitude response. EXAMPLE : 2000·0.5 s +1 10·50 0.5 s s + 1 + 1 10 50 2000(s + 0.5) = s(s + 10)(s + 50) s jω 2 0.5 + 1 . G( jω) = jω jω jω 10 + 1 50 + 1 G(s) = • Components: – DC gain of 20 log10 2 ≈ 6 dB; – Pole at origin; – One real zero not at origin, and – Two real poles not at origin. 80 60 40 20 0 −20 −40 −60 −2 10 −1 10 Lecture notes prepared by Dr. Gregory L. Plett 0 10 1 10 2 10 3 10 Bode Plot Construction H( s ) K . (s s n .( s a) ( s c ) .( s Typical Transfer Function b) d ) .( s } e) a ,b ,c ,d ,e are real positive numbers Bode Form : Let ab . H( s ) K . ecd s jω and normalize jω 1 . b jω a n jω ( jω ) . c jω 1 . d } 1 jω 1 . e 1 Bode Form Magnitude Plot 1) Curve breaks { up / down } by 20 dB/dec at { a,b / c,d,e} Angle Plot 2) Curve breaks { up / down } by 45 degrees one decade before { a,b / c,d,e } and breaks { down / up } by 45 degrees one decade after { a,b / c,d,e } Initial Magnitude Plot Case 1: n=0 Calculate H( jω ) ω 0 and then convert to dB i.e., Case 2: n > 0 Calculate the ω - intercept Calculate the initial slope ω 20 .n Final Magnitude Slope = -20 . RD intercept Kab cde 20 .log( H( jω ) ) ω 0 1 n dB / dec dB / dec 95 Initial and Final Phase Plot 1) Plot a pole / zero plot for the original transfer function 2) Calculate the angle from the picture at ω 0 Illustrative Example Angle s s a c Initial Angle = ( Angle ( jω a) Angle ( jω c) ) Final Angle = ( Angle ( jω a) Angle ( jω c) ) ω 0 = 0 degrees = 90 - 90 = 0 degrees ω ∞ 1 0.8 Imag Axis 0.6 0.4 c } a 0.2 0 -0.2 Pole / Zero Plot -0.4 -0.6 -0.8 -1 -10 -8 -6 -4 -2 0 Real Axis 96 Example - Bode Plot Construction s 1 H( s ) s 10 1 . jω 10 1 H( jω ) jω 1 } Bode Form 1 10 Magnitude Plot 1) Initial Magnitude => n = 0 => Initial Magnitude = 20 .log H( jω ) 1 10 = ω 0 } 20 dB 1 10 dB Conversion 2) Plot the negative of the poles and the zeros on the jω axis zero at -1 3) pole at -10 Use an "up" arrow to denote a slope of +20 dB/dec and a "down" arrow to denote a slope of -20 dB/dec RD 0 H( jω ) 10−1 100 Final Slope = 0 dB / dec 102 101 dB -20 } -40 ( use semilog paper ) Initial Magnitude Decade ω 4) Start at the initial magnitude and use arrows to draw the asymptotic plot H( jω ) 10−1 101 100 102 dB -20 + 20 dB/dec -40 ω 97 Phase Plot for s 1 H( s ) s 10 H( jω ) 1 . jω 10 1 jω 10 1 1 } Bode Form 1 0.8 Imag Axis 0.6 0.4 } 0.2 0 -0.2 10 1 Pole / Zero Plot -0.4 -0.6 -0.8 -1 -10 -8 -6 -4 -2 0 Real Axis 1) Initial Phase Angle ( H( jω ) ) = Angle ω 0 Note : jω 1 = 0-0=0 } 1 Angle jω 10 1 ω 0 see picture Final Angle Angle ( H( jω ) ) = Angle ω ∞ Note : = 90 - 90 = 0 jω 1 1 } Angle jω 10 1 ω ∞ see picture 98 2) Plot the negative of the poles and the zeros on the jω axis zero at -1 pole at -10 3) Use an "up" arrow to denote a slope of +45 deg/dec and a "down" arrow to denote a slope of - 45 deg/dec Angle ( H( jω) ) deg Decade 90 Initial Phase 45 10 −1 4) Final Phase 101 10 0 10 2 Frequency (rad/sec) Start at the initial phase and use arrows to draw the asymptotic plot ω Angle ( H( jω) ) deg D ecade 90 Initial Phase F inal P hase 45 45 deg/dec 10 − 1 - 45 deg/dec 10 0 10 1 ω 10 2 F requency (rad/sec) Use the Asymptotic Plots to draw the actual Bode Plot free hand (rough out the edges) B o d e D i a g ra m s 0 Phase (deg); Magnitude (dB) -5 -1 0 -1 5 -2 0 50 40 30 20 10 10 -1 10 0 10 1 10 2 F re q u e n c y (ra d /s e c ) 99 Example Bode Plot Construction H( s ) 10 ( s 10 ) s ( s 1 ) ( s 100 ) jω 10 ( 10 ) . H( jω ) 100 10 jω jω 1 1 1 jω 100 1 } Bode Form Magnitude Plot 1) Initial Magnitude => n = 1 => Calculate the ω intercept 1 n 10 ( 10 ) 0 ωI 1 10 n 1 100 ωI } Initial slope = -20.n dB / dec = -20 dB / dec } n 1 100 2) Plot the negative of the poles and the zeros on the jω axis zero at -10 3) poles at 0 , -1 and -100 Use an "up" arrow to denote a slope of +20 dB/dec and a "down" arrow to denote a slope of -20 dB/dec H( jω ) 20 0 dB -20 dB/dec } -20 -20 dB/dec -40 ( use semilog paper ) ωI -60 101 100 102 Frequency (rad/sec) 4) Use the initial slope and the arrows to draw the asymptotic plot H( jω ) 20 dB 0 -20 dB/dec -20 -40 dB/dec -40 -20 dB/dec -60 -40 dB/dec 100 101 10 2 ω 101 Phase Plot for H (s) = 10 ( s 10 ) s ( s 1 ) ( s 100 ) jω H (s) = 10 ( 10 ) 100 10 jω jω 1 1 1 jω 100 1 } Bode Form 1 0 .8 Imag Axis 0 .6 0 .4 } 0 .2 0 100 -0 .2 10 1 Pole / Zero Plot -0 .4 -0 .6 -0 .8 -1 R e a l A x is 1) Initial Phase Angle ( H( jω ) ) Angle = ω 0 jω 1 10 = 0° − 90° − 0° − 0° Angle ( jω ) Angle Angle ( jω ) Angle jω 1 1 Angle 1 Angle jω 100 1 ω 0 1 ω ∞ = −90° Final Angle Angle ( H( jω ) ) = Angle ω ∞ jω 10 1 jω 1 jω 100 = 90° − 90° − 90° − 90° = −180° 102 2) Plot the negative of the poles and the zeros on the j ω axis zero at -10 poles at 0 , -1 and -100 3) Use an "up" arrow to denote a slope of +45 deg/dec and a "down" arrow to denote a slope of - 45 deg/dec Angle ( H( jω ) ) 10 − 1 10 0 10 3 ω 10 2 10 1 90 0 deg -90 -180 Initial Phase Final Phase -270 Decade 4) Start at the initial phase and use arrows to draw the asymptotic plot Angle ( H( jω ) ) ω -45 -90 deg Initial Phase Final Phase -135 - 45 deg/dec -180 - 45 deg/dec -225 10 −1 10 0 101 10 2 10 3 Frequency (rad/sec) 103 Use the Asymptotic Plots to draw the actual Bode Plot free hand (rough out the edges) Bode Diagrams Phase (deg); Magnitude (dB) 0 -50 -100 -100 -120 -140 -160 -2 -1 10 0 10 1 10 2 10 10 3 10 Frequency (rad/sec) Bode Plots for Repeated Roots 1 H (s) = ωn s H (s) = 2 1 ωn 1 2 jω ωn 1 jω 1 ωn } Bode Form Magnitude Plot 1 1) Initial Magnitude => n = 0 => Calculate initial magnitude Initial Magnitude = 20 .log H( jω ) ω 0 = ωn 2 1 ωn 2 dB } dB Conversion 104 2) Plot the negative of the poles on the jω axis 2 poles at - ωn 3) Use an "up" arrow to deonte a slope of +20 dB/dec and a "down" arrow to denote a slope of -20 dB/dec H ( jω ) 20 ωn /10 ωn 10ωn 100ωn ω 0 dB -20 -40 Decade 105 Phase Plot for 1 H (s) = 2 ωn s 1 H (s) = 1 ωn 2 jω jω 1 ωn ωn } 1 Bode Form 1 0.8 } Imag Axis 0.6 0.4 0.2 Pole / Zero Plot 0 -0.2 ωn -0.4 -0.6 -0.8 Real Axis 1) Initial Phase Angle ( H( jω ) ) = ω 0 Angle = −0° − 0° jω 1 ωn Angle jω ωn 1 ω 0 = 0° Final Angle Angle ( H( jω ) ) = ω ∞ Angle jω ωn 1 Angle jω ωn 1 ω ∞ = −90° − 90° = −180° 106 2) Plot the negative of the poles and the zeros on the j ω axis 2 poles at -ωn 3) Use an "up" arrow to denote a slope of +45 deg/dec and a "down" arrow to denote a slope of - 45 deg/dec Angle ( H( jω ) ) ωn 10 ωn 100 ω n 10ω n 90 ω deg 0 -90 Final Phase Initial Phase -180 -270 4) Start at the initial phase and use arrows to draw the asymptotic plot ωn 90 10 ωn 100ωn 10ωn 0 -90 Final Phase Initial Phase -180 -270 107 Use the Asymptotic Plots to draw the actual Bode Plot free hand (rough out the edges) In the following plot ωn 1 Bode Diagrams 0 Phase (deg); Magnitude (dB) -10 -20 -30 -40 -50 -100 -150 -1 10 0 10 1 10 Frequency (rad/sec) 108 8–17 ECE4510, FREQUENCY-RESPONSE ANALYSIS Nonminimum-Phase Systems • A system is called a nonminimum-phase if it has pole(s) or zero(s) in the RHP. • Consider G 1(s) = 10 G 2(s) = 10 s+1 s + 10 s−1 s + 10 zero at − 1 pole at − 10 zero at + 1 pole at − 10 ) minimum phase ) nonminimum phase • The magnitude responses of these two systems are: √ ω2 + 1 | jω + 1| |G 1( jω)| = 10 = 10 √ | jω + 10| ω2 + 100 √ | jω − 1| ω2 + 1 |G 2( jω)| = 10 = 10 √ | jω + 10| ω2 + 100 which are the same! • The phase responses are very different: (G 1( jω)), 6 (G 2( jω)) 15 10 5 0 −2 10 −1 10 0 10 1 10 2 10 Frequency, (rads/sec.) 3 10 6 |G 1 ( jω)|, |G 2 ( jω)| Bode-Magnitude Plot 20 Bode-Phase Plot 180 150 Non-minimum Phase, G 2 120 90 60 Minimum Phase, G 1 30 0 −2 10 −1 10 0 10 1 10 2 10 Frequency, (rads/sec.) 3 10 • Note that the change in phase of G 1 is much smaller than change of phase in G 2. Hence G 1 is “minimum phase” and G 2 is “nonminimum-phase” Lecture notes prepared by Dr. Gregory L. Plett 8–18 ECE4510, FREQUENCY-RESPONSE ANALYSIS • Non-minimum phase usually associated with delay. s−1 G 2(s) = G 1(s) + 1} |s {z Delay s−1 is very similar to a first-order Padé approximation to a s+1 delay. It is the same when evaluated at s = jω. • Note: • Consider using feedback to control a nonminimum-phase system. What do the root-locus plotting techniques tell us? Steady-State Errors from Bode-Magnitude Plot • Recall our discussion of steady-state errors to step/ramp/parabolic inputs versus “system type” (summarized on pg. 4–4–17) • Consider a unity-feedback system. • If the open-loop plant transfer function has N poles at s = 0 then the system is “type N ” • K p is error constant for type 0. • K v is error constant for type 1. • K a is error constant for type 2... • For a unity-feedback system, K p = lim G(s). s→0 – At low frequency, a type 0 system will have G(s) ≈ K p . – We can read this off the Bode-magnitude plot directly! – Horizontal y-intercept at low freqency = K p . 1 ➠ ess = for step input. 1 + Kp Lecture notes prepared by Dr. Gregory L. Plett 8–19 ECE4510, FREQUENCY-RESPONSE ANALYSIS • K v = lim sG(s), and is nonzero for a type 1 system. s→0 – At low frequency, a type 1 system will have G(s) ≈ Kv . s Kv . Slope of −20 dB/decade. ω – Use the above approximation to extend the low-frequency asymptote to ω = 1. The asymptote (NOT THE ORIGINAL |G( jω)|) evaluated at ω = 1 is K v . 1 ➠ ess = for ramp input. Kv – At low frequency, |G( jω)| ≈ • K a = lim s 2 G(s), and is nonzero for a type 2 system. s→0 – At low frequency, a type 2 system will have G(s) ≈ Ka . s2 Ka . Slope of −40 dB/decade. ω2 – Again, use approximation to extend low-frequency asymptote to ω = 1. The asymptote evaluated at ω = 1 is K a . 1 ➠ ess = for parabolic input. Ka – At low frequency, |G( jω)| ≈ • Similar for higher-order systems. 20 Example 1 60 50 Magnitude Magnitude 10 0 −10 −20 −30 −40 −2 10 Example 2 40 30 20 10 −1 10 0 10 Frequency, (rads/sec.) Lecture notes prepared by Dr. Gregory L. Plett 1 10 0 −2 10 −1 10 0 10 Frequency, (rads/sec.) 1 10 8–20 ECE4510, FREQUENCY-RESPONSE ANALYSIS EXAMPLE 1: ➤ Horizontal as ω → 0, so we know this is type 0. ➤ Intercept = 6 dB. . .K p = 6 dB = 2 [linear units]. EXAMPLE 2: ➤ Slope = -20 dB/decade as ω → 0, so we know this is type 1. ➤ Extend slope at low frequency to ω = 1. ➤ Intercept=20 dB. . . K v = 20 dB = 10 [linear units]. Stability Revisited • If we know the closed-loop transfer function of a system in rationalpolynomial form, we can use Routh to find stable ranges for K . • Motivation: What if we only have open-loop frequency response? A Simple Example • Consider, for now, that we know the transfer-function of the system, and can plot the root-locus. EXAMPLE : =(s) r (t) K 1 s(s + 1)2 K =2 y(t) <(s) • We see neutral stability at K = 2. The system is stable for K < 2 and unstable for K > 2. Lecture notes prepared by Dr. Gregory L. Plett 8–21 ECE4510, FREQUENCY-RESPONSE ANALYSIS • Recall that a point is on the root locus if |K G(s)| = 1 and 6 G(s) = −180◦ . • If system is neutrally stable, jω-axis will have a point (points) where |K G( jω)| = 1 and 6 G( jω) = −180◦. • Consider the Bode plot of K G(s). . . 40 20 • A neutral-stability condition from Bode plot is: |K G( jωo)| = 1 AND 6 K G( jωo ) = −180◦ at the same frequency ωo . • In this case, increasing K →instability ➠ |K G( jω)| < 1 at 6 K G( jω) = −180◦ =stability. 0 −20 −40 −60 K = 0.1 K =2 K = 10 −80 −2 10 −1 10 0 10 1 10 −90 −120 −150 −180 −210 • In some cases, decreasing K →instability ➠ |K G( jω)| > 1 at 6 K G( jω) = −180◦ =stability. −240 −270 −2 10 −1 10 0 10 1 10 KEY POINT: We can find neutral stability point on Bode plot, but don’t (yet) have a way of determining if the system is stable or not. Nyquist found a frequency-domain method to do so. Nyquist Stability • Poles of closed-loop transfer function in RHP—the system is unstable. • Nyquist found way to count closed-loop poles in RHP. • If count is greater than zero, system is unstable. • Idea: Lecture notes prepared by Dr. Gregory L. Plett 8–22 ECE4510, FREQUENCY-RESPONSE ANALYSIS – First, find a way to count closed-loop poles inside a contour. – Second, make the contour equal to the RHP. • Counting is related to complex functional mapping. Interlude: Complex Functional Mapping • Nyquist technique is a graphical method to determine system stability, regions of stability and MARGINS of stability. • Involves graphing complex functions of s as a polar plot. EXAMPLE: Plotting f (x), a real function of a real variable x. f (x) x • This can be done. EXAMPLE: Plotting F(s), a complex function of a complex variable s. F (s) ? NO! This is wrong! s • Must draw mapping of points or lines from s-plane to F(s)-plane. jω s s0 mapping σ Lecture notes prepared by Dr. Gregory L. Plett =(F ) F (s0) F (s) <(F) 8–23 ECE4510, FREQUENCY-RESPONSE ANALYSIS EXAMPLE: F(s) = 2s + 1 . . . “map the four points: A, B, C, D” D −1 C EXAMPLE: =(s) A j <(s) 1 −j B Map a square contour (closed path) by F(s) = j D −1 C −j j =(s) F (D) A 1 B s . s +2 −1 F ( A) F (B)1 <(s) − j F(C) FORESHADOWING : By drawing maps of a specific contour, using a mapping function related to the plant open-loop frequency-response, we will be able to determine closed-loop stability of systems. Mapping Function: Poles of the Function • When we map a contour containing (encircling) poles and zeros of the mapping function, this map will give us information about how many poles and zeros are encircled by the contour. • Practice drawing maps when we know poles and zeros. • Evaluate G(s)|s=so . G(so) = |E v |e j α X X 6 6 (poles). α= (zeros) − Lecture notes prepared by Dr. Gregory L. Plett 8–24 ECE4510, FREQUENCY-RESPONSE ANALYSIS EXAMPLE : F(c1) =(s) c1 <(s) α • In this example, there are no zeros or poles inside the contour. The phase α increases and decreases, but never undergoes a net change of 360◦ (does not encircle the origin). EXAMPLE : =(s) F(c2) c2 <(s) α • One pole inside contour. Resulting map undergoes 360◦ net phase change. (Encircles the origin). EXAMPLE : =(s) F (c3) c3 <(s) Lecture notes prepared by Dr. Gregory L. Plett 8–25 ECE4510, FREQUENCY-RESPONSE ANALYSIS • In this example, there are two poles inside the contour, and the map encircles the origin twice. • These examples give heuristic evidence of the general rule: Cauchy’s theorem “Let F(s) be the ratio of two polynomials in s. Let the closed curve C in the s-plane be mapped into the complex plane through the mapping F(s). If the curve C does not pass through any zeros or poles of F(s) as it is traversed in the CW direction, the corresponding map in the F(s)-plane encircles the origin N = Z − P times in the CW direction,” where Z = # of zeros of F(s)in C, P = # of poles of F(s) in C. • Consider the following feedback system: r (t) D(s) G(s) y(t) T (s) = H (s) • For closed-loop stability, no poles of T (s) in RHP. D(s)G(s) . 1 + D(s)G(s)H (s) =(s) R→∞ – No zeros of 1 + D(s)G(s)H (s) in RHP. – Let F(s) = 1 + D(s)G(s)H (s). – Count zeros in RHP using Cauchy theorem! (Contour=entire RHP). • The Nyquist criterion simplifies Cauchy’s criterion for feedback systems of the above form. Lecture notes prepared by Dr. Gregory L. Plett <(s) 8–26 ECE4510, FREQUENCY-RESPONSE ANALYSIS • Cauchy: F(s) = 1 + D(s)G(s)H (s). • Nyquist: F(s) = D(s)G(s)H (s). =(s) N = # of encirclements of origin. N = # of encirclements of −1. Cauchy =(s) Nyquist <(s) <(s) • Simple? YES!!! • Think of Nyquist path as four parts: =(s) I. Origin. Sometimes a special case (later examples). II. + jω-axis. FREQUENCY-response of O.L. system! Just plot it as a polar plot. III II <(s) I IV III. For physical systems=0. IV. Complex conjugate of II. • So, for most physical systems, the Nyquist plot, used to determine CLOSED-LOOP stability, is merely a polar plot of LOOP frequency response D( jω)G( jω)H ( jω). • We don’t even need a mathematical model of the system. Measured data of G( jω) combined with our known D( jω) and H ( jω) are enough to determine closed-loop stability. Lecture notes prepared by Dr. Gregory L. Plett Nyquist Plots/Nyquist Stability Criterion Y( s ) R( s ) + K _ Y( s ) R( s ) ∆( s) KGp ( s ) = 1 = KGp ( s ) 1 KGp ( s ) Gp ( s ) } Closed loop TF } Denominator Form for Nyquist Analysis Im K .Gp ( jω ) 1) Plot Nyquist Plot (i.e., a Polar Plot) for versus Re K .Gp ( jω ) using the Nyquist contour. (Assume K = 1) 2) Apply the Nyquist Criterion to the Nyquist Plot and then determine the stability of the closed-loop system. Nyquist Criterion P0 denotes the number of poles of Gp ( s ) inside s-plane contour. N denotes the net number CW encirclements of the point 1∠ − 180 If the contour in the s-plane is CW, then CW is the positive direction. i.e., 1 CW ⇒ N =1 1 CCW ⇒ N =−1 If the contour in the s-plane is CCW, then CCW is the positive direction. i.e., 1 CCW Zc ⇒ N =1 1 CW ⇒ N =−1 denotes the number of closed-loop poles inside the s-plane contour. Zc N P0 } Formula for calculation purposes 122 Example Im {s} H( s ) Draw the Nyquist Plot for Nyquist Contour 1 s 1 for the following s-plane contour. Step 1) Let H( j .ω ) s jω 1 j .ω 1 R R→ ∞ Step 2) Plot a pole/zero plot for H(s) on the s-plane contour picture and include measurement scheme to the j ω - axis along with the necessary critical points. Re{s} Step 3) Enter a magnitude/phase table entry for each critical point. r mag θ Phase A 1 0 B 0 90 C 0 0 Point 1 H ( jω ) jω Angle( H ( jω ) ) Im {s} κ β A -1 r 1 B C Re{s} 1 κ Angle( jω 1) θ β Step 4) Use critical points to draw Nyquist Plot. Step 5) Nyquist plot is symmetric about real axis. Draw other half. Im{H(jω )} B,C θ A r Re{H(jω )} } Draw a Polar plot on a rectangular coordinate system 123 Example H( s ) Draw the Nyquist Plot for for the following s-plane contour. s jω H( j .ω ) Step 1) Let Nyquist Contour Im{s} 1 s( s 1) 1 jω ( j .ω ε 1) Step 2) Plot a pole/zero plot for H(s) on the s-plane contour jω picture and include measurement scheme to the axis R R→ ∞ Re{s} ε→ 0 along with the necessary critical points. Step 3) Enter a magnitude/phase table entry for each critical point. Point r mag Im{s} θ Phase A ∞ 0 B ∞ 90 B "Blow-up" 0 180 D 0 0 H ( jω ) Angle( H ( jω ) ) Re{s} B 90 o A Re{s} ε 1 jω . jω D A -1 Im {s} C C 1 Angle( jω ) Angle( jω 1) Im{H(jω)} Step 4) Use critical points to draw Nyquist Plot. Step 5) Nyquist plot is symmetric about real axis. Draw other half. -1 C,D θ A r Re{H(jω)} r=∞ B 124 Example - Determine stability with Nyquist Plot R( s ) Y( s ) + K _ Gp ( s ) Gp ( s ) s .( s 1 1 ) .( s 10 ) R Re{s} Im{s} Use Nyquist Plot, Contour and Criterion to discuss quantitatively how the control gain K affects closed-loop stability. K .Gp ( s ) Y( s ) R ( s ) 1 K .Gp ( s ) K. ∆( s) 1 s .( s Closed Loop Transfer Function ε R→ ∞ ε → 0 Nyquist Form 1 1 ) .( s 10 ) the } for denominator K .Gp ( jω ) s jω Step 1) Let } Nyquist Contour Step 2) Plot a pole/zero plot for K ( jω ) .( jω Gp ( s ) 1 ) .( jω } 10 ) Assume K = 1 on the s-plane contour picture and include measurement scheme to the jω axis along with the necessary critical points. Im{s} C Step 3) Enter a magnitude/phase table entry for each critical point. point A r θ mag phase ∞ 0 B ∞ 90 C 0 270 D 0 0 Gp ( jω ) B A "Blow-up" -10 -1 D Re{s} Im {s} B 90 o A Re{s} ε 1 jω . jω Angle Gp ( jω ) 1 . jω Angle( jω ) 10 Angle( jω 1) Angle( jω 10 ) 125 Step 4) Use critical points to draw Nyquist Plot. Step 5) Nyquist plot is symmetric about real axis. Draw other half. Im{Gp(jω )} C,D θ A Re{Gp(jω )} r r θ point mag phase A ∞ 0 B ∞ 90 C 0 270 D 0 0 } Nyquist Plot with K=1 r=∞ B Im{KGp(jω)} -1 C,D θ A r Re{KGp(jω)} } Nyquist Plot for different values of K r=∞ Larger K B As K is increased, the shape of the Nyquist plot does not change because K is a real number (i.e., K only affects the magnitude (size); K does NOT affect the phase (shape)) 126 Nyquist Contour Im{KGp(jω)} Im {s} C,D θ -1 A CW + CCW - -1 -10 Re{s} Re{KGp(jω)} r r=∞ B Nyquist Criterion 1) Find P0 P0 0 => ( Number of poles of Gp ( s ) inside the contour) 2) Determine the sign notation for the encirclements. Contour is CW so, CW encirclements are positive and CCW encirclements are negative 3) Find N (i.e., the number of encirclements of (-1,0) for different values of K Also compute Zc Zc N P0 N Zc Stability small K 0 0 Yes big K 2 2 No } } Number of closed loop poles inside the contour Nyquist Criterion table 4) Understanding the above table: For small K, no closed loop poles are inside the s-plane contour. From the contour, we can see that this means that for small K the closed loop system is stable For big K, two closed loop poles are inside the s-plane contour; hence, for big K, the closed loop system is unstable 127 Root Locus agrees with the Nyquist Criterion 15 Gp ( s ) Imag Axis 10 s .( s 1 1 ) .( s 10 ) 5 } 0 Root Locus for ∆( s) 1 K .Gp ( s ) -5 small K: closed loop system is stable -10 -15 -12 -10 -8 -6 -4 -2 0 2 Real Axis N Zc Stability small K 0 0 Yes big K 2 2 No } 4 big K: closed loop system is unstable Nyquist Criterion table 128 Example - Clockwise Contour R ( s )+ Im{s} Nyquist Contour Y( s ) K _ H( s ) R R→ ∞ Use Nyquist Plot, Contour and Criterion to discuss quantitatively how the control gain K affects closed-loop stability. Y( s ) K .H ( s ) R ( s ) 1 K .H ( s ) } H( s ) s s Re{s} 1 1 Closed Loop Transfer Function We can see from the root locus that the system goes unstable 1 Step 1) Let K. s 1 s 1 Nyquist Form 0.8 the } for denominator 0.6 Imag Axis ∆( s) 1 s jω K .( jω 1 ) K .H ( s ) ( jω 1 ) 0.4 0.2 0 -0.2 } Assume K=1 -0.4 -0.6 -0.8 -1 -2 Step 2) Plot a pole/zero plot for H ( s) Step 3) Enter a magnitude/phase table entry for each critical point. θ point mag phase A 1 -0.5 jω 0 0.5 1 1.5 2 Real Axis axis Im {s} B Nyquist Contour A C 180 B 1 0 C 1 0 H ( jω ) -1 on the s-plane contour picture and include measurement scheme to the r -1.5 jω 1 jω 1 -1 Angle( H ( jω ) ) Angle( jω 1 1) Angle( jω Re{s} 1) 130 Step 4) Use critical points to draw Nyquist Plot. Step 5) Nyquist plot is symmetric about real axis. Draw other half. r θ point mag phase A 1 180 B 1 0 C 1 0 Im{H(jω)} K 1 A B,C θ -1 Re{H(jω)} r Im{s} B CW + CCW - Nyquist Contour C A -1 1 As K is decreased below 1, the Nyquist Plot intersects the Re{j ω } axis before -1 Re{s} As K is increased beyond 1, the Nyquist Plot intersects the Re{j ω } axis beyond -1 Nyquist Criterion 1) Find P0 P0 0 => ( Number of poles of H ( s) inside the contour) 2) Determine the sign notation for the encirclements. Contour is CW so, CW encirclements are positive and CCW encirclements are negative 3) Find N (i.e., the number of encirclements of (-1,0) for different values of K Also compute Zc Zc N P0 N Zc Stability small K 0 0 Yes big K 1 1 No } Number of closed loop poles inside the contour } Nyquist Criterion table 4) Understanding the above table: For small K, no closed loop pole is inside the s-plane contour. From the contour, we can see that this means that for small K the closed loop system is stable For big K, one closed loop pole is inside the s-plane contour; hence, for big K, the closed loop system is unstable 131 Same Example - Counterclockwise Contour R ( s )+ Im {s} Y( s ) K _ H( s ) Nyquist Contour Use Nyquist Plot, Contour and Criterion to discuss quantitatively how the control gain K affects H( s ) closed-loop stability. R s s 1 1 s jω Step 1) Let K .( jω K .H ( s ) ( jω 1) 1) Step 2) Plot a pole/zero plot for Assume } K=1 H ( s) on the s-plane contour picture and include measurement scheme to the jω axis Step 3) Enter a magnitude/phase table entry for each critical point. r θ point mag phase A 1 180 B 1 0 C 1 0 H ( jω ) Re{s} R→ ∞ B Nyquist Contour C jω 1 jω 1 Angle( H ( jω ) ) Angle( jω Im {s} 1) Angle( jω -1 A 1 Re{s} 1) Note: Numbers in the table are exactly the same as before 132 r θ point mag phase A 1 180 B 1 0 C 1 0 Step 4) Use critical points to draw Nyquist Plot. Step 5) Nyquist plot is symmetric about real axis. Draw other half. Im{H(jω)} K 1 A B,C θ -1 Re{H(jω)} r CW CCW + Im {s} Nyquist Contour As K is decreased below 1, the Nyquist Plot intersects the Re{j ω } axis before -1 -1 1 Re{s} As K is increased beyond 1, the Nyquist Plot intersects the Re{j ω } axis beyond -1 Nyquist Criterion 1) Find P0 P0 1 => ( Number of poles of H ( s) inside the contour) 2) Determine the sign notation for the encirclements. Contour is CCW so, CW encirclements are negative and CCW encirclements are positive 3) Find N (i.e., the number of encirclements of (-1,0) for different values of K Also compute small K big K Zc Zc N P0 N Zc Stability 0 1 Yes 0 No 1 } Number of closed loop poles inside the contour } Nyquist Criterion table 4) Understanding the above table: For small K, one closed loop pole is inside the s-plane contour. From the contour, we can see that this means that for small K the closed loop system is stable For big K, no closed loop pole is inside the s-plane contour; hence, for big K, the closed loop system is unstable 133 Im{s} Example - Clockwise Contour R ( s )+ Nyquist Contour Y( s ) K _ H( s ) ε R R→ ∞ ε→ 0 Use Nyquist Plot, Contour and Criterion to discuss quantitatively how the control gain K affects closed-loop stability. Y( s ) K .H ( s ) R ( s ) 1 K .H ( s ) K. ∆( s) 1 } 1 ) .( s Step 2) Plot a pole/zero plot for s .( s Assume K ( jω ) .( jω H ( s) 1 ) .( jω 2) jω axis Step 3) Enter a magnitude/phase table entry for each critical point. θ point mag phase A ∞ 0 B ∞ 90 } K=1 on the s-plane contour picture and include measurement scheme to the r Im{s} 0 270 D 0 0 "Blow-up" -2 -1 Nyquist Contour D Re{s} B 90 o A Re{s} ε H ( jω ) C B A Im {s} C 2) Nyquist Form for the denominator } 2) K .H ( s ) s jω Step 1) Let 1 1 ) .( s Closed Loop Transfer Function 1 s .( s H( s ) Re{s} 1 jω . jω Angle( H ( jω ) ) 1 . jω 2 Angle( jω ) Angle( jω 1) Angle( jω 2) 134 r θ point mag phase A ∞ 0 B ∞ 90 C 0 270 D 0 0 Step 4) Use critical points to draw Nyquist Plot. Step 5) Nyquist plot is symmetric about real axis. Draw other half. Im{Gp(jω)} K 1 C,D θ -1 A Re{Gp(jω)} r r=∞ Im{s} C CW + CCW - Nyquist Contour B B A -2 -1 D Re{s} Nyquist Criterion 1) Find P0 P0 0 => ( Number of poles of H ( s) inside the contour) 2) Determine the sign notation for the encirclements. Contour is CW so, CW encirclements are positive and CCW encirclements are negative 3) Find N (i.e., the number of encirclements of (-1,0) for different values of K Also compute Zc Zc N P0 N Zc Stability small K 0 0 Yes big K 2 2 No } Number of closed loop poles inside the contour } Nyquist Criterion table 4) Understanding the above table: For small K, no closed loop pole is inside the s-plane contour. From the contour, we can see that this means that for small K the closed loop system is stable For big K, two closed loop poles are inside the s-plane contour; hence, for big K, the closed loop system is unstable 135 Same Example - Counterclockwise Contour R ( s )+ Im {s} Y( s ) K _ Nyquist Contour H( s ) ε Re{s} R Use Nyquist Plot, Contour and Criterion to discuss quantitatively how the control gain K affects closed-loop stability. H( s ) Step 1) Let K .H ( s ) s jω K ( jω ) .( jω 1 1 ) .( s 2) H ( s) } K=1 on the s-plane contour picture and include measurement scheme to the jω axis Im {s} Step 3) Enter a magnitude/phase table entry for each critical point. r θ point mag phase A ∞ 0 B ∞ 90 C 0 270 D 0 540 2) Assume 1 ) .( jω Step 2) Plot a pole/zero plot for s .( s R→ ∞ ε → 0 C Nyquist Contour B D -2 -1 A Re{s} "Blow-up" Im {s} B 90 ε H ( jω ) o A Re{s} 1 jω . jω Angle( H ( jω ) ) 1 . jω 2 Angle( jω ) Angle( jω 1) Angle( jω 2) 136 r θ point mag phase A ∞ 0 B ∞ 90 C 0 270 D 0 540 Step 4) Use critical points to draw Nyquist Plot. Step 5) Nyquist plot is symmetric about real axis. Draw other half. Im{Gp(jω)} K 1 C,D θ -1 A Re{Gp(jω)} r Im {s} CW CCW + r=∞ B Nyquist Contour -2 -1 Re{s} Nyquist Criterion 1) Find P0 P0 3 => ( Number of poles of H ( s) inside the contour) 2) Determine the sign notation for the encirclements. Contour is CCW so, CW encirclements are negative and CCW encirclements are positive 3) Find N (i.e., the number of encirclements of (-1,0) for different values of K Also compute small K big K Zc Zc N P0 N Zc Stability 0 3 Yes 1 No 2 } Number of closed loop poles inside the contour } Nyquist Criterion table 4) Understanding the above table: For small K, all three closed loop poles are inside the s-plane contour. From the contour, we can see that this means that for small K the closed loop system is stable For big K, only one closed loop pole is inside the s-plane contour; hence, for big K, the closed loop system is unstable 137 Example: Using Nyquist Plots to Draw Root Loci Given the Nyquist Plot and the Transfer Function draw the Root Locus Y( s ) R( s ) K B H ( s) 2 s .( s K 1 Im{H(jω)} 2 ) .( s (s H( s ) 1 ) .( s 4) 3 ) .( s 5) Im{s} } Nyquist Contour The Nyquist Plot is given ε θ Re{H(jω)} r -1/a -b -1 R R→∞ ε → 0 Re{s} r=∞ 5 Stable region 4 This is how you might be tempted to draw the root locus without the Nyquist plot { Imag Axis 3 2 1 0 -1 -2 -3 -4 Does the Nyquist Plot concur ? 1) Find P0 -5 -7 ; the number of poles inside the contour -6 -5 -4 -3 -2 -1 0 1 2 Real Axis P0 0 2) Determine the sign notation for the encirclements. Contour is CW so, CW encirclements are positive and CCW encirclements are negative 3) Find N (i.e., the number of encirclements of (-1,0) for different values of K Also compute small K medium K big K Zc Zc N N Zc 2 2 P0 Stability No 0 0 Yes 2 2 No } Nyquist Criterion table => The above root locus is wrong 138 N Zc small K 2 2 No medium K 0 0 Yes 2 2 No big K Stability } Nyquist Criterion table 4) Understanding the above table: For small K, two closed loop poles are inside the s-plane contour. From the contour, we can see that this means that for small K the closed loop system is unstable For medium K, no closed loop poles are inside the s-plane contour. From the contour, we can see that this means that for medium K the closed loop system is stable For big K, two closed loop poles are inside the s-plane contour; hence, for big K, the closed loop system is unstable The above table assists in the Root Locus sketch 5 4 Imag Axis } K2* 3 2 medium K 1 large K { } small K 0 * 1 K -1 -2 -3 -4 -5 -7 -6 -5 -4 -3 -2 -1 0 1 2 Real Axis From the above root locus, we can conclude that the system is stable for K1* < K < K 2* The above result matches that of the Nyquist criterion K1* = 1 b and K 2* = a -1 /a -b -1 139 8–33 ECE4510, FREQUENCY-RESPONSE ANALYSIS • The distance between the current (stable) system and an unstable system is called a “stability margin.” • Can have a gain margin and a phase margin. GAIN MARGIN : Factor by which the gain is less than the neutral stability value. • Gain margin measures “How much can we increase the gain of the loop transfer function L(s) = D(s)G(s)H (s) and still have a stable system?” • Many Nyquist plots are like this one. Increasing loop gain magnifies the plot. • GM =1/(distance between origin and place where Nyquist map crosses real axis). 1 GM PM • If we increase gain, Nyquist map “stretches” and we may encircle −1. • For a stable system, GM > 1 (linear units) or GM > 0 dB. PHASE MARGIN : Phase factor by which phase is greater than neutral stability value. • Phase margin measures “How much delay can we add to the loop transfer function and still have a stable system?” • PM = Angle to rotate Nyquist plot to achieve neutral stability = intersection of Nyquist with circle of radius 1. Lecture notes prepared by Dr. Gregory L. Plett 8–34 ECE4510, FREQUENCY-RESPONSE ANALYSIS • If we increase open-loop delay, Nyquist map “rotates” and we may encircle −1. • For a stable system, PM > 0◦. IRONY: This is usually easiest to check on Bode plot, even though derived on Nyquist plot! • Define gain crossover as frequency where Bode magnitude is 0 dB. • Define phase crossover as frequency where Bode phase is −180◦. 30 • GM = (− Bode gain at phase-crossover frequency) [dB] if Bode gain measured in dB. • PM = Bode phase at gain-crossover −(−180◦). Magnitude 20 10 0 −10 −20 −30 −2 10 −1 10 0 10 1 10 2 10 Frequency, (rads/sec.) −90 −120 Phase • GM = 1/(Bode gain at phase-crossover frequency) if Bode gain is measured in linear units. −150 −180 −210 −240 −270 −2 10 −1 10 0 10 1 10 2 10 Frequency, (rads/sec.) • We can also determine stability as K changes. Instead of defining gain crossover where |G( jω)| = 1, use the frequency where |K G( jω)| = 1. • You need to be careful using this test. – It works if you apply it blindly and the system is minimum-phase. Lecture notes prepared by Dr. Gregory L. Plett 8–35 ECE4510, FREQUENCY-RESPONSE ANALYSIS – You need to think harder if the system is nonminimum-phase. – Nyquist is the safest bet. PM and Performance • A bonus of computing PM from the open-loop frequency response graph is that it can help us predict closed-loop performance of the system. • PM is related to damping. Consider open-loop 2nd -order system ωn2 G(s) = s(s + 2ζ ωn ) with unity feedback, ωn2 T (s) = 2 . s + 2ζ ωn + ωn2 • The relationship between PM and ζ is: (for this system) PM = tan−1 qp 2ζ 1 + 4ζ 4 − 2ζ 2 PM . 100 • For this system we can also infer M p from PM. • For PM ≤ 60◦, ζ ≈ Damping ratio versus PM 1 Overshoot fraction versus PM 0.9 M p , overshoot Damping ratio ζ 1 0.8 0.6 0.4 0.2 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 Phase margin Lecture notes prepared by Dr. Gregory L. Plett 70 80 0 0 10 20 30 40 50 Phase margin 60 70 80 8–36 ECE4510, FREQUENCY-RESPONSE ANALYSIS Bode’s Gain-Phase Relationship • “For any stable minimum-phase system (that is, one with no RHP zeros or poles), the phase of G( jω) is uniquely related to the magnitude of G( jω)” Z 1 ∞ dM • Relationship: 6 G( jωo) = W (u) du (in radians) π −∞ du M = ln |G( jω)| ω u = ln ωo dM ≈ slope n of log-mag curve at ω = ωo du W (u) = weighting function = ln(coth |u|/2) π • W (u) ≈ δ(u). Using this re2 lationship, 6 G( jω) ≈ n × 90◦ if slope of Bode magnitudeplot is constant in the decadeneighborhood of ω. 4 2 • So, if 6 G( jω) ≈ −90◦ if n = −1. 3.5 W (u) 3 2.5 2 1.5 1 0.5 0 −6 −4 −2 0 2 4 6 Normalized freq. u • So, if 6 G( jω) ≈ −180◦ if n = −2. Want crossover |G( jω)| = 1 at a slope of about −1 for good PM. We will soon see how to do this (design!). KEY POINT: Closed-Loop Frequency Response • Most of the notes in this section have used the open-loop frequency response to predict closed-loop behavior. Lecture notes prepared by Dr. Gregory L. Plett 8–37 ECE4510, FREQUENCY-RESPONSE ANALYSIS • How about closed-loop frequency response? K D(s)G(s) T (s) = . 1 + K D(s)G(s) • General approximations are simple to make. If, |K D( jω)G( jω)| 1 for ω ωc and |K D( jω)G( jω)| 1 for ω ωc where ωc is the cutoff frequency where open-loop magnitude response crosses magnitude=1. ( K D( jω)G( jω) 1, ω ωc ; |T ( jω)| = ≈ 1 + K D( jω)G( jω) |K D( jω)G( jω)|, ω ωc . • Note: ωc ≤ ωbw ≤ 2ωc . Lecture notes prepared by Dr. Gregory L. Plett 9–1 ECE4510: Feedback Control Systems. FREQUENCY-RESPONSE DESIGN • The frequency-response methods we have seen so far largely tell us about stability and stability margins of a closed-loop system based on open-loop response. • Now, we look at frequency-response based design methods which primarily aim at improving stability margins. • Also, given the relationship between PM and performance, we have some idea of transient response as well. • Start thinking of Bode-magnitude and Bode-phase plots as “LEGO” to make the frequency response we want. PD Compensation • Compensator D(s) = K (1 + TD s). • We have seen from root-locus that this has a stabilizing effect. • Magnitude and phase effect: 90◦ 10K K 0.1 TD 1 TD Lecture notes prepared by Dr. Gregory L. Plett 10 TD 0.1 TD 1 TD 10 TD 9–2 ECE4510, FREQUENCY-RESPONSE DESIGN • PD controller increases phase for frequencies over ω ≈ 0.1/TD . So, locate 1/TD < crossover so that phase margin at crossover is better. • Problem: Magnitude response continues to increase as frequency increases. This amplifies high-frequency sensor noise. Lead Compensation Ts + 1 • Compensator D(s) = K , αT s + 1 α < 1. • Approximate PD control for frequencies up to ω = • Magnitude and phase effect: 1 . αT K α φmax K 1 T ωmax 0.1 T 1 αT 1 T ωmax • The phase contributed at frequency ω is φ = tan−1 (T ω) − tan−1 (αT ω) . • The maximum phase is φmax = sin−1 1−α 1+α at ωmax = • To find α to add a certain phase φmax 1 − sin(φmax) α= . 1 + sin(φmax) Lecture notes prepared by Dr. Gregory L. Plett 1 αT 1 √ . T α 10 αT 9–3 ECE4510, FREQUENCY-RESPONSE DESIGN 1 1 • We can show that ωmax occurs mid-way between and on a log T αT scale ! √1 1 1 log(ωmax) = log √ T + log √ = log √ αT αT T 1 1 1 = log + log . 2 T αT 90 80 70 60 φmax • How much can we improve phase with a lead network? 50 40 30 20 10 0 0 10 1 10 2 10 1/α • If we need more phase improvement, we can use a double-lead compensator: Ts + 1 2 D(s) = K . αT s + 1 • Need to compromise between good phase margin and good sensor noise rejection at high frequency. Design Method #1 for Lead Controllers • Design specification include: – Desired steady-state error. – Desired phase margin. Lecture notes prepared by Dr. Gregory L. Plett 9–4 ECE4510, FREQUENCY-RESPONSE DESIGN • Compute steady-state error of compensated system. Set equal to desired steady-state error by computing K . • Evaluate the PM of the uncompensated system using the value of K from above. ωmax initially set to crossover frequency. • Add a small amount of PM (5◦ to 12◦) to the needed phase lead. (Lead network moves crossover point, so need to design conservatively): Gives φmax. 1 − sin(φmax) • Determine α = . 1 + sin(φmax) 1 • Determine T = √ . ωmax α • Iterate if necessary (choose a slightly different ωmax or φmax). EXAMPLE : Plant G(s) = 1 s(s + 1) • Want steady-state error for ramp input < 0.1, • Want overshoot M p < 25%. • Steady-state error 1 R(s) ess = lim s s→0 1 + D(s)G(s) " # 1 1 = lim = s→0 s + D(s) 1 D(0) (s+1) Ts + 1 • D(s) = K so D(0) = K . αT s + 1 1 1 • So, = = 0.1 . . . K = 10. This gives ωmax = 3 rads/sec. D(0) K • Overshoot spec. M p < 25% gives PM > 45◦. Lecture notes prepared by Dr. Gregory L. Plett 9–5 ECE4510, FREQUENCY-RESPONSE DESIGN • Evaluating Bode diagrams of |K G(s)| at crossover, we see we have a phase margin of 18◦. Need about 27◦ more to meet spec. • Note, addition of pole and zero from lead network will shift crossover frequency somewhat. To be safe, design for added phase of 37◦ instead of 27◦. 1 − sin(37) 1 •α= = 0.25. T =√ = 0.667 1 + sin(37) 0.25(3) 2s/3 + 1 • D(s) = 10 . 2s/12 + 1 60 1.5 1 40 Imag Axis Magnitude 50 30 20 10 0 −10 −20 0.5 0 −0.5 −1 −30 −40 −2 10 −1 10 0 10 1 10 2 10 −1.5 −2 −1.5 −1 ω (rad/sec) 0.5 1 6 −100 4 Imag Axis −110 Phase 0 Real Axis −90 −120 −130 −140 −150 −160 2 0 −2 −4 −170 −180 −2 10 −0.5 −1 10 0 10 1 10 ω (rad/sec) 2 10 −6 −7 −6 −5 −4 −3 −1 Real Axis • Resulting PM = 44◦. Iterate if desired to meet specs. Lecture notes prepared by Dr. Gregory L. Plett −2 0 1 2 9–6 ECE4510, FREQUENCY-RESPONSE DESIGN Step Response Ramp Response 3 2.5 1 Amplitude Amplitude 1.2 0.8 0.6 0.4 1.5 1 0.5 0.2 0 0 2 0.5 1 1.5 2 2.5 0 0 0.5 Time (sec.) 1 1.5 2 2.5 Time (sec.) • Summary of design example. 1. Determine dc-gain so that steady-state errors meet spec. 2. Select α and T to achieve an acceptable PM at crossover. Design Method #2 for Lead Controllers • Design specifications – Bandwidth requirements. – PM requirements, rather than ess and PM requirements. • Choose open-loop crossover frequency ωc to be half the desired closed-loop bandwidth. • Evaluate K G = |G( jωc )|, φG = 6 G( jωc ). • Compute phase lead required φmax = PM − φG − 180. • Compute α α= Lecture notes prepared by Dr. Gregory L. Plett 1 − sin(φmax) . 1 + sin(φmax) 3 9–7 ECE4510, FREQUENCY-RESPONSE DESIGN • Compute T 1 T =√ . αωc • Compensation is D(s) = |D( jωc )| = = = Ts + 1 K αT s + 1 s 1 +1 α K α+1 s √ α α1 + 1 K√ α α+1 K √ . α • Open-loop gain at ωc is designed to be 1: |D( jωc )||G( jωc )| = 1 K √ |G( jωc )| = 1 α √ α K = . KG • Our design is now complete. EXAMPLE : Desired gain crossover frequency of 10 radians per second. 1 Desired PM of 60◦. G(s) = . s(s + 1) 1 • KG = = 0.01, φG = −174.3◦. j10( j10 + 1) • φmax = 60◦ + 174.3◦ − 180◦ = 54.3◦. 1 − sin(φmax) •α= = 0.1037. 1 + sin(φmax) Lecture notes prepared by Dr. Gregory L. Plett ECE4510, FREQUENCY-RESPONSE DESIGN 1 •T =√ = 0.3105. α10 √ α • KD = = 32.36. KG • Matlab code to automate this procedure: % [K,T,alpha]=bod_lead(np,dp,wc,PM) computes the lead compensation of the plant np/dp to have % phase margin PM at crossover frequency wc. e.g., [K,T,alpha]=bod_lead([1],[1 1 0],5,60); function [K,T,alpha]=bod_lead(np,dp,wc,PM) % first compute the plant response at wc. [magc,phc]=bode(np,dp,wc); % now, compute the needed phase lead at wc and convert to radians for use with "sine" phir=(-180+PM-phc)*pi/180; if abs(phir)>pi/2, disp(’A simple phase lead/lag cannot change the phase by more than +/- 90 degrees.’); error(’Aborting.’); end; % the required alpha is alpha=(1-sin(phir))/(1+sin(phir)); % compute the needed gain change K and the time constant T. T=1/(wc*sqrt(alpha)); K=sqrt(alpha)/magc; % compute the new open-loop system by convolving the plant polynomials with the compensator. nol=conv(np,K*[T 1]); dol=conv(dp,[alpha*T 1]); % check the solution by plotting the Bode plot for the new open-loop polynomials. Include the frequency w=1 % to get the full resonance response to show the gain margin. Also, plot the uncompensated Bode response. w=logspace(-2,1)*wc; w(34)=wc; clf; [mag1,ph1]=bode(np,dp,w); [mag2,ph2]=bode(nol,dol,w); subplot(211); semilogx(w/wc,20*log10(mag1),’–’); hold on; semilogx(w/wc,20*log10(mag2)); grid; plot(w/wc,0*w+1,’g-’); ylabel(’Magnitude (dB)’); title(’Phase-lead design (uncompensated=dashed; compensated=solid)’); subplot(212); semilogx(w/wc,ph1,’–’); hold on; semilogx(w/wc,ph2); grid; plot(w/wc,0*w-180+PM,’g-’); ylabel(’Phase’); xlabel(’Frequency/wc (i.e., "1"=wc)’); • Matlab results: Lecture notes prepared by Dr. Gregory L. Plett 9–8 9–9 ECE4510, FREQUENCY-RESPONSE DESIGN Magnitude (dB) Phase−lead design (uncompensated=dashed; compensated=solid) 40 20 0 −20 −40 −60 0.01 0.1 1 10 Phase −90 −120 −150 −180 0.01 0.1 1 Frequency/wc (i.e., "1"=wc) 10 PI Compensation • In many problems it is important to keep bandwidth low, and also reduce steady-state error. • PI compensation used here. 1 D(s) = K 1 + . TI s 0.1ωTI 10K K −90◦ ωTI 10ωTI Lecture notes prepared by Dr. Gregory L. Plett ωTI 10ωTI 9–10 ECE4510, FREQUENCY-RESPONSE DESIGN • Infinite gain at zero frequency – Reduces steady-state error to step, ramp, etc. – But also has integrator “anti-windup” problems. • Adds phase below breakpoint. – We want to kep breakpoint frequency very low to keep from destabilizing system. 1 ωc . TI Lag Compensation • Approximates PI, but without integrator overflow. Ts + 1 α > 1. D(s) = α αT s + 1 • Primary objective of lag is to add 20 log10 α dB gain to low frequencies without changing PM. 1 1 αT T α 1 −90◦ 1 αT 1 T • Steady-state response improves with little effect on transient response. Lecture notes prepared by Dr. Gregory L. Plett 9–11 ECE4510, FREQUENCY-RESPONSE DESIGN Typical process • Assumption is that we need to modify (increase) the dc-gain of the loop transfer function. – If we apply only a gain, then ωc typically increases and the phase margin decreases. NOT GOOD. – Instead, use lag compensation to lower high-frequency gain. • Assume plant has gain K (adjustable), or that we insert a gain K into the system. Adjust the open-loop gain K to meet phase margin requirements (plus about 5◦ slop factor) at crossover without additional compensation. • Draw Bode diagram of system using the gain K from above. Evaluate low-frequency gain. • Determine α to meet low-frequency gain requirements. 1 • Choose one corner frequency ω = (the zero) to be about one T decade below crossover frequency. (This way, the phase added by the lag compensator will minimally affect PM. The phase added at crossover will be about 5◦, hence our previous slop factor). 1 • The other corner frequency is at ω = . αT • Iterate design to meet spec. EXAMPLE : G(s) = K 1 s + 1 (s + 1) 0.5 1 s 2 • Design compensator for PM ≥ 25◦, K p = 9. Lecture notes prepared by Dr. Gregory L. Plett +1 . 9–12 ECE4510, FREQUENCY-RESPONSE DESIGN 1. Set K = 4.5 for PM = 30◦. This gives crossover at ωc ≈ 1.2 rads/sec. 2. Low-frequency gain now = 4.5. 3. Should be raised by a factor of 2 to get K p = 9. So, α = 2. 1 4. Choose corner frequency at ω = 0.2 rads/sec. = 0.2, or T = 5. T 1 1 5. We then know other corner frequency ω = = . 10 αT 5s + 1 D(s) = 2 . 10s + 1 Step Response From: U(1) 1.4 1 To: Y(1) Amplitude 1.2 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 Time (sec.) 2 10 Imag Axis Magnitude 20 0 −10 −20 1 0 −1 −30 −40 −2 10 −1 10 0 10 1 10 −2 −3.5 2 10 −3 −2.5 −2 ω (rad/sec) −1.5 −1 −0.5 0 0.5 1 0 0.5 1 Real Axis 2 0 Imag Axis −30 Phase −60 −90 −120 −150 −180 −210 1 0 −1 −240 −270 −2 10 −1 10 0 10 1 10 ω (rad/sec) Lecture notes prepared by Dr. Gregory L. Plett 2 10 −2 −3.5 −3 −2.5 −2 −1.5 −1 −0.5 Real Axis 9–13 ECE4510, FREQUENCY-RESPONSE DESIGN • Many other aproaches exist. • Typically require both lead and lag to meet specs. • Many “recipes” . . . most require iteration. Design Based on Sensitivity • Develop conditions on Bode plot of loop transfer function D(s)G(s)H (s) that will ensure good performance with respect to sensitivity, steady-state errors and sensor noise. • Steady-state performance = lower bound on very-low-frequency gain of system. • Sensor noise = upper bound on high-frequency gain. • Unmodeled system resonance: Magnitude 0 −20 −40 −60 −80 −100 −1 10 0 10 1 10 2 10 Frequency • Magnitude may go over 1. Can cause instability. Must ensure that high-frequency gain is low so magnitude does not go over 1. Lecture notes prepared by Dr. Gregory L. Plett 9–14 Sensor noise and plant sensitivity boundary Steady-state Error Boundary Magnitude of D(s)G(s) ECE4510, FREQUENCY-RESPONSE DESIGN Sensitivity Functions • Consider w(t) r (t) D(s) G(s) y(t) v(t) Y (s) = W (s) + G(s)D(s)[R(s) − V (s) − Y (s)] [1 + G(s)D(s)] Y (s) = W (s) + G(s)D(s)[R(s) − V (s)] 1 G(s)D(s) or, Y (s) = W (s) + [R(s) − V (s)]. 1 + G(s)D(s) 1 + G(s)D(s) 4 • Tracking error = R(s) − Y (s) 1 G(s)D(s) E(s) = R(s) − W (s) − [R(s) − V (s)] 1 + G(s)D(s) 1 + G(s)D(s) 1 1 = [R(s) − W (s)] − G(s)D(s)V (s) 1 + G(s)D(s) 1 + G(s)D(s) • Define the “sensitivity function” S(s) to be 1 4 S(s) = 1 + G(s)D(s) which is the transfer function from r(t) to e(t) and from w(t) to −e(t). Lecture notes prepared by Dr. Gregory L. Plett ECE4510, FREQUENCY-RESPONSE DESIGN 9–15 • The “complementary sensitivity function” T (s) = 1 − S(s) G(s)D(s) 1 − S(s) = = T (s) 1 + G(s)D(s) which is the transfer function from r(t) to y(t). • If V = 0, then Y (s) = S(s)W (s) + T (s)R(s) and E(s) = S(s)[R(s) − W (s)]. • The sensitivity function here is related to the one we saw several weeks ago ∂T G SGT = · ∂G T 1 + D(s)G(s) − D(s)G(s) G(s)[1 + D(s)G(s)] = · 2 [1 + D(s)G(s)] G(s) 1 = = S(s) 1 + D(s)G(s) So S(s) is equal to the sensitivity of the transfer function to plant perturbations. • Recall that T (s) + S(s) = 1 – Regardless of D(s) – Regardless of G(s) • We would like T (s) = 1. Then S(s) = 0; Disturbance is cancelled, design is insensitive to plant perturbation, steady-state error ≈ 0. • BUT, for physical plants, G(s) → 0 for high frequencies. Furthermore, the transfer function between V (s) and E(s) is T (s). To reduce high Lecture notes prepared by Dr. Gregory L. Plett 9–16 ECE4510, FREQUENCY-RESPONSE DESIGN frequency noise effects, T (s) → 0 as frequency increases, and S(s) ≈ 1. Stability Spec. |T ( jω)| Performance Spec. |S( jω)| • Typical sensitivity and complementary sensitivity (closed-loop transfer) functions are: =(s) 1 + D( jω)G( jω) <(s) • Another view of sensitivity: D( jω)G( jω) • So, 1 + D( jω)G( jω) is the distance between the Nyquist curve to the 1 −1 point. S( jω) = . 1 + D( jω)G( jω) • A large value of |S( jω)| indicates a Nyquist plot that is nearly unstable. • The maximum value of |S| is a more accurate measure of stability than PM or GM. So, we want max |S( jω)| small. How small? Lecture notes prepared by Dr. Gregory L. Plett 9–17 ECE4510, FREQUENCY-RESPONSE DESIGN • Note: E( jω) = S( jω)R( jω) |E( jω)| = |S( jω)R( jω)| ≤ |S( jω)||R( jω)| put a frequency-based error bound |E( jω)| ≤ |S( jω)||R( jω)| ≤ eb • Let W1(ω) = R( jω)/eb . Then, |S( jω)| ≤ 1 . W1(ω) EXAMPLE : A unity-feedback system is to have an error less than 0.005 for all unity-amplitude sinusoids below 500 rads/sec. Draw |W1( jω)| for this design. • Spectrum of R( jω) is unity for 0 ≤ ω ≤ 500. Since eb = 0.005, 1 W1(ω) = = 200 for this range. 0.005 Magnitude 200 150 100 50 0 0 500 1000 1500 2000 Frequency (rads/sec.) • We can translate this requirement into a loop-gain requirement. When 1 errors are small, loop gain is high, so |S( jω)| ≈ and |D( jω)G( jω)| 1 1 ≤ |D( jω)G( jω)| W1(ω) or, |D( jω)G( jω)| ≥ W1(ω) Lecture notes prepared by Dr. Gregory L. Plett 9–18 ECE4510, FREQUENCY-RESPONSE DESIGN Robustness • Typically there is some uncertainty in the plant transfer function. We want our design to be robustly stable, and to robustly give good performance (often called H∞ design). • Uncertainty often expressed as multiplicative G( jω) = G n ( jω)[1 + W2( jω)1( jω)] • W2(ω) is a function of frequency expressing uncertainty, or size of possible error in transfer function as a function of frequency. • W2(ω) is almost always small at low frequencies. • W2(ω) increases at high frequencies as unmodeled structural flexibility is common. • “Typical W2” 700 Magnitude 600 500 400 300 200 100 0 0 500 1000 1500 2000 Frequency (rads/sec.) • 1( jω) expresses uncertainty in phase. The only restriction is |1( jω)| ≤ 1. Design • Assume design for nominal plant G n (s) is stable. Thus, 1 + D( jω)G n ( jω) 6= 0 ∀ ω. Lecture notes prepared by Dr. Gregory L. Plett 9–19 ECE4510, FREQUENCY-RESPONSE DESIGN • For robust stability, 1 + D( jω)G( jω) 6= 0 ∀ ω 1 + D( jω)G n ( jω)[1 + W2(ω)1( jω)] 6= 0 1 + D( jω)G n ( jω) D( jω)G n ( jω) W2(ω)1( jω) 6= 0 + 1| + D( jω)G ( jω) 1 + D( jω)G ( jω) n {z n } 6 =0 by assumption D( jω)G n ( jω) , 1 + D( jω)G n ( jω) [1 + T ( jω)W2(ω)1( jω)] 6= 0 so, |T ( jω)W2(ω)1( jω)| < 1 or, |T ( jω)|W2(ω) < 1. recall, T ( jω) = • For high freqencies D( jω)G n ( jω) is typically small, so T ( jω) ≈ D( jω)G n ( jω). Thus |D( jω)G n ( jω)|W2(ω) < 1 1 |D( jω)G n ( jω)| < . W2(ω) EXAMPLE : The uncertainty in a plant model is described by a function W2(ω) which is zero until ω = 3000 rads/sec, and increases linearly from there to a value of 100 at ω = 10, 000 rads/sec. It remains constant at 100 for higher frequencies. Plot constraint on D( jω)G n ( jω). • Where W2(ω) = 0, there is no constraint on the magnitude of the loop gain. Above ω = 3000, 1/W2(ω) is a hyperbola from ∞ to 0.01 at 10, 000. Lecture notes prepared by Dr. Gregory L. Plett 9–20 ECE4510, FREQUENCY-RESPONSE DESIGN 8 Magnitude 7 6 5 4 3 2 1 0 0 2000 4000 6000 8000 10000 Frequency (rads/sec.) • Combining W1(ω) and W2(ω) requirements, 100 Log Magnitude 80 60 40 20 0 −20 −40 −60 −80 0 2000 4000 6000 8000 10000 Frequency (rads/sec.) • Limitation: Crossover needs to be with slope ≈ −1. So, cannot make constraints too strict, or design will be unstable. Lecture notes prepared by Dr. Gregory L. Plett 10–1 ECE4510: Feedback Control Systems. STATE-SPACE MODELS 1. What are they? 2. Why use them? 3. How do we formulate them? 4. How are they related to the transfer functions we have used already? What are They? • Representation of the dynamics of an N th-order system as a first-order differential equation in an N -vector called the STATE. ➠ N first-order equations. • Classic example: 2nd-order E.O.M. k f (t) m b y(t) .. . m y (t) = f (t) − b y (t) − ky(t) ➠ . f (t) − b y (t) − ky(t) y (t) = . m .. • Define a state vector" xE(t) = y(t) . y (t) Lecture notes prepared by Dr. Gregory L. Plett # ECE4510, STATE-SPACE MODELS . " . # y (t) . y (t) . then, xE(t) = .. = k b . 1 y (t) − y(t) − y (t) + f (t) m m m 10–2 . • We can write this in the form xE(t) = A xE(t) + B f (t), where A and B are constant matrices. A= , B= . • Complete the picture by setting y(t) as a function of xE(t). The general form is: y(t) = C xE(t) + D f (t) where C and D are constant h imatrices. C= , D= h i • Fundamental form for linear state-space model: . xE(t) = A xE(t) + Bu(t) y(t) = C xE(t) + Du(t). where u(t) is the input, xE(t) is the “state”, A, B, C, D are constant matrices. We usually assume that xE(t) is a vector, so simplify notation by simply using x(t). Why Use Them? • Transfer functions provide: u → G(s) → y. That is, only an input-output mapping. State variables provide easy access to what is going on inside the system (homogeneous dynamics). • Convenient way to express E.O.M. The matrix format is great for computers. Lecture notes prepared by Dr. Gregory L. Plett 10–3 ECE4510, STATE-SPACE MODELS • Allows new analysis and synthesis tools. • GREAT for multi-input, multi-output systems. These are very hard to work with transfer functions. How do we Formulate Them? • A variety of ways. e.g., from E.O.M. • Also from transfer functions. • Three cases: 1] Transfer function is only made up of poles. G(s) = ... .. 1 Y (s) = s 3 + a1 s 2 + a2 s + a3 U (s) . ➠ y (t) + a1 y (t) + a2 y (t) + a3 y(t) = u(t) – Choose output and derivatives as the state. iT h .. . x(t) = y (t) y (t) y(t) . Then .. ... y (t) y (t) 1 −a1 −a2 −a3 .. . . x(t) = y (t) = 1 0 0 y (t) + 0 u(t) . y (t) 0 1 0 y(t) 0 h i h i y(t) = 0 0 1 x(t) + 0 u(t). 2] Transfer function has poles and zeros, but is strictly proper. b1 s 2 + b2 s + b3 Y (s) G(s) = 3 = s + a1s 2 + a2s + a3 U (s) Lecture notes prepared by Dr. Gregory L. Plett 10–4 ECE4510, STATE-SPACE MODELS Break up transfer function into two parts. V (s) contains all of the U (s) Y (s) . Then, Y (s) = [b1s 2 + b2s + b3]V (s). Or, U (s) .. . y(t) = b1v(t) + b2v(t) + b3v(t). But, V (s)[s 3 + a1s 2 + a2s + a3] = U (s), or, ... .. . v(t) + a1v(t) + a2v(t) + a3v(t) = u(t). The representation for this is h .. iT . the same as in Case [1]. Let x(t) = v(t) v(t) v(t) . Then ... .. v(t) v(t) 1 −a1 −a2 −a3 . .. . x(t) = v(t) = 1 0 0 v(t) + 0 u(t) . v(t) 0 1 0 v(t) 0 poles of represents the dynamics of v(t). All that remains is to couple in the zeros of the system. Y (s) = [b1s 2 + b2s + b3]V (s) h i h i y(t) = b1 b2 b3 x(t) + 0 u(t) 3] Non-proper transfer function. b0 s 3 + b1 s 2 + b2 s + b1 G(s) = 3 s + a1 s 2 + a2 s + a3 β1 s 2 + β2 s + β3 = 3 + D, s + a1 s 2 + a2 s + a3 where the βi terms are computed via long division. The remainder D is the feedthrough term. • Matlab command tf2ss(num,den) converts a transfer function form to state-space form. • We will see that we have a lot of freedom when making our state-space models (i.e., in choosing the components of x(t)). Lecture notes prepared by Dr. Gregory L. Plett 10–5 ECE4510, STATE-SPACE MODELS Modal (Diagonal) Form • There are various “canonical” forms for representing the dynamics of any particular system. • All related by linear algebra—change of basis. • Diagonal form very useful. . . N (s) • Assume G(s) = , D(s) has distinct roots pi (real). D(s) N (s) G(s) = (s − p1)(s − p2) · · · (s − pn ) r1 r2 rn = + + ···+ . s − p1 s − p2 s − pn Now, let X 1(s) r1 = U (s) s − p1 ... X n (s) rn = U (s) s − pn Or, . ➠ x 1(t) = p1 x 1(t) + r1u(t) ➠ x n (t) = pn x n (t) + rn u(t). . . x(t) = Ax(t) + Bu(t) y(t) = C x(t) + Du(t) 0 p1 p2 A= ... C= h 0 i pn 1 1 ··· 1 , , r1 r2 B= ... rn h i D= 0 • Easily extends to handle complex poles s = σ + jω. Lecture notes prepared by Dr. Gregory L. Plett 10–6 ECE4510, STATE-SPACE MODELS • Convenient for keeping track of system poles. . . they are right on the diagonal! • Good representation to use. . . numerical robustness. State-Space to Transfer Function • Start with the state equations . x(t) = Ax(t) + Bu(t) y(t) = C x(t) + Du(t) • Laplace transform or s X (s) − x(0) = AX (s) + BU (s) Y (s) = C X (s) + DU (s) (s I − A)X (s) = BU (s) + x(0) X (s) = (s I − A)−1 BU (s) + (s I − A)−1 x(0) and Y (s) = • So, −1 −1 [C(s I − A) U (s) + C(s I − A) B + D] {z } {z x(0)} | | response to initial conditions transfer function of system Y (s) = C(s I − A)−1 B + D, U (s) but (s I − A)−1 = adjoint(s I − A) . det(s I − A) adjoint(s I − A) = [γi, j ]T where γi, j = (−1)i + j det(Mi, j ) Lecture notes prepared by Dr. Gregory L. Plett ECE4510, STATE-SPACE MODELS 10–7 where Mi, j = matrix (s I − A) with ith row and jth col. removed. • Slightly easier to compute (for SISO systems) Y (s) = C(s I − A)−1 B + D U (s) " # sI − A B det −C D = det[s I − A] EXAMPLE : −a1 −a2 −a3 1 A= 1 B=0 0 0 0 1 0 0 i h C = b1 b2 b3 s + a1 a2 a3 1 −1 s 0 0 det 0 −1 s 0 −b1 −b2 −b3 0 G(s) = s + a1 a2 a3 det −1 s 0 0 −1 s b3 + b2 s + b1 s 2 = det[s I − A] b1 s 2 + b2 s + b3 = 3 s + a1 s 2 + a2 s + a3 • Example makes clear that the characteristic equation for the system (Denominator of transfer function=0) is det[s I − A] = 0. (eigenvalues). Lecture notes prepared by Dr. Gregory L. Plett 10–8 ECE4510, STATE-SPACE MODELS • Poles of system are roots of det[s I − A] = 0. Transformations • State-space representations are not unique. Selection of state x are quite arbitrary. • Analyze the transformation of . x(t) = Ax(t) + Bu(t) y(t) = C x(t) + Du(t) Let x(t) = T z(t), where T is an invertible (similarity) transformation matrix. . . z (t) = T −1 x(t) = T −1[Ax(t) + Bu(t)] = T −1[AT z(t) + Bu(t)] −1 = |T −1 {zAT} z(t) + |T {z B} u(t) Ā B̄ y(t) = |{z} C T z(t) + |{z} D u(t) C̄ D̄ . so z (t) = Āz(t) + B̄u(t) y(t) = C̄ z(t) + D̄u(t). • Argue that we should be able to use either model. • Are they going to give the same transfer function? H1 (s) = C(s I − A)−1 B + D H2 (s) = C̄(s I − Ā)−1 B̄ + D̄ • Need H1 (s) = H2(s). H1 (s) = C(s I − A)−1 B + D Lecture notes prepared by Dr. Gregory L. Plett 10–9 ECE4510, STATE-SPACE MODELS = C T T −1(s I − A)−1 T T −1 B + D = (C T )[T −1(s I − A)T ]−1(T −1 B) + D = C̄(s I − Ā)−1 B̄ + D̄ = H2 (s). Transfer function not changed by similarity transform. EXAMPLE : b1 s 2 + b2 s + b3 H (s) = 3 s + a1 s 2 + a2 s + a3 • Only six parameters in transfer function. But, A has 3 × 3, B has 3 × 1, C has 1 × 3: a total of 15 parameters. • Appears that we have 9 degrees of freedom in state-space model. Contradiction? h i 9 = size . Time (Dynamic) Response • Develop more insight into the system response by looking at time-domain solution for x(t). • Scalar case first, then many states and MIMO. Homogeneous Part (scalar) . • x(t) = ax(t), x(0). • Take Laplace. X (s) = (s − a)−1 x(0). • Inverse Laplace. x(t) = eat x(0). Homogeneous Part (full solution) . • x(t) = Ax(t), x(0). Lecture notes prepared by Dr. Gregory L. Plett 10–10 ECE4510, STATE-SPACE MODELS • Take Laplace. X (s) = (s I − A)−1 x(0). • x(t) = L−1[(s I − A)−1]x(0). • But, (s I − A) −1 I A2 A = + 2 + 3 + ··· s s s so, L −1 A2 t 2 A3t 3 [(s I − A) ] = I + At + + + ··· 2! 3! −1 4 = e At matrix exponential x(t) = e At x(0). • e At : “Transition matrix” or “state-transition matrix.” • Matrix exponential • e(A+B)t = e At e Bt expm.m A B = B A. iff • Will say more about this form (e At ) when we discuss the structure of A. • Computation of e At = L−1[(s I − A)−1] straightforward for 2 × 2. EXAMPLE : " . x = Ax, " (s I − A)−1 = " = Lecture notes prepared by Dr. Gregory L. Plett A= s −1 2 s+3 s+3 1 −2 s 0 1 −2 −3 # #−1 # 1 (s + 2)(s + 1) ECE4510, STATE-SPACE MODELS e At 1 1 1 2 s+1− s+2 s+1− s+2 = −2 2 2 −1 + + s+1 s+2 s+1 s+2 # " −t −2t −t −2t 2e − e e −e 1(t) = −2e−t + 2e−2t −e−t + 2e−2t • This is the best way to find e At if A 2 × 2. Forced Solution (scalar) . x(t) = ax(t) + bu(t), x(0) Z t ea(t−τ )bu(τ ) dτ x(t) = eat x(0) + |0 {z } convolution • Where did this come from? . 1. x(t) − ax(t) = bu(t) . d 2. e−at [x(t) − ax(t)] = [e−at x(t)] = e−at bu(t). dt Z t Z t d −aτ 3. e−aτ bu(τ ) dτ. [e x(τ )] dτ = e−at x(t) − x(0) = 0 dt 0 Forced Solution (full solution) . • Now, let x(t) = Ax(t) + Bu(t), • Follow three steps above to get x ∈ <n×1 , Z t x(t) = e x(0) + At u ∈ <m×1. e A(t−τ ) Bu(τ ) dτ 0 • Clearly, if y(t) = C x(t) + Du(t), Z t At A(t−τ ) y(t) = Ce x(0) + Ce Bu(τ ) dτ + Du(t) | {z } {z } | 0 | {z } initial resp. feedthrough convolution Lecture notes prepared by Dr. Gregory L. Plett 10–11 10–12 ECE4510, STATE-SPACE MODELS More on the Matrix Exponential • Have seen the key role of e At in the solution for x(t). Impacts the system response, but need more insight. • Consider what happens if the matrix A is diagonalizable, that is, there exists a matrix T such that T −1 AT = 3 =diagonal. • Then, e At = T e3t T −1, and e3t = e λ1 t 0 eλ2 t 0 ... eλn t • Much simpler form for the exponential, but how to find T, 3? • Eigenvalues/eigenvectors. Eigenvalues and Eigenvectors • λ is an eigenvalue of A if det(λI − A) = 0 which is true iff there exists a nonzero vector v so that (λI − A)v = 0 ➠ Av = λv v = eigenvector. • Repeat to find all eigenvectors. Assume that v1, v2, . . . vn are linearly independent. Avi = λi vi i = 1, 2, . . . , n 0 λ 1 h i h i ... A v1 v 2 . . . v n = v 1 v 2 . . . v n | {z } 0 λn T | {z } 3 Lecture notes prepared by Dr. Gregory L. Plett 10–13 ECE4510, STATE-SPACE MODELS • AT = T 3 ➠ T −1 AT = 3. • Not all matrices diagonalizable " # 0 1 A= 0 0 det(λI − A) = λ2 • One eigenvalue λ = 0. Solve for the eigenvectors " # " #" # va 0 1 va =0 ➠ all vectors of the form 6= 0. 0 0 vb 0 Dynamic Interpretation −1 • Write T −1 AT = 3 as T A =3T −1 with T −1 w1T T w2 = ... wnT , i.e., rows of T −1. wiT A = λi wiT , so wi is a left eigenvector of A and note that wiT v j = δi, j . • How does this help? e At = T e3t T −1 i h = v1 v2 . . . v n e = 0 eλ2 t 0 n X λ1 t ... eλn t w1T w2T ... wn T eλi t vi wiT i =1 • Very simple form. • Can be used to develop intuition about dynamic response≈ eλi t . Lecture notes prepared by Dr. Gregory L. Plett 10–14 ECE4510, STATE-SPACE MODELS • Recall, . x(t) = Ax(t) x(t) = e At x(0) = T e3t T −1 x(0) n X = eλi t vi (wiT x(0)). i =1 • Solution (trajectory) can be expressed as a linear combination of system modes: vi eλi t . • Left eigenvectors decompose initial state x(0) into modal coordinates wiT x(0). • eλi t propagates mode forward in time. Stability? • vi corresponds to “relative phasing” of state contribution to the modal response. EXAMPLE : Let’s consider a specific system . x(t) = Ax(t) y(t) = C x(t) with x(t) ∈ <16×1, y(t) ∈ <. (16-state, single output). • A lightly damped system. • Typical output to initial conditions: Lecture notes prepared by Dr. Gregory L. Plett 10–15 ECE4510, STATE-SPACE MODELS Impulse Response 2 1.5 Amplitude 1 0.5 0 −0.5 −1 −1.5 −2 0 50 100 150 200 250 300 Time (sec.) • Output waveform is very complicated. Looks almost random or unpredictable. • However, such a solution can be decomposed into much simpler modal components. • How? Diagonalize A to form an equivalent system. – Assume A is diagonalizable by T . – Define new coordinates by x(t) = T x̃(t) so . x̃(t) = T −1 Ax(t) = T −1 AT x̃(t) = 3x̃(t). – In new coordinate system, system is diagonal (decoupled). Lecture notes prepared by Dr. Gregory L. Plett 10–16 ECE4510, STATE-SPACE MODELS 1 0 −1 0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250 0.5 0 −0.5 1 0 −1 0.5 0 −0.5 0.5 0 −0.5 1 0 −1 1 0 −1 0.5 0 −0.5 Lecture notes prepared by Dr. Gregory L. Plett 10–17 ECE4510, STATE-SPACE MODELS 1/s x̃ 1 λ1 1/s Trajectories consist of n independent modes; that is, x̃i (t) = eλi t x̃i (0) x̃ n hence the name, “modal form.” λn • Can write x(t) = e At x(0) = T e3t T −1 x(0) n X = eλi t vi (wiT x(0)). i =1 Thus, trajectory can be expressed as linear combination of modes. Interpretation. • Left eigenvectors decompose initial state x(0) into modal components wiT x(0). • eλi t term propagates ith mode forward t seconds. • Reconstruct state as linear combination of right eigenvectors. Zeros—SISO System • Seen eigenvalues of A are the poles. Zeros of transfer function? • What is a zero? • Put in u(t) = u 0e zi t and you get a zero output at “frequency” e zi t . Lecture notes prepared by Dr. Gregory L. Plett 10–18 ECE4510, STATE-SPACE MODELS • State space: Have input and state contributions u(t) = u 0e zi t , x(t) = x 0e zi t . . . y(t) = 0. . x(t) = Ax(t) + Bu(t) ➠ zi e zi t x(0) = Ax(0)e zi t + Bu 0e zi t h i x(0) ➠ zi I − A −B . . = 0 u0 y(t) = C x(t) + Du(t) ➠ C x(0)e zi t + Du 0e zi t=0 x(0) h i ➠ C D .. = 0 u0 • Put the two together " zi I − A −B −C −D #" x(0) u0 # =0 • Zero at frequency zi if there exists a nontrivial solution of " # zi I − A −B det =0 −C −D • Recall " det s I − A −B −C −D det(s I − A) EXAMPLES : # . We see that a specific frequency is blocked in the output by a zero, BUT, the output does not need to be identically zero. Lecture notes prepared by Dr. Gregory L. Plett 10–19 ECE4510, STATE-SPACE MODELS y1out y1out 1 0 du/dt s+1 Constant y2out s Transfer Fcn (with initial states) s+1 y2out 1 1 Intermediate output: –, Final output: – – 1 0.9 Amplitude 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (sec.) y1out y1out 1 s+1 s+1 s+10 Transfer Fcn (with initial states) Transfer Fcn 0 Constant y2out y2out Intermediate output: –, Final output: – – 1 0.9 Amplitude 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 Time (sec.) Lecture notes prepared by Dr. Gregory L. Plett 3.5 4 4.5 5 10–20 ECE4510, STATE-SPACE MODELS Feedback Control • System dynamics . x(t) = Ax(t) + Bu(t) y(t) = C x(t) • System poles given by eigenvalues of A. • Want to use input u(t) to change the dynamics. • Will assume the form of LINEAR STATE FEEDBACK. u(t) = r(t) − K x(t), K ∈ <1×n . r (t) u(t) A, B, C y(t) x K • Full state feedback with gain vector K . • Substitute: . x(t) = Ax(t) + B(r(t) − K x(t)) = ( A − B K )x(t) + Br(t) y(t) = C x(t) If r = 0 . . . regulation. • Design objective: Pick K so that ACL = A − B K has some nice properties. For example, – A unstable, ACL stable. – Put two poles at −2 ± j. (Pole placement). • There are n parameters in the gain vector K and n eigenvalues of A. So, what can we achieve? Lecture notes prepared by Dr. Gregory L. Plett 10–21 ECE4510, STATE-SPACE MODELS EXAMPLE : " . x(t) = 1 1 1 2 # " x(t) + 1 0 # u(t). det(s I − A) = (s − 1)(s − 2) − 1 = s 2 − 3s + 1. (Note. The original system is unstable). • Let h i u(t) = − k1 k2 x(t) = −K x(t) " # " # i 1 1 1 h ACL = A − B K = − k1 k2 1 2 0 " # 1 − k1 1 − k2 = . 1 2 • So, det(s I − A) = s 2 + (k1 − 3)s + (1 − 2k1 + k2). • By choosing k1 and k2, we can put λi ( ACL ) ANYWHERE in the complex plane (in complex-conjugate pairs, that is!) • Poles at −5, −6? • Compare desired closed-loop characteristic equation (s + 5)(s + 6) = s 2 + 11s + 30 with det(s I − A) = s 2 + (k1 − 3)s + (1 − 2k1 + k2) • So, k1 − 3 = 11, 1 − 2k1 + k2 = 30, • K = [14 57]. Lecture notes prepared by Dr. Gregory L. Plett or, k1 = 14 or, k2 = 57. 10–22 ECE4510, STATE-SPACE MODELS • So, with the n parameters in K , can we always relocate all n λi ( ACL )? – Most physical systems, qualified yes. – Mathematically, EMPHATIC NO! • Boils down to whether or not the system is controllable. That is, if every internal system mode can be excited by inputs, either directly or indirectly. EXAMPLE : " . x(t) = ACL 1 1 0 2 # " x(t) + 1 0 # u(t) u(t) = −K x(t). " # 1 − k1 1 − k2 = A − BK = 0 2 det(s I − ACL ) = (s − 1 + k1)(s − 2). Feedback of the state cannot move the pole at s = 2. System cannot be stabilized via state feedback. • Reason? Modal form: " AV = V 3 3= 1 0 0 2 . # " , V = 1 1 0 1 # " , convert x(t) = Ax(t) + Bu(t) to . z (t) = 3z(t) + V −1 Bu(t) " #" # " # 1 −1 1 1 V −1 B = = 0 1 0 0 Lecture notes prepared by Dr. Gregory L. Plett V −1 = 1 −1 0 1 # 10–23 ECE4510, STATE-SPACE MODELS Therefore, modal dynamics " . z (t) = 1 0 0 2 # " z(t) + 1 0 # u(t). – Decoupled – Control input does not influence second mode directly or indirectly. – System is NOT controllable. • “Easier” ways to test controllability. Is the (controllability) matrix i h 2 n−1 Mc = B AB A B . . . A B n×n full rank? EXAMPLE : " Mc = EXAMPLE : " Mc = 1 1 0 1 1 1 0 0 # , Rank =? , Rank =? # • Design tedious as shown for more than 2 × 2 since we need symbolic det(s I − ACL ). • Much easier to work with control canonical form of the state-space representation. −a1 −a2 −a3 1 A= 1 B=0 0 0 , 0 1 0 0 h i C = b1 b2 b3 Lecture notes prepared by Dr. Gregory L. Plett 10–24 ECE4510, STATE-SPACE MODELS • Note, K = h i k1 k2 k3 , so k1 k2 k3 BK = 0 0 0 . 0 0 0 • Useful because characteristic equation obvious. −a1 − k1 −a2 − k2 −a3 − k3 ACL = A − B K = 1 0 0 0 1 0 • φCL = det(s I − ACL ) = s 3 + (a1 + k1)s 2 + (a2 + k2)s + (a3 + k3) = 0. • Compare φCL with desired φCL , and compute K . Summary of Design Procedure 1. Transform arbitrary ( A, B) representation to control-canonical form ( Ac , Bc ): x(t) = T z(t). 2. Solve for gains K c (by inspection). 3. Convert K c to K (for A, B) with K = K c T −1. • Ackermann’s formula does this entire process in one “step.” K = [0 0 . . . 1]Mc−1φd ( A) where Mc = [B AB A2 B . . . An−1 B] φd ( A) = An + α1 An−1 + · · · + αn I where φd (s) = s n + α1s n−1 + . . . + αn = 0 That is, φd (s) is the characteristic equation of desired pole locations. Lecture notes prepared by Dr. Gregory L. Plett ECE4510, STATE-SPACE MODELS 10–25 • Revisit previous example. φd (s) = s 2 + 11s + 30. " # 1 1 Mc = 0 1 " # (" #" # " # " #) h i 1 −1 1 1 1 1 1 1 1 0 K = 0 1 + 11 + 30 0 1 1 2 1 2 1 2 0 1 (" # " #) h i 1 3 41 11 = 0 1 + 3 5 11 52 " # h i 42 14 = 0 1 14 57 h i = 14 57 . ✓ same as before. • acker.m ➠ Very easy in Matlab, but numerical issues. • place.m ➠ Use this instead, unless you have repeated roots. • polyvalm.m ➠ To compute φd ( A). Reference Input • So far, we have looked at how to pick K to get homogeneous dynamics that we want. λi ( ACL) − fast/slow/real poles ... How does this improve our ability to track a reference? • Started with u(t) = r(t) − K x(t). • Want y(t) ≈ r(t) for good tracking. Y (s) • Frequency domain, want ≈ 1. Usually only get this performance R(s) at low frequencies. Lecture notes prepared by Dr. Gregory L. Plett 10–26 ECE4510, STATE-SPACE MODELS • Problem is that u(t) = r(t) − K x(t) is simple, but it gives steady-state errors. EXAMPLE : " A= • Let C = h 1 1 1 2 # " , B= 1 0 # , K = h i 14 57 i Y (s) = C(s I − A + B K )−1 B. 1 0 . Then R(s) " #−1 " # h i Y (s) 1 s + 13 56 = 1 0 R(s) 0 −1 s − 2 = s−2 . s 2 + 11s + 30 −2 6= 1 ! 30 • Final value theorem for step input, y(t) → Partial state−space model: A=[1 1; 1 2], B=[1; 0], C=[1 0; 0 1], D=[0; 0]. x(t) x’ = Ax+Bu y = Cx+Du Step Sum C=[1 0] State−Space Kx(t) y(t) K yout K K=[14 57] Step Response 0.06 Amplitude 0.04 0.02 0 −0.02 −0.04 −0.06 −0.08 0 1 2 3 4 5 6 Time (sec.) Lecture notes prepared by Dr. Gregory L. Plett 7 8 9 yout 10 10–27 ECE4510, STATE-SPACE MODELS • Modification: Need steady-state values for x(t) and u(t) that are nonzero. . . Then, regulate around them. (u(t) − u ss ) = −K (x(t) − x ss ) • u ss and x ss related to rss . u ss = |{z} Nu rss 1×1 x ss = |{z} N x rss . n×1 • How to find N u and N x ? Use equations of motion. . x(t) = Ax(t) + Bu(t) y(t) = C x(t) + Du(t) • At steady state, . x(t) = 0 = Ax ss + Bu ss y(t) = rss = C xss + Du ss . • Two equations and two unknowns. " #" # " # A B Nx 0 = C D 1 Nu • Control signal is now u(t) = Nu r(t) − K (x(t) − N x r(t)) = −K x(t) + (Nu + K N x )r(t) = −K x(t) + N̄ r(t) • N̄ computed without knowing r(t). It works for any r(t). Lecture notes prepared by Dr. Gregory L. Plett 10–28 ECE4510, STATE-SPACE MODELS • In our example " Nx Nu # 1 1 = −2 1 − 2 • Nu + K N x = −15. • New equations: . x(t) = Ax(t) + B(Nu + K N x )r(t) − B K x(t) = ( A − B K )x(t) + B N̄r(t) y(t) = C x(t) • Therefore, Y (s) Y (s) = × N̄ R(s) new R(s) old −15(s − 2) = 2 s + 11s + 30 −15s + 30 = 2 s + 11s + 30 which has zero steady-state error to a unit-step. Lecture notes prepared by Dr. Gregory L. Plett 10–29 ECE4510, STATE-SPACE MODELS r (t) u(t) Nu A, B, C y(t) x K Nx r (t) u(t) N̄ A, B, C y(t) x K Partial state−space model: A=[1 1; 1 2], B=[1; 0], C=[1 0; 0 1], D=[0; 0]. −15 Step x(t) x’ = Ax+Bu y = Cx+Du Gain Sum yout C=[1 0] State−Space Kx(t) y(t) K yout K K=[14 57] Step Response 1 0.8 Amplitude 0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 0 1 2 3 4 5 6 Time (sec.) Lecture notes prepared by Dr. Gregory L. Plett 7 8 9 10 10–30 ECE4510, STATE-SPACE MODELS Pole Placement • Classical question: Where do we place the closed-loop poles? • Dominant second-order behavior, just as before. • Assume dominant behavior given by roots of o n p 2 2 s + 2ζ ωn s + ωn ➠ s = − ωn ± jωn 1 − ζ 2 • Put other poles so that the time response is much faster than this dominant behavior. • Place them so that they are “sufficiently damped.” – Real part < −4ζ ωn . – Keep frequency same as open loop. • Be very careful about moving poles too far. Takes a lot of control effort. • Can also choose closed-loop poles to mimic a system that has performance that you like. Set closed-loop poles equal to this prototype system. • Scaled to give settling time of 1 sec. or bandwidth of ω = 1 rad/sec. Bessel Prototype Systems Step Response: Constant ts 1 1 0.8 0.8 Amplitude Amplitude Step Response: Constant Bandwidth 0.6 0.4 0.4 0.2 0.2 0 0 0.6 2 4 6 8 10 12 Time (sec.) Lecture notes prepared by Dr. Gregory L. Plett 14 16 0 0 0.5 1 1.5 2 Time (sec.) 2.5 3 10–31 ECE4510, STATE-SPACE MODELS ITAE Prototype Systems Step Response: Constant ts 1 1 0.8 0.8 Amplitude Amplitude Step Response: Constant Bandwidth 0.6 0.4 0.2 0 0 0.6 0.4 0.2 2 4 6 8 10 12 14 16 0 0 0.5 1 Time (sec.) 1.5 2 Time (sec.) ITAE pole locations for ts = 1 sec. 1: −4.6200 2: −4.6598 ± 4.6598 j 3: −4.3503 ± 8.9178 j −5.9126 4: −4.2358 ± 12.6174 j −6.2537 ± 4.139 j 5: −3.9484 ± 13.5531 j −6.0401 ± 5.6006 j −9.3938 6: −2.9905 ± 12.1918 j −5.6018 ± 7.5540 j −7.0889 ± 2.7724 j Bessel pole locations for ts = 1 sec. 1: −4.6200 2: −4.0530 ± 2.3400 j 3: −3.9668 ± 3.7845 j −5.0093 4: −4.0156 ± 5.0723 j −5.5281 ± 1.6553 j 5: −4.1104 ± 6.3142 j −5.9268 ± 3.0813 j −6.4480 6: −4.2169 ± 7.5300 j −6.2613 ± 4.4018 j −7.1205 ± 1.4540 j Lecture notes prepared by Dr. Gregory L. Plett 2.5 3 10–32 ECE4510, STATE-SPACE MODELS ITAE pole locations for ωo = 1 rad/sec. 1: −1.0000 2: −0.7071 ± 0.7071 j 3: −0.5210 ± 1.0680 j −0.7081 4: −0.4240 ± 1.2630 j −0.6260 ± 0.4141 j 5: −0.3764 ± 1.2920 j −0.5758 ± 0.5339 j −0.8955 6: −0.3099 ± 0.9617 j −0.5805 ± 0.7828 j −0.7346 ± 0.2873 j Bessel pole locations for ωo = 1 rad/sec. PROCEDURE : 1: −1.0000 2: −0.8660 ± 0.5000 j 3: −0.7455 ± 0.7112 j −0.9420 4: −0.6573 ± 0.8302 j −0.9047 ± 0.2711 j 5: −0.5906 ± 0.9072 j −0.8516 ± 0.4427 j −0.9264 6: −0.5385 ± 0.9617 j −0.7998 ± 0.5622 j −0.9093 ± 0.1856 j For nth-order system—desired bandwidth. 1. Determine desired bandwidth ωo . 2. Find the nth-order poles from the table of constant bandwidth, and multiply pole locations by ωo . 3. Use Acker/place to locate poles. Simulate and check control effort. PROCEDURE : For nth-order system—desired settling time. 1. Determine desired settling time ts . 2. Find the nth-order poles from the table of constant settling time, and divide pole locations by ts . 3. Use Acker/place to locate poles. Simulate and check control effort. Lecture notes prepared by Dr. Gregory L. Plett 10–33 ECE4510, STATE-SPACE MODELS EXAMPLE : 1 s(s + 1)(s + 4) −5 −4 0 A = 1 0 0 , 0 1 0 G(s) = 1 B=0 0 want ts = 2, and 3rd-order Bessel. −5.0093 • s1 = = −2.5047. 2 −3.9668 ± 3.7845 j • s2,3 = = −1.9834 ± 1.8922 j 2 • Bessel model has no overshoot, but is slow compared with ITAE. • NOT a good idea for flexible systems. Why? 0 ITAE: –, Bessel, ’– –’ Magnitude −20 −40 −60 −80 −100 −120 −140 −1 10 0 10 ω, (rads/sec.) Lecture notes prepared by Dr. Gregory L. Plett 1 10 ECE4510: Feedback Control Systems. 11–1 REVIEW OF FEEDBACK CONTROL Goals of Feedback Control • Change dynamic response of a system to have desired properties. • Output of system tracks reference input. • Reject disturbances. Dynamic Response • We wish to control linear-time invariant (LTI) systems. • These dynamics may be specified via linear, constant-coefficient ordinary differential equations (LCCODE). • Examples include: – Mechanical systems: Use Newton’s laws. – Electrical systems: Use Kirchoff’s laws. – Electro-mechanical systems (generator/motor). – Thermodynamic systems. – Fluid-dynamic systems. EXAMPLE: Second-order system: .. . y (t) + 2ζ ωn y (t) + ωn2 y(t) = ωn2 u(t). • “u(t)” is the input. • “y(t)” is the output. Lecture notes prepared by Dr. Gregory L. Plett 11–2 ECE4510, REVIEW OF FEEDBACK CONTROL . dy(t) . dt 2 .. 4 d y(t) • y (t) = . dt 2 • The Laplace Transform is a tool to help analyze dynamic systems. Y (s) = H (s)U (s), where 4 • y (t) = – Y (s) is Laplace transform of output, y(t); – U (s) is Laplace transform of input, u(t); – H (s) is transfer function—the Laplace tx of impulse response, h(t). n. o • L y (t) = sY (s) for no initial conditions. EXAMPLE: Second-order system: s 2Y (s) + 2ζ ωn sY (s) + ωn2 Y (s) = ωn2U (s) ωn2 Y (s) = 2 U (s). s + 2ζ ωn s + ωn2 • Transforms for systems with LCCODE representations can be written as Y (s) = H (s)U (s), where b0s m + b1s m−1 + · · · + bm−1s + bm H (s) = , a0s n + a1s n−1 + · · · + an−1s + an where n ≥ m for physical systems. • These can be represented in Matlab using vectors of numerator and denominator polynomials: num=[b0 b1 . . . bm]; den=[a0 a1 . . . an]; sys=tf(num,den); Lecture notes prepared by Dr. Gregory L. Plett 11–3 ECE4510, REVIEW OF FEEDBACK CONTROL • Can also represent these systems by factoring the polynomials into zero-pole-gain form: Qm (s − zi ) H (s) = K Qni =1 . (s − p ) i i =1 sys=zpk(z,p,k); % in Matlab • Input signals of interest include the following: = = = = k δ(t) k 1(t) kt 1(t) kt 2/2 1(t) ... ... ... ... U (s) U (s) U (s) U (s) k impulse k/s step k/s 2 ramp k/s 3 parabola kω u(t) = k sin(ωt) 1(t) . . . U (s) = 2 sinusoid s + ω2 • Matlab’s “impulse,” “step,” and “lsim” commands can be used to find output time histories. u(t) u(t) u(t) u(t) = = = = • The Final Value Theorem states that if a system is stable and has a final, constant value, lim x(t) = lim s X (s). t→∞ s→0 This is useful when investigating steady-state errors in a control system. Block Diagrams • Useful when analyzing systems comprised of a number of sub-units. U (s) H (s) Lecture notes prepared by Dr. Gregory L. Plett Y (s) Y (s) = H (s)U (s) 11–4 ECE4510, REVIEW OF FEEDBACK CONTROL U (s) H1 (s) H2 (s) Y (s) Y (s) = [H1(s)H2(s)] U (s) Y (s) Y (s) = [H1(s) + H2 (s)] U (s) H1 (s) U (s) H2 (s) R(s) U1 (s) H1 (s) Y (s) Y (s) = Y2 (s) H2 (s) H1 (s) R(s) 1 + H2(s)H1(s) U2 (s) • Block-diagram algebra (or Mason’s rule) may be used to reduce block diagrams to a single transfer function. U (s) H (s) Y1 (s) ⇐⇒ U (s) H (s) Y1 (s) 1 H (s) Y2 (s) U1 (s) H (s) Y (s) ⇐⇒ U2 (s) R(s) H1 (s) Y (s) R(s) ⇐⇒ H2 (s) Lecture notes prepared by Dr. Gregory L. Plett U1 (s) H (s) U2 (s) H (s) 1 H2 (s) “Unity Feedback” Y2 (s) Y (s) H2 (s) H1 (s) Y (s) 11–5 ECE4510, REVIEW OF FEEDBACK CONTROL Dynamic Response versus Pole Locations • The poles of H (s) determine (qualitatively) the dynamic response of the system. The zeros of H (s) quantify the relationship. • If the system has only real poles, each one is of the form: 1 H (s) = . s+σ • If σ > 0, the system is stable, and h(t) = e−σ t 1(t). The time constant is τ = 1/σ, and the response of the system to an impulse or step decays to steady-state in about 4 or 5 time constants. step([0 1],[1 1]); 1 0.8 0.8 0.6 e −σ t 0.4 ←− y(t) × K h(t) impulse([0 1],[1 1]); 1 1 e 0.2 0 0 K (1 − e−t/τ ) System response. K = DC gain 0.6 0.4 Response to initial condition −→ 0. 0.2 1 t =τ 2 3 Time (sec × τ ) 4 5 0 0 1 t =τ 2 3 4 Time (sec × τ ) • If a system has complex-conjugate poles, each may be written as: ωn2 H (s) = 2 . s + 2ζ ωn s + ωn2 We can extract two more parameters from this equation: p σ = ζ ωn and ωd = ωn 1 − ζ 2. Lecture notes prepared by Dr. Gregory L. Plett 5 11–6 ECE4510, REVIEW OF FEEDBACK CONTROL • σ plays the same role as above—it specifies decay rate of the response. −1 θ = sin (ζ ) • ωd is the oscillation frequency of the output. Note: ωd 6= ωn unless ζ = 0. =(s) ωn σ • ζ is the “damping ratio” and it also plays a role in decay rate and overshoot. ωd <(s) • Impulse response h(t) = ωn e−σ t sin(ωd t) 1(t). σ • Step response y(t) = 1 − e−σ t cos(ωd t) + sin(ωd t) . ωd Impulse Responses of 2nd-Order Systems 1 Step Responses of 2nd-Order Systems 2 ζ =0 ζ =0 0.2 0.5 0.2 1.5 0.4 0.4 y(t) y(t) 0.6 0 ζ =1 0.8 −0.5 0.6 1 0.8 0.5 1.0 −1 0 2 4 6 ωn t 8 10 12 0 0 2 4 6 ωn t 8 10 12 • A summary chart of impulse responses and step responses versus pole locations is: =(s) =(s) <(s) Impulse responses vs. pole locations Lecture notes prepared by Dr. Gregory L. Plett <(s) Step responses vs. pole locations 11–7 ECE4510, REVIEW OF FEEDBACK CONTROL • Time-domain specifications determine where poles SHOULD be placed in the s-plane. (step-response). Mp tp 1 0.9 0.1 tr t ts 100 90 • Rise time tr = time to go from 10% to 90% of final value. 80 M p, % 70 • Settling time ts = time until permanently within ≈ 1% of final value. Lecture notes prepared by Dr. Gregory L. Plett 50 40 30 20 • Overshoot M p = maximum PERCENT overshoot. tr ≈ 1.8/ωn ts ≈ 4.6/σ √ −π ζ / 1−ζ 2 Mp ≈ e 60 10 0 0 ... ... ... 0.2 0.4 ζ 0.6 ωn ≥ 1.8/tr σ ≥ 4.6/ts ζ ≥ f n(M p ) 0.8 1.0 11–8 ECE4510, REVIEW OF FEEDBACK CONTROL Basic Feedback Properties r (t) D(s) G(s) y(t) Y (s) D(s)G(s) = = T (s). R(s) 1 + D(s)G(s) • Stability depends on roots of denominator of T (s): 1 + D(s)G(s) = 0. • Routh test used to determine stability. • Steady-state error found from (for unity feedback) E(s) 1 = . R(s) 1 + D(s)G(s) • ess = lim e(t) = lim s E(s) if the limit exists. t→∞ s→0 – System type = 0 iff ess is finite for unit-step reference-input 1(t). – System type = 1 iff ess is finite for unit-ramp reference-input r(t). – System type = 2 iff ess is finite for unit-parabola ref.-input p(t). . . • For unity-feedback systems, K p = lim D(s)G(s). “postion error constant” K v = lim s D(s)G(s). “velocity error constant” K a = lim s 2 D(s)G(s). “acceleration error constant” s→0 s→0 s→0 • Steady-state errors versus system type for unity feedback: Step input Ramp input Parabola input 1 Type 0 ∞ ∞ 1 + Kp 1 Type 1 0 ∞ Kv 1 Type 2 0 0 Ka Lecture notes prepared by Dr. Gregory L. Plett 11–9 ECE4510, REVIEW OF FEEDBACK CONTROL Types of Controllers “Proportional” ctrlr: u(t) = K e(t). Z K t “Integral” ctrlr u(t) = e(t) dt. TI −∞ . “Derivative” ctrlr. u(t) = K TD e(t) 1 Combinations: PI: D(s) = K (1 + ); TI s PD: D(s) = K (1 + TD s) ; 1 PID: D(s) = K 1 + + TD s . TI s Ts + 1 Lead: D(s) = K , αT s + 1 Ts + 1 Lag: D(s) = K , αT s + 1 Lead/Lag: ... D(s) = K D(s) = K . K D(s) = TI s D(s) = K TD s α < 1 (approx PD) α > 1 (approx PI; often, K = α) (T1s + 1)(T2s + 1) , α1 < 1, α2 > 1. (α1 T1 s + 1)(α2 T2 s + 1) Root Locus • A root locus plot shows (parametrically) the possible locations of the roots of the equation b(s) 1+ K = 0. a(s) • For a unity-gain feedback system, D(s)G(s) T (s) = . 1 + D(s)G(s) • The poles of the closed-loop system T (s) depend on the open-loop transfer functions D(s)G(s). Suppose D(s) = K D0(s). closed-loop poles at 1 + K (D0(s)G(s)) = 0 Lecture notes prepared by Dr. Gregory L. Plett 11–10 ECE4510, REVIEW OF FEEDBACK CONTROL which is the root-locus form. • Drawing the root locus allows us to select K for good pole locations. Intuition into the root-locus helps us design D0(s) with lead/ lag/ PI/ PID. . . controllers. Root-Locus Drawing Rules • The steps in drawing a 180◦ root locus follow from the basic phase definition. This is the locus of b(s) b(s) 1+K = 0, K ≥0 phase of = −180◦ a(s) a(s) • They are – STEP 1: On the s-plane, mark poles (roots of a(s)) by an × and zeros (roots of a(s)) with an ◦. There will be a branch of the locus departing from every pole and a branch arriving at every zero. – STEP 2: Draw the locus on the real axis to the left of an odd number of real poles plus zeros. – STEP 3: Draw the asymptotes, centered at α and leaving at angles φ, where n − m = number of asymptotes. n = order of a(s) m = order of b(s) P P pi − z i −a1 + b1 α = = n−m n−m φl = 180◦ + (l − 1)360◦ , n−m l = 1, 2, . . . n − m For n − m > 0, there will be a branch of the locus approaching each asymptote and departing to infinity. For n − m < 0, there will be a branch of the locus arriving from infinity along each asymptote. – STEP 4: Compare locus departure angles from the poles and arrival angles at the zeros where qφdep = qψarr = X X ψi − φi − X X φi − 180◦ − l360◦ ψi + 180◦ + l360◦ where q is the order of the pole or zero and l takes on q integer values so that the angles are between ±180◦ . ψi is the angle of the line going from the i th zero to the pole or zero whose angle of departure or arrival is being computed. Similarly, φi is the angle of the line from the i th pole. Lecture notes prepared by Dr. Gregory L. Plett 11–11 ECE4510, REVIEW OF FEEDBACK CONTROL – STEP 5: If further refinement is required at the stability boundary, assume s0 = j ω0 and compute the point(s) where the locus crosses the imaginary axis for positive K . – STEP 6: For the case of multiple roots, two loci come together at 180◦ and break away at ±90◦. Three loci segments approach each other at angles of 120◦ and depart at angles rotated by 60◦ . – STEP 7 Complete the locus, using the facts developed in the previous steps and making reference to the illustrative loci for guidance. The loci branches start at poles and end at zeros or infinity. – STEP 8 Select the desired point on the locus that meets the specifications (s0), then use the magnitude condition to find that the value of K associated with that point is 1 K = . |b (s0 ) /a (s0 )| • When K is negative, the definition of the root locus in terms of the phase relationship is 0◦ locus definition: The root locus of b(s)/a(s) is the set of points in the s-plane where the phase of b(s)/a(s) is 0◦. • For this case, the steps above are modified as follows: – STEP 2: Draw the locus on the real axis to the left of an even number of real poles plus zeros. – STEP 3: The asymptotes depart at φl = (l − 1)360◦ , n−m l = 1, 2, . . . n − m. – STEP 4: The locus departure and arrival angles are modified to qφdep = qψarr = X X ψi − φi − X X φi − l360◦ ψi + l360◦ . Note that the 180◦ term has been removed. Frequency Response • The frequency response of a system directly tells us the relative magnitude and phase of a system’s output sinusoid if the system input is a sinusoid. [What about output frequency?] • If the plant’s transfer function is G (s), the open-loop frequency response is G ( jω). Lecture notes prepared by Dr. Gregory L. Plett 11–12 ECE4510, REVIEW OF FEEDBACK CONTROL • We can plot G( jω) as a function of ω in three ways: – Bode Plot. – Nyquist Plot. – Nichols Plot (we did not cover this). Bode Plots • A ‘Bode plot’ is really two plots: 20 log10 |G ( jω)| versus ω and 6 G( jω) versus ω. The Bode-magnitude plot is plotted on a log-log scale. The Bode-phase plot is plotted linear-log scale. • The transfer function G(s) is broken up into its component parts, and each part is plotted separately. Gain of K ; magnitude & phase dB 0.1 1 1 10 0.1 1 10 |K | > 1 0.1 1 10 |K | < 1 Delay; magnitude & phase 0.1 dB 0.1 1 10 Zero at origin; magnitude & phase 90◦ dB 0.1 1 Lecture notes prepared by Dr. Gregory L. Plett 10 10 11–13 ECE4510, REVIEW OF FEEDBACK CONTROL Pole at origin; magnitude & phase dB 0.1 0.1 10 1 10 1 −90◦ Zero on real axis; magnitude & mp-phase & nmp-phase dB 180◦ 90◦ 90◦ 0.1ωi 1ωi 0.1ωi 10ωi 1ωi 10ωi 1ωi 10ωi 0.1ωi 1ωi 10ωi 0.1ωi 1ωi 10ωi Pole on real axis; magnitude & mp-phase & nmp-phase 0.1ωi dB 1ωi 10ωi 0.1ωi −90◦ −90◦ −180◦ Complex zeros; magnitude & mp-phase & nmp-phase 180◦ 40 360◦ 270◦ 20 90◦ 180◦ 0 90◦ −20 0◦ 0.1ωn ωn 10ωn 0.1ωn Complex poles; magnitude & mp-phase & nmp-phase ωn 0◦ 20 10ωn 0◦ −90◦ −90◦ −180◦ −20 −270◦ 0.1ωn ωn 10ωn −180◦ Lecture notes prepared by Dr. Gregory L. Plett ωn 10ωn 0.1ωn ωn 10ωn 0◦ 0 −40 0.1ωn 0.1ωn ωn ◦ 10ωn −360 11–14 ECE4510, REVIEW OF FEEDBACK CONTROL Bode Plot Techniques • It is useful to be able to plot the frequency response of a system by hand in order to – Design simple systems without the aid of a computer, – Check computer-based results, and – Understand the effect of compensation changes in design iterations. • H.W. Bode developed plotting techniques in the 1930s that enabled quick hand potting of the frequency response. His rules are: – STEP 1: Manipulate the transfer function into the Bode form K G( j ω) = K o ( j ω)n ( j ωτ1 + 1)( j ωτ2 + 1...) ( j ωτa + 1)( j ωτb + 1...) – STEP 2: Determine the value of n for the K o ( j ω)n term. Plot the low-frequency magnitude asymptote through the point K o at ω = 1 rad/sec with the slope of n (or n × 20 dB per decade). – STEP 3: Determine the break points where ω=1/τi . Complete the composite magnitude asymptotes by extending the low frequency asymptote until the first frequency break point, then stepping the slope by ±1 or±2, depending on whether the break point is from a first or second order term in the numerator or denominator, and continuing through all break points in ascending order. – STEP 4: Sketch in the approximate magnitude curve by increasing from the asymptote by a factor of 1.4 (+3dB) at first order numerator breaks and decreasing it by a factor of 0.707 (-3dB) at first order denominator breaks. At second order break points, sketch in the resonant peak (or valley) using the relation that |G( j ω)| = 1/(2ζ ) at the break. – STEP 5: Plot the low frequency asymptote of the phase curve, φ = n × 90◦ . – STEP 6: As a guide, sketch in the approximate phase curve by changing the phase gradually over two decades by ±90◦ or ±180◦ at each break point in ascending order. For first order terms in the numerator, the gradual change of phase is +90◦ ; in the denominator, the change is ±180◦ . – STEP 7: Locate the asymptotes for each individual phase curve so that their phase change corresponds to the steps in the phase from the approximate curve indicated by Step 6. Sketch in each individual phase. – STEP 8 Graphically add each phase curve. Use dividers if an accuracy of about ±5◦ is desired. If lessor accuracy is acceptable, the composite curve can be done by eye, keeping in mind that the curve will start at the lowest frequency asymptote and end on the highest frequency asymptote, and will approach the intermediate asymptotes to an extent that is determined by the proximity of the break points to each other. Lecture notes prepared by Dr. Gregory L. Plett 11–15 ECE4510, REVIEW OF FEEDBACK CONTROL Nyquist Plots • Nyquist plot is a mapping of loop transfer function D(s)G(s) along the Nyquist path to a polar plot. • Think of Nyquist path as four parts: =(s) I: Origin. Sometimes a special case. II: + jω axis. FREQUENCY response of O.L. system! Just plot it as a polar plot. III II <(s) I III: For many physical systems, zero. Some counter-examples. IV IV: Complex conjugate of II. • The test: – N = #CW encirclements of −1/K point when F(s) = D(s)G(s). – P = # of OPEN-LOOP unstable poles. – Z = # of CLOSED-LOOP unstable poles. –Z=N+P • The system is stable iff Z = 0. • For poles on the jω-axis, use modified Nyquist path. Bode Plot Performance • At low frequency, approximate Bode plot with K G( jω) = K 0( jω)n . – n = system type . . . slope = −20n dB/decade. – K 0 = K p for type 0, = K v for type I, . . . Lecture notes prepared by Dr. Gregory L. Plett 11–16 ECE4510, REVIEW OF FEEDBACK CONTROL • Gain margin (for systems which become unstable with increasing gain) = factor by which gain is less than 0dB when phase = −180◦. • Phase margin (for same systems) = amount phase is greater than −180◦ when gain = 1. • PM related to damping. ζ ≈ PM/100 when PM < 70◦. • PM therefore related to M p . Damping ratio versus PM 1 Overshoot fraction versus PM 0.9 M p , overshoot Damping ratio ζ 1 0.8 0.6 0.4 0.2 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 Phase margin 70 80 0 0 10 20 30 40 50 60 70 80 Phase margin • Gain-phase relationship: For minimum-phase systems, 6 G( jω) ≈ n × 90◦ where n = slope of log-log plot of gain. (n = −1 if slope = −20dB/decade, n = −2 if slope = −40dB/decade . . . ) • Therefore want slope at gain crossover ≈ −20dB/decade for decent phase margin. Lecture notes prepared by Dr. Gregory L. Plett