SIMPLE_F.AST
Open loop faster and simpler
Unedited posts from archives of CSG-L (see INTROCSG.NET):
The file DEVIL'S.BIB holds several posts on "Feedback too slow".
Date: Mon Mar 13, 1995 4:19 pm PST
Subject: Re: Open loop faster and simpler
[From Bill Powers (950313.1540 MST)]
Bruce Abbott (950313.1325 EST) --
Not to gang up on you, but ...
> An open-loop perceptual "translation" from color to selected target would be very efficient of resources and speedier.
This is one of the myths I have been battling for years: that open-loop reactions are more efficient, simpler, and faster than closed-loop control. This is simply not true. The closed-loop system is always simpler and faster, as well as being more reliable (less sensitive to changes in system properties or external disturbances).
The only reason that the open-loop design seems simpler is that those who promote it are looking only at a small part of what would be required to make it work: namely, the initial cause and the final effect. If you just look at the input, the stimulus, and the final result, the movements that create the desired effect, it looks very simple indeed. But if you had to simulate such a system, you would find that between the stimulus and the final observable effect is a large slithery slimy tangle of wiggling worms.
Consider reacting to a blip of light by moving a cursor from one target to another. That sounds simple enough.
Without feedback what's necessary is to connect the signal from the blip of light to a circuit that will generate the motor output signals needed to move a hand on the end of a multiply-linked structure with at least four main degrees of freedom, accelerating it and decelerating it not just to reach a designated point in space, but to make a visual display depending on the arm position come to a preselected state. And this has to be accomplished from every possible starting position and velocity of the arm-hand system and in the presence of all possible disturbing forces -- without any knowledge of the current state of affairs during the action.
What we're talking about here is a computational problem of staggering magnitude.
Suppose we reduce the problem simply to generating a single motor output signal on the basis of a single sensory input signal. At first glance, it might seem simplest just to run the input through an amplifier to produce an output. If you want 10 units of output per unit of input, the amplifier has a gain of 10. What could be simpler or faster?
The answer is that by adding a negative feedback connection from output to input, you can use the same kinds of components to get a FAR faster response at the output of the system, still with an overall gain of 10. The reason stems from the fact that any real amplifier will have a finite rise-time. Suppose the amplifier has a rise-time of 1 second. This means that presented with an input of 1 signal unit, the output will rise in a negative exponential curve that reaches about 6.3 units in 1 second, about 8.6 units in 2 sec, and about 9.5 units in 3 seconds. The final level is 10 units, which is the gain of 10 that we wanted.
Let's start again, only this time we use an amplifier with a gain of 100 units. We connect a negative feedback path so that the feedback is 10 percent of the output. In approximate terms this will give us an overall gain of 10 between input and output. The loop gain of this system is 10. The amplifier, although it has higher gain, still has the same one- second time constant.
Now if we apply one unit of input signal, the output will begin a negative exponential rise not toward 10 units but toward 100 units. As a result, the output will rise to about 6.3 units in less than 0.1 sec, and to 9.5 units in less than 0.3 seconds (remember that the error signal driving the output is dropping very rapidly as the input climbs, because of the negative feedback). We have reduced the effective time constant of the amplifier by a factor of 10, simply by adding the feedback connection. In general, the closed-loop time constant is approximately the open-loop time constant divided by the loop gain. Total cost: a simple proportional feedback link.
Everybody says "Oh, but feedback has a one-quarter second time lag in it, so you can't use strong feedback." That, too, is nonsense. The time- delay in the first-order control systems is about 9 milliseconds. In the second-order loop it is around 50 milliseconds. It's not until you get to the midbrain, and specifically involve vision, that you get a delay of about 200 milliseconds. And that delay is only for sudden jumps of the eye. Furthermore, the visual control systems have high gain and are almost ideally stable. The dreaded "quarter-second delay" is a figment of the uninformed imagination, and even in systems complex enough to make such delays visible, stabilizing the system and maintaining tight control is no trick at all. Provided you didn't get the feedback theory you're using from reading what psychologists or cyberneticists have written.
That takes care of "faster." What about "simpler?" Suppose you were determined to build an open-loop system with a gain of 10 and a rise- time of 0.1 second using an amplifier with whatever gain you need but with an irreducible time constant of 1 second.
It could be done. To do it you would need to add a filter that responds to a one-unit input step by generating an output that rises to 1 unit instantly, then decays back to 0.1 unit. The output of this filter would enter an amplifier with a gain of 100 and a 1-second time constant. The overall response could be adjusted, by adjusting the time-constant of the filter, so that it would have a net gain of ten and a time constant of 0.1 second. Same result as we obtained with the feedback connection.
But look what we have to add: not just a simple proportional feedback link, but a dynamic filter with a specific mix of proportional and first-derivative response. Such a filter would actually add some time- delay of its own, as all physical systems involve lags, so to match the performance of the closed-loop system we would have to jack the amplifier gain up and make the filter time constant shorter. The open- loop system is clearly more complex than the closed-loop system, given that the same performance is reached.
As a bonus, the closed-loop system gives us relative immunity to changes in the amplifier. If the gain of the amplifier changes from 100 to 20, the overall gain of the closed-loop system will drop from 10 to 9.5. The gain of the open-loop system will drop from 10 to 2.
Even further, the closed-loop system protects the output against disturbances. If you add a 1-unit disturbance directly to the output of the amplifier, the open-loop system's output will change by 1 unit, while the output of the control system will change by 0.1 unit.
The real payoff of negative feedback comes when there are complex relationships between input and output. By feeding back from the final result to intermediate stages of the forward process, we can simply eliminate the complex computations that otherwise would have to be done. The feedback accomplishes with a few simple connections what would otherwise have to be done by computing the inverses of all the forward functions that lie between input and the final result. That's how the Little Man arm model can stabilize a 3-df arm in real time using only about 30 or 40 lines of code, where the equivalent open-loop performance using inverse kinematics and inverse dynamics would take a Cray computer to run as fast, and would use hundreds of lines of code.
So remember: the simplest and fastest kind of system is the negative feedback control system. Open-loop systems are always slower and more complex, given that the same performance is achieved.
That's as true as most rules of thumb are.
Best, Bill P.