Professional Documents
Culture Documents
Vol. 3 No. 4
SERVO MAGAZINE
REAL-WORLD ROBOTS
April 2005
Remember when...
...electronics stores were stocked to the rafters
Circle #38 on
the Reader Service Card.
SV TOC.qxd 3/11/2005 10:20 AM Page 4
SERVO
Features & Projects
27 Reusable Robot Software
Part 3: Navigation
58 Exoskeletons
What Are They Good For?
On The Cover
The ever-popular ASIMO android
from Honda displays his agility
78
on our cover by balancing on
one foot.
Photo courtesy of Honda.
SERVO Magazine (ISSN 1546-0592/CDN Pub Agree#40702530) is published monthly for $24.95 per year by T & L Publications, Inc., 430
Princeland Court, Corona, CA 92879. APPLICATION TO MAIL AT PERIODICALS POSTAGE RATE IS PENDING AT CORONA, CA AND AT
ADDITIONAL ENTRY MAILING OFFICES. POSTMASTER: Send address changes to SERVO Magazine, 430 Princeland Court,
Corona, CA 92879-1300 or Station A, P.O. Box 54,Windsor ON N9A 6J5; cpcreturns@servomagazine.com
SV TOC.qxd 3/11/2005 10:21 AM Page 5
4.2005
“Asimov thought that they would have a robotic intelli-
gence — an AI that would function as a sentient, interactive
[robot] — by 2030. What would it be like to have a being
VOL. 3 NO. 4
that from its very inception was curious, intuitive, drawn to
certain things, fascinated by certain things?”
—Robin Williams, actor
Departments Columns
6 Mind/Iron 8 Robytes
The Future of ASIMO News from the Robotics World
7 Bio-Feedback 12 Rubberbands
Where You Have a Voice Holonomic Drive Platforms
10 New Products 16 Robotics Resources
The Latest Project Parts Searching for Stepper Motors
51 Robotics Showcase 22 GeerHead
Get What You Need Quick The RoboCoaster G2
56 SERVO Bookstore 66 Lessons from the Laboratory
Feed Your Brain Interview with Steve Hassenplug
72 Brain Matrix 69 Assembly Line
DIP Microcontrollers Parts Inspection, Round #2: Motors
77 Events Calendar 74 Ask Mr. Roboto
Find a Show Near You Your Problems Solved Here
79 Robo-Links 78 Appetizer
Your Link to Parts and Services Why Do Most Women Hate Robots?
81 Advertiser’s Index 82 Then and Now
A List of Supporting Advertisers A Look Back at the Androbot TOPO
Coming 5.2005
Five Robots That Could
Save Your Life
The advancement of robots has
moved well beyond the battle
arenas and into the practical
applications they were truly
meant for: aiding man in tasks
that were once thought
impossible.
Mind-Feedb.qxd 3/10/2005 3:37 PM Page 6
Published Monthly By
The TechTrax Group — A Division Of
T & L Publications, Inc.
430 Princeland Court
Corona, CA 92879-1300
(951) 371-8497
FAX (951) 371-3052
Mind / Iron www.servomagazine.com
ust when you thought you couldn’t get time both feet are off the ground varies PUBLISHER
ASSOCIATE PUBLISHER/
technologies for the next-generation with an airborne time of 0.05 seconds. VP OF SALES/MARKETING
humanoid robot. The main focus will be to In order to run, a robot (and people Robin Lemieux
achieve a new level of mobility that will alike) has to be able to repeat the robin@servomagazine.com
better enable ASIMO to function and interact movements of pushing off the ground,
with people by quickly processing swinging its legs forward, and landing EDITOR
information and acting more nimbly in real- within a very short time cycle and very little Ryan Lee Price
world environments. Since Honda rarely does time spent processing information as to ryan@servomagazine.com
anything low-key or in a mundane fashion where it is stepping. As well, it has to absorb
(except for their new Civic, of course), the impact of the landing. With the newly CIRCULATION DIRECTOR
they’ve decided to pack ASIMO with a whole developed processing circuitry and high- Mary Descaro
subscribe@servomagazine.com
slew of new improvements (well, three power motors — in addition to lightweight
actually, but they’re big changes) that will but very rigid legs — ASIMO can process
WEB CONTENT/STORE
usher in an higher level of robotic autonomy. these motions four times faster than that of Michael Kaudze
Essentialy, when the new and improved the previous model. It can not only run, but michael@servomagazine.com
ASIMO takes his first step, we’re that much it knows where it’s going, too.
closer to having one in our living rooms. The next-generation ASIMO can PRODUCTION/GRAPHICS
Much like the Six Million Dollar Man, maneuver toward its destination without Shannon Lemieux
the revamp will make it faster, stronger, and stopping to compare any changes between
more powerful than ever, literally. At 119 its input information and the information STAFF
lbs, it has gained five pounds and grown 10 about the surrounding area obtained from Dawn Saladino
cm in height to 130 cm. ASIMO’s power can its sensors. As well, ASIMO can now Corrie Panzer
last twice as long as before (now one hour) autonomously change its path when its floor
and it enjoys 34 degrees of freedom over sensor and visual sensors located in its head OUR PET ROBOTS
Guido
the 26 in the original ASIMO. detect obstacles.
Mifune
The combination of newly developed, By detecting people’s movements
more responsive hardware and new posture through its visual sensors and kinesthetic Copyright 2005 by
control technology will enable ASIMO to sensors added to its wrists, ASIMO can now T & L Publications, Inc.
proactively bend or twist its torso to move in sync with people around it, making All Rights Reserved
maintain its balance and prevent the it able to give or receive an object, shake
problems of slipping at higher speeds. hands more naturally with a person’s All advertising is subject to publisher's approval.
Believe it or not, ASIMO will be capable of movement, and step forward or backward in We are not responsible for mistakes, misprints,
running at a speed of 1.8 mph (making itself response to the direction its hand is pulled or typographical errors. SERVO Magazine
airborne approximately 0.05 seconds during or pushed. assumes no responsibility for the availability or
each stride), and the walking speed has By continuing to advance these new condition of advertised items or for the honesty
been increased from the previous one mph technologies, forward-thinking companies of the advertiser.The publisher makes no claims
for the legality of any item advertised in SERVO.
to 1.5 mph. such as Honda (and the 75 others in the big-
This is the sole responsibility of the advertiser.
Depending on one’s speed and the name robot race) will soon develop
Advertisers and their agencies agree to
airborne time, when a human runs (we’ve equipment and technology that will be
indemnify and protect the publisher from any
been doing it for more than a million years), useful to people. And isn’t that what this is and all claims, action, or expense arising from
the step cycle is 0.2 to 0.4 seconds, and the really all about? SV advertising placed in SERVO. Please send all
subscription orders, correspondence, UPS,
overnight mail, and artwork to: 430 Princeland
Court, Corona, CA 92879.
6 SERVO 04.2005
Mind-Feedb.qxd 3/11/2005 10:24 AM Page 7
HELP!!
I was wondering if you might I just wanted to let you know that
consider delving into ROV and tele- I subscribed to this magazine with the
operation in the “how-to” section of hopes that it will include valuable
your magazine. Though not technically a information on building and If you’re not seeing the types of articles
robot, an ROV does employ many programming servo-driven animations, you’d like, let us know! Tell us the topics
that you enjoy the most. Tell us what
systems that could be put into use on a and not specifically robots ... which I you’d like to learn. Are you a software or
true robot. Of particular interest to me is have very little interest in. What I hardware guy? Are you totally new to
stereo-vision (two cameras transmitting should say is that I could not care less robotics and don’t know where to start?
on different frequencies and the about robotics, yet I love animatronics. What sort of robots would you like to
build as part of a continuing series?
operator wearing an HMD, consisting of I hope that you will take this into
two LCD screens) and vibration detection consideration as you move forward. How about considering submitting an
(possibly a metal ball bearing in a curved Erich Neugebauer article yourself? You may be more of an
expert than you think! Did you figure out
section of pipe making contact with Via Internet a killer fix for a problem you were having
electrodes as the land ROV passes over with some part of your robotic system?
rough terrain. The operator could feel Article Wish List
Are you participating on a team or in a
this at the control station with a large How about less articles about club where you’ve got some unique
speaker mounted to the chair). Any BEAM and more about real robotics experiences or insight you could share
discussion would be much appreciated. based in reality and not marketing with your fellow roboticists?
Erik Zavrel hype. Articles based upon real world If you have general questions or
Via Internet problems in robotics such as navigation, comments about SERVO Magazine,
object recognition, color vision, etc. please contact us: SERVO Bio-Feedback,
Bracket Control Disgruntled 430 Princeland Court, Corona, CA
92879; or email: feedback@servo
I want to build a servo-controlled Via Internet magazine.com
robot like KHR-1, but my problem is the
body. How do you make the brackets How about a straightforward Better yet, go to our website at
www.servomagazine.com and check
that hold all the servos together? Do article on getting PWM going on an out the writer’s guidelines. You’ll get
you know a place where they sell only AVR. Try for the life of me, I can't quite paid for your printed submissions. Look
brackets like a kit? Any information get the hang of working the interrupts. at this as an opportunity to make a
difference in the development of robotics
would be appreciated. C or Bascom would be great. and make some extra cash for your own
Erick Soto Mark Weston projects!
Via Internet Via Internet
8 SERVO 04.2005
Robytes.qxd 3/9/2005 5:50 PM Page 9
Robytes
SERVO 04.2005 9
ArpNewProducts.qxd 3/10/2005 2:52 PM Page 10
New Products
New Products
closed-loop control. The user can select either an analog
CONTROLLERS & PROCESSORS voltage feedback or a digital encoder feedback (quadrature
encoding is not supported). With the two feedback alterna-
tives, various simple devices, such as potentiometers, can
30-Amp DC Motor Controller be used as sensors to achieve position or speed control.
10 SERVO 04.2005
Full Page.qxd 3/10/2005 9:38 AM Page 11
$295
Capture digital signals down to 25nS
with arbitrary trigger patterns.
See the spectrum and waveform of analog
signals simultaneously and in real-time Pocket Analyzer combines a high speed sample-synchronized storage scope
and logic analyzer with a programmable waveform and logic pattern generator.
Also included is an integrated real-time spectrum analyzer and powered "Smart
Waveform Generator POD" expansion interface so you've got all bases covered!
Load up to 32K arbitrary waveform and replay
via the onboard DAC (10MS/s) or a digital About the same size and weight as a Pocket PC, this USB powered BitScope
pattern from the POD (40MS/s) needs no bulky accessories. It's the perfect low cost "go anywhere" test and
debug solution.
Standard 1M/20pF BNC Input BitScope "Smart POD" Connector BUS Powered USB 2.0 Device External/Passthru Power Supply
200uV-20V/div with x10 probe 8 logic channels, 2 analog channels Single USB cable to your PC Auto senses an external supply -
S/W select AC/DC coupling Dual channel capture from POD A/B Compressed data transmission removes power load from USB
S/W select 50ohm termination Async serial I/O for external control Simple ASCII control protocol for use with unpowered hubs.
Arbitrary Waveform Generator Logic Pattern generator 32K 40MS/s BitScope Scripting Language Supplies up to 500mA via POD
• R&D
• Education
• Robotics
• Lab Scope
• Fast DAQ
• Service
• Debug
by Jack Buffington
Figure 1. An omniwheel. Figure 2. This type of omniwheel is also Figure 3. You can have any
known as a transwheel. number of omniwheels
on your robot.
12 SERVO 04.2005
Rubberbands.qxd 3/9/2005 3:25 PM Page 13
SERVO 04.2005 13
Rubberbands.qxd 3/9/2005 3:25 PM Page 14
do is scale the values from the previous calculation based on cient for your purposes, but if you want to change the
the speed value that we are given. We will accomplish this direction that the robot is facing, then you will need to use
using the formula shown in Figure 6. In a nutshell, this for- the twist variable. Twist is a signed integer, so all you need
mula takes the input value and leaves it untouched if you to do to get your robot to turn in place is to add the twist
want to go full speed. As your speed variable decreases in variable to the scaled “lookup table” value. You will need to
value, the results are scaled more toward 127, which repre- keep in mind that this could overflow or underflow your
sents the motor not turning. For those of you who are visual eight-bit variable so make sure to do that addition in 16-bit
thinkers, Figure 7 should help you understand the function of signed math and then check that it will fit within an eight-
this formula. bit variable.
At this point, if you were to feed the results of this for- Here’s an interesting piece of information that might sur-
mula into your motor drive subroutine, you would be able prise you: You can use this very same omniwheel calculation
to move in any direction at any speed, but your robot on two-wheeled robots, as well. Your robot won’t be able to
would always face the same direction. That might be suffi- move sideways anymore, but it might simplify how you con-
// this code is meant to be compiled by the CCS C compiler for a Microchip PIC processor
const int8 sinWave[] =
{128, 131, 134, 137, 140, 143, 146, 149, 153, 156, 159, 162, 165, 168, 171,
174, 177, 180, 182, 185, 188, 191, 194, 196, 199, 201, 204, 207, 209, 211,
214, 216, 218, 220, 223, 225, 227, 229, 231, 232, 234, 236, 238, 239, 241,
242, 243, 245, 246, 247, 248, 249, 250, 251, 252, 253, 253, 254, 254, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253, 253, 252, 251,
251, 250, 249, 248, 247, 245, 244, 243, 241, 240, 238, 237, 235, 233, 232,
230, 228, 226, 224, 222, 219, 217, 215, 213, 210, 208, 205, 203, 200, 198,
195, 192, 189, 187, 184, 181, 178, 175, 172, 169, 166, 163, 160, 157, 154,
151, 148, 145, 142, 139, 135, 132, 129, 126, 123, 120, 116, 113, 110, 107,
104, 101, 98, 95, 92, 89, 86, 83, 80, 77, 74, 71, 68, 66, 63, 60, 57, 55,
52, 50, 47, 45, 42, 40, 38, 36, 33, 31, 29, 27, 25, 23, 22, 20, 18, 17, 15,
14, 12, 11, 10, 8, 7, 6, 5, 4, 4, 3, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 19, 21, 23, 24,
26, 28, 30, 32, 35, 37, 39, 41, 44, 46, 48, 51, 54, 56, 59, 61, 64, 67, 70,
73, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 106, 109, 112, 115, 118, 121,
124, 128};
int8 omniwheel(int8 speed, int8 angle, int8 offsetAngle, signed int8 twist)
{
/* This routine takes speed, angle, offsetAngle and twist and returns
an int8 that represents the speed and direction that the motor should turn.
The returned value is a 0 for full forward, 127 for stop, and 255 for full
backwards */
int16 tempInt;
signed int16 signedInt;
14 SERVO 04.2005
Rubberbands.qxd 3/9/2005 3:36 PM Page 15
rate) of 200 or 300 steps per second, The UCN5804 can be directly inter- upon request, but note that more and
so they have an effective top speed of faced to the stepper motor, as long as more specialty ICs are available only in
one to three revolutions per second (60 the motor does not require more than surface-mount packages. So be sure to
to 180 rpm). about one amp per winding. brush up on your soldering skills!
In operation, the chip is given two
• Running Torque. Steppers can’t deliv- input signals: direction and step. When to Use a
er as much running torque as standard Pulling the direction pin high or low
DC motors of the same size and reverses the rotation of the motor. Stepper Motor
weight. A typical 12-volt, medium-sized Pulsing the step pin manually, from a Stepper motors aren’t a replace-
stepper motor may have a running microcontroller or even a 555 timer IC, ment for ordinary continuous DC
torque of only 25 oz-in. To increase the rotates the motor. For more informa- motors. The lower overall torque and
torque, it is necessary to either use a tion on the UCN5805, refer to the data speed of steppers make them less ideal
gear train or increase the voltage. sheet available for it. Several websites, as drive motors for robots weighing
Unlike a continuous DC motor, increas- including Alltronics (www.alltronics more than a few pounds. Unless your
ing the voltage to a stepper does not .com), provide the data sheet as a free robot is small or lightweight — say,
increase its speed. download. under a pound or two — use geared DC
It’s also possible to use discrete motors. Reserve stepper motors for
• Braking Effect. Actuating one of the logic gates to control stepper motors. I those applications where controlled
windings in a stepper motor advances won’t get into specifics here; you can positioning is required.
the shaft. If you continue to apply cur- find schematics on the Web, as well as For example, you might mount an
rent to the winding, the motor won’t in my book, Robot Builder’s Bonanza, ultrasonic sensor or camera on a turret
turn any more. In fact, the shaft will be Second Edition, and Building Robot and drive the turret back and forth
locked — as if you’ve applied brakes. As Drive Trains, by Dennis Clark and with a stepper motor. Keep in mind
a result of this interesting locking Michael Owings. These books provide that stepper motors are inherently
effect, you never need to add a braking useful details on using a volt-ohm open-loop control systems, and you will
circuit to a stepper motor because it meter to “decode” the wires on typical need some mechanism for “homing”
has its own brakes built in. unipolar motors. the motor to a known start point each
Let’s not forget that there are time your robot is powered on. This
• Voltage, Current Ratings. Like DC many more advanced stepper motor can be done manually, with a switch,
motors, stepper motors vary in their chips available from semiconductor or potentiometer.
voltage and current ratings. Steppers companies — including ST Micro, Keep the following in mind if
for five-, six-, and 12-volt operation are Allegro, and Analog. Many of these you’re still keen on using stepper
not uncommon. Unlike DC motors, companies will provide free samples motors for the drivetrain of your robot:
though, if you use a higher voltage
than specified for a stepper motor, you
don’t gain faster operation, but more
running and holding torque.
Controlling a Stepper
Motor
Though stepper motors can be
controlled via mechanical means — like
a relay — the most common approach
is to use a computer or a stepper
motor control circuit. In the absence of
direct computer control, the easiest
way to provide the proper sequence of
actuation pulses is to use a custom
stepper motor chip, such as the Allegro
Micros UCN5804, available from sever-
al surplus sources such as Alltronics.
This chip is designed expressly for use
with the common unipolar stepper
motor and provides a four-step actua-
tion sequence.
SERVO 04.2005 17
RoboResources.qxd 3/9/2005 3:16 PM Page 18
http://209.41.165.153/stepper
http://www.bbastrodesigns.com/
cot/operate_stepper_windings.
html
about using them to drive a five-pound DC (geared and non) and stepper
deskbot around the room. motors. If you’re in the Los Angeles
area, be sure to take a trip to the C &
All Electronics Corp. H retail store.
www.allelectronics.com
All Electronics is one of the primary Digi-Key
sources in the US for new and used www.digikey.com
robotics components. Prices and selec- Digi-Key is one of the largest mail
tion are good. Walk-in stores are in the order retailers/distributors of electronic
Los Angeles area. components in North America. Their
Product line includes motors, printed catalog has everything — you’ll
switches, discrete components, semi- probably need a magnifying glass to
conductors, LEDs, infrared and CdS read it! Fortunately, they also offer a
sensors, batteries, LCDs, kits, and much very fast and efficient online ordering
more. Specifications sheets for many system, complete with links to data
products are available at the website. sheets (when available). Check them
out for specialty stepper motor inte-
Alltronics grated circuits.
www.alltronics.com
Not to be confused with All Electronic Goldmine
Electronics in Southern California, this www.goldmine-elec.com
Northern California electronics mail- Electronic Goldmine sells new and
order firm is known for a good assort- used electronic components, robot
ment and reasonable prices on new items, electronic project kits, and more.
and surplus merchandise. A catalog in PDF format is available;
Request their printed catalog or printed catalogs are sent to US
download one for free from the site addresses only. Be sure to check out
(you need Adobe Acrobat Reader to the interesting and unusual (and low-
view it). Among their robotic product cost) robotics kits.
line are motors (DC and stepper), step-
per motor controllers, power MOSFETs, Fair Radio Sales
and more. www.fairradio.com
Fair Radio Sales primarily caters to
American Science & Surplus ham operators, with their radio sets
www.sciplus.com and old gear, but they have plenty of
Often carries surplus stepper test equipment and general surplus
motors. Printed and online catalog electronics to tide over anyone. Prices
available. are always reasonable. I’ve bought
from them for over three decades. The
B.G. Micro company provides an annual catalog,
www.bgmicro.com with updates.
B.G. Micro is a haven for the elec-
tronics tinkerer and robotics enthusiast. Fry’s Electronics
Much of the stock is surplus, so it www.frys.com
comes and goes, but while it’s being Fry’s is an electronics superstore
offered, it has a good price attached to chain operating primarily in the West
it. Get it while you can because some- Coast region of the US. Among the
one else surely will. wide product line are some electronics
kits, including a stepper motor experi-
C & H Sales menter kit. If there isn’t a Fry’s near
www.candhsales.com you, they offer online shopping (limited
C & H sells motors of all types, selection) at www.outpost.com
gears, pneumatics, pumps, solenoids,
relays, and lots of odds and ends. Their Gateway Electronics, Inc.
catalog (both printed and online) regu- www.gatewayelex.com
larly contains dozens of quality surplus Gateway is a general electronics
SERVO 04.2005 19
RoboResources.qxd 3/9/2005 3:18 PM Page 20
Jameco Electronics
www.jameco.com
Full-service general electronics
mail-order, Jameco carries just about
everything you need. The product line
includes some stepper motors.
20 SERVO 04.2005
Full Page.qxd 3/9/2005 9:25 AM Page 21
SECOND ANNUAL
Photos courtesy of iRobot, SICK, K-Team, CTG, Business Design Lab, ActivMedia Robotics, LLC.
SERVO 04.2005 21
Geerhead.qxd 3/9/2005 3:07 PM Page 22
The RoboCoaster G2
It’s the Ride of Your Life!
kay, I’m writing this RoboCoaster rarely seen or experienced state-of-the- stoops, and does a shoulder rise and
O G2 piece for “GeerHead” and all I
can think of is the lyrics to the Cars’
art ride that’s a lot like a roller coaster,
but all robot.
fall while the wrist axis can roll, pitch
(to veer off a degree from a horizontal
song “Magic.” RoboCoaster G2 can From its hexapod base, the G2 has plane), and yaw (swerve), giving it
definitely get you twisted. I love the six degrees of freedom of movement. motion effects seldom experienced in
Cars, so all I can think is I must love this It offers the rider the sensations of other rides.
RoboCoaster, too. briefly sustained inertia, several feet of In addition to taking passengers
Well, who wouldn’t? You like warm articulation, and up to 15 degrees of on a ride within its six degrees of free-
weather, amusement parks, rides, and rotation. dom of movement, the RoboCoaster
roller coasters, right? And you’re a Rotating and gyrating on its six G2 can make a large, circular move-
roboticist, so you love robots, of course. axes extended over the length of its ment with the passenger module out-
gigantic robot arm, the G2 can be pro- side its normal footprint of mobility. It
Dish on the Coaster, grammed to move in new patterns can also shoot its arm straight up in the
Man every time, so it’s never the same ride air while maintaining a full range of
twice. wrist mobility.
RoboCoaster G2 is an update to a The G2 major axis rotates, bends, The robot comes equipped to carry
two or four passengers and, as a
Frontal view. You can see how the robot’s gigantic size makes it difficult to get a stand-alone ride secured to the
close-up and keep all of its features in view. ground, it can serve (process?
shake up?? turn into human milk-
shakes???) 60 to 120 people per
hour, assuming a one and a half
minute thrill ride.
Until now, we’ve been talking
about the RoboCoaster as a single,
fixed, stand-alone ride. With the
G2, multiple RoboCoasters can be
affixed to a high-speed re-circulat-
ing track in which the robots are
coupled together in train sets. This
multiplies RoboCoaster’s individual
movement abilities with the high-
speed, twisting, turning movements
of state-of-the-art roller coasters.
The attraction to thrill seekers is
obvious — a motion experience you
can get nowhere else. Just don’t
eat or drink before you get on. In
addition to being one of few loca-
tions with such an offering, parks
could theoretically build a working
22 SERVO 04.2005
Geerhead.qxd 3/9/2005 3:08 PM Page 23
GEERHEAD
G-Whizzzzzzzzzzzzz!!
Though the ride is capable of four
Gs of gravity, it is limited to 1.9 Gs for
passenger safety. It is also limited to
movement combinations that aren’t
likely to kill passengers — which is a
good thing.
The ride can be configured to be
slow and gentle, like a rocking chair or
fast and furious, like a hurricane. Each
individual RoboCoaster can be config-
ured, ride to ride, to suit the tastes of
the individual passengers. One car can
provide a modest rush, while the very
next set of passengers can be flung
from one extreme to the other at top
speed.
Other extreme ride movements This view of RoboCoaster shows a loaded four-passenger carriage, as well as the
include lateral head (passenger com- individual G2 “car’s” wrist, forearm, arm, and part of its base. As a piece of
partment) shaking and inverted rota- machinery, it’s as beautifully streamlined as it is agile.
tion. Training in an astronaut’s cen-
trifuge doesn’t come close to the expe- The control system includes high- also includes a broad array of
rience this ride brings to the public. performance AC servo drives that use PC-based and industrial field bus
a motion profile for an optimized rela- communications formats. Other
Robotics, Already! tionship between the ride’s individual features include remote, Internet-
motors and their speed. The system based system diagnostics and an
RoboCoaster is similar in many
ways to modern industrial robots found Speed and construction that many a roboticist would call art.
in production lines, though many times Look at the flesh-tone-colored arm behind the yellow carriage.
larger. Where the payload of an aver-
age industrial spot-welding robot is
about 150 Kg (around 330 lbs), the
RoboCoaster’s payload is 500 Kg
(about 1,100 lbs). So, that theoretical
2,500 passenger an hour coaster
could easily weigh in at well over a
dozen tons.
If you plan to seek out the first full-
on, track-based RoboCoaster G2 roller
coaster thrill ride built in the US, you’ll
have to look pretty hard. We won’t
expect to see the very first one(s) to
start popping up at popular attractions
until the 2006/2007 season.
When you do find them, here’s
what you’ll want to check out to take
note of their robotics: The arm struc-
ture of the individual cars and the sys-
tem controls are the key robotic ele-
ments, built by KUKA — a robotics
manufacturer based in Germany.
SERVO 04.2005 23
Geerhead.qxd 3/9/2005 3:08 PM Page 24
GEERHEAD
Why G2?
The G2 offers much greater capac-
ities, not the least of which is the abili-
ty to assemble several of them togeth-
er for a tracked motion ride. This
enables rides to be constructed that
take passengers through any of a vari-
ety of interactive shows that tell stories
based on themes.
Straight-on view of side-angle ability. A demonstration of the uniqueness of the The G2 can be built to run on a
experiences this robotic ride has to offer. track that extends through up to nine
interactive four-dimensional cinemas.
open-network-capable, industrial, PC are actually managed by VXWorks, The object is to make you part of the
control module. which is a popular OS for embedded story. (Not that anyone in the general
Specifically, the motion control sys- devices. public knows, but wouldn’t you be
tem is based on 600-volt AC servo drive guessing Disney right now?)
technology, while the robot’s controller How Big Did You Say?
user interface is Windows-based. The That Does Compute!
real-time and motion control, however, The size and capacity of any
New motion sequences are easily
Nothing like this type of engineering has been seen in the amusement parks yet. programmed. The G2 can adopt one
path through a dark ride for one show
and another for a completely different
show — different projections for the
cinematic aspect — on the very next
trip through.
GEERHEAD
www.RobotStore.com
Robotic Arm Kit
(No. 4-523)
or call
1.800.374.5764
Twin Motor Gearbox Kit
(No. 3-709) ...and see what’s changed!
GEERHEAD
26 SERVO 04.2005
Grau3.qxd 3/9/2005 6:15 PM Page 27
PART 3
reach maximum speed when the position input offset reach- navigation commands mentioned earlier: go, move to, rotate
es 14 percent above or below the power-off point of 50 per- to, and stop.
cent. Therefore, the effective range of the position setting is The navigator’s run method will periodically check the
roughly 50, plus or minus 14 (36 to 64). Varying the position robot’s progress and react accordingly. When the thread is
setting within this range will affect the wheel speed, but vari- not busy, it will sleep so other threads can do their work. The
ations outside of this range will have no effect. following code implements the run method:
Our ServoMotor class’ setPower method will convert the
power setting value to a position setting value, as follows: public void run() {
try {
mServo.setPosition((power * mRange) / Motor.MAX_FORWARD while (true) {
+ 50); switch (mState) {
case MOVE_TO:
The mRange variable is the effective range above and below goToPoint();
the center value, 50. In our servo analysis above, we deter- break;
mined 14 is the range value for the servos we are using. case GO:
goHeading();
Rather than “hard coding” the value 14, we will allow the break;
range to be set when a ServoMotor object is created. This case ROTATE:
will allow the ServoMotor class to be reused with other servo doRotate();
makes and models. break;
default: // stopped
The setPower method will also need to communicate the break;
motor direction to a DirectionListener, which we defined in }
the previous article. The following code accomplishes this: Thread.sleep(mPeriod);
}
if (mDirectionListener != null) }
if (power != 0) catch (Throwable t) {
mDirectionListener.updateDirection(power > 0); t.printStackTrace();
}
The two servos mount in opposite directions on our }
robot’s chassis. The sense of shaft rotation of the left servo
motor is the same as the robot’s sense of direction. However,
the sense of direction of the right servo is the reverse of the
robot’s sense of direction. Rather than propagate confusion
related to the sense of direction throughout our software, we
will avoid this by making the sense of direction configurable in
the ServoMotor class. The setPower method will convert from
the robot’s sense of direction to the servo’s sense of direction:
if (mReverse)
power = -power;
if (power == 0) {
mServo.off();
return;
}
else if (power > Motor.MAX_FORWARD)
power = Motor.MAX_FORWARD;
else if (power < Motor.MAX_REVERSE)
power = Motor.MAX_REVERSE;
Implementing the
DifferentialDriveNavigator Class
In order to avoid complicated scheduling interactions
between the DifferentialDriveNavigator class and our robot’s
other sensing and control activities, we will use a separate
thread to carry out navigation functions. This thread will nav-
igate using four states of operation, coinciding with the four
Circle #68 on the Reader Service Card.
SERVO 04.2005 29
Grau3.qxd 3/9/2005 6:17 PM Page 30
Next, we will need to implement the navigation meth- Pose pose = mLocalizer.getPose();
ods: goToPoint, goHeading, and doRotate. Since driving in a float error = mTargetTheta - pose.theta;
straight line shouldn’t be too complex, let’s start with the // constrain the error value to –Pi < error <= Pi
goHeading method. if (error > PI)
error -= TWO_PI;
else if (error < -PI)
Going Straight Ahead with error += TWO_PI;
Navigating to a Specific
Location
Now that our robot has the ability to steer itself in a
particular direction, it won’t be hard to implement the
goToPoint method, allowing it to navigate to a specific
location. After all, it is just a matter of heading to the des-
30 SERVO 04.2005
Grau3.qxd 3/9/2005 6:18 PM Page 31
PART 3
tination and stopping once it is there. nation by using the Pythagorean Theorem to calculate the
Our navigator can calculate the distance and direction to distance to the destination. However, this calculation would
the destination using the output of the localizer and a little require calculating a square root, which is computation inten-
bit of trigonometry. Once it calculates the direction, it can sive. Instead, we will use a less intensive method, summing
then use the goHeading method to head that way. The nav- the absolute values of the two error terms. This won’t yield
igator can determine the robot has arrived at the destination the exact distance, but it will be good enough.
by noting that the distance to the destination has dropped When the robot is in transit to the destination, the navi-
below a threshold. gator will need to make regular adjustments to keep the
We will use the following overall structure for the robot on course. To do this, it must determine the angle —
goToPoint method: theta — to the destination. Fortunately, the Java class library
provides just the function we need: Math.atan2, a method
private synchronized void goToPoint() { for calculating arc tangents.
// Get the current position from the localizer
We will implement the remainder of our goToPoint
Pose pose = mLocalizer.getPose();
method as follows:
// determine the proximity to the destination
: float absXError = (xError > 0.0f) ? xError : -xError;
if (very close to the destination) { float absYError = (yError > 0.0f) ? yError : -yError;
// stop if ((absXError + absYError) < mGoToThreshold) {
: // stop
} mLeftMotor.setPower(Motor.STOP);
else { mRightMotor.setPower(Motor.STOP);
// update heading mState = STOP;
: // signal waiting thread we are at the destination
goHeading(); notify();
} }
} else {
// adjust heading and go that way
mTargetTheta = (float)Math.atan2(yError,
Figure 6 depicts the robot heading toward its destina- xError);
tion. The location of the destination relative to the robot’s goHeading();
current destination in Cartesian coordinates is (xError, yError). }
The angle theta is the straight-line direction to the destina-
tion. The values of xError and yError can be calculated by sub- Rotating in Place
tracting the robot’s current coordinates — obtained from the
Localizer — from the destination’s coordinates: The final navigation method we need to implement is
doRotate to enable rotation in place. Similar to the goToPoint
float xError = mDestinationX - pose.x;
float yError = mDestinationY - pose.y; method, this method will use data from the Localizer and the
target heading to determine which direction to rotate and
We could determine if the robot has arrived at the desti- when to stop. We will use the following Java code for this:
Run Cool.
PololuSMC04
Introducing Pololu’s new line of high-current motor controllers with total resistance
under 0.050 ohms. Find out more at www.pololu.com or by calling 1-877-7-POLOLU.
Circle #74 on the Reader Service Card.
SERVO 04.2005 31
Grau3.qxd 3/9/2005 6:18 PM Page 32
Coordinating Threads We call this method from the main thread to give the navi-
gator thread its next goal. We must assure that the variables
We’ve kept our control logic simple and avoided undue that define the goal — mDestinationX, mDestinationY,
coupling between the navigator and other components by mTargetTheta, and mState — are only changed and read as a
using a dedicated thread to execute the navigation code. This consistent set; otherwise, the navigator thread could resume
allows the navigator to pilot the robot without awkward con- execution at an inopportune time and use some values from the
sideration for the robot’s other tasks, such as sampling sensors. new goal and other values from the old goal. For example, the
If we were to implement the RidgeWarrior II as a single navigator would use mDestinationX from a new goal and
threaded program — the only choice with many robot con- mDestinationY from the previous goal if it was to resume execu-
trollers — the navigator code would need to include logic to tion just as the main thread finished execution of the first line of
take into consideration the priority and timing constraints of the moveTo method. This would result in the navigator steering
other tasks. For example, we would need to consider if the toward an unintended location — the combination of the new
arc tangent calculation is going to take so long that the wheel destination’s x coordinate and the old destination’s y coordinate.
encoder will miscount. With multi-threading, we can give the This wouldn’t be desirable, especially if heading toward this
wheel encoder threads a higher priority than the navigator unintended destination happened to lead the robot over a cliff!
thread. This moves the scheduling burden to the operation Fortunately, Java comes to the rescue, again, by providing
system — in our case, the Java virtual machine — simplifying the “synchronized” keyword. Adding this keyword to a
method or a smaller block of code allows the Java virtual
Error Sources Description machine to act like a traffic cop, only allowing one thread (car)
The accuracy of the wheel-diameter and
into synchronized code (an intersection) at a time. By adding
Calibration wheel-base measurements provided to the Localizer the synchronized keyword to the methods: go, moveTo,
affect its accuracy. rotateTo, stop, goHeading, goToPoint, and doRotate, we’ve
The accuracy to which the wheel encoders are able assured the variables that are shared by multiple threads will
to measure the position of the wheels directly
affects the accuracy of the Localizer. Using wheel always be accessed and manipulated as a consistent set.
Encoder encoders that provide more counts per revolution — One other thread coordination caveat we must consider
such as the WheelWatcher WW-01 encoder — is allowing a calling thread to wait while the navigator carries
reduces error due to encoder quantization.
out the requested command. This will allow a thread calling
Wheel Any slippage of the wheels will result in
Slippage localization errors. moveTo or rotateTo to wait for the operation to complete
The dead-reckoning localization method we are
before continuing to execute. Once again, Java provides a
using is based on self-centric encoder measurements. means to do this: the wait and notify methods. We’ve includ-
This results in accumulation of error because the ed a call to wait in the moveTo method. This tells the Java vir-
robot has no fixed external reference from which it
Localization could recalibrate its position. Incorporating external tual machine the thread must wait until another thread noti-
references — such as landmarks, the Earth’s magnetic fies the virtual machine that the waiting thread can continue.
field (compass), or satellites (GPS) — would help We’ve included a call to notify in the goToPoint and doRotate
improve the accuracy of the Localizer.
methods to notify the Java virtual machine that the waiting
Tablle 1. Major sources of error. thread — if there is one — can resume execution.
32 SERVO 04.2005
Grau3.qxd 3/9/2005 6:20 PM Page 33
PART 3
IntelliBrain-Bot kit
1. NavigateForward — Moves the robot straight ahead.
www.ridgesoft.com/intellibrainbot/intellibrainbot.htm
2. Rotate — Rotates the robot 180 degrees in place.
3. NavigateSquare — Moves the robot in a square pattern. WheelWatcher WW-01 Quadrature Encoders
4. NavigateFigureEight — Moves the robot in a figure-eight www.nubotics.com
pattern.
other robot projects. We also discovered that our robot is less
Experimenting with these classes confirms that the shaft than perfect — no big surprise! While it is tempting to try to
encoders, localizer, and navigator software work well. However, produce a robot that is error free — no matter how hard we
the navigation precision is far from perfect, due to a variety of try — we can only reduce the built-in errors. We can’t eliminate
errors. Table 1 lists some of the more significant sources of error them, and we can’t do anything to prevent unpredictable ran-
that affect the precision with which our robot can navigate. dom errors. A robot’s systems and control software will always
need to deal with imperfection and unknowns.
Conclusion In the next article in this series, we will develop software
to deal with navigating an imperfect robot through unchart-
This month, we have implemented two more reusable ed territory. SV
software components — a ServoMotor controller and a
DifferentialDriveNavigator — to add to our robot software
components bin. By using the Motor and Navigator interfaces,
ABOUT THE AUTHOR
as well as multi-threading, we have been able to minimize the Steve Grau has been developing software for over 20 years.
coupling of these components to other software, hardware, He is the founder of RidgeSoft, LLC, and the author of the RoboJDE,
a Java-enabled robotics software development environment.
and electronics components, making it easy to reuse them for
FIGURE 1
D esigning your first robot can be a daunting task. There are so many
disciplines you have to learn that it can appear to be a major undertaking.
In this first of two parts, I will detail some of the many errors I have encountered
over the years while designing my robots. This information will be most useful
to the beginner, but I know that the seasoned veterans may find some of my
errors informative, as well. Part 1 of this primer will include mistakes I have
made, as well as design ideas, necessary skills, tips, and time-saving methods
for a new design. In Part 2, I will go into detail regarding program errors, tips
for programming, hardware tips, and useful circuits that I routinely use for
my robots.
34 SERVO 04.2005
Barlow1.qxd 3/9/2005 2:21 PM Page 35
SERVO 04.2005 37
Barlow1.qxd 3/9/2005 2:41 PM Page 38
I had only read my logbook, I would bolt into the center of the ball
have seen this problem documented half to attach it to your robot
and fixed it in two seconds. (Figure 9).
Order
Orderby
byInternet,
Internet,phone,
phone,fax
faxor
ormail.
mail.
• Tricycle drive robot. On one of my
robots, I had dual-servo-drive motors www.HobbyEngineering.com
www.HobbyEngineering.com
and a trailing wheel. I found out that,
Books
Books and
and
1-866-ROBOT-50
1-866-ROBOT-50
when backing up, this wheel would 1-866-762-6850
Educational
Educational KK 1-866-762-6850
1-650-552-9925
jam or twist in an odd direction and 1-650-552-9925
1-650-259-9590
1-650-259-9590 (fax)
(fax)
cause the robot to become stuck. I sales@HobbyEngineering.com
sales@HobbyEngineering.com
solved this by placing a fixed, round 180
180 El
El Camino
Camino Real
Real
BEAM Millbrae,
Millbrae, CA
CA 94030
ball caster on the rear of the robot. A BEAM Kits
Kits and
and Components
Components 94030
plastic round caster from a chair works Visit
Visit our
our store
store near
near SFO!
SFO!
well. I have heard of other people who
use half of a ping-pong ball. Glue a Most
Most orders
orders ship
ship the
the day
day received!
received! World-wide
World-wide shipping.
shipping. Convenient
Convenient pay
payment options..
SERVO 04.2005 39
Barlow1.qxd 3/9/2005 2:42 PM Page 40
SERVO 04.2005 41
Davis.qxd 3/9/2005 11:48 AM Page 42
42 SERVO 04.2005
Davis.qxd 3/9/2005 11:49 AM Page 43
SERVO 04.2005 43
Davis.qxd 3/9/2005 11:49 AM Page 44
Tapping
I bought taps for the 10-24 and 1/4-inch bolts I used
to bolt everything together, but decided to go another
route for tapping the holes of the frames to move every-
thing around. I could have bought Acme nuts that just bolt
to each frame, but they are expensive and can have too
much backlash. After I cut my Acme rod to the lengths I
needed, I had several pieces left over. I decided to use one
of them and turn it into a tap. This way, the tap would
match the Acme screw exactly and backlash would be min-
imized.
FIGURE 6. This is the completed Y-axis frame. To do this, I drilled a hole into one end to use as a han-
dle. Then, I turned down the other end a couple of
through, where the other outer piece should be drilled to degrees to make starting the tap easier. Then, using a
hold a bronze bearing. One of the inner pieces should be milling machine, I cut a couple of four-millimeter grooves
slightly larger than the rod diameter, and the other side into the Acme screw. This had to be done very slowly to
should be the correct diameter so that it can be tapped prevent breaking the bit. After this was done, I used a
later for the Acme rod. For my 1/2-inch Acme rod, I used small file and an X-acto blade to clean up the threads.
Once this was done, I was able to tap the pieces of
FIGURE 7. This shows the overall dimensions of the X axis. the frames.
Overall View
X Axis Dimensions Acme Screws
The Acme screws I used were 1/2-inch diameter,
but the stepper motors had 1/4-inch shafts. The cou-
plers available with the steppers were also 1/4 inch, so
I needed to reduce the diameter of the end of the
Acme screw. To do this, I used a lathe and turned
Motor
down the last 1/2 inch of each screw until it was 1/4
inch and fit in the coupler snugly. It is held in place by
a set screw. I also turned down the opposite end to
1/4 inch so that I could use a 1-1/4-inch bronze bear-
ing to support it. The bearing is inserted into a 3/8-
inch hole in the outer frame opposite the stepper.
.201
6 places per side
0.149 back only
Final Assembly
2.5
2.18 4 places
3/8 in front piece At this point, the only thing left to do is to assem-
1.25 3/4 in front piece ble each frame. There are several options when it
0.32 0.5 comes to attaching the sides to the top and bottom.
0.5
You could use extruded-aluminum, L-shaped pieces to
bolt everything together, or steel L-brackets from the
local hardware store. I took another option and drilled
2.25 holes though the top and bottom and then smaller
8.32 holes into the sides, which I tapped for 10-24 bolts.
9.25
10.18 This gives a nice, clean appearance and holds very
16.25 securely. I countersunk the holes on my Y axis because
18.50 I needed the clearance, but you could do it for all the
axes, if you want to.
44 SERVO 04.2005
Davis.qxd 3/10/2005 9:16 AM Page 45
FIGURE 8. The completed X-axis frame. FIGURE 9. Here, the holes are tapped for the Acme screw.
After assembling everything except the Acme screws be downloaded from the SERVO website (www.
and steppers, you can slide each axis around by hand. I servomagazine.com). Next time, I’ll discuss the interface
was really impressed by how smoothly everything moved. board you will need to control the stepper motors from
The Z axis moves up and down with very little friction, your printer port and the software to drive it. We’ll attach
but there is no noticeable movement at all in the the cutting tool and walk through cutting out a simple
front-back or left-right directions. The other axes feel part. SV
just as stiff.
One modification I made here was to double up the
D e s k to p C N C S o lu tio n s
thickness of the Z-axis sides where the bearing goes
through. It looked a little thin having a bearing over one-
inch wide sticking through 1/2-inch walls. I made a small
piece to fit inside the Z axis about 1/4-inch thick. This
D e s k C N C
X T
allows me to use snap rings to hold the bearings in place.
All of the other axes used one-inch thick material, so they v e c to r
did not need modification. After threading in the Acme
screws, you can move each part by spinning the screw with 3 D C A D /C A M
im s r v .c o m
your finger. Everything should move smoothly with no
binding. Once you see that everything works, you can
attach your stepper motors.
S te p a n d d ire c tio n s e rv o d riv e s , 5 a m p 3 0 v d c
Next Time G lo b e p m d c s e rv o m o to rs w ith e n c o d e r s
D e s k C N C c o n tro lle r a n d s o ftw a re , (M S -W in d o w s )
The drawings I made when designing my machine can C N C C o m p o n e n t k its a n d a s s e m b le d sy s te m s
S u rfa c e s c a n n in g p ro b e a n d P o w e r s u p p ly k its
PARTS LIST
Ball bearings — 1/2-inch Thomson linear bearings #A81420
SERVO 04.2005 45
Thaler.qxd 3/9/2005 11:40 AM Page 46
46 SERVO 04.2005
Thaler.qxd 3/9/2005 11:40 AM Page 47
until it arrives at an exceptionally deep error minimum from You now should have a handle on how intelligence is
which training cannot escape. Finally, Equation 4 amounts to automatically absorbed within the connection weights
what I typically call a “mathematical spanking,” effectively pun- between neurons, typically through this iterative process of
ishing connection weights that do not contribute to the accu- weight corrections. Of course, this particular example has illus-
racy of the neural network by modifying their values. This trated just one kind of artificial neural network, notably the
mathematical spanking continues as we repeatedly apply input workhorse of the field, the MLP. Although we have chosen a
and output training exemplars to the network until the predic- rather small, three-layer network as a robotics-related working
tion error falls below some acceptable level. example, oftentimes, four or more layers are used with many
As a result of these myriad weight updates, some very more neurons. Researchers in many fields are discovering the
interesting phenomena are occurring within the network. The MLP architecture may be used to conveniently model phenom-
first of these is the formation of what is called a classification ena and relationships within their respective disciplines.
layer, as the connection weights leading to the hidden layer In robotics, the kind of neural network just discussed may
self-organize to effectively collect input patterns into important be used to build reactive robotic systems, somewhat like a spinal
families or classes. In so doing, this classification layer learns by reflex that automatically maps sensor inputs to some robotic
repeated exposure to detect the important features of the response. In this case, such a response may involve generating
input space that can ultimately contribute to the correct classi- the necessary leg servo signals to advance a robot toward the
fication of the sonar pattern as indicative of a doorway or not. sensed doorway. Note that the kind of neural architecture
In this sonar example, distributed colonies of neurons required in building more ambitious deliberative robots — those
develop so that — because of their feeding or afferent connec- that choose among multiple courses of action from self-acquired
tion weights — they respond to important features, such as world models — is quite different than that discussed above and
walls, edges, and gaps. Therefore, when the sonar return sens- is beyond the scope of this introductory article.
es a solid wall ahead of it with no available portal to crawl
through, only the colony of cells corresponding to walls acti- Conclusions
vates. However, if the sonar return is from an open doorway,
then wall, gap, and edge detecting colonies all activate, pro- Neural network practitioners are always quick to point
ducing a preliminary classification of the doorway as just that. out that the primary advantage of artificial neural networks
The second self-organizational phenomenon takes place is their ability to capture highly non-linear relationships, but I
in the output weight layer, wherein the necessary logic for typically take the argument a few levels deeper than that.
classification develops that might very well resemble our pre- Throughout history, humans have devised models of
vious example of the AND gate. This heuristic knowledge, things and events by combining fundamental analogies to
once discerned, would look something this: If edge, gap, and describe more complex phenomena. Mathematicians have
wall features are all indicated in the classification layer, then characteristically combined well understood functional
a door is present; otherwise, the forward scene does not behaviors, such as linear, power law, and sinusoidal relation-
include a doorway. ships to account for phenomena having scientific or technical
Now that I’ve described the training of an artifical neural merit, weighting these simpler functional analogies by expan-
network (ANN), let me emphasize that absolutely no domain sion coefficients, ai:
knowledge was necessary. The network simply trained on
both examples and non-examples of doors, essentially learning F(x) = a1F1(x) + a2F2(x) … + anFn(x) (5)
the “zen” of what constitutes a doorway. This process consist-
ed of: 1) Learning the essential features of what constitutes a Here, the Fi represents the simpler functional behaviors that
door, and 2) The required logic to discern the presence of a could be the powers of x, Fourier components in the form of
door, should the requisite features be detected. A programmer sine and cosine terms, or a simple linear expansion.
did not have to hard code this logic into software, drawing The choice of proper functional analogies, Fi, and solu-
upon his or her world knowledge. The ANN learns completely tion for the expansion coefficients, ai, has occupied scientists
by exposure to sonar returns that are representative and non- and mathematicians for centuries. Once these weightings are
representative of doorways. (What I haven’t told you is how discovered — typically through linear matrix techniques — we
this process may be totally automated in real-time.) produce precise mathematical models to predict moderately
complex behaviors.
References However, the bulk of activities going on in the world are
not describable in terms of simplistic series expansions of the
Freeman, J. A. and Skapura, D. M. (1991). Neural Networks: type embodied in Equation 5. In reality, in the more complex
Algorithms, Applications, and Programming Techniques. and non-ideal problems increasingly mulled over by scientists
Addison-Wesley, Reading, MA. and engineers, events happen in complex, causal chains. For
instance, there may be some initializing event and then sub-
Werbos, P. (1974). Beyond Regression: New Tools for Prediction sequent events occur in a cascading fashion. Looking at any
and Analysis in the Behavioral Sciences. Ph.D. thesis, Harvard,
given output neuron in Figure 4, its activation is a function of
Cambridge, MA.
all the activations within the hidden layer that are, in turn, a
50 SERVO 04.2005
Thaler.qxd 3/9/2005 11:42 AM Page 51
Have you ever wanted to build a hex walker robot? Their interesting,
insect-like gait and seemingly complex leg construction make them one of
the more fascinating projects in robotics. Hex walkers are actually more
accessible for the hobbyist than they may seem at first. In this series of
articles, I will show you, step by step, how to build a six-legged crawler using
only three servos. With six legs and three
servos, we can experiment with
different gaits and full direc-
tional control over the
robot. Now that the
mechanical portion
of your walker
robot is finished, it’s
time to add power and a
brain. So, get your soldering
iron out and let’s get started!
52 SERVO 04.2005
Simpson2.qxd 3/9/2005 1:47 PM Page 53
Part 2
FIGURE 1. Install the socket, resistor, and two capacitors. FIGURE 2. The headers of the Perseus carrier.
Electrical Construction battery holders and attach it to the front of the main body
between the two servos on the underside of the base. Make
We will use a Perseus microcontroller and a Perseus car- sure the holder is placed all the way forward as shown in
rier kit to build the brain. They can be purchased from Kronos Figure 4. Mark and drill a 1/8-inch hole by dry fitting the
Robotics at www.kronosrobotics.com We will also need a battery holder. Attach with a #4, 1/2-inch machine screw
female header, but all these parts will be listed in the and nut.
resource section at the end of the article. Take the other two-Cell AAA battery holder and attach
it near the rear of the main body on the underside of the
Step 1: base. Make sure it is up against the two lock nuts as shown
Assemble the Perseus carrier using the included instruc- in Figure 4. Use a #4, 1/2-inch machine screw and nut.
tions. Install only the socket, resistor, and two capacitors as
shown in Figure 1. Don’t install the headers yet. Step 5:
Take the red wire from the lower (rear) battery holder
Step 2:
The headers included with the Perseus carrier are the sna- FIGURE 5. Connect the FIGURE 4. The proper location
pable variety. Use needle-nosed pliers to break off three, three- two leads to a switch. of the battery holder.
pin headers. Install them into the positions shown in Figure 2.
These will be the headers used to connect the servos.
Break off a two-pin header and install it into the position
shown at the top of Figure 2. This will become the power
header.
Step 3:
Use wire cutters to cut off a three-pin header from the
36-pin female header and install it as shown in Figure 3. This
will allow you to plug in an IR module so that you may con-
trol the walker with a universal remote.
Next, using a set of wire cut-
ters, cut off a five-pin female FIGURE 3. The program and IR headers.
header and install as shown in
Figure 3. This will become the
program header. In order to pro-
gram the Perseus, we will plug
the EZ232 driver into this header.
The brain is now complete.
We will attach it a bit later. For
now, let’s attach our walker’s
power source.
Step 4:
Take one of the two-cell AAA
SERVO 04.2005 53
Simpson2.qxd 3/9/2005 1:48 PM Page 54
FIGURE 6. Heatshrink the battery leads. FIGURE 7. Fix the PCB as shown. FIGURE 8. The power connections.
and the black wire from the upper (front) battery holder and location for it.
twist them together as shown in Figure 4.
You can complete the power connection one of two Step 6:
ways: You can solder the leads together and place a piece Using a pair of wire cutters, break off a two-pin header
of tape over the connection or you can connect these from the 36-pin female header. Then take the two remaining
two leads to a switch as shown in Figure 5. If you opt wires — black from the lower battery holder and red from the
for a switch you will have to drill a hole and mount the top — and solder the leads to the two-pin header. Make sure
switch, and the side opposite the 5/16-inch hole is a good you insert two pieces of 1/16-inch heatshrink before solder-
ing it in place. Once soldered, move the
FIGURE 9. The power connections schematic. heatshrink up and shrink it with a heat
gun or flame. Figure 6 shows the com-
pleted connector.
This connector will plug into the
two-pin male header that we added to
the Perseus carrier back in Step 2. If you
did not install a switch, you will use the
header as the switch. Place the female
header on the male header to turn the
walker on. Otherwise, you will leave the
header in place and use the switch to
control the power.
Step 7:
Now, it is time to attach the brain.
To do this, stick three pieces of mount-
ing foam to the underside of the
Perseus printed circuit board (PCB). The
tape does not need to run the full
length of the board; about an inch will
do. Trim the excess from the sides, then
stick the PCB in the position shown in
Figure 7. We want the board to be as
close to the center legs as possible with-
out touching them, so leave about an
1/8-inch gap.
Before we continue, let’s take a
closer look at the servo and power con-
nections depicted in Figures 8 and 9.
The power connector plugs into the
header marked “- ++” near the top of
the PCB.
54 SERVO 04.2005
Simpson2.qxd 3/9/2005 2:07 PM Page 55
Part 2
FIGURE 10. Plug in the EZ232 driver to the program header. FIGURE 11. This is the test data for Perseus.
As you can tell from the schematic diagram (Figure 9), with the Perseus by running through the tutorial. You can
there are eight more ports available to connect sensors or actually run through the tutorial without connecting to the
LEDs. One of these (Port 4) we show connected to the IR walker by using the included simulator. SV
module that we will use later.
Step 8:
SOURCES
Enlarge the 5/16-inch hole a bit so that the The Kronos Robotics website is located at www.kronosrobotics.com
servo connectors will fit. Once the hole has been
enlarged, pass the power connector up through the Qty Description Source and part number
1 Perseus microcontroller Kronos Robotics # 16382
hole and plug it into the two-pin header. Make sure
1 Perseus carrier, one kit Kronos Robotics # 16390
the red lead is facing the front of the walker. Note 1 36-pin female header Kronos Robotics # 16291
that, if you did not install a switch, you will have to 1 EZ232 eriver Kronos Robotics # 16167
plug and unplug this header to turn the walker on 1 IR module Kronos Robotics # 16226
and off. 1 SPST switch Kronos Robotics # 16241 or
Next, plug the EZ232 driver into the five-pin pro- All Electronics # MTS-4
gram header as shown in Figure 10. You can now 2 Two-cell AAA battery holder All Electronics # BH-42 or
program the Perseus. RadioShack # 270-398
1 Athena compiler Free download from Kronos
Robotics website.
Step 9:
To program the Perseus, you need
the Athena compiler. Download and
install the Athena compiler from
www.kronosrobotics.com
Connect a nine-pin cable from the
EZ232 driver to the PC and you should
be ready to go. The Athena software
comes with a complete manual that
includes hookup instructions, as well as
a complete tutorial.
With the PC connected to the
EZ232 driver and the driver plugged
into the five-pin program port, turn on
the power to the carrier board, and
load the debug terminal in the Athena
software by hitting F6. With power
applied to the Perseus, you should see
test data as shown in Figure 11.
That’s It
Next month, we will calibrate and
program the walker. Until then, play
Circle #106 on the Reader Service Card.
SERVO 04.2005 55
BookstoreApr05.qxd 3/9/2005 6:07 PM Page 56
andy
Mind Cday’s
For To ticist
Robo
The SERVO Bookstore
ROBOT DNA SERIES Mobile Robotic Car Design Build Your Own Electronics
Three Volume Pack by Pushkin Kachroo / Patricia Workshop
Mellodge by Thomas Petruzzellis
This thoughtful guide The Electronics
gives you complete, Workshop was written
illustrated plans and to assist the newcomer
instructions for building to the field of practical
a 1:10 scale car robot electronics through the
that would cost creation of a personal
thousands of dollars if electronics workbench.
bought off-the-shelf. This is a place specially
Everything you need to program your But, beyond hours of designed so that read-
robot controller: entertainment and ers can go there to
• Microcontrollers in Robots satisfaction spent creating and operating an work on an electronic project, such as test-
• Software Development impressive and fun project, Mobile Robotic ing components, troubleshooting a device,
• The Microchip PICmicro Microcontroller Car Design provides serious insight into the or building a new project. This book
• Microcontroller Connections science and art of robotics. Written by includes invaluable information, such as
• Designing the Robot System robotics experts, this book gives you a solid whether to buy or build test equipment,
• Going Forward background in electrical and mechanical how to solder, how to make circuit boards,
theory, and the design savvy to how to begin to troubleshoot, how to test
Everything you need to build your own conceptualize, enlarge, and build robotics components and systems, and how to build
robot drive train: projects of your own. $29.95 your own test equipment, complete with
• The Basics of Robot Locomotion appendix and resources, etc. This is THE
• Motor Types: An Overview book for anyone entering the field or hobby
• Using DC Motors Robot Programming of electronics. $29.95
• Using RC Servo Motors by Joe Jones / Daniel Roth
• Using Stepper Motors Using an intuitive method,
• Motor Mounting Robot Programming Electronics Demystified
• Motor Control deconstructs robot by Stan Gibilisco
• Electronics Interfacing control into simple and Now anyone with an
• Wheels and Treads distinct behaviors that are interest in electronics
• Locomotion for Multipods easy to program and can master it by reading
debug for inexpensive this book. In Electronics
All the data you need to build your own microcontrollers with little Demystified, best-selling
robot base: memory. Once you’ve science and math writer
• Mechanical Construction mastered programming your online bot, you Stan Gibilisco provides
• Electrical Construction can easily adapt your programs for use in an effective and pain-
• Operating Power physical robots. $29.95 less way to understand
• Robot Designs the electronics that
• Constructing a Two-Wheeled Rover Robot power so much of modern life. With
• Selecting the Right Materials Electronic Circuits for the Electronics Demystified, you master the sub-
• Glossary of Terms Evil Genius ject one simple step at a time — at your own
• Tables, Formulas, and Constants by Dave Cutcher speed. This unique self-teaching guide offers
Cutcher's 57 lessons problems at the end of each chapter, a
Subscribers: $21.95 each book build on each other and section to pinpoint weaknesses, and a 70-
Non-subscribers: $24.95 each book add up to projects that question final exam to reinforce the entire
are fun and practical. book. If you want to build or refresh your
The reader gains valu- understanding of electronics, here’s a fast
able experience in cir- and entertaining self-teaching course that’s
Electronic Gadgets for the cuit construction and completely current. $19.95
Evil Genius design and in learning to
by Robert Iannini test, modify, and
! Build Your Own Humanoid
The do-it-yourself
hobbyist market —
observe results. Bonus NEW Robots
website www.books.mcgraw-hill by Karl Williams
particularly in the area com/authors/cutcher provides anima-
of electronics — is Build Your Own
tions, answers to worksheet problems, links Humanoid Robots
hotter than ever. This to other resources, WAV files to be used as
book gives the “evil provides step-by-step
frequency generators, and freeware to apply directions for six exciting
genius” loads of your PC as an oscilloscope $24.95
projects to delve into, projects — each costing
from an ultrasonic less than $300.00.
microphone to a body We accept VISA, MC, AMEX, and DISCOVER Together, they form the
heat detector, all the way to a Star Wars Prices do not include shipping and essential ingredients for
Light Saber. This book makes creating these making your own
may be subject to change. humanoid robot. $24.95
devices fun, inexpensive, and easy. $24.95
56 SERVO 04.2005
BookstoreApr05.qxd 3/9/2005 6:08 PM Page 57
by Jascha Little
58 SERVO 04.2005
Little.qxd 3/9/2005 11:31 AM Page 59
Actuation
There is a lot of research on artificial muscle fibers at the
moment. In the future, artificial muscles may represent an
excellent solution for actuating an exoskeleton, but good,
old-fashioned hydraulics is already up to the task. Hydraulic
actuators have an enormous force-to-weight ratio that may
never be matched by artificial muscles. High movement rates
can also be achieved with appropriate valves and plumbing.
The primary disadvantage to hydraulics is the complexity
of the overall system. A great number of moving seals and
high-pressure fittings must be maintained. Despite this,
hydraulics could be utilized in a wide range of exoskeleton
sizes and strengths. Although hydraulics may be the most
appropriate solution at the moment, there are already other
alternatives. Linear motors and motor-driven ballscrews are
used in many similar applications, such as robotics.
Control System
Who is to say exoskeletons aren’t feasible?
This may be one of the reasons we have not seen
exoskeletons yet. In 1965, the General Electric Research and ment, the operator’s sense of balance will be wasted. Just
Development Center attempted to create an exoskeleton how accurate and how quick the control system must be has
known as Hardiman 1. Although they succeeded in building yet to be determined.
an exoskeleton, the control system proved to be so difficult Recent attempts at lower extremity exoskeletons appear
that — according to a GE report —
attempts to move both legs at once
resulted in “violent and uncontrollable :$17(''($/(56$1',03257(56
motion.”
We certainly have far more )RU(8523(¶V1R(GXFDWLRQDO52
advanced sensing and control tech- /RZFRVW+REE\
nologies available today. However, only 3&&RQWUROOHU $6852URERWNLW
in the last few years have we seen $FRPSOHWHVRIWZDUHDQG 'HYHORSHGE\'/5ZZZGOUGH
KDUGZDUHVHWWRFRQWURO 3URJUDPPDEOHLQ&LQFOXGLQJ
bipedal robots that can balance them- WKH2:,029,7URERW /,18;DQG:LQGRZVVRIWZDUH
selves while performing even simple DUPWUDLQHU
tasks and these robots are the product
of massive research programs at large
companies.
An exoskeleton would have an
advantage over these robots. It would
have one of the best balancing systems
onboard that is known to man: the 52%%<53URERWNLW
human brain. Still, tapping into this (XURSH¶VPRVWDGYDQFHGURERW
resource will require a control system 0RUHLQIRUPDWLRQ#ZZZFURERWLFVGH
that works almost seamlessly with the
exoskeleton’s operator. If the control :::$5(;;&20
system is unable to respond quickly
and accurately to the operator’s move- 3OHDVHFRQWDFWXVE\HPDLOLQIR#DUH[[QO
SERVO 04.2005 59
Little.qxd 3/9/2005 11:31 AM Page 60
EXOSKELETONS
be a serious challenge.
The high-energy density of combustible fuels seems
attractive in this case, but — since the exoskeleton must be
worn by a human — including a combustion engine in the sys-
tem is not a trivial matter. The operator must be protected
from heat, noise, vibration, and exhaust. Also, the power
from the engine must be harnessed efficiently to operate the
exoskeleton’s complex system of actuators.
Alternatively, a battery-powered system would be much
kinder to the operator. Unfortunately, the energy density of
the best batteries is far less than that of combustible fuels.
Perhaps this problem can be solved well enough that an
exoskeleton could be used continuously for hours, but this is
not necessary for them to be useful in all applications. Many
of our most commonly used tools only run for a few hours or
less before they need refueling or recharging.
It is reasonable to believe that we will see exoskeletons
in actual use within the next decade. DARPA has been fund-
ing research on human exoskeletal augmentation for a few
years and the first prototypes are being tested. SERVO
Magazine’s Tetsujin (Japanese for “iron man”) competition is
another bright moment for the future of exoskeletons.
Hopefully, future competitions will see more advanced
entries. The DARPA projects will probably result in equipment
that is cost prohibitive for anyone but the military, but
SERVO’s Tetsujin will engender a more practical approach.
Hopefully, it will be the source of designs that could be devel-
oped into commercially viable equipment.
Assuming that exoskeletons are on their way, the most
The structure of a system is a challenge. important question is: What will we use them for? Visions of
power-armor clad soldiers are the first thing that comes to
to be much more promising than Hardiman, but they certain- mind for many when the word exoskeleton is mentioned. For
ly aren’t ready to stroll down the street. However, with the the military and DARPA, this is definitely a wonderful dream.
sensors and computing power available today, I believe we We can imagine a form-fitting exoskeletal suit that adds rela-
have the tools to solve the control problems presented by an tively little bulk to the operator but increases his strength,
exoskeleton. endurance, and deadliness. The suit would be armored and
heavily armed with equipment that a normal infantryman
Power Supply couldn’t carry into battle. The suit could operate for days
without refueling … and then we fade back to reality. The
The difficulty of this aspect of the exoskeleton depends exoskeleton described above is exciting, but for us to pursue
heavily upon the application. In some cases, the exoskeleton it first would be like Henry Ford skipping the Model T and
could receive its power from an external source via electrical going straight for the Porsche 911. There are many, many
cables, hydraulic lines, or other means. This technique is fre- iterations of the exoskeleton that we will see before a soldier
quently used with mining equipment, commercial diving wears one as standard issue gear.
tools, and in other industrial applications. Obviously, the However, the first exoskeletons may see use in combat
power supply isn’t a problem at all in these cases. When we situations. A properly designed exoskeleton could be the
consider truly mobile applications, the problem can become ideal method for delivering soldiers or law enforcement per-
formidable. sonnel into difficult urban situations. Building entry in the
The power required from the system should not be a face of armed resistance is a brutal, extremely dangerous
problem; modern combustion engines and electrical motors task. An exoskeleton could allow the operator to wear armor
can be designed with power densities greater than one far too heavy for a human to carry normally. Also, this
hp/lb. The average human (all 150 lbs or so) can only put out armored suit would only have to operate for the limited dura-
about one horsepower. The difficulty lies with energy densi- tion of the building entry operation and would not require
ty. Humans are highly efficient machines. A physically fit the suit to roam far from resupply and repair equipment.
human can eat a little food and then perform hard physical Such a suit might allow law enforcement to bring a human
labor for hours and hours. Building an exoskeleton that negotiator into a situation that would be too dangerous for
can keep up with its operator for an entire workday will an unarmored human.
60 SERVO 04.2005
Little.qxd 3/9/2005 11:32 AM Page 61
SERVO 04.2005 61
Neal.qxd 3/9/2005 6:25 PM Page 62
O ver the years, I have built many different robots. These robots have successfully navigated
around rooms, avoided objects, and completed other common mobile robot tasks.
However, believe it or not, most of my friends are not “robot geeks.” When they would see one
of my creations, they ask me, “What does it do?” I then explain my robot navigates around the
room and doesn’t bump into things, and they would give me a “deer in the headlight” stare and
change the subject.
One of the reasons I built the robot waiter is that I wanted a project that my friends could
enjoy and provide me with a better answer to the question, “What does it do?” When my friends
ask me what this robot is supposed to do, I can finally say, “It serves drinks!”
62 SERVO 04.2005
Neal.qxd 3/9/2005 6:25 PM Page 63
detecting obstacles, but I selected the • I2C.c — This contains the code, The Party
Devantech SRF08 range finders for two which drives the I2C communication.
key reasons: These sensors communi- The Robowaiter was finally ready
cate via the I2C protocol and work very • Waiter.c — This is the routine written to debut at a small gathering of family
well in the one- to four-foot range. A specifically for this project. and friends, and it was time to answer
terminal strip was used to set up an I2C that age-old question. I loaded fresh
bus, while Port D, Bits 4 and 5 were Through some experimentation, I batteries into the robot and ran a few
used to drive the I2C communication. found if I don’t want a drink to fly off tests in the room the Robowaiter would
Pull-up resistors (1.8K) are required on the tray or the robot to do a forward be working in before the guests started
each I2C communication lines. flip, I needed to control the speed. A to arrive. The room was almost empty
Telephone four-conductor cable is used simple, interrupt-driven pulse width to allow the robot a larger area to work
to connect the SRF08s to the I2C bus. modulation (PWM) routine made the in. Once people started to arrive, I
speed of each wheel adjustable. If I loaded some cups on the tray and
Programming reduced the speed of the robot to about turned it on. Immediately, the robot
50 percent, I was able to keep more was a huge hit with the children. They
The purpose of the Robowaiter is to glasses on the tray than on the floor. enjoyed blocking the path of the robot
entertain guests at a social gathering, Now that the robot was moving, I and seeing the robot react to them.
needed it to stop I allowed the robot to run for most
FIGURE 4. Block diagram of Robowaiter’s electronic components. when its path was of an hour, shutting it down several
blocked. As men- times to reload the tray. I was pleasant-
tioned in the elec- ly surprised that there where very few
tronics discussion, I times I actually had to help the robot
chose to use two out of a situation. The sonic range find-
Devantech SRF08 ers do a very good job of detecting
range finders to walls and people, but do not always
detect obstacles. detect chair legs or lamps.
The SRF08 sensors During the party, I also found that
use the popular I2C bookshelves could be hard to detect.
communication pro- Once, the robot managed to get hung
tocol, which allows up in a corner and needed a rescue.
you to drive up to The SRF08 range finders were set to
eight sensors with react to objects within 16 inches, but
just two digital I/O for future events, this range will be
points alone with extended to 20 inches. In some cases,
the compass and the robot would bump the person as it
text-to-speech mod- was stopping. This made some folks a
ules. little nervous since it appeared robot
64 SERVO 04.2005
Neal.qxd 3/9/2005 6:26 PM Page 65
FIGURE 5. Serving drinks at the Robowaiter’s premiere party. FIGURE 6. At the MARS meeting, it was a big hit.
had revolted and started attacking peo- come very close a few times. Another includes adding the SP03 speech synthe-
ple with its killer tray. suggestion was to “dress the robot up a sizer to the routine. This device will allow
Some of the guests made some sug- little” by adding a bow tie and maybe me to pre-program statements, which
gestions for future improvements. Ideas some arms to hold the tray. can be triggered by the HC11 via the I2C
worth mentioning include using a wider bus. I would also like the robot to ask the
base to prevent the robot from “wob- The Future guests if they would like a refreshment
bling.” With the smaller 12-inch-diameter when it stops and then warn them when
base, the robot had a tendency to rock Before the next social event, I plan it is about to start moving again. Lastly, I
forward when stopping. It never tipped to make some improvements based on plan to add another form of bump detec-
over or dumped a drink, but appeared to what I observed during the party. This tion to the robot. SV
Motor Speed
Control
PID Motor
Position
Control
Solutions Cubed
3
Phone 530-891-8045
www.solutions-cubed.com Solutions
Circle #111 on the Reader Service Card.
SERVO 04.2005 65
LessonsFromTheLab.qxd 3/9/2005 5:53 PM Page 66
// castling bonuses
B8 castleRates[]={-40,-35,-30,0,5}; A
bi-month
LESSONS
//center weighting array to make pieces prefer
column ju ly
//the center of the board during the rating routine
B8 center[]={0,0,1,2,3,3,2,1,0,0}; st for
kids!
//directions: orthogonal, diagonal, and left/right
from orthogonal for knight moves
FROM THE
B8 directions[]={-1,1,-10,10,-11,-9,11,9,10,-10,1,-
1};
LABORATORY
//Good moves from the current search are stored in
this array
//so we can recognize them while searching and make
sure they are tested first
— PART 8 —
Interview With Steve by James Isom
66 SERVO 04.2005
LessonsFromTheLab.qxd 3/9/2005 5:53 PM Page 67
SV: When designing Full Contact, what was the most diffi-
cult problem you ran into?
SH: The hardest part was making sure the chips always fell
into the board. Because of how the board is designed, it has
some play. So, even if the robot goes to exactly the same
point every time, the chips won’t always go into the board.
My solution was to go past where the chip should go, drop
the chip (so it rests on top of the board), then slowly back up
the robot until the chip fell into the board.
The problem was solved by overshooting the slot. Rube Goldberg would be proud.
ished robot, the stick is the critical part SV: Your latest project is the Rube SV: How many modules does it cur-
that does all the work, but — when taken Goldberg-inspired Great Ball rently have?
out — it is little more than a simple stick. Contraption. Tell us about it.
SH: Actually, the GBC is not a static
If you’re interested in
making a module for the
Great Ball Contraption or
even starting one of your
own with your friends, a
complete specification, as
well as video and other
assorted goodies, can be
found on Steve’s website at
www.teamhassenplug.
org/GBC/ SV
68 SERVO 04.2005
AssemblyLine.qxd 3/9/2005 11:36 AM Page 69
by James Antonakos
L
ast time, we examined the minia- Since the motor shaft diameter is small- was made regarding Uno’s forward
ture components (photoresistor er than the wheel shaft diameter, it motion: The rear wheels should rotate
and tilt switch) that will be used takes multiple revolutions of the motor at the rate of 3/5 revolutions per
for the Uno robot design, an update of shaft to make one revolution of the second. How does this translate
a 1950s light-sensing, collision-detect- wheel. In fact, the ratio of the diameters into the required motor’s RPM?
ing robot. This month, we will investi- (DW divided by DM) tells us how many Mathematically, we have:
gate the motors (both DC and stepper) revolutions of the motor are needed.
that will give Uno its ability to move. After rolling several wheels across rev DW 60 sec
RPM = x x
Table 1 shows two of the five the floor, the following assumption sec DM min
requirements needed to satisfy the
Uno design. Requirement Uno Component
A DC motor was chosen for mov- One DC motor to operate a pair of rear wheels.
ing Uno forward and backward, since a Ability to move and change direction. One stepper motor to control the direction of a front
wheel that swivels.
simple polarity change on the motor
terminals changes its direction of rota- Move on a smooth, level surface. No need for brakes.
tion. A stepper motor was chosen to Table 1. Two of Uno’s design criteria.
steer Uno, since only a small range of
motion is needed for the steering Ratio DW:DM Motor Speed (RPM) Figure 1. Connection between the DC
mechanism. A servo motor would be motor and rear wheels.
10:1 360
overkill for this design requirement.
5:1 180
A DC gear-head motor is a DC
motor with a gear-box attached that 4:1 144
reduces the motor’s rotational speed 2:1 72
by a certain factor. We do not want 1:1 36
Uno to zip all around the floor at 500 Table 2. Motor RPM as a function of
miles per hour. In fact, if Uno travels at shaft-diameter ratio.
a speed of one-half foot per second,
that would seem good enough for Part Current* Speed Torque
Product Number Gear Ratio Price
Number (mA) (RPM) (g-cm)
now. One foot of motion corresponds
162190CC GH12-1324Y 145 176 300 30:1 $16.95
to one or more revolutions of the rear
wheels on Uno’s chassis. The rear 161373CC GH12-1345T 185 116 650 30:1 $23.95
wheels rotate at a rate determined by 151440CC GH12-1632T 275 57 2200 100:1 $21.95
the speed of the gear-head motor and 161381CC GH12-1634T 293 145 850 30:1 $21.95
the ratio of the motor (DM) and wheel- 155862CC GH12-1926Y 300 70 1000 60:1 $21.95
shaft (DW) diameters. *Current at maximum efficiency
Figure 1 shows the connection
between the motor and the rear wheels. Table 3. DC motor characteristics.
SERVO 04.2005 69
AssemblyLine.qxd 3/9/2005 11:37 AM Page 70
DIP MICROCONTROLLERS
EE
Sp
PR
ee
O
Pr st
d
To
M
(in
og ru
Pr
A
ta
M
(P
ra ct
oc
na
l#
ic
ro
m io
es
ro
lo
gr
of
Ex ns/
so
g
RA
co
am
Pa
I/O s
I/O
r
ec sec
M
nt
M
Sp
ck
)S
od
ut )
ro
Pi
Si
Pi
ee
ag
SUPPLIER
io
ul
lle
iz
ze
ns
n
n
d
e
e
e
r
Atom 24 24-pin Dip PIC 16F876 20 MHz 35,000 14K Bytes 300 Bytes 20 3
Atom 28 28-pin Dip PIC 16F876 20 MHz 35,000 14K Bytes 300 Bytes 20 4
Basic Micro
www.basicmicro.com Atom 40 40-pin Dip PIC 16F877 20 MHz 35,000 14K Bytes 300 Bytes 32 8
AtomPro 24 24-pin Dip Renesas H8/3664 16 MHz 100,000 32K Bytes 2K Bytes 16 4
AtomPro 28 28-pin Dip Renesas H8/3664 16 MHz 100,000 32K Bytes 2K Bytes 20 8
BasicX BasicX-24 24-pin Dip Atmel 8535 7.3728 MHz 65,000 32K Bytes 400 Bytes 19 8
www.basicx.com
Faraday Engineering CStamp 24-pin Dip Zilog Z8 Encore 18.432 MHz 4,000,000 64K Bytes 4K Bytes 17 6
www.faradayco.com
Domino 1 2x10 Header 80C52 11.0592 MHz 921,600 32K Bytes 32K Bytes 12 None
Domino 2 40-pin Dip 80C52 11.0592 MHz 921,600 32K Bytes 32K Bytes 28 None
Micro64 40-pin Dip ATmega64 11.0592 MHz 11,059,200 64K Bytes 36K Bytes 29 8
Micro128 40-pin Dip ATmega128 11.0592 MHz 11,059,200 128K Bytes 36K Bytes 29 8
New Micros, Inc. Plug-an-ARM Dual 2x12 Header LPC2129 60 MHz ~60,000,000 256K Bytes 16K Bytes 32 4
www.newmicros.com Plug-a-Pod Dual 2x12 Header DSP56F803 80 MHz 40,000,000 64K Bytes 4K Bytes 32 8
BS2-IC 24-pin Dip PIC 16C57C 20 MHz 4,000 2K Bytes 32 Bytes 18 None
Parallax, Inc. BS2p24-IC 24-pin Dip SX48AC 20 MHz 12,000 8x2K Bytes 166 Bytes 18 None
www.parallax.com BS2p40-IC 40-pin Dip SX48AC 20 MHz 12,000 8x2K Bytes 166 Bytes 34 None
Javelin Stamp 24-pin Dip SX48AC 25 MHz 8,500 32K Bytes 32K Bytes 16 None
NanoCore12C32 24-pin Dip MC9S12C32 24 MHz 6,000,000 32K Bytes 2K Bytes 16 8
Technological Arts NanoCore12DXC32 32-pin Dip MC9S12C32 24 MHz 32K Bytes 2K Bytes 24 8
6,000,000
www.technologicalarts.com
NanoCore12MAXC32 40-pin Dip MC9S12C32 24 MHz 6,000,000 32K Bytes 2K Bytes 30 8
TinyARM Dip 40 40-pin Dip LPC2106 10 MHz ~10,000,000 128K Bytes 64K Bytes 32 None
TinyARM TinyARM Dip 50A 50-pin Dip LPC2129 10 MHz ~10,000,000 256K Bytes 16K Bytes 47 4
www.tinyarm.com
TinyARM Dip 50B 50-pin Dip LPC2194 10 MHz ~10,000,000 256K Bytes 16K Bytes 47 4
72 SERVO 04.2005
BrainMatrix.qxd 3/9/2005 2:14 PM Page 73
by Pete Miles
Upcoming topics include SBCs and H-bridges, sensors, kits, and actuators. If you’re a manufacturer of one of these items, please
send your product information to: BrainMatrix@servomagazine.com Disclaimer: Pete Miles and the publishers strive to present the most accurate data
possible in this comparison chart. Neither is responsible for errors or omissions. In the spirit of this information reference, we encourage readers to check with
manufacturers for the latest product specs and pricing before proceeding with a design. In addition, readers should not interpret the printing order as any form
of preference; products may be listed randomly or alphabetically by either company or product name.
C
ur
Bu
C
So
So
om
re
Fl
Fl
ilt
A (sa
nt
ur
ur
oa
oa
H
-in
m
D m
H tr
ce
ce
ar
tin
tin R t M
D
un
C p
ar e
Su qui
Pr L
bi
Re
ra
dw
/S
/S
g
g eso ath
Sa le
dw so
ic
og an
pp rem
in p
in
w
at
Po
Po lu
ar
m s/r
In
k er
H n Ty
k
ar lut
ra gu
(r
ly e
io
eT
in
in ti
pl at
te
ar p
C I
pe
e ion
un
m ag
Vo nt
t M on
ur /O
e e)
rr
dw es
PW
im
m e
ni
lta s
Ra
re
up
un
in
ng
at
ar
er
ge
nt
M
te
ts
it
g
h
e
s
)
RS-232, I2C, SPI, MicroWire,
35,000 10 bit 3 Software 1-Wire, X-10, NTSC Yes 32 bit 5-12 VDC 5 mA 25/25 mA 200/200 mA Mbasic
6,000 8 bit/10 bit 2 1 RS-232, I2C, SPI Yes 32 bit 5-12 VDC 12 mA 3/20 mA 40/40 mA Basic
1k/1k N/A 1 8 RS-232, I2C, SPI No 16 bit 8-16 VDC 5 mA 25/25 mA 200/200 mA None
1k/1k 10 bit 3 8 RS-232, I2C, SPI No 16 bit 8-16 VDC 4 mA 25/25 mA 200/200 mA None
RS-232A/RS422/RS485,
20k/10k N/A 3 8 No 16 bit 8-16 VDC 4 mA 25/25 mA 400/400 mA None
I2C, SPI
RS-232A/RS422/RS485,
15,000 8 bit/16 bit 4 5 Yes 32 bit 6.5-20 VDC 50 mA 20/20 mA 400/400 mA None
I2C, SPI
RS-232A/RS422/RS485,
15,000 8 bit/16 bit 4 5 Yes 32 bit 6.5-20 VDC 50 mA 20/20 mA 400/400 mA None
I2C, SPI
400,000 32 bit 2 9 RS-232, I2C, CAN Yes 32 bit 6-12 VDC 18 mA 4/4 mA 50/50 mA MPE-FORTH
500,000 15 bit 16 64 RS-232, CAN, SPI Yes 32 bit 6-9 VDC 18 mA 25/25 mA 180/180 mA IsoMax
N/A N/A None Software RS-232, I2C, X-10, 1-Wire No 16 bit 5-15 VDC 3 mA 20/25 mA 40/50 mA Pbasic
N/A N/A None Software RS-232, I2C, X-10, 1-Wire No 16 bit 5-12 VDC 40 mA 30/30 mA 60/60 mA Pbasic
N/A N/A None Software RS-232, I2C, X-10, 1-Wire No 16 bit 5-12 VDC 40 mA 30/30 mA 60/60 mA Pbasic
N/A N/A 1 None RS-232 No 16 bit 5-24 VDC 80 mA 30/30 mA 60/60 mA Java
140,000 8 bit 8 8 RS-232, SPI Yes 32 bit 3-16 VDC 27 mA 25/25 mA 160/160 mA None
140,000 8 bit 8 24 RS-232, SPI, CAN Yes 32 bit 3-16 VDC 27 mA 25/25 mA 240/240 mA None
140,000 8 bit 8 24 RS-232, SPI, CAN Yes 32 bit 3-16 VDC 40 mA 25/25 mA 240/240 mA None
N/A 32 bit 2 3 RS-232, I2C, SPI No 32 bit 3.6-5.5 VDC 15 mA 4/4 mA 50/50 mA None
2.44ms 32 bit 2 4 RS-232, I2C, SPI No 32 bit 3.6-5.5 VDC 18 mA 4/4 mA 50/50 mA None
2.44ms 32 bit 2 4 RS-232, I2C, SPI No 32 bit 3.6-5.5 VDC 18 mA 4/4 mA 50/50 mA None
SERVO 04.2005 73
MrRoboto.qxd 3/9/2005 6:00 PM Page 74
Tap into the sum of all human knowledge and get your questions answered here!
From software algorithms to material selection, Mr. Roboto strives to meet you
where you are — and what more would you expect from a complex service droid?
by
Pete Miles
— Bill Rylie
via Internet
Though there have been some international efforts
toward creating standards, there are still differences in mate-
rial thicknesses/diameters, based on what the material is.
When it comes to electrical wire, the American Wire Gauge
(AWG) is the standard that is fairly constant. When you are
looking to buy sheet metal and wire (other than electrical
minum, brass, and so on. Also, the numbering trends are not
consistent. For example, for most sheets and wires, as the
gauge number increases, the wire diameter/sheet thickness
decreases. This is not the case with music wire. As the gauge
number increases, so does its diameter.
Q Last year, I got a Lynxmotion Extreme 1 walking
robot for Christmas. This is a really cool robot, and I
have been having a lot of fun programming it. I was
wondering if you know of any good contests that I could
enter my robot in?
The gauge system is a holdover from early attempts at — Zach Field
standardizing dimensions. Different companies and different via Internet
countries tried to establish their own system of standards.
With sheet metal, the gauges were tied to the weight of a
sheet of one-inch-thick metal that was one foot square in
size. Originally, gauges were based on the weight of wrought
iron, which is 480 pounds per cubic foot — that’s equivalent
to 40 pounds per square foot. The confusing part is that a
A I am not sure where you live, but you should check out
the Walking Robot Race that was created by members of
the Portland Area Robotics Society (www.portland
robotics.org). They run this contest in their annual robotics
event — PDXBot (www.pdxbot.com). This is a relatively sim-
particular company could choose that a Gauge 3 is equiva- ple contest where your robot has to travel from one end of the
lent to 10 pounds of material. To convert that to a thickness, course to the other end, turn around, and then go back to the
just divide the weight of the Gauge 3 standard by the weight stating point. Most of the arena is white with a black starting
of one square foot of material (in this case, 40 pounds/inch). point and a green turn-around area. The arena is three feet wide
The thickness will be 0.25 inches (thickness = 10/40). and seven feet long. The robot with the quickest time wins.
These standard “gauge” weights are different for different The Extreme Walker 1 from Lynxmotion (www.lynx
materials and, in the old days, they were different at different motion.com) is fully capable of negotiating this contest and
organizations. Aluminum, steel, and brass all have different has a good chance of winning it. The reason I say this is that
weights per square foot (14.1, 40.75, and 44.64 pounds/inch) in the rules of the contest, they use a handicapping formula that
and their thicknesses for the same gauge number are similar, is based on the geometry of your robot to make sure that small
but not the same. This means that the weight of the gauge robots compete on equal grounds with large robots. This formu-
“standard” is different for different materials. Since different la is known as Alexander’s Formula, and it is used to adjust the
companies and countries had different “standards,” this result- final times of the robot based on its geometry. Because of this
ed in a great deal of confusion in getting materials that have formula, all walking robots can compete together.
the same thickness from different companies. Another contest to look at is the Walker Challenge that is
74 SERVO 04.2005
MrRoboto.qxd 3/9/2005 6:01 PM Page 75
w
e
N
KHR-1 Robo-One Robot Kit
These awesome kits are the latest craze in Japan.
Robot has 17 motors for fluid movements.
Programed and Controlled via PC.
Upgradable to Bluetooth wireless.
challenge 1:
Weightlifting. Ascend stairs in your suit to the lifting
platform and lift a load of from 100 to 1,000 lbs* from a
squatting position to a height of at least 24 inches*, return
the load to the ground in a controlled manner, and
descend the stairs. Stair-climbing may be unpowered. The
winner is the competitor who lifts the most weight.
challenge 2:
Dexterity. Stack nine concrete cylinders weighing about
70 pounds each in a 4-3-2 vertical arrangement, but don't
knock them over as the pyramid grows! The winner is the
competitor who arranges the cylinders in the shortest
time.
challenge 3:
Walking Race. Walk the 100 foot* long U-shaped
challenge course, stepping over a small obstacle at the
half-way point.The shortest time wins, with a time bonus
being granted based on any auxillary load carried.Walking
must be powered.
Send updates, new listings, corrections, complaints, and suggestions to: steve@ncc.com or FAX 972-404-0269
I recently noticed an interesting discussion on the frustrated with the voluminous rules?
comp.robotics.misc newsgroup . It started out as the usual www.trincoll.edu/events/robot
sort of argument that crops up frequently about popular TV
programs that stage “robot combat.” Are the “robots” real- 11-16 BattleBots IQ
ly robots if they're actually being controlled by off-camera Universal Studios Orlando, Orlando, FL
human operators much like the prop robots in a science fic- BattleBots IQ is sort of like FIRST or BEST except
tion movie? Often the solution posed when this topic comes that instead of learning about engineering, the kids
up is a contest in which real (that is, autonomous) robots get to learn about smashing radio controlled vehi-
battle each other. In this case, however, a more interesting cles and the joys of destruction.
solution was proposed. www.battlebotsiq.com
What if, instead of trying to make real robots emulate
robot “actors” on TV shows that popularize mindless destruc- 12-14 DTU RoboCup
tion, we went the opposite direction and came up with a com- Technical University of Denmark, Copenhagen,
petition in which robots try to achieve some constructive, real- Denmark
world goal. Suggestions included building walls, laying foun- Start out by imagining your typical line following
dations, and perhaps eventually a “Habitat for Humanity”-type contest. Now, add forks in the line, ramps, stairs,
contest in which a team of robots construct a house. gaps in the line, shifts from indoor to outdoor light-
It sounds far fetched at first, but there are a lot of ing, reversals of the line shading (white to black),
researchers working on robotics technology for RoboCup and 50-cm “gates” though which the robot must
that they hope will allow a team of humanoid robots to beat pass.
a human team at a game of soccer by the year 2050. How www.iau.dtu.dk/robocup/about_robocup.html
much more useful and interesting would it be for a team of
robots to construct a house instead of a playing games 15 Carnegie-Mellon Mobot Races
or destroying each other for our amusement? [It’s worth Wean Hall, CMU, Pittsburgh, PA
thinking about, as this noble concept is the driving force The traditional Mobot slalom and MoboJoust
behind SERVO Magazine’s annual Tetsujin contest. For more events will be hosted by CMU.
information, look to your left. —Editor] www.cs.cmu.edu/~mobot/
— R. Steven Rainwater
16 RoboRodentia
For last-minute updates and changes, you can always find Mott Gymnasium, California Polytechnic State
the most recent version of the Robot Competition FAQ at University, San Luis Obispo, CA
Robots.net: http://robots.net/rcfaq.html A micromouse-like maze navigation contest for
autonomous robot mice. In addition to navigating
the maze, a robot must all pick up balls and place
A p r il 2 0 0 5 them in a nest.
www.ceng-web.calpoly.edu/openhouse/satur
3 Penn State Abington Fire Fighting Robot day.php
Contest
Penn State Abington, Abington, PA 30- PDXBOT
Regional qualifier for the Trinity College Fire May 1 Smith Center Ballroom, Portland State Univ.,
Fighting contest. Portland, OR
www.ecsel.psu.edu/~avanzato/robots/contests Lots of cool stuff planned this year including Nano,
Micro, Japan, and Mini Sumo contests, a line fol-
9-10 Trinity College Fire Fighting Home Robot Contest lowing contest, and a Robo-Magellan contest
Trinity College, Hartford, CT based on SRS rules.
Could the fire have been set by a robot builder www.pdxbot.org
SERVO 04.2005 77
Appetizer.qxd 3/10/2005 10:31 AM Page 78
that they might influence your behav- moted careers in science and technol-
ior, unless you’re actively trying to ogy as a viable option for girls. Unlike
avoid acting in a biased manner.” later American programs, however,
So, based on the IAT results, rather the Roadshow also educated parents,
than treating young girls like artists, we teachers, and even employers about
need to educate them to be technolog- Botswana’s need for technology
ically and scientifically equal with boys. manpower — and womanpower.
Oddly enough, Africa is actually ahead Remarkably, predating the IAT
of America in realizing this need for results, the Roadshow has mandated
“actively trying to avoid acting in a that participants should “be encour-
biased manner.” aged to change their attitudes
If you don’t think of Africa as a toward women in these fields.”
growing force in science and technolo- Although slow to act, the US is
gy education, think again; better yet, now attempting to define the factors Amelia loves her little “Roro.” With just a
think last century. It was back in 1989 that contribute to the gender gap in little instruction, she is now able to program
when the Commonwealth Secretariat technology education. While the ini- lengthy command sequences into it.
Education Programme began soliciting tial reaction is to throw money at the
African countries to sponsor a program topic, one very interesting 1999 study public school district in the country, it is
called The Science and Technology suggests that filling our classrooms with a “technology-rich learning environ-
Roadshow — for girls. technology isn’t the sole answer. ment” with every classroom wired for
In 1990, the Ministry of Education Arguably, the highest tech school the Internet. According to this 1999
for Botswana became the inaugural host system in the US is the Fairfax County study of the 1998 enrollment in all tech-
for the Roadshow. Focusing on second- Public School District in Virginia. Even nology classes offered by the Fairfax
ary school students, the program pro- though this district is the 12th largest County Public School District, only six
T E X A S A R T RO B OT S
H A N D M A D E I N T E L L I G E N C E
www.gatewayelectronics.com
(Electronically Speaking, Gateway’s Got It!)
Megarobotics’ AI Motors
Building blocks
for robots!
Starting at $65
www.garage-technologies.com
SERVO 04.2005 79
Appetizer.qxd 3/10/2005 10:33 AM Page 80
logical work just to write a letter with can’t start too early with their introduc- the strongest case for females liking
your word processor? tion to technology. My one-year-old robots. In a 2003 interview with
Remarkably, women of all ages are daughter, for example, calls Taiwan News, Tilden offered some
able to perform these operations without Robosapien “Roro” and can deftly pro- insightful quotes regarding a proposed
any acknowledgment of being a pro- gram 14-step activities into its internal “FemBot” design. Specifically, “She
grammer, a system engineer, or a hard- memory without assistance. [the proposed FemBot design] can also
ware technician. They just like to sew and Do women really hate robots? do simple tasks like combing her
consider themselves fashion designers. Ironically, it’s the inventor of the owner’s hair … unlike boys, girls like to
So, what can you do? Luckily, Robosapien, Mark Tilden, who makes interact with their toys.” SV
you’re holding the best tool in your
hands right now! SERVO Magazine is a GIRL POWER
great place to start integrating technol-
ogy into your children’s lives, whether Knowledge is power. In order to www2.edc.org/CCT/projects_summary
they are male or female. For example, I empower girls to enter technology .asp?numProjectId=771
fields, you will need to arm yourself with
read each issue to my daughters every
some information. Below is a small sam- EducatingJane.com — Teacher’s
month. Sure, they don’t really appreci- pling of websites that detail numerous Resources for Educating Girls
ate it at the same level as I do, but they programs and activities that can be used www.educatingjane.com/educators.htm
like reading and they love robots. for helping all children achieve their
Making technology a common- potential. Girl Scouts Original Research Studies
place household resident will give your www.girlscouts.org/research/
children the best foundation that they The Advertising Council on Math, publications/original/default.asp
will ever need. Programming the Science, and Technology Education
kitchen’s microwave, burning the family www.adcouncil.org/issues/Math_and_ IEEE Women in Engineering
Science_Education/ www.ieee.org/portal/site/mainsite/me
video to a DVD, or walking Robosapien nuitem.818c0c39e85ef176fb2275875ba
around the house all help to put a face American Association of University c26c8/index.jsp?&pName=corp_level1
on technology. Also, watch your chil- Women — Tech-Savvy: Educating Girls in &path=committee/women&file=index.
dren and learn their interests, then you the New Computer Age (2000) xml&xsl=generic.xsl
will be better equipped to integrate www.aauw.org/research/girls_
technology into their daily lives. You education/techsavvy.cfm National Science Foundation:
Discoveries
AWE — Attracting Women into www.nsf.gov/discoveries/
AUTHOR BIO Engineering: A Mentoring Program
Dave Prochnow is the author of for Middle School Girls Society of Women Engineers
25 nonfiction books, including the users.rowan.edu/~jahan/personal/ www.swe.org/stellent/idcplg?IdcSer
best selling Experiments with EPROMs. kjweb/awe-web/awe.htm vice=SS_GET_PAGE&nodeId=5
Dave also won the 2001 Maggie Award
for the best “how-to” article in a con- Botswana Roadshow — Girls and Taiwan News: “Humanoid Robot
sumer magazine. Building on his new- Women in Science and Technology Dishes Out Kung-Fu Moves”
found friendships with Robosapien www.col.org/10th/best/botswana.html www.etaiwannews.com/Business/2003/
and Mark Tilden, Dave is currently 11/22/1069466565.htm
assembling an enormous selection of Education Development Center: Center
Robosapien tips, programs, and hacks for Children and Technology — Wired News:
into his forthcoming book, A Hacker’s Telementoring Young Women Bots Not a Bra-Burning Issue
Guide to Robosapien (TAB Electronics, in Engineering and Computing: www.wired.com/news/women/0,1540,
2005). Providing the Vital Link 48337,00.html
Advertiser Index
All Electronics Corp. ............................51 Hobby Engineering ..............................39 Robotic Trends .....................................21
AREXX Engineering ..............................59 Jameco ...........................................25, 83 RobotShop ............................................17
BitScope ................................................11 Lemon Studios .....................................67 Smithy .....................................................51
Lynxmotion, Inc. ...................................19
Budget Robotics ...................................70 Solutions Cubed....................................65
Net Media ...............................................2
CrustCrawler ...........................................7 Sozbots..................................................75
Parallax, Inc. ...........................Back Cover
Custom Computer Services, Inc. ........15 Technological Arts ...............................61
PCB123/PCBexpress ...............................3
Eagle Tree Systems ...............................55 PCB Fab Express ...................................49 Tetsujin 2005..........................................76
E-Clec-Tech ............................................29 Pololu Robotics & Electronics .............31 Vantec ....................................................10
IMService ..............................................45 Robotics Group, Inc..............................33 Zagros Robotics ....................................51
SERVO 04.2005 81
Last Page.qxd 3/9/2005 5:58 PM Page 82
Trobotics
he two-wheeled balancing robots
that you’ve seen in experimental
exhibitions across the country
ets. In assembling the robot
(after you took it apart, as
everyone I know did), you
are not new, but these later versions began by trying to align the
have sprung from the success of Dean plastic panels while making
Kamen’s Segway Human Transporter. sure the rivet holes were
Experimenters have used sensors simi- aligned. You would insert the
lar to Segway’s five-gyroscopic and rivet into both aligned holes
two-tilt sensors to reproduce their own and then insert a small plas-
balancing robots at a cost far cheaper tic pin into the center of the
than Segway’s $4,000-plus. I loved rid- rivet to spread apart the back
ing the Segway, though I feared a small pieces of the rivet to hold the
hiccup in the control electronics would two pieces of plastic panels
cause me to dive forward and trip over together. This pin went into the rivet one each at the front and back to keep
the “T” handle bar. and was flush at the surface. it from tilting over too far. It did not use
Was it the first two-wheeled robot- After 50 or so rivets, the robot gyroscopic feedback in the control sys-
ic device? Nope! There was a unique would be held together; however, the tem, but rather the two wheels were
entry into the field two decades prior. only way to take it apart again was to canted outward enough so the bottom
Quite a few of you readers may stick a small rod or punch into the rivet surfaces were not circular but like the
remember the Androbot TOPO that hole to push the pin through, and it fell oval bottom rails of a rocking chair that
made the “robotic scene” in 1982. The into the robot’s body. To get at the pin(s), keeps it from tipping over.
two-wheeled robot — yes, it managed you either had to completely disassemble Hey, you might call that cheating,
to balance on just two wheels — was it again or turn it upside down and shake but at least it could still stand upright
one of the creations of Nolan Bushnell, the robot until the pin(s) finally fell out. with the power off. SV
who is best known for Atari, Pizza Time Bad design. Very bad.
Theater, and the Pong video game. This original model had
This rather strange looking robot an RF transmitter for the
caught the eyes of many robot experi- remote control that linked to
menters when it made its public debut an external Apple II comput-
at the 1983 Consumer Electronics er. The next model had an IR
Show in Las Vegas. link and a speech synthesiz-
Bushnell described Androbot, “as er, and a later model did
my greatest joy and my greatest sor- away with the 18 separate
row.” Androbot went bankrupt and panels and used five molded
Bushnell sold it in 1985. But TOPOs body parts instead.
went through several versions before The most unique feature
they finally left the scene. was its ability to balance on
The original TOPO was constructed two wheels. It did have two
from 17 blow-molded pieces of plastic casters (if you could call
held together by a series of plastic riv- those ball-bearing casters),
82 SERVO 04.2005
CoverInside.qxd 3/10/2005 4:26 PM Page 2
Remember when...
...electronics stores were stocked to the rafters
Vol. 3 No. 4
SERVO MAGAZINE
REAL-WORLD ROBOTS
April 2005
0 74470 58285 4
Circle #40 on the Reader Service Card.