Feedback Control CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst A Simple Abstraction Desired output Process input The process Controller Under control Process output • An open loop control system • Goal/desired state CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Open Loop Control • Only for static environment • Accurate manipulation needed • Problem: – Noisy environment (disturbance) – Inaccurate effector Disturbance Desired output Process input The process Controller Under control CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Process output Dan Ernst Open Loop Control • May use expected disturbance – Static environment Predicted disturbance Desired output Disturbance Process input The process Controller Under control CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Process output Dan Ernst Examples • Putting book on a desk • Activating an event – Start a sensor – Play a sound – Conduct a scripted movement • Question: What about inserting a light bulb? CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Feed Forward Control • Disturbance measured on the fly • Problems? – May not include all the parameters Measured disturbance Desired output Sensors Disturbance Process input The process Controller Under control CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Process output Dan Ernst Feedback Control (Closed Loop) Disturbance Desired output Process input The process Controller Under control Process output Sensors • Include all the parameters as included into the output. CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Feedback Control Desired output + Σ - Process input The process Controller Under control Process output Sensors • Another diagram CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Example CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Errors • Direction (sign) • Magnitude (distance) • Frequent feedback is needed – Sensor rates can effect response • Control may not be immediate – May be a delay from when you decide to change, and when a change actually occurs! CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst A Wall Following Robot • How would you use feedback control to implement a wall-following behavior in a robot? • What sensors would you use? • Would they provide magnitude and direction of the error? • What will this robot's behavior look like? CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Oscillation and the Set Point • • Desired state is called the set point Can we decrease oscillation? – A range rather than a single value – Slower change • Wall following example: – Larger turning angle – A range rather than fix distance CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Sensor Noise • What happens when there is sensor noise in the system? • Example: – Sensor tells the robot it is far from a wall, when it is close? – vice versa? • How might we fix these problems? CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Control Theory • Studies the behavior of control systems • Major basic controllers: – – – P: proportional control PD: proportional derivative control PID: proportional integral derivative control CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst P: Proportional Control Desired output + Σ - Process input The process Controller Under control Process output Sensors • Error = measurement – setpoint – Setpoint = desired output • Process input = Gain * error + bias – bias: manual reset (to fix any offset) CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst P: Proportional Control • Q: What happens if the gain is increased? • A: Loop may go unstable • Q: What if the gain is decreased? • A: It takes along time to get close enough to the setpoint. • Determining the gain: hard problem – analytically (mathematics) – empirically (trial and error) CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Setting Gain • Determining the gain depends on the physics of the system: • Analytical approaches: – System should be understood well – System should be characterized mathematically. • Trial and error (ad hoc, system-specific): – System should be tested extensively. – Can be done • manually • Automatically by the system • Wrong gain may put the system into oscillation! CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Oscillation • Wrong gain may put the system into oscillation CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Damping • The process of systematically decreasing oscillation • Properly damped: Reduces and removes oscillation in a reasonable amount of time. CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst P: Proportional Control • Q: What happens if the system is very dynamic? – Example: Following another robot • A: P control does not work well. – It senses the present time. • Q: What happens close to the setpoint? • A: – If gain is fixed: May not work for low errors • Leaves some offset – If gain is high: Tends to overshoot CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Example Kp = 20 Kp = 50 Kp = 200 Kp = 500 Example: Analysis overshoot settling time steady-state error ss error -- difference from the system’s desired value overshoot -- % of final value exceeded at first oscillation rise time -- time to span from 10% to 90% of the final value settling time -- time to reach within 2% of the final value rise time CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst D: Derivative Control • Predict the future: • Adjust based on the rate of change – The speed of change • Example: wall following robot – High derivative: Very fast toward the wall – Low derivative: Very slow toward the wall • Output: – o = Kd * di/dt CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Momentum of Correction • Momentum of correction results in oscillation and instability – A result of a slow reaction time to the controller • Momentum = mass * velocity • D to overcome oscillation • Output = error * Gp + d(error)/dt * Gk – Example: Wall following: P and D are opposite each other – PD: Mostly used for industrial plants CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst PD Control Kd = 3 Kd = 300 CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Kd = 30 Dan Ernst Integral Control • The controller output is proportional to the amount of time the error is present. – Integrate all previous values. • To overcome (eliminate) the offset – The longer the offset hangs around, the larger the I component becomes • Output o = Kf * int i(t)dt CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Example: PI • SS error (offset) has been removed Ki = 0 CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Ki = 2 Dan Ernst PI Example: Draw backs Ki = 20 Ki = 200 CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Ki = 90 Dan Ernst PID Controller • Proportional Integral Derivative Control is a combination of proportional, integral, and derivative control: • output = Kp * i + Kd * di/dt + Kf * int i(t) dt CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst PID Controller CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Kp = 100 PID results Kd = 2 Kd = 5 Kd = 10 Kd = 20 CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Ki = 200 Dan Ernst Simulation http://newton.ex.ac.uk/cgi-bin/metaform?http://newton.ex.ac.uk/teaching/CDHW/Feedback/OvSimForm-gen.html CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Choosing Parameters Ziegler-Nichols Method 1. Adjust the set-point value, Ts, to a typical value for the system and turn off the derivative and integral actions (0). Select a safe value for the maximum power M and set the proportional gain to minimum. 2. Progressively increase the gain until suddenly decreasing or increasing Ts by about 5% induces oscillations that are just self-sustaining. 3. Call the gain at this stage Gu, and the period of the oscillations tu. Note the values of each quantity. 4. Set the controller parameters as follows: – P-Control: P=0.50*Gu, I=0, D=0. – PI-Control: P=0.45*Gu, I=1.2/tu, D=0. – PID-Control: P=0.60*Gu, I=2/tu, D=tu/8. 5. Check the overall performance of system is satisfactory under all normal conditions. CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Is it Set Well? How do we measure system accuracy? • Elementary: The plant didn’t blow up • Informal: – Optimum decay ratio (1/4 wave decay) – Minimum Overshoot – Maximum Disturbance Rejection CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Is it Set Well? • Mathematical: – Various integral definitions, such as: • IAE - Integral of absolute value of error • ISE - Integral of error squared – Mostly reserved for “academic” purposes CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst