Influential E-Mails Page 3






Subject:[MUST SEE] Pictures from '98 Telluride Neuromorphic Engineering Workshop, etc.
Date:Sun, 15 Nov 1998 02:40:53 -0700
From:Jean auBois
To:beam@palladium.corp.sgi.com

These include a picture of Roswell with its head on, Mark Tilden's lamprey
model (unicore head, 8 bicore segments each with a Mac ejector motor and a
4 wire bus which I presume is [power,ground,timing 'link' going towards the
tail and another going towards the head],) and a picture of the man himself
smiling widely. The URL is:

http://www.klab.caltech.edu/~harrison/tell98/album98-foyer.html

A more generic URL for the Neuromorphic Workshops in general is:

http://www.klab.caltech.edu/~timmer/telluride.html

Have fun!

Zoz

p.s. Some other references on the lamprey (robots, neural control models,
etc.) include:

http://www.klab.caltech.edu/~harrison/tell97/report97/node76.html

which is part of the '97 Workshop report and notes that Mark was going to
build a lamprey model,

http://www.cureparalysis.org/nnvl/

a "reprint" of an article titled "Neural Networks for Vertebrate
Locomotion" which was in the January 1996 edition of Scientific American
and is an excellent overview of the problem,

http://www.dac.neu.edu/msc/lamprey.html

which was designed in 1992 and uses Nitinol (memory shape) wire for effectors,

http://faculty.vassar.edu/~jolong/ONRlamprey.html

which talks about a Fourier-based reconstruction of undulatory motion & has
some short QuickTime movies,

http://best.nada.kth.se:8080/sans/jml.cgi/res_demo.jml

which has an MPEG movie which shows a simulation of the swimming lamprey,
driven by a neural network, and

http://www.geek-girl.com/about/qualifying-exam/qualifying-exam.html

which claims to be "A biomechanical, electrophysiological and neural
modeling study of goal-directed movement in the lamprey".





Subject:Re: Scout walkers II
Date:Sat, 24 Oct 98 01:57:06 -0000
From:Ian Bernstein
To:"Chiu-Yuan Fang"

Make two suspended bicores. Chose one to be the master. Take the outputs
(where the motor would go) and connect them to the inputs (where the
resister would of gone) of the slave.

    Master
o---\/\/\/---o


o---Motor1---o
|            |
|            |
\            /
/            \
\            /
/            \
|            |
|            |
o   Slave    o


o---Motor2---o

For a four motor design connect a resister between the to masters like
so....

 Master Left                              Master Right
o---\/\/\/---o----------\/\/\/-----------o---\/\/\/---o


o---Motor1---o                           o---Motor3---o
|            |                           |            |
|            |                           |            |
\            /                           \            /
/            \                           /            \ 
\            /                           \            /
/            \                           /            \
|            |                           |            |
|            |                           |            |
o   Slave    o                           o            o


o---Motor2---o                           o---Motor4---o

Note: The resisters between the master and the slave need to be 2/3 the
value of the masters resistor.

Did you get all that?

____________________________________________________________
Ian Bernstein "aka - Synet" THE MASTER BUILDER
ICQ - 4092551
E-Mail - Synet@Psynet.net
BEAM Online "aka - BEAMcentral" - http://come.to/beamcentral





Subject:[INFO] MicroCores
Date:Tue, 27 Oct 1998 01:59:10 +1100
From:"Ben Hitchcock"
To:beam

Up till now I've dealt with issues that can be used in most facets of
electronics. The time has come to start talking about things specific to
BEAM...

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

The MicroCore
Ben Hitchcock 25/10/98
------------------------------------------------------------------------

The concept of the microcore is pretty clever. Using just a handful of
components, you can build the control circuitry for a walking robot that
senses its environment and adjusts its gait accordingly. The clever part is
that the circuit is so damn simple!

Lets start with the chip. Don't be scared by the fact that it has more than
3 legs. In fact, the 74HC14 chip is pretty easy to understand. It has a +
voltage in, and a 0 volts voltage in. These live on opposite corners of the
chip - the positive volts go to pin 14, and the ground connection goes to
pin 7.
Now for the other 12 legs:
6 of these are inputs (Pins 1,3,5,9,11,13). And the other six pins are...
wait for it... outputs! (Pins 2,4,6,8,10,12) So what does this particular
chip do? It inverts. That's it. If you connect an input to ground, the
corresponding output gets + volts on it. If you connect an input to the
positive supply, the chip puts 0 volts on the corresponding output.
So the chip has 6 independant inverters on it. That's why it's called a
"Hex inverter".

Another smart thing about this chip is that all the inverters are "Schmitt
trigger" which is a fancy way for saying that they like to stay in the state
they are in.

Say we connect up a 74HC14 to a 5 volt supply. If we put 0 volts on an
input, and measure the output, it will read 5 volts. If we then increase
the voltage on the input until the output flips over, we will read about 2.9
volts on the input. Now, if we slowly decrease the voltage on the input,
the output will flip back to its high state at about 2.1 volts. So, if the
input is anywhere between 2.2 and 2.8 volts then we have no guarantee as to
what the output is doing. If it was high, it will stay high, and if it was
low, it will stay low. Don't worry too much if you don't understand this -
you can still understand how a microcore works without worrying about
schmitt triggers.

Okay.
Now for the circuit:
The circuit consists of as many gates (inverters) as you want, hooked up
nose to tail. Every 'neuron' of the microcore consists of a capacitor, a
gate, and a resistor. The capacitor connects the output of one gate to the
input of the next, and the resistor goes from the input to ground. Let's
think about what happens to just one neuron:

                              C1       Inverter
 Loose end of capacitor ------||---o-----|>o----   output
                                   |
                                   Z
                                   Z  Resistor
                                   Z
                                   |
                      0 volts -----o--------

(By the way, to view this properly, change the font to something like
Courier that has all characters the same width).

Phase 1. The capacitor is uncharged, the input of the inverter is at 0
volts, and the output is high (5 volts) because the chip is an inverter.

Phase 2. If we suddenly connect the loose end of the capacitor to 5 volts,
then this will pull the input of the gate high to +5V (Because the capacitor
is uncharged, and capacitors resist sudden changes in voltage), which will
make the inverter pull the output low.

Phase 3. If we wait for a bit, the resistor will slowly make the capacitor
charge up (Because one end is connected to 5 volts, and the other end is
connected via the resistor to ground) which will make the input voltage
slowly drift down until...

Phase 4. The input voltage reaches 2.1 volts, and the output slams high
again (+5 volts). The resistor will keep the input slowly drifting down
until it reaches 0 volts.

The clever part is if we connect the output of the gate 1 to the loose end
of the capacitor on gate 2. Then we repeat Phases 2 to 4, with gate 2. If
the output of gate 2 is connected via a capacitor to gate 1, then the
process starts all over again, and we have ourselves a biCore!

The process that keeps the pulse going around the loop is the change of
state from low to high. If there is no sudden change of state, then there
is no pulse. It is possible to have a microcore with no pulse going around
it, simply by 'eating up' all the low to high transitions. To start a
pulse, connect an input to +5 volts.

Something interesting happens if we start fiddling around with the values of
the capacitor and resistor. If we increase the values, the process slows
down, and if we decrease the values, the process speeds up. Since it is a
lot easier to get variable resistors than capacitors, we use resistors for
speed control.

If we have a bicore that is controlling two wheels, say, and we want the
robot to turn right, then what we do is make the motor on the left run for
longer - we increase the resistance for that neuron. If you incorporate 2
photodiodes into the microcore, you can make a robot that always zigzags its
way towards light! This is really impressive if you can get it working, and
demonstrates just how simple "complex behaviour" really is.






Subject:uCore Biasing Network stuff.
Date:Fri, 16 Oct 1998 23:07:11 -0400
From:Sir_Real
Organization:Cybermedia Productions
To:BEAM

OK Im gonna try my hand at ascii again I hope it comes out alright.

This is a circuit (or part of it) that uses the same latching circuitry
in the microcore FAQ that is used to switch the multiplexer back and
forth between outputs.
this circuit will switch GROUND from being connected to R2; to GROUND
being connected to
R3 this is good for changing your turn angle. and if you have a
phototransistor across R2 (can be done but not recommended) it switches
from photodetect mode to object avoidance mode. basically it just
bypasses the photodection when the object sensor hits an object until a
few seconds after the sensor clears the object. So if the light is on
the left and the robot is turning left and there's an OBJECT on the
left, as soon as the object is detected the bot turns off photodetect
mode and starts turning right. I am only drawing up ONE SIDE on the
circuit, the other side is exactly the same and you should know that all
the sensorws get crisscrossed mechanically on the bot. Left side sensors
go on the right side of the bot etc...

And if I am wrong about this please correct me.

Here goes

uCore bias network.
NOTE: P
T = Phototransistor
(don't ask me how to bias it i just plugged it in and it worked. I was
too lazy to check it's polarity. :) I didn't work good in the other
direction so I put it back :)
The emitters of the transistors go to ground.
                       1M                               Nv from the microcore 
       o---------o-----R1---------------o-----------------------|>o---
       |         |                      |
       P         \                      \ R3
       T         / R2                   / 1M
       |         \ 1M                   \ 
       |         |                      |
       o----o----o    o-----o(In #1)    o
            |         |                 |
            |         n                 \ R4
            o-------P   p----Gnd        / 1M   o-----o(In #2) see circuit below!
                                        \      |
                     Q1                 |      n
                    3906                o----P   p-----Gnd

                                              Q2
                                             3906 

Theory (sort of)
By default R1, R2 (with phototransistor in parallel) are tied to ground.
When the latch below switches states The R1/R2 network gets shut off
from ground and the R3 and R4 network are attached to ground.

1. Object detection latch

                 Vcc
                  |
                  |
                  :| N.O. switch (this is the object detect switch)
                  |
                  |             U1
                  o-----o------|>o-----o (output) To input of next circuit
                  |     |                         this signal also goes to Q1 and 
                  /     |                         defaults to HIGH during normal 
                  \ R1  = C1                      operation
                  /2.2M | 1uF electrolytic
                  \     |
                  |     |
                 Gnd   Gnd

2. Inverter (while output of latch is high, output of this Inverter is low)
So basically these 2 circuits combined make what I call a flip flop. :)
maybe thats not REALLY what it is but thats what I call it. :)


    In from circuit above  >------o
                                  |
                                  \
                                  /  2.2M
                                  \
                                  |
                                  p
         (output)to Q2     o----N   n------------Gnd
          defaults to LOW  |
                           \
                           /  20K
                           \ 
                           |
                           +ve

Ok I have to go find more ways to switch paths between resistances and such.
I hope this helps someone out there I know I sure have gotten alot of
help from people. So I'm just trying to do my part . :)
Cyas.





Subject:Short out a resistor to bypass it.
Date:Sat, 17 Oct 1998 00:00:01 -0400
From:Sir_Real
Organization:Cybermedia Productions
To:BEAM

You can short out a resistor to bypass it using a PnP transistor as long
as the emitter is tied to ground like so. (haven't tried any other
configurations yet.)
                         Nv
       o-----------------|>-----
       |
       \
       / R1      o--------------o logic LOW and R2 is in the circuit 
       \         |                logic HIGH and R2 is shorted out!
       |         n
       o-------P   p-----o Gnd
       |                  
       \                 
       / R2              
       \
       |
       o
      Gnd

I don't know how efficient this stuff is but it doesn't seem to be
draining the battery overly fast. Actually I can't see where it'd take
much current to switch a transistor on at all.

Man ya learn something new everyday. I used to hate working with
transistors because you had to figure out how to bias them and do all
these calculations and stuff but this is cool. I haven't picked up my
calculator all week. :) Not that I'd remember how to use it or anything.
heh.

Bill.





Subject:Slightly more detailed oscilloscope traces
Date:Fri, 20 Nov 1998 14:49:32 -0700
From:Jean auBois
To:beam@palladium.corp.sgi.com

Late last April I borrowed a portable oscilloscope from Mark Tilden (thanks
again, Mark) and spent two weeks fiddling with a six neuron loop.  I left
everything running for those two weeks and messed around by changing bias
resistors, replacing a bias resistor with an IR-sensitive photodiode,
breaking the loop and feeding an increasingly high frequency signal into
the beginning neuron and stuff like that.  In particular, I hand-copied two
traces: one characterizing a single neuron and another showing how the
events flowed in the entire loop.  You can see these at:

     http://www.trail.com/~aubois/neuron.jpg

and

     http://www.trail.com/~aubois/loop.jpg

Because I only scanned in these pages from my notebook with relatively low
resolution, here is the (edited) text of the notes:

neuron.jpg
On trace A
   To the far left it indicates that the signal varies
   between .2 and 5 volts

   2.22 S (between arrows,) underneath is says
   "close; within measurement error"

   The diagram to the right shows the schematic of the
   circuit under test; it shows that trace A is at the
   input, that trace B is at the bias point and that
   trace C is the output

On trace B
   2.18 S (between arrows,) the dotted line that
   intercepts the second decay curve is annoted
   with "about 1 volt" -- in other words, this is approx.
   the low threshold of the Schmitt trigger

   To the far left it indicates that the peak of the
   decay curve ranged from 4.5 to 5 volts.  It is possible
   that this range is due to aliasing in the 'scope.  It
   also might be that this is an artifact of this system
   being quasi-periodic rather than periodic.

On trace C
   Between arrows indicating width of the low-active pulse
   is annotated with 360 to 380 mS, wider (that is, longer)
   with bigger resistance and that this delay is the 't' of
   figure 6 in the patent (total neuron delay.)

   In the middle of the curve are some notes concerning the
   negative excursion of trace B.  The first indicates that
   the curve generally looked like an 'S'.  The second says
   that this part of the drawing is not to scale (in fact,
   it is exaggerated;) that the sign of the curvature sometimes
   changes; it sometimes only looks like a cap discharge curve
   but it is occurring just when trace A goes low which
   makes its negative value reasonable.  It probably represents
   the charge on the capacitor discharging with the current
   flowing towards point A and that it is probably being
   clipped (attenuated) by the internal protection diodes on
   the 74HCT14 chip.

Summary:
   There are three important points to be made with this
   drawing.  The first is that when the input goes low it
   sort of is like "cocking" the trigger, getting it ready.
   The second is that when the input goes high again, that
   is this TRAILING edge of the pulse that causes the neuron
   to "fire".  Finally, when the curve gets down to the low
   threshold voltage, the neuron stops "firing".


loop.jpg
   You will note that there are six basic traces, labelled A
   through F, all of which represent neuron outputs.  In order
   to show how things work when the signal has gone through all
   six neurons, I've "unrolled" the loop to produce traces A'
   to F' and A''.  In fact, A' is really same as A but with five
   neuron delays in between.

   The curved arrows show how the transition in one output causes
   activity in the next, primarily that the rising edge (which,
   as I wrote before, is the TRAILING edge of the process) is the
   one that triggers the next neuron.  To total period of the
   entire six neuron quasi-periodic oscillator ought to be approx.
   six times the delay of one.  In fact, calculated delay
   was .354 seconds; six times this gives 2.12 seconds; the actual
   measurement was 2.16 seconds which agrees within 2% (that's
   really quite good)

   I got the calculated delay by solving

      1 volt = 5 volts * e^(-t/RC) for t which ends up
      being t = -R * C ln(.2))
      where R was 1 Meg ohm and C was .22 microfarad

   1 volt represents Vth(low) the low threshold voltage and 5 volts
   represents the peak of the decay curve.
Zoz





Subject:Nu interconnections (from MWT himself!!!)
Date:Wed, 31 Mar 1999 00:30:31 -0600
From:Richard Piotter 
To:beam 

This was from Mark Tilden (sent back on March 9th)

"Mark W. Tilden" wrote:
> 
> >Hello. I've been wanting to do a lot of new work with Nu/Nv circuits. I've
> >read
> >on the BEAM tech FAQ how to make "sensory" Nu neurons, however, in the Living
> >Machines paper, there are interconnected Nu units that have bidirectional
> >connections between each other and are in "contact" with Nv neurons. I'm very
> >curious how these neurons are interconnected between each other. I've
> >looked and
> >can find little information other than the indidual units, but no
> >information on
> >how they connect between each other. Do you have any papers with more detailed
> >examples of such circuits. I'm familiar with Lobster's structure, but as I
> >said,
> >there are many questions.
> 
> Hey Richard.  Good to hear from you.
> 
> Lobster was an attempt at putting an Nv ring inside a homogeneous Nu ring,
> where the outputs of the Nu+'s feed trough a resistor into the bias input
> of an Nv.  At the time, I thought I was making direct "learning Nv's" by
> this coupled association.  However, it failed because the responsiveness of
> the Nv's was far higher than that of the Nu's, so at higher process numbers
> the adaptive benefits of the Nu network just cut out or became detrimental.
> Another lesson of the difficulty in making reactive-adaptive devices,
> lobster was and is a really good "bad" example of autonomous control
> higherarchies.  That's why I never published further details on it.
> 
> That diagram is also embarassing as the lexicon for describing Nv nets has
> advanced significantly over the years.  A more appopriate and accurate
> picture would be as follows:
>
> >   | R0          |
> >  ---           _|_
> > /Nu+\____R1__|/Nv-\
> > \___/        |\___/
> >  ---           /|\
> >   |             |
> >   |R2           |
> >   |             |
> >  ___            |
> >  ---           _|_
> > /Nu-\         /Nv-\
> > \___/         \___/
> >  ---           /|\
> >   |R3           |
>
> Where plates indicate an implied or resistive connection, and arrows the
> connections between Nv outputs and the capacitor inputs of the subsequent
> neuron  (the "primary axion").
> 
> >...It appears neurons
> >have plain lines (presumably the output), and it has tries and circles on
> >other
> >lines. Some neurons (only a few) are in contact, much like the Nu and Nv pairs
> >on Lobster. If you can 1, tell me if there is some sort of standard, as to
> >what
> >the symbols mean (excitatory or inhibitory presumably), then that'd be
> >appreciated. Second, the neurons in this network seem to have both excitatory
> >and inhibitory inputs. Is it possible to recreate this in BEAM technology?
> >
> >        ___
> >       /   \>-----
> > -----o\___/
> >           \
> >            `-----
>
> Yes.  Circles are excitory, triangles are inhibitory, and wires are
> dendritic outputs, by neurobiological convention.  The behavior of a brain
> cell is very much like the basic solarengine with multiple valued resistors
> feeding onto the PNP base junction.  Generally, when the neuron has reached
> it's "presynaptic threshold" (gets a charge), a small excess stimulis on
> the membrane wall will result in a one-shot spike or spike-sequence from
> the neuron amplifier.  In biology, inputs are sparsely valued, and can in
> fact be pre-empted as in the following example.
>
> >    \    |
> >     \--<|
> >   \     |>-------
> >    \   _o_
> >       /   \>-----
>
> Where the excitory effect of a dendrite is inhibited on the dendrite itself
> by several inhibitory junctions.  This discovery has led to the new trend
> of analysing the dendrites for processing abilities in the brain, not just
> the neurons.  The "dendritic processing model" as it's called is one of the
> newest fields in neurobiological research, and it's a bitch because of the
> four additional orders of complexity it involves.
> 
> You must also realize that the "plain line" of a dendrite or axion is
> anything like an electric wire.  It is a carefully regulated tube through
> which a calcium wave passes like a bubble through a straw.  As such, when
> it is amplified or inhibited, it really is a physical speeding, expanding,
> or slowing and shrinking of the wave signal.  The electric field measured
> by EEGs and other things just monitor the electrical side effect of what is
> primarily a chemical reaction in our heads.  Biomech tech is thus different
> but related.  How is controversial because of the many acedemic egos
> involved, but i say if the neuron works...
> 
> Nv systems that use Shmitt triggers are different from real biological
> neuron processes as they are threshold symetric: that is, you can make +ve
> or -ve biased Nv networks and they'll still behave the same, just inverted.
> In biology there is no choice but to use the one type of grounded neuron.
> The power of advanced Nv systems takes advantage of the fact that the
> symettric sum bias of an Nv determines its polarity, and thus it's phase
> and interaction with surrounding Nvs.  "Excitory" and "Inhibitory" thus
> mean different things in symetric networks as their operation completely
> switches based upon what that particular Nv is doing at the moment.
> 
> Unfortunately, currently there is no simple circuit that can show this
> without significant hand-convergence of parameters and robot morphology.
> Every year I test my new circuits on the "small gods" at our conference,
> and if they don't get it, well there's just no point in publishing.  I get
> enough "is my solarengine resistor in the right way round?" emails as it is.
> 
> You can wait for my book (getting fatter all the time), or better yet, make
> the discoveries it seems you're well on your way to finding.  Don't forget,
> BEAM is the educational branch, but if you're into application, then
> biomech tech is what we call Nv engineering.
> 
> >Also, where is the next BEAM games going to be held?
> 
> Sorry, I've been meaning to update the mailout.  Next small workshop is
> scheduled for Los Alamos NM first full week in April.  Availability is
> limited.  Contact Paul Argo (pargo@lanl.gov) for details.  As well, the
> next olympics are scheduled for Santa Fe NM next summer 2000, details
> pending.
> 
> Happy botting.
> 
> markt.

-- 


Richard Piotter
richfile@rconnect.com

The Richfiles Robotics & TI web page:
http://richfiles.calc.org

For the BEAM Robotics list:
BEAM Robotics Tek FAQ
http://people.ne.mediaone.net/bushbo/beam/FAQ.html





mux




Influential E-mails Page 1

Influential E-Mails Page 2

BEAM stuff

Beam Table of Contents