proportional-derivative-integral (pid) control
DESCRIPTION
A simple, widely used control method. This presentation will provide an introduction to PID controllers, including demonstrations, and practise tuning a controller for a simple system.From the Un-Distinguished Lecture Series (http://ws.cs.ubc.ca/~udls/). The talk was given Mar. 30, 2007.TRANSCRIPT
Proportional-Integral-DerivativeController
Presented by: Sancho McCann
Simple Control Loop
Control Plant Feedback
Examples
CPU temp sensorCPU tempFan speed
Fan speedElectric motorVoltage
Distance from pathCarSteering direction
Thermostat tempRoom tempAir temp
Wheel speedAuto-engineThrottle
FeedbackPlantControl
Speed control: lookup table
100% Throttle140 kph
50% Throttle80 kph
20% Throttle40 kph
6% Throttle20 kph
3% Throttle10 kph
What to do?
Goal (set-point): 21 kph
How much should you change your throttle?
What to do?
Set-point: 80 kph
How much should you change your throttle?
Proportional Controller
• Far from set point? Change throttle more• Close to set point? Change throttle less
!
"control = (setpoint # currentState)•pGain
Example
Proportional-Derivative Control
• Approaching set point quickly? Ease offthrottle.
!
pTerm = (setPoint " currState) •pGain
dTerm = (prevState " currState) •dGain
#control = pTerm + dTerm
Example
Problem with Derivative Term
Enhances noise
Integral Term
• Helps state average around the set point
• Accumulate historic error• Allow this integral to inform the control
decision
Examples
Extremes
• What if– P term is too low?– P term is too high?– D term is too low?– D term is too high?– I term is too low?– I term is too high?
Tuning (one manual method)• Start with low pGain (< 1)• Set dGain ~ 100x pGain• Increase dGain until oscillation
– Halve until no oscillation reduced
• Increase pGain until oscillation– Halve that value
• Set iGain very low and increase until asmall overshoot is noticeable
Can be complex: Autopilot
Heading AileronRoll