PID Control - University of Wisconsin

advertisement
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
Download