1、Intelligent Steering Using PID controllers,Don DeLorenzo,Euan Forrester Electronic Arts, Black Box,Need For Speed Hot Pursuit 2 Need For Speed UndergroundSemi-realistic driving physics on multiple surfaces,What are PID controllers?,Feedback-based algorithms used to minimize difference between measur
2、ed output variable and a particular target First term proportional to current error Second term proportional to integral of current error Third term proportional to derivative of current error,Background,Engineering Algorithm In use for more than 50 years thermostats, cruise control, etc. Integral a
3、nd Derivative terms are estimates,Equations,Difficulty lies in choosing coefficient weights,Example,Missile will have lift, drag, crosswinds, etc. that will affect its path Position in space missile is targeted towards is steer-to point,Velocity,Desired Angle,Error,Example Continued,Steer-to point m
4、ust be sufficiently far from missile to avoid exaggerating error Direction of velocity is used rather than direction missile is facing,Velocity,Desired Angle,Error,Proportional-Only Controller,Asymptotic behavior If proportional coefficient is small, missile will follow lazy, asymptotic path back to
5、wards desired course Positive Feedback If proportional coefficient is large, missile will overshoot target and oscillate wildly Steady State Error If there is a crosswind, missiles course will be parallel to desired course but will never reach it,Solutions,Integral term: Deals with steady state and
6、asymptotic errors because sum of errors will continue to increase until missile is back on course Derivative term: Deals with positive feedback, because as missile turns sharply towards target, derivative of error becomes negative, serving as a damper Derivative term also increases to kick start sys
7、tem if target moves,Tuning PID Controller,Proportional coefficient first Vary one coefficient at a time Real-time tuning No perfect solution, engineering tradeoffs,Extensions to PID Algorithm,Variable coefficients Missile may handle differently at high than low speeds Switching PID controllers based
8、 on object state Car on snow vs. mud vs. asphalt More complex P, I, D functions Capping functions to avoid spikes, or more complex functions Filtering input data Noisy input data will give jumpy D value Smoothes path at cost of responsiveness,Other Applications,Any problem expressible in terms of mi
9、nimizing error of single variable, occurring over a length of time while corrective efforts are applied Steering Thrust Braking Temperature,Need For Speed,Conclusion,PID: Proportional, Integral, Derivative components Robust, easy to implement solution Can be used for any problem minimizing error in a single variable over time,