An explanation video of what PID control is, why it is needed, and how the various parameters affect the aggressiveness of the reaction.
In short, PID stands for Proportional, Integral, and Derivative. Each part of the controller has its own gain factor, that determines its significant among the three values when calculating the correction. (Or in this case the steering angle).
Each value does:
- P – correction by multiplying the error by a constant factor
- I – For a given error, correction increases as time passes
- D – Aggressive compensation for sudden change in error
Consequently, what I consider while tuning these parameters is:
- If P is too high, the correction will be too rough and may cause the robot to lose the line, although if it is too low, the maximum steering angle will not be sharp enough.
- If I is too high, the correction(s) will accumulate very fast, and cause the steering angle to raise quickly. If it is too low, an ongoing given error will persist, and won’t be taken care of.
- If D is too high, every minute movement will be grasped as sudden, and be treated roughly, steering the robot off course. A too low D gain will not be as harmful, although it may make the robot’s reactions slower and less agile.