Artificial Cerebellum with zero disturbance

Hans Blom, 960904 --
RE: operating the artificial cerebellum with constant reference signals.

I tried setting d1a and d2a to zero right after the line where they are
computed as random variables. I had a great deal of trouble getting the
program to misbehave. Finally, I killed the control and zeroed the f(tau)
tables, then turned on the control when the amplitude of the swing was as
large as possible. This resulted in some fairly extreme swings and
oscillations until finally the adaptation succeeded. The only way I was able
to get the thing to blow up with arithmetic errors was to wait for the
swings to make the elbow rotate more than 360 degrees. Then the errors
occurred. I suspect arithmetic overflow. I could also make errors occur more
frequently by turning gravity off and letting the shoulder and elbow joints
"wind up" more than one full turn. Then, as they unwound, the system would
almost always have trouble. Of course a more realistic model of the arm
would not let the elbow joint or the shoulder joint rotate continuously.

From your description, I had expected the program to misbehave just because

the disturbances were set to zero. This is certainly not the case. If you
don't wait for extreme conditions before you turn on the control again, the
model simply brings the arm to the stationary reference condition with a few
oscillations as the output function starts to adapt. Since the loop gain is
initially zero, it takes a while to develop any gain at all. The
oscillations that occur provide enough disturbances to create enough error
to get the adaptation going, and pretty soon -- within 5 or 6 seconds -- the
arm is stationary. Of course the system isn't fully adapted yet, as you can
tell by looking at the f(tau) plots. Several minutes of experience with
varying reference signals (or disturbances) would be needed to approach
maximum performance.

By the way, I misspoke when saying that only disturbance 1 was used. That's
the other model. In this one, the two disturbances provide varying position
reference signals for the two joints.

I'm trying to (re?)construct it and relate your approach to something that
I'm familiar with. So far with limited success.

Glad to know there's _something_ novel about it.

Best,

Bill P.

ยทยทยท

-------------------------------------------------------------------------

[Hans Blom, 960910c]

(Bill Powers, 960904)

The only way I was able to get the thing to blow up with arithmetic
errors was to wait for the swings to make the elbow rotate more than
360 degrees. Then the errors occurred. I suspect arithmetic
overflow.

Can you convert your integers to reals so as to avoid overflow?

Greetings,

Hans