Sie sind auf Seite 1von 4

robot called Sticky (because it looked

FEATURE like an insect commonly called a


“walking stick”).

ARTICLE The Stiquito is a small, simple, and


inexpensive six-legged robot that has
been used as a research platform to
study computational sensors, subsump-
tion architectures, neural gait control-
James M. Conrad & lers, emergent behavior, cooperative
Jonathan W. Mills behavior, and machine vision. It has
also been used to teach science in
primary, secondary, and high school

A PC-Based Controller curricula.


Jonathan Mills announced the
availability of the Stiquito in 1992.

for the Stiquito Robot For $10, you could order a kit from
Indiana University to build the small
robot. Jonathan didn’t envision the
number of requests he would receive,
which by 1996 had reached more than
3000. The volume of orders strained

t
his personal ability to fulfill them and
he soon stopped supplying the kits.
he typical legged At the same time, we were finishing
robot is large, com- the book Stiquito: Advanced Experi-
Small. Inexpensive. plex, and expensive. ments with a Simple and Inexpensive
Naturally, such factors Robot. The book contains instructions
Easy to develop. have limited the use of legged robots on building the Stiquito and its control
in research and education. circuits as well as a robot kit.
The Stiquito meets Few universities can afford to con- One of the most flexible ways to
struct robot centipedes or 100 six-legged control the walking gait of a Stiquito
all of these require- robots to study emergent cooperative robot is by using a PC and writing a
behavior. Even fewer universities can program. The program controls the
ments. If you’ve give each student in a robotics class contractions of the nitinol wire, thus
their own walking robot. making the Stiquito walk.
never worked with The introduction of the Stiquito, This article contains the instructions
which is shown in Photo 1, changed for making a circuit that can be plugged
one before, listen up all of that. The Stiquito was devel- into the parallel port of a PC. We also
oped from a larger and more complex discuss the concepts of the PC parallel
as James and
Jonathan explain
how they made this
Photo 1—The stiquito is an inexpensive
little robot walk with hexapod robot that uses nitinol wire for
propulsion. When nitinol is heated by
running current though it, the wire con-
a tripod gait. Simple. tracts, moving the legs back, and the
robot forward. Watch out! Nitinol has a
tendency to eat batteries in no time, so an
external power supply is suggested.

www.circuitcellar.com CIRCUIT CELLAR® Issue 108 July 1999 1


center Stiquito bus bar and then to the
center pin of the three-pin jumper.
Solder the other two Stiquito tripod
control wires to the two outside pins of
a three-pin jumper.
Sand all six ends of the three wires
of the magnet wire group. Next, you
need to solder the three wires at one
end of the magnet wire to the three
pins of a three-pin socket. Identify the
Photo 2—This board was custom made for this circuit, but you can use perf board material as well. We also wire soldered to the center of the
recommend socketing the ULN2803 instead of soldering the chip to the board in case the chip fails. three-pin socket and solder it to the
first pin of a nine-pin jumper post.
port and provide instructions on how to We recommend a dedicated power Solder one of the remaining wires
write a program to make the Stiquito supply, a 5–6-VDC transformer, or a of the tether to the next four pins of
walk with a simple tripod gate. 9-V battery. the nine-pin socket and use some of
To make the parallel port board, the wire-wrap wire to connect these
THE BIG PICTURE simply insert the sockets, integrated four pins together (repeat this step
The PCB plugs into the PC’s parallel LEDs, and connector into the board with the remaining wire of the tether).
port and generates enough current to and start soldering. After that, insert Plug the tether into Stiquito, but
light up LEDs on the board and make the ULN2803 chip into the socket and don’t plug it into the parallel port card
the Stiquito walk. The LEDs help you solder your power source to the two-pin yet. Use the board to test your
develop your computer program, and jumper post. Make sure you insert the Stiquito walking program by observ-
the board provides an easy-to-see report LEDs into the board in the correct ing the LEDs (perhaps preventing
on how your program is executing. Once orientation. We used integrated LEDs, damage to the nitinol wires because of
your program correctly works and the which have a diode and resistor com- a programming error).
LEDs show a viable gait, you can plug bined in one package.
the Stiquito control wires into a socket The component and solder sides of THE PARALLEL PORT
on the board. the PCB are shown in Photo 2. Although The parallel port was designed to
The black lines in Figure 1 show we made a custom PCB, we have also serve as an output port from a PC and
the logic on the circuit board when used a Radio Shack perf board 276-150, attach to a printer. Some parallel ports
the Stiquito isn’t attached. The ULN- which is particularly handy because it allow both input and output, but we
2803 driver chip inverts the value of has board holes electrically connected only used the port as an output.
the input so the LED will light up like a breadboard. Although there are 25 pins for a
when current is drawn towards the Your PC parallel PCB is now com- parallel port, we only use nine. Eight
ULN2803. plete. Using your ohmmeter, put one lines are used as data output lines and
The addition to Figure 1, shown in contact on the pin labeled 1 or 9 of one line serves as the electrical ground.
blue, illustrates the attachment of the the header and the other contact on When using the parallel port, com-
Stiquito robot. In this circuit, the LEDs each of the other eight pins, one at a puter programmers usually write
light and the nitinol legs contract. time. Make sure the ohmmeter registers information to two locations. One
The circuit in Figure 1 should be some resistance, but not infinite resis- register location controls the port, and
used without the Stiquito attached to tance. Check your work to make sure the other contains the data to send.
test your hardware and software. This you have no shorts or broken traces. We used only the data register.
precaution protects the Stiquito’s Some computers have more than one
nitinol actuators from damage while GETTING ATTACHED parallel port, generally labeled LPT1,
you are developing your circuit. Now that you’ve built the parallel LPT2, and LPT3. Each has a different
The parts needed to build this port controller board, you need to data register. You can access them by
simple board are readily available prepare the Stiquito robot and
from electronics suppliers and cost make its control tether. Parallel port ULN2803 Integrated LEDs
about $5. In addition to the circuit Cut a small length of wire- 2 1 18
board, we made a tether to connect wrap wire and solder it to the 3 2 17
4 3 16
the board to the Stiquito robot. 5 4 15 Stiquito
6 5 14 tripods
7 6 13
MAKING THE PCB Figure 1—Only nine of the parallel port pins 8 7 12
9 8 11
Although there are many circuits are used. The ULN2803 Darlington transistor
array is a common chip used as a current 25 9 10
you can build to attach to the parallel 6–9 V
driver. The integrated LEDs are used to help
port, we recommend using a circuit program Stiquito’s walking gaits. Four transis-
– +

that doesn’t draw current from the PC. tors drive three Stiquito legs.

2 Issue 108 July 1999 CIRCUIT CELLAR® www.circuitcellar.com


an insect leg is also quite complicated.
Listing 1—This program makes Stiquito walk with a tripod gait. This code assumes that the upper nibble But even though the Stiquito is
controls one tripod, and the lower nibble controls the other. We allow the nitinol to rest after it is activated.
simple, small programs can demon-
REM "OUT &H378" sends an 8-bit value to the printer port. The strate the fundamental features of
REM data sent is hexadecimal. arthropod locomotion.
Later on, you can develop more
DELAY = 14000
realistic models of gait controllers
10 OUT &H378, &HF0 : REM &HF0 is binary 11110000
FOR x = 1 TO DELAY : NEXT x based on neural networks or central
pattern generators and feedback from
OUT &H378, 0 strain gauges or other sensors that
FOR x = 1 TO DELAY : NEXT x
mimic the sensorimotor loop in a real
OUT &H378, &HF : REM &HF0 is binary 11110000 insect.
FOR x = 1 TO DELAY : NEXT x The gaits of insects are believed to
be a result of central pattern genera-
OUT &H378, 0
tors that vary the animal’s gait from a
FOR x = 1 TO DELAY : NEXT x
metachronal wave to a tripod gait and
REM If a key on the keyboard was pressed, then end. all the variations in between. Each
REM Otherwise, walk some more! gait conserves energy as it preserves
a$ = INKEY$
the balance of the insect. As the se-
IF a$ = "" THEN GOTO 10
END quences in Figure 2 indicate, the insect
is always in a stable position with at
least three legs (and often more) on
using a different register address. send the eight bits 11110000 to the the ground at all times.
Typically, the register address for port. In QBASIC, this is written as The metachronal wave is the slow-
the single parallel port (or LPT1) is OUT &H378, data, where data is est and most stable gait. It’s seen when
&H378, but your PC may use another the bit pattern 11110000. a “wave” of leg movement ripples down
address like &H278 or &H3BC. You Unfortunately, we can’t represent each side of the insect or arthropod.
can verify this by using the Microsoft the bit pattern 11110000 as data in the The animation sequence in Figure 2a
diagnostics program (MSD.EXE) and QBASIC language. But, we can con- shows two waves flowing down each
examining the port address. vert it to hexadecimal representation. side of a ten-legged insect robot.
We use all eight of the parallel port For our Stiquito control application, The tripod gait is the fastest stable
output lines to control our Stiquito we only used nibble values of 0000 (0) gait, with two legs on one side of the
robot, and we control each line with a and 1111 (F). To define the value in a insect and one on the other side alter-
binary digit, or bit. A response of 1 hexadecimal number, we put &H in nately on the ground or in the air, as
means turn on the line, and a response front of the digits. The line is now shown in an animation of an advanced
of 0 means turn off the line. written OUT &H378,&HF0. six-legged insect robot (see Figure 2b).
To write to the parallel port, write This tripod gait relies on a leg that
eight bits of data to the parallel port’s GAIT PROGRAMMING has two degrees of freedom. The Sti-
data register. For example, to write The mechanisms of arthropod loco- quito assembled using our book has
the signal 1 to the top four bits and 0 motion are complex and have been only one degree of freedom.
to the lower four bits of the register, extensively studied. The structure of Our Stiquito walks with a simpler
form of the tripod gait shown in Fig-
ure 2b. The legs only flex and relax
Listing 2—This code piece shows how to keep nitinol contracted with a 33% duty cycle.
while they are on the ground. This is
REM High-frequency pulses initially contract actuators the same way it is controlled using
FOR a = 1 TO 20 the manual controller explained in
OUT &H378, &HF0 : REM &HF0 is binary 11110000 our book.
FOR x = 1 TO 100 : NEXT x
OUT &H378, 0 Using QBASIC to control the walk,
FOR x = 1 TO 100 : NEXT x you’ll need to use the OUT statement
NEXT a to activate and deactivate the legs. You
should add a delay in your program to
REM Low frequency pulses maintain actuator contraction
FOR a = 1 TO 40 hold the activation signal for about
OUT &H378, &HF0 : REM &HF0 is binary 11110000 1 s, then hold the deactivation signal
FOR x = 1 TO 100 : NEXT x for 1 s. The code to perform this task
OUT &H378, 0 for one tripod is shown in Listing 1.
FOR x = 1 TO 200 : NEXT x
NEXT a The number 14000 is an arbitrary
value that is computer dependent.
You may have to make this number

www.circuitcellar.com CIRCUIT CELLAR® Issue 108 July 1999 3


top, you may want the flexibility of
a)
being able to control all six legs. I
James Conrad is an engineer at Erics-
1 2 3 4 5 6 7 8 9 10 leg on ground son Inc., and an adjunct professor at
Metachronal wave
leg in air
North Carolina State University. He
b) leg on ground, flexed
has written on the topics of robotics,
leg in air, flexed
parallel processing, artificial intelli-
1 2 3 4 5 6 7 8 9 10 11 12 13 14
gence, and engineering education.
Tripod gait You may reach him at jconrad@
stiquito.com.
Figure 2—The robot walks best on a slightly rough surface, like linen tablecloths or roughly sanded wood. Compare
the metachronal wave gait (a) versus the tripod gait (b). Check out the Stiquito supplemental web site for BASIC Jonathan Mills is an associate professor
programs used to make the robot walk in a tripod gait.
in the Computer Science Department
higher if your computer is faster than at Indiana University and director of
The nitinol actuator behaves as a
a ’486-based machine (66 MHz). Indiana University’s Analog VLSI
leaky integrator of the current pulses
and Robotics Laboratory, which he
sent to it and responds to the heat gener-
SAVING POWER founded in 1992. Jonathan invented
ated by the current pulses and lost to
Driving the nitinol actuator with the Stiquito to use in multirobot
convection from the wire. Figure 3
the same amount of current is unnec- colonies and to study analog VLSI
shows how a PFM driver program
essary after the nitinol contracts. Only implementations of biological systems.
works, and Listing 2 shows how to
enough current to keep the nitinol You can reach him at stiquito@cs.
use PFM to control one tripod of the
contracted (i.e., just enough to replace indiana.edu.
Stiquito robot.
the energy that escapes as heat) is
needed. The current and the voltage JUST THE BEGINNING SOFTWARE
supplied to the nitinol cannot be The purpose of the Stiquito robot Software for this article is available
changed dynamically, but the power kit is to enable you to create a platform via the Circuit Cellar web site. The
can be varied using a technique called from which you can start experimen- parts list and photos of the finished
pulse frequency modulation (PFM). tation for making the robot walk. The product are posted there as well.
PFM means that the number (fre- instructions in the book show how
quency) of pulses is varied over time. you can create a Stiquito that walks REFERENCES
The PC parallel printer port and the in a tripod gait. The circuitry and
interface card can generate a PFM signal J.M. Conrad and J.W. Mills,
computer programs we’ve shown in
because the nitinol reacts slowly com- Stiquito: Advanced Experiments
this article enable you to control this
pared to the speed with which a BASIC with a Simple and Inexpensive
tripod gait via a PC parallel port.
program can turn the ULN2803 driver Robot, IEEE Computer Society
If your plans include independent
chip on and off. Press, Los Alamitos, CA, 1997.
control of each of the Stiquito’s legs,
By varying the length of time that J. W. Mills, Stiquito: A Small,
you should modify the assembly of
the driver chips are left off, the fre- Simple, Inexpensive Hexapod
your robot such that you attach con-
quency of the pulses can be increased Robot. Part 1: Locomotion and
trol wires to each leg individually. If
or decreased. This arrangement allows Hard-wired Control, Technical
the design of your robot includes put-
the power used to drive the robot to Report 363a, Computer Science
ting something on top (e.g., a circuit
be varied dynamically. Department, Indiana University,
that enables it to walk on its own),
Bloomington, IN, 1992.
you should consider
Stiquito information,
a) how you want it to
www.computer.org/books/
walk.
stiquito; www.stiquito.com
If you simply want
Percent of length that actuator contracts
the robot to walk, a SOURCE
b) tripod gait may be suffi-
Stiquito books
cient. But, if you plan to
IEEE Computer Society
put complex circuitry
(800) 272-6657 • (714) 821-8388
Apparent current like a microcontroller on
Fax: (714) 821-4641
c) Figure 3a—The nitinol wire will www.computer.org/cspress/cata-
contract and stay contracted until it
log/bp07408.htm
cools. b—To stay contracted,
nitinol wire needs only 25–35% of
Current pulses
the current needed to initially heat Circuit Cellar, the Magazine for Computer Applications.
it. c—Pulsing current with a 25– Reprinted by permission. For subscription information,
OUT statements that generate current pulses (note variable delay) 35% duty cycle will keep the wire call (860) 875-2199, subscribe@circuitcellar.com or
contracted. www.circuitcellar.com/subscribe.htm.

4 Issue 108 July 1999 CIRCUIT CELLAR® www.circuitcellar.com

Das könnte Ihnen auch gefallen