\documentstyle [12pt] {article}

\begin{document}

\title{Stiquito, A Platform for Artificial Intelligence}
\author{Matthew C Scott}
\date{1 Dec 1992}


\maketitle

\begin {abstract}
This paper presents examples and opportunities for studying and applying
the paradigms of Artificial Intelligence using the {\em simple and
inexpensive} platform provided by the Stiquito robot. 
\begin{enumerate}
\item The mechanics of articulated {\em hexapod} ambulation are
inspected and a {\em genetic algorithm} is motivated
for determining the optimal gaits that Stiquito may attain while
minimizing energy consumption and maintaining balance.
\item An algorithm is presented for controlling the legs which allows for
over ${240 \choose 3}$ forward-propelling gaits. Its development on
a CAD system and implementation on an FPGA are illustrated.
\item The algorithm is then presented as a neural network using
chains of phase locked loops. Implementation using CMOS VLSI technology 
is then investigated.
\item And in summary, some possible
experiments are considered for producing interesting populational dynamics
such as {\em emergent cooperation} and {\em self-organization}.
\end {enumerate}
\end {abstract}
\break

\section {Introduction}
	This paper was inspired by the works of
Professor Jonathan W. Mills and the contributors to Indiana University
Technical Report No.363 whose content includes:
\begin {itemize}
\item {Part A:} ``Stiquito, A Small, Simple, Inexpensive Hexapod Robot'', Jonathan W. Mills.
\item {Part B:} Sensors and Controllers.
\subitem ``Stiquito, A Platform for Artificial Intelligence'', Matthew Scott.
\subitem ``Parallel 2 Serial Controller'', Andrew Heininger and Slamet
Hendry.
\end {itemize}
	Please see appendix A for information on obtaining the full
report by anonymous ftp or for ordering by mail any, or all of: the
full report, the complete Stiquito kit, the tutorial/demonstration
videotape.\par
	Familiarity with the contents of the other parts of this report is
presumed but not absolutely necessary (in the same respect as one does not 
need to look both ways before crossing a road). 
It is sufficient to know that the Stiquito robot may 
be constructed in less than two hours time, requires only five dollars worth of
materials (not including a few hobbyist tools), walks at 3 to 10 centimeters
per minute and may carry up to 50 grams. The legs, constructed of
resilient piano wire, are made to bend
by the contraction of nitinol actuator wires which are attached in the same 
manner as muscles. Nitinol is a form of Shape Memory Allow which
contracts when heated \cite{gilbertson}. In most cases this is done by
inducing a current pulse (20ma for .001'' diameter wire) through it. 
The pulse may be generated by autonymous circuitry
carried on the robot or from a computer via a tether or remote control system.
This paper, and the others comprising part 2 of this report, present various 
methods for exacting such control.\par
	In light of the educational aspect of Stiquito's motivation,
the controller developed in this paper is persued with a distinct bent towards 
its extension to possible term projects in artificial intelligence,
robotics, digital design and VLSI courses. But 
the primary objective will be the development of a VLSI neural controller. 
Only a cursory knowledge 
of the tenets of neural nets, genetic algorithms, LSI and VLSI design is 
necessary to appreciate the ideas and designs presented. 

\section {Instantiating Arthropodan Ambulation}

Everyone, no doubt, has spent some
time marvelling the dexterity, strength and speed of the common ant, not to 
mention the obviously complex behavior required to negotiate the rugged 
terrains these creatures are accustomed to. 
The complexities that are 
imposed by non-uniform surfaces, turning, backing and damage will not be 
addressed herein since providing for
these characteristics makes the project somewhat intractable to a semester
course and will require some interesting additions to Stiquito's
architecture, as can be seen in \cite{raibert}. But this has certainly not tempered the ambitions of 
Stiquitos' proponents, since the ability to experiment with such complexities
was one of the primary motivations for Stiquitos conception. 
Thus, to produce simple walking the controller developed here will only be 
required to 
determine the sequence and phase periods of signals being sent to the 
individual leg actuators. The coordination required for chewing gum will be 
relegated to a future project.
\par
     Observation has shown insects to employ several different gaits at various
speeds \cite{beer}\cite{wilson}. There are many methods by which a controller may be designed to
produce the desired gaits. Implementing the controller using a binary logic 
entails the development of a traditional Algorithm State Machine (ASM). Given 
a fuzzy logic a similar fuzzy ASM is needed. But such a fuzzy ASM, being 
stochastic
in nature, does not surrender itself easily to verification. Yet it
is suspected that a fuzzy controller would be preferable as it could provide
an acceptable, or at least smoother, behavior in the transitions between
gaits. And it is also believed that expansion of the algorithm to produce the
aforementioned complex behaviors will require much less additional hardware
with the fuzzy-logic implementation than with a binary logic. This 
belief is based on the inherent brittleness of traditional digital von Neumann
machines and their 
typical resistance to extrapolation of state-meaning to the multiplicity of 
possible environmental conditions. Each element of a fuzzy system, on the other 
hand, can itself be seen as a sub-state-machine whose number of states is 
bounded only by the number of values that an element in the logic may assume. 
Thus, given {\em n} fuzzy-logic elements of order {\em s} possible states and an integrating or differential network with a {\em k} degree of connectivity, 
the system may 
assume $kn{\sp s}!$ states. Of course, a general purpose computer may be
programmed to simulate a fuzzy system, but then the advantage of parallelism is
lost and information that may be embedded in the time dependent 
relationships of asynchronous logic 
elements and real-time inputs is virtually impossible to recover.
\par 
	Fuzzy logics can be seen as constrained NNs 
wherein each neuron has (minimally) two inputs and one output. Such
an architecture lends itself admirably to a {\L}ukasiewicz Logic Array 
({\L}LA) implementation. {\L}LAs are (From \cite{mills90a})\begin{quote}
		``... massively parallel analog computers organized as 
		binary trees of identical processing elements performing 
		either implication ($\Rightarrow$), negated implication
		($\not\Rightarrow$) or both.'' \end{quote}
and (from \cite{mills90b}), \begin{quote}``By showing that valuation functions for connectives in 
sentences in {\L} are equivalent to piecewise-constructable first-degree 
polynomials that map the hyperspace $[0,1]\sp{n}$ into the interval [0,1], the capability for building fuzzy pattern recognizers is provided.''\end{quote}
 The {\L}LA, in simpler terms, derives an 
implication function by the differentiation of two electrical currents. 
An organization of H-tree cascaded current mirrors and Schottky diode towers
 accepts a sentence in balanced normal form of implication and
computes a bounded difference function according to those inputs.   
Considering the limitations of VLSI design, this
may be the most promising technology for implementing such a fuzzy
controller. Recent developments allow the placing of 36000 {\L}LA
implications in the $1800\mu$ by $2000\mu$ area of one MOSIS tiny chip
\cite{mills92}. Such an unprecedented yield effectively places the motif of
AI in the applications arena. But due to its current mode analog computation
and Kirchoffs laws, instantiating  recurrency is prohibitively complex.  
In this respect the {\L}LA seems best suited for feed-forward non-recurrent 
NNs. There are, however, various strategies for circumventing this limitation
which are currently under investigation. Also found in \cite{mills92} is the suggestion 
of using double-poly capacitors as storage elements for weights. A similar
approach is presented by Carver Mead in \cite{mead} where an RC circuit acts as a
differentiator and a transfer function.\par 
	The presentation of section 3 of this 
paper describes an NN layout whose architecture follows the propositions of
both Mills and Mead.
Presented is an algorithm which requires chains of phase locked neural loops,
and thereby, a high degree of recurrency. It is possible that
such loops are integral to the operation of the mind. In certain respects,
this belief is born out by the successes of the subsumption architectures
propounded by Brooks et al. \cite{brooks}. The idea has motivated the
development of a VLSI NN implementation which might realize such a hypothesis.
 
To envision how loops might be biologically grounded,
consider the typical human's affinity for music. It may
be the case that the periodic structure of music maps well to 
periodic subconscious cycles in the brain. This periodic structure is
made manifest by the tendency of humans to find themselves unable to cease
repeating a few lines of a tune over and over inside their heads. This
natural noumenon lends credence to the theories of associative memory
models \cite{hinton} wherein the
activation of the mental state associated with one event causes the
succeeding activation of another state. The assertion of these state
relations has the effect of reinforcing their associations 
(ie, Hebbian learning). If this is true, then the 
periodic nature of music may facilitate the streamlining of the brains
operating system, and thus receives positive reinforcement.
Brainstorming on the other hand, is oft perceived as
painful because it requires, as its name implies, an agitation of 
mental process.\par
It should be noted that the hypothesized cycles of the mind are not likely due
to hard wired loops, but rather repeating patterns of state of mind.
And, unlike a Markov Chain  which is bound to eventually recur, the mind,
inherently neuromorphic in nature, is very
unlikely to ever recur exactly to a previously held state. But it will, due to
the basins of attraction formed by the connection weights, tend to 
oscillate within a bounded region of the brains state-space. The reader might
recognize this as the incarnation of that ubiquitous beast of chaos,
the Strange Attractor. Note also that the mind is likely composed 
of many intertwined loops of various degrees of strength and period. New loops 
are constantly being spawned and others dwindle away. 
\par
     With this in mind the digital ASM has been tailored to
model (albeit, not in the distributed sense) the intended behavior of the NN
implementation. That is, the ASM is actually 12 separate ASMs with the data
dependencies between each being limited to a single flag. Each sub-ASM
comprises a cycle which emulates the proposed loops of the NN implementation.
The cycles are linked together as a chain and form two arms of a spanning tree
structure (see figure 2). The root of this tree is the master ASM.
Further explanation is deferred to the next section. But it is
important to realize that the excessive logic required for this
digital implementation is necessary to provide a common structure
between it and the VLSI NN version. This provides for the comparison of
the sizes, speeds and relative fault-tolerance capabilities of the two systems.
The looping structure has also created the unintended
consequence of making the digital controller very versatile in terms
of the number of possible gates derived from a few variables.\par
     The minimal circuitry required to control an insects locomotion 
need only include the inputs of leg position and desired speed.  
The controller developed here will not
require the inputs of leg position as these are determined internally,
relying on the consistent periodic behavior of the legs. That is, it is known
how long it takes for a leg to flex and relax due to the momentary heating of
the nitinol wire. With this knowledge the algorithm should be made to allow 
ample time for a leg to 
complete its {\em kicking} phase before starting it in another cycle. 
The algorithm should be optimized with respect to the order and frequency of
the current pulses being sent to the leg's nitinol actuators. This optimization
will include: 

\begin {itemize}
\item Minimizing the energy required to maintain a certain speed
\item Maintaining balance, and 
\item Providing a symmetric and cyclic pattern of leg movements to
 minimize the logic required.
\end {itemize}
     
     The parameters of balance and the cyclic pattern seem to be directly
related in that the symmetry between the behavior of
the left and right hand sides in {\em stable} gaits tends to provide a
smooth and constant propelling force. As the speed
increases the patterns seem to increase their offset (figure 1). It is
possible that this is because the period of the cycles at greater speeds is
smaller and thus there is less time for the unsupported side to fall. Above a
certain speed the falling time between leg impulses may be so small that no
organized cyclic pattern is needed. The behavior becomes chaotic. But it
may be the case that the insects neural system is not capable of computing
above a certain rate. This is reasonable in that a neuron has a limited
firing rate and the neurotransmitters have a constant rate of
propagation along the
axons and dendrites. Above a certain speed it may not be feasible for a
leg-jerk neuron to wait for the computing circuitry to determine whether
it should fire because in that time it should have fired many times already. In
any case, a silicon controller will not likely need employ chaos as its speed
of processing is several orders greater than the reaction time of the
nitinol. So, in developing the control algorithm a higher fitness
value should be given to sequences which are cyclic and regular and tend
to provide symmetrical support about the center of gravity. This symmetry
is apparent in nature in the form of the tripod and metachronal wave gaits.  
Another constraint which may be considered is whether the legs on
one side will interfere with each other (ie, a middle leg back and a back leg
forward). This implementation does not consider this to be the case but it may
be relevant in future designs.\par
     To minimize the energy function it can be expected that an optimized
algorithm will evenly disperse the leg thrusts on each side of the robot in a
pattern that minimizes friction from dragged legs and minimizes leg
extensions wherein the work necessary is done by one leg and the others are
useless redundancy. \par
     To actually define the representation of the controller on the GA
string it will be necessary first to describe the development of the
controller and its required input values. 
     
\section {A Simple Yet Versatile Digital Controller}

	In this section a possible algorithm for inducing walking
in the Stiquito robot is described. The digital logic is developed with
ViewLogic$\sb{TM}$ for implementation
on an Actel Field Programmable Gate Array System$\sb{TM}$. First a break-down 
of the required time parameters is 
presented. Then a digression is made to motivate the genetic algorithm 
optimization. A quick sketch of the logic required is then presented, although
excessive
detail is not provided as it is believed that the general idea is well 
developed in this paper and documentation sufficient to reproduce the design may
be found in the included figures and digital layout schematics. Of course, 
the ViewLogic design data files may be obtained by email from the authors.
\par
     It can be inferred from figure 1 that all of the stable gaits of insects 
employ variations of metachronal waves of the legs on each side of the body.
That is, it seems that the legs always kick in the sequences of
L1-L2-L3 and R1-R2-R3. It follows that all of the gaits can be
produced with a tuple of 4 time periods which are: 

\begin {enumerate}
\item The time between the beginning of one sequence and the beginning
        of the next sequence on the same side of the body. This is called
	the {\em PC} time (for Primary Cycle).
\item The time between the beginning of a wave on one side of the
        body and the beginning of the corresponding wave on the 
        other side of the body, called the {\em TO} time, for Time Offset. 
\item The time between one leg kicking and its following leg kicking.
	This is called {\em LT} for Leg-interval Time.
\item And possibly, the duration of one leg extension cycle. This will
        probably be constant as the current driven through the nitinol 
        wires is constant, and varying the duration does not 
        vary the rate or degree of contraction. It is referred to as
	{\em TK} for Time of Kicking. In implementations using
        some variable force for propulsion it may be used to control the
        speed of the robot. 
\end {enumerate}

     These time parameters, with the inclusion of a categorizing speed tag, may
represent the GA genotype of this simplified insect. The phenotype is obtained
by applying these terms to an objective function that computes for the
characteristics to be optimized as discussed above. It is believed
that the GA will perform better in finding an optimal configuration
than other heuristics because the problem space is presumed to be
fairly regular with continuous gradients and possibly many local minima
\cite{rawlins}. This can be seen intuitively by noting that the time constants are
effectively continuously valued and lack physical dependencies.

     Figure 1 also depicts the means by which the first 3
time parameters may be used to drive the robot. The 
parameter for current-pulse-frequency ({\sl TK}) is not neccessary but is 
still included in the design in
order that it may be modulated for different
actuators of various resistivities and power requirements.
The leg sequencing circuitry is based on 6 counters and 5 
registers. One counter will determine the
frequency to set the {\sl PC} flag, another will control the {\sl TO}
flag, and all six will be used to sequence the legs on
either side of the body via the setting of {\sl LT} flags. The time-tuples
for each of the 4 different
described gaits are down-loaded onto the controller by latching them into a
register and then, via a multiplexor, into corresponding time registers.
These registers are then referenced by the various segment's counters and
comparators to determine when a phase or cycle should begin.
\par
	The discerning reader may have noted that a more hardware
efficient method would require only one counter, eight registers, a 3 to 8
multiplexor and 7 comparators. The controlling computer would simply down load
to the robot the time required for one full cycle of leg kicks and six
time constants, each representing the time at which one of the legs
should kick. The design presented in \cite{heininger} is particularly well suited
for such an implementation.
The extra parts required may easily be added to their design in order to 
produce the entire controller on one chip.
Again, hardware efficiency is not the primary goal  of this implementation.\par
     It is believed that with this design the legs will not degrade
into chaotic kicking due to undefined states because they will naturally
attain a state of rest until signaled by a valid control signal. That
is, each leg will follow its ASM which will eventually leave it in a resting
state until it again receives a kick signal (see the ASM diagrams included with
each of the ViewLogic schematics). Due to the spanning tree chaining
of the ASMs, the whole system is bound to come to rest. Unexpected states may 
only arise if the root ASM becomes unstable or if signals were able to
propagate up the chains.

\section {Implementing the Controller as a Chain of Phase Locked Loops}

     Figure 3 shows a sketch of a neural topology which follows the 
architecture and algorithm of the digital ASM. 
The importance of this
representation is its possibility of being produced with phase locked 
loops in a recurrent NN. Note that this is a symbolic representation. The 
initial VLSI NN may be hard-wired with discreet loops to simulate the desired
behavior, but the final implementation will entail a sub-symbolic distributed
architecture.
The discreet, hard-coded looping constructs have been designed
and tested with a home-made scheme NN implementation. It appears that they are
sufficient for the production of cyclic patterns in a NN. Of course, many more neurons will be required than is shown in figure 3 in order
to achieve the proper timing. The interesting part will be to train a fully
distributed NN to produced the desired cyclic behavior complete with sub-cycles
and resting states. Inspired by the works of 
\cite{beer}
\cite{aleksander89}
\cite{aleksander91}
\cite{wasserman}
\cite{mead}
\cite{wang}
\cite{reiss}
\cite{williams}, a
simple VLSI implementation has been endeavored to do exactly that.\par 
     Consider that each of the approximate 
$10^{11}$ neurons in the typical human brain
has, on average,
connections to $10^5$ other neurons. Even if it is reasonable to fit 100000
neurons (say, 100 microns square in size each) on a chip, it would still be
practically impossible to implement a degree of connectivity
approaching that of the human brain. The current state of the presented
VLSI NN layout (figures 4, 5 and 6)
attempts to minimize the area required for these connections by having
one line, or axon, 
per neuron which proximally visits all the other neurons which provide
inputs into it, the integrating neuron. That is, the dendritic
tree of each neuron is collapsed into one line. Another strategy that will
likely be employed is the structuring of the neurons into groups (ganglia) or 
cellular automata. That is, a group will consist of a number of nodes
connected in either a random or hypercube topology. The groups themselves
will be similarly connected.\par
     The other major problem in the design of this analog NN has been in
keeping the integration and output functions isolated (required
for recurrency). This is
currently accomplished with the use of a two-phase latch (the equivalent
of a synapse). If the input to this latch reaches a certain threshold (3V), 
the latch will fire (output a value
equal to Vdd), otherwise its output will be GND. In order to have a
variable strength (analog) output from the neuron, the output of the latch 
switches a gate whose source provides a voltage whose value represents the
weight of that neurons departing axon. The training logic
must vary this weight source. Regretfully, this logic has proven to be most
untenable. But possibilities abound! A promising strategy requires that the
NN be composed of two templates or sheets. That is, one fully functional NN 
on one
sheet and an overlaid sheet whose functionality maps to the primary
sheet. The word {\em sheet} is used vice {\em layer} to prevent the confusion 
with the traditional meaning of {\em layer} in the NN vernacular.
 The primary sheet would be the actual
operating system and the other would record the activity and possibly the
success of
the primary. Intermittently the primary sheets's connection weights would be
modified according to a function which considered the conditions of both sheets
as a fitness measure of recently produced behaviors of the primary
net. Note that this provides for incorporating the ideas of Backpropagation and Hebbian
Learning. It is also important to note that such an architecture may be seen to
be a good model of biological systems. That is, real neurons tend to contain
many different and somewhat independent neurotransmitters. In a certain
respect, these transmitters may be seen as representing different copies (or
sheets) of the same net. 
But the important property of such an architecture is that it enables the 
net to evolve at the same time it is actually engaging real-time 
problems.
     


\section {Emergent Cooperative Behavior and Self Organization}
     The development of an interface such as is found in \cite{heininger}  
creates the possibility of addressing and controlling up to
128 Stiquito Robots. Such an army could demonstrate some very interesting
attributes of group dynamics. To
conceive of a means of producing cooperative behavior a mental model must be made of
each Stiquito being simply a coordinate point in a plane. There must be
a causal
relationship between these points such that they may
affect each other and possibly develop complex structures or behaviors
based solely on their relative positions and possibly the discovered
positions of obstacles or goals. But without sensors these robots are
essentially each enveloped in their own universe. Each is required to have some
means of sensing (ultrasonic, infrared) whereby it may at least discover the presence of objects directly in front of it. Each of the robots may also be 
armed with
a receiver/transmitter system for detecting the proximity of other robots.
It would be advantageous if there were 4 directional receivers (photo-transistors)
such that the robots may realize the direction of any nearby
companions. Now, given a central controller and Stiquito configuration as
described above, some interesting and possibly
useful cooperative behaviors may be realized.
\begin {enumerate}
\item Foraging. Not exactly an emergent behavior, but possibly very useful
and easily done. The robots simply maintain a formation and trod through
a field. Object collisions are minimized by incorporating fish school
tactics. The robot schools may be useful in any sort of work requiring the
coverage of a large tract of land.
\item Terrain mapping. Each robot builds a local map (Navigational Template
\cite{miller}). The combination of the local maps forms a global map. But a robots
local map can not contribute to the global map until the robot knows its
general position within the global map. When it does determine this it may
match or patch its local map to the global and reference the global map to
determine a global strategy for obtaining an objective.
\item Robotic Warfare. The Stiquitos, in the current design, are not likely 
to cause much discomfort to anything bigger than a microbe.\footnote{Actually,
the name Stiquito is becoming synonymous with {\em touche'!} It seems no one
who has determined to build a Stiquito robot has avoided getting stung, ie, by
the insertion of piano wire into a finger! It is recommended that you proceed with
ample light and a clear (de-caffeinated) mind.} 
But non-violent
positional battles can be found in many board games wherein the pieces
represent differing strengths and abilities
(Chess, Tank Battle, Risk). To introduce a greater degree of complexity into
the system each Stiquito may be assigned various parameters such as weapons
complement and strength. Each of the competing armies of Stiquitos is then 
tasked with configuring their formation and movement strategies to overcome the
opponent in some respect. This has innumerable possibilities. The objective is to
create rules and parameters such that an emergent cooperative behavior may be
detected in the positions, movements and status LEDs of the robots.
\end {enumerate}

\section {Summary}
	Interest in the opportunities and potentials provided by the recent 
discoveries and developments in Artificial Intelligence has seen a phenomenal
growth during the last decade. The advent of high-powered PCs and workstations
has enabled millions of people, from high-schoolers to Nobel Laureates, the ability 
to engage in serious, leading edge reasearch and development. But there has been
a great propensity for the heralded theories and simulations to go no further than
that, just theories and simulations. The Stiquito robot provides an opportunity 
for many of these ideas to be implemented and tested under the most strenous and
demanding of environments: the hardware lab and the common garage. But, as this paper 
proports, the robot also provides itself as
an excellent academic tool for students to apply various AI projects to. This paper
has presented some of the paradigms of AI which have come under consideration in 
developing a VLSI neural controller to produce dynamic and flexible hexapod locomotion.
It is expected that this objective will soon be born out by the Stiquito robot. 

\begin {thebibliography} {99}

\bibitem {beer} 
``A Distributed Neural Network Architecture for Hexapod Robot Locomotion.''
Randall D. Beer, Hillel J Chiel, Roger D Quinn, Ken Espenschied and Patrick
Larsson. Neural Computation, Vol 4 No 3, MIT Press, 1992, ISSN 0899-7667.

\bibitem {mills90a}
``{\L}ukasiewicz Logic Arrays''. Jonathan W. Mills, M. Gordon Beavers and 
Charles A. Daffinger, Technical Report NO 296, Indiana University,
Bloomington Indiana, 47405-4101.

\bibitem {mills92}
``Area-Efficient Implication Circuits for Very Dense {\L}ukasiewicz Logic Arrays''. Jonathan W. Mills, 1992, Proceedings of 22nd International Symposium on Multiple-Valued Logic. Sendai, Japan.

\bibitem {mills90b}
``An Analog VLSI Array Processor For Classical and Connectionist AI'', 
Jonathan W. Mills and Charles A. Daffinger, Proceedings of Application Specific
Array Processors. Princeton, NJ. IEEE Press.

\bibitem {aleksander89}
``Neural Computing Architectures'', Igor Aleksander, MIT Press, Cambridge
MA, 1989. ISBN 0-262-01110-7

\bibitem {aleksander91}
``An Introduction to Neural Computing'', Igor Aleksander and Helen Morton, 
Chapman and Hall, 1991. ISBN 0-412-37780-2

\bibitem {wasserman}
``Neural Computing, Theory and Practice.'' Philip D. Wasserman, Van
Nostrand  Reinhold, 1989. ISBN 0-442-20743-3.

\bibitem {raibert}
``Legged Robots that Balance'',Mark H Raibert, MIT Press, Cambridge MA,
1986. ISBN 0-262-18117-7.

\bibitem {mead}
``Analog VLSI and Neural Systems'', Carver Mead, Addison Wesley, 1989, 
ISBN 0-201-05992-4.

\bibitem {wilson}
``Insect Walking, Wilson, D.M. Annual Review of Entomology'', 1966, 11,
103-122.

\bibitem {forest}
``Emergent Computation'', Stephanie Forest, editor, MIT Press, Cambridge
MA, ISBN 0-262-56057-7.

\bibitem {wang}
``Alternating and Synchronous Rhythms in Reciprocally Inhibitory Model
Neurons'', Xiao-Jing Wang and John Rinzel, Neural Computation, Vol 4 no 1,
1992, MIT Press, ISSN 0899-7667.

\bibitem {reiss}
``A theory and simulation of rhythmic behavior due to reciprocal
inhibition in small nerve nets'', Reiss R. F., Proc. AFIPS Spring Joint
Comput. Conf., 21, 171-194.

\bibitem {williams}
``Phase Coupling in Simulated Chains of Coupled Oscillators Representing
the Lamprey Spinal Cord'', Thelma L. Williams, Neural Computation, Vol 4 no
4, MIT Press, 1992, ISSN 0899-7667.

\bibitem {miller}
``Global Symbolic Maps from Local Navigation'', David P. Miller and Marc
G. Slack, Proceedings of the Ninth International Conf on AI, Vol 2,  750-
755, MIT Press, ISBN 0-262-51059-6.

\bibitem {brooks}
``The Role of Learning in Autonomous Robots'', Rodney A. Brooks, Ninth
International Conference ...

\bibitem {gilbertson}
``Working With Shape Memory Wires'', Roger G. Gilbertson,
Mondo-tronics Inc., ISBN 1-879896-10-9.


\bibitem {hinton}
``Parallel Models of Associative Memory'', Geoffrey E. Hinton and
James A. Anderson, Lawrence Erlbaum Associates, Inc., 1981, 
ISBN 0-89859-105-8.

\bibitem {rawlins}
``Foundations of Genetic Algorithms'', Gregory J. Rawlins, Editor, Morgan Kaufmann Publishers, 1991, ISBN 1-55860-170-8.

\bibitem {heininger}
``Parallel 2 Serial Controller'', Andrew Heininger and Slamet
Hendry, Indiana University Technical Report No.363, Part 2, 1992.

\end {thebibliography}

\break
\section {Appendix A}
The following information has been posted to cs.robotics by
	bill d'Amico, damico@bronze.ucs.indiana.edu

IUCS Technical Report 363a, "Stiquito:  A Small, Simple, 
Inexpensive Hexapod Robot -- Part 1.  Locomotion and Hard-Wired 
Control" contains detailed instructions to build the robot and a 
hard-wired, manually-operated controller.  The instructions are 
illustrated with 80 life-sized figures that include dimensions and 
enlarged details.  Materials, tools, and vendors are listed. 
Special sections include construction skills for novice users, how 
to fix mistakes, and troubleshooting problems found in real-world 
experience with the robot.

Stiquito and its manual controller are assembled by crimping and 
press-fitting parts.  No soldering is necessary.  The resulting 
robot is very reliable.  A tethered Stiquito walked for over 100 
hours. During the test each leg made 300,000+ 2-3mm strokes. The 
leg movement was reduced because power was supplied during the 
test by a 6v AC/DC adapter.  With a 6v "J" battery typical leg 
movement is 3-7mm. Battery-powered leg movement was unchanged 
after the test.

Anyone may build and use Stiquitos in any quantity for educational 
or research purposes, but Indiana University reserves all rights 
to commercial applications.  Part 1 of the technical report is now 
available and can be obtained in two ways:
\begin {enumerate}
\item {ELECTRONICALLY}
    Use anonymous ftp to obtain the technical report free.  IU's
    ftp site is:

         cs.indiana.edu

    Log in as "anonymous" with username@host or "guest" as a
    password.

    The report will be in one or the other of two directories:

         pub/
         pub/techreports

    The report is available in two formats:

         stiquito.tar (PostScript)
         stiquito.hqx (stuffed, binhexed Microsoft Word 4 for Mac)

    Unfortunately, some of the illustrations in the PostScript
    file print with minor errors (patterns missing, and some
    polygons deformed), but they are still understandable.



\item {BY MAIL (with options for a kit and a videotape)}
     Send your request for the report with payment to:

         Computer Science Department
         215 Lindley Hall
         Indiana University
         Bloomington, Indiana, 47405

     To receive the technical report only send \$ 5 US PRE-PAID and
     add the following line to the address:

         ATTN: TR 363a

     To receive the technical report and a kit containing all
     materials needed to construct Stiquito and its manual
     controller send \$ 15 US PRE-PAID.  Add the following line to
     the address:

         ATTN: TR 363a Stiquito Kit

     The kit alone is available for \$ 10 US PRE-PAID. Add the
     following line to the address:

         ATTN: Stiquito Kit
\end {enumerate}
     The charges cover materials, a kitting fee, the technical
     report, and mailing.   The kit is provided as a non-profit
     service by Indiana University.  The author receives no fee or
     reimbursement from the sale of the kit.

     The CS department has also videotaped the assembly of a
     Stiquito (including the author making some mildly 
     embarrassing mistakes during construction! :-).  It is
     available separately for an additional \$ 10 US PRE-PAID.
     Just add VIDEO to the attention line.

     For example, if you purchased the TR, kit, and video then
     \$ 25 US would be enclosed and the following line would be
     added to the address:

         ATTN: TR 363a Stiquito Kit VIDEO

\break
\section {Appendix B: Signals, Schematics and Test Scripts for the
digital controller}

\end{document}   


