[From Bill Powers (920611.1300)]
Hank Folson (920611) --
What would happen if every time in your program where you calculate a
tendon stretch, joint angle or whatever, the equation is multiplied by
a variable to create an inaccuracy?
In a way, this is already being done to some extent, as the control-system
calculations are done in integer arithmetic. With a maximum signal
amplitude of 200, true particularly of error signals, the inherent
computational error is about 1/2 percent or more. Also, time integrations
are very crude -- no Runge-Kutta stuff to improve accuracy. Doesn't affect
In general, if a disturbance is inserted in the perceptual side of any
control system, an exactly equivalent change in behavior is introduced: a
5% disturbance of the perceptual signal (or reference signal) will alter
the controlled variable by 5%. But if this control system isn't at the
highest level, a higher level system (one or more) will simply experience a
little disturbance and correct it. Disturbances inserted on the output
side, as Rick Marken said, are simply opposed and canceled at any level.
The parameters of the Little Man are all adjustable while the model is
running. The kinds of adjustment I make to tweak up performance are like
changing a "10" to a "20." That's usually enough to produce an observable
change, but not always. In other words, the parameters can really slop all
over the place; as long as they're roughly correct, you'll get good
performance. Try doing that with one of the motor-control models they're
publishing nowadays. Especially if consecutive behaviors must occur for a
long time. The control-system model can run indefinitely with no cumulative
error, even with inaccuracies.
If several rounds of calculations are made in moving little man's
finger to a target, my guess is the inaccuracy the control system can
handle is quite large.
The entire model is recalculated 100 times per simulated second (20 times
per real second on my 10 Mhz AT). So a motion that requires 0.15 sec (about
the fastest) entails 15 iterations of the program.
Your intuition about the "robustness" of closed-loop models is right on