Sunteți pe pagina 1din 84

Vol. 6 No.

12

SERVO MAGAZINE

ROBOT BUILDING BASICS BLDC MOTOR ARTIFICIAL MUSCLES TANKBOT GAIT DETECTION

December 2008

Full Page.qxd

7/9/2008

9:57 AM

Page 2

Let your geek shine.


Meet Pete Lewis, lead vocalist for the band
Storytyme. Pete recently created the RS1000,
a new personal monitor system for performing
musicians. It was SparkFuns tutorials, products
and PCB service that enabled him to take his idea
to market in less than a year.
The tools are out there. Find the resources you
need to let your geek shine too.

Sharing Ingenuity
W W W. S P A R K F U N . C O M

2008 SparkFun Electronics, Inc. All rights reserved.


Hear music from Storytyme at www.storytymeband.com, or check
out Petes RS1000 at www.rockonaudio.com.

Full Page.qxd

11/4/2008

9:54 AM

Page 3

Problem Seen. Problem Solved.

Introducing Logic, the new Logic Analyzer with SPI, Serial, and I2C. Now shipping for $149.

logic

TM

Decide if Logic is worthy of your workbench at saleae.com.

TOC Dec08.qxd

11/5/2008

9:18 PM

Page 4

Departments
06
12
18
66
68
72
81
81

Mind/Iron
Events Calendar
New Products
Robotics Showcase
SERVO Webstore
Menagerie
Robo-Links
Advertisers Index

PAGE 20

Columns
08

Robytes
by Jeff Eckert

Stimulating Robot Tidbits

10

GeerHead
by David Geer

Artificial Muscles

14

by Dennis Clark

BasicBoard Robotics

22
27

BUILD REPORT:
Cloud of Suspicion
MANUFACTURING:
Laying Out Your Work Area
PARTS IS PARTS:
2.4 GHz Radio Fail-safes

Events
24

28

Event Report:
Robothon Robot Combat 2008
Results and Upcoming Competitions

Robotics Resources
by Gordon McComb

So You Want to Build a Robot

74

20

by William Smith

BasicBoard Programming Options

62

Features

Ask Mr. Roboto


Your Problems Solved Here

58

THE COMBAT ZONE ...

Appetizer
by Shane Colton

Robot Profile
26

Micro Drive

Build a Self-Balancing Scooter

77

Then and Now


by Tom Carroll

Japanese Robotics

SERVO 12.2008

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. PERIODICALS POSTAGE PAID AT CORONA, CA AND AT ADDITIONAL ENTRY MAILING OFFICES. POSTMASTER: Send address changes to SERVO
Magazine, P.O. Box 15277, North Hollywood, CA 91615 or Station
A, P.O. Box 54,Windsor ON N9A 6J5; cpcreturns@servomagazine.com

TOC Dec08.qxd

11/5/2008

9:19 PM

Page 5

12.2008
VOL. 6 NO. 12

PAGE 48
PAGE 74

Features & Projects


30

Learning To Drive:
The BLDC Motor

44

by Fulvio Mastrogiovanni
AmI is a multidisciplinary approach
using intelligent systems around us
to help in daily activities. Or, you
could just call it a Smart Home, too.

by Fred Eady
Keep your robots runnin with this
latest addition to the motor arsenal.

34

Getting Control With the


Propeller: Part 4

48

Multi-Purpose,
Daisy-Chained Gait
Detection System
by Balakumar Balasubramaniam
and Wendi Dreesen
This inexpensive system lets you
monitor your (or your robots!)
rhythm and stride pattern.

Build The Ultimate Robot


by Michael Simpson
Part 3: Base Assembly.

by Chris Savage
Propeller Multi-Controller.

38

Ambient Intelligence

54

Taking Control of Your


SERVO TankBot
by Ron Hackett
This time, take a look at centering
the TankBots servo motors and
implementing a Universal TV remote
for control.

SERVO 12.2008

Mind-Iron Dec08.qxd

11/5/2008

4:33 PM

Page 6

Published Monthly By
T & L Publications, Inc.
430 Princeland Ct., Corona, CA 92879-1300
(951) 371-8497
FAX (951) 371-3052
Webstore Only 1-800-783-4624
www.servomagazine.com
Subscriptions
Toll Free 1-877-525-2539
Outside US 1-818-487-4545
P.O. Box 15277, N. Hollywood, CA 91615

Mind / Iron
by Bryan Bergeron, Editor

Mass Customization
Im convinced that the future of
robotics especially service robotics
is tied to the development and
acceptance of mass customization.
Consider the typical challenges faced
by an enthusiast in creating a
complete robot. First, theres the
hardware platform from the
supporting infrastructure to the drive
train to the effectors. Unless you
start from scratch a costly and
time-consuming affair you must
identify and purchase a crawler or
roamer or other platform suitable to
your needs. However, have you ever
tried mixing and matching an arm
from one manufacturer with the
body of another? Even if its possible
to readily bolt the effector securely to
the main body, there remain issues
from electrical connectivity to how to
best compensate for the extra weight
and shift in the center of gravity.
Then, theres the issue of sensor
selection from US range detectors
to IR radar. Again, this is a task- and
cost-dependent selection, assuming
what you need is even available offthe-shelf. Theres also the power
system, communications system, and
all-important computational
hardware and software to consider.
Typically, you must either cobble
together a unique assemblage of
components from a variety of
vendors or buy a pre-configured
robot from a single vendor thats (at
best) a compromise. On top of it all,
because your final robot is a unique
assemblage of components, sensors,
effectors, and software, the software
routines crafted by another developer
will probably require significant

modification before theyre useable


in your robot.
Other industries facing the same
challenges turned to the mass
customization model, often with
astounding commercial success. For
example, take Dell and Apple. When
you order a PC from the Dell website,
you scroll through pages describing
options and prices. You add
whatever features you cant live
without while knowing that
regardless of your choices, the
machine will boot and run your
favorite programs. The Apple website
offers many of the same design
options including drives with
various capacities, DVD and CD
player/recorder options, extra
memory, video memory, and monitor
sizes. This is possible because each
component manufacturer abides by
industry standards.
Mass customization has been
applied successfully to other, less
obvious industries, as well. For
example, one of my interests is
building, refurbishing, and playing
electric guitars. However, as with
robotics, designing a guitar involves
careful consideration of myriad
factors. Critical issues range from
neck size and geometry and the
number and configuration of
electronic pickups, to the
composition of the body. All of these
factors and more affect the tone and
play-ability of a guitar. Furthermore,
to put the pieces together requires
an expensive set of specialized tools
and the expertise to use them.
The mass customization
companies catering to custom guitar
builders (such as
Mind/Iron Continued

SERVO 12.2008

PUBLISHER
Larry Lemieux
publisher@servomagazine.com
ASSOCIATE PUBLISHER/
VP OF SALES/MARKETING
Robin Lemieux
display@servomagazine.com
EDITOR
Bryan Bergeron
techedit-servo@yahoo.com
TECHNICAL EDITOR
Dan Danknick
dan@teamdelta.com
CONTRIBUTING EDITORS
Jeff Eckert
Tom Carroll
Gordon McComb David Geer
Dennis Clark
R. Steven Rainwater
Fred Eady
Kevin Berry
Michael Simpson
Chris Savage
Wendi Dreesen
Fulvio Mastrogiovanni
Shane Colton
Thomas Kenny
Blake Hooper
Rob Farrow
William Smith
Ron Hackett
Balakumar Balasubramaniam
CIRCULATION DIRECTOR
Tracy Kerley
subscribe@servomagazine.com
MARKETING COORDINATOR
WEBSTORE
Brian Kirkpatrick
sales@servomagazine.com
WEB CONTENT
Michael Kaudze
website@servomagazine.com
PRODUCTION/GRAPHICS
Shannon Lemieux
AJ Cohen
ADMINISTRATIVE ASSISTANT
Debbie Stauffacher

Copyright 2008 by
T & L Publications, Inc.
All Rights Reserved
All advertising is subject to publishers approval.
We are not responsible for mistakes, misprints,
or typographical errors. SERVO Magazine assumes
no responsibility for the availability or condition of
advertised items or for the honesty of the
advertiser. The publisher makes no claims for the
legality of any item advertised in SERVO.This is the
sole responsibility of the advertiser.Advertisers and
their agencies agree to indemnify and protect the
publisher from any and all claims, action, or expense
arising from advertising placed in SERVO. Please
send all editorial correspondence, UPS, overnight
mail, and artwork to: 430 Princeland Court,
Corona, CA 92879.

Mind-Iron Dec08.qxd

11/5/2008

4:06 PM

Page 7

www.FirstAct.com) take care of the standards issues,


allowing you to focus on appearance and geometry. The
universe of possible components isnt available to you,
but the component selection is generally rich enough to
create a custom guitar suitable for any budget. As a
result, with a click of the mouse and credit transaction a
custom guitar can be at your doorstep in a matter of
weeks. No need to fully equip a woodworking shop or
learn how to wire your own pickup coils, and (given the
skill) you can play music written for any other electric.
So, if mass customization can work for other
industries, why has it been slow to take off in robotics?
One factor is the lack of a deep-pocketed Dell or Apple in
the world of robotics. A few hardware platforms have
been widely accepted by the enthusiast community the
Parallax BoeBot comes to mind. However, most robot
models sell in the hundreds unless they make it to the
game/entertainment market.
The underlying issue is, of course, the lack of an
industry standard robot configuration (akin to the PC) or
a proprietary design with a devoted following (akin to the
Apple Mac). Certainly, standards have been advanced to
assist in the development of reusable robot software
components (such as the Microsoft Robotics Studio) and
several vendors offer platforms ready to be populated
with components. But there are no real robotics
standards from a body large enough to enjoin the entire
consumer robotics industry, such as the IEEE.
So, what can we do, as mere enthusiasts, to nudge
mass customization of robotics along? Do what
developers in other industries do: Identify best of breed
and then integrate them into a good product line. The
first hurdle is, of course, defining best, given each
component manufacturer has a stake in declaring their
product as such.
Take a moment and imagine what youd do, given
unlimited access to commercial robotic components and
systems. Whats the best platform out there for small
service robots? Medium sized? What are the best (i.e.,
most affordable, easily programmed, compatible, etc.)
controllers? Sensors? Motors?
As a first step in developing industry recognized
standards, a consortia of companies and developers could
interface the best out there and then provide options to
suit different classes of users. If you or your
group/company is up for the challenge or currently
engaged in the challenge then please drop me a line.
Its time to connect like-minded developers. SV

STEER WINNING ROBOTS


WITHOUT SERVOS!

erform proportional speed, direction, and steering with


only two Radio/Control channels for vehicles using two
separate brush-type electric motors mounted right and left
with our mixing RDFR dual speed control. Used in many
successful competitive robots. Single joystick operation: up
goes straight ahead, down is reverse. Pure right or left twirls
vehicle as motors turn opposite directions. In between stick
positions completely proportional. Plugs in like a servo to
your Futaba, JR, Hitec, or similar radio. Compatible with gyro
steering stabilization. Various volt and amp sizes available.
The RDFR47E 55V 75A per motor unit pictured above.
www.vantec.com

Order at
(888) 929-5055
SERVO 12.2008

Robytes Dec.qxd

11/5/2008

6:46 PM

Page 8

Robytes
Stereo Vision System
Introduced

The SVT dual-camera,


dual-processor stereo vision system.
Courtesy of Surveyor Corp.

If your bot or other homebuilt


device needs 3D vision, check out the
Surveyor SVT : a dual-camera, dualprocessor Wi-Fi system geared for
robotics, embedded image processing,
and Web-based remote monitoring.
Surveyor (www.surveyor.com)
points to features including on-board
programmability, Wi-Fi connectivity,
easy sensor and actuator interface,
open source architecture, and a list
price of $550 as key attributes.
You may note from the photo
that the SVT employs Analog Devices
Blackfin processors, which are
designed for such things as multiformat audio, video, voice and image
processing, etc. (details at www.ana
log.com). According to Surveyor
literature, the system takes full
advantage of the processors power
efficiency, optimized video instructions, high speed video interface, and
easy interface to peripheral devices.
It incorporates two BF537 32-bit
Blackfins, two Omnivision OV9655
1.3 megapixel cameras, PWM motor
control, various interfaces, and
3.3V and 5V regulation for battery
operation. You also get a Lantronix
Matchport 802.11bg radio, all of
which takes up only a 2.5 x 6 x 2 inch
volume and consumes less than 2W.
Programming can be via Windows,
Mac OS X, or Linux.

SERVO 12.2008

Bee Safer on the Road


At the recent CEATEC Japan
show, Nissan (www.nissan-global.
com) unveiled its concept for
automotive safety in the form of the
Biomimetic Car Robot Drive, also
known as BR23C. According to
Nissan, it is based on lessons learned
from the humble bumblebee,
specifically the bees vision system.
The insects compound eyes can
spot obstacles in a 300+ range, allowing
it to fly safely within its personal space.
In the automotive version, Nissans
Laser Range Finder (LRF) system covers
180 and has a sensor range of 2 m
toward the front. The LRF calculates
the distance to another object and
sends the data to an onboard microprocessor, which translates it into a
collision avoidance strategy. But a bee
can bumble up, down, or sideways to
avoid other bees, whereas the BR23C
can only move in two dimensions and
only within the limitations of the wheels.
Presumably, the operating range of
2 m is a prototype limitation, as it would
appear advisable to detect a pending
collision with a bit more time to react.
Lets say youre driving toward a telephone pole or other stationary object at
60 mph (88 ft/sec) and detect an obstacle at a distance of 10 ft. That would
allow only about 1/10 sec reaction time
enough time for an airbag to deploy,
but not so hot for braking or swerving.
Nissan says the device only needs
to process inputs every few seconds,
and act on that. Hmmm. In any event,
the company hopes that the system will

by Jeff Eckert
cut the number of accident fatalities
and serious injuries to Nissan drivers by
half by 2015, as compared with 1995.

And Bee Careful of Flying


Objects

The KillerBee a fully autonomous


UAS will be used by the US Navy
and Marine Corps for both
ground-based and ship-launched
surveillance and reconnaissance.
Courtesy of Raytheon Corp.

Another ostensible offspring of


the genus Bombus is the KillerBee
unmanned aircraft system, which is
being provided to the US Navy and
Marine Corps by a team made up
of Swift Engineering and Raytheon
(details at www.killerbeeuas.com).
It looks more like a manta ray leaping
through the surface of the gulf, but
its considerably more lethal than
either one when connected to combat and command control systems.
According to a recent announcement,
KillerBee has the ability to insert
persistent intelligence, surveillance,
and reconnaissance (ISR) into the battle space and rapidly deliver
Nissans BR23C uses compound eyes for collision actionable intelligence to
avoidance. Courtesy of Nissan Motor Company
combatant commanders.
Advanced Technology Center.
Late in September, a
Raytheon flight operations
crew simulated a combat
environment by delivering
the KillerBee system to
a remote location via
Humvees. In less than 45
minutes, the crew set up

Robytes Dec.qxd

11/5/2008

6:47 PM

Page 9

Robytes
the system and launched the UAS.
The team then executed the operational scenario (details not revealed)
and safely retrieved the UAS.
Specs are sketchy, but we did find
out that KillerBee is fully autonomous,
with no piloting skills needed by the
operator. Maximum takeoff gross
weight is 164 lb, and its powered by
an 8 hp engine fitted with a twoblade prop. The stall speed is 45 kt,
and loiter speed is 55 kt. Mission
endurance is 15 hr, and it has an
impressive range of 972 nautical miles.

AUV Hovers Underwater

Schematic shows Odyssey IV a


small, inexpensive robotic submarine
that can hover in place. Courtesy
of MIT Sea Grant AUV Lab.

6,000 m. It can also be fitted with a


mechanical arm, allowing it to grab
samples and perform manipulations such
as twisting a valve or clonking a lobster
on the head. Odyssey IV is pretty swift,
too, with a top speed of 2 m/sec.
The ultimate goal is to develop a
version that can stay underwater for
up to a year, collect and transmit data,
and ultimately return to its home base
without the need to surface at all.

RoboVox: All Talk


For journalistic purposes, it is occasionally necessary to be flexible with the
definition of a robot, and in the case of
RoboVox we sag from flexible to flaccid.
A creation of artist Martin Bricelj, the 8
m colossus doesnt move or do anything
robotic, but at least it looks like an
automaton. Lest you leap to the conclusion that this is merely a pitiful cry for
notoriety from a starving artist, note
that it is presented as a socially relevant
vehicle for freedom and self-expression.
According to the creator, Its
purpose is to serve as a tool for an
individual whose voice usually gets
lost in the sounds of the mass, the

RoboVox appears in downtown


Maribor, Slovenia.

society. An individual can send a text


message using his mobile phone to
the dedicated RoboVoxs number.
Upon receiving the SMS, RoboVox
says out loud the statement, the
protest, the declaration of love, or
whatever the message may read, thus
lending its voice to the anonymous
individual. If youre impressed, you
can purchase RoboVox merchandise
such as airline bags, T-shirts, and talking soft toys. Just log onto www.
robovox.co.uk and take your pick. It
may be the perfect Christmas gift for
that relative who has everything. SV

Researchers at MIT (www.mit.


edu) have revealed the new Odyssey
IV a small, inexpensive robo sub that
can hover like a helicopter, which
should be really handy for deep-water
oil explorers, marine archaeologists,
oceanographers, and other folks who
need to loiter undersea for long periods
of time. Whereas previous Odyssey
models could operate only while
moving forward continuously, the IV
can stop anywhere in a water column
and constantly correct for currents
and obstacles. This makes it useful
for things like making detailed
inspections of an offshore oil platform and photographing flora and
fauna around an undersea vent. In a
sea trial completed off Woods Hole,
MA, it performed at depths of up to

SERVO 12.2008

Geerhead Dec-edited.qxd

11/4/2008

4:12 PM

Page 10

by David Geer

Contact the author at geercom@alltel.net

Artificial Muscle (EPAMs)


Today, Robotic Applications to Follow
Electroactive Polymer Artificial Muscles (EPAMs) are a new actuating/motion technology
based on polymers that react to electricity. The new actuators are useful across applications
where motors are not as efficient or are simply not feasible.
he basic EPAM is a rubber sheet
made of a custom-formulated
elastomer, explains Ilya Polyakov,
a senior mechanical engineer at
Artificial Muscle, Inc., creators of the
EPAM. The polymer is applied so that
electrodes plate the rubber sheeting
on both top and bottom. As voltage
is applied positively and negatively
through these electrodes, the
dielectric rubber which doesnt
permit the flow of electricity
produces an electrostatic force.
This force pulls the electrodes
together, pushing the EPAM out
side-to-side at tenss of pounds-persquare-inch. This actuation is then
harnessed for practical uses, including
robot muscles.
Because our muscle membrane
squeezes out proportionally to the

This small piece of hardware uses EPAM


technology to auto focus optical lenses
in mobile/cell phone cameras,
according to Polyakov. A 9.5 mm EPAM
actuator positions the lens based on
data from a CMOS sensor. The
hardware is encircled by a flex circuit
power supply at 1.3 kV. The unit is
specifieded to fit the standard SMIA
9.5 mm phone camera form factor.

10

SERVO 12.2008

electrical field applied, we can simply


control the amount of movement,
says Polyakov.

Harnessing EPAM
Properties
One of the most common
building blocks using the EPAM is
the universal muscle actuator (UMA)
configuration, which is a jumping-off
point for more complex applications.
This configuration attaches two EPAM
sheets/films at their centers, with a
lightweight spacer between them.
Each stack of film is attached to
a frameso it can be mounted. Each
stack is also attached to an output
disk which transmits the force and
stroke of the expanding film to some
load in order to perform work,
This larger solenoid coil at left is used
in commercial pneumatic valves.
The coil at right a 9.5 mm actuator
stack based on EPAM technology
is capable of the same workload
at a fraction of the commercial
solenoids mass and volume. The
commercial part weighs 70 grams
compared to the EPAMs 8.

explains Polyakov. One practical use


for EPAMs and UMAs is in valves.
Existing valve systems convert high
speed rotary motors running at
thousands of RPMs to low speed
linear motion for valve parts that
move a few feet per second.
The EPAM actuator eliminates the
mechanical steps necessary for the
speed conversion by offering low
speed linear motion in the initial
instance. This technology is called a
roll configuration actuator, which
employs a large stretch of artificial
muscle film/membrane wrapped
around a compressed spring.
The spring pushes the cylinder of
wound film into tension, Polyakov
explains. Once in tension, the
application of the electric field to
the film causes it to relax and
produce a force imbalance between
the spring and the connected films,
The valve on the left is an OTS
proportional solenoid valve. The one
on the right is EPAM powered
with identical flow specs, and a directly
attached power supply board. It weighs
1/7th the original unit and operates
at 1/10th the power.

Geerhead Dec-edited.qxd

11/4/2008

4:13 PM

Page 11

GEERHEAD

This is a demonstration model of a


buckling frame actuator which applies
extreme tension to the EPAM film. The
frame is pliable enough that the film
buckles (the actuators starting form is
flat as compared with the apparent
curved wing-like form shown here). This
forces the bent frame to act as the bias
spring in equilibrium with the film,
explains Polyakov. As the actuator
activates, the frame flattens out the film.
The wings have been added to amplify
the effect/result of the motion. They also
make for a very cool demonstration!

causing movement.
These actuators are made up of
only the EPAM membranes, a spring,
and end caps, which are cheaper,
simpler, and lighter than the several
parts and the electric motor otherwise
required to do the same job.

Further Applications
Like motors convert rotary
movement to linear today, EPAM
technology will be used to convert
repeated linear motion into rotary
motion, such as is seen with a crank
and pistons in an internal combustion
engine but much more cheaply
and efficiently in a more compact
size and space.
We can also perform accumulated
or step-by-step linear motion. One of

This large stack of several, round


actuators has been formed to activate
an automobile accessory clutch such
as an air-conditioning compressor
pulley connected to a serpentine belt
on certain car models (my Buick
Skylark, for one). The advantage is the
reduction in weight, size, and required
power over a legacy electromagnetic
clutch. The unit shown next to an
AA battery is quite miniscule.

the simplest examples of this is in the


inch worm, where the actuator
repeats a motion many times to
produce linear travel much greater
than the singular stroke of the
actuator, says Polyakov.
In a sort of opposite application,
EPAM is used to convert linear to
rotary motion. This technology is a
rotary, one-way clutch which enables
a shaft to rotate in only one direction
while the other side of the clutch is
connected to an arm which, in turn,
is connected to an EPAM actuator
through a linkage apparatus.
As the actuator oscillates back
and forth, one direction of movement
locks the rotary clutch to the shaft,
resulting in the shaft rotating a
few degrees, while the other linear
direction unlocks the clutch and
allows the actuator and linkage
assembly to move free of the shaft
returning to the beginning of the
cycle, summerizes Polyakov. Every
stroke of this EPAM actuator

This is a planar actuator configuration for


driving a rotary shaft. The circular black
plate consists of eight pie-slice
electrodes. When any one of these
electrodes actuates, the center of the
disk shifts in the plane, engaging a crank
on a shaft. By actuating the electrodes in
circular succession clockwise or counterclockwise, the configuration moves a
shaft in a circular motion, creating an
EPAM version of a stepper motor.

implementation turns the shaft a little


bit. A continuous, high speed shaft
rotation is therefore achieved through
many thousands of cycles.

Conclusion
While there is a view to the future
of EPAM with robot muscles in mind,
there are some near-term obstacles.
One is that the range of motion
doesnt scale for EPAMs as easily as
the force emitted by them. Our
actuator stroke range is on the order
of 10 percent, says Polyakov. Robots
clearly require a much broader range
of motion. SV

Advantage: EPAM
EPAMs are a competitive technology
when compared with electric motors and
other actuators. Their benefits include:

Virtual silence. The muscle uses


no moving parts, so the actuator is
virtually silent; applicable where noise
is undesirable.
Compact application. The muscle is

applicable under much tighter size


constraints than electric motors, so
therefore useful for applications in small
cameras and consumer electronics.
More jump per joule. If you
compare energy vs. work output, we
get more work per joule than piezo or
electromagnetic actuators, says Polyakov.

These are two miniature pumps based


on EPAM actuator technology. One is a
35 mm pump, shown with a US quarter
for reference, the other one is a 12 mm
pump, shown with a dime. The pumps
use the same size pump head. Thats
the cylindrical part with the two tubes
exiting it, explains Polyakov.
Photos courtesy of Artificial Muscle, Inc.
http://artificialmuscle.com/

SERVO 12.2008

11

Events.qxd

11/5/2008

8:58 PM

Page 12

Send updates, new listings, corrections, complaints, and suggestions to: steve@ncc.com or FAX 972-404-0269
Know of any robot competitions Ive missed? Is your
local school or robot group planning a contest? Send an
email to steve@ncc.com and tell me about it. Be sure to
include the date and location of your contest. If you have a
website with contest info, send along the URL as well, so we
can tell everyone else about it.
For last-minute updates and changes, you can always
find the most recent version of the Robot Competition FAQ
at Robots.net: http://robots.net/rcfaq.html

TBA

PAReX Autonomous Robotics Competition


Shiloh Community Center, Phoenix, AZ
This event includes mini-Sumo, maze runners,
and line-following.
www.parex.org/autoevent1.shtml

Januar y
20-22 Singapore Robotic Games

Singapore Science Center, Republic of Singapore


Another big multi-event competition. Some of the
events planned are autonomous Sumo, RC Sumo,
robot soccer, wall climbing, pole balancing,
underwater robots, legged robot marathon,
legged robot obstacle race, and others.
http://guppy.mpe.nus.edu.sg/srg/

R. Steven Rainwater

December
4-31

ROBOEXOTICA
Museumsquartier, Vienna, Austria
In this event, robots are tested on serving
cocktails, mixing cocktails, bartending
conversation, lighting cigarettes/cigars, and
other achievements in electronic cocktail
culture.
www.roboexotica.org/en/acra.htm

24-26 Techfest

Indian Institute of Technology, Bombay, India


Autonomous bots compete in Micromouse and
three other events, called Pixel, Full Throttle:
Grand Prix, and Blitzkrieg.
www.techfest.org/

Robotex
Tallinn University of Technology, Tallinn, ESTONIA
Autonomous robot must clean a room by
gathering up socks, empty cans, and other stray
objects. The objects must be placed into a special
gathering area.
www.robotex.ee

29

Robotix
IIT Khargpur, West Bengal, India
Now at nine years old, this is supposed to be
the largest robot competition in India. Expect to
see over 1,000 teams competing and over 2,500
spectators this year.
www.robotix.in/

Penn State Abington Robo-Hoops


Penn State Abington, Abington, PA
Robots pick up foam balls and shoot or dunk
them into a basket to score points.
www.ecsel.psu.edu/~avanzato/robots/
contests/robo-hoops/

TBA

Kurukshetra
Guindy, Chennai, INDIA
This event includes Designers Quest, Solenopsis,
Freightocog, and Catch Me If You Can.
http://www.kurukshetra.org.in

17-21 IROC International Robot Olympiad

Kuala Lumpur, MALAYSIA


Includes a wide range of events including
line-following, maze solving, legged robot contest,
robot prison break, FIRA soccer, robot dancing,
and an open category.
www.iroc.org/

12

SERVO 12.2008

F e b ru a r y
15-19 APEC Micromouse Contest

Washington, DC
Micromouse maze running. Cash prizes and
trophies.
http://www.apec-conf.org/

Full Page.qxd

11/4/2008

9:58 AM

Page 13

MrRoboto - Dec.qxd

11/5/2008

4:00 AM

Page 14

Our resident expert on all things


robotic is merely an email away.

roboto@servomagazine.com

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

Dennis Clark

. For a year now, I have been researching a solution


to the problem of reliably determining a robots
position to within one inch in a .25 square mile
area. Cost is a major design consideration (ideally less than
$1,000). Lasers cannot deal with obstacles (and Im also
pretty sure my dogs wont tolerate the goggles). GPS
augmentation is prohibitively expensive. Ive found a few
RF designs, but none that can be built on a budget that
would be approved by my CFO (wife). Hopefully, you can
provide me a solution or point me in the right direction.
P.S. I really enjoy your column!
Thanks, Roger

. First off, thanks for the kudos! I dont know why you
need such exacting accuracy; it will definitely be a
challenge since I dont think there is anything that
can provide that level of accuracy that is built into a
roving vehicle. Youre going to need to instrument your
environment some how.
Even differential GPS can only get an accuracy of at
best one meter. One paper that I read www.gdgps.
net/system-desc/papers/ion_paper_2000.pdf suggests
a sophisticated Internet-based correction method for differential
GPS that can get an estimated accuracy of about 20 cm. So
clearly, GPS by itself cannot get you what you want. Regardless,
that will set you back way more than your $1000 limit. RF
systems are very uncertain for determining ranges well and
clearly IR rangers are of limited value outdoors. Okay, that
takes care of what WONT work for you. Now, lets step off
of the deep end and speculate on what might do what you
want in your limited area of a quarter mile.
My first thought would be to position two video cameras
at right angles to each other on tall towers aimed down on
the area within which you are tracking your robot. I realized,
however, that I was thinking a quarter acre, not quarter mile.
That wouldnt work because you couldnt get the whole space
in the frame at a useful resolution. So, strike that idea.
However, those sensors at right angles to each other
might work in another way. If youve ever seen a contractor

14

SERVO 12.2008

dig a hole, some of them will dig down to the correct


depth and place a spinning laser to show the depth all
around the hole. But as youve noted, your dog and probably
your neighbors wouldnt be too happy about that. Too bad,
since that laser would be fairly easy to detect with a camera
on a stepper motor, whose angles could then be compared
with each other to get an absolute location of the source
of light to a pretty good resolution. With more sensors,
even more resolution could be gained. So, what else can
we use? Sonar is out since the sound waves will spread out
too far as they move away from the robot.
How about this idea: put a bright rotating red (blue,
green, whatever) light on the top of your robot. This will be
reasonably directional with minimal dispersion of the light
and you can perhaps make the point source even more
directional with a tube limiting the direction of the light
from the reflector. Next, put a video camera with a limited
field of view and a filter on the lens that will admit only the
color that you are looking for at the four corners of your
area. Place it high enough so that there is nothing blocking
the view of the area. This assumes, of course, that you dont
have much in the way of shrubs and trees. Some barriers
are okay as long as at least two adjacent cameras can see
the target. Now, scan the cameras using a motor that can
be precision turned like a stepper motor or a servo. I would
use an encoder to further enhance the accuracy of the positioning. By using a Cartesian coordinate system and some
basic trigonometry, you can calculate the location of the
robot within the property by comparing the readings from
two orthogonal (fancy word for at right angles) cameras.
The biggest resolution limiter is the cross section of the
point source (the light). You cant be more accurate than the
width of that point source as seen by the camera. I think this
will work but youll need a computer to coordinate the readings,
calculate the angles, and come up with the actual range.
The light will need to be strong enough to reach the cameras
at a brightness that will stand out against the ambient light.
It will need to adjust according to the light outside so that
it doesnt swamp the cameras at night. Sadly, I can think of

MrRoboto - Dec.qxd

11/5/2008

4:00 AM

Page 15

lots of things that will prevent this idea from working all of
the time, like light interference, the sensitivity of the camera,
or the expense of the light filters. Other tuning (like the angle
of the cameras to the ground) could also cause issues.
The problems in this type of system may be
insurmountable, so lets think even MORE inside the box.
Suppose we came up with small RF transmitters that were
carefully designed to have a limited range of about a meter
when used with a carefully tuned receiver. Then, suppose
we planted these transmitters in a grid at one meter
intervals. You could calculate your position by knowing your
range to each of these beacons by checking their field
strength. Since it would take thousands to do this at one
meter intervals, you could put them at longer intervals, but
then their resolution will suffer and your accuracy will not
be very good. Hmm, RF is just too unreliable.
Note that I dont even give odometry a nod here. Since
you are outside, there is just about no way you will get any
kind of positional accuracy when you consider ditches,
bumps, wheel slips, and the like. If you are going to use
some very sophisticated programming, you could use a full
IMU unit and calculate acceleration, deceleration, inclination, pitch, and yaw to create an inertial navigational unit.
But I still doubt that you could get a one inch in a quarter
mile accuracy. It would be fun to try it though! Google for
Inertial Navigation on the Internet. I have seen some
interesting papers on this topic; some by other well known
hobby robotics folks in the well known clubs.
Unless you can come up with something from my
rambling thoughts here, Im afraid that all Ive done is

convince myself that this just cant be accomplished. At


least not within the $1000 budget restriction! If anyone
out there reading this has some ideas, lets hear them!
With my roving robots, Im happy if I can just keep them
inside a set perimeter. A GPS will get me within 10 meters
or so of the robot where I should be able to see it.

. In last months column, I described a simple


PID algorithm and showed you code that used a
voltage read from the motor CEMF to determine
the wheels rotational velocity. Some who read that liked
the idea of a sensorless feedback system. I received a
request to show how such a feedback mechanism could
be built and used, so, here it is.

. Last month, you saw the code and how I averaged


the readings and used the values read by turning off
the PWM and looking at the CEMF (Counter ElectroMotive Force) at those intervals. This month, Ill post the
electronic circuit that I used to get those values. Once again,
youll see that it is actually very simple to do this, and the nice
thing about it is that you wont need finicky wheel encoders
for feedback. These inputs come from the motor itself.
Figure 1 shows the schematic of the circuit that
matches the code that I gave in the November issue.
How the Circuit Works
Some explanation of how this works is in order. When
you drive a motor, you feed voltage to the windings on the
armature (the part that rotates) through contacts on the

Figure 1. Sensorless motor speed


measurement schematic.
SERVO 12.2008

15

MrRoboto - Dec.qxd

11/5/2008

4:01 AM

Page 16

commutator. This voltage induces a current in the windings


proportional to the voltage divided by the resistance of the
windings. The electromagnetic field then generated in the
windings will attract part of the armature to a magnet in
the motor can, which causes the armature to rotate.
There are several sets of windings on a motor; how many
depends upon the motor. Each set of windings will have its
own pair of contacts on the commutator. Brushes are
connected to our PWM output and transfer the current
from our H-bridge to the motor windings. I dont want to
get into how a DC brushed motor works any more than
that; it is a fascinating topic all by itself. We know that
rotating a coil of wire in a magnetic field (in this case, the
one generated by the magnets in the motor can) will
induce a current in the coil. This induced current will be in
the opposite direction as the current that generates the
field in the motor windings. The end effect of this induced
current is that as the motor spins faster, the current
generated in the windings by rotating in the magnets
magnetic field will get larger. While we have the motor
turned on, the effect of this CEMF is that the current
required by the motor will be reduced as the motor spins
faster. When we turn the PWM off to the motor, this
induced current will still be there and proportional to the
velocity of the motor rotation. We will read that current
with the analog to digital converter (ADC) inputs on the PIC

to determine the motor speed.


The resistor networks R1/R3 and R2/R4 will divide down
the CEMF voltage proportionally so that we can get as much
of the full range of change as possible. The zener diodes D1
and D2 will limit any voltage spikes we could get to a level
that wont damage the ADC circuitry. The diodes D3 and D4
will shunt negative voltages that may become present when
we shut the PWM off so that we dont really damage our ADC
inputs. The output of all this limiting and filtering will then
be fed to AN0 and AN1 on the PIC to provide the readings
that we need to determine the relative motor speed.
In last months code, you saw that we looked at both
sides of the motor input to determine which way the motor
was turning. On one side of the motor, there will be a
negative voltage, which we shunt to ground so only -0.6V
is present; the resistor dividers will reduce this even further.
The PIC will see that voltage as 0V; the other side of the
motor input will be a positive voltage. If the motor spins
the opposite direction, then these voltage polarities will
reverse and thus we can tell which way the motor is
spinning. Listing 1 shows how this is done in the code.

Choosing Components for the Circuit


Your choice of resistor values depends upon your motor
voltage. Here, I am using a 6V to 7.2V battery to power my
motors. My choice of resistors (2.2K and 4.7K) gives me a
stepdown of about 0.7 which means the maximum voltage that Im likely to see is about 4.9V
ADC
motor
speed
readings.
Listing 1.
(which is pretty close to the ADC full swing of 0V
signed long getError()
to 5V). You calculate this resistor divider as fol/* Find the difference between where we want to be
lows: R3/(R1 + R3) * Battery Voltage = Maximum
and where we are. */
{
Voltage seen at ADC input. So, my example is
signed long error;
4.7K/(2.2K + 4.7K) = 0.68; 7.2V * 0.68 = 4.90V.
unsigned int16 ma,mb;
You might see some healthy
current spikes to the negative direction on your
setup_ccp1(CCP_OFF);
//Turn off PWM
motor contacts so diodes D3 and D4 should be
delay_us(500);
at least one amp; I like 1N5817 diodes. They will
//wait for steady state
work well for smaller motors; youll want to scale
up for really big ones. The zener diodes D1 and
set_adc_channel(0);
//get forward side voltage
delay_us(20);
D2 wont be handling more than a few milliamps
ma = read_adc();
of current, so just about any 5.1V zener diode that
ma <<= 1;
//This amplifies the
you have in your junk box will work well here.
//signal, making it more
There are many enhancements you could do
//relevent
to make this circuit work even better than it does.
set_adc_channel(1);
//get reverse side voltage
If you used an op-amp between the sensor resistors
delay_us(20);
and the ADC inputs, then you could adjust your
mb = read_adc();
amplitude and even offer some active filtering
mb <<= 1;
//This amplifies the
that will give you more consistent readings. The
//signal, making it more
//relevent
quality of your motors will also have some effect
on how good of a job the circuit does, but Ive
currPos = (signed long)((signed long)ma - (signed long)mb);
noticed that even cheap motors work well.
Well, that wraps up this months reading session
// Uncomment to debug
//printf(ma= %lu mb= %lu\n\r,ma,mb);
with Mr. Roboto. I hope that youve learned
something or at least have enjoyed what you have
setup_ccp1(CCP_PWM_PLUS_3);
read. As usual, if you have any questions about
error = calcPos - currPos;
things robotic, please drop me a line at roboto@
return error;
servomagazine.com and Ill be happy to work on it!
}
Until next time, keep on building those robots! SV

16

SERVO 12.2008

Full Page.qxd

11/4/2008

10:18 AM

Page 17

SERVO 12.2008

17

DEC08NewProd.qxd

11/6/2008

1:04 AM

Page 18

New Products

N E W P RO D U C T S
RA-02
Robotic Arm
Kit

EDUCATIONAL KITS
Mechatronics

he CS220000 and
CS220001 are
new Mechatronics
kits from A-WIT
Technologies.
Choose the
CS220000 for US
power supplies or the
CS220001 for European power supplies. These kits
provide everything necessary to build a complete
Mechatronics Laboratory.
They include the 48-pin C Stamp, a C 101 BOL, PC
programming cables, power supply, instruments, and the
Mechatronics Parts Kit. Learn programmable mechanical
control, infrared speed and direction detection, and a
host of other Mechatronics concepts.
The Mechatronics Parts Kit includes sensors, display,
motor, etc. The electronic components required for the
Mechatronics activities are also included in the Parts Kit.
The activities introduce motor control and interfacing,
electronics, and transistor theory, just to name a few
concepts. All necessary software, documentation,
curriculum, and highly-illustrated instructions written
by college professors are included in the kit CD.
These Mechatronics kits are unique in the sense that
hobbyists, students, and autodidactic users alike work
with and develop embedded systems using professional
software development tools and a professional
programming language in a very user friendly
environment.
The power and versatility of the C Stamp guarantees
that learners can expand upon their Mechatronics
knowledge with their own ideas, projects, and
imagination. Well thought out and pedagogically sound
examples developed by college professors make sure that
learning Mechatronics with these kits is a powerful and
enjoyable experience.
All items are new, fully tested, factory direct, and all
software is included at no extra charge.
For further information, please contact:

A-WIT
Technologies, Inc.

18

SERVO 12.2008

656 Ironwood Dr.


Williamstown, NJ 08094
Tel: 800985AWIT or 8009852948
Fax: 8009852948
Email: info@a-wit.com
Website: www.c-stamp.com

he RA-02 Robotic
Arm from Images
Co. teaches basic
robotic principles. The
RA-02 kit includes all
components necessary
to build the robotic
arm shown here.
The robotic arm
kit also includes the SMC-05 five-position servomotor
controller kit. The servomotor kit includes the PCB and all
components necessary to build the servomotor controller
(soldering is required). Using the five-position servomotor
controller, one can control the robotic arm using the
onboard three position switches to manually grab, lift,
lower, wrist rotate, and pivot. In addition, the Windows
(98/XP) control software is available as a free download.
This allows PC control through one of the PCs serial
port. The Windows program has a script writing feature
that allows one to program the robotic arm with
thousands of movements with full, precise, and
repeatable control of each movement. Scripts may hold
a maximum of 10,000 movements (including pauses)
with a maximum repetition of 10,000.

Images Scientific
Instruments

Tel: 7189663694
Website: www.imagesco.com

TELEROBOTICS SOFTWARE
New AX-12
Smart Arm
Web Control
from
CrustCrawler
Interactive

he CrustCrawler
Interactive group
has released a simple
yet robust Telerobotics
application designed

DEC08NewProd.qxd

11/6/2008

1:05 AM

Page 19

for remote, web control of any robotic platform.


Currently, the Tele-Robotics application contains control
and monitoring services for CrustCrawlers AX-12 Smart
robotic arm. If you do not own an AX-12 Smart Robotic
Arm, you can test drive the AX-12 Smart Arm through
CrustCrawlers interactive Telerobotics web page. Move
the arm through several preset movements while
monitoring in real time the position, speed, load, voltage,
and temperature of each of the AX-12+ Smart servos
from anywhere in the world.
CrustCrawlers Tele-Robotics software is ideally suited
for robotics applications that use servo motors which
can provide real time feedback for position, speed, load,
voltage, and temperature. Such feedback features are an
integral part of the AX-12+, RX-28, RX-64, and EX-106
series of servos from Robotis.
CrustCrawler offers the software as a free open
source download which contains fully commented client,
server, and AJAX code modules. Help and additional
code can be found on the CrustCrawler robotics forum.
Visit the website for more information and code updates.
For further information, please contact:

CrustCrawler, Inc.

Website: www.CrustCrawler.com
Tel: 4805775557

MOTORS
HS-5485HB
Economy Digital
Servo

itec's new HS-5485HB


digital servo features long
life components and zero wear
Karbonite gears. The HS-5485HB
is an inexpensive, fully
programmable standard size
digital servo.
Features include:
89 in/oz of torque at six volts
Backed by a two year warranty and Hitecs service and
support.
Suggested retail price $25
For further information, please contact:

Hitec
Multiplex

12115 Paine Street


Poway, CA 92064
Tel: 8587486948
Website: www.hitecrcd.com

Show Us What Youve Got!


Is your product innovative, less expensive, more functional, or
just plain cool? If you have a new product that you would
like us to run in our New Products section, please email
a short description (300-500 words) and a photo of your
product to: newproducts@servomagazine.com

TOOLS & TEST


EQUIPMENT
Servo Commander

he Servo Commander is a portable, hand-held device


that generates the command signal required to drive
servos and Electronic Speed Controls (ESC) without the
use of an R/C transmitter and R/C receiver. You can
manually adjust the servo position or the ESC speed,
or continuously cycle between two slewing endpoint
positions of your choice.

Features are interference-free servo checking when


among groups using live R/C equipment; test servo
travel, positioning, and throttle adjustment; check for
servo alignments, binding, damaged gear trains, or
weak motors; enable mechanical adjustment of precise
zero position; check step response; permit first order
frequency response; check for vibration problems;
facilitate mechanical break-in; perform endurance testing;
input is protected against reversed voltage; convenience
power to driven equipment fused at 1A; accommodates
either 1.0 or 1.5 ms zero signal; always powers-up
producing a zero output signal; output signal is short
circuit protected; allows normal or reversed positional
control; has teach function to enter arbitrary slew
endpoints; slew rate is variable from 0 (motionless) to
100%; has quartz crystal controlled accuracy; and type
specific power cables are available.
Specifications
Size: 3.4 x 3.4 x 2.0 in (86 x 86 x 51 mm)
Weight: 4.5 oz (140 g)
Input Power: 4.5 to 18 VDC at ~20 mA (reverse
protected)
Output Level: 4 to 5V positive-going pulse limited to
~10 mA
Pulse Duration: 1.0 to 2.0 ms
Pulse Precision: 50 s
Frame Rate / Frame Period: 50 Hz / 20 ms
Operating Temperature: 14 to 140F (-10 to 60C)
Relative Humidity: 90% non-condensing

SVI

3662 Brandi Drive


Sterling Heights, Mi 48310
Tel: 5862749792
Website: www.sviind.com/servo

SERVO 12.2008

19

CombatZone.qxd

11/5/2008

3:37 AM

Page 20

Featured This Month:


Features
20 BUILD REPORT:
Cloud of Suspicion

BUILD REP

by Thomas Kenney

Cloud of Suspicion

22 MANUFACTURING:
Laying Out Your Work
Area by Blake Hooper

27 PARTS IS PARTS:
2.4 GHz Radio Fail-safes
by Thomas Kenney

Events
24 EVENT REPORT:
Robothon Robot Combat
2008 by Rob Farrow

28 September 15 October 12
Results

ROBOT PROFILE Top


Ranked Robot This Month:
26 Micro Drive by Kevin Berry

by Thomas Kenney

he wedge is one of the oldest


and most successful types of
combat robots. The effectiveness
of a simple ramp with good drive
power has yet to be matched by
any other robot design. However,
throughout the years the wedge
has managed to become the
most hated design as many claim
they lack any sort of originality
or excitement. There has been,
however, a small community of
fast, well driven wedges that
provide a good amount of
excitement as they bounce
around the arena. It was these
robots that inspired me to once
again jump back onto the
wedge bandwagon, this
time in the three pound
beetleweight class.
Like I have been doing
for all of my recent robots,
I did all of the robots
designing in SolidWorks
3D CAD. Before I could
begin drawing up the
FIGURE 1. The robot is drawn
up in Solidworks CAD before
construction begins.

20

SERVO 12.2008

RT

chassis however, I needed to


know how large it would be, as
opposed to simply tinkering with
it until everything fit. To do this,
I took all of the parts I had,
(substituting paper cutouts with
the correct dimensions for the
parts I did not have) and laid
them out in the most compact
configuration possible, while l
eaving some space for wiring.
It is important to have your
robots dimensions as small
as possible. Not only does it
decrease how large of a target
your robot is, but since your
chassis components will be

CombatZone.qxd

11/5/2008

3:38 AM

Page 21

smaller, they will weigh less, and be


stronger since the mounting areas
will be closer together. After all of
the basic dimensions were finalized,
I drew up the rest of the robot in
SolidWorks. The completed design is
shown in Figure 1.
The first part of the robot to be
designed was the drive system. My
first choice was two Banebots 36
mm gearboxes with the RS motors.
I was on a very tight schedule, and
hadnt done belt drive before, but I
didnt want to go to two-wheel
drive either. My solution was to
switch to the 28 mm gearboxes
opposed to the 36 mm ones. I
would lose a bit of durability, but
there was also a weight difference
of four ounces per gearbox. With
this weight difference, I was able to
go to four-wheel drive, even though
the drive system took up half of the
robots weight. With 1.875 wheels
and on 7.4 volts, I would get a top
speed of 6 mph and near instantaneous acceleration; certainly zippy
enough for a 8 x 8 arena. Next, I
began on the chassis. Because of
the huge amount of weight the
drive motors, gearboxes, and wheels
took up, there was only 1.5 pounds
out of three left for everything else
including the chassis, electronics,
and the wedge itself. To make
weight while still maintaining a
strong frame, I used a material I was
familiar with, and more importantly,
already had copious amounts of
UHMW polyethylene.
UHMW is known in combat
robots for its great structural
properties. It is relatively soft, but
just enough that it wont crack
under most circumstances. UHMW
is also very light, weighing in at just
75% of the weight of polycarbonate
and acrylic. It also comes in several
different colors, including white,
black, and blue. The material I had
was a white, five foot long, 1.5 x
3/8 strip, which was the perfect
height for my robots chassis. For
the top and bottom, I needed as
stiff and light a material as I could
get. My first and final choice was

carbon fiber, a composite


material made up of
strands of carbon cloth
bonded through an epoxy
laminate. It is very stiff,
which is a good counter
for the flexing tendency
of UHMW. One of the
only drawbacks is its price,
which can total more than
$50 for a 12 x 12 x 1/6
FIGURE 2. The chassis is
thick sheet.
assembled with all internal
components mounted.
Since my UHMW was
simply a long strip with the
correct width and thickness, all I
with a hinged wedge this time
had to do was to cut the correctly
around. As opposed to using a
sized pieces. To do this, the UHMW
hardware store hinge, I cut a 3/16
strip was marked at the right
titanium shaft to length and pressed
intervals, and then moved down
it into the UHMW side rails.
a table saw. Once this was done,
Once the wedge was cut out
I had all of the basic pieces used to
of the 3/32 7075 aluminum, I cut
form the chassis. Cutting the carbon
several small UHMW blocks,
fiber wasnt as easy.
attached them to the wedge, and
When carbon fiber is cut, the
drilled holes in them a bit larger
blade generates a hazardous fine
than the shaft diameter. I then
dust, so extreme caution needs to
simply slid the wedge assembly onto
be taken as inhaling this dust can
the shaft. This created a durable and
be a catalyst for lung cancer.
easy to fix hinge system that is still
Getting carbon fiber in your skin is
relatively light. The completed wedge
not as hazardous, but once its in,
assembly is shown in Figure 3.
itll itch for weeks. To negate the
With all of the major
aforementioned spray of dust,
construction finished, it was time
shaving cream was placed down
to mount the internal components.
the cutting line. When the material
The Banebots 28 mm gear motors
was cut, the cream absorbed all of
all have a corresponding mounting
the motes of dust.
pattern, which makes it easy to
After cutting the carbon fiber
mount them to base plates and
pieces down to their basic
also makes it a simple task to
dimensions, they were placed on
switch them out between fights,
the table saw again to cut out the
if needed. To mount them, I created
wheel wells. After this was done,
a PDF file of the mounting pattern
the only work left on the chassis
and printed it out. It was easy to
was to drill and tap 12 holes to
drill through the marked areas
hold the frame together, and then
straight into the base plate where
some more to attach the top and
bottom pieces; overall about 45
FIGURE 3. The hinged wedge
assembly is completed.
minutes of work. With this done,
I had a finished chassis.
Next, I began work on the
wedge. My first wedge robot
had its wedge fixed to the
chassis. Though it was very
sturdy, wedges with their leading
edges dragging on the ground
got under it easily. In order to not
have this problem, I chose to go

SERVO 12.2008

21

CombatZone.qxd

11/5/2008

3:39 AM

Page 22

FIGURE 4. Cloud of
Suspicion is finished
and ready for battle.

the motors would be mounted.


After the motors were
mounted, the last thing I needed
to do was secure the electrical

components. I mounted
my two cell 1,320 mAh
Thunderpower battery
under my Spektrum BR6000
receiver and simply zip-tied
them to the base plate. I
then drilled through the
mounting holes of my
Scorpion XL speed controller
and used screws to secure
it. After this was done, the
robot was finished. Soon
after the robot was finished, I gave
it the name Cloud of Suspicion,
which I found in a list of Suggested
Names for Racehorses Expected to

Have Undistinguished Careers.


In the end, the concept of a
lightning fast, overpowered wedge
in the beetleweight class ended up
being very successful. A few flaws
were found, but easily corrected.
It went on to win the rumble at
its first tournament (destroying
the arena hazard in the process)
and then took home second
at its next event, where the
aforementioned flaw prevented it
from placing first. Now that these
problems have been fixed, I have
high hopes for this robot in the
future. SV

MANUFACTURING:
Laying ut Your Work Area
by Blake Hooper

hen it comes to entering


combat or otherwise known
robotics the easiest thing a builder
can do to help themselves get
prepared is to work out their layout.
By layout of course I mean the site
in which they will be working.
How you set this up is based on the
builder, but there are certainly some
tips which can make this process
much easier.
The first and most important
part is to figure out the space that
you will be working in. Many people
have set up their own shops in places
Standard shop layout. Hand tools and
electrical work stations are clearly within
arms reach of each other. The bot is Ze
Uber Wedge, of Team Raybotics.

22

SERVO 12.2008

like their garage only to discover


they hate working there and end up
with hand tools on a chair in their
kitchen. Pick a place with plenty of
table space that you enjoy working
in, and make sure it can handle
heavy vibrations and flying scraps.
Another important thing is to
make sure you have good airflow. If
you can swing it, air conditioning
will be a godsend, otherwise make
sure to have plenty of fans or
open windows. When working on
projects, heat quickly becomes
burdensome. Light is also an
important consideration. I have seen
many builders work in their garage

when the lights arent working and


consequently, blood starts flowing.
Once you have your work space
location figured out, youll need
to choose what tools you want.
No matter what, youll need a basic
set of hand tools. The actual sizes,
measurement standard, and type is
dependent on the builder. The more
important thing to consider is what
power tools you will need. If you
are on a budget, this can quickly
become an issue. The first factor
youll want to consider is what
weight class your robot will be in.
This way youll know the type of
material you will be using, the
thickness of it, and the size
Drill press and
of tools you will need.
accessories
For a cutting tool, you
are near by
messy, but
have
several options. If you
easy to get to.
will be working with several
sections of long bar stock
or are cutting particularly
thick material, a table
mounted circular saw
mounted to the floor will
do fine. Make sure you are
using the proper blade. I
have seen many builders

CombatZone.qxd

11/5/2008

3:41 AM

Page 23

use aluminum blades on steel


only to discover a few weeks
into it that their blade can now
only cut soft cheese.
If you are cutting thin
materials such as aluminum
and need specific shapes or
Tools are
corners, a jigsaw can be quite
loosely
on
useful. The same goes here for placed
wall racks
making
the blade, but also make sure
Vises and jigs are all
them easier
to have the material you are
placed in one secure area.
to organize.
cutting firmly mounted. Finally,
Spare and useless
Tools arranged on wall board
if you are cutting thin material
bits kept in boxes
keep everything nice and
in small amounts and cannot
off to the side.
centralized.
afford anything powered, a
hacksaw can work, just be
prepared to have tired arms.
Drilling holes in your robot
for various reasons can be
done with several different
tools, depending on your
budget. If you can spare the
cash, a drill press is a good
option; it will always stay
determine what the organization
depth of your robot. For example,
steady and can adjust to most
of your set up will be. If you are an
if your bot weighs too much you
needs. However, this can end up
organized person by nature who
can mill out some slits from nonbeing a bit too expensive, so a
always puts things back, then a
important pieces of metal or if you
simple power drill with the right
complex array of labeled drawers
have specific plates or patterns to
bits should do just fine. If you
will probably work fine for you.
make, this tool will do the job. In
want good quality at a lower price,
However, most builders I know lack
this range of tools, there are several
corded will probably be your
this quality. However, I have found
levels and scales to choose from, so
choice. Cordless drills while nice
a happy medium.
youll want to know what type of
can be pricey due to the battery
First and foremost, keep tools
material and work you will be doing
and the mobility it gives you.
of the same skill set next to each
ahead of time. This will simplify
For any drills, however, you
other, along with any support
your choices. A simpler alternative
will want to invest in a good set
equipment such as bits or keys. (This
is hand-operated mill or you could
of bits. This can overwhelm many
will greatly simplify things when you
go the route of a computer driven
beginners, but if you narrow down
have lost something and are madly
CNC mill which can do precise and
what bit sizes you will use the most,
searching through a messy pile.)
smooth work based on the design
it can reduce your costs greatly.
After this, a simple set of bins or
you feed into it. To find out about a
Also, make sure to invest in a punch
cubbies can serve to contain things
reasonably priced CNC machine for
or two in order to mark your holes
separately. That way, you only need
hobbyists, check out the December
properly. A drill will easily wander
to throw it back into the right pile.
issue of Nuts & Volts (www.nuts
on you if you havent punched the
volts.com), in the Personal Robotics
hole marking first.
column.
A tap set would be a good
On the same end of the CNC
investment if you want to be a bit
spectrum is a lathe. You can turn
more advanced in your assembly
down anything from a wheel to a
of pieces without too much of a
shaft with this machine. A skilled
pocket drain. This will allow you to
operator can add threads to a shaft
thread directly into the metal itself.
as well. It is better to have a skilled
For those of you with a larger
Mounting boards
operator show you how to use a
budget, a good addition to your
arranged wall to
wall, opening up
lathe or else an accident can occur.
work space would be a mill. This
the amount of
Once you have the space and
tool will allow you to make many
readily available
storage
space.
tools selected, it is important to
modifications to both the shape and

SERVO 12.2008

23

CombatZone.qxd

11/5/2008

3:42 AM

Page 24

Circular saws placed in one spot,


keeping all extra pieces next to it for
loose organization.

Pictures From Dr.


Joseph Immel, home
workstation. Shows
example of both tools,
and a non-garage
based shop.

Door leading to garage


from workspace.

Finally, do the same kind of loose


organization with your hardware.
Nuts, bolts, and metal scrap does
not need to be organized by exact
A standard lathe
chuck setup.

A standard mid-line table mill.

size, but if you can at least keep the


specific type separate then you will
be ahead of the game.
The last thing to do is to
position the different work
surfaces where you can get to
them easily. Once you have
done this, it is easier to work on
components where multiple tool
sets are required. After this,
make sure to have an appropriate
amount of mounted grips and jigs
in order to secure your variety of
components as you work on them.
You should be all set to begin. SV

EVENT REPORT
Robothon Rob t Combat
2008
Event Results

by Rob Farrow

t was the fifth Robothon event for


Western Allied Robotics at the
heavily trafficked Seattle Centers
Center House. Large crowds
circulating throughout the day were
entertained by three and 12 pound
fighting robots. The three lb
Beetleweight division was mostly
populated by returning builders but
there were a few new designs.
Greg Schwartz of Team LNW
brought Idiot Savant, an undercutter
robot with a 16 inch titanium blade
clocked at over 3,300 RPM. Doug
Brown of Team Dinobots came with
a heavily updated undercutter T-Rex

24

SERVO 12.2008

2.0 with a more powerful weapon


and a more durable design. Dan
Odell of Team Death by Monkeys
brought a redesigned Gutter
Monkey a four wheel pushy-bot
with a chromoyl steel wedge.
T-Rex 2.0 quickly worked its
way up to the top of the winners
bracket by knocking out the
titanium brick Monkeying Around,
the previous Robothon champion
Hurty Gurty, and the full body
spinner Melty B(eetle). On the
losers side of the bracket, it was
Gutter Monkeys steel wedge vs.
the titanium blade of Idiot Savant.

I3 lb BEETLEWEIGHT
1st Gutter Monkey, Team Death
by Monkeys, driven by Dan ODell
2nd T-Rex 2.0, Team DinoBots,
driven by Doug Brown
3rd Melty B(eetle),
SpamButcher, driven by
Rich Olson
12 lb HOBBYWEIGHT (12 lb)
1st Organ Grinder 12, Team
Death by Monkeys, driven by
Rob Farrow
2nd Shag, Team Gausswave,
driven by Rob Purdy
3rd Defiantly Daft, Team LNW,
driven by Travis Schwartz

In a series of big hits, both bots


went flying with Idiot Savant being

CombatZone.qxd

11/5/2008

3:46 AM

Page 25

unlucky and landing in


the arena pit. Gutter
Monkey also managed to
defeat Melty B(eetle) by
keeping its steel wedge
facing the spinner and
pushing it around until
smoke started to come
out of it.
In the Beetleweight
A three lb undercutter named Idiot
final, Gutter Monkey
Savant created by team LNW.
faced off against T-Rex
Defiantly Daft, it won the judges
2.0. Sparks flew as T-Rexs powerful
decision based on its control of
blade struck the wedge. With some
the match. Defiantly Dafts luck
skilled driving, Dan ODell managed
didnt hold as it went up against
to push T-Rex into the wall which
Shag driven by Rob Purdy of Team
caused it to ricochet off and land
Gausswave. With the aid of
behind Gutter Monkey. With its
powerful neodymium magnets
wheels exposed, Gutter Monkey
increasing the robots down-force
spun around and got its wedge
and traction, Shag was able to
pointed the right way again. With
control the match and push the
the help of some speed and luck,
wedge around at will. Shag then
Gutter Monkey managed to deposit
struggled against Organ Grinder 12
T-Rex into the arena pit and take
a wide, wedge shaped bot with a
home 1st place.
vertical tool steel disk spinning at
In the 12 pound Hobbyweight
high RPM. Rob Farrow of Team
class, the normally dominant
Death by Monkeys used the
Fiascos weapon was as dangerous
spinning weapon to flip Shag upside
as always ripping the titanium
down, taking away Shags magnetic
wedge off of the four-wheel drive
assist on its drive train. With the bot
Defiantly Daft. As Kevin Barker
upside down and its wedge hanging
struggled to drive Fiasco which was
in the air, Organ Grinder 12 took
having drive motor problems, Travis
Schwartz did a masterful job driving
Defiantly Daft. He positioned his bot Driver Rob Farrow holding the 12 lb
Hobbyweight 1st place winner Organ
behind the wedge lying on the
Grinder 12.
arena floor and used it to push
Fiasco around even though the
wedge wasnt actually attached
to the robot.
Despite the damage to

Driver-builder Dan
ODell holding the
3 lb Beetleweight
1st place winner
Gutter Monkey.

the win resulting in a three-way tie


for first with Shag, Defiantly Daft,
and Organ Grinder each having a
3-1 record.
In a first for a Western Allied
Robotics event, a three-way tie
breaker match determined the
winner. The three bots met in the
center of the arena, each jockeying
for a good position. Defiantly Daft
slammed Shag into the arena wall
The youngest competitor
Alex Conus holding up his
three lb robot Vision #1.

The 12 lb robot Fiasco built by Kevin Barker


as it is spinning on its side with some sparks.

SERVO 12.2008

25

CombatZone.qxd

11/5/2008

3:47 AM

Page 26

The 12 lb robot
T-Bone built by
Dylan Feral-McWhirter.

knocking it on its side and turning it


into a two bot fight. As Organ
Grinder and Defiantly Daft tangled,
a hit by Organ Grinder threw the
wedge into the air and knocked

avoid Organ Grinders


weapon.
With 30 seconds
left in the match, Organ
Grinder knocked
Defiantly Daft onto
the edge of the pit
immobilizing it and
The 12 lb brickpusher Shag built by
continued to hit away
Rob Purdy. The plow is
at Shag. In the end, it
nearly .5 titanium (WOW! -Ed.)
was a unanimous judges
Shag back on its wheels, returning
decision for Organ Grinder.
it to the match. As the three bots
With the conclusion of the
continued to fight, the two wedges
12 lb final, it was another exciting
sustained minor damage to their
competition with everyone looking
drive systems making it difficult to
forward to the next event. SV

ROBOT PR

FILE

TOP RANKED ROBOT THIS MONTH


by Kevin Berry

Top Ranked Combat Bots


History Score
Weight
Class

Bot

150 grams

VD

1 pound

Dark Pounder

44/5

1 kg

Roadbug

27/10

3 pounds

3pd

6 pounds

G.I.R.

Win/Loss Weight Class

Bot

Win/Loss

150 grams Micro Drive

10/3

1 pound

Dark Pounder

23/3

1 kg

Roadbug

11/4

48/21

3 pounds

Limblifter

12/1

17/2

6 pounds

G.I.R.

11/2

26/7

12 pounds

Solaris

42/12

12 pounds

Surgical Strike

19/7

15 pounds

Humdinger 2

29/2

15 pounds

Humdinger 2

29/2

30 pounds

Helios

31/6

30 pounds

Billy Bob

12/4

30 (sport)

Bounty Hunter

9/1

30 (sport)

Bounty Hunter

9/1

60 pounds

Wedge of
Doom

43/5

60 pounds

K2

14/2

53/15

120 pounds

Touro

14/2

46/13

220 pounds

Original Sin

12/5

39/15

340 pounds

Ziggy

6/0

28/9

390 pounds

MidEvil

3/0

120 pounds Devil's Plunger


220 pounds

Sewer Snake

340 pounds SHOVELHEAD


390 pounds

MidEvil

History Score is calculated by


perfomance at all events known
to BotRank

Current Ranking is calculated by


performance at all known events, using
data from the last 18 months

Rankings as of October 10, 2008

icro Drive has competed


at Marin Ant Wars 5,
RoboGames 2006, SRJC Day Under
The Oaks 2006, Marin Ant Wars VI,

26

Micro Drive Currently Ranked #1

Ranking

SERVO 12.2008

Historical Ranking: #2
Class: 150 gm Fleaweight
Team: Team Misfit
Builder(s): Zachary Lytle
Location: Santa Rosa, California
BotRank Data
Total Fights
Lifetime History
17
Current Record
13
Events
10

Halloween Robot Terror 2006,


Smackdown in Sactown III,
RoboGames 2007, SRJC Day Under
The Oaks 2007, RoboGames 2008,

Wins
13
10

Losses
4
3

and SRJC Day Under The Oaks


2008. Details are:
Overall configuration: Micro Drive

CombatZone.qxd

11/5/2008

3:48 AM

Page 27

is a low to the ground wedge


robot, with sloped sides and a
titanium lifting arm. The robot
can operate upside down or right
side up (however, the robot has
better armor when it's right
side up), and it can use its arm
to self right.
Frame: Carbon fiber sheets
and rods sewn and glued
together.
Drive: The 56-to-1 Sanyo gearbox
from Solar Robotics.
Wheels: Modified Light Flight
foam wheels from Dave Brown.
Drive ESC: Barello Ant 100 dual
5A speed controller.
Drive batteries: 7.4V 145 mAh
Kokam li-poly.
Weapon type: Lifter.
Weapon power: 7.4V 145 mAh
Kokam li-poly.
Weapon motor: Mini metal

gear high tech servo.


Weapon controller: Servo.
Armor: 1/16 inch polycarbonate
sheet, with .020 inch titanium
reinforcement in critical areas.
Radio system: Seven channel
programmable JR radio.
Future plans: Reinforce the
mounts that connect the armor
to the frame and raise the
bottom plates to give the robot
a higher ground clearance.
Design philosophy: Let children
and rookies drive my robot
against saw robots during
demonstrations or exhibitions
and find out what breaks, then
fix it. If it doesnt fit, force it.
If it breaks, you needed a new
one anyway.
Builders bragging opportunity:
Micro Drive has been my most
successful and reliable robot
for the last three years. He
has won two RoboGames

championships and got the silver


medal this year. He has always
placed either first or second in
every competition he has entered.
The first Micro Drive was built
in two days and Ive spent
probably a grand total of a week
rebuilding or repairing it in its
three years of service. When I do
demonstrations at high schools,
Micro Drive is the primary robot I
use and I let the audience drive
it. Micro Drive was actually
built using nothing more than a
heavy-duty pair of scissors, a hair
dryer, needle and thread, glue,
and soldering iron. At next years
RoboGames, Team Hammer
Brothers better watch out,
because Micro Drive will be back
in full fighting form ready to
reclaim his title as RoboGames
champion! SV

Photos and information are courtesy of


Zachary Lytle. All fight statistics are courtesy
of BotRank (www.botrank.com) as of
October 10, 2008. Event attendance data
is courtesy of BotRank and The Builders
Database (www.buildersdb.com) as of
October 10, 2008.

PARTS IS PARTS:
2.4 GHz Radi Fail-safes
by Thomas Kenney

obotic combat is a dangerous


sport in its very nature, and if
participating, one must accept the
safety risks that are all too often
present in the sport. In most cases
however, simply accepting the risk
isnt enough, and something must
be done to negate this risk as
much as possible. One of the most
dangerous variables in robots is the
safety features of their radios.
Most FM receivers can easily
interpret noise from motors, speed
controllers, and even microwaves as
valid signals. With the amount of

destructive spinners and other


dangerous designs in the current
competition circuit, it should go
without saying that even in the
smaller weight classes, this is a
serious safety hazard.
Thats where failsafes come in.
Featured prominently in FM-PCM
radio receivers, failsafes will
automatically have all channels go
to zero throttle or any other
position that the user specifies
when the transmitters signal is lost.
However, this does not solve
another all too prominent problem:

frequency conflicts. In large robotic


competitions or conventions,
another robot is bound to have
the same frequency as yours.
Fortunately, with the recent 2.4
GHz radios, this has become a thing
of the past.
Recent spread spectrum radios
such as the Spektrum DX series
have taken the R/C world by storm.
Unlike conventional FM transmitters
and receivers that connect through
corresponding frequency clips,
2.4 GHz transmitters bind to their
specific receivers, meaning there will

SERVO 12.2008

27

CombatZone.qxd

11/5/2008

3:50 AM

Page 28

motors and other weapons


may be controlled by the
aileron, elevator, rudder, or
any other channel.
Spektrum RC addressed
this problem with the
release of their Spektrum
BR6000 bot receiver, which
replaced their AR6000 that
would only failsafe on the
throttle channel. At the
request of combat robot
builders, Spektrum created
a 2.4 GHz radio receiver
specifically for combat
robots that would failsafe
on all channels.
Today, the BR6000 is
the standard for spread
spectrum receivers. Though
recently, there has been a
release of 2.4 GHz modules
made by Spektrum for
installation in older
transmitters such as the Futaba
9Cap. With this, hobbyists are able
to take advantage of the new
spread spectrum technology without
having to adapt to a new radio
system.
As technology grows, some
robotic competitions (such as
RoboGames) are requiring their
competitors to use spread spectrum
radios to eliminate the complications
of standard radio frequencies.
Now that the robotic community
has begun to embrace this new
technology, its impossible to
imagine what more advantages
it might bring in the future. SV

Spektrum DX6 and


BR6000 bot receiver.

be no unintentional frequency
conflicts.
The 2.4 GHz radio systems
operate on frequency hopping.
There are 80 channels in the range
of 2.4 GHz radios. The transmitters
will search for an open channel, and
once this is found, connect to the
receiver it has been bound to via
this channel.
The only problem with most
spread spectrum receivers is that
like many R/C receivers they
will only failsafe on the throttle.
There are no failsafes on any of
the other channels, and they will
simply continue in the positions

that they were in when the signal


was lost.
This is ideal for most R/C
planes, boats, and cars where the
throttle is the only channel that
controls any large movement; that
being the motor or engine that
rotates the propeller on model
airplanes, boats, or the wheels on
R/C cars. The rest of the channels
merely control servos that move
flaps, rudders, and steering which
have no potential for any sort
of danger.
In combat robots in addition
to weapons often controlled by the
throttle channel all sorts of

EVENTS
Results for September 15 October 12 Events

AR
presented
Robothon Robot
Combat 2008 in
Seattle, WA on
September 21st.
Twenty-two bots were registered.

28

SERVO 12.2008

ERC presented Franklin


Institute Robot Weekend in
Philadelphia, PA on October 11th.
Forty-two
bots were
registered.

obotsLive presented a show in


Huddersfield, West Yorkshire on
September 20th and 21st. SV

Full Page.qxd

11/4/2008

11:02 AM

Page 29

email: sales@crustcrawler.com

Eady - Motors and Motor Drivers-edited.qxd

11/5/2008

11:19 AM

Page 30

LEARNING TO DRIVE:

THE BLDC MOTOR

By Fred Eady

f you were to go back and survey past SERVO articles that I have written, you would probably conclude
that I have this thing about motors and motor drivers. For instance, we recently tackled Universal
Motors and constructed a Universal Motor controller. I also presented more than one SERVO stepper
motor controller project. In these pages, weve driven linear actuators, rotated hobby servo rotors, and
built circuitry to oversee the direction and speed of simple brushed DC motors.

his month, well add yet another motor and motor


driver project to the pages of SERVO. The motor in
the spotlight this time around is a direct descendent
of common universal brushed DC motors. However, this
motor type contains no brushes as its brushes have been
replaced by Hall effect sensors and electronic circuitry. A
brushed DC motor contains a set of brushes, a stator
assembly, and a rotor assembly. Commutation as it
relates to brushed DC motors is the process of switching
current and thus, magnetic fields between the stator
assembly and rotor assembly of the motor. The motor
brushes play a large part in the process of commutation as
the position of the brushes (like the stator) is constant with
respect to the rotors magnetic fields. Thus, the brushes are
actually part of the motors stator assembly.
The magnetic fields of the stator always react with the
commutating magnetic fields of the rotor in such a way
as to coerce rotary motion via the motors rotor shaft. Our
new motor type has no
stationary brushes that
provide a reference point
for commutation.
Instead, the motor type
were about to discuss
contains Hall effect
sensors, which are
positioned for use as
commutation reference
points by the brush
replacement circuitry.
This type of motor is
Photo 1. This BLDC motor comes called a brushless DC
ready to work with drive circuitry motor or just BLDC.
After we go to school on
that employs the use of its
built-in Hall effect sensors. These this new motor, were
sensors are ignored when the
going to design a
motor is spun using sensorless microcontroller-based
BLDC motor drive techniques.
BLDC motor driver circuit

30

SERVO 12.2008

that takes the place of the Hall effect sensors.

BLDC 101
As you would imagine, the absence of brushes in a
BLDC motor does have physical and electrical advantages.
On the whole, BLDC motors last longer and run quieter
acoustically and electrically than comparable universal DC
motors. Pound for pound, a BLDC motor can deliver higher
torque than its brushed counterpart. In addition to being
more reliable, quieter, and stronger, BLDC motors have the
ability to run faster than universal brushed DC motors while
requiring less maintenance. BLDC motors are turning in
automobiles, kitchen appliances, medical equipment, and
aircraft. If you have one of those new front-loading washing
machines, its a good bet that a BLDC motor is spinning the
tub. These motors can also be found spinning diskettes and
hard drive platters. The power-to-weight ratio of BLDC
motors make them very popular for use in model aircraft. If
BLDC motor technology is soaring around in flying robots,
you can bet theres an application for them in land-roving
robotic manifestations.
I attempted to disassemble the BLDC motor you see
in Photo 1 with no joy. I suspect that its components are
sealed to preserve the integrity of the positioning of the
motors integral Hall sensors. I didnt have a second motor
on hand. So, I didnt work too hard at pulling it apart. The
model BLY171S-24V-4000 BLDC motor shown in Photo 1 is
manufactured by Anaheim Automation. This particular
motor has a permanent magnet rotor, a three-phase stator,
and a built-in trio of Hall sensors. Picking apart the model
number tells us that this motor is a NEMA size 17 type
BLDC motor. The 1S denotes a single shaft motor with 11
oz-in of continuous stall torque. The BLY171S-24V-4000s
motor windings are rated for 24 volts and are able to spin
the rotor shaft at 4,000 RPM.
The BLY (for short) connects to the outside world using
a standard eight-wire BLDC motor scheme. Three of the

Eady - Motors and Motor Drivers-edited.qxd

11/5/2008

10:07 AM

Page 31

Motors and Motor Drivers


BLYs motor interface wires are terminations for the three
stator phases. The remaining five wires service the BLDC
motors built-in Hall effect sensors. Heres how our BLY
BLDC motor is wired:
Motor Phases:
- Phase A: Yellow
- Phase B: Red
- Phase C: Black
Hall Effect Sensors:
- Hall Effect Supply: Red
- Hall Effect Sensor A: Blue
- Hall Effect Sensor B: Green
- Hall Effect Sensor C: White
- Hall Effect Ground: Black
If we want to deploy the BLDC motor is a
standard manner, the Hall effect sensors are used in
the commutation process. In a sensorless BLDC motor
implementation, were only interested in the motor phase
wiring. Sensorless motor control commutation is a product
of the BLDC motors back electromotive force (BEMF),
which is produced in the motors stator windings as a
result of the movement of the rotors permanent magnets
past the stator coils. Before we formulate a method of
getting rid of the Hall effect sensors, it would be helpful to
understand how a BLDC motor works with them.

BLDC Operation 101


Although we have identified only three major coils in
our BLDC motor, a typical three-phase BLDC motor contains
a multi-coiled stator and a permanent magnet rotor. The
more stator coils one can cram into the stator assembly of
a BLDC motor, the smaller the rotational steps. Smaller
rotational steps result in less torque ripple. The same
principle applies to the rotor. A BLDC motors rotor supports
an even number of permanent magnets. The more magnetic
poles associated with the rotor, the smaller the rotational
steps. You know the rest. Regardless of how many stator
coils and rotor magnets a BLDC motor has, we can still
gain an understanding of how a BLDC motor works by
examining only three coils.
Like a stepper motor, a BLDC motor commutates
according to a predetermined coil activation sequence.
Thats about where the similarity ends. Stepper motors have
higher step counts and require a higher operating voltage.
BLDC motors are designed to operate with Hall effect
commutation and variable voltage drive. Precise rotor
alignment is not something a BLDC is particularly good at.
Conversely, a stepper wants a constant voltage drive and is
designed for precise angular positioning of its rotor.
A three phase BLDC motor has six discrete states of
commutation. When the correct coil activation sequence is
presented to a BLDC, the motor shaft will rotate. Reversing
a valid BLDC motor coil activation sequence will reverse the

Figure 1. This reminds me of a stepper motor coil activation


chart. An application that uses the Hall-Effect sensors would
trigger a commutation at every sensor logic level change.
direction of the shafts rotation. I have labeled the BLDC
motor coils A, B, and C in Figure 1. As you can see, each
commutation state consists of one coil driven positive, one
coil grounded, and one coil open. This type of commutation
is called block commutation.
Lets walk through a BLDC motor commutation
sequence visually. Figure 2 is a simplified view of a threephase BLDC motors coils and its rotor. The simulated rotor
is centered in the figure as an arrow. The pointed end of
the arrow is positive while the opposite end of the arrow
is negative. This positive/negative arrow arrangement
simulates the magnetic fields generated by the rotors
permanent magnets. The stator coils in Figure 2 are shown
as rectangles, which are spaced at 120 intervals. The
arrow (rotor) will move from commutation state to adjacent
commutation state depending on the direction of the
current applied to the energized stator coils.
Reference the coil voltage drive levels in Figure 1 and
apply them to Figure 2. Commutation state 1 is a product
of stator coil A being driven positively, stator coil B being
driven negatively, and stator coil C floating. Driving stator
coil B negatively actually means that stator coil B is grounded.
Thus, the stator coil current is flowing between stator coils
A and B while stator coil C is electrically disconnected. The
positive magnetic pole of the rotor will be attracted to the
negatively-charged stator coil B while the negative magnetic
pole of the rotor will be drawn towards the positivelycharged stator coil A. If we specify the positive pole of the
rotor as our commutation state reference, the positive pole
of the BLDC motor rotor is now positioned in BLDC motor
commutation state 1.
Lets transpose the next set of coil drive voltages in
Figure 1 to our imaginary BLDC motor in Figure 3. Moving
from left to right in Figure 1, the coil drive voltage level for
stator coil A remains positive. Stator coil B becomes the
SERVO 12.2008

31

Eady - Motors and Motor Drivers-edited.qxd

11/5/2008

10:08 AM

Page 32

Motors and Motor Drivers

Figure 2. The Hall effect sensors


(which are not depicted here) are
mounted in such a way as to sense
the position of the rotors magnetic
fields in relation to the magnetic fields
emanated by the stator coils.

floater and the stator coil C drive voltage level transitions


from floating to negative. This stator coil drive voltage
pattern forces the positive field of the rotor to move
towards the negatively charged stator coil C. The negative
field of the rotor is still under the influence of positivelycharged stator coil A.
I think you get the idea. However, to set the BLDC
commutation concept in stone, well walk through one
more commutation using Figure 4. Again, moving 60 to
the right in the Figure 1 commutation chart, we assign
stator coil A as the floater. Stator coil B is no longer the
floater and moves to a positive drive state. The coil current
direction in stator coil C remains as it was in the last
commutation state illustrated in Figure 3. Stator coil A is
electrically null and is powerless to influence the motion of
the rotor. The magnetic forces of stator coils B and C now

Figure 5. Youre used to seeing the Phase A and Phase B


circuitry as a pair of half H-bridges commonly used to drive
stepper and universal brushed DC motors. Phase C is a
necessary part of spinning the rotor of a BLDC motor.

32

SERVO 12.2008

Figure 4. Weve gone halfway around


electrically and I think you know where
the next set of stator coil voltages
will take us. The commutation table
in Figure 1 represents electrical
revolutions, not physical revolutions.
determine the
The number of magnetic poles in the
position of the
rotor and stator determine the physical
BLDC motors rotor,
number of revolutions versus the
which is now
number of electrical revolutions.
positioned in what
we have defined as commutation state 5.
Ive pinned the Hall effect sensor states to the bottom
of Figure 1. Note that the sensors generate a unique binary
code for each commutation state. The binary code is used
by a BLDC controller or microcontroller to determine the
commutation position of the rotor which, in turn,
determines the present and next set of commutation
drive voltage levels. Now that we possess the knowledge
necessary to drive the stator coils of a BLDC motor, lets look
at the hardware required to process those drive signals.

Figure 3. We could reverse the BLDC


motors rotor to commutation position
1 by backtracking the drive voltage
chart in Figure 1 by 60.

BLDC Hardware 101


A typical BLDC motors coils are driven by a
three-phase half-bridge circuit like the one you see
in Figure 5. Block commutation with a twist is used
to drive this multi-phase collection of MOSFETs. The
twist is PWM, which is applied only to the bottom
MOSFETs. Applying the PWM there leaves the
possibility of only one of the top transistors to be
totally ON at any time. Ive used the coil drive
levels from the commutation chart in Figure 1 to
formulate the hardware commutation chart you
see in Figure 6. Just as in Figure 1, each hardware
commutation state in Figure 6 is associated with
a binary Hall effect sensor value. So, the BLDC
motor controller knows exactly where to pick up
the commutation sequence it needs to rotate the
BLDCs rotor.
From what weve seen thus far, the BLDC
motors built-in Hall effect sensors are always
available to tell the BLDC controller how to correctly
commutate the motor. So, todays million-dollar
question is how do we get rid of the Hall effect

Eady - Motors and Motor Drivers-edited.qxd

11/5/2008

10:08 AM

Page 33

Motors and Motor Drivers


sensors and still successfully commutate a BLDC motor?
The answer is BEMF.

BEMF 101
When the BLDC motor shaft is spinning, BEMF is
generated by the movement of the rotor permanent
magnets past the stator coils. BEMF is just a fancy way of
saying opposing voltage. The BEMF varies according to the
speed of the motor. The faster the motor spins, the higher
the BEMF that is generated.
Recall that one of the three BLDC motor phases is
always electrically disconnected during commutation.
Consider Figure 7. Matching up the phase drive voltages
with the commutation chart in Figure 6 tells us that this
drive pattern is representing commutation sequence 4.
The floating phase in commutation sequence 4 happens to
be phase C. The floating phase provides a portal for the
measurement of the BEMF voltage for this commutation
period. Another look at Figure 6 shows that all three of the
phases are electrically disconnected at one time or another.
Thus, we are able to measure the BEMF during any of the
six commutation periods using the available floating phase.
Since the BEMF is directly proportional to the motor
speed, we can use the sensed BEMF levels to control the
commutation of a BLDC motor. The goal is to commutate the
BLDC at the required speed and torque while maintaining a
safe voltage and current level in the motors windings.

components well need to build up our trio of phase


drivers. The MOSFETs for each phase can be realized
using an IRF7309. The IRF7309 is an eight-pin device that
consists of a pair of MOSFETs that matches the half-bridge
configuration of each of the phases outlined in Figure 5.
Microchips TC446X series of Logic-Input CMOS drivers will
provide sufficient gate drive for the MOSFET pairs.
I came across the word BLDC many times while
reading through the PIC18F2431 datasheet. So, Im leaning
towards using the Microchip PIC18F2431 as our BLDC
motor control microcontroller. The PIC18F2431 can provide
six PWM channels and five fast A-to-D converter inputs.

How Are We Going To Do This?

Next Time

Now that we have some BLDC drive theory under our


belts and we know what we need to accomplish in relation
to driving a BLDC, lets try to determine what we need on
the hardware side. Its pretty obvious that well need a way
to generate PWM signals. The easiest way I know of to do
this is to push some values into a set of microcontroller
registers and assign a PWM output pin. Well also need a
way to activate and deactivate the MOSFETs in the threephase bridge. Not only do we need to do this, well need to
energize the correct set of MOSFETs in accordance with the
commutation table laid out in Figure 6. Logical activation
and deactivation of MOSFET switches sounds like a job for
a microcontroller to me.
To implement a system that monitors BEMF and applies
the captured BEMF to commutating, the BLDC motor will
require a microcontroller with A-to-D converter capability.
Well need at least four A-to-D converter inputs to monitor
the three phases and the overall current drawn by the
BLDC motor.
A means of controlling the starting, stopping and the
speed of the BLDC motor would also be a nice thing to
have. So, lets add an additional A-to-D converter input
channel and a couple of I/O pins to our microcontrollercapability shopping list.
Since we have a good idea about what the BLDC
phase driver hardware should look like, I can nail down the

Im really anxious to get started on the hardware and


firmware design for our BLDC motor controller. So, Ill
make this short and sweet. Next month, well build up our
own BLDC motor
controller hardware
from scratch and
explore what it takes
on the firmware side
to successfully
commutate our
Anaheim Automation
BLDC motor. SV

Figure 6. I used the voltage levels in Figure 1 to fill in


this chart. The PWM signals were substituted for the
V signals given in Figure 1.

Fred Eady can be


reached via email at
fred@edtp.com.

Figure 7. The coil configuration is called a wye because


of its Y shape. BLDC motors can also have their coils
arranged in a delta configuration. The BLDC drive theory
weve discussed thus far is valid for both the wye and
delta coil configurations.

SOURCES
Motor Anaheim Automation www.anaheimautomation.com

BLY171S-24V-4000 BLDC

SERVO 12.2008

33

Savage - Propeller Part 4.qxd

11/5/2008

3:27 AM

Page 34

by CHRIS SAVAGE

GETTING CONTROL
WITH THE

Propeller
his month, we wrap up our four part series by
covering practical use of PWM on the Propeller using
our multi-controller board. In last months article,
Kevin McCullough covered stepper motor control and made
schematics available on the project web page. These
schematics use the L293D Quad Half-H Driver IC which
provides bi-directional drive currents of up to 600 mA from
4.5V to 36V. We will use the L293D in this article for both
motor control and light dimming. This IC is included on the
Propeller Professional Development Board as well, so those
who have the PPDB can follow along even if they havent
built a multi-controller board.

Control Methods
Controlling the speed of a motor or dimming a light
can be done by varying the voltage going to the device.
More voltage and the motor goes faster or the light gets
brighter. Less voltage and the motor slows down or the
light gets dimmer. Using analog control is inefficient for this
because power is typically wasted while the driver (usually a

34

SERVO 12.2008

PART 4:
Propeller
Multi-Controller

BJT or MOSFET) operates in its linear (or active) region


when not fully on or off. When this happens, the driver has
to supply necessary current while limiting the voltage on
the output. The power dissipated is wasted in the form of
heat which could also be harmful to the driver or other
nearby components, and often requires large heatsinks.
By using the driver as a switch, it is either on or off at any
given time. This reduces the voltage drop across the device and
therefore the amount of power dissipated as heat. In order
to control the speed of a motor or the brightness of a light,
we have to modulate the output to vary the power to the
load. PWM can accomplish this and reduce the total amount
of power to the load without the losses typical of resistive/
analog means. In the off state, the driver is not conducting any
current; in the on state, there is little voltage drop across it.

PWM Control
Using PWM, we will essentially modulate our signal at a
fixed period with a varying duty cycle. By varying the duty cycle,
we will be varying the ratio of on-time to off-time at a given

Savage - Propeller Part 4.qxd

11/5/2008

3:28 AM

Page 35

rate or frequency (see Figure 1). This will allow us to control the
speed of a motor or the brightness of a lamp much more
efficiently. Our multi-controller board is Propeller-based so we
can take advantage of the counters to help generate our PWM
signal. The Propeller has eight cogs (processors) and each cog
has two counters for a total of 16. The counters operate
completely independently of each other and are advanced
modules having 32 modes of operation. For this article,
well be using the PWM mode which will be explained next.

PWM Generation Using the Counters


The CTR.spin object (included with the Propeller Tool) does
a good job of going into the details of the counters and all
their modes and parameters, so I will focus on a small piece
of example code that will provide a working example of using
a counter to generate a PWM signal for the L293D. First, lets
have a look at the code line by line. Please refer to Figure 2
for the code listing. This code can also be downloaded from
the project web page listed in the Resources sidebar.
Line 2 sets the clock mode and sets the PLL multiplier
to 16x. Line 3 sets the frequency of the crystal we are using,
which is a 5 MHz crystal. With the PLL at 16x, the Propeller
is now running at 80 MHz. CLKFREQ is a command which
returns the current system clock frequency in Hertz. This
means your programs can determine what speed the
Propeller is running at, as well as make calculations based
on this value. Line 6 declares a global variable called
parameter, which we will use to change the duty cycle of
the signal by setting it to some percentage of the period.
Line 8 starts our program code and defines the name
of this method as Main. It also declares a local variable
named index which will be used as a counter. Line 9 launches
the core PWM code into a new cog and passes the code
address (entry), as well as the address of the global variable
where it will obtain the duty cycle. The @ symbol specifies
that were passing the address of a
symbol. Line 10 starts a repeat loop that
never ends. The lines indented below it
will run indefinitely or until the Propeller
is reset. Line 11 starts a repeat loop
which uses the local variable index to
count from 0 to the current period. Each
pass through the loop index is copied
into parameter and there is a small delay
before the loop continues. When index
equals period, the routine will fall down
into the next repeat loop, which is
essentially the same as the first, except
that were counting back down. The
effect is that were ramping the duty
cycle from 0% to 100% and back to 0%
in a continuous loop. To ramp faster, you
can reduce the waitcnt value from
80_000 down to a lower value. Likewise,
a higher value will cause it to ramp slower.
Line 20 is the entry point to the
assembly code that handles our PWM
signal. The first thing we need to do is to
set the direction register of the output

Duty Cycle

Period

25%

50%

75%
FIGURE 1. PWM
example waveform.

pin we will be using to make it an output. This is


accomplished by moving the value of diraval into DIRA. If
you look down at line 30, this value was set using the
decode operator. This effectively sets bit 16 high in the 32
bit variable (all other bits are low). Now our PWM pin is set
to output so we drop down to line 21 which moves the
value of ctraval into CTRA. This value was calculated down
on line 31 by taking the bit pattern we want for the PWM
mode (%00100), shifting it left 26 bits to get it into the
correct field of the counter A control register, and adding
16 to specify which I/O pin to use for output. This works
because the APIN is specified by the lower six bits of the
control register. Line 22 moves a 1 into the FRQA register
which tells the counter to increment every clock cycle. Line
23 moves the current contents of cnt into a variable called
FIGURE 2. Program listing.

SERVO 12.2008

35

Savage - Propeller Part 4.qxd

11/5/2008

Page 36

FIGURE 3. L293D
motor drive circuit.

5V

VMOT

3:34 PM

P16
1

2
3
4
5
6
7
8

1,2EN
VCC1
1A
2A
1Y
2Y
GND
GND
GND
GND
2Y
3Y
2A
3A
VCC2
3,4EN

16
15
14
13
12
11
10
9

L293D

Due to the impedance of the inputs on the L293D, we


cannot use P0 through P15 on the multi-controller because
of the 3.9K series resistors. Instead, we will use P16 which
has no series resistor. If youre using the PPDB, you can simply
connect P16 to Input 0 and tie the Enable (0, 1) connection
to the 5V just below it to keep it enabled. Optionally, the enable
line could be controlled by an I/O pin but were keeping it
simple for now. If you are using the multi-controller board,
you can breadboard this circuit and connect the ground and
I/O lines using pluggable wires. Please follow the schematic
shown in Figure 3. PPDB users will still require an external
motor supply and ground connection as shown in the
schematic. When you run the code, it should start ramping
your motor up and down between stopped and full speed.

Dimming Lamps
time. The cnt value is a 32-bit counter incremented every
clock cycle. In line 24, we add our period to time. This
calculates the value of cnt one period from the time cnt
was read. To summarize, lines 20 through 24 set up all the
parameters we will need in our assembly routine before
running the loop. This includes setting up the direction
register for the output pin, setting up the configuration
register for counter A (which sets the mode and output
pin), and calculating the target cnt value for timing using
the system counter.
At this point, we enter the main assembly loop at line
25. This line reads the current value from the address
passed in the par register which as you may recall
points to the global variable parameter where our main
code can alter the duty cycle. Line 26 causes the cog to
wait for the target cnt value which was stored in time.
Once reached, period is added to time again to recalculate
the new target and the code proceeds to the next line. Line
27 takes the variable value and makes it negative before
loading it into PHSA.
The reason for this is that in order for the output to be
high, bit 31 must be set. By making value a negative number,
we set bit 31 and our output goes high. Because value is set
to our duty cycle and the counter will increment every clock
cycle, then once the counter reaches 0 the output will go low.
Line 28 loops back to line 25 where we fetch a new duty cycle
value and wait. So, as you can see the output stays high for
the duty cycle, which is a percentage of the period and then
goes low. The cycle restarts at exactly the number of cycles
in the period. This happens indefinitely or until the cog, is
reset. Since this routine runs in its own cog, the Main method
can change the duty cycle at any time and the PWM assembly
code will update at the end of the current period.

Connecting the L293D


In this example, I will be driving a 7.2V DC gear motor
from a robot. This motor draws approximately 190 mA
@ no load, which is well within the specifications of the
L293D. If you look at line 32 of the code, you will see that
we have specified a period of 8,000 cycles. This gives us a
PWM frequency of 10 kHz and a period of 125 s which is
commonly used for motor control using an H-bridge; it is
well within the frequency range of the L293D.

36

SERVO 12.2008

Dimming lamps is done in the same manner as the


motors, with the exception of not requiring such a high
PWM frequency. For light dimming, you can connect a bulb
in place of the motor and make the following changes to
the code. Change the period in line 32 to 40_000 instead
of 8_000. This will reduce the frequency down to 2 kHz
and a period of 500 s. You can also change the 80_000
cycle delay in lines 13 and 16 to 4_000 to adjust the
ramping rate. A MOSFET is another option to drive a lamp
and there will be additional circuits and code available on
the project web page for this series.

Other Options
So, now you have a good foundation to start
generating PWM on the Propeller and add functionality to
the multi-controller board weve been working with. While
this article covered the basics, more advanced code with
bi-directional motor control will be available on the project
website. We may even go so far as to integrate all three
types of control into one demo.
For now, experiment, build, and learn. Dont be afraid
to try new things. The chips are socketed and easily replaceable
if you should make a mistake that results in smoke. Remember
you can always visit the Parallax Object Exchange and the
Parallax Support/Discussion Forums if you need additional
code or have any questions. Feel free to email me at
csavage@parallax.com if you have any questions,
comments, or suggestions. Take care and have fun! SV

Resources
Project Page
www.parallax.com/go/GettingControl4
Parallax, Inc.
www.parallax.com
Propeller Object Exchange
obex.parallax.com
Propeller Support/Discussion Forums
forums.parallax.com/forums/default.aspx?f=25

Full Page.qxd

11/4/2008

11:04 AM

Page 37

What todays robotics


engineers, rocket scientists,
and astrophysicists do for fun.
Exercise your skill, expand
your mind, and challenge your
creativity with everything from
games to gadgets from Edmund
Scientic. Whether youre a
hobbyist, scientist, or student,
Edmund Scientic has something
to make you smile and think.
For the latest trends in toys
and technology, call for your
free catalog or shop online at
scienticsonline.com.

1-800-728-6999 www.scienticsonline.com

Balasubramaniam - Gait Dectection.qxd

11/5/2008

10:45 PM

Page 38

Ever wanted to monitor your rhythm and stride pattern while you run? How about the G-force on
your knees on the treadmill? Want to do simple motion tracking (inexpensively)?
This article describes a simple but powerful design for a gait detection system (of course,
along with all the software you would need!) using the highly configurable Cypress
CY29466 microcontroller for control and ADX330 accelerometers for the sensors.

Multi-Purpose, Daisy-Chained

Gait Detection System


By Balakumar Balasubramaniam and Wendi Dreesen

THE BASICS

the angles made by the sensors with respect to the gravity


vector. Subsequent angles are all calculated with respect to
gait is defined as an ordered sequence of states that
this reference. Of course, when the limbs are moving fast,
typically result in locomotion. To measure the gait of
the accelerometers measure the centrifugal and radial
a person, we measure the angles of the various parts
accelerations in addition to the gravity vector. So, it gets a
of the body with respect to a reference at each instance of time
bit complicated. Research systems typically use gyroscopes
during the motion. The simplest reference that is available
to measure the angular velocity and compensate for such
everywhere and has the strongest effect on gait is gravity.
rotations, but gyros are expensive. To keep our costs low,
So, we measure the gait by strapping accelerometers to
we built a system using only accelerometers. It turns out
the hands, legs, hips, neck, and so on, and calculating the
that even such a simplified system provides remarkably
angle made by the gravity vector with the axes of the
useful information (for example, even without the gyros,
accelerometers. Prior to data acquisition, we obtain a few
we can measure the maximum forces on our joints while
seconds of reference data in the rest position to measure
running) and is routinely used in cutting-edge research
projects!
If you are looking for
FIGURE 1: CIRCUIT DIAGRAM FOR THE SLAVE.
an innovative science project
that contributes to gait
research, this is your starting
point. The system presented
here can also be used in
numerous other applications
like measuring the
accelerations of your
bicycles, motion tracking
of slow and controlled
movements, or even in fall
detection.

HARDWARE
DESIGN
The basic design of
this gait detection system
consists of one (or more)
slave nodes daisy-chained
to a single master node
by a fast I2C connection
operating at 400 kbps. The

38

SERVO 12.2008

Balasubramaniam - Gait Dectection.qxd

11/5/2008

10:35 PM

Page 39

FIGURE 2: CIRCUIT DIAGRAM FOR THE MASTER.

slave nodes are strapped onto the anatomy, and the accelerations imposed upon the slave nodes as they piggyback
during body movements are measured to calculate the gait.
The key sensor component residing in every slave node
of our current gait detection system is the humble triple
axis MEMS-based accelerometer ADX330. In lieu of the
stand-alone accelerometer chip, we chose to use the
DE-ACCM3D modules from Dimension Engineering
(www.dimensionengineering.com) as they carry
on-board regulators, power filters, reverse voltage
protection, and provide buffered outputs.
The three analog outputs (one for every axis) from the
DE-ACCM3D module in each slave is then fed into programmable gain amplifier modules within a Cypress C8YC29466
PSoC mixed signal array microcontroller. The amplified
signals are then digitized using an incremental ADC converter
(TRIADC8) capable of fast conversions. Note that the
TRIADC8 was chosen for this project solely for superior
speed. However, the PSoC provides a large variety of
incremental and delta-sigma converters that can be
FIGURE 3: PHOTOGRAPH OF THE COMPLETED SLAVE MODULE.

SERVO 12.2008

39

Balasubramaniam - Gait Dectection.qxd

11/5/2008

7:16 PM

FIGURE 4: PHOTOGRAPH OF THE COMPLETED SLAVE MASTER.

swapped for the TRIADC8 depending upon the application.


Once the analog data from the accelerometers is digitized,
it is sent to the master for accumulation.
The operation of the slave PSoCs are controlled by a
single master PSoC on a PSoCEVAL1 evaluation board (see
Figure 4). We recommend the use of evaluation boards
instead of stand-alone breadboarded master units to ease
debugging and to facilitate further hacks on the present
design. The data received by the master from the slaves is
finally transferred to a computer using the UART output
from the microcontroller (and an FTDI 232R chip) or by
connecting a serial-to-USB converter to the evaluation
FIGURE 5: SAMPLE SIGNALS FROM A HIP-MOUNTED
ACCELEROMETER SHOWING THE VOLTAGE LEVELS FOR
VARIOUS EVERY-DAY ACTIVITIES.

Page 40

boards RS-232 port. The data is recorded and saved to a


file using Windows HyperTerminal.
One of the difficulties we faced during our initial
versions was the unreliability of data transfer while using
the I2C connection between the slaves and the master. We
traced this problem to the long connection lengths between
the boards required to interconnect the slaves on a moving
human to the stationary master. In our case, the furthest
distance of the slave from the master was about five meters.
With a rated capacitance of 460 pF over this length, the design
exceeded the 400 pF maximum allowed line capacitance for
an I2C connection. The trick to mitigate such length issues
in I2C connections is to use bus extenders. We selected
the Phillips P82B715 extender along with suitable pull-up
resistors on the serial data (SDA) and serial clock (SCL) lines.
It is estimated that the use of the extender chips allows us
to increase the maximum cable distances to about 30 m.
While the design of each slave node is simple, the
system obtains its enormous power by synchronously
operating several slave nodes in parallel, controlled by a
master node equipped with the right software.

MECHANICAL ASSEMBLY
After we got the hardware all set, we faced the
formidable challenge of mounting the boards firmly on the
appendages of the subject! After much trial and error, we
built a reliable and low cost mount for the slave board by
placing it in a plastic container (soap container from
Wal-Mart, $0.50) and screwing the board to the bottom of
it. Initially, we experimented by sticking a piece of wood
in between the board and the container using epoxy to
provide rigidity. However, the epoxy was not enough to
keep the board firmly positioned under vibratory motions.
Hence, four screws were used at the corners of the board,
each with three bolts (two on either side of the board to
hold it, and one to fasten the containers surface) to make
a firm mount. One could also use foam to fill the space
between the board and the container to damp out spurious
resonances between the board and the soap case. Once
the soap container was ready, we used an elastic neoprene
to fix the container in place.

SOFTWARE DESIGN
The code associated with this project contains two
components: the hardware configuration component for
the selection and correct configuration of the various
modules in the CY8C29466 chip; and the second
component that takes care of the inter-chip
communications, sends synchronization signals to control
data acquisition and transmissions.
We configured the master PSoC with one each of
I2CHW, LCD, and UART modules. The I2CHW module
communicated with the slaves while the UART interfaced

40

SERVO 12.2008

Balasubramaniam - Gait Dectection.qxd

11/5/2008

7:17 PM

with the data acquisition computer. The I2CHW module


was operated at a fast speed of 400K as an I2C master.
The UART speed was run at 38400 baud by driving the
UART module using the VC3 clock signal at SysClock/78,
where the SysClock was selected to be 24 MHz for both
the master and slave modules. The LCD module was used
to display information on the evaluation board screen.
The slave PSoCs had slightly different configurations,
with three PGA modules (one each for the x, y, and z axes),
one EzI2C module, and a TRIADC8 analog-to-digital converter. The EzI2C modules were operated at 400K as I2C
slaves, and their slave addresses were chosen to be unique.
The PGA gains were set to a fixed value of 1 (although
the code could be easily modified to set dynamic gains).
The TRIADC8 module was driven by the VC1 clock set to
SysClock/8, with references set to yield a range of 0 to 4
volts. All the PSoC modules were powered by 5.0V.
The software for this system utilizes a commandresponse architecture, where the commands (of exactly
one byte in size) always originate from the master, and
the responses (at least one byte in size) are always sent
by the slaves to the master. When the unit is powered on,
the master initializes its I2C and UART modules, and waits
for a few milliseconds for the slave to initialize its PGA,
ADC, and EzI2C modules. Upon completion of the
initialization phase, the slaves continuously poll the first
byte of their EzI2C receive buffer until one of the registered
commands is detected. Upon detection, a switch structure
is used to respond to a variety of pre-defined commands.
In order to signal the master that it is busy executing the
command, the slave places a NULL_CMD byte in its EzI2C
transmit buffer before start of command execution.
When all systems are ready, the master writes an
ADC_START command (all commands are #define-d) to
each of the slaves sequentially. The slaves respond to this
command by starting the data acquisition. While the master

Page 41

FIGURE 6: SAMPLE SIGNALS FROM A HIP-MOUNTED


ACCELEROMETER SHOWING THE VOLTAGE LEVELS FOR
VARIOUS EVERY-DAY ACTIVITIES.

waits for the completion of the data acquisition by the


slaves, it completes the UART transmission of data acquired
from the previous cycle. Such a strategy results in an
increased system throughput. Upon completion of the data
acquisition, the slave places the response data into its
transmit buffer, and precedes this data with a response
command (ADC_DONE, in this case). Meanwhile, upon
completion of the UART transmit operation, the master

PARTS LIST

Item#
PSoCEval1
CY8C29466-24PXI
DE-ACCM3D

Manuf
Cypress Semiconductors
Cypress Semiconductor
Dimension Engineering

Dist.

Dist. Part #

3M
SR205E104MAR
ECC-A3J120JGE
B37979N5101J000

2010/10 100SF
AVX Corporation
Panasonic ECG
EPCOS Inc

Digi-Key
Digi-Key
Digi-Key
Digi-Key

MB10R-100-ND
478-3192-ND
P12182-ND
P4925-ND

VT200F-6PF20PPM
276-150
28-6518-10
PPTC281LFBN-RC

Seiko Instruments
RadioShack
Aries Electronics
Sullins Electronics

Digi-Key
RadioShack
Digi-Key
Digi-Key

728-1000-ND
276-150
A409AE-ND
S7026-ND

ADIP10-G-LC-R
PPPC052LFBN-RC

Assmann electronics
Sullins Electronics

Digi-Key
Digi-Key

HDP10H-ND
S7108-ND

2-746610-1
P82B715

Tyco electronics/AMP
Phillips Semiconductor

Digi-Key
Digi-Key

ADM10S-ND
568-1006-5-ND

Description
PSoC evaluation board
PSoC mixed signal array
Buffered tri-axis accelerometer
9V battery
Cable 28AWG, 10 conductors, 100ft
Capacitor 0.1uF 50V 20% radial
Capacitor 12pF ceramic disk, 6kV 5%
Capacitor 100pF 50V ceramic mono pm
5% radial
Cystal 32.768kHz, 6pF
8-12 nos perf board
28 pin (2x14) solder tail dip socket
Connector header female 28pos,
0.1 pitch, tin
Connector DIP IDC 10Pos gold, gray
Connector header female 10pos,
1 pitch gold
Connector plug IDC 10pos .1x.1 pitch DIP
Bus extender

Quantity
1
4
4
1
1
20
20
20
10
10
4
5
5
5
5
5

SERVO 12.2008

41

Balasubramaniam - Gait Dectection.qxd

11/5/2008

7:17 PM

continuously polls the first byte in the transmit buffer of the


first slave for the ADC_DONE byte. Upon reception of the
response command, the master reads the response data
from each of the slaves. It should be noted that the
response command is placed into the transmit buffer after
the completion of the response data load into the buffer, so
that the master can immediately perform the data read
operation without waiting for the slave to load its registers.
This offers a reliable method of reading the slaves responses

Page 42

without additional, clock-dependent delays within the


master loop. The complete hand-shaking operation
described here is summarized in Figure 5. Finally, an
elementary time-out mechanism was incorporated into the
master routines to allow for the possibility of in-service
disconnections. The code snippet for the time-out is clock
rate dependent in its current form and should be adjusted
accordingly using the TIMEOUT variable. The source codes
for both the master and the slaves are available from
www.ziggrid.com/GaitDetector or
www.nutsvolts.com. The code for
each of the slaves should be compiled
separately with unique values of a
SLAVE_ADDR for the different slaves
in the chain. The same slave addresses
should also be included in the
SlaveArray variable in the master code.

SAMPLE EXPERIMENTAL
DATA

Experience a Faster Way to Search for Components!


Jameco Electronics new catalog and
enhanced Jameco.com website are two
tools that are designed to work together
to give electronic professionals faster
access to the hottest components in the
industry.
Color coded references throughout the
catalog assist you in analyzing a wide
range of brand choices (from franchise
sourced to house brands to factory
overruns) offering you more pricing
options than you'll see anywhere else.

Web codes allow you to quickly jump


from catalog to website to view additional
specifications, application notes, photos
and more products. You'll find exactly
what you're looking for without having to
wade through hundreds of thousands of
products on a complicated website or
wielding a twenty pound catalog.
With a flip of the page or a click of the
mouse, you have all the tools you need
at your fingertips. Reach for Jameco first
and order your catalog today.

Order your
web-enabled
catalog today!

Call 1-800-831-4242 or Visit www.Jameco.com/Speed for the ride of your life!

42

SERVO 12.2008

But, of course, the proof of the


pudding is in the eating! So, to test
our gait detection system, we
strapped a single slave module to
the hip in the front just below the
abdomen and performed various activities. The recordings from this test are
shown in Figure 6 with the vertical,
horizontal, and sideways accelerations
represented by red, green, and blue
colors. It is clear that our system has
the ability and speed to distinguish
between walking, running, and falling.
The system can even figure out if a
person starts running faster!
More critically, the presence of
clear fall signatures implies that the
data from the system can be used to
determine if its carrier has tripped. An
alerting system can be easily built by
strapping a Bluetooth module to our
current circuit, and we leave it to the
enterprising reader as an exercise.
Indeed, systems similar to this one
have been used to acquire data that
were then published in reputed
research magazines. We hope youll
use this inexpensive system to gather
data on the kinematics of motion,
among other fun things! SV
The authors wish to thank the support
of Prof. Rajesh Gupta, University
Of California, San Diego during the
completion of this project.

Full Page.qxd

11/4/2008

10:21 AM

Page 43

SERVO 12.2008

43

Mastrogiovanni.qxd

11/5/2008

2:20 PM

Page 44

he field of Ambient Intelligence (AmI) has as one


of its principal aims the improvement of the life
conditions and the independent living of the elderly
and people with special needs. Special attention is given to
achieving a better interaction between people and their
environment. Commonly associated with the Smart Home,
AmI is also being applied to hospitals and assisted-living
facilities, offices, industry plants, and public spaces. The
goal of this article is to offer a comprehensive view of AmI,
from the current state-of-the-art to next-gen AmI systems
with high-level cognitive capabilities.

spaces. Device networks and computational systems


provide services and useful data at the right moment,
without them being explicitly asked for.
The European Union has identified AmI as one of the major
research fields it will invest in during the next few years1.
One reason for this optimism is applicability in the Healthcare
field, to support those with special needs. The hope is that
patients can recuperate at home, instead of in an expensive
hospital setting. The majority of work in AmI has been carried
out in the field of Smart Homes, with support from companies
such as Philips, Siemens, Nokia, VTT, and Telecom.

AmI

The AmI Approach

A key concept of AmI is that computational resources


AmI is a multidisciplinary approach to enriching
are available everywhere and for everyone. Accessing them
environments with a distributed network of devices, such
should be so transparent, silent, and non-intrusive that
as sensors, actuators, and computational resources. The
there is little need for an explicit interaction with a device
aim is to acquire real time sensory information, to represent
or appliance. AmI has
that information, and to
been used to enrich
define models to be used
A key concept of AmI is that
environments ranging
for reasoning and acting
computational resources are available upon the data.
from homes, offices, and
cars, down to open
AmI represents the
everywhere and for everyone.

44

SERVO 12.2008

Mastrogiovanni.qxd

11/5/2008

2:21 PM

Page 45

Ambient
Intelligence
Using amBX
technology, multiple
peripherals in the
room around you
work in harmony with
the game to deliver
a new sensory
experience which
includes: surround
lighting, sound,
vibration, airflow,
and other effects.

convergence of developments in telecommunications


(e.g., sensor networks), industrial electronics (e.g., the
miniaturization process of computational devices), pervasive
computing, intelligent user interfaces, and artificial
intelligence (e.g., knowledge representation and context,
and situation awareness). AmI is not only the superimposition of these disciplines, but it is a major effort to integrate
and make them really practical for the everyday user.
AmI is a cognitive version of the three pre-existing
paradigms: ubiquitous computing, pervasive computing,
and domotics (the application of computer and/or robotic
technology to household appliances). Ubiquitous computing,
pervasive computing, and domotics are mainly focused
on the need to provide access to computational and
information devices, but lack a well-defined focus on the
kind of intelligence that this infrastructure should exhibit.
Key requirements of an AmI system are:
Flexibility: The system must behave differently according
to the particular context in which it operates.

2) Where refers to people tracking within the environment.


3) When refers to when an event occurs.
4) What refers to spatial and temporal features within the
environment.
5) Why refers to the cognitive abilities of a system which
are aimed at understanding why a given event occurs.

Smart Homes
A classic example of AmI is the Smart Home a home
environment that is endowed with a network to provide its
inhabitants with many services. Smart Homes have been
the main focus of development during the early years
of AmI research. A good introduction to state-of-the-art
systems in AmI can be found in How Smart Are Our
Environments?2. Smart Home projects include Amigo3,

Adaptability: The system must adapt services to


specific user needs.
Proactivity: The system must be able to
understand the current situation, and to account
for possible future events on the basis of its
reasoning capabilities and experience.
Sensible Interfaces: These interfaces include
physical interfaces, such as computer and touch
screens, as well as generic means to achieve a
correct and non-intrusive interaction with users.
These peculiar characteristics make AmI different
from ubiquitous computing, pervasive computing,
and domotics alone, in that it allows a sensible
user interaction mediated by context intelligence
and knowledge representation.
Sensible interaction recognizes user needs, activities,
and preferences by taking the five Ws into account:
1) Who refers to all the aspects related to user
identification.

FIGURE 1. A typical Smart Home scenario.

SERVO 12.2008

45

Mastrogiovanni.qxd

11/5/2008

2:27 PM

Page 46

Ambient Intelligence
Aware Home4, MavHome5, and Gator Tech
Smart Home6.
The levels of intelligence and proactivity a Smart
Home (and an AmI system in general) should exhibit is a
trade-off between provided services and user interaction.
Because the general behavior of a Smart Home is based on
rules that are encoded by human experts, the cognitive
capabilities offered by an AmI system largely depend on the
knowledge provided by these experts and on their ability to
encode it into reasoning systems.
Consider an automated system for turning on/off the
lights. Lets assume that a room is provided with sensors
that are read to decide if there are people inside. If sensors
and the corresponding logic are based exclusively on movement detection, someone relaxing on a couch could easily
trick the system, which would immediately turn off the
lights for absence of any movement. From the sensory
perspective, the system would misinterpret absence of
movement as absence of people. The fault lies in the logic
provided by system designers, not the actual system behavior.
One solution to the automatic lighting system dilemma
is to use different and heterogeneous sensors to obtain a
clearer picture of the situation. For instance, by adding a
number of sensors able to detect door crossings, it would
be possible to infer the current amount of people inside the
room, and to turn on/off the lights independently from
actual human behavior. On the other hand, a system
capable of detecting if someone is sleeping could purposely
decide to turn the lights off in the environment.
From a functional perspective, a typical Smart Home is
very similar to what is depicted in Figure 1. From a human
FIGURE 2. Basic information involved in Example 2.

FIGURE 3. Basic information involved in Example 3.

A good example of something that may be in a Smart Home


a memory browsing system that allows users to access and
display their photos anywhere in the house.

perspective with the exception of non-obtrusive sensors


the home is virtually identical to a standard home. Typical
sensors include: PIR (passive infra-red) sensors for
movement detection; smoke, gas, and light sensors;
temperature sensors; surveillance cameras; and pressure
sensors in chairs, couches, and beds. Additional devices
include automated doors and windows, and control systems
for temperature and light regulation.
But this is now. Soon, highly integrated
intelligent home appliances will be available that
are able to autonomously provide information
about their own use. In addition, there are
wearable sensors that can monitor biometric
data, such as human posture and blood pressure.
However, wearable sensors require active
participation from the user, which is against the
initial requirements of AmI.

What Have We Done


Up To Now?
Figure 1 shows a bedroom, a bathroom, and
a living room that are divided into two areas
namely entrance and kitchen. A number of
PIRs are placed both in selected areas and in
doorways. Furthermore, we assume the availability
of bed, seat, and tap sensors, along with a series
of intelligent appliances (such as the oven, the
fridge, the shower, and the TV).
EXAMPLE 1: The user is in bed while the
shower tap is active. This situation can be

46

SERVO 12.2008

Mastrogiovanni.qxd

11/5/2008

2:28 PM

Page 47

Ambient
Intelligence

inferred by considering the following basic information:


(bed1_active(t) or bed2_active(t)) and shower_tap_active(t).
Specifically, bed1_active(t) and bed2_active(t) are true if the
pressure sensors located on either bed1 or bed2 detect
something, whereas shower_tap_active(t) is true if the
shower tap is opened.
EXAMPLE 2: The user is in bed for longer than usual.
This situation can be modeled using such simple
information as: bed_active(t1) and length(bed_active, t).
length(bed_active, t) is true if the value of bed_active is
true for more than a given temporal threshold t. At the
time instant t1 the inhabitants are on the bed. As soon as
time passes, the value of bed_active remains unaltered. At
the time instant t2 such that t2 - t1 > t, length(bed_active, t)
becomes true (see Figure 2), thus inferring this situation.
EXAMPLE 3: During the night, the inhabitant cannot
sleep; therefore, he gets up and decides to switch on the
TV in the kitchen. This scenario can be modeled using
very basic information as demonstrated in the previous
examples. As shown in Figure 3, relevant information
includes the change of the data value for bed_active (which
switching from true to false allows the system to infer that
the user got up from the bed) and an opposite change in
tv_on (from false to true, thus implying the use of the TV).

From Here
There is still a lot of work to do before ubiquitous
intelligent systems surround us and help us in our daily
activities. Although AmI is particularly young and
unexplored for the most part, its benefits are more than
evident. What is needed to make AmI a reality is for intrepid,
motivated innovators to move the field forward. SV
All photos are courtesy of Philips.

Resources
1. K. Ducatel, M. Bogdanowicz, F. Scapolo, J. Leijten, J.C.
Burgelman. Scenarios for Ambient Intelligence in 2010. ISTAG
Report. IPTS-Seville, February 2001.
2. D.J. Cook and S.K. Das. How Smart Are Our Environments?
An Updated Look at the State-of-the-Art In Pervasive and
Mobile Computing, vol. 3(2), pp. 53-73, March 2007.
3. www.hitech-projects.com/euprojects/amigo/
4. http://awarehome.imtc.gatech.edu
5. http://ailab.eecs.wsu.edu/mavhome/
6. http://www.icta.ufl.edu

5 reflectance sensors on underside

battery charger
connector

Item #975
$99.95

piezo buzzer

4 AAA
batteries
(not included)

30:1 micro
metal
gearmotors

The Pololu 3pi robot is a high-performance, compact


mobile platform featuring:
* Two metal gearmotors
* Five reflectance sensors
* 82 character LCD
* Three user pushbuttons
* Buzzer and LEDs

* High-traction silicone tires


* Speeds exceeding 3 ft/sec
using innovative constantvoltage motor supply

optional
power LED

ISP
programming
connector

All peripherals are connected to an ATmega168


microcontroller running at 20 MHz, with free C-programming push-on/push-off
tools, libraries, and support for the Arduino environment.
power button
reset
button

removable 8x2
character LCD
user pushbuttons

robot diameter is 3 cm (~3.7 inches)

Find out more at www.pololu.com/3pi or by calling 1-877-7-POLOLU.


SERVO 12.2008

47

Simpson3.qxd

11/5/2008

12:56 PM

Page 48

Part 3: Base Assembly


by Michael Simpson

ast time, I showed you how to build the wheel


L
assemblies for both the Firebot and the Megabot.
This month, I will show you how to build the main base

there are two tools that will prove indispensible when


building robot projects.

assembly for our two characters. Keep in mind that the


dimensions and hole sizes given are based on the RS-64
actuator used on the Megabot and the RS-28 used on the
Firebot. You are free to change these actuators, but some
of the dimensions and hole locations may need to be
changed accordingly. In this series of articles, the final robot
is not as important as the journey that we take to get
there. Many of you wont build the exact robots I outline
in this series, but will instead take some of the techniques
I present here and apply them to your own creations. With
that in mind, I want to go over some of the tools I used for
this portion of the project.

Portable Drill

Tool Time
Someone once said to me, I dont want a woodworking
project, I just want to build robots. Im sorry, unless you
purchase a pre-fabricated kit, you have to dabble in
woodworking, metalworking, or both. Many of us utilize
woodworking as the materials and tools are readily
available and inexpensive. Woodworking tools also work
very well for many plastics.
Whether you prefer woodworking or metalworking,

FIGURE 1. The
two baseics.

48

SERVO 12.2008

FIGURE 2

The portable drill like the one shown in Figure 2 is


probably the most versatile tool in your arsenal. I dont
know of a single robot I have built that I did not use a drill
to create a hole of some sort. Modern portable drills are
very powerful and loaded with features, such as:

Keyless chuck
Reversible motor
Variable speed
Adjustable clutch
High and low gear settings

If you get a drill with high and low gear settings, you can
use it to drill and grind, as well as drive nuts, bolts, and screws.
A quick change driver set like the one shown in Figure
3 is the most used accessory on my drill. It allows you to
drill and counter-sink in a single operation. You then flip the
bit and drive the screw.
If you cant afford a drill press or dont have the space,
then the $2 gadget shown in Figure 4 will help you get
great results. Its a simple, round bubble level that sits on

FIGURE 3

Simpson3.qxd

11/5/2008

12:57 PM

Page 49

the back of your drill. Iif you keep the bubble in


the center of your hole when drilling into a piece
of wood, it will be nice and straight. Really!
I have seen these at woodworking centers and
in a few home centers.

FIGURE 4

Portable Jig Saw


The next tool that you will find very useful is
the jig saw. While in the past I have always used
wired jig saws, I have found the newer cordless
saws like the Ryobi shown in Figure 5 to be
almost as powerful as a wired model. I cant tell
you how many times I have pulled the plug out
of the wall while cutting a piece of plywood.
With this beauty, that wont happen again.
Things to look for when purchasing a jig saw
(portable or wired) are:

FIGURE 6

Adjustable orbital setting


Variable speed setting
Toolless blade clamp
3/4 blade stroke
Laser guide

Most of the features above are selfexplanatory, but I feel its important to point out
the value of the variable orbital setting. We all
FIGURE 5
know that the blade in the jig saw goes up and
down. The amount it moves up or down is called
the stroke. The more stroke, the more efficient the cut and
the less wear on the blade. In an orbital saw, the blade also
moves forward during the upstroke and back during the
down stroke. This allows the blade to make a more
aggressive cut. So, why would you want an adjustable
orbit? Because the more aggressive the cut, the rougher
the cut. With the orbit set to maximum, it makes for a very
splintered cut. When cutting finer materials, you will get a
better cut with the orbital option turned off. When cutting
metal, I use the minimum or non-orbital option.
If you plan on using your jig saw on metals and plastic,
its also important that you get a variable speed saw.

will do the job you need in robotics. It basically boils down


to cost and how it feels in your hand.
I chose the Ryobi models for this project because they
use an 18V Li-Ion battery that I plan to use to power one of
my robots. The battery is the most expensive part of the
Ryobi system so once purchased, the tools themselves are
very inexpensive. The jig saw costs around $49.95 from
Home Depot. Li-Ion batteries arent cheap. The one shown
in Figure 6 will cost you $89.95. Its better to get them as
part of a tool kit.
I will look into the Ryobi battery in more detail next
month, as we will put one to use in our bot.

What Brands

Other Tools

I own several very expensive portable drills and most


FIGURE 8

You will need a small set of screwdrivers like the ones


FIGURE 9

FIGURE 7

SERVO 12.2008

49

Simpson3.qxd

11/5/2008

12:57 PM

Page 50

FIGURE 10

shown in Figure 7. Both Phillips and slot types, in at least


two sizes are recommended. A set of needle-nose pliers
and diagonal wire cutters like the ones shown in Figure 8
will come in handy. There are times when you wont have a
socket or wrench to fit a nut and you will be very happy to
have the needle-nose pliers.
A set of small sockets and wrenches will make your life
a lot easier. Dont get a large automotive set. Most home
centers and hardware centers will have small kits like those
shown in Figure 9.

Firebot Base Construction


Lets start with the Firebot construction since it is
the simplest.
Step 1
The Firebot has a round base that is exactly 11-1/8 in
diameter. I made mine out of 1/8 thick hardboard that I
picked up at my local home center for a couple of dollars.
In the end, we will have a lower base and an upper base,
so cut out two circles. Once cut, you can paint the base for
a more refined look. I painted mine blue.
Step 2
Next, you need to make a couple of cutouts and drill
some holes. This is best done with a template like the one
FIGURE 13

FIGURE 12

50

SERVO 12.2008

FIGURE 11

shown in Figure 10. The best thing to do is to photocopy


the template and enlarge it so the length is 11-1/8 long.
(Im referring to the white portion of the template.)
Cut out the template and place it over the piece of
hardboard that will become the lower base and mark the
cutout and holes to be drilled. Then, flip it over and mark
the other side of the robot.
The drill hole sizes are shown on the template. The four
holes with the diamond pattern are the most critical.
Step 3
You can now slip the four mounting screws on the
completed RS-28 wheel assembly that you built last time
into the four holes as shown in Figure 11. If you were a
little off on your holes, you can enlarge the holes slightly
by about 1/64 at a time until you can slip the wheel
assembly in place.
Once in place, put a #6 washer and nut on each
machine screw and tighten with a wrench.
Step 4
For this next step, you will need a caster like the
one shown in Figure 12. The caster needs to be sized so
the Firebot is level when in place. If you followed my
design exactly, this will be 4-3/8. A variance of 1/8
or so wont matter that much. I got lucky and found a
heavy duty rubber caster that was perfect at my local
home center.
Next, place the caster near the
front of the bot and on the underside as shown in Figure 13. Mark
four holes and drill them. I used
four #10 machine screws and
washers to mount mine. The size of
the mounting holes on the caster
may dictate different screws.
I actually used my tap set and
drilled the holes and then tapped
them for my #10 screws.
Next, flip the bot over and add
a washer and nut to each machine
screw as shown in Figure 14.

Simpson3.qxd

11/5/2008

12:58 PM

Page 51

MegaBot Base Construction


Megabot is a much larger robot so its construction
takes a more robust approach.
Step 1
The Megabot has a round base that is 22.5 in
diameter. You will need to use a thicker material for its
construction. In my case, I used 1/2 birch plywood. To
make the base, I used a homemade compass fashioned
from a dowel, pencil, and nail. You can also use a piece
of string, nail, and pencil. Just make sure the nail is 11.25
from the point of the pencil.
Place the nail in the center of the board and mark out
the diameter of the base. You can use a scroll saw, band
saw, or jig saw to cut it out as shown in Figure 15. If you
have no way to cut the board, you can always use a square
base for your bot. This will work, but it will make it more
difficult to maneuver in tight places.

FIGURE 14
FIGURE 15

Step 2
To mount the wheels on the base, well use a 4 x 14
x 3/4 piece of wood to create a wheel sub-assembly. You
need to cut a 1-3/4 x 4-3/4 notch out of two ends of the
board as shown in Figure 16. These notches are used to
make space for the tires in our wheel assemblies.
Next, take an extra OF-64S actuator mount and
mark four holes as shown in Figure 17. Then, drill a
11/64 hole all the way through the boards at each of
the marks. You will need to make two of these wheel
sub-assemblies.
Step 3
Lay the boards out so that the cutouts are oriented as
shown in Figure 17 and drill a 1/2 hole 3/8 deep into
each of the holes.

FIGURE 16

Step 4
Now, take a wheel assembly and insert the four bolts
into the four holes as shown in Figure 18.
Note that you are inserting into the side of the board
without the counter-sunk holes that you created in Step 3.
FIGURE 17

FIGURE 19

FIGURE 18

SERVO 12.2008

51

Simpson3.qxd

11/5/2008

12:59 PM

Page 52

FIGURE 20

Step 5
I recommend that you install some sort of bumper
around the robot. In my case, I purchased some 3/4 pipe

PARTS LIST
The following are the components needed to build this
portion of the project.
On the Megabot, you will need:
24, #6 hex nuts
24, #6 washers
1, 6 section of 3/4 pipe insulation
1, 2 x 2 x 1/2 birch plywood
2, 4 x 14 x 3/4 pine
6, 3/4 black phosphate screws

FIGURE 21

insulation. Simply cut it to size and wrap it around the base


as shown in Figure 19. Attach the two ends with hot glue.
I found that you can also use exterior based glue, like the
kind used on gutters. Next, mark a line down the center of
the base, also shown in Figure 19.
Step 6
Now mark two lines 4 from the center as shown
in Figure 20. These lines will be used when you mount

LINKS
CrustCrawler
RS-64 and components
www.crustcrawler.com/motors/RX64/index.php?
prod=67

On the Firebot, you will need:


8, #6 hex nuts
8, #6 washers
4, #10 3/4 machine screws
4, #10 hex nuts
8, #10 washers
1, large caster (see text)
1, 12 x 12 x 1/8 hardboard

RS-28 and components


www.crustcrawler.com/motors/RX28/index.php?
prod=66
Treaded wheels
www.crustcrawler.com/products/rover/wheels.php?
prod=28
FIGURE 22

FIGURE 23

52

SERVO 12.2008

Simpson3.qxd

11/5/2008

1:00 PM

Page 53

each wheel assembly.

In a differential steering system, the closer the wheels are


together the easier it is to turn.

Step 7
Make a line across the center of the base that is
perpendicular to the three lines. The easiest way to do this
is to use a piece of paper lined up against the center line
with one corner at the center point on the base.
Place a mark on the center of the wheel assembly as
shown in Figure 21. Then, place the assembly on the base
with the center mark lined up with the new perpendicular
line.
Step 8
Use three wood screws to attach
the assembly to the base. Place them
at the positions shown in Figure 22.
Do the same with the other wheel
sub-assembly on the opposite side
of the base. Use screws that are
not long enough to protrude through
the opposite side. (I used 1 screws.)
I recommend a pilot hole and
slight counter-sink to prevent the
wood on the wheel sub-assembly
from splitting.
That completes the Megabot
base. Just flip the base over and it
should look like the one shown in
Figure 23. As you can see, there is
quite a bit of room for our power
system and controllers. You may have
noticed that I staggered the wheels
when I built the wheel sub-assembly.
This was done for a couple of
reasons. This allowed me to use less
space and pull the wheels in tighter.

Announcing
the Gears

Whats Next
Next month, we will look into our power system and
get those wheels moving. Im going to be looking at using
the Ryobi Li-Ion 18V battery, as well as a Li-Ion external
laptop battery for our power supply. I will also show you
how to use a PC to get those actuators turning.
Be sure to check out the Kronos Robotics website for
updates to this project at: www.kronosrobotics.com/
Projects/megabot.shtml. SV

Heavy Metal Robot Kit

Designed for Students and Professionals


L Heavy Metal is engineered for rigors of daily use in classrooms,

Supports 200 lbs of


standing weight!

summer camps, workshops, labs . . . even combat robots!


L Assembles quickly using fasteners of same size/pitch and

threaded inserts. 10" wheel base, heavy gauge aluminum,


4-wheel drive, 3" rubber wheels, 3/8" axles, anged
bronze bearings, #25 pitch steel chain and sprockets.
All drive components are keyed and broached.
L Competition all-metal gearhead motors, gearbox
rated at 500 oz-in of continuous torque. Heavy Metal
accepts off-the-shelf engineering parts, plus
components and control systems from GEARS IDS,
FIRST* and VEX Robotics* kits.
Heavy Metal 1 Kit includes chassis, motors, drive system, and wheels for $499.00.

Contact Mark Newby


mnewby@gearseds.com
sWWWGEARSEDSCOM

Lb for Lb
the World's
Toughest Robot
Chassis

*VEX Robotics is a mark of Innovation First, Inc. and FIRST refers to US FIRST (Foundation for the Inspiration and Recognition of Science and Technology)

SERVO 12.2008

53

Hackett - Tank Bot Dec.qxd

Centering Servo
Motors

11/5/2008

2:37 PM

Page 54

n the September 2008 issue of SERVO


Magazine, we assembled and tested
the new SERVO TankBot kit with its
PICAXE-14M based Brain Alpha PC board.
This month, well take a look at the process
of centering the TankBots servo motors,
which can greatly improve the TankBots
performance. Once we have tuned-up our
motors, well implement a quick-and-easy
project that will enable us to control the
TankBot with any Universal TV remote
control capable of transmitting the Sony
Infrared Control (SIRC) protocol.

As we discussed in the
first Tankbot article back in
September, the PICAXE
servo command generates a
continuous pulse-train in
the background, suitable for
driving the TankBots servo
motors. The complete syntax
of the command is servo,
pin, pulse where pin
refers to the PICAXE I/O pin
to which the servo is
connected and pulse is a
value between 75 and 225
(in 10 s units). Theoretically, 150 (1,500 s or 1.5 ms) is
the center value that will cause the servo to stop rotating
altogether; values above 150 should cause the servo to
rotate in one direction (higher values produce faster
rotation) and values below 150 should produce servo
rotation in the opposite direction. This is in theory only
actually, every servos center point varies somewhat from
the theoretical value of 150.
In the TankBot manual, there is a section that details
the procedure, for disassembling your servos and adjusting
them so that their center values are each exactly 150. If you
feel comfortable carrying out that procedure, its certainly
worth doing. However, for the benefit of readers who
would rather not explore the inner physical mechanism of
their servos, were going to approach the problem entirely
in software. When you have completed the following
procedure, you will know the actual center value for each
of your servos and be able to compensate for their
differences from the theoretical values in your TankBot

54

SERVO 12.2008

programs without needing


to disassemble the motors.
Basically, were going
to take a trial-and-error
approach to finding the
actual center value for each
of our servos. Begin by
setting up your TankBot
with a block of wood (or
whatever) underneath it so
that both tank treads will
be free to rotate without
actually moving the
TankBot. Well be using the
ServoTest.bas program
shown in Figure 1 to
determine the actual center
value for each of our servos,
but before we do that there are a couple of things about
the program that require a brief explanation. First, since the
constant motor is set equal to 5, the program will only
test the TankBots left servo (which is connected to the
14Ms output5); later we will change the value of motor
to 4 and test the right servo. Secondly, Im actually not a
bad speller, but because the word stop is reserved in the
PICAXE system and cant be used as a name in a program,
well be using stopp.
The main structure in the program is a do...loop,
which is a powerful structure for repeating the commands
it contains (again, see Part II of the PICAXE manual for
details). We are using the doloop in its simplest form,
i.e., without a while or until clause that can specify
when to terminate the loop. Since we have not provided a
way of terminating, this form of the doloop is called an
infinite loop like the Eveready Bunny, it just keeps on
going (until the TankBots batteries give out)!
Finally, notice that the first time we issue a command

Hackett - Tank Bot Dec.qxd

11/5/2008

2:37 PM

Page 55

to the servo, its servo, but all the subsequent commands


(within the doloop) are servopos. This approach can
help eliminate unnecessary jitter in the servo; as usual, see
the relevant documentation in Part II of the PICAXE manual
for details.
Now we are ready to type the ServoTest.bas program
(available at www.servomagazine.com) into the
Programming Editor. When you have done so, save it and
download it to the TankBot. Since the program specifies a
value of 200 for stopp, you should see the left tank track
rotating in a forward direction. Our goal is to repetitively
adjust that value of stopp until we find the one that
results in the left servo not moving at all. So, lower the
value of stopp a little (e.g., to 180) and download the
program again to see how the left servo responds. If it runs
slower in a forward direction, you know the correct stopp
value is lower still. If it runs in the reverse direction, you
have gone too far, so try a slightly higher value.
Continue adjusting the stopp variable until you find
the value that causes the left servo to stop altogether.
Make a note of the stopp value for your left servo and
change the I/O pin assigned to motor from 5 to 4 so that
the program will now only power the right servo. Repeat
the entire process to find the correct center value for your
right servo. By the way, if you also reset the stopp value
to 200, you may be surprised to see that the right servo
initially rotates in the reverse direction; this is due to the
fact that the two servos are arranged in physically opposite
positions. As a result, higher values result in forward motion
for the left servo while lower values result in forward
motion for the right servo.
Once you have determined the correct center (stopp)
values for both your servos, you are ready to choose
values for forward and reverse. Keeping in mind the
caution that values greater than 225 or smaller than 75
can cause a servo to malfunction, we want to choose
two values that are the same distance either side of the
stopp value without exceeding the safe limits. The
easiest way to explain this is probably to use an example.
Suppose the stopp value of one of your servos
is 133. Pick the limit that it is closer to (75) and subtract
the smaller number from the larger (133-75=58).
Lower the result a bit (to 50, for example) to safely stay
within the limits, then add and subtract that number
from your center value (133+50=183; 133-50=83).
Dont forget the left-right reversal for the two servos
mentioned above.

Taking Control Hardware

Panasonic PNA4602M integrated IR receiver (which is


available at www.JRHackett.net/IRparts.htm). Figure 2
presents its pinout and Figure 3 is a photo of the 4602
installed on the Brain Alpha PCB. As you can see, the pins
of the 4602 are bent back at a right angle so that its body
is laying down on the breadboard. In this orientation, the
4602 is capable of receiving signals from any direction, so
you will always be in control of the TankBot. Also, note that
the 4602s output (pin 1) is directly connected to the 14Ms
input3, which is the only input capable of decoding the
SIRC IR signals.
The 4602 contains all the electronics necessary to filter
out ambient light, receive a 38 kHz IR signal, amplify it, and
provide a one pin output to the 14M processor on the Brain
Alpha PCB. For its part, the 14M decodes the complex SIRC
protocol and determines a simple one byte value that
corresponds to the key pressed on the TV remote. All we
have to do is write a small program that tests the value of
the resulting byte and responds appropriately by driving the
TankBot in the desired manner.
You can use just about any universal remote control
you can find. They are commonly
available at RadioShack, Home
FIGURE 2. PNA4602M
IR receiver pinout.
Depot, Target, etc. The only
requirement is that the remote
can be programmed to emulate
the SIRC protocol. Figure 4 is a
before and after composite
photo of the remote I used,
which I found at RadioShack
a few years ago. Most of the
available remotes include
FIGURE 1. ServoTest.bas program.
=== ServoTest.bas ==========

Use this program to find


servo stopp values.

=== Constants ==============


symbol motor =

symbol stopp = 200


=== Directives =============
#com1
#picaxe 14M
=== Begin Main Program =====

Now that we have determined the appropriate


parameters for each direction and both servos, were
ready to move on to our remote control project. Lets
begin with the hardware portion of the project, which is
about as simple as it gets. All we need to add to the
Brain Alpha printed circuit board (PCB) is one part: the

servo motor, stopp


do
pause 250
servopos motor, stopp
loop

SERVO 12.2008

55

Hackett - Tank Bot Dec.qxd

11/5/2008

2:38 PM

Page 56

FIGURE 3. Hardware setup on Brain Alpha PCB.

10 digit keys for channel selection, which are almost always


laid out in the configuration shown in the before side on
the left. To clearly identify the relevant keys, I used a small
label printer to print four arrows and a no smoking
symbol (which was the closest my label printer could get to
stop), used a paper-punch to make them round, and
pasted them in the layout shown in the after photo on
the right of Figure 4.
If you are fortunate enough to find a remote with keys
for channel up, channel down, volume up, and
FIGURE 4. Universal IR remote (with and without labels).

56

SERVO 12.2008

volume down arranged in a convenient diamondpattern with an enter key in the center, then you
dont need the labels at all. In any case, jot down the
actual key names for the five keys you want to use and
the corresponding values from the chart of infra
values for each key-press presented in Figure 5. Ill be
using the appropriate values for the remote shown
earlier in Figure 4.
Finally, a word of caution may be in order. Most
Universal remotes have a row of buttons near the top
that allow you to switch between controlling a TV, a
VCR (how quaint!), a DVD player, or whatever. The
SIRC protocols involved are different for each device
and PICAXE processors are only capable of responding
to the TV protocol. So, if you are in the middle of
experimenting and you lose control (of the TankBot,
that is), you may have accidentally pressed the button
for one of the other remote functions; pressing TV
again should correct the problem.

Taking Control Software


The software we will be using (TankBotRemote.bas) is
too large to include here, so its available for download
from the SERVO website. Now is a good time to download
it and print out a copy for use with the following discussion. To begin with, (as you can see in your printout), I have
included the arithmetic involved in arriving at the values for
the four directional constants that I used in the program.
Be sure to calculate your own directional constants based
on the two stopp values you obtained when you tested
your servos. Also, as we did in the ServoTest.bas program
previously, we are again using a simple doloop as a
means of implementing an infinite loop.
With this in mind, lets take a look at whats happening
inside our infinite loop. When the TankBot is initially
powered up, its just sitting there waiting for an infrain2
command to be received. At that point, all program
execution is paused until a key is pressed on the SIRC TV
remote. As soon as that happens, the value of the key press
is placed in the built-in variable infra. Because the infra
variable is built in, you dont need to declare it in your
program its always available. Actually, infra is just
another name for variable b13, so whenever you use it
in a program make sure you dont also assign b13 to some
other variable. If you do, it wont be flagged as an error but
your program will most likely malfunction.
As soon as a key is pressed on the remote, its value
(refer to Figure 5) is assigned to infra and the program
continues execution. The function of the next two low
commands is to be sure that both servos are completely
stopped. You might be tempted to use your two stopp
values for this purpose, but there is a good reason for not
doing so: Over time, your servos stopp value can change
slightly due to mechanical wear so your TankBot could
move very slowly when you want it to be stopped entirely.

Hackett - Tank Bot Dec.qxd

11/5/2008

2:38 PM

Page 57

On the other hand, issuing a low (or high)


command to the output connected to a servo completely
disables the background pulse train, so you can be sure that
the servo will not move at all.
The purpose of the pause command is to protect
your servos from damage. Each time through the
doloop, stopping and pausing a bit before executing
the next infrain2 command gives the servos time to
actually stop rotating before possibly beginning to rotate
in the opposite direction. If we didnt allow for this, the
mechanical stress on the servos gears could result in
damage to the servo.
The remainder of the program consists of the select
case statement, which is actually the major structure in
the program. Select case is a powerful programming
structure that is functionally equivalent to (but much
simpler and faster than) writing multiple if statements to
make decisions based on the value of a variable. If the value
of infra matches that of one of the case subsections
of the select case command, that portion of the code is
executed and the program goes on to the next iteration of
the do...loop. If we accidentally press a key on the remote
that we havent defined in the program, absolutely nothing
happens which is just as it should be. Also, notice that when
we press the stop key on the remote, no code is executed.

FIGURE 5. Infra values


returned by Infrain2
command.

Thats because the


TankBot has already
been stopped in preparation for receiving the
next command to move
in a different direction.
Thats all there is
to it! Download the
TankBotRemote.bas
program to your
TankBot, and point
and click on your TV
remote. The TankBot is
now completely under
your control; it dutifully
responds to each of
your commands.
Wouldnt it be great if
other aspects of life
could be controlled so
easily! SV

TV Remote Infra
Control Key Value
1
0
2
1
3
2
4
3
5
4
6
5
7
6
8
7
9
8
0
9
Channel +
16
Channel 17
Volume +
18
Volume 19
Mute
20
Power
21

Microsoft

Visual Studio

Dyynamixxel SDK

C/C++
Visual Basic
C#

EX-106
NEW

164
Encoder
EX-106

14.8
84

106

0.182

0.143
155

SERVO 12.2008

57

BasicBoardRobotics Dec.qxd

11/5/2008

3:34 AM

Page 58

BasicBoard Programming Options


by William Smith

This column started out building applications around the BasicBoard module sold
at www.beginnerelectronics.com. Ive since gotten several emails asking if the
BasicBoard was offered in a form that doesnt use the Basic Atom interpreter chip
from Basic Micro. In a word, no. But that doesnt make it a dead end.
he BasicBoard module (Figure 1) is built around the 40
pin Atom interpreter chip, which really is just a Microchip
PIC16F877A microcontroller with a custom bootloader
pre-installed. Therefore, the BasicBoard will accept any 40
pin PIC chip. You just have to program it off the board and
then plug the programmed part into the BasicBoard.
The advantage to the Basic Atom chip is the Atoms Basic
compiler can be downloaded for free. Basic Micro makes their
money on selling the interpreter or bootloader chip. This got
me thinking about what other free compiler options someone
could use to program a 40 pin PIC microcontroller. There
are several different versions of the 40 pin PICs and they all
share the same pinout. This presents several options to use
the BasicBoard with. It turns out the 40 pin PIC package
(shown in Figure 2) is a popular choice with many free
compilers. Let me cover some of the ones I found.

Figure 1. BasicBoard module.

58

SERVO 12.2008

PICBASIC PRO

Figure 2. 40 pin PIC


microcontroller.

PICBASIC PRO
from microEngineering
Labs was the first
compiler I thought of
since Ive covered their
sample version in a
previous column.
The sample version
supports the 40 pin
PIC16F871, F874(A)
Figure 3. EZPIC programmer.
and F877(A) parts. The
compiler limits you to
31 commands so the F871 with only 2K bytes of program
memory is the cheapest of the three, and 2K is far more
memory than 31 commands will use up anyway. You simply
download the sample version from http://melabs.com/
pbpdemo.htm and then get to work writing your first
program. You can Flash the finished program into the
F871 using just about any PIC programmer. The
BeginnerElectronics.com EZPIC programmer shown in
Figure 3 is a low cost option.
You can get free samples of the F871 from sample.micro
chip.com or buy a few from Digi-Key or Mouser. The
command structure of PICBASIC PRO is similar to Atom
Basic so the sample programs that come with the
BasicBoard can be easily converted.
The PICBASIC PRO compiler (Figure 4) comes with its
own IDE for developing the program. You can add a
programmer to the automated setup, but that will take a
little reading. If you just load the .hex file it produces
into the programming software that comes with your PIC
programmer or the WINPIC software we recommend you

BasicBoardRobotics Dec.qxd

11/5/2008

3:35 AM

Page 59

download with the EZPIC programmer, then


you really dont have anything to set up.
There are also several books written on this
compiler to help you get started.

would need to program it with a PICAXE


adapter and their software. There are
numerous websites that offer a breadboard
programming adapter so you can program it
on something simple and of low cost, and
then move it to the BasicBoard. The PICAXE
software is free to download from picaxe.
com and offers you the opportunity to
The Proton compiler from Crownhill
program in a flowchart method rather than
Associates is another Basic compiler that comes
the text method required by the other
in a sample version. It also supports a 40 pin PIC
compilers. You can also type it; the Basic
the 16F877. Notice that the part number
language format is very similar to the Basic
doesnt have an A after it. I didnt try an F877A
Atom, PICBASIC PRO, and PROTON compilers.
but I suspect it still might work. The F877A is
Figure 4. PICBASIC PRO
compiler.
Ive only found one book on the PICAXE
a little cheaper and easier to get than the
titled Programming and Customizing the
non-A version, which is actually an older part.
PICAXE Microcontroller by David Lincoln; it helped me get
This compilers sample version lets you use up to
started but I found several mistakes in the book related to
50 commands. The command structure is also very similar
the wiring diagrams. I tried to convert a BasicBoard to a
to the Basic Atom software. You can download it from
PICAXE board but the schematics in the book didnt work.
http://picbasic.org/proton_lite.php.
Ill have to spend more time on that.
Proton also comes with its own IDE which looks very
similar to the one in PICBASIC PRO. Load the .hex file in
your programmer or set up your programmer in the IDE.
Ive used this trial version a few times and found its got
The Swordfish compiler from Mecanique
some very interesting features. Ill let you explore this
(www.mecanique.co.uk) is advertised as a structured
choice since Im not an expert on any of these compilers.
Basic compiler. However, it looks a lot like a C compiler
with prewritten functions that match the Basic language
structure. This is actually very clever and makes a nice
Another Basic language choice is MikroBasic from
transition point to the C language offerings.
MikroElektronica (www.mikroe.com). This sample version
This compiler can be downloaded for free and is fully
supports all the various PICs so you have a lot of 40 pin
functional. It only supports the PIC18F microcontrollers and
choices. The sample version limits you to only 2K program
the only limitation is the amount of RAM you can access in
space so (once again) the 16F871 may be a good choice.
the microcontroller. I didnt get a chance to try it out but I
This compiler also supports many of the 18F family of PICs.
have heard that people really like its performance.
The 18F4220 is a 2K memory part in a 40 pin package.
The pinout for the 18F4220 is the same as the 16F877A, so
this will plug right into the BasicBoard. The 18F family runs
faster than the 16F parts and has many more features. This
If you just want to write in the C language, then the
is a great sample version to try. Ive created a lot of projects
CCS C compiler from Custom Computer Services Inc.
in less than 2K so that isnt much of a limitation. You can
(ccsinfo.com) may be for you. They offer many built-in
download this compiler at www.mikroe.com/en/compilers/
prewritten functions to make it easier to write a program
mikrobasic/pic/download.htm.
for the PIC microcontroller. Their sample version also
MikroBasic has its own IDE as well, which is very
supports the PIC16F877 but it times-out after 30 days. So,
different than PICBASIC PROs or Protons IDE. I also dont
dont install it until you are ready to write your code.
know if you can add a separate programmer to this one.
There are several books on the CCS compiler, however, I
They have it set up to drive their own programmer which
personally havent checked any of them out.
makes sense because they probably get a lot of people that
just use the sample version. I didnt try anything complex
but was able to get it to flash an LED on the BasicBoard.
The HI-TECH C PRO compiler for the PIC10/12/16 MCU
family is a full-featured ANSI C compiler. This C compiler has
no memory limitations other than it wont fully optimize
Many people start out with the PICAXE chips from
your code to its smallest size. For that, you need to buy the
Revolution Education Ltd. So of course, the PICAXE comes
full version. If you know how to write in C code, then this is
in a 40 pin version, as well. The 40 pin PICAXE-40X1 costs
a great compiler to use to get a chip running on the
around $12.
BasicBoard. The compiler produces a .hex file so the EZPIC
These chips have a bootloader in them, so they cannot
programmer or any PIC programmer will work with it. The
be programmed with an off-the-shelf PIC programmer. You
HI-TECH website is at www.htsoft.com.

PROTON

Swordfish

MikroBasic

CCS C Compiler

HITECH C PRO-Lite

PICAXE

SERVO 12.2008

59

BasicBoardRobotics Dec.qxd

11/5/2008

3:35 AM

Page 60

earlier in the MikroBasic section is the built-in debugger.


It will actually simulate the operation so you can step
through the code and watch the various registers and
variables change. This is a nice feature included for free.

Microchip C18
Microchip offers a student version of their C18
compiler that you can download for free. The limit is
the optimization level similar to the one in HI-TECH Pro.
The C18 compiler works with the PIC18F parts, so the
18F4220 might be a good choice to use in the BasicBoard
with this one. The sample code is a little sparse but
theres documentation supporting this compiler including
a Getting Started manual you can download. This
compiler can be found at www.microchip.com/c18.

Figure 5. MPLAB assembly language screen.

MikroC
This is another compiler from MikroElektronica (www.
mikroe.com) except this one uses the C language. I found
this compiler easy to work with and the sample programs
are good examples. The sample version is limited to 2K so
a PIC16F871 should work fine. One thing I didnt mention

Assembly
If you are willing to write your code in PIC assembly,
then download the Microchip MPLAB IDE (Figure 5) which
comes with the MPASM assembler already included. There
are no limitations in this one. You can write your code in
assembly, simulate it in the MPLAB simulator, and then
import the .hex file into your programmer to work with a
PIC16F87x part. There are no memory limitations so a
PIC16F876A or the new PIC16F886 would be a good
choice. MPLAB can be downloaded from www.microchip.
com/mplab. This IDE can also be used with the PICBASIC
PRO, CCS C, and HI-TECH C PRO compilers. I find it a little
difficult to use initially, but after some time found it to be
very good. It also supports all the Microchip programmers
so that gives you more options to program the 40 pin PIC.

Conclusion
There are more compiler options than what I listed
here, but as you can see the 40 pin package is popular
among sample versions. Any development board that
supports 40 pin PICs will work the same as the BasicBoard,
so shop for the features you want. The BasicBoard has key
features I like such as LEDs, switches, piezo speaker, and
LCD on board plus a few extras. Expansion pins allow you
to plug in servos or sensors so the board is handy, and
using it with a compiler makes it more versatile.

Time for a Change


The title of this column has been BasicBoard
Robotics since I was using the BasicBoard module from
BeginnerElectronics.com for many of the projects.
However, SERVO Magazine and myself have come to realize
that the focus here should change to electronics knowledge
for the beginner with a direct focus on electronics for the
robot builder.
The column title will change to Beginner Electronics
starting in the February 2009 issue, so look for an
upcoming project then. SV

60

SERVO 12.2008

Full Page.qxd

11/4/2008

11:08 AM

Page 61

RoboResourcesDec.qxd

11/5/2008

12:13 PM

Page 62

Tune in each month for a heads-up on


where to get all of your robotics
resources for the best prices!

So You Want to
Build a Robot
obotics is a wonderfully diverse
science. It mixes mechanics
with computers, mathematics,
electrical design, programming, and
a number of other sciences all
wrapped up in a package thats fun to
build and watch. If youre just starting
out, though, the vast breadth of
technologies that you need to master
can appear daunting. Fortunately,
robotics is a piecemeal type of
endeavor; you dont need to become
an expert in all aspects all at once.
In this installment of Robotics
Resources, well touch upon several
main points of interest youll need to
be familiar with if you want to plan,
construct, and operate your first robot.
Of course, space limitations mean we
cant provide in-depth coverage of
everything in this one column. To
further your study of the robotics arts,
you are advised to check out back
issues of this magazine and Nuts &
Volts, both of which are available in
convenient CD-ROM electronic format.

Robot Bodies
The simplest robot body is a printed
circuit board (PCB) or solderless
breadboard, and there are a number of
interesting amateur robots that use
this approach. Basically, a platform of
some type is used to build onto.This
platform is usually plastic, wood, or
metal. I have a particular fondness for
plastics, because plastic tends to be
cheap and easy to work with using
standard shop tools. Of all the

62

SERVO 12.2008

available plastics, I prefer two types,


both of which are available in sheet
form; you can purchase it online and
at many plastics specialty shops:
ABS (acrylonitrile butadiene
styrene). ABS is really a glossy,
translucent plastic that can take on
just about any color and texture. It is
tough and hard, and yet relatively
easy to cut and drill.
PVC (polyvinyl chloride). PVC is
an extremely versatile plastic best
known as the material used in fresh
water plumbing and outdoor plastic
patio furniture. Usually processed with
white pigment, PVC is actually clear
and softens in relatively low heat.
It is available in many colors and in
convenient sheet form. PVC is
extremely easy to cut and drill, and
almost impervious to breakage.
In a pinch, you can use acrylic or
polycarbonate plastic sheets, both of
which are commonly found at home
improvement stores. These plastics are
harder to work with than either ABS
or PVC, and in the case of acrylic, can
crack when you drill into it. They also
tend to collect static electricity a bit
more than other plastics, but their low
cost and accessibility make up for
these minor inconveniences.
If strength isnt paramount, you
can find thin sheets of styrene at most
hobby stores. It comes in white and
in a variety of thicknesses. You can
readily drill and cut it to size. Of
course, lets not forget wood and metal.
Wood is universally available, reasonably
low cost, and easy to work with using

ordinary shop tools. Hardwood plywoods which are the recommended


wood for most robot bases are
sturdy and strong. On the downside,
wood are not as robust as plastic or
metal. It can warp with moisture it
should be painted or sealed and it
can crack and splinter under stress.
Hardwood plywood for making
solid bases, is available in various
thicknesses, with 1/4 being a good
all-around choice for a robot under
10 in diameter. Even smaller robots
can use the 1/8 or 5/32 thickness.
Hardwood plywood is routinely available
at craft and hobby stores, as well as
many home improvement stores. You
can buy it in convenient cut-down sheets
of 24 x 24 (and even smaller). One
common name for hardwood plywood
is aircraft plywood, as it is used in
the construction of model airplanes.
Metals are routinely broken into
classifications of ferrous and nonferrous. All ferrous metals are made
with iron. Theyre called ferrous
because the symbol for iron in the
periodic table of the elements is Fe.
Obviously, all metals other than iron
are non-ferrous. This includes copper,
tin, aluminum, lead, titanium, and
zinc. Of all the metals available,
aluminum is the most common metal
used in robot construction projects,
mainly because of lower cost, but also
because it is strong yet lightweight.
Its one of the easier metals to cut
and drill, and requires only a modest
assortment of tools. The aluminum
you buy at the hardware store is

RoboResourcesDec.qxd

11/5/2008

9:27 PM

actually an alloy. The mixture of this


alloy varies depending on the desired
properties of the finished aluminum
material. Aluminum alloys are identified by number. A common aluminum
alloy is 6061, which boasts good
machinability so its not difficult to
drill or saw. You may need to use zincplated steel to assemble pieces using
brackets. These metal brackets are
also common finds at any hardware
or home improvement store.

Motors to Make it Go
Motors make your robot move.
Among the variety of DC motors is a
wide array of sub-types; the most
common for robotics is one where the
motor turns continuously when electric
current is applied to its terminals.
A variation on this includes the
stepper motors; so called because the
internal construction allows it to
rotate a finite amount each time
current is applied. By alternating
current to a set of different wires
inside the motor, the motor shaft
turns by a specific amount each time.
As such, steppers are ideally suited for
when you need to control the position
of the motor shaft, rather than just
turn a shaft to rotate a wheel.
When a DC motor is connected to
a feedback circuit, its called a servo
motor. The feedback tells the motor how
far its gone and in what direction. This
feedback can be accomplished using a
simple potentiometer, a tachometer,
an optical encoder, or some other
means. The most common and
inexpensive servo motor is the R/C
servo; R/C stands for radio control, which
is the original application of these motors.
They are used in model and hobby
radio-controlled cars and planes.
R/C servos are in plentiful supply
and are reasonably priced (about $10
-$12 for basic units) Though R/C servos
are continuous DC motors at heart, they
arent controlled in the same way. In
addition to the power leads, you need
to provide a control signal to an R/C
servo. This signal varying from one
to two milliseconds controls the
direction and angle of the motor.

Page 63

Automating the Robot


These days, most robots use selfcontained computers known as microcontrollers for operating the functions
of the robot, though a few of the more
simple robots use transistors, relays,
and other old fashioned electronics.
The advantage of microcontrollers is
that their behavior can be modified
simply by changing the programming.
Microcontrollers are expressly
designed to be used in embedded
applications, where control of some
external device is the main goal. A
huge advantage of microcontrollers
over earlier approaches to robot brains
(board-level computers) is that they
are easily connected to real world
devices. Based on the robots input,
the internal programming in the
microcontroller can command the
motors in such a way that the robot
exhibits quasi-intelligent behaviors.
For instance, the robot might move
toward a light or away from a barking
dog. The possibilities are endless.
Not all microcontrollers are the
same. The most basic microcontroller
has a small handful of connecting pins
that can be used as either inputs or
outputs. These I/O pins or lines
are purely digital. That is, as inputs
the lines can be low or high zero or
five volts, respectively. Its the same if
the pins are acting as outputs. This
means you can read on/off type sensors
such as switches, and control on/off
devices such as LEDs and motors.
Microcontrollers are generic devices
and must be programmed to follow the
instruction set you give your robot to
follow. The two principle methods are
using an interpreted language built
into the chip or compiling your program to a form for direct use in the
controller. In both cases, you devise
your program on a PC, then download
the result to the microcontroller itself.

Batteries to Give
Your Robot Life
There are literally hundreds of
battery compositions, but most of
these are special-purpose and not the

kind of thing youll be able to easily


purchase. The most common batteries
for robotics applications include:
Carbon-zinc batteries, or
flashlight cells. These represent
one of the oldest of battery
technologies. They are designed for
low-current applications and really
arent well suited for robotics
Alkaline batteries. These offer
several times the current capacity of
carbon-zinc and are the most popular
among the non-rechargeable battery
types. They also cost more. Alkaline
batteries are well-suited for robotics
applications that dont involve heavy
current consumption (such as powering
electronics). Theyre also good as a
convenient stop-gap method during
the development and testing phases. You
can get rechargeable alkaline batteries
that can be recharged a few dozen
(or more) times before discarding.
Nickel cadmium (or NiCd)
rechargeable batteries represent an old
technology and are currently being
phased out because of environmental
concerns. These days, the trend is to
nickel-metal hydride (NiMH) rechargeable batteries, which not only offer better
performance than NiCds, they arent
considered a hazard to the environment.
NiMH are a bit more more expensive
than most other battery types, but
prices have come down recently.
Lithium-ion (Li-Ion) cells are frequently used in the rechargeable battery
packs for laptop computers, high-end
camcorders, and other electronic
devices. These batteries are expensive
and require specialized rechargers. They
tend to be light-weight for the high
level of current output they provide.
Sealed lead-acid (SLA) batteries
are much like the battery in your car,
except that the electrolyte is in gel
form rather than a sloshy liquid of
water and acid. SLAs are sealed to
prevent most leaks, but in reality, the
battery contains pores to allow
oxygen into the cells. SLA batteries
are rechargeable using simple circuits
and are a good choice for very high
current demands.
Of course theres much more to
the design and construction of the
SERVO 12.2008

63

RoboResourcesDec.qxd

11/5/2008

12:25 PM

Page 64

typical robot. Youll need wires,


switches, fuses, and other odds and
ends to complete the design. Check
the sources that follow for these and
other common construction parts.
And dont forget our regular
advertisers who specialize in providing
just the right parts for your next robot
(or first!) project.

ble with the Parallax BASIC Stamp).

Sources

US nationwide battery retail chain


sells products for retail and commercial
applications. Check the website for a
store locator.

Of course, your local hardware


and home improvement stores are
good places to start when building up
your tool chest. However, there are
literally thousands of online sources
for tools. Ive provided just a sampling
of them here. Remember that many
of the regular advertisers in SERVO
and Nuts & Volts carry hand tools, so
check them out first.

All Electronics
www.allelectronics.com
Sells surplus motors, including
stepper, DC, and gear motors. Also
offers a printed catalog mailed to
current customers. Retail stores in the
Los Angeles area.

Atmel Corp.
www.atmel.com
Makers of several lines of
microcontrollers, including AVR a
very popular eight-bit controller used
extensively in amateur robotics.

Basic Micro, Inc.


www.basicmicro.com
Basic Micro produces the MBasic
line of compilers for PICmicro
MCUs. Among their products are:
development boards, getting started
kits, programmers, Basic Atom microcontrollers, and prototyping boards.

BasicX
www.basicx.com
The BasicX is a general-purpose
microcontroller with a built-in programming language. You write programs on
the PC using a Basic-like syntax, then
download them via a cable to the
BasicX (including the BasicX 24 an
all-in-one module that is pin compati-

64

SERVO 12.2008

Batteries America
www.mrnicd-ehyostco.com
Batteries (including sealed lead
acid, ni-cad, Ni-Cd) and rechargers;
single-cell and packs.

Batteries Plus
www.batteriesplus.com

Battery City
www.batterycity.com
Consumer-packaged batteries:
Ni-Cds, camcorder, NiMH, and other
specialty types.

B.G. Micro
www.bgmicro.com
Source for surplus motors. Check
their site often so you are sure to
catch the best deals.

Beginner Electronics
www.beginnerelectronics.com
Resells the Basic Atom from Basic
Micro, as well as their own custom
boards. The BasicBoard is a generalpurpose microcontroller board with
LCD panel, speaker, LEDs, and other
built-in components.

Budget Robotics
www.budgetrobotics.com
Several variations of specialty
servos and wheels for small robotics.
(This is the company I operate.)

GoldenWest Manufacturing
www.goldenwestmfg.com

industrial sizes. Not all products are


available for online ordering.

HSC Electronic Supply


www.halted.com
Mail order, with walk-in retail
stores in Northern California.

Jameco Electronics/Robot Store


www.jameco.com
www.robotstore.com
Jameco carries just about everything you need, including surplus and
new motors. Theyre a good source
for small gear motors. Also check out
their sister website, The Robot Store.

Kronos Robotics
www.kronosrobotics.com
Kronos has developed microcontrollers in various lines (Dios, Athena,
Perseus, and Nemesis) where speed and
low cost are key features. The chips
support code libraries of functions, which
allow you to readily program the chip
without having to re-invent the wheel.
Additional products include various coprocessor boards and adapter modules.

Lynxmotion
www.lynxmotion.com
Hitec servos, custom-made
mounts, and wheels just to highlight a
few of their products for sale.

McMaster Carr Supply Company


www.mcmaster.com
Huge inventory of industrial supplies,
including various types, sizes, and colors
of pre-cut ABS and PVC plastic sheets.

Microchip Technology
www.microchip.com

Machineable plastic, foam board,


and Butter-Board a lightweight
plastic block that is non-abrasive and
very easy to machine or work with
using hand tools.

Microchip makes a broad line of


semiconductors, including the venerable
PIC microcontrollers. Their website
contains many datasheets and application
notes on using these controllers. Be sure
to download and save them for study.

House of Batteries
www.houseofbatteries.com

MicroMint, Inc.
www.micromint.com

House of Batteries is a distributor


and online retailer of batteries, battery
packs, and chargers. Most name brands
are carried in common consumer and

MicroMint offers single-chip controllers with built-in Basic interpreters,


stackable controller boards, PicStic micro
modules, miniature modems, and more.

RoboResourcesDec.qxd

11/5/2008

12:25 PM

Page 65

Plastruct, Inc.
www.plastruct.com

Also sells servo motors and wheels.

Leader in plastic scale model


parts. Of their products, their
structural shapes, tubing, sheet, and
patterned sheet materials are of keen
interest to robot builders.

Rabbit Semiconductor
www.rabbitsemiconductor.com

Parallax, Inc.
www.parallax.com
The BASIC Stamp revolutionized
amateur robotics, yet the concept
is simple: Take an eight-bit
microcontroller, normally intended
to be programmed in assembly
language, but embed within it a
language interpreter so that it can be
programmed in a simpler language,
namely Basic. Also sells servo motors
and wheels.

servo horns, mounts, external


gearboxes, and other accessories.

Rabbit makes a popular eight-bit


microcontroller and associated
developer kit. The Rabbit system is
known for its speed, hence its name.
In addition to bare controllers, the
company also sells core modules with
Ethernet connectivity built in.

SparkFun
www.sparkfun.com
Offers a wide assortment of
microcontroller development boards
and modules. Check out their line of
breakout boards which are small
circuit boards for attaching to the rest
of your robot electronics.

Robotic Power Solutions


www.battlepack.com

TAP Plastics
www.tapplastics.com

Specializing in combat robot parts,


the company sells Ni-Cd and NiMH battery
packs, chargers, and cobalt AstroFlight
gear motors. Their Battlepack Kits
include batteries, wires, support bars,
heat-shrink tubing, and padding foam.

Fiberglass, plastic, and signage


products. Plastics retailer, with stores
in Northern California, Oregon, and
Washington. SV

Pololu
www.pololu.com

Servo City
www.servocity.com

The Orangutan is a specialty controller made for controlling small robots.

Reseller of Hitec and Futaba


servos, plus they manufacture custom

Gordon McComb is the author of


Robot Builders Bonanza and
Electronics for Dummies. He can be
reached at robots@robotoid.com

CONTACT THE AUTHOR

HE8EJIFH;<;H>?J;9)0'
.EW2OBOT3ERVOS
>_j[Y
Ej^[h8hWdZ

+656*

+656*

+657*

6SHHGVHF
7RUTXHR]LQ
6WHHO*HDUV

6SHHGVHF
7RUTXHR]LQ
6WHHO*HDUV

6SHHGVHF
7RUTXHR]LQ
7LWDQLXP

$//63(&,),&$7,216$792/76

7KHUHVXOWVRIDQLQIRUPDOSROOWDNHQUHFHQWO\DWWKH)LUVW
$QQXDO:RUOG'RPLQDWLRQ6\PSRVLXPDUHQRZLQ5RERWV
SUHIHU+LWHFVHUYRVRYHURWKHUVHUYREUDQGV7KH\NQRZWKHZLGH
VHOHFWLRQRI+LWHFDQDORJDQGGLJLWDOVHUYRVSURYLGHWKHPZLWKWKHSRZHUDQGGHSHQG
DELOLW\QHHGHGWRHYHQWXDOO\WDNHRYHUWKH:RUOG0DNH\RXUURERWKDSS\XVH+LWHFVHUYRV
3DLQH6WUHHW_3RZD\_&DOLIRUQLD___ZZZKLWHFUFGFRP

SERVO 12.2008

65

Showcase Dec08.qxd

11/5/2008

10:13 PM

Page 66

6
UH ROGH
TX UL
LUH QJ
G 

7KH(VFDSH
5RERWVEXLOWLQ
PLFURSURFHVVRU
HQDEOHVLWWR
WKLQNRQLWVRZQ
.65 

7KHURERWIURJPRYHVIRUZDUG
ZKHQLWGHWHFWVVRXQGDQG
UHSHDWVVWDUW PRYHIRUZDUG !

VWRS!OHIWWXUQ!VWRS!ULJKW
WXUQ!VWRS .65 

PP:KLWH
ZDWHUFOHDU
/('9
PFG
$% 


VHFRQGYRLFHUHFRUGHUSOD\EDFN
PRGXOH7KHHOHFWUHWPLFURSKRQHLVRQWKH
ERDUG2QHEXWWRQUHFRUGVWKHRWKHUEXWWRQLV
PRPHQWDULO\SUHVVHGWRUHSOD\WKHPHVVDJH
SUHDVVHPEOHG  $ 
7KH9HOOHPDQ3HUVRQDO6FRSH
LVQRWDJUDSKLFDOPXOWLPHWHU
EXWDFRPSOHWHSRUWDEOH
RVFLOORVFRSHDWWKHVL]HDQG
FRVWRIDJRRGPXOWLPHWHU
+36  $146.
QGV
7KRXVD RQ
V
P
PRUHLWH LWH
V
E
H
Z
RXU

Robotics Showcase

THOUSANDS OF ELECTRONIC

PA R T S A N D S U P P L I E S

VISIT OUR ONLINE STORE AT

www.allelectronics.com
WALL TRANSFORMERS, ALARMS,
FUSES, CABLE TIES, RELAYS, OPTO
ELECTRONICS, KNOBS, VIDEO
ACCESSORIES, SIRENS, SOLDER
ACCESSORIES, MOTORS, DIODES,
HEAT SINKS, CAPACITORS, CHOKES,
TOOLS, FASTENERS, TERMINAL
STRIPS, CRIMP CONNECTORS,
L.E.D.S., DISPLAYS, FANS, BREADBOARDS, RESISTORS, SOLAR CELLS,
BUZZERS, BATTERIES, MAGNETS,
CAMERAS, DC-DC CONVERTERS,
HEADPHONES, LAMPS, PANEL
METERS, SWITCHES, SPEAKERS,
PELTIER DEVICES, and much more....

O R D E R TO L L F R E E

1-800-826-5432
Ask for our FREE 96 page catalog

66

SERVO 12.2008

SV-GiftSubAd2008.qxd

10/7/2008

4:07 PM

Page 67

Give the
gift that
lasts all
year!

Go to

www.servomagazine.com
to enter your gift order!

Be sure to use promotion code Y8WXMS when ordering.

U.S. Prices
1 Yr $24.95
2 Yr $45.95
3 Yr $65.95

Subscribe online at: www.servomagazine.com


or call: 877-525-2539 (toll free) / 818-487-4545 (outside US)

WebstoreDec08.qxd

11/5/2008

9:23 AM

Page 68

The SERVO Webstore


Attention Subscribers ask about your discount on prices marked with an *

Lo
W h ao k
t
New s

EDITORS PICKS

Electronic
Troubleshooting

FIRST Robots: Rack 'N' Roll


Behind the Design

When things go wrong with your robot


design, you'll need a logical approach
and know which tools to use to get
things working again. This book describes
both the techniques and technologies
you need to troubleshoot any
electronic device.
$49.95

This book is a 'must' for contestants


preparing for the FIRST competitions
and for anyone who wants to know what
really goes in to creating a practical robot
with limited time and resources.
$39.95

Editor Bryan Bergerons recommended reads.


Find these and many more great titles in the SERVO Magazine Webstore!

Kickin' Bot

by Grant Imahara

!
NEW

ROBOTICS

Robot Building for Dummies

by Roger Arrick / Nancy Stevenson

Enter the arena of the metal gladiators!


Do you have what it
takes to build a
battle-ready robot?
You do now! Here are
the plans, step-by-step
directions, and expert
advice that will put
you in competition
while you have a heck
of a lot of fun getting
there. Grant Imahara, the creator of the
popular BattleBot Deadblow, shares everything hes learned about robot design, tools,
and techniques for metal working and the
parts you need and where to get them.
$24.95

Discover what
robots can do and
how they work.
Find out how to
build your own
robot and program
it to perform tasks.
Ready to enter the
robot world? This
book is your passport! It walks you
through building your very own little
metal assistant from a kit, dressing it up,
giving it a brain, programming it to do
things, even making it talk. Along the way,
youll gather some tidbits about robot
history, enthusiasts groups, and more.

by Ulrik Pilegaard / Mike Dooley

Build Your Own


Humanoid Robots

Forbidden LEGO

Build the Models


Your Parents
Warned You
Against.

Forbidden LEGO
introduces you to
the type of freestyle building that
LEGOs master
builders do for fun in the back room.
Using LEGO bricks in combination with
common household materials (from rubber bands and glue to plastic spoons
and ping-pong balls) along with some
very unorthodox building techniques,
youll learn to create working models that
LEGO would never endorse. $24.95

68

SERVO 12.2008

$24.95

by Karl Williams

GREAT 'DROIDS, INDEED!


This unique guide to
sophisticated robotics
projects brings
humanoid robot
construction home to
the hobbyist. Written
by a well-known figure
in the robotics
community, Build Your
Own Humanoid Robots provides
step-by-step directions for six exciting projects, each costing less than $300. Together,
they form the essential ingredients for
making your own humanoid robot. $24.95*

Robot Programmer's Bonanza

by
John Blankenship,
Samuel Mishal

The first hands-on


programming guide
for today's robot
hobbyist!
Get ready to reach into
your programming
toolbox and control a robot like never before!
Robot Programmer's Bonanza is the one-stop
guide for everyone from robot novices to
advanced hobbyists who are ready to go
beyond just building robots and start
programming them to perform useful tasks.

$29.95

Robotics Demystified

by Edwin Wise
YOU DON'T NEED ARTIFICIAL INTELLIGENCE
TO LEARN ROBOTICS!
Now anyone with an
interest in robotics can
gain a deeper understanding without formal training, unlimited
time, or a genius IQ. In
Robotics Demystified,
expert robot builder
and author Edwin Wise
provides an effective and totally painless
way to learn about the technologies used to
build robots! $19.95
We accept VISA, MC, AMEX,
and DISCOVER
Prices do not include shipping and
may be subject to change.

WebstoreDec08.qxd

11/5/2008

9:25 AM

Page 69

To order call 1-800-783-4624


SERVO Magazine
Bundles

Published by T & L Publications, Inc.

Save $10
off the
normal
per bundle
price!!
Now you can get one years worth of all
your favorite articles from SERVO Magazine
in a convenient bundle of print copies.
Available for years 04, 05, 06, and 07.

$57

Robot Builders Sourcebook


by Gordon McComb

Fascinated by the
world of robotics but
dont know how to
tap into the incredible
amount of information available on the
subject? Clueless as
to locating specific
information on robotics? Want the names,
addresses, phone numbers, and websites of
companies that can supply the exact part,
plan, kit, building material, programming language, operating system, computer system,
or publication youve been searching for?
Turn to Robot Builders Sourcebook a
unique clearinghouse of information that will
open 2,500+ new doors and spark almost as
many new ideas. $27.95 Sale Price $24.95

Im still trying
to understand
the
bailout plan!
Do you?
Linux Robotics

by D. Jay Newman

If you want your robot


to have more brains than
microcontrollers can
deliver if you want
a truly intelligent,
high-capability robot
everything you need
is right here. Linux
Robotics gives you stepby-step directions for
Zeppo, a super-smart, single-boardpowered robot that can be built by any
hobbyist. You also get complete instructions
for incorporating Linux single boards into
your own unique robotic designs. No
programming experience is required. This
book includes access to all the
downloadable programs you need.
$34.95

The Amateur Scientist 3.0


The Complete Collection
by Bright Science, LLC

There are 1,000


projects on this CD, not
to mention the
additional technical
info and bonus
features. It
doesnt matter if youre
a complete novice
looking to do their first
science fair project or a
super tech-head gadget
freak; there are enough
projects on the
single CD-ROM to keep you and 50 of your
friends busy for a lifetime! $26.99

CNC Robotics

by Geoff Williams
CNC Robotics gives you
step-by-step, illustrated
directions for designing,
constructing, and testing
a fully functional CNC
robot that saves you 80
percent of the price of an
off-the-shelf bot and
that can be customized
to suit your purposes exactly, because you
designed it. Written by an accomplished
workshop bot designer/builder, this book
gives you everything you need. $34.95

SERVO 12.2008

69

WebstoreDec08.qxd

11/5/2008

9:28 AM

Page 70

Or order online www.servomagazine.com


SPECIAL OFFERS

The Definitive Guide to


Building Java Robots
by Scott Preston

S AVE 10% plus


GET FREE US
SHIPPING!
Buy both these books
together in the month
of November 2008
Building Robots with
LEGO Mindstorms NXT

and

Programming Lego
Mindstorms NXT

save 10% off the list price. Plus get free shipping in the US!!
Call 800 783-4624 or order online @ www.servomagazine.com
List Price $29.95 Sale Price $26.95
List Price $40.95 Sale Price $35.95

Robot Builders Cookbook

FREE!
with any
e
purchas 0
over $10

by Owen Bishop

This is a book for


first-time robot
builders, advanced
builders wanting to
know more about
programming robots,
and students in
further and higher
education tackling
microcontrollerbased practical
work. They will all
find this book a unique and exciting source
of projects, ideas, and techniques to be
combined into a wide range of fascinating
robots. $29.95 Sale Price $24.95

The Definitive Guide to Building Java Robots


is for educators,
students, hobbyists,
and startups looking
for Java/hardware
interaction. This book
shows you how to use
your PC to build
robots, and how you
can interface with a
microcontroller to do
the basics. Youll learn
to design your robot to navigate, see, speak,
recognize your face, listen to you, and build
maps. $55.95 Sale Price $47.95

Phone-inly!
n
orders o

From HomoSapien to RoboSapien

SERVO
Magazine
T-Shirts

Before R2D2 there was R1D1

Get your very own limited-edition SERVO Magazine T-shirt. Shirts come
in sizes S, M, L, and are available in either black or white.
All shirts are 100% preshrunk cotton.
Offer ends December 31, 2008. Call 1-800-783-4624.
PROJECTS

Tankbot Kit & Alpha Brain Kit


As seen in the
Sept. issue
Tankbot/
Brain Alpha
by Ron Hackett
A bi-monthly series
filled with projects and
experiments to challenge
you through your
learning process while
you grow your fully
expandable
Brain Alpha PCB!

The Alpha Brain kit is an excellent way to


The TankBot gives you everything you
get started in robotics. The brain a
need to start building your own sturdy
PICAXE-14A is easily programmed in a
servo-motor robotic tracked vehicle.
dialect of Basic that includes many powerful
Powered by two modified R/C servos
commands. At the end of each of Rons
(44 oz-in torque). The assembled Tankbot
articles, he will include programming for that
measures 7 inches long, 4.75 inches wide,
months project. The kit also includes a 400
and 3.5 inches high. The top deck is
point breadboard which allows for
drilled ready for the Alpha Brain. For more
considerable expansion and experimentation.
info & pictures, visit the SERVO Webstore
For more info & pictures, visit the SERVO
at www.servomagazine.com.
Webstore at www.servomagazine.com.
$59.95 Sale Price $56.95
$99.95 Sale Price $85.95
Combo Price $ 138.95

70

SERVO 12.2008

The SERVO Buddy


Kit

An inexpensive circuit you


can build to control a servo
without a microcontroller!

For more information,


please check out your
May 2008 issue
or go to our website @
www.servomagazine.com
Subscribers Price $39.55
Non-Subscribers Price $43.95
PCB includes article reprint.

Full Page.qxd

11/4/2008

10:25 AM

Page 71

Menagerie - Dec08.qxd

11/5/2008

4:36 AM

Page 72

HBRC CHALLENGE 2008

Probably one of the cutest


TABLEBots "Just-in-time"
is being teased by Mike
Thompson. Note on-board
camera. Still running the same
code from last year. "Phase 2"
still successful ... no apparent
code rot.

Nathan Monson looking


at his balancing robot
"Snappy" as it gets up
from lying on its back.
Snappy sports an ARM
processor, as well as
Mini-ITX and stereo
webcams.

Steve Okay shows his two


Roomba-based robots
Rivet and Rover.
Rivet navigates cluttered
environments and will
soon be able to discern
soft from hard objects to
pick up. Rover was a
commercial project for
Steve to build a robot
for the recent Comic-Con.
He points out that the
choice of a regular easel
as the structure was
fortuitous in that different
cameras can be attached.

72

SERVO 12.2008

Dave Curtis debuts


Alfred, his classic turtle
logo project work-inprogress. Dave runs the
Kids group with the help
of his daughter, Shiloh.

Dr. Alan Federman hacked


a WowWee Quadruped
for voice control.
Microsoft Vista problems
notwithstanding, he did
manage to verbally order
the robot to get up and
raise and lower its head
as if to say yes. Note the
2.4 GHz camera on top.
Alan says he wants to do
some remote-presence
experiments with Skype.

Our fearless leader Wayne


Gramlich shows "Alice," a
RoboBricks2-based robot.
It uses a hacked Linksys
router on which he gave
a presentation last year.
This allows Wayne to run
Linux with wireless
communications.

Menagerie - Dec08.qxd

11/5/2008

4:36 AM

Page 73

The HomeBrew Robotics Club was resurrected from the


ashes of the original HomeBrew Computer Club by a group of
enthusiasts who were interested in the emerging field of
robotics.Their homebase is located in Mountain View, CA
(San Jose Metro area). HBRC members have a range of
expertise in robotics that includes beginners, experienced
amateurs, and professionals. There are no age restrictions or
membership dues.

Michael Cipriano starts


"Styne" which took
Silver at RoboGames
this year ... giving
Tony Pratkanis
a little competition.

George Taylor shows Propellerbased TABLEBot "Jiffy." As an


effective demonstration of
"Phase 1," Jiffy went forward
to the opposite end of the table
and simply reversed to return
to the original side.

Andrew and Alex Sy present "Pinky."


Although radio-controlled, they
demonstrated IR drop-sensors that
would stop on the table's edge
autonomously. They also showed a
neat little homebrewed WiFi card.

Bob Allen shows "EggHead" and "Isis."


Egghead was an early prototype of
the new AMPBot which which will
be available next fall from Hasbro.

Seems everyone's going vertical.


Here, Chris Palmer shows how
much the ZenBot has grown from
just one layer.

Here, Rose Mills retrieves "Iye." After a


manual adjustment, it did manage to blow
out the candle. This is not a contest, its
designed to just be a challenge.

SERVO 12.2008

73

Appetizer.qxd

11/5/2008

8:42 PM

Page 74

Build a Self-Balancing Scooter


MIT teams up with local high school to tackle the Segway
by Shane Colton

uring the summer of


2007, a small group of
undergraduates at the
Massachusetts Institute of
Technology (MIT) teamed up
with students from local high
schools to create a do-it-yourself
self-balancing scooter, similar in
design and function to the
Segway Personal Transporter.
The project was undertaken as
an off-season challenge for a
Cambridge, MA-based FIRST
Robotics Competition team, with
technical support from MITs
Edgerton Center. From start to
finish, the project took about
two months, including the
fabrication of a custom scooter
base and handlebar, installation
of motors, electronics, and
sensors, and the development of
software to control it all. The
end result a self-balancing
scooter weighing only 53 pounds
and with a top speed of about
10 miles per hour its not as
smooth or stable as the real
thing, but it offers a fun ride
nonetheless.

Project Inspiration

do, however, showcase considerable creativity and ambition on


the part of their designers.
The students involved in
the Segway project at MIT
representing Cambridge Rindge
& Latin School, Wayland High
School, and the John D.
OBryant School of Math and
Science hatched the idea
while competing at the 2007
FIRST Robotics Championship in
Atlanta, GA. The Segways
inventor, Dean Kamen, is also
the founder of the FIRST
competition, and event staff
are often seen riding Segway
scooters around the FIRST
competition arena.
After getting a chance to
ride one and seeing that
another team had built their
own version, members of the
Cambridge team became
intrigued with the idea of
building a DIY Segway as an
off-season project. A second
project idea an interactive
The completed scooter in action.
water fountain was also briefly
considered, but rejected by the team after one member
astutely pointed out that you cant ride a fountain.

Since its commercial release in 2001, the Segway has


become a niche transportation device and something of an
icon among the tech-savvy. A handful of industrious hobbyists
have been inspired to make similar devices, including both
scooters and riderless self-balancing robots. Among these,
a design created by roboticist Trevor Blackwell in 2002 (and
refined in 2005) is perhaps the most well known. His
creation and other Segway imitations are often touted as
being cheaper versions of the real thing, primed to usher in
the Model T era of personal transportation. In reality,
most are far from finished production models, lacking the
reliability, safety, and comfort of the original. These projects

74

SERVO 12.2008

Designing the Scooter


Since other self-balancing scooters had come before it,
the group set a few goals for making their version unique.
To begin with, it would be smaller and lighter than those
that had been done before: only about 50 pounds and
small enough to drive through residential doorways. (Many
of the previous homemade scooters had failed the doorway test.) Additionally, the team decided that its version
would be the first to implement lean steering, a feature
that allows the riders of the newest Segway models to turn
more intuitively by leaning the handlebar rather than
twisting a control knob. And since the DIY Segway would

Appetizer.qxd

11/5/2008

8:46 PM

Page 75

ultimately be used as an
educational tool at The Edgerton
Center, the team wanted to
make the scooters control strategy as simple as possible so that
one would not necessarily need
an MIT degree to understand it.

Making the
Physical
Components
With the projects size and
weight goals in mind, the team
designed a lightweight aluminum base plate, which was
cut with a CNC abrasive water
jet. (MIT has five such machines,
but they are also accessible from
relatively inexpensive online providers, such as www.bigbluesaw.com.) Rather than using the powerful but heavy
24 volt wheelchair motors found on similar projects, the
team chose the inexpensive and lightweight DC motors and
planetary gearboxes featured in the kit of parts provided to
2007 FIRST competitors.
The motors generate a maximum of 343 watts of
power each, giving the scooter a total of just under one
horsepower. The planetary gearboxes provide a 16:1 gear
reduction to increase the torque output to the wheels,
which are 12.5 inches in diameter with pneumatic tires and
composite hubs. A handlebar was cut
from aluminum extrusion and hinged
to the base plate to allow for
steering control. Figure 1 shows a
CAD illustration of the base plate and
motors, and Figure 2 shows students
assembling these components.

FIGURE 1. Base
plate and motors.

The sensors are small, inexpensive MEMS accelerometers and gyroscopes (angular rate sensors) made by Analog
Devices. One accelerometer senses the angle of gravitational
force, while a gyroscope estimates the angle (with respect
to horizontal) and the angular rate of the base platform. A
second accelerometer detects the angle of the handlebar
for steering. A problem that almost every self-balancing
project write-up mentions is the difficulty of obtaining an
estimate of angle from the noisy accelerometer signal and
the integrated gyroscope signal, which drifts over time.
The team overcame this problem with a very simple digital
FIGURE 2. Assembling the scooter.

Keeping it All Upright


To balance itself, the scooter
implements a feedback control system.
It senses both the angle of the base
platform and its rate of angular
rotation, feeding a combination of
these values back to the motor
controllers to create a corrective
action. For example, if the rider begins
to lean forward, the sensors will detect
the lean and the control system will
send a command to the motors to
drive forward, bringing the base back
under the riders center of gravity and
catching the fall. The command sent
to the motors is proportional to both
the sensed angle and the angular rate
of the platform, a scheme known as
Proportional + Derivative (PD) control.
SERVO 12.2008

75

Appetizer.qxd

11/5/2008

8:46 PM

Page 76

microprocessor installed on
a custom-designed circuit
board. The board was
designed using the PIC
microcontroller-based
educational prototyping kit
and online programming
environment developed
by Machine Science, a
Cambridge-based non-profit
organization that promotes
hands-on engineering
education. Machine
Sciences kit and online
development environment
are easy to use, but
powerful enough to execute
the projects floating-point
(decimal) filtering and
control calculations. The
main software loop which reads and filters the sensor
inputs, calculates the corrective action, and generates a
signal for the motor controllers runs at 100 Hz; fast
enough to stabilize the vehicles mechanical dynamics.
Development was also streamlined by a wireless serial
programming and debugging interface that allowed the
team to modify software and view sensor values in real
time with no physical connection to the vehicle. Data can
be viewed and collected remotely from up to 300 feet away
while a rider is cruising on the scooter a feature that
increases the educational value of the project and which
the team believes is unique to its version. Figure 3 shows
the projects control electronics.

FIGURE 3. Control circuit board.

filtering technique called a complementary filter, forgoing


more complex and computationally-intensive methods such
as Kalman filtering for an effective and intuitive solution
requiring minimal computation. The details of the filtering
and control algorithm can be found in the projects full
technical documentation, which is available online (see
Resources).
The control computation is done with an on-board

Finished Product
The project was completed in the fall of 2007, just in
time for its creators to get back to their school work. Since
then, the scooter has made appearances at local high
schools, educational programs at MIT, and other robotics
competitions. It is a bit challenging to learn to ride. Because
the lower power motors require a stiff feedback loop to
provide enough stabilization, it has a tendency to oscillate.
(Wireless data collection reveals the natural oscillation
frequency of new riders to be about 1.3 Hz.) But with a
few minutes of practice, most can get the hang of it and
cruise around fairly well.
More importantly, it draws attention to the design
process, feedback control, and many concepts of
engineering in an inspirational way. All of the hardware is
left uncovered and whenever the designers are showing
off, they attempt to demystify the technology as much as
possible. The full project documentation, including design
notes and source code, is available online. SV

Shane Colton is a senior in the Mechanical Engineering Department at MIT.


He became interested in robotics through his experiences as a FIRST team
member at Plainedge High School in Massapequa, NY. He has been a FIRST
team mentor at MIT for the past four years.

76

SERVO 12.2008

Then&Now Dec.qxd

11/5/2008

6:59 PM

Page 77

a n d

Then NOW
JAPANESE ROBOTICS
b

I have a book on the robotics


rove about carrying a cup of tea to
interest is not just from those who
bookshelf in my office entitled Inside
amaze the guests of the proud owner.
enjoy unique robots but for collectors
the Robot Kingdom by Frederik L.
Figure 2 shows some of the
of all things Japanese.
Schodt. With a subtitle of Japan,
wooden gears of a Karakuri doll from
Mechatronics, and the Coming
the Edo Period that was from 1603 to
1867. Notice the wooden ratchet and
Robotopia, Joe Engelberger, the
father of the industrial robot, compawl to the right and a brass and steel
Between WW I and WW II and
mented about the book on the back
version to the left. Cords and strings
afterwards, the Japanese began to
cover: Western industrialists will learn
on levers and pulleys pulled different
make toy robots that were instant hits
more about competing with Japan
appendages in the doll. Figures 3 and
with kids. One of the most popular of
from this book than from all the
4 show a more recent metalthe Japanese robot toys in the early
how-to books that have proliferated
construction Karakuri robot and an
40s was the Robot Lilliput shown in
since Japan, Inc., became a popular
exploded view of its conogre. The amazing thing is this book
struction. The curiosity of
FIGURE 2. Gears from a 1796 Karakuri Robot
(courtesy of Altjapanant).
was published in 1988, yet, is still
collectors around the
appropriate for understanding the
world has made the desire
Japanese robotics industry. The author
for these unique robot
admits that he is not a technology
dolls the rage among all
person but rather was fascinated by
sorts of hobbyists. This
the acceptance of robots
into Japans industry and
FIGURE 1. A Karakuri from the
British Museum.
society; quite a bit different
from the US at that time
and still today.

Japanese Toy Robots

The Earliest
Japanese
Robots
Typical of the early
automatons of Europe and
America that were used to
amuse and entertain the
wealthy in the 17th century
and later, Japan also had
mechanical dolls called the
Karakuri ningyo. Figure 1
shows one of the more
ornate wooden wind-up
Karakuri dolls that could

FIGURE 3. A
modern
Karakuri robot.

FIGURE 4. An exploded view


of the Karakuri.

SERVO 12.2008

77

Then&Now Dec.qxd

11/5/2008

6:59 PM

Page 78

American beer cans. They still had


the beer can printing on the inside
of the metal shells. Metal was scarce
in those days and you used what
you could find to get back into
manufacturing.

The Beginnings of the


Japanese Industrial
Robot Industry

FIGURE 5. Original Robot Lilliput


from Flickr.

FIGURE 6. Nine inch tin Robot Lilliput


replica from Zero Toys.

Figure 5. The original had yellow arms


and legs and hexagonal feet, unlike
the later reproduction shown in Figure
6 made by Schylling. Figure 7 is
another Zero Toys reproduction robot
that shoots sparks from its face mask
and is remarkably similar to Robbie
from Forbidden Planet. If youve
managed to get your hands on one
of the originals, hang on to it.
After the war, the Japanese got
right back into toy making and
thousands of types and styles of
robots were made and shipped worldwide in the 50s and 60s. In this era,

the robots began to take on what I


would call a sinister appearance with
strange points all over their bodies
and many things that did not seem to
have any purpose. Figure 8 is one of
these types of robots from collection
dx.com, a Mekanda DX2.
The Japanese imports always
seemed to have the best and most
complex robots when I was a kid. I
had several classics in those days and I
wish I knew what happened to them.
I also remember seeing several that
were just like the bent tin toys of the
pre-war period but were made of

FIGURE 7. Nine inch Planet Robot shoots


sparks from its face mask.

78

SERVO 12.2008

FIGURE 8. Mekanda DX2 from


Collectiondx.

Ill take a leap from the earlier


toys to the industrial realm that truly
put the Japanese on the robot scene.
Though the true beginnings of
Japanese interest in robotics began
many hundreds of years ago, the
actual development of industrial
robots in Japan was in the early
1960s. Yes, George Devol and Joe
Engelberger of the US were the first
developers, but the Japanese took US
innovations and implemented them
throughout their factories and the
factories of the world. By the 1970s,
Japans many robot manufacturers
had developed many practical and
novel applications, and true high
tech robots began to become
available for specialized factory and
non-industrial uses in the 80s.
Innovation in robotics was not left
to the US as Japanese manufacturers
soon dominated the robot industry
with lines of extremely creative and
unique machines. When the shift in
consumer electronics production
was moved from Japans shores in
the 90s to the Third World, Japan
suffered a lower demand for its
robotic products.
As of mid 2008, half of the
worlds total of 951,000 industrial
robots were installed in Asian
factories with the lions share of
those in Japan. FANUC, MotoMan/
Yaskawa, Seiko, Denso, and other
Japanese companies rapidly
overshadowed American,
European, and other Asian
companies with robot installations
in factories around the world.
Unimation and other American
companies were either bought
out by the large Japanese
conglomerates or completely
shoved out of Detroits car

Then&Now Dec.qxd

11/5/2008

7:00 PM

Page 79

factories in favor of the superior


Japanese products. American and
other robot companies either folded
or quickly scrambled to find niches
in the industry in which they could
design, build, and distribute superior
products.

New Ideas About


Personal Robots
in Japan
With their cutting-edge industrial
robots aside, in the service and
personal robot categories Japanese
robotics engineers have been mostly
interested in bipedal humanoid robots.
Other than the very successful
four-legged walking robot that Boston
Dynamics developed for the military,
most US service and mobile robots
have centered wheeled designs.
iRobot has sold over three million
Roombas, yet Honda and Mitsubishi
have sold relatively few of their very
capable humanoid robots. The
reason? Cost. The 40 Asimo
humanoids in existence used to rent
for $20,000 a day or $150,000 a
month and, if sold, would cost
upwards of $1 million a copy. One
could cover the entire floor area of a
good-sized home with Roombas and
still not approach that price.
The diminutive 43 robot has
undergone a bit of a weight loss since
2002, mostly in the once huge backpack battery compartment, yet still
stumbles in front of adoring crowds.
Asimo must become quite a bit more
stable and much more affordable to
operate in private homes. Outside the
industrial robot area, Japanese robotics
designers and engineers have
concentrated on making their creations more life-like. Sonys Aibo robot
dog/cat has amazed people with its
ability to recognize people, not just by
voice but by its vision system. Aibo
was not designed to be a sophisticated
robot (which it is) but rather a
sophisticated interactive creation.
So, Hondas Asimo stumbles
occasionally; so did each of us before
we started to walk. Honda has
invested more than 20 years of very
thorough scientific study in designing

their robot to be an ideal home


companion. It may cost an arm and a
leg right now, but so did those heavy
$2,000 bricks we called cell phones
back in the 80s. A stable and capable
humanoid, bipedal robot will occur
and it will probably come from Japan,
though Koreas robotics development
is right on the heels of the Japanese.
Figures 9 and 10 show the HRP-3
Promet Mark II built by Kawada
Industries with technical guidance
from Japans National Institute of
Advanced Industrial Science and
Technology (AIST). This 52 tall, 149
pound humanoid robot was designed
to work in hazardous locations. With
42 degrees of freedom, the robot can
operate autonomously or by remote
control. At $120,000 per robot, it is
cheaper than Asimo but still out of
the range of most purchasers. The
uniquely Japanese shell design was
created by anime mecha designer
Yutaka Izubuchi.
Mitsubshi Heavy Industries
has never been known for home
appliances; that is, until now. The
Wakamaru Home Robot is that and
more. Toshiyuki Kita, the designer,
and his company wanted a true robot
home companion. Its sales for home
use ended in November 2005 but the
robot is still available as a promotional
robot.
Figure 11 shows the one meter
high (about 40), bright yellow robot
that was carefully designed to be a
non-threatening and useful household
robot with an independent personality.
Wakamaru can recognize the faces
of people that have been recorded,
respond when spoken to, meet a
persons gaze, and offer up subjects
of conversation, according to the
description on their website.
Weighing in at about 65 pounds,
the arms have four degrees of
freedom and the robot rolls around
on wheels, a proven mobility method
for robots. The lithium-ion battery can
operate the robot for about two
hours and the multi-processor system
runs on Linux. Multiple cameras,
microphones, speakers, and other
sensors help the robot in a home
environment. The Wakamaru could
prove to be a useful home robot, as

FIGURE 9. HRP
robot from
Kawada
Industries.

FIGURE 10. HRP-3


the 'Tool Guy' with a
socket driver.

well as an assistant to help the elderly


in independent living.

A Robot Harp Seal


Ive written about some of the
amazing Japanese humanoid bipedal
robots over the years in this column.
Ive even looked at some amazing
robots to actively care for the elderly
(a type of robot that is of particular
interest to me). But Ive never seen
one that is so passive or effective
as Paro.
FIGURE 11. Wakamaru from
Getty Images.

SERVO 12.2008

79

Then&Now Dec.qxd

11/5/2008

7:01 PM

Page 80

To charge the batteries, the seal


has what resembles a babys pacifier
that is actually a cord running from a
wall wart power supply to the pacifier
(with a plug instead of a nipple). The
videos that Ive seen of Paro operating
seem very realistic, though I admit
that Ive never seen a baby harp seal
in real life. The elderly shown in
these videos seem to light up with
contentment when one is placed in
their laps. If an almost $7,000 placebo
for a person can keep them happy in
their waning years, so be it. Go to
www.kilian-nakamura.com for more
information.

Wrap-Up
FIGURE 12. Paro the robot harp seal.

Dr. Takanori Shibata spent years


in the development of Paro in 2002,
a robotic harp seal pup that has been
used to heal the elderly (Figures 12
and 13). The healing, of course, is in
an emotional sense. These seemingly
sentient robot pets can take the place
of a real cat or dog that a senior may
not be able to take care of or with
them to a no pets senior living facility.
Priced at $6,699, these robots are
not a typical childs stuffed toy, but
neither was the $2,000 Aibo. Dr.
Shibata picked a harp seal pup on
which to model his therapeutic robot
as they seemed to represent the most
helpless, yet lovable creature from the
wild. Their innocence and lovability
grasps ones heart and it was
Shibatas intention to portray that
vulnerability. Paros eyes have been

augmented a bit with long eyelashes


and the head moves as do the
flippers. If you are familiar with Aibo
or even I-Cybie, the features and
attributes of the Paro robotic seal are
somewhat similar. Paro has:

A diurnal rhythm of morning, afternoon, and night (reacts differently).


Five kinds of sensors: tactile, light,
sound, temperature, and posture.
Can recognize light and dark and
react accordingly.
Can feel being stroked and the
amount of pressure in the strokes.
Understands when it is being held.
Can recognize the direction of
sound.
Recognizes its name, greetings, and
praise.
Remembers interactions and adapts.
Imitates the voice
of a real baby seal.
FIGURE 13. Paro with seniors.
Expresses feelings
through noises,
body movements,
and facial
expressions.
Moves head multidirectionally.
Moves flippers
(front and rear).
Creates highly
emotional facial
expressions (all
unique) with
blinking eyes.

80

SERVO 12.2008

Typical of any segment of a


subject as wide spread as robotics
even Japanese robotics no article,
book, or even a library of books
can completely cover the subject
adequately. Robots are a major part
of Japanese society, their media, and
entertainment. I have highlighted
three different types of robots from
Japan, all with specific features and
applications. Japan tends to look past
the utilitarian aspect of robotics and
focuses more on robots as friends.
The thousands of robots installed in
Japanese factories are not viewed as
machines that took jobs away but
as friends who made life easier.
American films such as I,Robot,
The Terminator, and others havent
made robots too friendly, but Astro
Boy and many other Japanese robots
are mankinds best friends.
Japans Waseda University,
(Japans equivalent of MIT and
Carnegie Mellon combined) will
continue to educate and produce
first-rate robotics engineers.
It is estimated by the year 2025,
that the worlds robot market will be
over $56 billion and Japan expects
to command the largest share.
Perhaps roboticists here in the US
will decide to give them a run for
their money. SV

Tom Carroll can be reached via


email at TWCarroll@aol.com.

RoboLinks-Index Dec08.qxd

11/5/2008

11:50 PM

Page 81

For the finest in robots, parts, and


services, go to www.servomagazine.com
and click on Robo-Links.

W
LO

!
ST
CO

Free
Expert
Technical
Support
1 (800) 985-AWIT

LOW COST

Easy to Connect

CONTROLLERS & ROBOT KITS SENSORS DISPLAYS


LO
W

CO

ST
!
Professional SW Dev. Tools

www.c-stamp.com

Electronic Parts & Supplies


Since 1967

All Electronics Corp. ................................66


AP Circuits/e-pcb.com ............................60
Boca Bearings ...........................................76
Budget Robotics .......................................53
CrustCrawler ..............................................29
DLP Design ................................................82
Electronics123 ..........................................66
Gears Educational Systems, LLC .............53
Hagisonic Co. ......................................17, 66

Hitec ...........................................................65
Innovation First .........................................13
Jameco ......................................................42
Lorax Works ..............................................66
Lynxmotion, Inc. ........................................61
Net Media .................................................83
Parallax, Inc. ................................Back Cover
PCB Pool .......................................................7
Pololu Robotics & Electronics .................47

Robotis ......................................................57
RobotShop, Inc. ........................................43
Saleae LLC ....................................................3
Scientifics ..................................................37
Solarbotics/HVW .......................................9
SolderByNumbers.com ............................71
Sparkfun Electronics ..................................2
Vantec ..........................................................7
Weird Stuff Warehouse ............................66

SERVO 12.2008

81

Full Page.qxd

11/4/2008

9:05 AM

Page 82

Full Page.qxd

4/29/2008

4:05 PM

Page 83

backcvr.qxd

11/4/2008

9:44 AM

Page 84

S-ar putea să vă placă și