Stiquito, A Platform for Artificial Intelligence

Matthew C Scott

1 Dec 1992

Abstract

This paper presents examples and opportunities for studying and applying the paradigms of Artificial Intelligence using the simple and inexpensive platform provided by the Stiquito robot.

1. The mechanics of articulated hexapod ambulation are inspected and a genetic algorithm is motivated for determining the optimal gaits that Stiquito may attain while minimizing energy consumption and maintaining balance.

2. An algorithm is presented for controlling the legs which allows for over \binom{240}{3} forward-propelling gaits. Its development on a CAD system and implementation on an FPGA are illustrated.

3. The algorithm is then presented as a neural network using chains of phase locked loops. Implementation using CMOS VLSI technology is then investigated.

4. And in summary, some possible experiments are considered for producing interesting populational dynamics such as emergent cooperation and self-organization.

1 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:

• Part A: “Stiquito, A Small, Simple, Inexpensive Hexapod Robot”, Jonathan W. Mills.

• Part B: Sensors and Controllers.

“Stiquito, A Platform for Artificial Intelligence”, Matthew Scott.

“Parallel 2 Serial Controller”, Andrew Heininger and Slamet Hendry.

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.

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 [17]. 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.

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.

2 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 [8]. 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.

Observation has shown insects to employ several different gaits at various speeds [1][10]. 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 n fuzzy-logic elements of order s possible states and an integrating or differential network with a k degree of connectivity, the system may assume kn^{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.

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 Łukasiewicz Logic Array (ŁLA) implementation. ŁLAs are (From [2])

“... massively parallel analog computers organized as binary trees of identical processing elements performing either implication (⇒), negated implication (⇏) or both.”

and (from [4]),

“By showing that valuation functions for connectives in sentences in Ł are equivalent to piecewise-constructable first-degree polynomials that map the hyperspace [0, 1]^{n} into the interval [0,1], the capability for building fuzzy pattern recognizers is provided.”

The Ł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 ŁLA implications in the 1800μ by 2000μ area of one MOSIS tiny chip [3]. 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 Ł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 [3] is the suggestion of using double-poly capacitors as storage elements for weights. A similar approach is presented by Carver Mead in [9] where an RC circuit acts as a differentiator and a transfer function.

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. [16]. 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 [18] 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.

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.

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.

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 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:

• Minimizing the energy required to maintain a certain speed

• Maintaining balance, and

• Providing a symmetric and cyclic pattern of leg movements to minimize the logic required.

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 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.

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.

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.

3 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_{T M} for implementation on an Actel Field Programmable Gate Array System_{T M}. 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.

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:

1. 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 PC time (for Primary Cycle).

2. 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 TO time, for Time Offset.

3. The time between one leg kicking and its following leg kicking. This is called LT for Leg-interval Time.

4. 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 TK for Time of Kicking. In implementations using some variable force for propulsion it may be used to control the speed of the robot.

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 [19]. 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 (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 PC flag, another will control the TO flag, and all six will be used to sequence the legs on either side of the body via the setting of 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.

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 [20] 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.

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.

4 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 [1] [5] [6] [7] [9] [12] [13] [14], a simple VLSI implementation has been endeavored to do exactly that.

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.

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 sheet is used vice layer to prevent the confusion with the traditional meaning of 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.

5 Emergent Cooperative Behavior and Self Organization

The development of an interface such as is found in [20] 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.

1. 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.

2. Terrain mapping. Each robot builds a local map (Navigational Template [15]). 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.

3. Robotic Warfare. The Stiquitos, in the current design, are not likely to cause much discomfort to anything bigger than a microbe.^{1} But nonviolent 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.

6 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.

1Actually, the name Stiquito is becoming synonymous with 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.

References

[1] “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.

[2] “Łukasiewicz Logic Arrays”. Jonathan W. Mills, M. Gordon Beavers and Charles A. Daffinger, Technical Report NO 296, Indiana University, Bloomington Indiana, 47405-4101.

[3] “Area-Efficient Implication Circuits for Very Dense Łukasiewicz Logic Arrays”. Jonathan W. Mills, 1992, Proceedings of 22nd International Symposium on Multiple-Valued Logic. Sendai, Japan.

[4] “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.

[5] “Neural Computing Architectures”, Igor Aleksander, MIT Press, Cambridge MA, 1989. ISBN 0-262-01110-7

[6] “An Introduction to Neural Computing”, Igor Aleksander and Helen Morton, Chapman and Hall, 1991. ISBN 0-412-37780-2

[7] “Neural Computing, Theory and Practice.” Philip D. Wasserman, Van Nostrand Reinhold, 1989. ISBN 0-442-20743-3.

[8] “Legged Robots that Balance”,Mark H Raibert, MIT Press, Cambridge MA, 1986. ISBN 0-262-18117-7.

[9] “Analog VLSI and Neural Systems”, Carver Mead, Addison Wesley, 1989, ISBN 0-201-05992-4.

[10] “Insect Walking, Wilson, D.M. Annual Review of Entomology”, 1966, 11, 103-122.

[11] “Emergent Computation”, Stephanie Forest, editor, MIT Press, Cambridge MA, ISBN 0-262-56057-7.

[12] “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.

[13] “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.

[14] “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.

[15] “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.

[16] “The Role of Learning in Autonomous Robots”, Rodney A. Brooks, Ninth International Conference ...

[17] “Working With Shape Memory Wires”, Roger G. Gilbertson, Mondotronics Inc., ISBN 1-879896-10-9.

[18] “Parallel Models of Associative Memory”, Geoffrey E. Hinton and James A. Anderson, Lawrence Erlbaum Associates, Inc., 1981, ISBN 0-89859-105-8.

[19] “Foundations of Genetic Algorithms”, Gregory J. Rawlins, Editor, Morgan Kaufmann Publishers, 1991, ISBN 1-55860-170-8.

[20] “Parallel 2 Serial Controller”, Andrew Heininger and Slamet Hendry, Indiana University Technical Report No.363, Part 2, 1992.

7 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 pressfitting 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:

1. 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.

2. 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

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

8 Appendix B: Signals, Schematics and Test Scripts for the digital controller