George Ellis Chief Engineer,
Edited by Leland Teschler
• Autotuning routines deliver varying degrees of servo performance, depending on how the routine measures system response.
• Compliant loads pose the biggest obstacles for autotuning routines.
Motioneering application engine
For more info QR
Servosystems are well known for their superior performance in demanding motion applications. When system designers want to wrap candy, polish semiconductor wafers, form aspirin tablets, or lay thin coatings on rolls of plastic, servos do it faster, more smoothly, and more accurately than just about any other technology. Unfortunately, it isn’t always easy to get superior performance from servos. For example, servosystems must be tuned, a process in which many parameters are set to values that depend on the particular motor, drive, controller, and mechanical load. It can be challenging to tune the highest-performing motion systems.
It is useful for designers to understand why servosystems need tuning and how it’s done. It is also helpful to understand what happens when it’s not done well. Additionally, there is a role for autotuning, a technique once effective only for a narrow set of conditions: highly rigid mechanical loads and applications that didn’t demand top performance. Today, autotuning has improved and the best autotuners are better at tuning than are most people.
A point to keep in mind is the difference between configuring a system and tuning it. For most equipment, configuration involves setting up a controller for concrete parameters, such as the length of stroke, the number of motor poles, and other factors that have easily understood physical meanings. Part of a servodrive’s configuration process fits this description. For example, the resolution of a feedback device or the number of magnetic poles for a given motor is involved in how the system is configured. But in servosystems, the feedback loops also must be tuned.
The tuning of loop gains is the process of raising the value of those gains to be as high as possible while maintaining adequate margins of stability. Raise those gains too much and the system will overshoot and ring; it may even become unstable — the condition wherein the motor oscillates uncontrollably. Keep the gains too low and you can lose the benefits of servos — the system can be sluggish and innaccurate.
Most engineers find the need for high gains easy to understand. Servoloops calculate error, the difference between the command and the feedback signal. They then scale that error by a gain; the output becomes the command to the next stage of the system. Consider a simple position loop: Position error is scaled by position gain to create a command for the velocity loop. Higher-gain loops are more reactive to error.
Stability, the upper limit on servo gains, is more difficult to understand. The phenomenon of instability is unfamiliar to many people because it rarely happens in most walks of life. It arises from the delays that accumulate in a control loop. For example, there is a delay associated with the time it takes a microprocessor to execute calculations and another delay associated with the time it takes a signal to pass through a filter used to quiet electrical noise. Those delays add up as a signal traverses the loop.
For example, suppose the delay around a loop is 500 μsec and the gain is too high. The system will oscillate at about 1 kHz. (As it turns out, the frequency of oscillation has a period of twice the delay.) This happens because at that particular frequency, the signal feeds around the loop and back on itself, over and over again. The loop greatly amplifies signals at that particular frequency.
While the stability itself can be difficult to comprehend, accommodating delay in a loop is simple enough: Keep the gains low enough to avoid instability. For the short delays that characterize modern servosystems, that turns out to be fairly easy. In fact, tuning would be an easy process if delays were the only problem servo designer had to deal with. Unfortunately, the complex mechanical loads that are typical in modern machines make the stability problems much more difficult.
If servosystems controlled “rigid” loads — loads firmly coupled to the motor — tuning would be simple. But most mechanisms have mechanical compliance; they flex when the motor applies torque. Transmissions add compliance between the motor and load: belts, ball nuts, shaft couplings, and gear teeth all flex when loaded. The result of this flexing is that the mechanical load varies with frequency. At low frequencies, the servosystem “feels” the reaction torque from all the mechanical components. At high frequencies, the load seems to almost disappear because of flexibility in the transmission.
To better understand how inertia seems to disappear, consider a simple example. If you held an office stapler at the end of a larger rubber band and moved your hand up and down slowly, your shoulder would feel the reaction of the whole system, that is, your hand plus the stapler. But if you moved your hand rapidly, the rubber band would stretch in and out, and the stapler would be almost still. In that case, your shoulder would feel only the reaction of your hand, while the inertia of the stapler would almost disappear.
The same thing happens in servosystems, albeit at much higher frequencies. As gear teeth and belts flex in and out, the elements on the ends of the drivetrains seem to almost disappear. The result is that the apparent inertia of a compliant system lessens as frequency rises. Because the effect of inertia is to lower the gain of the whole loop, this phenomenon is destabilizing at high frequencies. At low frequencies, the inertia is high, making the loop gain low. At high frequencies, the load inertia virtually disappears, causing the loop gain to rise, often dramatically. Worse, the gain variation is difficult to predict. It varies in complicated ways depending on the mechanical resonances of the motor/load mechanism.
An ideal load is one that is perfectly coupled to the motor. As frequency rises, the effect of the inertia is to lower the gain, an effect that comes from the fact that it takes more torque to move mass at a higher frequency. So the amount of ideal load declines as steadily as frequency rises.
A compliant load tracks the amount of ideal load well until the frequency nears the mechanical resonance. At that point, the load starts to “disconnect” from the motor; above the resonant frequency, it disappears and the gain rises well above the ideal load.
So the loop gain varies depending on complicated mechanical structures. It’s not possible to fully accommodate this behavior with a simple gain. Instead you must use various filters to modify the gain and delay as frequency rises. Herein lies the complexity of tuning for optimal performance: It requires the design of multipole filters to modify the phase and gain according the mechanics.
Of course, it’s possible to attain stable operation by simply adjusting a few gains as best you can and adding perhaps one or two low-pass filters. But this generally results in low gains and sluggish performance. Optimal performance requires a much broader approach: full-frequency tuning.
Full-frequency autotuning Full-frequency autotuning is the process of setting loop gains automatically. It relies on the computational power of a PC to execute the calculations needed at many frequency points. Originally, autotuning took place at low frequencies — shake the motor at, say, 10 Hz to sense the inertia and then set gains accordingly.
Today, many autotuners operate on that same principle. However, such an approach ignores the primary complicating factor of tuning: the variation of apparent inertia with frequency. That accounts for the poor reputation (perhaps deservedly) of the early autotuning systems: They worked well in laboratories (where loads are rigid) but poorly in the field (where loads are usually compliant).
Full-frequency autotuning measures the system at all frequencies of interest, at hundreds of points between, say, 10 Hz and 2 kHz, to assure stability at every frequency of concern. The starting point is the excitation: Rather than simply shaking the motor at low frequency, a rich signal is injected, one that excites the system at many frequencies simultaneously. Data is collected across the frequency spectrum over a period of several seconds to collect the entire frequency signature of the motor and mechanical load in a short period of time.
The second step is the configuration of the filters. When autotuning, more-complex filter structures can be used than are practical for manual tuning. For example, Kollmorgen’s AKD servodrive uses two four-pole filters. It would be more likely that drives relying on manual tuning might use one or two single-pole filters. That’s because the configuration of four-pole filters requires up to 16 parameters, much more than most people can manage. However, the large number of filters gives the tuning algorithm great flexibility in dealing with mechanical compliance. So it makes sense for full-frequency autotuning algorithms.
The AKD servodrive provides a full-frequency autotuning algorithm called the Performance Servo Tuner (PST). To compare PST to other autotuning algorithms, we used a compliantly coupled load: a load wheel with inertia about 10 times the motor rotor connected through a slotted PVC tube to represent a compliant transmission. A frequency analysis demonstrated that the configuration was a good representation of many servomachines.
We then compared autotuning methods on that configuration with those of several competitors. Some competitors were unable to produce any stable set of tuning parameters, and PST produced tuning superior to all the tested systems. The AKD Performance Servo Tuner had faster settling times and simultaneously provided better margins of stability. In one case we compared the response to a high-acceleration velocity command. PST cut settling time to less than half that of the best competitive system and did so with half the overshoot.
All in all, tuning can be a complicated process. Autotuning can provide superior results quickly, but only when it uses information from the full frequency range of servo operation. Full-frequency autotuning algorithms can also support higher-order filter structures than are impractical for manual tuning. Full-frequency autotuning algorithms, together with flexible servoloop filtering, can provide outstanding servo performance, even for driving compliant loads, and you don’t have to be a servo expert to use them.