When a linear or rotary axis must follow a predefined move profile to reach or maintain a precise position, speed, or torque, a closed-loop servo system is often the best choice. Feedback from an encoder — mounted on the motor or directly on the axis — provides information regarding the system’s actual state (position, speed, or torque). This value is compared with the desired state, and the controller issues commands to correct any errors between them. In an ideal system, the control loop would be perfectly accurate and work instantaneously, and the desired state would be achieved without overshoot, oscillation, or extended settling time.
But in real-world applications, this is rarely the case, and servo control loops must be tuned to minimize the error between the commanded and actual values. When the goal of tuning is to minimize position error, one undesirable result can be that the system continuously overshoots and then undershoots, struggling to reach and settle at the target position. This if often referred to as “hunting.”
The underlying cause of hunting is that while the system is attempting to minimize error between the actual and commanded positions, the error is constantly varying. The system must react very quickly (high responsiveness) to implement corrective moves before the axis changes position. When there’s a lag between the detection of the error and the corrective move, the axis will overshoot the position. Now the error is in the opposite direction of the corrective move, and the system must initiate a corrective move in the reverse direction. The result is oscillation around the desired position, or hunting.
One way to reduce hunting is through proper tuning. Tuning is done by adjusting proportional (P), integral (I), and derivative (D) gains. Each gain plays a role in the system’s tendency to overshoot and cause hunting, and while servo tuning is as much art as it is science, understanding the gains and their effects on system behavior (and their interdependencies) can help prevent or reduce hunting.
In general, a high proportional gain (Kp) can cause overshoot and oscillation, or hunting, for the target point, while the derivative gain (Kd) helps to dampen the system, reducing overshoot and oscillatory motion. A high integral gain (Ki) can also cause overshoot and hunting because it is determined by the sum of errors over time and increases at the end of the move.
If a servo system is appropriately tuned but still hunts for position, designers and machine builds can use other methods to improve positioning accuracy and settling time and reduce hunting. One method is to use a motor coupling that has good torsional stiffness and the ability to dampen vibrations. Couplings with these characteristics improve positioning accuracy and repeatability and reduce error in the actual position of the axis.
Another approach is to use a high-resolution encoder that also has low hysteresis, which can provide the control system with extremely accurate information regarding the true location of the axis, minimizing error corrections based on incorrect position information.