Updated August 2018 || There are three characteristics that indicate when a servo system is properly tuned: response time, settling time, and overshoot. Response time is the time it takes the system to reach a specified percentage of the target value, while settling time is the time it takes for the target value to be settled, within a specified percentage. Overshoot is how much the system exceeds the target value. The goal of servo tuning is to minimize response time, settling time, and overshoot.
Regardless of response and settling time, a system that cannot reach the specified value for position, velocity, or torque – that is, a system that overshoots or undershoots – is not particularly useful. The system’s damping ratio indicates whether a system is likely to overshoot or undershoot. A system that is over-damped will undershoot its target value. In other words, an over-damped system has long rise and settling times and falls short of the target value. Conversely, an under-damped system will overshoot its target value. Under-damped systems often produce oscillations, with a short rise time and a long settling time.
When tuning PID servo loops, increasing the integral gain (Ki) improves system response, but because the integral gain increases over time at the end of the move, it can cause overshoot and oscillations. But if integral gain is too low, the system will be slow to respond to changes.
Derivative gain (Kd) works in conjunction with integral gain to reduce overshoot and provide damping to the system, while keeping response time and error to acceptable levels. But derivative gain actually slows system response, so a Kd value that is too high will degrade response time and cause the system to oscillate.
Another method for addressing overshoot (or undershoot) is to use a cascaded position-velocity loop with feed-forward gains.
In contrast to PID gains, which are reactive, based on error that has already occurred, feed-forward gains are proactive, predicting the commands needed to achieve zero error and injecting them into the control loop.
There are two types of feed-forward gains: velocity feed-forward and acceleration feed-forward.
Velocity feed-forward minimizes following error and improves response time during the constant velocity phase of the move. It does this by multiplying the derivative of the position (i.e., its velocity) by a velocity feed-forward gain. While velocity feed-forward minimizes error and improves response, it has the drawback of inducing overshoot.
Acceleration feed-forward minimizes tracking error during the acceleration and deceleration phases of the move by adding an acceleration feed-forward gain to the second derivative of the position command (i.e., its acceleration).
Acceleration feed-forward eliminates the overshoot caused by velocity feed-forward. And because it operates outside of the control loop (as does velocity feed-forward), acceleration feed-forward doesn’t affect servo stability.
By combining velocity feed-forward and acceleration feed-forward with standard PID servo control, both fast response and minimal error can be achieved without inducing overshoot.