The feedback design approach outlined here was first published in Richard Phelan's Automatic Control Systems, Cornell University Press, 1977 (ISBN 0-8014-1033-9). Phelan was a professor of mechanical engineering at Cornell University. The work should have made PID controllers obsolete, but it went largely unnoticed by the servo design community. I have used this approach to create servos that outperformed classical expectations, and usually adopt a "finger to the wind" design methodology that is certainly not optimum, but serves well. I call this system IPD, for Integrator/Pseudo Derivative. (Why is explained below.) Phelan named various configurations of it with enthusiastic superlatives; that, and his not being an EE, may explain why it was largely ignored.

Advantages:

(1) Critical damping with faster settling time than PID can achieve with overshoot.
(2) No integrator windup. No matter what overload conditions occur, the system never needs to "recover control".
(3) Not only is there no steady-state error, the control system can be made immune to steady-state departure from the ideal response to a ramp by adding a higher-order derivative.
(4) The response to load variations is better than PID.

Some details:

For a first-order servo, start by putting the load and its power driver inside a simple proportional loop; for a second-order system, add derivative feedback in this loop. (In theory, derivative feedback is an absolute requirement; in practice, passable systems can be built without it when the inertia and compliance are not too large.) The idea here is not to make a good servo, but one that "knows" where home is. For example, a velocity servo will be driven, rather than coast, to a stop when the amplifier input is removed. The effect on the overall system is to add a large effective frictional component to the load, making it more tractable. Close a second loop around the whole thing that has only an integrator in the forward path. (The time constant should be short to make the system responsive.) With proper adjustment of the time constant and the two (second order: three) feedback gains, the system can be both lively and critically damped, but it cannot yet handle inputs that would saturate the output.

Phelan took the metaphysical position that an integration-only forward loop was superior in part because "a system should not be made to follow more than one master." (I leave the metaphysics to others.) He also looked on it as a single-loop design, observing that the proportional-feedback inner loop was equivalent to derivative feedback applied to the integrator; a pseudo derivative. Although true for stability considerations in the absence of a changing command, in my view that is not entirely correct. Differentiation would remove the DC component, and subsequent integration cannot completely restore it. The DC component is what I believe makes it possible, classical texts notwithstanding, to integrate the error without overshooting in response to a step command. When the step first appears, the integrator starts charging, and applies a ramp to the power amplifier. (No instantaneous acceleration is called for.) As the load responds, feedback in the integrator loop reduces the ramp rate, and feedback in the output loop "ups the ante" on the drive requirement. For a step small enough so that operation is entirely linear, i.e., within the proportional band, the integrator stops charging at just exactly the drive level that the power amplifier needs to maintain the error-free steady state. (For a friction-free velocity system, no power is needed by the load, but the proportional feedback to the power amplifier makes the integrator exactly match the proprtional feedback.) Nevertheless, looking at the equations, Phelan may be right.

To handle inputs out of the linear range, monitor the output. At the threshold of overload - clipping in the amplifier, overcurrent in the actuator, etc. - use feedback to adjust the storage in the integrator (capacitor if linear, accumulator if digital) to avoid it. Large inputs will then cause the integrator to hang at the threshold of overload (the value varies with the amount of feedback at the instant) while driving the actuator to the maximum that can be gotten from it. As soon as the system gets back to linear operation, the capacitor (or accumulator) will have exactly the right value for a critically damped landing. In effect, the system is critically damped for small commands and approaches bang-bang for large ones. You can leave the system underdamped, but without much gain in response time. Similarly, you can have it two or three times overdamped without much loss. The integrator output is slew-rate limited. A good starting choice for its time constant is one that allows it to ramp a little faster than the output (motor, heater) can with full allowable excitation starting from rest. Often, it can be three to five times shorter (faster) than that. Rarely does it need to be longer.

The denominator of the IPD transfer function is the same as that of a PID, but the numerator contains a few extra terms that can added to a PID loop with some effort. Nevertheless, the circuits seem to behave differently. We have already seen that the pseudoderivative feedback in the inner loop carries a DC component which can eliminate overshoot. Also, observe that there is no differentiation of the command signal.

It makes sense for the controller never to ask the load actuator to do more than it can. By limiting the demand to the maximum possible response, the actuator is always doing what the controller asks of it, so the system is never out of control. Both PIDs and IPDs can have their integrators bounded, but PID asks for instantaneous acceleration, and suffers for it. The IPD doesn't; its integrator imposes a slew-rate limit for small (i.e., linear range) commands, and the integrator bound takes over for large ones.

Even PIDs can benefit from some of these techniques; integrator windup is the classical problem with PIDs. One should force the integrated value to zero whenever the sign of the integral and the sign of the error disagree, and limit it whenever the error is large. The purpose of the PID integrator is to "reset" the setpoint to compensate for small errors due to limited loop gain and unknown loads; if the error can't be made fairly small without it, the servo is no good anyway. Engineers often shy away from techniques like these because they are nonlinear and tedious to analyze, but they are easy to do and they work. If additional analysis is wanted, they are at least piece-wise linear. Taming the integrator often admits higher integrator gain which, in turn, allows more differentiator gain and can greatly improve the response to sudden transient loads (like opening the oven door or coming to an abrupt hill). But as long as the command signal is differentiated, the servo won't be really clean.

Switching a plant from manual to automatic control is another problem that is not often addressed well. A solution that has worked well for me involves an additional input to the setpoint that is always zero during automatic operation. When on manual, it is the difference between the controller output and the manual command. By forcing the controller's disconnected output to follow the manual command, no glitch results from a return to automatic. If the setpoint is close enough to the manual operating point, there is nothing to notice. Even if the setpoint is quite different, the changeover is only an abrupt change of the command to a system already in control.

I should warn about "twitching" in position servos implemented with IPD. In a digital implementation, it is easy enough to program a tiny amount of dead band in the error feedback to the accumulator, just enough to accomodate the slip-stick friction or the one-bit uncertainty. In an analog implementation, however, there is no way to make the integrator stable enough to prevent a small, infrequent twitch, a sort of irregular limit cycle. It is unimportant in many applications, but it's something a designer needs to know.

It is necessary that the feedback deal with the output of the system directly. If the error is the only observable function, performance suffers greatly. One of the major defects of PID is that it differentiates the command signal, thereby compromising stability when the input changes rapidly. The error signal consists in part of the command, and differentiating it causes rough operation.

Be careful when using curves normalized on the critical frequency to compare this system to a PID. Overshoot aside, the systems look pretty much the same that way, but the critical frequencies are so different that the results can be misleading. Compare in absolute time.

Copyright © 1998, 2000 by Jerry Avins

Return Home