Alt-BEAM Archive

Message #04928



To: beam@sgiblab.sgi.com
From: Ivar Thorson ivar@flashmail.com
Date: Tue, 29 Jun 1999 12:44:51 -0700
Subject: [alt-beam] Bicore Feedback Experiments


Hey, all.

I found the discussion on Bicore feedback facinating, so I pulled
out the breadboard to do some more experimenting.

I made a suspended Bicore, tripled the outputs for extra driving
power and to use all the invertors, and connected it to a BG micro
motor. Exactly like Wilf said, the frequency of occilation increased

as I held the motor shaft. Shorter, faster movements of the legs.

But I found I different state which I think Wilf may have
accidentally looked over. If you hold the shaft nearly completely
rigid (You need to attach legs so that you can get enough torque
with these motors...), the length of the frequency drastically
_decreases_, to perhaps half of the original frequency. It's really
interesting. The bicore will accept a certain amount of load and
just increase the frequency to a point, but when it gets really
stuck it decreases the step speed so it has longer "thrashings".

I think that seems to be an effective use of feedback, if you ask
me. It gets a little stuck, and it shakes faster. It gets really
stuck, and it thrashes violently with long strides until it is free.

As a comparison, if you hold the motor shaft of a regular bicore
(not suspended, but 2 resistors to ground), holding the legs does
indeed increase the speed of the shaft, but the 'critical point'
never happens. The frequency of the bicore just increases up to the
stall point of the motor. This also holds true for the microcore and

multi-neuron designs.

Getting back to the suspended bicore bit, I ran a few more tests to
see if I could determine why the suspended bicore does this and not
the regular bicore, and under what conditions it did it. I'm using a

74HC240 at 6volts, by the way.

First, I simply connected the motor directly to the outputs of a
suspended bicore. No buffers. Little driving power, mega feedback.
It doesn't even act like a bicore, but is interesting just the same.

The motor spins (weakly) one direction indefinitely, and stopping
the turning of the leg with your hand causes it to press against
your hand briefly and spin the other direction indefinately until it

encounters a similar bump. After you apply a certain amount of
resistance to the turning of the leg, however, it begins to occilate

like a bicore normally does. The more pressure, the faster the
occilation up until it reaches stall.

Now is when the weird stuff started happening. Stick inverters (One
for each wire going to the motor) in the circuit between the motor
and the bicore to act as a buffer. Suddenly, it works like a bicore
at no load. Presumably the inverter reduces the feedback to the
bicore, but not totally. At a very light load, the occilation
frequency increases like expected. But at moderate and heavy loads,
the Bicore occilation _slows down_ a lot, maybe to half of the
original frequency.

Now, if you put another inverter in parallel with the buffer
inverters (Pardon me if my elektrik(tm) speak is no good;-) the
effect becomes easiest to notice. Light load, and the frequency
increases. Heavy load, and it slows down below the original
frequency.

Put three inverters in parallel to use all of the inverters in a
240, and the results are much the same as with two inverters, but
you have to reach a higher load level before the frequency shifts to

the slow frequency.

My basic conclusion from one night of playing with these is that:


-The bicore responds to feedback from the motors by
increasing the frequency of occilation up to the shift point.
-Further motor load after the shift point makes the motor
slow considerably up until the motor stalls.
-The shift point is determined by the amount of amperage the
motor drivers can handle. The more power available, the higher the
shift point and the harder the motors have to be loaded before the
occilation shifts speeds.

Now, I would really like somebody to explain why all this happens,
or at least duplicate it on a breadboard so I know I'm not going
insane. I have breadboarded this three or four times with similar
results all the times. It may be a particular lucky combination of
the BG Micro motors and the 74HC240, I am not sure and it's late at
night so I may be making mistakes.

Doing similar experiments with H-Bridges for motor drivers would be
nice, too. How much feedback to different designs provide, does a
feedbark resistor help, etc.

So, assuming that the feedback tendancies of the suspended bicore is

useful to a robot (Shake at light load, kick at high load), what
about those robots with microcores, couldn't this be harnessed too?
Enter the suspended microcore? I tried to figure out how this would
work, but I was unable to because I have read (less than) one book
on electronics theory, so circuit design is not my strong point...
Tying all of the bias resistors to each other, or to the opposite
pairs didn't work like I had hoped, although the experiments led to
some other interesting circuits. If you make a four neuron
'suspended' microcore on a HC240, you end up with a Self Healing
Super Whoosh Bicore/Quadcore Thingy. You can remove two of the
resistors opposite each other, even connect two to ground or
positive, and it continues to run flawlessly. It can't go to a
regular single pulse state, either. It 'heals' itself if one of the
pulses are killed so it is always running at two. It is very
difficult to kill all the pulses, as well. You have to kill two
pulses simultaniously or it heals. Could be useful in very rugged
bots or ones with bicore stability problems. I will post a schematic

if nobody understands what I mean.

Well, I better go to sleep if I want to get more than 4 hours...


Ivar Thorson
--
www.welcome.to/beam/
--




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

eGroups.com home: http://www.egroups.com/group/alt-beam
http://www.egroups.com - Simplifying group communications



Home