servo magazine – april 2010

84
U.S. $5.50 CANADA $7.00 Vol. 8 No. 4 SERVO MAGAZINE BUILDING A COMBOT SWARM ROBOTS TRANSMITTER HACK BIOLOID SOFTWARE April 2010

Upload: danmhu

Post on 06-Apr-2015

291 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Servo magazine – April 2010

0 71486 02422 4

0 4

$5.50US $7.00CANU.S. $5.50 CANADA $7.00

Vol. 8 N

o. 4

SSEERRVV

OOM

AG

AZIN

EBU

ILDIN

G A

COM

BOT

•SW

AR

M RO

BOTS

•TR

AN

SMITTER

HA

CK•

BIOLO

ID SO

FTWA

RE

Ap

ril 2010

Cover.qxd 3/9/2010 11:43 AM Page 1

Page 2: Servo magazine – April 2010

Full Page.qxd 3/8/2010 10:27 PM Page 2

Page 3: Servo magazine – April 2010

Full Page.qxd 2/3/2010 5:22 PM Page 3

Page 4: Servo magazine – April 2010

04.2010VOL. 8 NO. 4

Features28 BUILD REPORT:

Crossfire — From Broken Robotto Breaking Robots

30 MANUFACTURING:Keeping Your Stuff Together

33 PARTS IS PARTS:FingerTech Robotics’ Spark Motor Series

33 How Not to Die. I Mean, Build a Test Box

35 Combat Zone’s Greatest Hits

Events32 Results/Upcoming

Events

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. Box15277, North Hollywood, CA 91615 or Station A, P.O. Box 54,Windsor ON N9A 6J5; [email protected]

08 Robytesby Jeff EckertStimulating Robot Tidbits

10 GeerHeadby David GeerPenbo for Girls, Prime-8 for Boys

13 Ask Mr. Robotoby Dennis ClarkYour Problems Solved Here

76 Then and Nowby Tom CarrollRobot Mobility

4 SERVO 04.2010

The Combat Zone...

Columns

06 Mind/Iron07 Bio-Feedback20 Events Calendar22 New Products24 Bots in Brief

27 Showcase64 SERVO Webstore81 Robo-Links81 Advertiser’s

Index

Departments

PPAAGGEE 1100

PPAAGGEE7766

PPAAGGEE 3355

TOC Apr10.qxd 3/8/2010 4:47 PM Page 4

Page 5: Servo magazine – April 2010

38 GPS Navigation — Part 2by Chris SavageBuild a small robot to test and prove the theories discussed in Part 1.

42 The Bioloid Premium Kit Wrap-Upby Rob FarrellIn the Feb. ’10 issue, we covered the hardware components and assembly of the Bioloid Premium. This time, we’ll take a look at the vast capabilities of the RoboPlus software that comes with the kit.

48 Look Who’s Talking!by Fred EadyExplore this simple method that lets you and your robot play together in a wireless world.

55 Trade Two PWM Channels for aWhole Bunch of Switches

by Jim MillerSee how to perform surgery on a transmitter to gain more on/off switches and data from your rover.

67 So, You Want to Build a ComBot— Part 1by Greg IntermaggioThis short series will cover the basics of designing a featherweight ComBot from the ground up using only tools you’d find in a home shop.

73 Swarm Robots and Sensor Virtualizationby Mike KeeslingBen has nothin’ on our Zhu Zhu hamsters when it comes to working together in a pack.

In This Issue ...

SERVO 04.2010 5

PAGE 38

PAGE 73

PAGE 55

TOC Apr10.qxd 3/8/2010 8:26 PM Page 5

Page 6: Servo magazine – April 2010

Robotics HorizonI recently attended a review of robotics research in

New England’s universities which included a tour of sevenmajor robotics labs at MIT. Given that academia istypically a year or two ahead of what’s deployable by themilitary and several years ahead of what may be practicalin the marketplace, the future looks promising.

Highlights of the meeting included surgicalnavigation and surgical robotics — two nascenttechnologies in medicine. You’ve probably heard of theDa Vinci surgical robot (www.davincisurgery.com)which is increasingly used in specific elective surgeries.The Da Vinci is a remote-controlled robot laden withsensors, motors, and minute effectors, but withoutautonomous functions. Benefits of the system includeshorter hospital stays — an important factor in containingmedical costs. Pending clearance by the Food and DrugAdministration (FDA), several other robotic platformsshould be coming on line shortly.

Surgical Navigation systems such as the MedtronicsStealthStation (www.medtronicnavigation.com) arealso gaining in popularity. These systems use optical andRF tracking to enable a surgeon to visualize the positionof surgical instruments relative to a patient’s anatomy in3D space. The advantage of surgical navigation systems isthat they enable doctors to see the operating field whenthe instruments and tissues are hidden from the nakedeye. Properly employed, these systems can reduce surgical

errors, and enable a surgeon to carry out a procedurewith a relatively small incision.

One of the more interesting robotic technologies onthe horizon was soft machines, such as those underdevelopment at the Tufts Biomimetic Devices Laboratory(ase.tufts.edu/bdl). While most of the robotics world isworking with and thinking about traditional hardwaresensors and effectors, researchers in this lab are workingwith elastomers, fluids, artificial muscles, andnanosensors.

Instead of a human or lobster, the biomimetic modelfor much of the work on soft robots is a soft, low-density,tactile-sensitive caterpillar. The potential advantages of alightweight, soft robot over a heavy robot with a rigidskeleton or exoskeleton include the ability to climbtextured surfaces, crawl along ropes and wires, andburrow into winding, confined spaces. Imagine a fewdozen soft robots released into the rubble following adevastating earthquake. Soft rescue bots should have amuch easier time snaking toward victims relative totraditional robots constrained by stiff, physical bulk.

Soft-bodied robots have obvious military applications,as well. Over a year ago, the DOD offered a smallbusiness innovation research (SBIR) grant for the purposeof developing a soft robot that could push itself througha crack in a barrier and reassemble intact on the otherside. The endpoint of this R&D effort was an ordnancedelivery system that could squeeze through a crack anddeliver its payload on the other side of a wall. I’ve seenprototypes of soft delivery vehicles, including a multi-chambered sphere controlled by pneumatics. Pressurizingsome of the elastic chambers while reducing pressure inothers resulted in steerable movement. There was noroom for a significant payload, however.

So, what’s my take-away from the meeting? I’mcertain that one day you’ll be able to walk to your cornerdrugstore and have an autonomous robotic surgeon sewup a laceration, lance a blister, or remove an ingrowntoenail. I’m also confident that the military will perfectsoft robotic weapons. The underlying challenge in theseand other robotics R&D projects is economics. Regardlessof the state of the economy, there will always becompetition from traditional technologies, the need for a positive return on investment, and the need forvisionaries to champion technologies to the forefront. So, step up and let’s get going. SV

Mind / Ironby Bryan Bergeron, Editor

6 SERVO 04.2010

Mind-Iron Apr 10.qxd 3/9/2010 3:24 PM Page 6

Page 7: Servo magazine – April 2010

Published Monthly By T & L Publications, Inc.

430 Princeland Ct., Corona, CA 92879-1300(951) 371-8497

FAX (951) 371-3052Webstore Only 1-800-783-4624

www.servomagazine.com

SubscriptionsToll Free 1-877-525-2539

Outside US 1-818-487-4545P.O. Box 15277, N. Hollywood, CA 91615

PUBLISHERLarry Lemieux

[email protected]

ASSOCIATE PUBLISHER/VP OF SALES/MARKETING

Robin [email protected]

EDITORBryan Bergeron

[email protected]

CONTRIBUTING EDITORSJeff Eckert Jenn EckertTom Carroll David GeerDennis Clark R. Steven RainwaterFred Eady Kevin BerryGregory Intermaggio Chris SavageRob Farrell Mike KeeslingJim Miller Nick MartinMatthew Spurk James Baker

CIRCULATION DIRECTORTracy Kerley

[email protected]

MARKETING COORDINATORWEBSTORE

Brian [email protected]

WEB CONTENTMichael Kaudze

[email protected]

ADMINISTRATIVE ASSISTANTDebbie Stauffacher

PRODUCTION/GRAPHICSShannon Christensen

Copyright 2010 by T & L Publications, Inc.

All Rights ReservedAll advertising is subject to publisher’s approval.We are not responsible for mistakes, misprints,or typographical errors. SERVO Magazine assumesno responsibility for the availability or condition ofadvertised items or for the honesty of theadvertiser. The publisher makes no claims for thelegality of any item advertised in SERVO.This is thesole responsibility of the advertiser.Advertisers andtheir agencies agree to indemnify and protect thepublisher from any and all claims, action, or expensearising from advertising placed in SERVO. Pleasesend all editorial correspondence, UPS, overnightmail, and artwork to: 430 Princeland Court,Corona, CA 92879.

Different GEARSfor different years

Contact Mark Newby at [email protected]

GEARS offers unique Robotics Programs for Middle, High School, College and beyond!

Surface Mobility PlatformThe Surface Mobility Platform (SMP) features durable

components for larger robots and heavier payloads

in off-road environments. It is ideal for search

and rescue experimentation, environmental

research, surveillance or even simulated

first responder activities.

Base kit $1,500.

Heavy Metal Chassis The Heavy Metal Chassis now comes in three versions:

HMC-Lite, HMC Belt or Chain Drive, and HMAC with

articulating wheel base for off-road action. It's a solid

foundation for any Robot Program. Students can spend more

time integrating their own fabrications, ESC’s, microcontrollers

and sensors. Starting at $399.

HMC-Lite above with optional Machine Science XIPMod Robot Controller and battery.

SMP shown with optional Fuel Cell.

HMC 10 lb. chassis supports 200 lbs standing weight!

HMC also makes a super combat robot foundation.

HMAC Articulating Robot inset below.

Robot Starter Kit Includes robot chassis,

servo motors, wheels, and

your choice of RC Kit or

Micro Controller and Sensor

Kit for just $229.95.

SERVO 04.2010 7

Dear SERVO:Nothing much, but I noticed that

the board layout in the CheapBotproximity detector in the Feb. ’09issue shows seven resistors and theschematic shows six. Thought I wouldpoint it out. I mill my own boards andran into the oops during setup.

I enjoy SERVO, and use it forideas for my four grandkids andmyself. I believe it is a great source for ideas to inspire and improve theirlives.

Don PerryChatham Center, NY

Page 7 Apr10.qxd 3/4/2010 8:24 PM Page 7

Page 8: Servo magazine – April 2010

New Fleet of AUVsBy the time

you read this, theLeibniz Institute ofMarine Sciences(IFM-GEOMAR;www.ifm-geomar.de) willhave launched anew swarm ofautonomousunderwatervehicles to performoceanographic

studies in the tropical Atlantic. Although there are alreadymore than 3,000 AUVs drifting around, takingmeasurements, and relaying gathered information, thepresent units have at least one major drawback: They haveno propulsion systems, and thus their paths are at themercy of the currents. The new ones are a bit different.Although they have no motors or propellers, they can usetheir wings to move forward much like sailplanes do in theair. Using a zigzag pattern, one of them can cycle betweenthe surface and depths of about 1,000 m (3,280 ft) usingonly about as much power as a bicycle headlight. Not onlycan the new gliders transmit gathered data in real time,researchers can contact them via satellite phones andprogram them with new mission parameters.

Present plans call for as many as 10 of the gliderssimultaneously carrying out autonomous missions for weeksto months, measuring temperature, salinity, oxygen andchlorophyll content, and seawater turbidity. The first two-month mission will take place about 60 mi northeast of theCape Verde Island of Sao Vicente. If you want to followtheir progress, just log onto gliderweb.ifm-geomar.de.

Walkbot Overcomes Obstacles Using“Chaos Control”

As a result ofresearch by scientistsat the Georg-AugustUniversity of Göttingen(www.uni-goettingen.de) with supportfrom the BernsteinCenter forComputationalNeuroscience and theMax Planck Institute forDynamics and Self, asix-legged robot has

been developed that can autonomously switch amongvarious gaits to move slowly or quickly, overcome obstacles,navigate inclines, free itself from holes, and so on. Thesecret is a mechanism called “chaos control” that is used toproduce the different movement patterns.

Using various sensors, the robot gathers informationabout its environment and feeds it to the central patterngenerator (CPG) which controls its movements. The CPG isa tiny network of simple interconnection elements,comparable with two neural units. The interaction betweensensors and the CPG can either be programmed or learnedby the robot through experience. The next step will be toequip the little creeper with a motor memory, enabling himto plan his movements in advance.

Bacteria Drive for Bots andOther Mechanisms

There is always thequestion of how you’regoing to power any kindof self-contained,autonomous device, anda fairly strange answer isunder development atArgonne National Lab(www.anl.gov).Scientists at ANL andNorthwestern Universityhave discovered thatcommon bacteria can turn microgears when suspended in a solution, opening up the possibility of “bio-inspireddynamically adaptive materials for energy.” The microgears— 380 microns long with slanted spokes — are placed in asolution along with the common aerobic bacteria Bacillussubtilis. The bacteria swim pretty much at random, butwhen they collide with the spokes of a gear, it turns them ina set direction. It takes a few hundred bacteria to turn eachgear, and when multiple gears are connected (as in aclock), the bacteria will turn both gears in oppositedirections, causing them to rotate in synchrony.

The gears’ speed can be controlled by varying theamount of oxygen in the solution, reminiscent of how acarburetor throttle controls engine speed. It seems like itwould take quite a few bacteria to drive anything heavierthan a golf cart for an amoeba, but, according to ANL’sIgor Aronson, “Our discovery demonstrates how microscopicswimming agents, such as bacteria or man-made nanorobots,in combination with hard materials, can constitute a `smartmaterial’ which can dynamically alter its microstructures,repair damage, or power microdevices.”

bbyy JJeeffff aanndd JJeennnn EEcckkeerrttRRoobbyytteess

Underwater view of glider. Photo providedby Holger v. Neuhoff, IFM-GEOMAR.

This robot generally uses regularleg movements but can employ a

“chaotic” pattern to free itself.Courtesy of Network Dynamics

Group, Max Planck Institute for Dynamics, and Self.

Silhouettes of several geardesigns that could be turned by

Bacillus subtilis bacteria.

8 SERVO 04.2010

Robytes - Apr 10.qxd 3/4/2010 6:48 PM Page 8

Page 9: Servo magazine – April 2010

Robotic Rodent Riddance

In a fine tribute to Rube Goldberg and a stick in theeye to Ralph Waldo Emerson, Jake Easton of Telovation(www.telovation.com) has unveiled his robotic BetterMousetrap. What we’re talking about is a gratuitouslycomplex contraption that employs ultrasonic sensing, ahigh-speed pneumatic cylinder, a laser, a key switch, andother features to enhance the process of detecting andeliminating its target. You have to admit, though, that it’spretty attractive, with its 1/4 inch thick polished aluminumcase, analog pressure gauge, and lighted armed/detect/fireindicators. The biggest drawback seems to be that itreally can’t tell the difference between a mouse and yourschnauzer. Given that it packs a strike force of 102 lb(46 kg) at 40 PSI, it would be a good idea to locate itstrategically to avoid accidents.

Body Fluid Botfor Labs

Not only isthe collection andtransport ofspecimens one ofthe least appetizingand somewhathazardous jobs inthe healthcareindustry, it alsoaccounts forsomewhere

between 46 and 68 percent of analytical errors and eatsup as much as 50 percent of the average technician’s time,according to prominent medical journals. To address thesituation, CSS Robotics, Inc., and Swisslog HealthcareSolutions have put their heads together and come up withSpeciMinder™ — a bot designed to do the dirty work for us.Available for purchase or lease, the automated delivery cartclaims to offer high-level security, timeliness, and reliabilitywhile being as simple to operate as a toaster.

Techs can select specimen destinations by simplypressing a button, and the bot will select the mostefficient route, stop at all selected destinations, and returnfor duty when the job is done. It also finds its way back tothe charging dock when not in use. According to themanufacturer, it can handle up to 50 lb (23 kg) of cargoper run, open doors, and (via wireless control) even operateelevators. For details, see www.ccsrobotics.com.

Keep Cleatus Out of Your Oral Meatus

In case you had been planning to buy one of theFox Cleatus Robot action figures but haven’t been ableto find one, consider yourself lucky. A recent shipmentfrom China was intercepted in Seattle by the US Customsand Border Patrol and tested for safety. Yep, you guessedit. They were found to contain 1,800 ppm of lead —six times theacceptable levelas specified inthe FederalHazardousSubstances Act.The 17,592 seizedunits were valuedat $96,000, orabout $5.46each, considerablyless than thecommon $24.99retail price.

If you alreadyhave one, youmight try toavoid chewingon it, as leadpoisoning causesa wide rangeof neurological,gastrointestinal,reproductive,renal, and otherproblems. SV

The SpeciMinder™robotic specimen

transporter, dockedfor a recharge.

SERVO 04.2010 9

Telovation’s Better Mousetrap primed for the kill.

Cleatus action figures: Get the lead out!

Robytes - Apr 10.qxd 3/4/2010 6:48 PM Page 9

Page 10: Servo magazine – April 2010

Bossa Nova Robotics is the eventual result of a$20,000 DARPA project completed at Carnegie

Mellon University. The immediate offspring of theproject was a six legged robot named Rhex thatwalked on six rolling legs, each attached to awheel. The legs hit the ground at alternatingpoints to produce forward locomotion.

Today, two toy robots run on two such legs.Penbo the toy penguin walks by waddling. Prime-8rolls on its arms.

Prime-8A total of eight sensors and three motors

educate and actuate Prime-8 the gorilla robot.Motors actuate the legs up and down andmake the robot run on its legs. “The legsextend or retract to steer the robot,”explains Sarjoun Skaff of Bossa Nova.

Sensors include two IR receivers, oneemitter, and sound and touch sensors. Themicrophone together with the infraredenables touch detection. “The infraredknows when your hand is close to therobot and the microphone senses contact,”Skaff says. The microphone enables therobot to hear and respond to the user’svoice.

Prime-8 senses objects and motion. Ifthe robot is not moving but detects that itsinfrared sensor has been triggered, then it

knows that something else is moving. If theinfrared detects an object while the robot ismoving, it knows that there is an object there andit moves to avoid it.

The robot uses a low-cost microcontroller withIC masking. The control software is burned intothe chip to enable mass production at a loweredcost. Software that is not burned-in could becomebuggy or fail and have to be reinstalled.

Infrared is also a way for two Prime-8 robotsto communicate and synchronize their behavior. “Ifyou want to daisychain one in front of the other,you can synchronize the two and they will dancein tandem,” says Skaff. The robots can alsocompete in laser tag.

Contact the author at [email protected] David Geer

Penbo For Girls, Prime-8 For BoysWalking Wonders Waddle, Roll, and Interact

Prime-8 from Bossa Nova Robotics is a gorillarobot that walks by rolling on its arms. It’s

technically made for kids eight to 12 years old.

Penbo is an intuitive emotive penguin robot — completewith baby — for girls. Prime-8 is a macho, aggressivegorilla robot for boys. Together, they represent hours of playtime for kids of all ages.

10 SERVO 04.2010

Geerhead - Apr 10.qxd 3/4/2010 6:54 PM Page 10

Page 11: Servo magazine – April 2010

Prime-8 GamesPrime-8 is capable of four games including

Dodgeball, Race Running, Target Shooting, andLaser Tag. The user presses a button on theremote control to pan through the different gameselections. At the Dodgeball selection, the robotwill make a sound like falling bowling pins.

By hitting Prime-8 in his blue center chestplate in this game mode, the user can make it fallover. The robot will try to avoid being hit,however, and if it is struck somewhere else, it willonly laugh.

In Race Running mode, the robot signifies theuser is in the correct mode with a sound like anengine starting. When the user presses the“shoot” button, the robot will count down andthen take off rolling on its arms. It can raceanother Prime-8 or the user. It moves about 0.8meters per second.

In Target Shooting mode, the robot makes asound like a rocket firing. The user simply installsthe rocket launchers and rockets, and aims for thetarget (target cut-outs come with the robot). Theuser aims and shoots via remote control using theup, down, left, right, and shoot commands.

In Laser Tag mode, two Prime-8s can chaseone another, target, and shoot lasers at eachother which are recognized via infrared. To selecta robot to control, one user must toggle to A andthe other to B on the remote control. Each direct

hit scores six points.The robot can also be made to tap dance as

it responds to the sound of the user’s handsclapping repeatedly. Tickle the robot’s belly andit will break out in laughter.

Moods and AnimationsPrime-8 has many moods and animations.

When it is in a good mood, it can be a little rudebut mostly it is compassionate. It will break dance,run in circles, and whistle.

When it is in the Gone Bananas mood/mode,it will pretend to swim on its back, lift virtualweights, stand on its head and stretch, and fireits lasers. To put the robot into Gone Bananasmode, simply wake it with a clap once it hasfallen asleep.

Remote ControlThe remote has 24 different controls to make

the robot move back and forth, left and right, andgo into turbo mode (fast!). One button isdedicated to animation and will cause the robot toenact one of 15 different sequences at randomwith each press.

One button makes Prime-8 autonomous, inwhich case it will run around on its own and sniffthe furniture while avoiding objects or people. Bypressing the demo button, the user can take the

SERVO 04.2010 11

GEERHEAD

Penbo’s baby pops out from her belly. The babybecomes a remote control for optional RC use.

The Penbo penguin robot from Bossa Nova Roboticsis a friend for kids ages four to six.

Geerhead - Apr 10.qxd 3/4/2010 6:55 PM Page 11

Page 12: Servo magazine – April 2010

robot through all its capabilities automatically.In guard mode, the robot will detect intruders

and fire rockets at anyone who comes near.Other control buttons enable programming

the robot in unique sequences of movements andanimations. “Simply record a sequence ofcommands and press play to execute,” says Skaff.

The robot is available in the US for $79.

PenboPenbo’s action is possible because of three

motors: two for leg motion and one for wingflapping, eye opening, and release of the baby(“bebe”) egg from Penbo’s stomach.

Penbo interacts with its environment basedon input from seven sensors including infraredemitter-receivers, sound and touch detectors,egg detector, and baby detector. “Some of thesensors are inward-looking and some areoutward-looking,” describes Skaff. This meansthat some sensors study what is going on insidethe robot, while others focus on what happensoutside the robot.

The sound sensor enables the robot to hearthe user and respond in its native toy penguinlanguage — Penguish — which is a combination ofPenguin and English. A radar sensor enablesPenbo to know the user’s location so it canrespond accordingly.

Some sensors are directed at objectrecognition and avoidance while a capacitivesensor in the toy penguin’s head senses touch. Ifthe penguin is in a good mood, a touch to itshead triggers a happy response. In a bad mood, atouch will evoke a sad reply.

“When you stand Penbo on its head, it lovesthat and intuitively responds in a positive manner,”says Skaff. Many of the robot’s other functions aretriggered by a head touch. By tapping the headtwice, the user can make Penbo do a cha-chadance.

Bebe has sensors too. These include aninfrared signal to call out to Penbo along with itssound. Penbo hears through the sensor in its heartand communicates with the baby.

Penbo uses a processor with the softwareburned permanently into the silicon of the chip toenable low-cost mass production, according toSkaff. Bebe becomes a remote control when theuser presses both wings at the same time for twoseconds. “In RC mode, the user can make Penbowalk forward by pressing on Bebe’s head, turn bypressing on the left or right wing, or dance bypressing both wings simultaneously,” explainsSkaff.

Penbo GamesPenbo can play five different games

interactively including Tag, Hide and Seek,Peek-a-Boo, Marco Polo, and Musical Chairs.

Touch the heart twice and tap the head, andPenbo’s Tag game becomes active. As Penbo takesoff waddling away, the user must tap the head tostop it. As Bebe is also a remote control, the usercan activate Penbo’s Hide and Seek game bypressing Bebe’s left wing (button). When Hide andSeek is activated, the robot turns in circlessearching for Bebe.

The user participates by pressing Bebe’s headto make it cry out “Mommy!” When Penbo hearsits precious offspring, it waddles toward thesound. If Penbo locates Bebe again and hones inon its location, it becomes elated. If Penbo doesn’thear Bebe, it becomes disappointed. “If Penbodoesn’t locate Bebe after three attempts, it exitsgame play,” says Skaff.

In Peek-a-Boo game mode, the user danceswhile Penbo sings. When Penbo stops, the usermust sit in front of Penbo quickly. “If you do and itsenses you are there, you win,” says Skaff.

With Marco Polo, Penbo again searches for itsbaby. Penbo spins around and calls out “Marco?”Bebe responds “Polo.” “If the baby responds whilethe mother is facing her, Penbo waddles to herand opens her egg hatch for the baby to return,”Skaff points out.

Penbo has another game called Mimic Me. Inthis game, Penbo makes a sound and the usermust repeat it. Penbo picks up that sound with itssound detection sensor. If the sound the user makesis of the same pattern, Penbo responds happily.

Two Penbos are able to talk to each other orsynchronize and sing a duet. Penbo retails for $59in the US.

ConclusionBoth robots are unique additions to the world

of animated, interactive play for kids. It won’t belong before someone posts Prime-8 and Penbo,hacks soon enough. SV

GEERHEAD

12 SERVO 04.2010

Bossa Nova Robotics www.bnrobotics.com

Prime-8www.prime8robot.com

Penbowww.penbo.com

Resources

Geerhead - Apr 10.qxd 3/4/2010 6:55 PM Page 12

Page 13: Servo magazine – April 2010

April marks my two year anniversary ofwriting this column. This month, I got a questionthat practically has me going full circle back toone of my earlier questions about one of myfavorite topics: a NON Windows OS tool install.Without further reminiscing, let’s get started.

Q. I use Linux for most everything andhave started programming MCUs underLinux, but there are no good tutorials to

be found on how to do this from scratch. Thetutorials found are often about the GNU tool chainand its installation, but I’m looking for the wholething.

Since you publish so many tutorials regardingprogramming (but they are all WinX based), Ithink it should be fun to publish one regarding theopen-source world of OS.

If the tutorial could include the building of atool chain and a makefile, and the use of any texteditor based “hello world” example, it would begreat! AVRDUDE is a great program to use underLinux/MAC/WIN and also deserves a place in thistutorial I ask for. Eclipse + plugin for AVR and a simpleLED trick on a breadboard would do the trick.

A breadboard based tutorial is a cheap andgood way to start regardless of which MCU or OSor programming language one uses.

— Many thanks from Sweden and apleased subscriber!

A. Wow! That is a tall order! I see your pointand I feel your pain! As a regular reader youhave noticed that I am a Mac OS X person

and rarely write about Windows programming orenvironments (the PIC being the exception, since itis currently Windows-only based). Way back inAugust ‘08, I wrote about setting up the avr-gcctool chain with Eclipse and an AVR plugin on the

OS X platform. It took me some time to fiddlewith everything but I have succeeded in gettingthe full avr-gcc on the newest Eclipse platform towork fine on Ubuntu 9.10 (Kharmic Koala).Following is my tutorial on how to accomplish thisfeat. First off, I’d like to tip my hat to the avr-gccdevelopment crowd for their heroic work increating and supporting this open source project.While I’m at it, I’d like to also thank the Eclipsegang, Avrdude development gang, and last butnot least the developer of the AVR Eclipse plugin.The combination of all of these fantastic opensource zealots has made our lives that much moreinteresting now that we have these tools!

I will detail here where to find the variousparts of the AVR tool chain, Eclipse, and the AVRplugin. I’ll show you how to install and configure itall, how to set up an AVR serial port programmerdevice in Linux, and how to create a tool in Eclipseto do the program download at the push of abutton. For a project, I’ll use a simple blinking LEDprogram for a simple ATMEGA328 circuit. This willdemonstrate a fully working system built fromscratch on a common Linux distribution. (Thatshould get you going with your AVR hobby!)

There should be a lot of useful informationhere since it’s not as easy to set this up andconfigure it as it would be on the Macintosh OS X.It isn’t super difficult either, so don’t stop readingyet! We’ll be getting the avr-gcc 4.3.3 tool chainand the Eclipse Galileo IDE, along with avrdude5.8. This will get a little complicated, we’ll use the“a picture is worth a thousand words” style ofteaching with a lot of screenshots. Those of youthat know your way around Linux can ignore myexplanations of how to do things, and go directlyto the good parts. This tutorial will be helpful forthose who are just rusty or completely new to theLinux environment.

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 youwhere you are — and what more would you expect from a complex service droid?

byDennis Clark

Our resident expert on all things robotic is merely an email away.

[email protected]

SERVO 04.2010 13

MrRoboto - Apr 10.qxd 3/4/2010 7:05 PM Page 13

Page 14: Servo magazine – April 2010

Speaking of such, you’ll notice that “sudo” isused a lot; this is a UNIX command that allows auser to do something at root, or superuser. The“su” stands for “SuperUser” and you can figureout what the “do” means. When you use sudo,the OS will ask you for the superuser passwordwhich you create when you install your OS.

Step Zero: Know where we started!

I downloaded and installed Ubuntu 9.10(Kharmic Koala) as my Linux distribution of choice.I chose Ubuntu because it seems to be the mostpopular strain of Linux I’d been hearing aboutlately. Here is where I got my it:www.ubuntu.com/GetUbuntu/download

Just follow the instructions for downloadingthe ISO image and burning it to a CD-ROM. Then,boot from the CD-ROM you just made and followthe directions. Probably any Linux will do thatsupports the apt-get distribution tool – I’ve usedthis tool on Suze, Red Hat, and Ubuntu. So far, Ilike Ubuntu’s setup the best, however, yourmileage may vary.

Step One: Install the avr-gcc tool chain.

After you have installed and configured your

Ubuntu system (or if you already have a version ofLinux that you like up and running), it is time toget the avr-gcc tool chain. On Linux, apt-get isyour friend; we’ll use it to install and set up theentire tool chain, largely auto-magically! Open aterminal window and type the following: sudo apt-get install gcc-avr avr-libc avrdude librxtx-java(Figure 1).

You’ll need the librxtx-java if you want to playwith the Arduino environment later on. I’mplanning on doing a quick tutorial on that install ina later installment, so let’s just drop it in too. Thecompiler is called avr-gcc, but for some reason theapt-get package is called gcc-avr – don’t let thatconfuse you.

What makes apt-get so nice to work with isthat it will download and build what you areinstalling. While it does that, it sorts out anydependencies that the package needs anddownloads and builds those too. So, when yourun apt-get, be ready to sit back for severalminutes while files are found, sorted, downloaded,installed, and finally built.

This apt-get package will install the tool chainin /usr/bin. This would not have been my choice —I like to put things in their own little sandbox like/usr/local/avr-gcc, for instance — but I didn’t wantto fuss with apt-get options to move the installand perhaps mess up some path dependenciesdown-stream. So, I left it where it put it. To proveto yourself that all went well, type avr-gcc –v onyour command line (letter case matters!); you’llsee that you are running version 4.3.3. Likewise,type avrdude –v and it will report version 5.8.You’re good to go ... on with the next step!

Step Two: Get Eclipse CDT foryour projects.

Why do we want Eclipse? What does it do?Eclipse is a generic IDE (Integrated DevelopmentEnvironment) that is designed to work with avariety of programming languages. However, byitself, Eclipse is really nothing more than acustomizable text editing program. If you add onplugin modules, then Eclipse becomes a whole lotmore. The CDT version of Eclipse is customized forC and C++ programming so that it recognizesthose types of syntax and can help you with avariety of editing enhancers. With the AVR plugin,Eclipse also handles building makefiles andgenerating the correct build flags for the avr-gcccommand line compiler and linker. You can addSubversion or any other software versioning pluginsupported, and you can debug your software withGDB, as well. Many different platforms use Eclipseas the IDE of choice. I’ll show you how to

14 SERVO 04.2010

Figure 2. Get Eclipse from the source.

Figure 1. Get the avr-gcc tool chain.

MrRoboto - Apr 10.qxd 3/4/2010 7:06 PM Page 14

Page 15: Servo magazine – April 2010

configure a tool in Eclipse to also program yourAVRs using avrdude. Eclipse is a very handy toolfor a developer.

Eclipse comes in a lot of flavors for a lot ofdifferent programming languages, from java topgp. We only want the C/C++ environment; justgetting the CDT environment means a leanerprogram that will run faster, and will definitelydownload quicker. Go to www.eclipse.org/downloads and scroll down looking for EclipseIDE for C/C++ Developers. When you find it, clickon the Linux 32bit link to the right of thedescription (Figure 2). This link will take you tothe actual download page. Click on the Downloadarrow and wait for it to come in. Firefox (asconfigured on my Ubuntu OS) put the downloadfile in /tmp/eclipse-cpp-galileo-SR1-linux-gtk.tar.gz.Firefox may want to open the file in a tool that willuncompress it. Don’t let it do that! We’re goingto put Eclipse where we want it. This file willdump it into /tmp if you just gunzip it, so simplysave the file and we’ll deal with it later.

Okay, now you have it, but it is in a tarredand gzipped file. It’s not as pretty as getting anapt-get package, but apt-get wanted to downloada fully loaded Java IDE with a bunch of things in itwe didn’t need or want for AVR development, soI went right to the Eclipse project to get aninstall. We can’t run anything as a zip file, andwe certainly don’t want it in /tmp, so we’regoing to move the file and uncompress it in/usr/local/eclipse. First, gunzip the file in/tmp by typing cd /tmp gunzip eclipse-cpp-galileo-SR2-linux-gtk.tar.gz (Figure 3).

Now we just have a tar file. Let’screate the directory we want Eclipse tolive in. Type sudo mkdir/usr/local/eclipse. This will create ourEclipse directory. Now type sudo mv/tmp/eclipse-cpp-galileo-SR2-linux-gtk.tar/usr/local/eclipse. This command movesour tar file to our desired final locationwhere we will uncompress it and createour Eclipse environment. Type cd /usr/local/eclipse sudo tar xf eclipse-cpp-galileo-SR2-linux-gtk.tar (Figure 4).

Congratulations! You now haveavr-gcc and Eclipse installed. But wait!There’s more! You will want Eclipse toknow where your avr-gcc compiler is and

how to do AVR-type cool stuff. To do that, youwill need the Eclipse AVR plugin. We can get thisplugin directly from inside the Eclipse IDE. On tothe next step ...

Step Three: Get the Eclipse AVRplugin installed.

This plugin handles all of the tedium of findingthe compiler, deciding what compiler switches touse, and — most importantly — building the makefilesthat build your AVR projects so you don’t have to.Like everything else we’ve gotten so far, this too isan open source project. The first thing that we needto do is find the plugin so that we can tell Eclipsewhere to get it. Google helped me out with this task.Here are the download and install directions:http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download.

This site is a little dated; we’re going to beusing Eclipse 3.5 (Galileo) but while the textaround the software install process has changed alittle, it is still recognizable enough that we canmuddle through. If you have problems getting thisto install gracefully (like I did at first), you candirectly install the plugin as per the directions nearthe bottom of the page. Either way, it isn’t toodifficult. I’m going to show you how to install theplugin from within Eclipse.

In the upper left of your Ubuntu desktop, clickon Places; draw down to computer and open that.

SERVO 04.2010 15

Figure 3. Use gunzip. Figure 4. Uncompress the Eclipse install.

Figure 5. Ta da! Eclipse!

MrRoboto - Apr 10.qxd 3/8/2010 8:18 AM Page 15

Page 16: Servo magazine – April 2010

In this window, navigate to filesystem-usr-local-eclipse. You’ll see your Eclipse executablehere; double-click on it. Of course, if you arestill in your command line terminal in the eclipsedirectory you can just type eclipse and get thesame thing to happen. You’ll start Eclipse up andsee what is shown in Figure 5.

Here we go. Click on Help-Install newSoftware as shown in Figure 6. When the nextwindow comes up, click on the Add button andyou’ll get Figure 7. Fill in these details:

Name: AVR Eclipse PluginURL: http://avr-eclipse.sourceforge.net/updatesite/Then hit OK.

Now, click on the down arrow next to the

Work with: window and select the AVR pluginentry. Type AVR into the window that has typefilter text written in it. Now, select the AVR EclipsePlugin entry that will appear in the main windowand put a check into the checkbox next to the2.3.1 version of the AVR plugin (Figure 8). I hadto fiddle around with this window to make surethat I selected the correct fields, clicked the correctboxes, and wrote text in the correct windows. Ifyou’ve done everything that I’ve said to do above,then the Next > button will become active andyou can move on. If you didn’t do everything, thebutton will not become active and you won’t beable to move on and get the plugin installed. Goahead and click Next >.

You will get a page that warns you aboutunsigned content. Don’t worry, just click OK. You’llget a license page which you must accept or youwon’t get your plugin. Finally, you will get a

16 SERVO 04.2010

Figure 6. Add the new plugin software.

Figure 7. Details for the plugin.

Figure 8

Figure 9

MrRoboto - Apr 10.qxd 3/4/2010 7:07 PM Page 16

Page 17: Servo magazine – April 2010

download progress window like the oneshown in Figure 9. Now, you are homefree! Wait for the software to bedownloaded and installed; when a screencomes up that tells you that you shouldrestart Eclipse, do so — it won’t take long.Galileo is very fast; it’ll be right back.

When you start Eclipse up, you’ll get awindow that asks where you want theworkspace directory installed. I always takethe default; it seems reasonable to me. Youare now ready to try your first AVRprogram. Here are the steps for using theAVR plugin to set up a new AVR program.

• Select File-New-C Project (Figure 10).• Give your project a name; in the left side

window select AVR Cross TargetApplication and under that, EmptyProject. In the right pane, you’ll see AVR-GCC Toolchain. Hit Next > (Figure 11).

• Select if you want both a Debug andRelease build option. I only use theRelease option because I’ve yet to putthe effort into getting GDB and AVaRicedebuggers to work in the Eclipseenvironment. If you have done this,please let me know how because notonly would I love to know, I’m suremany readers would too. For now, hitNext > again (Figure 12).

• Select your microcontroller. Figure 13shows the ATMEGA168; I’ll be doing ademo LED blinker for the ATMEGA328p,so you might want to select that instead.

SERVO 04.2010 17

Figure 10

Figure 12

Figure 11

Figure 13

MrRoboto - Apr 10.qxd 3/4/2010 7:08 PM Page 17

Page 18: Servo magazine – April 2010

Select the clock speed. Figure 13 shows16 MHz which is my favorite clock speed.Hit Finish and you have now created aproject – you just need to add files to it!

Step Four: Write an AVR gcc programand compile it.

This tutorial is about installing the tools to getgoing with the AVR microcontrollers, not aboutprogramming them. However, I feel you shouldhave something to make sure everything works.

So, with that in mind, here is the embeddedworld’s version of everybody’s first program,“Hello World.” It simply blinks an LED. Refer toListing 1 for this discussion.

Let’s look at this simple program, function byfunction. First, init(). The DDRB, DDRC, and DDRDare the Data Direction Register B/C/D. These registersdefine whether an I/O pin is an input or an output.Each bit in the register corresponds to an I/O line.A logical ‘0’ in a bit means that this line is an input;a ‘1’ means it is an output. Notice that I seteverything to be an output. This does two things:

First, it makes it easyto turn on an LED.The second reasoncomes from being aprofessional embeddedengineer. We tend tomake any unused I/Oline an output so thatwe avoid generating“noise” on an inputthat can make a systemunstable. The otherway to avoid this noiseis to tie said I/O lines toeither Vcc or ground,and make the pin aninput. Without genericboards, it makes moresense to make the pinan output if it’s notbeing used. The ACSRregister defines theuse of the analogcomparator module. Ifwe don’t turn this off,it will interfere with thedigital functions onthose I/O lines. Get intothe habit of looking for acomparator on your microsand turning them off!

Lastly, weconfigure TCCR2A andTCCR2B. These arethe Timer/CounterConfiguration Registersfor Timer2 in theATMEGA168 andATMEGA328. This isan eight-bit timer thatcan be used for PWM.In this case, we’reconfiguring it as asimple timer. The 0x04setting configures the

LISTING 1/** test.c** Hello World for the embedded programmer.** Created on: Feb 9, 2010* Author: dlc*/

#include <avr/io.h> //Takes care of ALL I/O definitions

void init(void){

DDRB = 0xFF; //all of port B is outputsDDRC = 0xFF; //all of port C is outputsDDRD = 0xFE; //RxD is an input, rest outs

ACSR = 0x80; //Turn off analog comparitor

TCCR2A = 0x00; //Just a timerTCCR2B = 0x04; //prescale 16MHz by 64 for 1.024mS/256

}

void waitms(unsigned int d)/** a ms timer routine.*/

{int delay;

for (delay=0; delay<d; delay++){

TCNT2 = 1;while(TCNT2); //wait for a rollover

}}

int main(void){

init(); //Set up our processor

PORTB = 0x02; //Turn on LED on PORTB.B1

while(1) //blink LED forever{

PORTB = 0x00;waitms(500);PORTB = 0x02;waitms(200);

}}

18 SERVO 04.2010

MrRoboto - Apr 10.qxd 3/8/2010 8:18 AM Page 18

Page 19: Servo magazine – April 2010

prescaler to divide the system clock (16 MHz) by64. When this is set up, a full count of 256 willrollover the TCNT2 register (where the counter iskept) every 1.024 ms. This is important to use aswe’ll see later.

Now let’s look at the waitms() function. Theonly purpose for this function is to give us an easyto use timer. I really dislike a padded for/next loopfor timing – that isn’t timing, it is just wasting timeso why guess? Set up a timer in your micro anduse it. That’s what the timer is there for. I’ll be thefirst to admit that this timer function is crude, butit illustrates a way to use a microcontroller timer.In this module, we set TCNT2 = 1 and then sit in awhile() loop until TCNT2 is zero. This is roughly 1ms so we do this the number of times equal to thenumber of milliseconds we want to delay. Simple,huh? Use your timers; they are easy to use.

Finally, we get to the main program,coincidentally called main(). (Okay, so it isn’t acoincidence.) When a compiler and linker create aC program executable, the linker sets things up sothat the code starts executing at the first line inthe main() function. In our little “Hello World”program, all that is happening in main() is that theLED is flashed after we initialize the micro. That’sit — your first program! Type this in and hit thecompile button (the one in the upper left of theicon bar that looks like a page with 1s and 0s onit). Or, you could navigate Project-Build All, or youcould hit <control>B. Look down at the bottom ofyour Eclipse IDE and you’ll see a window withsome tabs on it. There are two we are veryinterested in: Console and Problems. Consoleshows the output of the compiler and linker, aswell as any tool you use. Problems shows thecompiler and linker errors with line numbers and is“hot.” By hot I mean that if you double-click onthe error or warning shown in the window underthat tab, it will take you directly to the offendingline in your program so that you can fix it. This isanother neat feature of an IDE — hot links.

Next month, I’ll show you how to make aquick ATMEGA168 or ATMEGA328 board and useavrdude to download the code to it. During thatprocess, I’ll show you how to set up avrdude as atool in Eclipse so that all you have to do is press abutton to have it automatically find and downloadthe hex file to your board.

Q. Re: October 2008 Zombie.zip article;R/C receiver decoder. I found thereferenced implementation of a “tank-

like” RC decoder very elegant and would like to tryit out myself.

1) Please elaborate on the minimum support PIC

hardware that I will need to implement yourR/C decoder solution (i.e., what developmentplatform in detail was used for the PIC 18F252).

2) Please elaborate on where I can obtain thesupport software, as well (i.e., CCS -PCHcompiler).

3) Can this solution be ported to the PIC16 seriesor is the interrupt structure that you used thereason you chose to upgrade to the PIC18series of processors?

4) Are there any other articles or referenceinformation that will assist me in testing outthis solution?

— Stephen

A. I used MPLAB 8.43 (the latest), but anyMPLAB in the 7.XX and 8.XX range willwork just fine. I think though that the 8.XX

MPLAB is more stable. I used the PIC18F252because it gave me two PWM channels in a 28-pinpart that wasn’t very expensive. My programmerwas the Microchip ICD2, but a PICkit 2 will workjust fine and be a lot less expensive. Debuggingwill be much slower through the PICkit 2’s serialinterface, but it will work if you need it. MPLAB isfree; the PICkit 2 is about $40, and the ICD2 (nowobsolete) was about $170. I recommend the ICD3for a bit more than the ICD2 was; it is way fasterand more reliable!

The CCS PCH compiler is available atwww.ccsinfo.com for about $200. This is adecent small project compiler that is less expensivethan other PIC C compilers. They are starting toget a bit more expensive these days, but they arestill cheaper than the alternatives.

You can port this to the PIC16 family, but whybother? The parts aren’t that much less expensiveand — as you alluded to — the PIC18F family hasthe high speed interrupt capability that allowssome shortcuts to be used for high priorityinterrupts, making the ISRs simpler to code.

I thought that you could Google and find lotsof examples for this kind of project, but I foundthere really aren’t any other easy-to-followexamples for doing what I did with an RC receiverand simple translation code to drive a tank styleremote around.

That’s A WrapI’ve gotten quite a spate of questions in this

last month and nearly all of them are taking quitea bit of time to research! This tells me that thereare a lot of folks out there needing help to getgoing, so remember, I’m here to provide answersto your questions. You know where to send them:[email protected]. SV

SERVO 04.2010 19

MrRoboto - Apr 10.qxd 3/4/2010 7:08 PM Page 19

Page 20: Servo magazine – April 2010

Know of any robot competitions I’ve missed? Is yourlocal school or robot group planning a contest? Send anemail to [email protected] and tell me about it. Be sure toinclude the date and location of your contest. If you havea 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 alwaysfind the most recent version of the Robot CompetitionFAQ at Robots.net: http://robots.net/rcfaq.html

— R. Steven Rainwater

APRIL

8 Austrian Hexapod ChampionshipFH Hagenberg, AustriaSix-legged robots dance and race their way toannual fame. Based on previous years, expect tosee some interesting highlights on YouTube.http://fh-ooe.at/fh-oberoesterreich/aktuell/presse/fh-ooe-events

8-10 BotsIQ (previously known as BattleBots IQ)Mare Island, Vallejo, CAIn this competition, students build remotecontrolled combat vehicles.www.botsiq.org

10- Trinity College Fire Fighting Home 11 Robot Contest

Trinity College, Hartford, CTIn this event, autonomous robots must navigate ascale model of a house, search for a fire, andextinguish it.www.trincoll.edu/events/robot

12- Alcabot-Hispabot 16 University of Alcala, Madrid, Spain

In addition to regional Eurobot and Robocup Jrevents, there will also be Sumo, Velocistas, andRastreadores. My Spanish is a little rusty, but I’mguessing those last two are a robot racing eventand a line following event.www.depeca.uah.es/alcabot

13- DTU RoboCup15 Technical University of Denmark,

Copenhagen, DenmarkThis event includes varied courses including lineand wall following.www.robocup.dtu.dk

15- FIRST Robotics Competition17 Georgia Dome, Atlanta, GA

This is the big championship for FRC teams.www.usfirst.org

15- National Robotics Challenge17 Marion, OH

This is the NRC Championship.www.nationalroboticschallenge.org

16 Carnegie Mellon Mobot RacesCMU, Pittsburgh, PAThis is the famous annual CMU autonomousmobile robot race.www.cs.cmu.edu/~mobot

17 IstrobotSlovak University of Technology, Bratislave, Slovakia, EUEvents include IEEE Micromouse, mini Sumo, andfreestyle.www.robotics.sk

17 SparkFun Autonomous Vehicle ContestBoulder, COAutonomous ground and air robots mustcircumnavigate the SparkFun building.http://sparkfun.com/commerce/product_info.php?products_id=9016

17 UC Davis Picnic Day Micromouse ContestUniversity of California, Davis Campus, CAThe annual micromouse maze solving contest.www.ece.ucdavis.edu/umouse

18 Robot-SMVästerås, SwedenSumo, mini Sumo, and a robot pentathlon.www.robotsm.se

Send updates, new listings, corrections, complaints, and suggestions to: [email protected] or FAX 972-404-0269

20 SERVO 04.2010

EVENTSCalendar

Events - APR10.qxd 3/5/2010 9:05 AM Page 20

Page 21: Servo magazine – April 2010

22- VEX Robotics World Championship24 Dallas Convention Center, Dallas, TX

This is a really big world gathering of VEX teamsfor both autonomous and remote controlledcompetition.www.vexrobotics.com/competition

23- RoboGames25 San Mateo Fairgrounds, San Mateo, CA

BEAM, Mindstorms, combat, and just about everyother form of autonomous and remote controlledrobot competition you can imagine.www.robogames.net

24 National Electronics Museum Robot FestivalNational Electronics Museum, Linthicum, MDThis year’s event is combined with a mini MakerFaire and will include robot contests, R2 builderdemos, and regional hackerspace projects.www.robotfest.com

24 Penn State Abington Fire Fighting Robot ContestPenn State Abington, Abington, PAIn this event, autonomous robots must navigate ascale model of a house, search for a fire, andextinguish it.www.ecsel.psu.edu/~avanzato/robots/contests

24 Penn State Abington Mini Grand ChallengePenn State Abington, Abington, PAAutonomous mobile robots navigate an outdoor course.www.ecsel.psu.edu/~avanzato/robots/contests

24 The Tech Museum of Innovation’s Annual Tech ChallengeSan Jose, CAThis year’s competition iscalled Space Junk.http://techchallenge.thetech.org

24- Trenton Computer Festival 25 Robotics Contest

The College of New Jersey Campus EwingTownship, NJIn addition to computerand ham radio events,there are usually severalautonomous robot contests.Previous contests included

maze navigation, precipice avoidance, andline following.www.tcf-nj.org

MAY

2 Hawaii Underwater Robot ChallengeRichardson Pool, Pearl Harbor Naval Station, Honolulu, HIROV teams engage in timed, multitaskingmissions with tethered vehicles.www.marinetech.org/rov_competition

3-8 ICRA Robot ChallengeAnchorage, AKThe challenge includes several events suchas Mobile Microbotics, Mobile Manipulation,human-robot interaction, and a virtualmanufacturing challenge.http://icra.wustl.edu

7 SPURTTechnology Park Warnemunde Ltd.,Rostock-Warnemunde, GermanySPURT stands for School Projects Using RobotTechniques and the goal is to build robots thatrace each other on the SPURT track.http://spurt.uni-rostock.de

8 AustrobotUniversity of Applied Science, Wels, AustriaEurobot regional, this year’s event is called “feed the world.”www.austrobot.info

SERVO 04.2010 21

Events - APR10.qxd 3/5/2010 9:06 AM Page 21

Page 22: Servo magazine – April 2010

NNNNEEEEWWWW PPPPRRRROOOODDDDUUUUCCCCTTTTSSSS

22 SERVO 04.2010

New Products

High-G ShockAccelerometers withIntegral Electronics

Meggitt Sensing Systems hasannounced the launch of

Endevco® model 7255A — a miniature,lightweight piezoelectric accelerometer with integralelectronics. The rugged design and performancecharacteristics of this model make it ideal for use in near-field, high shock, and high level mechanical impact testingapplications, where unwanted high frequency signals oftenmask critical low level, low frequency data.

Model 7255A incorporates a built-in mechanical filter,which blocks high frequency energy associated with near-field high shock, and protects the sensing element from

overstress. An internal electronic filter prevents saturation.The sensor features a two-wire system with integratedhybrid signal conditioner which transmits a low-impedancevoltage output through the same cable that suppliesrequired constant current power. Signal ground isconnected to the inner case of the unit, acting as a shield.Both output and signal ground terminals are electricallyisolated from the mounting surface. For lower level shockmeasurements, a high output version is available. Bothversions include internal sensor assembly strain isolationwhich reduces strain input due to bending motion on themounting surface (often found in high shock events).

Included with the 7255A are two small gauge,lightweight hook-up wires for use with the two solder pinterminal interface. The wire configuration is well-suited forthis type of shock sensor, as wires do not exhibit thetriboelectric effect under motion — a benefit whichfacilitates device mounting with minimal strain to bothdevice and cable. The resultant strain minimizationsignificantly reduces potential for zero shift, and ensures

Save 10%with coupon code

SRV8SVP9

”2.20”

3.70"

NEW! Orangutan SVP-1284 Robot Controller

Learn morn more ae att wwwwww.ppololuololu.ccom/svp or com/svp or call 1-877-7-POLall 1 877 7 POLOLOLUU3095 Patrick Lane #12, Las Vegas, NV 89120

ACCELEROMETERS

APR10-NewProd.qxd 3/8/2010 9:04 PM Page 22

Page 23: Servo magazine – April 2010

SERVO 04.2010 23

high reliability and performance.For further information, please contact:

Seven New Educational Robot Kits

OWI, Inc.®, a leadingsupplier of educational

RobotiKits™ (robot buildingkits for all levels ofexperience) has introduced.

After the award-winningsuccess of OWI’s 6-in-1Educational Solar Kit (whichallows young builders to assemble, disassemble, andreassemble six different types of solar-powered robots),the company now offers four new Mini Solar Kits. Thisaward-winning line of solar-powered robot kits lets kidscreate their own fun, battery-free toy activated by a mini-solar panel. It’s hands-on science without the carbonemission, as kids see how their toys speed up or slow

down depending on light intensity.The new Mini Solar Kits include:

• T3 Transforming Solar Robot which transforms from tankto robot to scorpion with animated movement poweredby sunshine or a halogen light.

• 3-in-1 Solar Stallion which pulls a chariot, flies like aPegasus, or runs with the help of its trainer — powered by renewable solar energy.

• Solar System which will delight young astronomers aspaintable planets revolve around their very own solar-powered “sun.” The kit comes with six colors of opaqueacrylic paint, plus brush.

• Solar Bullet Train which zooms with the help of its solarpanel. Its 18 parts snap together and are secured withonly four screws. Train enthusiasts of all ages will enjoyputting this together and watching it travel without rails.

There are also three new Aluminum Dinosaur Kits: T-Rex, Triceratops, and Stegosaurus. These were createdfollowing the success of OWI’s Aluminum Bug Kits. Whilenot solar-powered, these Jurassic buddies are some of themost lifelike dinosaurs young paleontologists willencounter. With soft pre-punched aluminum parts, screws,nuts, and assembly tools included, these are a great wayto get kids interested in kit building.

For further information, please contact:

ROBOT KITS

Website: www.endevco.comMeggittSensing Systems

Tel: 310•515•1900Website: www.owirobot.com

OWI, Inc.

Perform proportional speed, direction, and steering withonly two Radio/Control channels for vehicles using two

separate brush-type electric motors mounted right and leftwith our mixing RDFR dual speed control. Used in manysuccessful competitive robots. Single joystick operation: upgoes straight ahead, down is reverse. Pure right or left twirlsvehicle as motors turn opposite directions. In between stickpositions completely proportional. Plugs in like a servo toyour Futaba, JR, Hitec, or similar radio. Compatible with gyrosteering stabilization. Various volt and amp sizes available.The RDFR47E 55V 75A per motor unit pictured above.www.vantec.com

STEER WINNING ROBOTS

WITHOUT SERVOS!

Order at (888) 929-5055

APR10-NewProd.qxd 3/8/2010 8:01 PM Page 23

Page 24: Servo magazine – April 2010

botsIN BRIEF

24 SERVO 04.2010

FUTURE LIES IN THE ATOMFutureBots (www.futurebots.com/walk.htm) is advancing robotics to

support the needs of mankind in space, healthcare, commercial, hazardous rescueactivities, and chemical and biological disposal applications with the introduction of the ATOM-7xp humanoid robot.

ATOM — which stands for "Advanced Technology for Optimizing Motion" —was built by Dan Mathias, an electrical/mechanical/software engineer.ATOM-7xphas 49 degrees of freedom, is made of aluminum, titanium, and carbon fiber, and isall hand built in the USA in the FutureBots Labs by Dan.The bot has many highpowered processor units running some of the world’s most advanced operatingsystems. It also has advanced stereo visionsystem and an advanced walking system thatimitates humans. Definitely check it out.

CARE-O-BOT OPENS UP

Remember Care-O-bot 3 from Fraunhofer IPA — the lovable littlerobot that’s missing a limb? Well, Fraunhofer IPA recently open-sourcedtheir software.

The Care-O-bot 3 software platform was recently ported to ROSand is fully available as open source.You can now go to the ROS.orgwiki and find documentation on the many software packages thatthey’ve released.

This is great news since developers will now be able to collaboratein making these robots do some truly amazing things — like accurateobject recognition which is becoming increasingly prevalent in

consumer robotics as technologies develop. In Care-O-bot 3’s case, objects are first scanned in three dimensions via a camera in the head. Once the bot has a 3D image saved, it can compare that saved image to live images from its camera to determine which object is which.

The Care-O-bot 3 stands 4'3” and has a single arm which is designed specifically to “relieve us of heavy, dirty,monotonous or irksome tasks.” One of its primary functions is to serve drinks. Since many drinks come in varying containers, it can actually learn the shape of each bottle or can.

To teach it a newly-shaped container, simply place the bottle or can into its hand, and it will produce a 3D renderingwhich will be stored in its memory.There are also sensors in each finger which allow it to grip the container with the rightamount of pressure, so as not to destroy your drink in the process of transporting it.

Currently, the Care-O-bot 3 takes orders via a touchscreen menu. However, there currently is a test unit which canreceive audio commands, as well.

Bots in Brief Apr10.qxd 3/5/2010 10:30 AM Page 24

Page 25: Servo magazine – April 2010

botsIN BRIEF

SERVO 04.2010 25

Cool tidbits and interesting info herein mainly provided by Evan Ackerman at www.botjunkie.com, but also www.robotsnob.com and other places.

NEW NAVY SWEEPERSYou’re looking at the Navy’s newest recruits:

(from left to right) CS3 Scooba Stevens, Chief MilesO’Brien, and ITSN Unger. No joke.That’s what they’vebeen named.The iRobot Scooba and Roombas are justpart of an entire assemblage of robots who clean thefloors on the USS Freedom, one of the newest and mostexpensive warships in the Navy.

Apparently, the robots are generally free to roamaround the ship on their own. Crew members still haveto do some sweeping, but the robots help keep thingstidy on a day-to-day basis. Give it a couple years ormaybe a decade, and the robots will be running the shipwhile humans do the sweeping.

GET IT IN GEARDeveloped by an educator, GEARS EDS hands-on

engineering products are widely used from middle schoolthrough college and beyond.Their extensive curriculumdelivers S.T.E.M. educational resources to aid teachers, andengage and inspire students.The website describes andillustrates The GEARS Invention and Design System™which gives teachers the industrial strength tools theyneed to create world-class engineering and robotics challenges for their students in the comfort and convenience of their own classrooms.Videos of the system in use can be viewed and eight example projectsthat can be built with GEARS-IDS are explained.

An Education Tab on the site offers a full CurriculumSection, as well as Flash Programs demonstrating principlesin various disciplines. Sample curriculum and lessons forthe mechatronics kits Totally Trebuchet,The PneumaticsTrainer, and The Transmission Module can be downloadedfor free.

Three different robotics levels offer programs for thenovice through the graduate student. Electronic, pneumatic,and mechanical accessories each have their own sections,as well as gear head motors, batteries, and chargers. Usersare encouraged to integrate their own sourced, fabricated, or salvaged components with GEARS products.

Useful links offer users directions to many other educational sites, as well as to GEARS partners.Be sure to visit the easy-to-navigate site at www.gearseds.com.

Bots in Brief Apr10.qxd 3/5/2010 10:31 AM Page 25

Page 26: Servo magazine – April 2010

26 SERVO 04.2010

WE TAKE PLASTIC

Despite the fact that plastics are used everywhere — especially in products which are intended to be disposable — therecycling rate for plastics compared to metal, paper, and glass isabysmal. It’s somewhere around 6% which means 94% of potentially recyclable plastics end up in landfills or in the stomachsof our sea friends.The problem is that it’s a gigantic hassle to dothe obligatory pre-recycle sort with plastics.There are recycle numbers stamped on most plastic containers, but plastics with the same number often can’t actually be recycled together.Basically, it’s a mess.

Mitsubishi Electric Engineering Corp and Osaka University aretackling this problem with a robot, since we humans have proven

ourselves to be fairly worthless at plastic recycling.As you might expect, the robot has some capabilities that we don’t —namely five lasers of different wavelengths that can be used to determine the reflectivity index (and therefore the composition)of most plastics.The robot will automatically sort plastics into six different types which takes the hard work of manual identification out of the recycling process.

There aren’t specific details on how much plastic one of these robots can actually sort through every day, but there is acommercial version in the works which should be available (at some point) for around $55K.At that price, it’s not going to be resource neutral anytime soon, but at least it will make you feel better about your recycling habits.And the sea turtles will thank you.

Bots in Brief Apr10.qxd 3/9/2010 11:02 AM Page 26

Page 27: Servo magazine – April 2010

Ask for our FREE 96 page catalog

VISIT OUR ONLINE STORE ATwww.allelectronics.comWALL TRANSFORMERS, ALARMS,FUSES, CABLE TIES, RELAYS, OPTOELECTRONICS, KNOBS, VIDEOACCESSORIES, SIRENS, SOLDERACCESSORIES, MOTORS, DIODES,HEAT SINKS, CAPACITORS, CHOKES,TOOLS, FASTENERS, TERMINALSTRIPS, CRIMP CONNECTORS,L.E.D.S., DISPLAYS, FANS, BREAD-BOARDS, RESISTORS, SOLAR CELLS,BUZZERS, BATTERIES, MAGNETS,CAMERAS, DC-DC CONVERTERS,HEADPHONES, LAMPS, PANELMETERS, SWITCHES, SPEAKERS,PELTIER DEVICES, and much more....

ORDER TOLL FREE1 - 8 0 0 - 8 2 6 - 5 4 3 2

THOUSANDS OF ELECTRONICP A R T S A N D S U P P L I E S

��

��������� ������������ ������������ ������������ ���

��������������������������������

������ ������������� �������

����������������������������������

����������������������������

�� ����������������� ����� ��������������������

�� �������������������������

�� ��������������������������������

�� ������������ !������"���

�� ������#$��$�%������&����

�� '(�����������������"��������������

������������������������������������������������������������������������������������������������������������������

RRoobboottiiccss SShhoowwccaasseeRRoobboottiiccss SShhoowwccaasseeTT

Showcase Apr10.qxd 3/8/2010 8:22 PM Page 27

Page 28: Servo magazine – April 2010

Featured This Month:

Features28 BUILD REPORT:

Crossfire – From BrokenRobot to Breaking Robotsby James Baker

30 MANUFACTURING:Keeping Your StuffTogetherby Nick Martin

33 PARTS IS PARTS:FingerTech Robotics’Spark Motor Seriesby Kevin Berry

33 How Not to Die. I Mean,Build a Test Boxby Matthew Spurk

35 Combat Zone’s Greatest Hitsby Kevin Berry

Events32 Jan/Feb 2010 Results and

Apr/May 2010 UpcomingEvents

28 SERVO 04.2010

Metal Fatigue

A veteran of televised roboticcombat, the heavyweight robot“Edgehog” was still on frontlineservice when it entered the 2008UK live event season. Continuouslyupgraded over seven years ofcombat with better armor, Edgehogwas now as tough as it could getwithout breaching the 100 kg weightlimit. Unfortunately, the 2008 seasonand the fantastically powerfulrobots it involved proved to be theend for this plucky old machine.

In a successive series ofevents, Edgehog was extensively

damaged by a powerful hammer,repeatedly pierced by hydraulicclaw weapons, and pounded bypneumatic axes. The robot waseffectively destroyed three timesin as many months. After eachevent, the armor was patchedand welded back together, the

● by James Baker

Crossfire – From Broken Robotto Breaking Robots

BUILD REPORT:

Crossfire: well armored, well armed.

Internally, Crossfire is very simple. The 5/3 valve controls the ram.

CombatZone - APR10.qxd 3/5/2010 1:21 PM Page 28

Page 29: Servo magazine – April 2010

SERVO 04.2010 29

chassis cut, reinforced, and rebuilt,and the damaged internals repairedor replaced. It was getting expensive,time consuming, and frustrating.More importantly, however, thespace frame chassis was so patchedand welded that it was cracking inalmost every fight. It was time tobuild either a completely new chassisfor Edgehog, or build a successor.

Heavy WeaponIn the good old days, axes could

pierce armor. By utilizing a sharp,lightweight axe head, a largepneumatic ram and an accelerationlinkage, holes could be punched in thesteel, aluminum, or thin polycarbonateskin of the opponent quite regularly.More recently, the robots have beenarmored in thick titanium, heavy

steel wear-plate, and thickpolycarbonate. To break throughsuch material and get to the internalcomponents was almost impossible.

The solution chosen for ournew robot “Crossfire” was a heavy,blunt trauma weapon; an 11 kgbludgeon that would damage theenemy, bend the armor supports,and twist the chassis. This medievallooking appendage was to be swungthrough a unique, innovative linkagefrom the 100 mm pneumatic ram.

The linkage acts like a gearbox,taking advantage of the huge linearforces available from the ram (whichruns at only 200 psi, but is capableand tested to 1,000 psi should themotivation ever arise) by way of anunequal length swing arm andcustom-made spur gear. The result isthat the 11 kg bludgeon swings atone and a half times the speed ofthe ram, through 180 degrees ofmotion, lifting the whole machineinto the air, and hitting with enoughenergy to bend half inch steel plate.It also has more than enough forceto right the whole robot should itbe turned over during battle.

Heavy ArmorFrom the lessons learned with

its predecessor, Crossfire had to betough. So tough in fact, that it hasnever been externally damagedsince entering its first combat eventin 2009. The outer skin is made of aspecially selected high carboncontent steel wear-plate, shapedand welded in such a way as todeflect, resist, and survive anycurrent weapon in the UK.

The hard outer shell is mountedto the curved internal spine withheavy-duty brackets and bolts, weldedreinforcing beams, and struts. Allinternal components are shockproof,and flexibly mounted where possible.The result is a rock solid machinethat has yet to be scratched.

Carefully SelectedComponents

Having spent several yearsupdating, upgrading, repairing,modifying, and (in some cases)destroying our motors, speedcontrollers, and batteries, we have aclear understanding of what worksand what is reliable in UK-basedcombat. Unfortunately for us (andour national pride), what we havefound over these many years of testingis ... buy American! The motors andgearboxes are manufactured in theUSA for heavy-duty electricwheelchairs. Controlling these 24volt gear-motors is a single RobotPower Sidewinder; with a pair ofused 36 volt NiCad Battle-packs

The axe linkage is unique.

The twin pressure bottles and large ram situnder the robot.

Testing the weapon.

Scars of a difficult season.

Edgehog was badlydamaged.

CombatZone - APR10.qxd 3/5/2010 1:22 PM Page 29

Page 30: Servo magazine – April 2010

30 SERVO 04.2010

Since screws were invented over2,000 years ago, mankind has

struggled to keep them from comingundone. In the past 100 years, manyadvances have been made, yetscrews still loosen and no singlesolution works universally. Thisarticle will examine what is availableand what solutions work best incombat bots.

How Threads Loosen

Nuts and screws rely on frictionbetween the threads to preventloosening. We create the friction bytightening the parts until they areunder tension. Thread loosening hasseveral causes:

• Temperature changes cause the

expansion and contraction offasteners and the bot’s frame,which reduces bolt tension andclamping force in the assembly.

• Self-loosening, which is caused bya sliding motion between thefastener and the part it is clamping.

• Excess loading can stretch bolts orcompress the parts they are clampingand reduce the tension between them.

MANUFACTURING:Keeping Your Stuff T gether

bought from a competitor in the USvia eBay. This set-up is sufficientlypowerful, fast, and reliable, but alsoextremely cost-effective. The 40 MHzradio control system used is cheapand reliable, although we wouldnow buy a 2.4 GHz system insteadif starting all over again, as it offersmore safety and convenience byeffectively eliminating the chancesof interference or loss of control.

The storage of the liquid CO2used in the pneumatic system is critical,so a certified fire extinguisher is usedfor the main bottle and an identicalextinguisher (painted black) is usedfor the buffer tank which allows theuse of the CO2 full bottle pressure tobe used if required; a change of pipework is the only modification needed.The choice of pressure tanks used isalso very cost-effective. A standard,high-pressure welding regulator isperfectly capable of handling thereduction to 200 psi. Likewise, theperfectly capable Electronize weaponswitcher and 5/3 solenoid valve area neat and inexpensive solution thathas the option of going to 1,000 psiwith little modification.

Finally, we have incorporated asimple but tidy charging system thatallows us to remove our safety link andcharge the batteries without turning asingle bolt. We use jack plugs hiddenunder the arm of the bludgeon.

Development

After competing in several liveevents in 2009, a number of updateswere needed. Firstly, the thick wallsteel box section used in the arm wasbending under the huge forces. Thearm was reinforced along its full lengthwith steel plate, which also added alittle more weight to the bludgeon.This solved the bending problem inCrossfire, and caused more bendingproblems in the enemy robots (whichis a nice win-win situation for us). Thegears in the original boxes strippedunexpectedly, so larger versions ofthe same gear-motor were fittedand have been reliable to date.

The cause of the failure was tracedto bolts coming loose in the gearhousing, allowing the drive worm towobble around and destroy the teethon the drive gear. This will not happenagain as all bolts now use thread lock.(See Nick Martin’s article on threadlocking in this issue of Combat Zone).

Finally, the robot carries muchof its weight relatively high up, soits center of gravity is higher than onEdgehog. This means that it doesget flipped over a little easier andoften takes a few attempts to rightitself. This can be solved with somewelded fins strategically placed onthe outer shell, but the driver is happywith the look of the robot and prefers

to leave the robot as it is for now.We may add the fins for importantcompetitions in the future.

Does It Work?Absolutely! All design targets

have been met. The machine hasbeen reliable, cost-effective, lowmaintenance, and is easy to turnaround for the next fight. The armoris just as impervious as we hopedfor, and the weapon is devastatingagainst many opponents — oftenimmobilizing them by bending thechassis enough to lock up the wheelsor crush internal components.

The inspiration for the paint jobarose because we often wear combatjackets at events which has becomean unofficial team uniform. The robotlooks great in the arena in contrastto robots in primary colors or shinymetallic, so Crossfire has proven tobe the perfect successor to andcompanion of our veteran Edgehog,who has still not retired and will befighting again in 2010. SV

● by Nick Martin

Resourceswww.robotpower.comwww.battlepacks.comwww.electronize.co.uk

www.futaba.comwww.xbotz.com

CombatZone - APR10.qxd 3/5/2010 1:23 PM Page 30

Page 31: Servo magazine – April 2010

SERVO 04.2010 31

Unfortunately for us, all thesecauses are abundant in combatbots! Here are the various ways todeal with them.

Spring WashersSpring washers are the oldest

and least reliable way to secure abolt. They all work by addingfriction and tension between thebolt and substrate. Unfortunately, itonly takes from 0.25 to tworevolutions of the bolt before thespring washer loses its tension andbecomes useless. There are manyvariations with different benefits.

Bellville washers are conicalwashers used for maintaining auniform tension under a fastener,and do not provide any real lockingfunction. Until they are completelyflattened, they act as a spring; theirmain use in bots is as clutch springsor as shock absorbers.

Wedge washers have twoparts that act as a ratchet andrequire more force to release thanto tighten. They are probably themost effective type of lockingwasher, but have the drawbacks ofextra weight, volume, and extraparts to lose.

Star washers have a number ofsharp edges that provide somelocking action, but cause surfacedamage. Their main use is on lowerstress applications such as electricalconnections where a liquidthread locker is unsuitable.

Split washers have beenwidely discredited as useless.Both NASA and military testsshow that when compressed,they act the same as plainflat washers and have littleholding power.

Lock Nuts

Lock nuts are a step up fromspring washers with several importantadvantages. There is one less part tolose and, most importantly, the lockingaction does not rely on tensionbetween the nut and the frame to staytight. This way, they resist looseningright up to the point where they comeoff the end of the screw. The mostcommon lock nuts have a nylon insertand are effective up to about 250°F.The all-metal variety is more expensiveand works at high temperatures —this type is ideal for flamethrower bots.

The only real problem with locknuts is that they only work whereyou have a through hole or anexternally threaded part.

Liquid Thread LockingThe best known brand is

Loctite. However, there are othersand you can even use hot-melt gluein an emergency. The pros and consof liquid thread lockers are:

• One size fits all. You will not needto stock different sizes and typesof washers and lock nuts. Atmost, you will need two or threedifferent grades of Loctite.

• It’s hard to lose Loctitecompared to smallwashers, although you

may find other builders lining upto borrow it.

• Loctite needs time to cure,making it less suitable for screwsthat are constantly removedduring events.

• Loctite is an anaerobic glue,which means it cures in theabsence of air. Loctite stays liquiduntil you screw the parts together,after which it will begin toharden. All varieties need somecuring time to reach full strength,as shown in Table 1. Allow atleast enough time for 50%strength to be reached.

• Loctite cure times are at 70°F withsteel parts. Raising thetemperature above 100°F willshorten cure times, while usingless reactive metals like stainlesssteel will lengthen curing time andgive lower holding power.

• Loctite products all lose strengthat higher temperatures; 243 loses50% of its holding strength at210°F, while 262 is down to 50%strength at 300°F.

FIGURE 1. Split, star, andBellville washers.

FIGURE 3.Liquid and solidstick Loctite.

FIGURE 2. Nylon and all-metal lock nuts.

Product 50% Strength(hours)

100% strength(hours)

243 0.5 3

248 0.25 24 (75% @ 1 hour)

262 0.75 (0.25 @100 °F) 8

246 0.2 (0.1 @ 100 °F)

24 (75% @ 2 hours)

TABLE 1. Curing times forLoctite products.

Product Strength CureTime

OilTolerant

SurfaceTolerant

Temp.Rating

242 Medium Medium 300° F

243 Medium Medium X X 300° F

246 Medium Fast 450° F

248 Medium Medium -fast 300° F

262 High Slow 300° F

266 High Fast X X 300° F

268 High Slow 300° F

2760 Very high Medium X 300° F

TABLE 2. Loctite selection chart.

CombatZone - APR10.qxd 3/5/2010 1:24 PM Page 31

Page 32: Servo magazine – April 2010

Selecting the Right Product

Loctite makes a bewildering arrayof products. Table 2 lists some of themost suitable types for robots. My toprecommendations are highlighted;they provide the best combination offeatures you need in a combat bot.

Using LoctiteMake sure that both parts are

as clean and de-greased as possible.Cleaning with isopropyl alcohol or asimilar solvent makes a hugedifference, even with the grease-tolerant products like 243.

For screws secured with a nut,you only need to apply Loctite tothe screw where the nut will betightened. I like to assemble thescrew in the part first so that I cansee exactly where to apply the Loctite.This helps prevent the screw holefrom gumming up with old Loctite.

For screws that are inserted inblind threaded holes, you need toapply Loctite to both the screw andthe hole. Otherwise, air pressure willforce much of the Loctite out of thehole as the screw is inserted. I findthe end of a cable tie is perfect fordistributing Loctite in small holes.

For fasteners where BOTH partsare made of inactive metals such asaluminum, stainless steel, magnesium,zinc, black oxide, cadmium, or

titanium, you need to use Loctite7649 spray or liquid primer. The primerwill reduce curing time and providemore holding power. For surfaceswhere one of the areas is brass,copper, bronze, iron, steel, or nickel,you don’t need to use primer unlessa short curing time is important.

Removing LoctitedScrews

Parts with low and mediumstrength Loctite generally only needleverage to remove them. Parts withhigh strength Loctite are hard to shift.The recommended procedure is toheat the parts to 480°F for severalminutes before trying to separate them.

Once the screw is removed, youcan reuse it simply by scraping offthe hardened Loctite and applying afresh coat. The old Loctite can betough to remove (if it isn’t, you aredoing something wrong!). A wirebrush will get most of the materialoff, while a small triangular file willclean up tough spots. If you are reallypressed for time in the pits, apply asmall amount of Loctite over thehardened material; it is usually enoughto get you through one more matchand because the fresh Loctite is in athin layer, it will cure faster.

Tips and TricksClean new screws. Almost all

new nuts and screws have oilresidue on them. A quick wipe withsolvent makes a huge difference toLoctite’s holding power!

Use high strength Loctite on smallscrews. For small screws with limitedthread engagement, Loctite 266 is agood choice. The screws that secure550 size motors are a prime example.

Heat parts for fast curing.Heating the head of a screw or anut with a soldering iron or a hot airgun will dramatically shorten thecure time. Be careful not to overheatthe parts; mildly hot to the touchfor a few minutes is enough to getyou ready for the grand finale.

Use liquid Loctite in theworkshop and Loctite sticks atevents. The solid stick types 248 and268 are very practical in the pits;they can’t leak, are less messy, andstay where you apply them. Theonly liquid Loctite I would take to anevent is 246 for its fast cure times.

The 50 ml size Loctite containershave a nifty new snap-on cap andno-drip tip; ideal for the workshop. SV

32 SERVO 04.2010

Completed Events:Jan 10 to Feb 10, 2010

Kilobots XVI @ SPECTRUMwas held

January 16th inSaskatoon,Saskatchewan,Canada; www.kilobots.com.

Upcoming Events forApril and May

RoboGames 2010 will be heldApril 23rd — 25th in San Mateo,

California; www.robogames.net.

HORD Spring 2010 will be heldon May 15th in Brecksville,

Ohio, presented bythe Ohio RobotClub; www.ohiorobotclub.com.

Maker FaireBot Gauntlet will be held in

San Mateo, California on May 22ndand 23rd, presented by CaliforniaInsect Bots; http://calbugs.com. SV

EVENTSCompleted and Upcoming Events

Further ReadingIf you want to know more about

threaded joints, these two links willprovide more than enough info:

http://gltrs.grc.nasa.gov/reports/1990/RP-1228.pdf

www.boltscience.com/pages/info.htm

CombatZone - APR10.qxd 3/5/2010 1:24 PM Page 32

Page 33: Servo magazine – April 2010

FingerTech Robotics (www.fingertechrobotics.com) has a new

line of motors. Following my policyof only using this space to featurecombat tested products, I delayedreviewing them until the head ofFingerTech, Kurtis Wanner, had somecombat data under his belt. Kurtisassures me, “January’s Kilobots XVIand the University of Saskatchewan’sSumo competition put almost 50 ofthese motors through their paces. Therewere only a couple mechanical failuresthat weren’t caused by direct combatdamage or overvolting the motors.”Since then, FingerTech has instituteda 100% testing policy for eachmotor, under load, before shipment.

Given that, I’m pleased to givesome details about the specs andthe design process. The Spark serieshas an extra-long 3 mm shaft, whichis triple-supported internally so thatwheels can be mounted directly toit. It uses the Mabuchi FK-050 motor,with nine different gear ratios (20,35, 50, 63, 86, 115, 150, 250, and360:1). Weight is 28 grams (oneounce). Cost is around $18 US.

The Mabuchi motors will run on4.5 to 22 volts, recognizing thatanything above about seven volts isgoing to have a shorter lifespan. The

assembly is a little over 1.5 incheslong and 0.6 inches in diameter. Theshaft adds up to another 1.5”.Torque specs are shown in Figure 1.

Fingertech worked with themanufacturer to battle-harden thegearbox. Figure 2 shows a betaversion of the added support plate.According to Kurtis, “the indicatedplate did not exist in their standardgearhead. The main shaft has onelarge gear pressed on, but alsoanother gear that spins freely on it.Without the new plate, the thin shaftwould snap between the two gearswhen any large sideload was placedon the shaft. Now it is supportedby: 1) the faceplate bushing; 2) thenew support plate; and 3) the old

carrier (end of the shaft).”Responding to my questions

about testing and toughness, Kurtissupplied the photographic evidence(Figure 3) of how effective the threepoint support system is. He says,“This is a test I did with one of mymodified motors; 20 lbs hanging offthe end of the 1.5” shaft. The motorran afterward without even a hiccup.”

Even though I personallyhaven’t used these motors yet, I’dsay the jury is in. Good ‘nuff! SV

Spark2 Original.

FIGURE 1

FIGURE 2

FIGURE 3

SERVO 04.2010 33

PARTS IS PARTS:FingerTech Robotics’Spark M tor Series

● by Kevin Berry

You’ve just finished putting thefinishing touches on your new

insect class combat robot. You’vespent the last three hours tirelessly

wiring, soldering, grinding, tapping,cutting, and wrenching on your bot.

How Not to Die. I Mean,Build a Test B x

● by Matthew Spurk

CombatZone - APR10.qxd 3/5/2010 1:25 PM Page 33

Page 34: Servo magazine – April 2010

34 SERVO 04.2010

Now comes the most exciting timeof the entire build process. That firsttime you flip on the power switchand bring your machine to life. It’s agreat time to be alive, isn’t it?Wouldn’t it be great to stay alive?

That first time you flip theswitch is exciting, but it’s also themost dangerous time in the build.Over the past several weeks, I’vewatched builder after builder postingvideos on YouTube.com of theirrobot’s first weapon test. A little robot,six pounds or less with aluminum,steel, or titanium spinning at 5,000,10,000, even 30,000+ RPMs sitting onthe floor with little or no protectionbetween the bot and builder. Icringe and grit my teeth waiting fora loose screw or random nut (thatwas dropped on the floor andforgotten a mere two hours ago) toricochet around the room. I furthercringe as the video continues withthe inevitable test hits. I’m a nervouswreck after 40 seconds of video.

Don’t get me wrong. I’ve done

the same thing, and I’ve lived to tellabout it. My whole perspectivechanged the day my vertical spinner“gyro’ed” over upside-down withthe blade at top speed and struckthe concrete driveway I was testingon. Pieces of concrete shot at me. Iwas fortunate I was not hit. Thatsingle event was a huge wake-up call.“HEY, 10,000 RPM IS REALLY FAST.HOW ‘BOUT WE TRY NOT KILLINGOURSELVES NEXT TIME, HUH?”

I’ll give you a breakdown of howto build a small, simple test box thatyou can use to spin-up those nastyweapons, hit stuff, practice drivingwith the weapon on, and not DIE.Here’s the best part: The whole thingcan be built for under $100 and inless time than it takes me to find apair of matching socks in the dryer.

You will need the followingitems/tools for this project: a storagetrunk (see Figure 1; they can usuallybe found in department stores for $20in late summer when college studentsare going back to school); a 14”x28” piece of polycarbonate sheet1/4” thick or greater; one 8’ long2”x 3” piece of lumber; a box of woodscrews; some string or lightweightchain; a drill; a hole-saw or spadebit; and a jigsaw. If you have aparticularly nasty robot, you canpick up a sheet of Medium-DensityFiberboard (MDF) for additionalreinforcement (described later).

The process for building this box

is so simple it practically builds itself.(Okay, it’s not that easy, but you couldbuild a robot to build the box for you.)

Altering the TrunkYou have your trunk sitting in

front of you. In theory, you couldthrow the bot in there, close and lockthe lid, and call it a day. But unlessyou’re a dolphin, it’s hard to drive yourrobot via sound. The first thing youneed to do is create an opening in thetop of the trunk so you can see in.Driving a bot via looking at it is so easy,a caveman can do it. Measure in about2” from each corner of the trunk; thedimension isn’t super critical, so don’tstress over it to much. Break out yourtrusty (or rusty) drill and spade bit/hole-saw and create a hole in each corner.The holes are for the purpose ofstarting the jigsaw. Next, break out thejigsaw and run a straight line betweenthe holes forming a rectangular openingin the lid (see Figure 2). Now youcould throw your robot in there andtest, but the test box offers aboutas much protection as a tissue in ahurricane. (From experience, thatisn’t much protection at all).

Installing the PolyWhat was once a perfectly

good trunk is now a perfectly goodtrunk with a large hole in the top.It’s time to install that

FIGURE 1. A storage trunk, a.k.a., the basisfor a robot test box.

FIGURE 3. Polycarbonate sandwichedbetween the lid and the 2” x 3” piece of lumber.

FIGURE 2. Create a rectangular opening in the trunk.

FIGURE 4. Lightweight chain used toprevent the lid from opening completely.

CombatZone - APR10.qxd 3/5/2010 1:26 PM Page 34

Page 35: Servo magazine – April 2010

polycarbonate. Open the lid of thetrunk and set the polycarb into theopening. I like to turn the trunkupside down with the lid resting onthe ground and the main boxsupported with scrap lumber for thispart. Now take your 2” x 3” pieceof lumber and cut it to fit the insideof the lid. The polycarb should besandwiched between the 2 x 3s andthe inside of the lid (see Figure 3).

Run your wood screws throughthe lid into the 2 x 3 around the sides.I prefer to not run the screws throughthe polycarb as I prefer to not putany holes in it. When you drill plastics,you create micro-cracks which overtime and impacts can grow to becomebigger cracks. If you’re anything likeme, you are very anti-crack.(Remember kids, cracks kill).

Test the TestFunctionally, the test box is now

complete. You can throw your botin there, drive it around, turn theweapon on, and everything will behunky dorey. At this time though, youmay notice something inherentlyannoying about your test box. Byopening the lid to the complete openposition, the test box will flop onto itsback, and that’s just not cool. Thereis a simple fix for this problem. Takesome of that string or lightweightchain you have laying around andcreate a leash on the outside of thebox that limits the opening of the

lid (see Figure 4). My test boxallows motion to slightly beyond 90degrees from the closed position.This allows the lid to stay openwithout my needing to hold it open,but it won’t tip over either.

UpgradesBling Bling. Here are a few ideas

that I’ve had that could really makeyour test box the crème de la crème,so to speak. Remember earlier whenI told you to pick up that MDF? Thisis where it can come in handy. Ifyou’re worried about your botgetting through the plywood sidewalls, screw some MDF onto theoutside of the test box. This will addweight, but for less than $20 asheet, you can’t go wrong adding it.

Another upgrade you may wantis new wheels — maybe even withspinners. Your test box, of course,will help you test your robots safely,but when you go to an event, youcan use your test box to carry stuff.Bolt your test box to a two-wheelhand truck. Not only can you testyour bot safely in the pits (get yourfrequency clip first), it will also saveyou trips from bringing your stuff infrom the car. Nice. I didn’t have ahand truck, but I did have an oldskateboard I bought at a yard sale.It doesn’t turn great, but I can ridemy test box at the skate park.

You may also want to upgradethe floor of your test box with the

same floor as the arena you’ll becompeting in. If the full size arenahas seams, add a seam to your testbox. Remember you’re testing, soyou want to know how your robotwill react to the conditions it willlikely face in combat.

Safety (Test) FirstIt has always surprised me how

much people are willing to spend ona CNC titanium blade or customturned bearing mounts for the bots,but those same spending habits don’ttranslate into safety equipment. Thissimple test box will last you throughmany bots. The low cost of thematerials and short build time willmake it well worth the investmentthe first time your bot behavesabnormally or something catastrophicfails, and the high speed shrapnel iscontained. Remember, the controlsare much easier to operate if youhave all your fingers. SV

SERVO 04.2010 35

FIGURE 5. Completed test box with botinside, ready to be tested.

This month, CZ is experimentingwith a new feature. We all know

that creating bots is a fulfilling mentalexercise, building them is satisfyingcraftsmanship, and going to eventsis great for bonding with your buds.But let’s face it — it’s about the

destruction! The audience doesn’tcheer for box vs. wedge fests. It’sthe sparks, tosses, and large, flyingchunks that get that “ohhhhh!”sound bouncing around the venue.

So, I asked a few builders tosubmit their own, personal “Greatest

Hits” photos. We’ll continue thissection as photos come in.

Before and after photos, a briefdescription of the fight, and thebuilder’s name(s) can be submittedto me at [email protected].

C mbat Zone’sGreatest Hits

● by Kevin Berry

CombatZone - APR10.qxd 3/5/2010 1:27 PM Page 35

Page 36: Servo magazine – April 2010

Ray Billingssubmitted thismonth’s item: LastRites vs. VD6, atRoboGames 2009,in the 220 poundheavyweight class.Two of thebiggest hitters atthe event goweapon toweapon withspectacularresults!

Dennis Becksubmitted hisBeetleweight,Utopia V2.0 for

its fight against Angry Dragan at Kilobots XVI, on January17th, 2010. During the official match, Utopia’s fightagainst Angry Dragan (a full body spinner) resulted inAngry Dragan getting thrown out of the arena beforeits shell could get spinning at more than 25% of its topspeed. He proposed a grudge match, where AngryDragan’s shell would be allowed to get up to fullspeed before weapon-to-weapon contact would bemade. The photo shows the resulting damage toUtopia from aweapon-to-weapon hit.Props to Dennisfor greatsportsmanship!

TravisSchmidt showsoff his bot’sdamage. MysteryBox is a 6 lbMantisweight. Itwent up againstChaos Theory’s14” carbidetipped sawbladeat SaskatoonCombat RoboticsClub’s “KilobotsXIV” inSeptember 2009.Plug request:www.kilobots.com. SV

Photos courtesy ofDave Schumaker/RockBandit, http://rockbandit.net.

Last Rites Hit.

Last Rites After.

Utopia.

Mystery BoxBefore.

Mystery Box After.

36 SERVO 04.2010

CombatZone - APR10.qxd 3/8/2010 9:02 PM Page 36

Page 37: Servo magazine – April 2010

April 23-25, 2010San Mateo, CA

Full Page.qxd 2/3/2010 8:27 AM Page 37

Page 38: Servo magazine – April 2010

By Chris Savage

38 SERVO 04.2010

Additional ComponentsI opted to use a Parallax BASIC Stamp 2p module for

this system because it is more than capable of reading theraw NMEA data from the GPS receiver, parsing the data,reading the compass, and calculating headings from thatdata. It can then control the drive system to steer the robotwhere it needs to go, plus it simplifies the code design forthose using a different platform for their robot andcontroller. The BS2p will mount on a Super Carrier Boardwhich will provide connections to the remaining hardware.The chosen compass module for this application is theHM55B due to its easy integration and existing compatiblesource code. A serial LCD display, some PING))) sensors,and a heat array sensor (Devantech TPA81) have beeninstalled on this robot. However, for this example, they willnot be used and are optional for this part of the project.(These items will be used in Part 3. Be sure to check theParallax website for the various components listed in thisarticle.)

To drive the four gearhead motors, I chose two HB-25

GPSNavigationPart 2In this article, I have built a small robotto test and prove the theories discussedin Part 1 from last month. Somethingwe couldn’t account for previously werethe specifics of the robot since it hadn’tbeen built yet. We also wanted to beable to use this concept and even thecode elements on just about anyplatform.

The first thing to do in this case is todefine several key elements of thedesign before we begin. How large isthe robot going to be? How fast will itmove? What type of terrain will ittraverse? How will it steer?For our purposes here, my answerswere: about the size of a shoe box; nofaster than three feet per second;asphalt and/or concrete; and skidsteering. An old Lexan chassis I hadlying around was perfect for this task(see FFiigguurree 11). My robot has four spurgear motors and a two-level platformfor mounting the microcontroller andsensors.

Savage - GPS Navigation Part 2.qxd 3/6/2010 3:38 PM Page 38

Page 39: Servo magazine – April 2010

SERVO 04.2010 39

motor controllers due to their servo-like control and abilityto not only handle these motors in pairs, but also to scaleup should a larger robot chassis be used.

ConstructionThe first thing I did was assembled the chassis which

was being repurposed from a previous robot project. TheHB-25 motor controllers were installed in the belly of thechassis in between the motors. As you can see from Figure 2, it is somewhat of a tight fit. However, withproper cable routing, you can almost say it fits like a glove.The only thing I had to be cautious about was clearance forthe fans on each HB-25. Figure 3 shows the lower sectionof the robot assembled with one PING))) sensor installedand a power switch for the motors. Batteries were added,then the lower plate was installed along with some paddingto hold the batteries in place (see Figure 4).

Two batteries are used in this design. One is dedicatedto the motors and is switched independently using thepower switch shown in Figure 3. The other battery powersthe Super Carrier Board which, in turn, powers the GPS and

LCD (which both consume a lot of power). The batteries arestandard 7.2V R/C battery packs from a hobby store. Theyare rated at 2,600 mAh each.

A separate switch controls power to the Super CarrierBoard. As you can see in Figure 5, several three-pin headershave been mounted for connecting the various sensors andmotors. The lower pins provide a provision for a pushbuttonwhich is used to set waypoints for the GPS navigation.Figure 6 shows how the LCD and GPS mount to the topplate, as well as the additional PING))) sensors and thethermal array sensor. This plate is then installed on top of the lower section of the robot using standoffs (seeFigure 7).

ProgrammingOnce the robot construction was completed, it was

time to download the program code (see Figure 8). Theprogram has a main loop that does the following tasks untilthe last waypoint has been reached:

• Obtain current GPS coordinates.

FIGURE 2. HB-25 motor installation.

FIGURE 3. Lower section assembly.

FIGURE 1.Old Lexan chassis from Lynxmotion.

FIGURE 4. Batteries installed.

Savage - GPS Navigation Part 2.qxd 3/6/2010 3:38 PM Page 39

Page 40: Servo magazine – April 2010

• Calculate desired heading based on target positionvs. current position.

• Obtain current heading from compass module.• Calculate course correction based on desired heading

vs. current heading.• Determine if waypoint has been reached (and is last).• Adjust course and speed of motor drive as needed to

reach goal.

This loop will continue until the robot reaches its goalor the batteries die. As mentioned before, eventually othersensor data (such as from the sonar) will be factored intothe equations to avoid obstacles, as well. For this article,let’s assume it’s a clear path (since mine was).

Code DetailsThe first task is to obtain the coordinates of the current

position. These coordinates are used along with the targetcoordinates to calculate the desired heading. In Part 1, thiswas done using Pythagorean Theorem. You can also get

the distance to target in this section using one morecalculation. Next, we want to obtain the current headingfrom the compass module and compare it to our desiredheading; any course corrections are then applied. At thispoint, the specifics of the motor drive system determinehow best to handle the minor and major adjustments incourse correction. On this robot, the skid steering makesany angle corrections easy since the robot can easily turn inplace.

Taking the Robot for a Stroll

The initial results were quite promising from the firstfew runs; you can see video footage of the robot runningthe program by visiting the project page listed in thesidebar or on the SERVO website at www.servomagazine.com. The only real issues were related to theweather which did somewhat impair GPS reception at afew points. If and when the GPS signal becomes invalid, therobot is programmed to stop in place and await a valid fix.

FIGURE 5. Super Carrier Board populated and installed.

40 SERVO 04.2010

FIGURE 8. Ready for programming.

FIGURE 6. Top plate assembly.

FIGURE 7. Top plate installed.

Savage - GPS Navigation Part 2.qxd 3/6/2010 3:39 PM Page 40

Page 41: Servo magazine – April 2010

These types of behaviors can beadjusted via minor code changes I willcover in the next part. For the testphase (and lacking the sensors), Ithought stopping was the safer way togo. Also, the corrections are somewhatjittery. Fortunately with the skidsteering, it is not very noticeable. (Theprevious platform I tested the code onshowed this effect much more.)

This will require some filtering inthe code. The LCD and pushbuttonfunctions are very rudimentary, butwe’ll be enhancing these, as well. Rightnow, the pushbutton serves only onepurpose and the LCD only displays thecurrent Longitude and Latitude. Alarger display could show more, but amenu system allowing you to selectdifferent display modes would be easyenough to implement.

Final ThoughtsThe size of the robot can be a help

or a hindrance depending on yourterrain. Remember, when testing GPScode like this fast is not necessarilybetter. Wait until your code is adjustedand fine-tuned before throwing thethrottle wide open. I was veryconservative with my speed settingswhile still allowing for a reasonablespeed to travel the distances within theparking lot where my waypoints werelocated. Obviously, since GPS requiresoutdoor reception you won’t be using aBoE-Bot for this purpose. On the otherhand, something as large as a lawnmower might pose a threat to peopleor property if something should fail.

The robot chassis I chose was agreat compromise of speed versus size,and has sufficient computing power tohandle all the functions (including thosenot yet implemented). The code is welldocumented and even describes theconnections to the motors. (Should youhave any questions, I can be reachedvia the project site, as well.) Until nexttime, take care and have some fun!SV

Parallax, Inc.wwwwww..ppaarraallllaaxx..ccoomm

Project Pagewwwwww..ssaavvaaggeecciirrccuuiittss..ccoomm//ggppssnnaavv//

Resources

SERVO 04.2010 41

Savage - GPS Navigation Part 2.qxd 3/8/2010 11:35 AM Page 41

Page 42: Servo magazine – April 2010

42 SERVO 04.2010

The BioloidPremiumKit Wrap-Up

By Rob Farrell

RoboPlus Motion is the new motion editor. Withthe motion editor, steps or poses are assembledinto pages and pages can be linked together andrepeated to form complex motions. Each page

can contain up to seven steps and up to 31 Dynamixels.When the motion editor connects to the CM-510, it loadsthe directory of all the motion pages contained in Flashmemory. Robot motion files can also be opened from adisk, in fact, several motion files and the contents of theCM-510 controller can be opened as tabs at the sametime. For each tab or robot file, the pages are indexed inthe left column followed by the page name, and next, theexit numbers. If next is nonzero, upon completion of thepage the linked page will be played. Exit refers to the pagethat will execute when the robot receives an input fromthe RC-100 to execute a new motion. You’ll note the CM-510 can contain 256 motion pages where the CM-5 canonly contain 128. Pages that contain data are green whileempty pages show as white. Clicking on a page places thesteps of that page into the next set of columns. Each stephas a “Pause” and “Time” setting associated with it. Pauseis a delay between steps and Time is the time to completethe step. Each can be adjusted by clicking to select a stepand then using the sliders below to adjust the values.Right below the steps are the page parameters such as thenumber of times the page should repeat, its overall speed,a calculation for the total page time, and the accelerationrate labeled as “Ctrl Inertial force.” For each page, there isa setting for the joint softness or proportional gain foreach Dynamixel.

The tables in the motion editor have a familiarspreadsheet feel. You can right-click on rows and copy or

RoboPlus.

In the February ‘10 issue of SERVO, I coveredsome of the exciting new features of the hardware components and the assembly of the BioloidPremium. This part of my review may feel a bit likea tutorial. However, my intent is to touch uponsome of the vast capabilities of the RoboPlussoftware, point out some of its key features, andperhaps reveal a bit of why it’s so impressive.

With the new Premium kit, ROBOTIS hasreleased RoboPlus — a suite of PC software thatincludes RoboPlus Task, RoboPlus Manager,RoboPlus Motion, RoboPlus Terminal, and theDynamixel Wizard. RoboPlus itself is a launch padfor these major applications, the user guide, and alink for ROBOTIS’ latest online technical support.The latest version of RoboPlus supports both OLLOand Bioloid, and it includes a third tab for “Expert.”The expert tab adds the Dynamixel Wizard andRoboPlus Terminal.

Farrell - Bioloid Premium Kit - Part 2.qxd 3/7/2010 8:28 AM Page 42

Page 43: Servo magazine – April 2010

paste. This works for pages, poses, and individualDynamixel settings. I found this very handy to copy a pagefrom another robot file, or a step or pose from anotherpage.

On the right-hand side of the interface are three tabs.The first is the “Basic Pose Editor” which allowsadjustment of each Dynamixel. A single click instructs yourconnected robot to move to the selected pose. There aretwo small light bulbs at the bottom of the page. Click thedark bulb to disable torque or the yellow one to enabletoque. While the torque is disabled, those Dynamixels canbe repositioned by hand and re-enabled when in position.When you click on the light bulb to re-enable, “Pose ofRobot” gets filled in with the current location of theattached Dynamixels. This is commonly referred to as“catch and play.” The second tab is “Pose Utility” whichopens up a 3D graphical view that can be configured froma large selection of standard robots.

If you build one of the standard configurations withthis tool, you click on a page to select it and then click ona step; its pose is reflected in the virtual representation.The small icons to the right provide tips as you hover yourcursor over them. Using them, you can center the view,select an object, rotate your point of view, zoom, andpan. Hovering over the icons displays tips: mouse themiddle button to rotate the point of view, use the middlemouse button plus CTRL to pan, and use the scroll wheelfor zoom. This makes it pretty easy to change your view tofocus on one area or look from a different side at whatyour pose is doing. One of the really neat aspects of this isthat a robot file can be loaded while the robot is notnecessarily connected, and you can select a page such asthe built-in walk. You can click the play icon at the top ofthe page and observe the page or a set of linked pages,

Motion Editor Markup.

RoboPlus Motion Pose Utility.

Pose Utility Mirror.

SERVO 04.2010 43

Farrell - Bioloid Premium Kit - Part 2.qxd 3/7/2010 8:29 AM Page 43

Page 44: Servo magazine – April 2010

44 SERVO 04.2010

and play it as it does normally on the robot in the virtualwindow. The interface lights up each step and page alongthe way. I found this quite instructive decomposing howthe default walking gait worked. Note the diagram of theBioloid Premium walking machine. It shows some of thecomplexity of walking and being able to change thedirection while walking. The forward walk alone iscomprised of four pages each with seven poses. Overall,there are 16 walking modes.

Beyond the 3D virtual representation, the pose utilityhas a couple other important features: mirror and inversekinematics.

On the mirror tab, you can mirror a pose bilaterally.There are two methods: exchange and symmetric.

Exchange is what I would consider the classic mirroras shown in the figures here. Symmetric (as the name

implies) sets the robot’s pose to be symmetric to either theleft or right side.

Due to the computational complexity, until recentlyinverse kinematics (IK) has largely been left to researchers.Now it’s included as part of RoboPlus Motion — at leastfor the stock models. Inverse kinematics allows adjustingthe position of the end effectors — in this case, a foot orfeet — in Cartesian coordinate space and then computingthe joint angles to achieve the goal Cartesian position.

ROBOTIS has included IK for both single foot and awalking step profile. The walking step uses both feet asend effectors and changes the use of the angular controls.In the single foot mode, the angle of the foot is changedwith an angle change of f, q, or y.

In “Walking Step” mode, both feet are end effectorsand the X, Y, and Z adjustments are obvious; f, q, and y

Pose Utility IK.

Pose Utility Exchange.

Pose Utility Symmetric Left Origin.

Pose Utility Symmetric Right Origin.

Farrell - Bioloid Premium Kit - Part 2.qxd 3/7/2010 8:29 AM Page 44

Page 45: Servo magazine – April 2010

have been re-assigned to symmetrically adjust the feet, upor down, side to side, and back to front to help the userdevelop walking poses. I found it a bit odd that they nolonger seem to be angles, but it does seem useful the wayit’s been designed. Overall, the motion editor appears a bitcomplex and cumbersome at first, but with a little practicebecomes quite easy to use.

Historically, experienced roboticists would use theRobot Terminal to quickly edit motion sequences. Thereare a few things in the new motion editor that can’t bedone with the Robot Terminal interface: cut, paste, copy,robot file management, mirror, and inverse kinematics.

RoboPlus Task is the programming interface thatallows you to build behaviors by stitching together inputs

Remote Control Modes RC-100 Default Task and Motions.Task.

SERVO 04.2010 45

Inverse Kinematics Single Foot Endpoint. Inverse Kinematics Walking Step.

Farrell - Bioloid Premium Kit - Part 2.qxd 3/7/2010 8:30 AM Page 45

Page 46: Servo magazine – April 2010

46 SERVO 04.2010

and sensors, output motions and sounds, and (in somecases) a little math. The preinstalled default task makes forgreat reading when you get started. It provides a wealthof examples. The new interface is its own language and ithas some similarities to C, but is a bit more graphical andsimplified.

Only basic math operators are available and only oneoperator can be used in each line of code. This makesthings a bit cumbersome to implement a complexcalculation, but not impossible. Perhaps one of the mostpowerful features of Task is the callback function. TheROBOTIS motion engine updates servos every 7.8 ms aspart of its normal interpolation. Each 7.8 ms (afterupdating the Dynamixel positions), the motion engineexecutes a callback routine. The callback can contain asmall amount of code that can perform operations such asadjusting Dynamixel offsets using gyro or accelerometerinput.

I found the search function a bit non-intuitive becauseit only searches for variables, not function names or otherterms. I also found myself wishing I had a way to use asimple text editor to write my programs so I could easilysearch and print in a format I like. RoboPlus Task has aprint function, but it leaves a lot of white space and useslarge fonts, therefore creating lots of pages. It looks nicebut being a long time programmer, I’m overly picky. In theend, these editing issues are only minor.

I found I was able to put together a simple PIDalgorithm using the gyro module and the callback functionfairly easily. I have spent considerable time writing codefor other robot basic interpreters but given my newexperience with RoboPlus Task, I’d have to say I prefer itand it is considerably more capable than the others. It’s aquick, solid tool for building some decent behaviors.

Under the “Program” dropdown menu, there is aselection for “view print of program” which is a serialterminal window that allows monitoring of printstatements in the loaded program, but it also has a smallRC-100 icon at the top. Clicking this icon reveals a virtualRC-100 controller that can be used while the program isrunning instead of the physical RC-100 which shares thesame serial port on the CM-510. (Obviously, you can’tmonitor print statements and use the physical RC-100simultaneously.)

The default Task included for the humanoidconfigurations is complete enough that one could stop atthe assembly and use the robot successfully to play socceror compete in Kung-Fu. I’ve always found it’s easier tostart with a good set of examples and ROBOTIS has reallycome through here. The default Task provides an interfaceto select from testing your assembly, to autonomousoperation, to remote control operation.

RoboPlus Manager is a basic application that one onlyuses periodically. It’s much like a robot device manager to

RobotPlus Manager.

RobotPlus Manager 2.

Print Window Virtual Remote.

Farrell - Bioloid Premium Kit - Part 2.qxd 3/7/2010 8:31 AM Page 46

Page 47: Servo magazine – April 2010

do things such as reconfigure or test a Dynamixel, or totest a sensor through the CM-510 or other controller. Thisis an important tool to test and configure sensors, and tolater test your own sensors. The RoboPlus Managerprogram also has the capability to update the firmware onthe robot controller and if (for some reason) your firmwareshould ever become corrupt, the RoboPlus Manager hasthe ability to restore the firmware to an unresponsivecontroller. The manager also has the capability toconfigure ROBOTIS’ optional Zig2Serial and ZIG-100wireless interface for the PC so you can program andcontrol your robot wirelessly from your computer.

The Dynamixel Wizard has similar capabilities forDynamixels to the RoboPlus Manager, however, itsinterface is intended for use directly from a PC with theuse of a USB2Dynamixel or similar serial to TTL interface(with no CM-510 controller serving as the mediator). It hasa quick, convenient way to search for Dynamixels but is alittle less graphical than the RoboPlus Manager.

RoboPlus Terminal is a basic terminal that has someadded functionality to transfer data to and from the robotcontroller over a serial connection and only shows up onthe advanced tab as it’s intended for experienced users.The terminal is a text-based command line interface thatallows keyboard input for motion editing, Dynamixelconfiguration, and bootloader access for firmwareupdates. Being a long time user of ROBOTIS products, forme, this represents access to the heart of the machine.From the Terminal, one can read and write directly toonboard Flash, RAM, and EEPROM. For those of us whowant to build our own firmware, this is the stepping onpoint.

Using the terminal in program mode, you can editmotion pages directly using command line entries andcursor keys. Some details of motion editing from the

terminal mode are covered in the user’s manual but toreally understand the details, you have to search the netfor prior documentation from the original Bioloid and thecycloid, and CM-2 and motion 512. In manage mode ormonitor mode, you can use the terminal to read and writeDynamixel register contents and send commands to one ormany Dynamixels. The terminal can also be used tomonitor print statement outputs from task programs.

ConclusionsWith RoboPlus, ROBOTIS has certainly put together an

amazing suite of software that supports users of all skilllevels. Often when I think about the value of things, itcomes down to how much time I spend with them andhow much enjoyment I get out of them. When I thinkabout the fun and the experience that can be gained byany individual with the Bioloid Premium kit and RoboPlus,a smile comes to my face. If you have an interest inrobotics and you’re wondering where to start or, if you’rean experienced roboticist investigating next opportunitiesor an educator or parent looking to inspire others, I can’tthink of a better place to start. SV

Terminal Motion Editing.Dynamixel Wizard.

SERVO 04.2010 47

Farrell - Bioloid Premium Kit - Part 2.qxd 3/7/2010 8:31 AM Page 47

Page 48: Servo magazine – April 2010

What is 802.15.4?

Formally known as IEEE 802.15.4, the 802.15.4standard specifies the rules for the MAC and PHY layersused for low power networks. The MAC (Media AccessControl) layer is responsible for logically handling thetransmission and reception of data that passes through thePHY. The PHY layer is comprised of the actual hardwarethat moves the data. The hardware can be wire or a radio.The most popular protocol implementation of the 802.15.4standard is ZigBee which uses 802.15.4 to fly ZigBeepackets around in a ZigBee network. The low powernetworks targeted by 802.15.4 are commonly used formonitoring and control. ZigBee — which is designed formonitor and control purposes — is a good example of atypical 802.15.4-based network. The IEEE 802.15.4implementation is actually a part of the 802.15.4 wirelessPAN (Personal Area Network) specification. PANs are simplepacket-based networks that usually support sensors andbattery-operated devices.

The interesting aspect of battery-powered devices thatwork on PANs is their battery life which is commonlymeasured in years instead of hours. The factors thatcontribute to a PAN node’s long battery life are the lengthof the messages and the distance between nodes. PANsmore often than not are designed to transfer low

Robots are much like people. There are soldier robots and thereare hunter-gathering robots. Thereare thinking robots and robots thatperform physical work. Robots alsohave another commonality withtheir human counterparts. Theyneed to communicate. Thiscommunication can occur in theform of internal system to system,robot to robot, human to robot, orrobot to human. This month, we’regoing to explore a very simplewireless method of invokinginternal-to-internal, machine-to-machine, and machine-to-humandata communications using the busthat ZigBee rides — 802.15.4.

Look Who’sTalking!

By Fred Eady

PHOTO 1. This is the MRF24J40MA module variant that isdesigned to interface to the PICDEM Z development platform.Note that the surface-mountable version of the MRF24J40MAmodule is actually soldered onto the PICDEM Z 12-pin socket carrier printed circuit board.

Explore this simple methodthat lets you andyour robot playtogether in awireless world!

48 SERVO 04.2010

Eady - Apr 10.qxd 3/7/2010 10:46 AM Page 48

Page 49: Servo magazine – April 2010

bandwidth messages over very short distances. PANmessage traffic can exist between peer nodes, or the PAN’stiny messages are routed to a central location.

In the discussion that follows, we will examine andexercise the capabilities offered to us by the 802.15.4specification. Instead of building up an application-specificpiece of PAN hardware, we’ll generate some 802.15.4 PANtraffic using an off-the-shelf development kit fromMicrochip. The idea is to show you how 802.15.4 workswith a very basic PIC microcontroller implementation thatyou can use as a reference design to build your own PANhardware.

The Microchip MRF24J40MAIEEE 802.15.4 2.4 GHzTransceiver Module

As its name implies, the MRF24J40MA 2.4 GHztransceiver module is an 802.15.4 compliant RF transceiver.In that the MRF24J40MA is based on 802.15.4, it cannatively support ZigBee and the numerous proprietary802.15.4-based wireless network protocols such asMicrochip’s MiWi and MiWi P2P. Like the majority of802.15.4 radio equipment, the MRF24J40MA transceiveruses the unlicensed 2.4 GHz frequency band and hasenough output power to reach out and touch other802.15.4 nodes at up to 400 feet.

The MRF24J40MA transceiver module that we will bediscussing is shown in Photo 1. Note that my module isspecifically pinned to mount on a PICDEM Z development

board. The 12-pin connector includes electrical paths tosupply +3.3 volts to power the MRF24J40MA, a four-wireSPI portal interface, a reset line, and wake and interruptcontrol lines to the host microcontroller. The design of thePICDEM Z connector defies you to incorrectly mount theradio onto its development board or any other hostplatform. If you would like to have your own PICDEM Z 12-pin connector assembly, you can get one from Samtec byspecifying part number LST-106-07-F-D. The MRF24J40MAradio module can also be had in a 12-pin surface-mountablepackage, as well. If you look carefully at Photo 1, you’ll seethat the 12-pin SMT variant of the MRF24J40MA module issoldered onto the PICDEM Z 12-pin socket carrier printedcircuit board (PCB).

SERVO 04.2010 49

SCHEMATIC 1.Here’s a schematic of theMRF24J40MA module. It’sgood to be able to get a low-level feel of a device,even though most of thedown-and-dirty hardwaredetails are transparent to the designer.

FIGURE 1. No rocket science here. This is a standard SPI hookup.In fact, if you recall our recent ZeroG discussion, this is almost identical to the SPI interconnect between a PIC and the ZeroG

wireless Ethernet module.

Note: NP = Not Placed.

Eady - Apr 10.qxd 3/7/2010 10:46 AM Page 49

Page 50: Servo magazine – April 2010

If you peek over into this month’s Nuts & Volts DesignCycle offering, you’ll see that we’re talking about a wirelessEthernet radio over there that you’re already familiar with.Like the ZeroG wireless Ethernet module — which is basedon the wireless 802.11b standard — the MRF24J40MAmodule is self-contained and incorporates an integratedcrystal, an internal voltage regulator, and a PCB antenna.This all-aboard configuration allows for easy integration ofthe MRF24J40MA transceiver module into an environmenthosted by just about any PIC. A typical microcontroller-to-MRF24J40MA interface is shown in Figure 1.

The MRF24J40MA module is based on the Microchip2.4 GHz transceiver IC which is the origin of theMRF24J40MA module’s SPI portal. The active-low RESETand WAKE/INT I/O pins are also native to this transceiverIC. I’m sure that the readers that wear pointy hats lacedwith moons and stars will want to closely examine the RFaspects of this transceiver IC. So, I’ve taken the liberty topost a schematic of the MRF24J40MA module in the guiseof Schematic 1. If you wear a really big pointy hat, theMRF24J40MA datasheet goes into excruciating details thatdescribe the finite operation of the module’s RFcomponentry.

About now, a funny smelling smoke is beginning to risefrom the pots of the readers wearing those strange pointyhats. So, let’s leave the land of RF and cross over into theland of microcontrollers and logic.

Hosting the MRF24J40MAIEEE 802.15.4 2.4 GHzTransceiver Module

Instead of designing and fabricating our own customPCBs, it’s a bit easier and cheaper in this instance to employthe services of the PICDEM Z Development Kit. Being adevelopment platform, the PICDEM Z host PCBs most likelycontain a few more goodies that you and I would use inone of our unique applications. Fortunately, the PICDEM Zhost boards are very simple in design and can be used as atemplate.

Let’s take an aerial tour of a PICDEM Z host boardbeginning with Photo 2. The host microcontroller is aPIC18LF4620. This happens to be one of my favorite eight-bit PICs. The PIC18LF4620 is a general-purposemicrocontroller that is just as useful running at 20 MHz as itis at 40 MHz. The PIC18LF4620 that is in charge of thePICDEM Z host boards is fitted with a 4 MHz external clockwhich sets the maximum 4x-PLL-assisted CPU clockfrequency at 16 MHz. This PIC is capable of operating at upto a bit over 25 MHz when powered by a 3.3 volt powersource. For this particular application, the PIC18LF4620 is“just enough” microcontroller on the CPU side with I/O andmemory resources to spare. It houses enough peripheralhorsepower to allow the MRF24J40MA to take advantageof the on-chip SPI subsystem, general-purpose I/O pins, andexternal interrupt engine.

To enable us to monitor and control the MRF24J40MA,we’ll need a simple way of communicating to the PIC.

50 SERVO 04.2010

FIGURE 2. This is the defacto standard mating scheme for thePICDEM Z host board. Any 802.15.4 radio that can be adapted to this 12-pin connector can be attached to the PICDEM Z’sPIC18LF4620.

PHOTO 2. Put away the liquid oxygen and hydrogen. This is abasic PIC18LF4620 design. Now you can see why I really favorthis particular microcontroller in our SERVO designs. It’s a no-nonsense PIC with enough resources to take on just aboutany general-purpose microcontroller application. Need lots ofmemory and program Flash but don’t need all of the 40-pinPIC18LF4620’s I/O lines? No problem! Use the 20-pinPIC18LF2620. Same innards, less I/O.

PHOTO 3. This shot is better understood when served withFigure 2.

Eady - Apr 10.qxd 3/7/2010 10:47 AM Page 50

Page 51: Servo magazine – April 2010

There is no simpler way to do this than through its EUSART.If you focus just above the PIC18LF4620 in Photo 2, you’llsee an assemblage of ceramic capacitors surrounding aMAX3221 RS-232 converter IC (U5) that just happens to beattached between the PIC’s EUSART and the outside world.

Just to the right of the MAX3221 lies the 3.3 voltregulator area which is built around an LP2981 (U2). TheLP2981 is rated for a maximum input voltage of 16 voltsand is a good choice for this design as the PICDEM Z hostboard can power itself from a standard nine-volt battery orthe Microchip PTF0905I power brick.

Photo 3 is a fly-over shot of the 12-pin MRF24J40MAhost interface connector. As you can see in Figure 2, not allof the 12 available connections are put to use. Aninteresting point in Figure 2 is the use of MISO and MOSIinstead of SDO and SDI. Most Microchip documents willreference the SDO/SDI combination which (whentranslated) means Serial Data Out and Serial Data In,respectively. In Figure 2, MISO — which is short for MasterIn Slave Out — is synonymous to Microchip’s SDI, while SDOis French for MOSI (Master Out Slave In). SPI portalconnections work just like direct-linked RS-232 connections.The output of Node A must connect to the input of NodeB, and vice versa. That is the Master node’s MOSI signalmust route to the Slave node’s MISO, and the Slave’s MOSImust feed the Master’s MISO.

The SPI signals that are used to converse with theMRF24J40MA are shared by a Microchip TC77 thermalsensor (U3) which can be partially seen in the lower portionof Photo 3. The MRF24J40MA is selected via pin 6 of the12-pin PICDEM Z host connector. I/O pin RA2 of thePIC18LF4620 is used to select the TC77. Only one SPI slavedevice can be selected at any time.

A full view of the PICDEM Z host board is under thelens in Photo 4. A couple of user-accessible LEDs and pushbuttons are present to allow the designer to simulateinputs and view output status. That’s the drill on anydevelopment board.

Without going into the PIC18LF4620 circuit details, wenow know that the MRF24J40MA moves data betweenitself and the PIC18LF4620 using a standard four-wire SPIportal. We also know that there is a TC77 thermal sensorthat shares the four-wire SPI connection. If we requirethem, a standard RS-232 port, a set of pushbuttons, and apair of LEDs are available to us. I purposely didn’t post aPICDEM Z host board schematic as you can get a completeone by downloading the PICDEM Z Demonstration Kit UserGuide from the Microchip website.

Let’s Mix It Up

Okay. We have the lowdown on the MRF24J40MA. Wealso have a very good idea about how the PICDEM Z host isput together as it is based on a general-purposePIC18LF4620. It’s time to meld the radios to the hostboards and transfer some data.

The reason we’re here is to gather enough informationto enable us to use a microcontroller like the PIC18LF4620to put some MRF24J40MA 802.15.4 radios on the air. So,

the first order of business is to mate the PICDEM Z hostboard and the MRF24J40MA module which I’ve done inPhoto 5. To be able to form a network, I created anotherMRF24J40MA node by loading a second PICDEM Z host

PHOTO 4. This is a view of the complete PICDEM Z hostboard. The normal complement of pushbuttons and LEDs make

up the rest of this development platform.

SERVO 04.2010 51

PHOTO 5. The PICDEM Z host/MRF24J40MA module combination you see here is waiting for some radio driver

firmware. Actually, there is a pair of these waiting to be programmed. One host will eventually be programmed as a

PAN Coordinator and the other as an End Device.

Eady - Apr 10.qxd 3/7/2010 10:47 AM Page 51

Page 52: Servo magazine – April 2010

board with a second module. I’ve downloaded the MRF24J40 radio utility driver

which we’ll use to initially expose the capabilities of themodule. The radio utility driver will allow us to configurethe MRF24J40MA and run basic transmission and receptiontests. The radio utility driver package comes as a collectionof MPLAB projects with precompiled hex files. So, we onlyneed to program the PICDEM Z hex file into each of thePICDEM Z/MRF24J40MA board pairs. After I set up a TeraTerm Pro session for 19200 bps, eight data bits, no parity,and one Stop bit for each node, we should be ready to rockand roll. According to the utility driver user information, weshould be welcomed by a Main Menu by way of thePIC18LF4620’s RS-232 port and Tera Term Pro. BeholdScreenshot 1.

What moves you in Screenshot 1? Personally, I reallywant to jump to the Ping Pong Test, but I think we oughtastart by punching in “a.” Okay, “a” it is. Here we go again.What moves you in Screenshot 2? I like “b.” Recall that theMRF24J40MA datasheet specified a typical range of 400feet. Well, now we know how far 1.0 milliwatts (+0 dBm)off transmit power will take us. I chose to keep the outputpower at +0 dBm.

I messed around with the other MRF24J40 radio utilitydriver menu options and finally broke down and ran thePing Pong Test. As you can see in Screenshot 4, there’snothing new to report. The radio utility driver is definitelyaimed at the RF engineers that wear those funny hats. Let’sgo to Las Vegas.

Elvis Did It MiWi

MiWi is a Microchip protocol that can be used in verysimple wireless 802.15.4 networks. Our MiWi network willconsist of a MiWi Coordinator and a MiWi End Device withboth nodes configured as shown in Photo 5. The MiWipackage is a free download from the Microchip website andcomes with ready-to-run code for a PAN Coordinator andEnd Device. I’ve loaded up the PICDEM Z hosts. So, let’s getthe PAN hot.

Here’s the plan. I’ll start up the MiWi Coordinator first.It will search for a pre-existing network. Naturally, it won’tfind one and it will start a network of its own. Next, I’ll fire

52 SERVO 04.2010

PHOTO 6. If you really want to get serious with MiWi or ZigBee, you need one of these.

SCREENSHOT 3. As you can see in this capture, the lowestpower output we can dial in is between 0.001 and 0.0001 milliwatts. The MRF24J40MA is able to track a signal with a single strength as low as -94 dBm. The MRF24J40MA’s receiveroverloads at anything above +5 dBm.

SCREENSHOT 2. There are some really interesting menuoptions here, as well. However, our goal is to send and receivesome data. So, I figure we won’t be configuring any external PAs or LNAs today.

SCREENSHOT 1. This Tera Term Pro capture lists everythingwe can do with the MRF24J40 Radio Utility Driver. It looks likethis could be fun even without having to put on a pointy star-studded hat.

PICDEM Z Demonstration KitMiWi Stack

MRF24J40MA IEEE 802.15.4 2.4GHz Transceiver

MRF24J40 Radio Utility Driver ZENA

Microchipwww.microchip.com

Eady - Apr 10.qxd 3/7/2010 10:48 AM Page 52

Page 53: Servo magazine – April 2010

up the End Device. The End Device will attempt to join thePAN Coordinator’s new network. Once the End Device joinsthe newly created PAN, I’ll press the RB4 button on the EndDevice which will send a byte of data to the MiWiCoordinator. The MiWi Coordinator receives the report(French for PAN packet) and toggles the LED controlled byI/O pin RA1. Again, I will press the RB4 button on the MiWiEnd Device. Another report will be transmitted which willagain toggle the LED on the MiWi Coordinator host board.While all of this is going on, I’ll be capturing the packetflow using a ZENA MiWi Sniffer like the one you see inPhoto 6.

The results of the plan as reported by the MiWi nodesare listed in Screenshot 5. Let’s associate the ASCII MiWimessages with the ZENA data captures beginning withScreenshot 6. As the text in Screenshot 5 states, theMiWi Coordinator is looking for a pre-existing network tojoin. After transmitting a number of Beacon Requestframes, the MiWi Coordinator gives up and plants a stake inthe ground creating its own network.

Immediately after power-up, the MiWi End Devicebegins its search for a suitable network to join. The onlyPAN in range is the newly created 0x011B PAN which is theMiWi Coordinator’s domain. The MiWi End Device tells usabout the network and node it found in Screenshot 5. TheZENA capture you see in Screenshot 7 reveals that afterdiscovering the new PAN, the MiWi End Device sent anAssociation Request to the PAN’s MiWi Coordinator. A

positive Association Response is returned to the MiWi EndDevice from the MiWi Coordinator and the data chase ison. The MiWi End Device will continually send Data Requestframes to the MiWi Coordinator.

The Screenshot 8 ZENA capture shows that I finallycan press a button. The Send Report messages in the MiWiEnd Device Tera Term Pro capture say that two reports weresent. One report was sent using the MiWi Coordinator’sshort address and the second report was sent using theMiWi Coordinator’s long address. However, the two reportsin Screenshot 8 are identical. The reason for this is that theMiWi MAC is programmed to send reports using the leastamount of cost to the MAC. Thus, short addressing is a bitless work than long addressing, and both reports weresubsequently sent using short addressing.

Take another look at Screenshot 8. I pulled thefollowing definitions from the MiWi.h file:

#define USER_REPORT_TYPE 0x12#define LIGHT_REPORT 0x34#define LIGHT_TOGGLE 0x55#define LIGHT_OFF 0x00#define LIGHT_ON 0xFF

SCREENSHOT 5. These screens are generated as the PANnodes are doing their things. All of this data corresponds to the

fields of data in the ZENA capture.

SCREENSHOT 4. About all this tells us is that the radios arespeaking to each other. I think it’s time to load and run some network firmware.

SERVO 04.2010 53

SCREENSHOT 6. This is what’s going on at thebusiness end of the 802.15.4 network after I poweredup the MiWi Coordinator. Here, the MiWi Coordinatoris searching for a pre-existing network with no joy and

establishing its own network.

Eady - Apr 10.qxd 3/7/2010 10:49 AM Page 53

Page 54: Servo magazine – April 2010

Do you see the definitions in the Screenshot 8capture? Here’s a code snippet from the MiWi applicationmain.c file that tells us how the MiWi stack parses thedefinitions we just exposed in the MiWi.h file:

switch(*pRxData++) //report type{

case USER_REPORT_TYPE:switch(*pRxData++) //report id{

case LIGHT_REPORT:switch(*pRxData++)

//first byte of payload{

case LIGHT_ON:LED_2 = 1;break;

case LIGHT_OFF:LED_2 = 0;break;

case LIGHT_TOGGLE:LED_2 ^= 1;

ConsolePutROMString((ROM char*)”Received Reportto Toggle Light\r\n”);

break;}break;

}

The code trail we’ve followed enables us to associatethe report payload data byte (0x55) in the ZENA trace tothe LIGHT_TOGGLE command which is parsed from thereport frame that was transmitted by the MiWi End Device.The MiWi End Device LED toggle code is duplicated in theMiWi Coordinator. I generated Screenshot 9 with a MiWiCoordinator button press.

No Pointy Hat Required

Microchip has taken the complexity out of 802.15.4networking. With what we’ve discussed today, you have theability to eliminate the wires between your robot’s internalsubsystems and monitor sensors, and can even build awireless burglar alarm using MRF24J40MA modules and theMiWi stack. It’s a wireless world, and you and yourmechanical animal should be playing in it. SV

54 SERVO 04.2010

SCREENSHOT 9. From source and destination addresses in this ZENA capture, we can see that the MiWi Coordinator (0x0000) has sent a report to the MiWi End Device (0x0081).

SCREENSHOT 8. Even though the application sent the byte with long and short addresses, the MiWi MAC is programmed tosend a report with the least cost to the MAC. Thus, the report was sent using the short address both times.

SCREENSHOT 7. Once the MiWi Coordinator declared itself King, I fired up the MiWi End Device. As you can see, the MiWiEnd Device sensed the King’s new domain and wants to associate with (join) the MiWi Coordinator’s network.

Eady - Apr 10.qxd 3/7/2010 10:49 AM Page 54

Page 55: Servo magazine – April 2010

PWM Data Channel

One day, I was working with some PWM circuits foranother project and it dawned on me that even though anR/C radio sends an analog signal, with proper timing oneshould be able to transmit discreet data elements over achannel or a couple of channels. My first approach was tosimply encode a byte on an analog channel with switches.A digital-to-analog circuit (DAC) at the controller wouldbuild the byte, then at the receiver an analog-to-digitalcircuit (ADC) would decode it into bits. Well, this plansounded great but failed on two levels. I could never getthe noise out of the DAC at the transmitter. Any wire Iconnected to the transmitter became an antenna andinjected huge noise into the system.

It also had the negative aspect of robbing thecontroller of one control axis on a joystick. You see, theswitch channels on the transmitter are binary. One cannotsimply replace a switch with a potentiometer and getanother analog channel. Analog is there, but thetransmitter software keeps it so you can’t get at itelectronically. So, the project got shelved for several years infrustration. A few weeks ago, I ran across one of theprototypes and I decided I would conquer the problem witha new approach. If it worked, it would solve a big controlissue for me, so I sat a while and thought. On my six-channel system, two of the channels can be controlled asbinary ON/OFF modes. Why not use one for data and onefor timing? Then, these two channels become asynchronous data stream! Voilà, it worked!

So now, I’m going to tell you how to trade two of yourPWM channels for a whole bunch of ON/OFF switches anddata. You’re going to have to do a little surgery on thetransmitter to intercept the switches. This article is based ona JR-XP6102 six-channel radio and receiver; I’m sure otherbrands will work similarly.

Theory of Operation

To get this theory off the ground, we should start witha quick review of PWM at the servo level. We’ll start at therobot end where the PWM signal comes out of the receiver.

Pulses flow continuously out of each receiver channel.On each channel, a 0 to 1 transition happens about every10 to 20 microseconds, depending on your brand of R/C

I like to build rovers, but communicationwith them has always seemed like a diceyproposition for real-time control. Two-waydata radios typically have short ranges for

mobile applications or are very pricey.Packetized systems tend to get glitchy or

don’t like the whole ‘mobile’ thing verymuch as packets get backed up and real

time changes to queue time. R/C radios arefantastic for this purpose (mostly becausethey are designed for it ... duh). They are avery reliable and mature technology with

little, rugged low-current receivers. The BIGproblem with them in robotics applications

is that they only carry a few analog datasignals. If you want to do more than five or

six channels of analog, you have to set upan entire auxiliary communications link via

XBee, WiFi, BlueTooth, or some othermedium. That is massive overkill if you just

want to be able to control a few switchchannels like lights, cameras, pumps, or

select different operating modes likemanual, autopilot, hover, etc.

So, what do you do?

SERVO 04.2010 55

Trade Two PWMChannels for a Whole

Bunch of SwitchesPHOTO 1. Transmitterand switches.

By Jim Miller

Miller - PWM Switches.qxd 3/7/2010 1:28 PM Page 55

Page 56: Servo magazine – April 2010

hardware and the values of other channels. The pulses donot all come out at the same moment, however. They arestaggered. On the JR, it’s sequentially in channel order. Thestaggering is not necessary electronically but nice forcurrent loading on the servos so they don’t all jump at thesame microsecond.

Anyway, each pulse is divided into two segments. We’llcall these a ‘base’ pulse and a ‘data’ pulse. The basesegment is always the same duration in time. In the case ofthe JR-XP6102 radio, it’s about 900 microseconds measuredfrom the beginning of the 0 to 1 transition. The datasegment stretches the base from 0.9 µs up to 2.4 µs. Thetime period of the data segment is proportional to thedeflection of the servo. A shorter data pulse yields a smallerangle of deflection. Figure 1 shows this graphically.

Let’s jump from the servo all the way back to thejoystick on the R/C transmitter. The joystick is attached to apotentiometer which creates a voltage proportional to thestick deflection. Through the magic of electronics, thisvoltage disappears into a set of converters and timemultiplexing circuits, then out the transmitter on an RFsignal. Your receiver picks up the signal, sorts it all out, andgenerates the PWM pulses out of the appropriate channel.

So, this whole system changes the voltage at apot on the transmitter into a sequence of PWM pulses onthe receiver. On my JR transmitter — and most other six orgreater channel systems — there are channels that can bedevoted to a binary type signal. I say ‘can be’ because youhave to set up the transmitter to do it. These channels canalso be slaved to other analog control channels. Forexample, in a helicopter configuration, the throttle channelmight be slaved to the collective so as the blade angle ofattack increases, the throttle is opened up to add power.

However, for a simple airplane configuration thesechannels could be assigned to the gear and flap control.The function of these controls is to extend and retract thelanding gear or flaps of an R/C plane. We typically don’tput landing gear halfway down or partially up, so theyreally only need two positions. They are driven by a two-position toggle switch on the transmitter. With only twopositions, the PWM signal coming out of the receiver willonly have two data segment lengths: long and short. Thoseare now 1 and 0.

Timing Issues

The transmitter functions as a free-running loop that

FIGURE 1. Servo deflection with PWM.

PHOTO 2. Gearswitch (before).

56 SERVO 04.2010

SCHEMATIC 1. Transmitter/Encoder CPU.

Miller - PWM Switches.qxd 3/8/2010 12:24 PM Page 56

Page 57: Servo magazine – April 2010

samples joystick and switch positions. It thenchanges them into an RF signal which ispicked up by a receiver that outputs asequence of modulated pulses. Theimportant thing to consider for our purposesis “how often” and “when” the transmittersamples the switches. If you are just sendinga single switch position like “gear down,”one can assume it will get there in thissample cycle or the next (since it’s only amatter of milliseconds anyway). Using thechannels to send data bits efficiently andaccurately needs to be either more precise orspread across multiple samples.

For more precision, it makes sense tofind a time base so that the processor canbe sure to put the bit on the switch at theexact right moment for every sample loop.In developing this idea, I tried poking around in thetransmitter for a clock to sync the sample timing to themaster clock. I successfully synced the systems this way, butit lead to the discovery that noise protection circuitry in thetransmitter software would not let a switch be toggled thatfast. So, the next approach was to stretch the time. If I puta bit on a channel over multiple samples that was slowenough to get by the noise canceling electronics andsoftware, then I could send the data.

As it turns out, the sample speed is different fordifferent transmitters and modulation types. The speed isan integer multiple of the cycle time for all of thetransmitter’s channels. On my JR, that’s about 22 µs. For

eight bits, that works out to 176 µs. Typically, it will runhigher than that depending on the noise squelchers. I’llwarn you now — the response time on this will seem slowbecause it is. This will not work well for time-critical thingslike firing water guns. It works great for mode switchingand things like turning lights on and off, or switchingcamera views. Keep in mind that the remaining channelsstill have very quick response and you can use the switchingto divert their control to any channel.

Surgery on the Transmitter

We need to find control lines to hijack. The JR-XP6102

SCHEMATIC 2. Transmitter/Encoderswitch and LED board.

SERVO 04.2010 57

SCHEMATIC 3. CPU, EEPROM, servo inputs,and 3.3 volt power.

Miller - PWM Switches.qxd 3/7/2010 1:28 PM Page 57

Page 58: Servo magazine – April 2010

58 SERVO 04.2010

has switches on the upper left and right corners labeled“Flaps” and “Gear.” When you switch these on and off, thegear and aux channel pulses from the receiver will jumpback and forth between a long and short pulse. You needto find something similar to these switches on yourtransmitter. (I’ll refer to these as the gear and aux fromnow on.)

To get the signal for the encoder, look at the back ofthe switch. On the JR, one side was grounded and theother flipped between zero and five volts, so I figured thatwas the signal line. I tied this to a prop port via a 10Kresistor and found that it modulated the pulse length justlike the switch. Okay, let’s discuss the switch encoder.

Connecting the Switches to the Encoder

The switch encoder is a very simple circuit and softwarepiece. It’s especially easy for a processor with thecapabilities of the Parallax Propeller. The reason I chose theProp for this was that it has the speed to make this work inits SPIN language. (Besides, I knew I could always make itwork with the assembly language.) It’s also my processor ofchoice these days; I’m comfortable with its design,programming, and the forum is an incredible asset thatstays up all night long. The Propeller also has the ability togenerate an NTSC signal by adding four resistors; thismakes debugging a breeze.

So, we’ve hijacked two of the transmitter controlchannels. One will be a data channel and one will be aframing pulse which will allow the data channel to beproperly aligned at the other end. Now you need to decidehow long your data sequence will be. How many bits in agroup? For the switch panel and chassis shown here, thereis only room for seven switches so I chose a byte (or eightbits). The software can toggle the extra bit on every otherframe as a stay-alive and error checking function. Forframing, a sync pulse is sent out on the gear channel 5before the first bit of data. This lets the receiver/decoderknow when the start of a sequence of data bits is about tooccur. The switch encoder software counts the cycleperiods. Every time it sees ‘n’ periods, it toggles a softwareshift register to send out a data bit on the aux channel.

The decoder at the receiver end watches the framingchannel 5. When it sees a high or long pulse, it capturesthe next eight pulses on channel 6 as either long/high orshort/low. Because the bits can stretch over multiple cycles,each bit is followed by a couple of zeros.

How Long is a Cycle?

To measure a cycle, simply hook your ‘scope up to anoutput of the receiver. Measure the period of one channel.In case you weren’t listening in your physics class, a periodruns from the beginning of one pulse to the beginning ofthe next. In Figure 2, it is the time from the blue-dottedvertical line on the left to the time of the red-dotted verticalline on the right, or 22.1 µs. Figure 2 shows all six channelsbut you only need to look at one. It is also important tomake sure your transmitter is ON when you make themeasurement. On a JR receiver, these pulses are all over theplace until it syncs to a transmitter.

Transmitter/Encoder Circuit

Since I had a lot of extra capacity with the Propellerand its 32 I/O lines, I broke out everything in thetransmitter circuit. Seven ports go to sense switch positions;nine ports go to LEDs; two are designated for transmitteroutputs; two are used for the EEPROM; and (just for funand debugging) four are set up for an NTSC video outputfor debugging.

For space considerations, the physical layout of the

FIGURE 2. Pulse cycle time.

FIGURE 3. The three-part PCB.

FIGURE 4. Chassis face drilling guide.

Miller - PWM Switches.qxd 3/7/2010 1:29 PM Page 58

Page 59: Servo magazine – April 2010

transmitter/encoder unfolds across two PCBs (printed circuitboards). One has the CPU, power regulator, NTSC resistornetwork, and crystal for the processor. The other is justswitches, LEDs, and resistors. I did it this way so that I couldstack the switch/LED piece on top of the CPU element, sothe whole package will be small enough to fit into a box ontop of the transmitter case. The two PCBs are joined by DIPheaders on either end. These provide electrical connectionsand physical support. The switches actually attach thecircuit board to the chassis face.

The circuit itself is very straightforward but there are acouple of things that need to be pointed out. The two dataoutputs back to the transmitter are current-limited with 10Kresistors to protect everybody. You’ll also notice that theswitch LEDs are not hooked up sequentially on the ports.This is because the ports on any side of the Propeller have amaximum current which is less than the sum of theindividual ports. Putting all of the LEDs on one side wouldoverload the Prop if they were all turned on simultaneously.Having software control of them makes it possible to do allsorts of start-up dances. And, since there’s a lot of unusedprocessing power, I tossed in a red-green LED driver cog.

We haven’t talked about the receiver yet, but the twotransmitter PCBs and the receiver PCB all fit on a singleExpressPCB mini-board. All the ExpressPCB files for this areon the SERVO website (www.servomagazine.com). Thegood news is you get three PCBs on one order. The badnews is it must be cut into three individual boards whenyou get it. I’ve found the easiest and cleanest way to cutPCBs is with a band saw. If you don’t have access to a bandsaw, score them on both sides several times with a boxcutter and metal ruler, then bend to break. A dremel toolwith a wheel cutter works well, too. Make sure you don’tcut too close to the traces on the adjacent boards. If youdon’t want to order these PCBs from ExpressPCB, send mean email ([email protected]). I have extras available,so I’ll cut them and put them up on eBay.

For real estate reasons, there are components on bothsides of the PCBs. There are also three regulators using thesurface for heat dissipation on the receiver/decoder soremember this when mounting. It will need a stand-off ofat least 1/4” inch for electrical isolation and cooling. The

tag for a component on the underside of the board (green)shows up on the top (red) side of the board, so you have tobe careful. The bottom side components are bypass capsand half of the voltage divider resistors for the ADC.

Switch Case

The chassis for the switch can be pretty much any size

PHOTO 6. The rev 4 receiver/decoder board ready to go.

PHOTO 5.Transmitterback withsupportmounted.

SERVO 04.2010 59

PHOTO 3 and PHOTO 4. Transmitter/Encoder case.

Miller - PWM Switches.qxd 3/7/2010 1:30 PM Page 59

Page 60: Servo magazine – April 2010

60 SERVO 04.2010

you need. I wanted it as small as possible and very light.Given the proximity to the antenna, a metal or conductiveplastic enclosure is very important. You need to make surethe case is grounded to the radio ground. For power, Itapped it directly off of the battery at the on-off switch inthe transmitter. You’ll see that the red-green LED is wiredoff of the lower board and pressed into a hole on the

chassis face. Call it a lack of planning, but I just didn’t wantto mess up the symmetry of the switch board layout.

As a side note on those disconnected switches, JRinstalls SPDT switches but only uses two of the three poleswith the center grounded. With some clever rewiring, onecould keep those switches operational. By moving theground to an outer pole, the transmitter sense wire to thecenter, and the encoder output to the other pole, theswitch becomes a selector between OFF and the encoderinput.

Drilling the holes in the chassis for the switches andLEDs to line up properly takes some patience andforethought. I recommend having a pattern to follow; use apunch to mark the holes before drilling. This is a tightlayout and the nuts on the switch bodies come into contactwhen it’s laid out correctly. If you miss, you may not havesome of the switches tightened. The switches provide themechanical support for the circuit inside of the box. Whenyou solder them to the PCB, make sure they are lined upwell and firmly seated on the board. You don’t want thembent at a bad angle to get into the hole.

The best order of construction is to populate theresistors and DIP headers on the board; drill the chassis,then insert the switches and LEDs into the holes in thechassis; finally, position the PCB on top. Don’t tighten theswitch nuts or you’ll have a lot of trouble getting all of thepins through the holes. Once everything is lined up, solderaway. A dab of epoxy on the side of a few switches isprobably not a bad idea either for extra physical supportbut make sure they are in the holes for alignment while theepoxy cures.

The wiring from the encoder into the transmitter casemust be shielded and grounded on both ends. Make it asshort as possible. I do not recommend a connector on the

outside of the cases. Youcan use RS-232 pins asdisconnects but make surethey are completely insideof the case. I used asection of four-conductorshielded wire cut from aretired USB hard drivecable. The shield carries theground; the others are:power, sync, and data.

Mounting the chassison the transmitter case willrequire a bit more drilling.You want it to be solid,adjustable, and close to theaction. A 0.5” piece ofaluminum square bar cutto about 6” in length andattached to the back of thecase with two screwsprovides a very solidanchor. It’s also positionedso that it enhances thefingertip ‘grip’ of the

FIGURE 5.Receiver/decoderblock diagram.

SCHEMATIC 4. Servo outputs,AV multiplexor.

Miller - PWM Switches.qxd 3/7/2010 1:35 PM Page 60

Page 61: Servo magazine – April 2010

transmitter. One 1/4” x 20 bolt 1” long attaches theencoder to the top of the square bar. Coming out of theside of the case, it provides a rotational adjustment to get itjust right.

The Transmitter Software

The encoder software is incredibly simple (and wellcommented in the SPIN code). It counts the clock cycles.On every eighth pulse, it sends a framing marker and setsup the next data bit. Each data bit and framing marker isheld in place for at least one complete cycle. Switchpositions and LED status are updated at the beginning ofeach bit cycle. This all resides in one cog. The NTSCgeneration happens in another cog but unless a videodisplay is added to the transmitter above the switches,there is not a lot of use for this beyond debugging. Sincethe encoder is so incredibly simple, there is not much todisplay. In the code, there are remarks to point the switchesand LEDs to the ports you have chosen.

The red-green LED driver is fun too. It’s off if you sendit a zero; a number between one and 255 will give you acombination of red and green — one beingall green and 255 being all red. All of thecode is available in the download packageon the SERVO website.

The Receiver Circuit

The receiver side is more complicatedthan the transmitter side because it handlesmore processing and switching. It is dividedinto functional groups in the schematicsbut it all resides on one board. Functionally,there is the EEPROM and CPU power, thePWM receiver inputs section, the servooutput section, the audio/video switchingand 12V power, an NTSC signal generatorDAC, an audio output, an eight-channelADC, and finally, some indicator lights forpower and activity. The block diagramrounds all of this up at a higher level. TheEEPROM and crystal circuits are copieddirectly from the Propeller demo board.

The PWM receiver inputs are all current-

limited with 10K resistors. The output level of the signalswill vary with the power supply of the receiver, but they dogo to zero when low. The resistors compensate for theupper voltage variance.

The audio and video switching section is facilitated by aSN74CB3Q3253 2 x 4 to one analog multiplexor. One offour separate A/V inputs can be selected and routed to atransmitter or the tap connector. Channel 0 is hard-wired tothe audio and video outputs of the Propeller and is thedefault position of the selector. Channel selection isaccomplished electronically by the bit configuration of Av0and Av1.

The servo output section of the board is pretty cool.Two 74HC595 serial-in, parallel-out shift registers have beencascaded into 16 outputs. These outputs drive the signalpins on 16 servo connectors. (It takes five Propeller portsand a little PASM code to create 16 PWM output channels.)You’ll note that the power rail for the servo connections isrouted from the receiver through a one ohm, five wattresistor, R45. This provides a voltage difference betweenthe supply and the power rail which facilitates a currentcalculation for the servos. (The math is noted in the SPIN

SERVO 04.2010 61

SCHEMATIC 5.A-to-D

convertersection.

PHOTO 7 and PHOTO 8. Configuration screens.

Miller - PWM Switches.qxd 3/7/2010 1:31 PM Page 61

Page 62: Servo magazine – April 2010

62 SERVO 04.2010

code comments.) That way, you can calculate holding if youleave a servo to hold something in a certain position. Youcan also determine when peak loads might be happeningand reorder your events to reduce battery drain.

There is a 12-bit, eight channel ADC on the board. Thisreads 0 to 3.3 volts, or the exact supply level of yourvoltage regulator on every channel. It is hard-wired tosample the power level inputs from the receiver and videopower source. It’s designed primarily to watch batterylevels. It also watches the output voltage on the servopower rail. All inputs to the A-to-D channels are routedthrough voltage dividers on the board. The base resistorsare all 3.3K and the sample resistors can be adjusted toaccommodate your desired voltage range. (That’s whyseveral of the resistor values are question marks in theschematic.)

In the code comments, I’ve noted some of thecommon resistor values for voltage ranges in the code. Tomake it simple, the base resistor is 3.3K to match thesupply 3.33 volt level. I’ve also provided the divisors for the12-bit sample for each value in the code. The remaininginputs are good for sampling battery voltages, sensoroutputs, or pot positions.

This implementation of the ADC is not the optimum.There is noise on the power supply and analog referenceline. In the ADC1285022 datasheet, there is a better noisecanceling arrangement which would make for a quieterimplementation and take better advantage of the 12-bitresolution. Due to board space restrictions, I decided to justdeal with the noise by sacrificing some resolution andaveraging.

The Receiver/DecoderSoftware

On the receiver/decoder side, the software is a bitmore complex, but takes advantage of the multi-core aspectof the Propeller. The frame and data channel (aux and gear)are routed into a cog running SPIN code which builds andreturns a byte representing the switch positions on thetransmitter. The four remaining receiver channels are routedinto a cog running a SPIN program available on the Parallaxobject exchange (http://obex.parallax.com) by David C.

Gregory. This returns the width of the signals inmicroseconds for each channel. A third cog is used to runmy assembly routine which provides the PWM signals to the16 servo outputs.

With these cogs running, the main program has thenumerical input data from the four transmitter joysticks andthe switch position information. It can manipulate androute that joystick data to any or all of 16 different outputs.This can be a lot of fun. Servos can be adjusted and held ina position while a control is shifted to another servo. Servoscan be ganged or slaved to other inputs, or switched fromautopilot to manual control modes. The AV switchingsoftware is about as simple as it gets and is handled as asingle PUBlic routine in the main program. Send it a cameranumber between 0 and 3, and it sets the bits accordingly.The RG object is actually used on both the receiver andtransmitter sides to drive the red-green status indicator LED.

Finally, a cog is used to drive the NTSC video output.On the decoder side, this is very useful as you can watchvalues change and see exactly what you are working with.In the downloadable code, I have provided some wellformatted screens that will help you set up your software.

PHOTO 9. Revision 4 receiver/decoder board.

Receiver/Decoder Parts ListLLeeggeenndd DDeessccrriippttiioonn DDiiggii--KKeeyy PPaarrtt NNuummbbeerrss

C5-C7 1 µF 511-1453-1-NDC8 10 nF

C9-C12 1 µF 511-1453-1-NDC12 0.1 µFD2 Red Green LEDD3 PWR LEDM2 AT24C512 EEPROM AT24C512

R30-31 10K P10KACT-NDR32 1.1K P1.1KACT-NDR33 560 P560ACT-NDR34 270 P270ACT-NDR35 560 P560ACT-ND

R36-37 220 P220ACT-NDR38-44 10K P10KACT-ND

R45 1.000 1WR50-65 10K P10KACT-ND

R70 6.8K P6.8KACT-NDR71-75 see text

R76 6.8K P6.8KACT-NDR77 30K P30KACT-ND

R80-87 3.3K P3.3KACT-NDReg2 3.3V regulator LM3940IMP-3.3CT-NDReg3 5V regulator LM3940IMP-5.0CT-NDReg4 12V regulator LM3940IMP-12CT-ND

U2 Propeller processor P8X32A-Q44-NDU3 SN74CB3Q3253 296-17283-1-ND

U4-5 74HC595 497-7387U6 ADC128S022 ADC128S022CIMT-NDX2 5 MHz X158-ND

Miller - PWM Switches.qxd 3/8/2010 10:22 AM Page 62

Page 63: Servo magazine – April 2010

The Code

The downloadable code comes with some formatteddisplays which show the inputs and outputs of the system,and facilitates getting a feel for everything. Photos 7 and 8show configuration screens. The displays present thevarious data elements, switch positions, and raw PWMoutputs. The code has some good examples of how to usethe switch data for different modes and control. It has atractor drive subroutine to turn X-Y joystick positions intoright and left. For my transmitter switch assignments, thelast three switches control display configuration and cameraselection.

The first switch is a brake that turns on/off all motion— fantastic for troubleshooting. I can also tune the value tothe exact 0 point on the PWM speed controllers. Switchesare used for changing the right joystick from vehicle motionto pan and tilt for cameras and sensors. I also have a switchthat moves vehicle control from pure manual linear tractordrive to a PID “fly by wire” mode. Your robot design willultimately dictate the applications, but it’s wide open whenyou start to ponder.

Setting Up Your Software

If you use the provided code for the base of your rover,you’ll need to set some variable limits. The TractorDrivesection of the code takes the XY translation of a joystickand calculates left and right drive speeds. It uses the

deflection percentage of the joysticks — not the actualvalues. The SetDeflection routine calculates this using theupper and lower limits of the pulse widths. These limits areinput by the programmer. You can test for these limits byusing the video screen output. Most transmitters areprogramable for upper and lower limits. If you’re handywith transmitter programming, set them all to the sameupper and lower limit timing and you can reduce thenumber of variables in your code.

Board Onboard

Photo 9 shows the receiver/decoder (rev 4.0) board.Note the connection to the receiver; not all channels carryall three lines. One or two beefy power and ground wiresare probably plenty. The PCB is very small. I did it this wayso that placing it in a project would be pretty easy. The bigred/black wire is the 14 volt supply for the cameraregulator. If you’re using less than 12-volt cameras, youdon’t need the 12V regulator. You can route your powersupply for them directly to the power rail on theconnectors, or use a different value regulator. Some tinycameras work on nine, and five and six volts. The mountingholes for the decoder board are spread out to the cornersas far as possible to allow the transmitter to be mountedbelow it. (Remember for your application, there are othercomponents on the back and some air flow around it isnecessary.) In my application, the audio/video output isrouted into a 700 MHz video transmitter. You can also usea hacked 2.4 GHz transmitter from one of the batterypowered X-10 transmitters.

Photo 10 shows the first vehicle to carry my board —Roofer! By the time you read this, it will also be installed inDeckBot; check the Parallax forum for progress on thatproject.Once the transmitter modifications are in place andthe encoder is working, this is a highly transportableconcept. I hope you’re able to integrate this design intoyour robots. SV

SERVO 04.2010 63

PHOTO 10. Roofer with the receiver/decoder boardunder its front cowl. (Note the antenna

placement on left front.)

Transmitter Parts ListLLeeggeenndd DDeessccrriippttiioonn DDiiggii--KKeeyy PPaarrtt NNuummbbeerrssC1-C4 1µF 511-1453-1-ND

D1 LED power 160-1142-NDD10-16 LED switch 160-1142-ND

J1 14-pin socket S7075-NDJ2 14-pin socket S7075-NDJ3 Two-pin header 929710-10-36-ND

J1a 14-pin header 929710-10-36-NDJ2a 14-pin header 929710-10-36-NDJp1 Four-pin header 929710-10-36-NDM1 EEPROM AT24C512

R1-R4 10K P10KACT-NDR5 220K P220KACT-NDR6 1.1K P1.1KACT-NDR7 560 P560ACT-NDR8 270 P270ACT-NDR9 560 P560ACT-ND

R10-R16 220 P220ACT-NDR17-23 10K P10KACT-NDReg1 3.3V regulator LM3940IMP-3.3CT-ND

SW1-SW7 PC mount toggleswitch

RRaaddiiooSShhaacckk 275-645

U1 Propeller processor P8X32A-Q44-NDX1 5 MHz X158-ND

PCBs, chassis, solder,etc

Miller - PWM Switches.qxd 3/8/2010 10:22 AM Page 63

Page 64: Servo magazine – April 2010

64 SERVO 04.2010

Build Your Own Humanoid Robots

by Karl WilliamsGREAT 'DROIDS, INDEED!

This unique guide tosophisticated roboticsprojects bringshumanoid robotconstruction home tothe hobbyist. Written bya well-known figure inthe robotics community, Build YourOwn Humanoid Robots provides step-by-step directions for six exciting proj-ects, each costing less than $300. Together,they form the essential ingredients for making your own humanoid robot. $24.95*

We accept VISA, MC, AMEX,and DISCOVER

Prices do not include shipping and may be subject to change.

The SERVO WebstoreAttention Subscribers ask about your discount on prices marked with an *

Forbidden LEGO by Ulrik Pilegaard / Mike Dooley

Build the ModelsYour ParentsWarned You Against.Forbidden LEGOintroduces you tothe type of free-style building thatLEGO’s masterbuilders do forfun in the back room. Using LEGO bricksin combination with common householdmaterials (from rubber bands and glue to plastic spoons and ping-pong balls)along with some very unorthodox building techniques, you’ll learn to createworking models that LEGO would neverendorse. $24.95

Robot Building for Dummies by Roger Arrick / Nancy Stevenson

Discover whatrobots can do andhow they work.Find out how tobuild your ownrobot and programit to perform tasks.Ready to enter therobot world? Thisbook is your pass-port! It walks youthrough building your very own littlemetal assistant from a kit, dressing it up,giving it a brain, programming it to dothings, even making it talk. Along the way,you’ll gather some tidbits about robot history, enthusiasts’ groups, and more.$24.95 Robotics Demystified

by Edwin WiseYOU DON'T NEED ARTIFICIAL INTELLIGENCETO LEARN ROBOTICS!Now anyone with aninterest in robotics can gain a deeperunderstanding —without formal training,unlimited time, or agenius IQ. In RoboticsDemystified, expertrobot builder andauthor Edwin Wise provides an effective and totally painless way to learn about the technologies used to build robots! $19.95

Robot Programmer's Bonanza by

John Blankenship,Samuel Mishal

The first hands-onprogramming guidefor today's robot hobbyist!Get ready to reach intoyour programming toolbox and control a robot like never before!Robot Programmer's Bonanza is the one-stopguide for everyone from robot novices toadvanced hobbyists who are ready to gobeyond just building robots and start programming them to perform useful tasks.$29.95

ROBOTICSPIC Roboticsby John Iovine

Here's everything the robotics hobbyistneeds to harness the power of thePICMicro MCU!

In this heavily-illustratedresource, author JohnIovine provides plans and complete partslists for 11 easy-to-build robots each with a PICMicro "brain.” The expertly written coverage of the PIC Basic Computer makesprogramming a snap -- and lots of fun.$24.95

CD-ROM SPECIALS

SVWebstoreApril2010 FINAL.qxd 3/5/2010 1:54 PM Page 64

Page 65: Servo magazine – April 2010

The Amateur Scientist 3.0 The Complete Collection

by Bright Science, LLCThere are 1,000 projects on this CD, not to mention the additional technicalinfo and bonus features. It doesn’t matter if you’re a complete novice looking to do their firstscience fair project or asuper tech-head gadgetfreak; there are enough projects on the single CD-ROM to keep you and 50 of yourfriends busy for a lifetime!$29.95

Linux Roboticsby D. Jay Newman

If you want your robotto have more brains thanmicrocontrollers candeliver — if you wanta truly intelligent,high-capability robot —everything you needis right here. LinuxRobotics gives you step-by-step directions for“Zeppo,” a super-smart, single-board-powered robot that can be built by anyhobbyist. You also get complete instructions

for incorporating Linux single boards intoyour own unique robotic designs. No programming experience is required. This book includes access to all the downloadable programs you need.$34.95

SERVO Magazine Bundles

Published by T & L Publications, Inc.

$57per bundle

Save $10off thenormalprice!!

Now you can get one year’s worth of allyour favorite articles from SERVO Magazine

in a convenient bundle of print copies.Available for years 04, 05, 06, 07, 08, and 09.

Kickin' Botby Grant Imahara

Enter the arena of the metal gladiators!Do you have what ittakes to build a battle-ready robot?You do now! Here arethe plans, step-by-stepdirections, and expertadvice that will putyou in competition —while you have a heckof a lot of fun gettingthere. Grant Imahara, the creator of the popular BattleBot Deadblow, shares everything he’s learned about robot design,tools, and techniques for metal working andthe parts you need and where to get them.$24.95

SPECIAL OFFERS

The Getting Started Combo includes: Getting Started in Electronics by author Forrest Mimsand the DIY Electronics Kit. In his book, Mims teaches you the basics and takes you on a

tour of analog and digital components. He explains how they work and shows you how theycan be combined for various applications.The DIY Electronics Kit allows for the hands-on

experience of putting circuits together — the kit has over 130 parts! No soldering isrequired and it includes its own 32 page illustrated manual.

Combo Price $62.95 Plus S/H

CNC Roboticsby Geoff Williams

Here's the FIRST book tooffer step-by-step guide-lines that walk the readerthrough the entireprocess of building aCNC (ComputerNumerical Control)machine from start to finish. Using inexpensive,off-the-shelf parts, readers can build CNC machines with true industrial shopapplications such as machining, routing, and cutting — at a fraction of what it wouldcost to purchase one. Great for anyone whowants to automate a task in their home shopor small business. $34.95

To order call 1-800-783-4624

NEW

SERVO 04.2010 65

SVWebstoreApril2010 FINAL.qxd 3/5/2010 1:54 PM Page 65

Page 66: Servo magazine – April 2010

Mechanisms and MechanicalDevices Sourcebook,

by Neil Sclater,Nicholas Chironis

Over 2,000 drawingsmake this sourcebook agold mine of informationfor learning and innovating in mechanicaldesign. Overviews ofrobotics, rapid prototyping, MEMS, and nanotechnologywill get you up-to-speed on these cutting-edge technologies. Easy-to-read tutorialchapters on the basics of mechanisms andmotion control will introduce those subjectsto you. Reg $89.95 Sale Price $69.95

PROJECTS

SPECIAL OFFERS

FIRST Robots: Rack 'N' Roll:Behind the Design by Vince Wilczynski, Stephanie Slezycki

More than 750 photographs!The second annualbook highlighting thecreativity and processbehind 30 winningrobot designs from the18th annual international FIRST RoboticsCompetition. The FIRSTorganization, foundedby Dean Kamen (inventor of the Segway),promotes education in the sciences, technology, and engineering.Reg $39.95 Sale Price $29.95

TTaannkkbboott KKiitt && BBrraaiinn AAllpphhaa KKiitt

As seen in the Sept. issue Tankbot/ Brain Alpha

by Ron HackettA series filled with projects and experiments

to challenge you through your learningprocess while you grow your fully

expandable Brain Alpha PCB!The brain is a PICAXE-14A!

For more info & pictures, visit the SERVO Webstore.

Tankbot and the Brain Alpha Kitcan be purchased separately.

Combo Price $ 138.95

PPrroottoo BBuuddddyy KKiitt && BBooookk CCoommbbooFor those just getting started in electronics as a hobby, a solderless breadboard (SBB) is theperfect platform for building those first circuits. Attach a Proto Buddy to an SBB, include a

battery or two, and you will have a combo that has a lot of the samefunctionalities as more expensive units.

Combo includes PCB & Components, 830 point SBB, and Do-It-Yourself Circuitbuilding For Dummies.

Combo Price $57.95 Plus S/HLimited time offer.

1166--BBiitt MMiiccrroo EExxppeerriimmeenntteerr BBooaarrdd

Ready to move on from eight-bit to 16-bitmicrocontrollers? Well, you’re in luck!

In the December 2009 Nuts & Voltsissue, you’re introduced to the

16-Bit Micro Experimenter.The kit comes with a CD-ROM that

contains details on assembly, operation,as well as an assortment of ready-made applications. New applications will be

added in upcoming months.Subscriber’s Price $$5555..9955

Non-Subscriber’s Price $$5599..9955

112288xx6644 GGrraapphhiiccss DDiissppllaayy KKiitt

New application for the16-Bit Micro Experimenter

LCD displays ... they have been around forquite some time, but what if you could haveboth charactes as well as graphic displays atthe same time? With this kit, we will show

you how easy and inexpensive thistechnology can be using the 16-Bit Micro Experimenter.Subscriber’s Price $$4455..9955

Non-Subscriber’s Price $$4488..9955

NNEEW!W!

FFreeree

SofSoftw

aretw

are

LibrarLibrar y!y!

Or order online www.servomagazine.com

66 SERVO 04.2010

SVWebstoreApril2010 FINAL.qxd 3/5/2010 1:55 PM Page 66

Page 67: Servo magazine – April 2010

In this first installment, we’ll talk about what goes into building a ComBot and begin the design process. For more information on the ComBots event, visithttp://combots.net/ and see the Sidebar for additionalresources.

The first thing to consider in building your ComBot iscost. Robots get very expensive, very fast. Building a basic30 pound ComBot will cost somewhere in theneighborhood of $800-$1,600. For a cheaper alternative,consider building a three pound bot instead, which willlikely cost $400-$800. We’ll also want to keep in mind thenature of the sport — even in the 30 pound weight class,these robots are designed to destroy each other. Roboticsteam Tesla Prime designed “Overnight Delivery,” a 30-pound ComBot which had an upturned 1/16” steelcooking wok as armor. In its first match against Chainzilla— a 30 pounder with a spinning steel bludgeon —Chainzilla managed to literally tear holes into OvernightDelivery’s steel armor, leaving the critical electronicsexposed. The robot was incapacitated within just a fewshort seconds of the match starting. In this respect, an$800 ComBot can quickly become a $1,600 ComBot, anda $1,600 ComBot can quickly become a $3,200 ComBot.Remember that the goal of the competition is to destroyyour opponent. Factor this potential for destruction intoyour budgeting for the project.

SERVO 04.2010 67

So YouWant To

Build AComBot

Part 1 So, you’ve seen the fighting robotson TV, and you finally got off thecouch to go to RoboGames and seea ComBot event in person. Up close,it’s a whole different game.You can’ttell on TV, but most of those robotsare bigger than your dishwasher andmade of heavy metal designed totear their opponents to shreds. Sawsspinning, hammers slamming, andflames spitting from the flamethrowers, you just get drawn in.There’s no other sport like it.So, you decide you want to buildyour first ComBot.This two-partseries covers the basics of designinga 30 pound (Featherweight) ComBotfrom the ground up using only toolsyou’d find in a home shop.

BByy GGrreegg IInntteerrmmaaggggiioo

Intermaggio - Build a Combot.qxd 3/7/2010 4:37 PM Page 67

Page 68: Servo magazine – April 2010

Here’s what goes into a 30 pound ComBot:• Armor and Chassis• Speed Controllers• Motors• Wheels and Hubs• Batteries• Radio Control Transmitter• Radio Control Receiver• Fuse• LED Indicator Light and Resistor• Master Power Switch• Wires

How does it all fit together? Here’s a ComBot in anutshell:

•The master power switch is flipped, allowing electrityto flow from your batteries through a fuse whichprotects your circuits from a short.

•The electricity flows from the fuse to your speedcontrollers.

•At the same time, different batteries supply power tothe receiver which receives signals from thetransmitter.

•The receiver translates the radio signal from thetransmitter into an electrical signal which is sent tothe speed controllers.

•The speed controllers interpret the electrical signalfrom the receiver and use it to determine how muchvoltage to release to the motors.

•The motors receive the voltage and start spinning,causing the gear train to start spinning and, as aresult, spinning the wheels.

•The bot then moves forward at a speed controlledby the transmitter.

•The chassis holds everything together and the armorprotects everything from harm (like when the botsmashes into a wall at full speed!).

Sewer Snake — Team PlumbCrazy's heavyweightbehemoth — being tipped by Matt Maxham and afriend from RioBotz.

68 SERVO 04.2010

Touro Maximus is an example of excellent weight distribution and well-protected wheels.

The infamous super-heavyweight Ziggy without hisshell of armor.

Team RioBotz works fast to fix their Combot betweenmatches.

Team PlumbCrazy (left to right): Wendy, Pipe Wench,Sewer Snake, Matt, Devil's Plunger.

Intermaggio - Build a Combot.qxd 3/7/2010 4:38 PM Page 68

Page 69: Servo magazine – April 2010

ARMOR and CHASSISArguably, the most important aspect of a ComBot is

the armor that protects it from the attacking opponents.Next in line will be the chassis that holds everythingtogether. For most applications, steel or aluminum willoffer the best combination of affordability, durability, andweight. Bots with heavier active weapons like hammers orlarge saw blades may want to conserve weight by usingaluminum, where bots with weight to spare may opt forsteel.

SPEED CONTROLLERSSpeed controllers are about as close to a brain as

you’ll find in aComBot. Thepurpose of a speedcontroller is tointerpret signalsfrom the receiver,and turn thosesignals into voltageto your motors.We’ll need onespeed controller;per motor for thistutorial, we’ll use anIFI Victor 883 speedcontroller.IMPORTANT: For this application of the IFI Victor 883speed controller, we’ll need signal boosting cables ratherthan the ones that are included. Signal boosting cables aregenerally available as an accessory and are used toamplify the signal sent from the receiver. This allows thespeed controllers to have more accuracy. The 883 hasthree connections (not including the fan): the batteryinput; receiver input; and motor output.

MOTORSPicking the right motor for your ComBot is essential. If

you choose a motor with too little torque, your bot won’tmove. If you choose a motor with too much torque, it will

tear your robotapart the firsttime you run it.We’ll be usingthe Magnum775 planetarygearmotor.This will giveus plenty of

torque to work with while maintaining a light weight andrelatively low battery consumption. You’ll need two drivemotors, and may want to consider buying a third motorfor an active weapon. For beginning ComBot builders, it’seasiest to start small by creating a wedge bot with noactive weapon.

WHEELS and HUBS

Having theright wheels foryour robot canmean thedifference betweenslamming youropponent into thearena walls at fullspeed or spinningout when you takea sharp turn.Colson wheels are a great mix of traction, low friction,light weight, and durability. Depending on the diameter ofwheel you select, you may have a different shaft size. Inmost cases when working with Colson wheels, you’re bestoff just buying a hub and drilling directly into the side ofthe wheels to connect them.

RADIO CONTROLTRANSMITTER

The transmitter isthe device that sendsthe radio signal tellingyour ComBot what todo. For our ComBot,we’ll be using aSpektrum DX6i six-channel 2.4 GHzradio system mode 2.This will give usplenty of channels towork with for drivemotors and weapons,while eliminating allinterference fromother radios.

IFI Victor 883 speed controller.

Colson 4x1 and a quarter wheel.

BotTip: Indirect drive (using gears, chains, or belts toconnect your motors to your wheels) is an excellentmethod for protecting your motor shafts from heavyimpacts that could potentially ruin your motors. For thesake of simplicity, we won’t cover specifics of creating an indirect drive system, but if you are mechanicallyinclined, it’s a highly favorable option!

BotTip: You’ll want to triple-check that your wiring isperfect before putting any power through your speedcontroller. If the unit short circuits or the battery polarityis reversed, the controller will be destroyed.

BotTip: Protect your wheels! Plan to have yourwheels inside the body of your bot so that the only visible parts of the wheels are the parts touching theground to move the robot.

BotTip: Always aim to have the lowest center of gravity possible. This way, the Combot will be harder toinvert and easier to control.

SERVO 04.2010 69

Transmitter.

Magnum 775 planetary gearmotor.

Intermaggio - Build a Combot.qxd 3/7/2010 4:39 PM Page 69

Page 70: Servo magazine – April 2010

70 SERVO 04.2010

RADIOCONTROLRECEIVER

The radiocontrol receiver willreceive the signalsfrom thetransmitter, andsend them to thespeed controllers tobe converted into voltage to the motors. The SpektrumBR6000 six-channel bot receiver is the perfect choice forthis ComBot since it is not only compatible with thetransmitter, but also has a fail-safe on all channels (whichmeans it will be combat-legal out of the box). Additionally,a special battery is needed to power the receiver.

BATTERIESBatteries are one of the trickiest components of a

ComBot. This is because you want just the right balancebetween powerand longevity inthe lightest packagepossible. To putthings intoperspective, mostComBots will berunning slower atthe end of theirmatches than whenthey started. Inexhibition matcheswith no time limit,the winner issometimesdetermined by whoruns out of batterypower last. For thisbot, we’ll use asingle 18V 3.0 AhNiCad BattlePack.

FUSEA fuse is an extremely

important component thatshould be in every ComBot. It’soften the only thing standing inthe way of a completeelectrical failure, and can meanthe difference between a $20replacement as opposed to a$2,000 replacement. The jobof the fuse is simple: Be theweakest link in the electricalsystem of the robot, so that ifthere’s a short circuit, thecircuit loses power before anycritical components are damaged. You can grab a goodfuse at your local electronics store. For our featherweightComBot, we’ll use a 60 amp fuse. (It’s a big boy!)

LED INDICATOR LIGHT and RESISTORMost combat robotics events require that contestants

have a highly visible LED on their robots to distinguishwhether the power is on or off. This just means adding a simple circuit with an LED and a resistor — more on this later.

MASTER POWER SWITCHEvery ComBot needs a master power switch that is

both protected from being accidentally tripped by otherrobots, and is accessible enough to be turned on and offquickly and easily. Team Whyachi makes a great master

power switch forcombat robots; it’s abit pricey, so buildersmay opt to modify aboat switch to beturned by ascrewdriver.

60 amp fuse.

Fuse holder.

BattlePack battery.

Spektrum BR 6000 receiver.

Receiver battery.

BotTip: The most successful builders keep plenty ofspare parts handy. That way, when a motor burns out ora wheel gets torn apart by a saw blade, it’s a quickreplacement in the pits, instead of the end of the line.

BotTip: If you decide to use a Spektrum AR model,you’ll need to purchase a mechanical fail-safe for thethrottle channel. This is because receivers that identify athrottle channel fail-safe as an “idle” position rather thanan “off” position by default are illegal at most combatrobotics events. (If your bot loses communication withyour transmitter, you certainly don’t want your sawblades idling while you try to turn it off!)

Resistor. LED.

Power switch.BotTip: Interested in reading advice and insight from

some of the top ranked ComBot builders in the sport, as well as getting updates on cool things going on atComBots? Go to SuicideBots.com for hot bot-on-botaction!

Intermaggio - Build a Combot.qxd 3/8/2010 8:38 AM Page 70

Page 71: Servo magazine – April 2010

WIRESWhile they may seem somewhat innocuous, it is

important to give special attention to the wiring of ourComBot. We need toensure we use a lowenough gauge thatthe wires can standup to the amp-flowof the batteries, but ahigh enough gaugethat the wires aremanageable. It’s alsoimportant to makesure that the bot iswired in a way thatthere is a bit of slackso that during heavyimpacts, the wiresdon’t break loose. For our build, we’ll use 12 gauge wirewhich can be picked up at any local electronics store.

CHASSIS DESIGNBefore buying parts for a ComBot, it’s important to

have a design in mind. While you may not have the latestand greatest 3D design software, there’s very little thatyou can’t do with just a pen and paper. Sketch out theshape of the robot first. Is it a wedge? Where does theweapon come out of the chassis? Where do the motorsgo? How will the motors connect to the weapon and drivewheels? Always remember, KISS (Keep It Simple, Stupid!).The most successful ComBots are often the simplest, andit’s very important to keep your first design clean and easyto build. For the sake of simplicity, let’s keep this firstdesign to a quadrilateral footprint.

In designing the ComBot, keep in mind that arcs andtriangles are the strongest and second strongest shapes,respectively. That means that the design of the bot shouldincorporate those structures, especially at points of heavyimpact. Again — to keep things simple — it’s advisable toavoid arcs in the design unless you have easy access tomachinery capable of producing such shapes.

The simple reality of ComBots is that the competingrobots get beaten up during every match, and good robotdesigns should be easy compartmentalized so that insteadof replacing an entire robot every time it takes a hit, onlythe portion that is damaged will need replacing. For thisreason, it’s extremely helpful to keep the chassis andarmor as separate beings. In other words, we could spendeight hours milling out the perfect unibody chassis, butafter it takes its first hit, it’ll get bent out of shape,meaning another eight hours of milling. Instead, plan to

Wire.

BotTip: Google SketchUp is a great, free tool to create a quick and dirty chassis design with.

SERVO 04.2010 71

PARTS LISTARMOR & CHASSIS: Metal for the armor and

chassis is most easily purchased locally, however, it can be purchased from numerous websites includingwww.metalsdepot.com/products/hrsteel2.phtml?page=sheet&LimAcc=$LimAcc.

SPEED CONTROLLERS: The IFI Victor 883 speed controller can be purchased at www.robotmarketplace.com/products/IFI-V883.html. NOTE:Remember to purchase the PWN booster cable AND the 24V fan (they're options in the drop-down menu).

MOTORS: The Magnum 775 Planetary Gearmotorcan be purchased at www.robotmarketplace.com/products/RP-MAGNUM775.html.

WHEELS & HUBS: A selection of Colson wheels canbe found at www.robotmarketplace.com/products/colson_wheels.html Hubs can be found at www.robotmarketplace.com/products/hubs.html Note: TheMagnum 775 Planetary Gearmotor has a .50" shaft, meaning you’ll need hubs with a .50" bore.

BATTERIES: The 18V 3.0 Ah NiCad BattlePack can be purchased at www.robotmarketplace.com/products/BPK-3000-18.html.

RADIO CONTROL TRANSMITTER & RECEIVER: TheSpektrum DX6i six-channel 2.4 GHz Radio System Mode 2 can be purchased, along with the BR6000 BotReceiver at www.robotmarketplace.com/products/0-SPM6600.html. The battery needed for the receiver canbe purchased at www.robotmarketplace.com/products/0-SPM9520.html.

FUSE: A 60 amp fuse, along with a fuse holder, canbe purchased at a local electronics store, or online atwww.radioshack.com/product/index.jsp?productId=2102777&filterName=Category andwww.radioshack.com/product/index.jsp?productId=2062255&filterName=Category, respectively.

LED INDICATOR LIGHT & RESISTOR: An LED indicator light and appropriate resistor can be purchasedat a local electronics store, or online at www.radioshack.com/product/index.jsp?productId=2062549&filterName=Category and www.radioshack.com/product/index.jsp?productId=2062324, respectively.NOTE: When purchasing your LED and resistor, ask yourvendor to double-check their compatibility, both with the18V battery we'll be using and each other. Otherwise, you may blow out your LED.

MASTER POWER SWITCH: You can purchase a master power switch to your liking at your local electronics store, or find a nice selection at www.robotmarketplace.com/products/power_switches.html.

WIRES: 12-gauge wire can be purchased locally, or online at www.robotmarketplace.com/products/wire_and_accessories.html.

BotTip: If your local metal works doesn’t have themetal you need for your chassis, they’re sure to knowsomeone who does- so don’t hesitate to ask!

Intermaggio - Build a Combot.qxd 3/8/2010 11:30 AM Page 71

Page 72: Servo magazine – April 2010

bolt an outer armor to a frame-like chassis with a buffer ofrubber between them to help absorb the shock. This way,it’s easy to remove the armor after each match and eitherbang it back into shape or replace it. Keep in mind thatthe frame itself should be extremely sturdy so it doesn’tbend out of shape.

Another thing to remember is the simplicity ofcomponent interaction. In other words, how hard is it toremove a battery? A speed controller? A motor? While wealways want sturdy connections, it’s a good idea to designthe ComBot in a way that makes component removalquick and easy. Most bots attach all components to acommon “base plate” — one big plate that also serves asarmor for the underside of the ComBot. It’s a great way tosave time between matches since it eliminates extra stepswhen working with components.

Once you have a general chassis design sketched out,you’ll want to do a bit of research to determine the exactdimensions of the components for the bot. Then, create anew sketch with everything to scale to ensure that it willall fit. Keep in mind that most 30 pound ComBots have afootprint somewhere in the neighborhood of 12” x 12 x4” to 24” x 24 x 12” — if the bot is outside of thatspectrum, it may be worth considering a redesign.

After completing the chassis design, it’s time topurchase the required parts and components. Generally,the easiest way to get the metal needed for the chassisand armor will be via your nearest metal workshop.Google “metal works near [Your City]” and give them a

call. Before calling, though, have the exact dimensions inmind for the sheet metal cuts you’ll need. In other words,if your armor is a 12 inch cube made of 1/16th inch steel,you’ll need six 12” x 12” x 1/16” pieces of steel to build it.

THAT’S A WRAP!In this first installment, we talked about the basics of

building a 30 pound featherweight ComBot, and walkedthrough the designing process. Next time, we’ll cover howto put it all together, and include some tips and tricks ofthe trade. SV

72 SERVO 04.2010

BotTip: In designing your robot, it’s helpful toremember this baseline weight distribution:

•30% (nine pounds) of total weight to the drive system.

•30% (nine pounds) of total weight to the weapons.•25% (7-1/2 pounds) of total weight to the armor.•15% (4-1/2 pounds) of total weight to the batteries

and electronics.

SketchUp design software.

RESOURCESCOMBOTS: ComBots is a combat robotics event

for all ages held multiple times annually. The biggestComBots event takes place at the InternationalRoboGames competition. For more information onComBots, visit http://combots.net/.

ROBOGAMES: RoboGames (formerlyROBOlympics) is an annual competition in the San Francisco Bay Area featuring robots from aroundthe world competing in over 70 events. For more infoon RoboGames, see http://robogames.net/.

SUICIDEBOTS: http://SuicideBots.com is a popular robotics blog, and one of the best sources of information regarding ComBots, RoboGames, andother awesome robot stuff.

GOOGLE SKETCHUP: SketchUp is a 3D modelingsoftware from Google, and can be downloaded for freevia http://sketchup.google.com/.

JUDGE DAVE'S GUIDE TO WINNING: JudgeDave's guide to winning is a short article by DaveCalkins — the founder of ComBots — on winning robotic combat competitions. The article can be foundat www.robotics-society.org/jds-rules.shtml.

Intermaggio - Build a Combot.qxd 3/7/2010 4:41 PM Page 72

Page 73: Servo magazine – April 2010

It started with one labeled “Mr. Squiggles.” I boughthim, hoping to find a simple differential drive platformthat could be easily hacked. For $10, I thought whynot. I figured I would get two nice wheels at the veryleast. The sad truth is that Mr. Squiggles did not delivermy expected treasures. There was but a single motor,

plus the wheels are deliberately cast off kilter to make thelittle artificial hamster wobble as he scuttles about.

So, how does a mock gerbil survive in a modern worldwith only one motor betwixt its two wobbly wheels? Thesame way cheap toys have been doing it for years: a turnon reverse mechanism. There is a clever little kick-standwhich induces rotation when the motor runs in reverse.Certainly clever for a toy, and I suppose that a cleverroboticist might cut their losses and move on, but I saw thisas a challenge.

So, now — seven Zuh Zhu pets later — I have a $70challenge that I won’t be backing away from any timesoon.

Anatomy of a GerbilThe anatomy of this pesky plastic pest is at first a

challenge, but there is a lot to be salvaged, right? Well, yesand no. The well-sighted and budget conscious among youcan certainly make a lot out of all the artificial gerbil guts.There is a discreet H-bridge on the circuit board, some nicebump switches, and a speaker. I won’t be throwing thesetiny treasures away, but I won’t be using them right noweither. I am more interested in reliability and repeatability,and when hacking toy hamsters, you can’t count on either.I am also not terribly interested in cutting traces andinjecting signals on a board that is small, optimized, andmay be different if they source to different vendors. I havea lot of other things to accomplish first if this fleet is togrow in numbers (as hamsters are known to do).

So, new brains are most certainly a must-have, and anew motor drive is of great utility too. Throw in wirelesscommunications and a microcontroller, and you have a lotof potential. I shopped around and noticed that the finefolks at SparkFun (www.sparkfun.com) had all that Ineeded, so I put together a big shopping list. They have a

What started out as ablurb about Zhu Zhupets™ in SERVOMagazine has turnedinto a disturbinglylarge pile of Zhu Zhupets. Some boxed,hopeful of a friendlyhome, others hacked apart, pelts laidaside like carcassesin some hideousabattoir. Fear not forthem though, theyare destined forgreatness.

Swarm Robots andSensor Virtualization

By Mike Keesling

FIGURE 1. Modified Zhu Zhu petwith Arduino, Xbee, battery, and

H-bridge all decked out.

SERVO 04.2010 73

Keesling - Swarm Robots.qxd 3/7/2010 7:36 PM Page 73

Page 74: Servo magazine – April 2010

74 SERVO 04.2010

lot of nice stuff, and some of it is amazingly inexpensive.

Parts List • XBee Explorer regulated• XBee Explorer USB (only one for main PC)• XBee 1 mW Chip Antenna• Motor Driver 1A Dual TB6612FNG• Flex Sensor 4.5”• Arduino Pro Mini 328 — 3.3V/8 MHz

In our hamster's inner workings, we have an Arduinoorchestrating communications between the main hostprocessor — in this case, a PC — and the H-bridge via theXBee. The Arduino runs a simple bit of code that acts tocontrol the PWM signal to the H-bridge to give very simpleacceleration and deceleration profiles. It also acts as awatchdog timer, shutting the motors down if nocommunications are received. Eventually, we will also installa battery monitor so that we do not destroy our preciousLithium polymer batteries. The XBee modules arecommunicating directly to the host, and no mesh networksare necessary.

The big ticket items here are the XBee wireless units tobe sure, and there are less expensive ways to do things, butwireless is a place where I have been trained not to skimpon price. The next big ticket item is the Arduino. Honestly,for what we have planned, an Arduino is way overkill, butthe Arduino has such a massive code base there is notmuch reason to replace it. In fact, the XBee does almosteverything I need. This is where sensor virtualization comesin, as you will see later. For the most part, the Arduino willhandle the motor drive PWM and maybe some blinkinglights.

Additional mechanical and electrical concerns croppedup early on. The little kick-stand that causes the pets to lifta wheel off the ground and rotate when they back up is anarea where we may experience difficulties. To counter anypossibilities of our overall mass causing issues, we’ll steer toLithium polymer batteries. I opted for some nice packs fromCommon Sense (www.commonsense.com). They havehigh quality packs in a large variety of power and discharge

ratings. These batteries may just save us from a totalmechanical redesign.

Making Sense of ThingsNow that I’m well on my way to building an army, this

mercenary of mischief is tired of being a lone soldier on amission of madness. I need a general to help in themarshalling of my gerbil troops. For this foray to the edgeof sanity, I look to my co-worker Scott Nichols for help withideas and programming. I will leave the writing andbuilding for myself.

Let’s talk sensors. We want our gerbils to be welloutfitted. Rotation sensors on the wheels to track position,maybe a magnetometer to sense absolute orientation.Range sensors to determine distance to other obstacles.Perhaps even cameras to better understand the immediatesurroundings, or at the very least, some primitive color andlight sensors. The problem is this all gets very expensive,complicated, battery hungry, and heavy very fast. This iswhere sensor virtualization comes in. For example, if I wereto add an accelerometer, compass, several distance sensors,and wheel encoders, I could easily add $200 to the budgetfor each hamster.

In concept, it is fairly simple. A camera mounted overthe hamster habitat senses the position and orientation ofevery hamster in the environment through the use offiduciary marks affixed to the tops of the hamsters. Thesefiducial marks actually provide complete six degree-of-freedom pose information that could, in fact, be used toprovide a complete multimedia augmented realityexperience. For now, though, I think we’ll concentrate onjust detecting the pose of the targets.

Doing some research into augmented reality has leadto a lot of stalled development. It seems like there isn’t asmuch open source development going on as I had hoped.Most everyone involved in it seems to have gone the way ofdeveloping for private use or for mobile and industrialapplications. This should not be a problem for us, though,since our needs are really quite modest compared to thecapabilities that exist in the private sector. I did find thebook Augmented Reality: A Practical Guide by StephenCawood for $23 on Amazon. It promises a download oftheir SDK for private use, but the SDK isn’t for distribution.Another option is ARtoolkitplus at http://studierstube.icg.tu-graz.ac.at/handheld_ar/artoolkitplus.php.

FIGURE 2. AR marker being recognized and overlaidwith graphics.

Any marker can represent anything. Here are a fewfor representational purposes.

Keesling - Swarm Robots.qxd 3/7/2010 7:36 PM Page 74

Page 75: Servo magazine – April 2010

Another possibility may be a platform called NyARToolkit,available at http://sourceforge.jp/projects/nyartoolkit/which promises ARtoolkit functionality with Java slownessand flexibility. Fortunately, our modest needs mean we cansimply use ARtoolkit and do our programming in C.

The software functionality in the ARToolkit is verysophisticated. It first normalizes and thresholds the imageto convert it to a binary image and then looks for anysquare shapes. The pose of the shapes, their position, andorientation relative to the camera is calculated. The interioris then analyzed and the symbols inside are recognized.Once the pose and identity of each marker is calculated, atransform can be applied to convert "camera coordinates"into "screen coordinates" so that graphics can be overlaid ifyou like.

The Nature of the Swarm We have heard the term “swarm robotics” bandied

about for some years now, but not many of us are expertsin this somewhat esoteric field of study. There seems to bea lot to understand, but in reality there are only a fewsimple underpinnings that define a swarm.

Firstly, a swarm is comprised of multiple simple agents.These agents must be able to interact with each other insome way. If members of a swarm aren’t aware of eachother either through direct communications like sensing thebehavior of nearby members via methods like the“honeybee dance” or indirectly via pheromone trails orsome awareness of the effect the other members areproducing, then you really aren’t very “swarmy.” Solitarybees, though similar to communal bees in anatomy, are notpart of a swarm.

Secondly, members of a swarm are elements of alarger system. If your swarm is behaving well, you gain thebenefits of scalability, redundancy, and robustness. Youshould be able to add or remove members of the swarmand it should still function properly. The collective effort ofall these elements becomes a self-organizing system andwill exhibit emergent behavior. Termites, for example, buildvast homes for their colonies, defend, and forage, thoughno single termite is aware of the state of the entire mound.

Lastly, each member of the swarm needs to have:inputs for positive and negative feedback; a randomelement to their behavior; and (to drive the point) be ableto interact with the environment in some way. Eachmember in a hive of wasps performs their part — whetherhunting or building. They get their jobs done based onsensing and reacting to their local environment.

Bringing It All TogetherSo, what do a couple of crazy roboticists and a handful

of mechanical hamsters do to show swarminess? Scottcame up with a really neat idea that leverages the virtualnature of the universe we are building. We will make a 4’ x4’ playground that virtually tilts about its center. Becauseeach marker — when sensed — conveys its "pose" in threedimensional space, an arena can be arbitrary. We picked4x4 for convenience. There will be elements of virtualterrain that are more or less difficult to traverse, and themain driving force of the hamsters will be to sense the tiltof their world and act to bring it level.

In order to promote emergent behavior, positivefeedback and communication will be through the actual tiltof the world. The hamsters will sense (virtually) the tilt andthrough some simple rules, try to bring the world intobalance. Negative feedback will be the improper tilt of theworld, the difficulty of the terrain, and the presence ofother hamsters. Randomness will, in part, be themechanical variations of their construction and randomtime variations of different mechanical processes that willbe built into the software.

Being roboticists, the notions about feedback andcommunication are pretty easy to grasp. We have beenadding positive and negative feedback to control systemssince the days of the vacuum tube. What soundscounterintuitive at first is randomness.

Randomness sounds bad. How can you controlsomething that behaves randomly? The necessity is subtle.Imagine 100 hamsters on this tilting flatland. All of themcan move at the same speed and react the same way toinput. If you inject an error, they all will react in a verysimilar way giving the very real possibility that the sum of alltheir reactions will result in an overall overcorrection to thetilt. Compounding this is they will now react to theovercorrection in unison again. This can lead to harmfulresonances which can destroy the system. Randomresponses mean that the time in which any agent reactswill be slightly different, and the sum of all the agents willbe closer to white noise than a pure resonant tone. SV

SERVO 04.2010 75

Figure 3. Four AR markers delineating an arena with a Zhu Zhu pet inside.

The word of the day: Stigmergy. It’s fun to say,and it is the epitome of swarminess. Coined byFrench Biologist Pierre-Paul Grassé and definedas “Stimulation of workers by the performancethey have achieved.” Search it up on theInternet and it should lead you to a lot of interesting concepts in swarm intelligence.

Keesling - Swarm Robots.qxd 3/7/2010 7:36 PM Page 75

Page 76: Servo magazine – April 2010

Robot LegsThe earliest robots of fiction used legs for

mobility and were humanoid in form; they wereanthropomorphic or ‘man-formed.’ It did not takerobot experimenters long to discover that thetechnology required to develop a real walkingrobot was just not available in the early 20th

century. People havetried to make successfulwalkers for years butmost seem to end upwith overly large feet or“C” shaped feet thatspread across a footprintthat’s wide enough pastthe center of gravity toprevent the robot fromtoppling over.Accelerometers, gyros,and powerful variable-speed motors were notavailable in those days.Today, there are verysuccessful walkers such

as Hubo, Asimo, and Big Dog.When I was a kid, I built a walking robot from

an Erector Set, jukebox, and other junk parts. Icarefully trimmed the length of the leg segments(there were no knee joints) so that the resonanceof the leg lengths would match the speed of thefixed speed AC motor. I finally got the robot towalk without falling over, but only if I held ontothe power cord on start-up and stopping. When itstarted or stopped walking, it would always keelover.

University labs certainly built better walkers inthose days, but they still were not the dynamicallybalanced machines we have today. Take, forexample, Marc Raibert’s ‘Big Dog’ shown inFigure 1. Walking robots have become quitepopular in recent years, but I’m going toconcentrate on other types of “mobile” robots inthis article.

Early Robots Used WheelsThe first true experimental mobile robots used

a wheeled platform base. This type of systemseemed to be the logical choice as virtually everyland-based machine that moved across a floor orthe ground used wheels (except for other methods

TThheenn NNOOWW an

d

ROBOT MOBILITY

b y T o m C a r r o l l

Recently, a young kid in my neighborhood came up to me and excitedlytold me about several robots that he’d seen on television that could snakealong the ground like a mechanical serpent and one that could climb upthe side of buildings like Spiderman. We got to talking about how robotsmove around. The single feature that distinguishes a robot from acomputer or any other sort of electro-mechanical device is its ability tomove — whether the movement is an appendage or a movable base. Most of us want our creations to move about our house, yard or in somelocation. To accomplish this, we have to select and build a method ofmobility. For now, and I’ll concentrate on land vehicles only.

76 SERVO 04.2010

FIGURE 1. Big Dog fromBoston Dynamics.

Then & Now - Apr 10.qxd 3/4/2010 7:22 PM Page 76

Page 77: Servo magazine – April 2010

like tank treads — but I’ll cover that later.) GreyWalter’s ‘Elsie’ robot in Figure 2 from the late1940s is an excellent example of an earlyexperimental robot. You can see the worm drivemotor used to steer the front wheel. Figure 3shows how the front wheel is driven by a motormounted above the wheel. The steered single-wheel design proved to be quite functional sinceElsie was used to demonstrate Pavlov’s ‘stimulusand response’ theories.

This design was used long before thedifferential robot drives that many robotexperimenters use today. Back in the mid ‘80s,many robot builders used a 6 VDC motorizedwheel from kid’s riding toys as a single drivingmotor.

Ackermann SteeringThe Ackermann wheel and steering

arrangement uses four wheels with either thefront or back two wheels doing the steering.Some really great robot bases have been madewith this setup and are especially popular in Robo-Magellan contests where the robots must travelover uneven outdoor terrain. This arrangementworks very well if the robot is radio controlled andthe operator is using one of the ‘gun type’transmitters with a trigger to control speed and asteering wheel feature to control the car’sdirection.

Figure 4 shows Mark Curry’s Nomad from theRobo-Magellan contest held last year at the SeattleRobotics Society (SRS) Robothon at Seattle Center.It was built on an R/C car chassis with Ackermannsteering and was last year’s winner.

Autonomous steering of this type of robotrequires that several physical characteristics of therobot’s base layout be identified. For example,

wheel diameter must be known to determine thedistance traveled with one revolution of the wheel.Shaft encoders are usually placed on both drivewheels and an average number of encoder pulsesdetermines the distance. True Ackermann steering— as in automobiles — actually has the two steeredwheels turned at different angles. Figure 5 showshow the turned inner wheel is angled moresharply due to the shorter turning radius of thatwheel.

An encoder could also be used on thesteering system to determine the turning angle, orjust a single turning angle can be used. By utilizing

Robot Mobility

FIGURE 4. Topview of Nomadshowing theAckermannsteering.

SERVO 04.2010 77

FIGURE 3. Elsie’s parts.

FIGURE 2. Grey Walter’s Elsie.

Then & Now - Apr 10.qxd 3/4/2010 7:22 PM Page 77

Page 78: Servo magazine – April 2010

a single right or left angle for the turns, the robotcan be commanded to traverse in straight linesand then make the turns at intermediate points inthe course. At each turning point, the steeringmotor drives the wheels to the hard point left or right; the drive wheels then turn a pre-programmed number of revolutions or until acompass tells the microcontroller that so manydegrees have been turned. At this point, thewheels are turned back to forward and the robotcontinues to the next turning point. Both thegradual steering to make curved turns or thepoint-to-point style of steering can be veryaccurate, but will require a bit of programmingexpertise.

Differential SteeringDifferential or ‘tank style’ steering is the most

popular for experimental robots, especially withR/C robots as the steering can be done with ajoystick on the R/C transmitter. Most builders ofthese types of robot rely on two side wheels withone caster or an omni-wheel in the front or back(or maybe one or more at each end). Figure 6from the SRS’ website shows a simple LEGO robotwith a single caster wheel.

Steering is accomplished by driving the fixedside drive wheels at different speeds or directions.An example would be when the right wheel isslightly faster than the left, the robot makes aslight turn to the left. If the left wheel is notturning at all and the right wheel is moving, therobot makes a sharp turn to the left. In anextreme situation, if the right wheel is turningforward and the left wheel is turning backwards,the robot spins on its axis counter-clockwise.

Robot designers using both a fore and aftwheel must make sure that the center drivewheels are not high sided when traversing aconcave surface. One or both casters can bespring-loaded enough to keep the robot fromwobbling but not too much to prevent the drivewheels from touching the ground in a slight dipor hole.

Differential Skid SteeringUses More Power

Differential steering is also referred to as‘skid’ steering. Mobile robots with differentialsteering have no problem with wheel friction ifthey use one or more swivel casters at one or bothends of the robot and only a single pair of drivewheels. If the robot designer tries to use two ormore pairs of parallel drive wheels that only facein the fore-aft position, then skidding occurs whenthe robot is steered — just like when tank orbulldozer tracks skid on turning. An omni-wheel(as shown in Figure 7) has been used in manyrobot designs and is especially applicable whentrying to minimize skid friction. Six-wheeldifferential drive robot platforms can use twostandard drive wheels for the center wheel pair,and two other omni-wheel pairs for the fore andaft wheels. These wheels can also be powered,but can allow low friction side skidding in turns.

Skidding creates friction which equates topower loss. This type of skidding is not a problem

FIGURE 5.Ackermann

steeringdiagram (fromRC-setup.com).

FIGURE 6. LEGO robot using caster wheel.

Robot Mobility

FIGURE 7.Heavy-duty

omni-wheel fromOmniwheel.com.

78 SERVO 04.2010

Then & Now - Apr 10.qxd 3/4/2010 7:23 PM Page 78

Page 79: Servo magazine – April 2010

for combat robots that only need to operate fora few minutes at a time in a bout, but it sureeats up battery power for an experimenter’shome robot. A four or six wheel robot with thewheels fixed may look really cool but the resultingskids consume a lot of excess power and candamage operating surfaces such as rugs and floorsurfaces.

If at all possible, use a swivel caster oromni-wheel design. Radio control of a differential-configured robot is easy with a single joystickspeed control such as the RDFR from Vantec.

Six Wheels on MarsNASA engineers have used a combination of

differential and Ackermann steering on severalsurface exploration robots for Mars including Spiritand Opportunity. Spirit (shown in Figure 8) haslong outlasted its initial mission endurance of 90days by operating on Mars for over six years. Spiritwas launched in June of ’03 and Opportunitylaunched a month later. The six wheel roversutilize steerable wheels on the front and aft pairs— a necessity for robots operating from limitedstored power derived from solar panels. Skidfriction was not an option in the design process.

When a turn command is received from Earth,the front pair is turned in one direction and lockedinto position, then the aft wheels turn the samedegree in the other direction and are locked toprevent steering drift during the turn. After theturn, the wheels are turned straight forward andlocked into that position.

Spirit has been stuck in a sand trap for a yearnow, and there is little hope that it will be freedbefore the Martian winter sets in (or ever for thatmatter). One of the wheels died in 2006 and theother the end of last year. Opportunity is stillmobile and both robots continue to transmitvaluable data from Mars. The success of these twovehicles has given much credence to future robot

rover missions to other planets and moons in thesolar system.

Tank Tracks for RobotsDifferential steering cannot be adequately

covered without mentioning tank treads ortracks. I’ve already discussed the skid frictionproblem that is virtually impossible to eliminatewith tank-style tracks/treads, but this type ofmobility has its place in robot design. Tanktracks have the greatest footprint on the groundand, therefore, have the greatest pulling power.Outside of Sumo competitions and hill climbing,pulling power is rarely the most desirable featureof a potential experimental robot design. One ofthe best features of a tracked robot is its abilityto climb stairs. This is where track design shines.A string of articulated wheel sets with knobbytreads can accomplish climbing in most cases,but tracks are best. Tracks are hard to fabricateby an amateur though, so most experimentersuse tracks from toys. Figure 9 shows acommercial radio-controlled ‘robot’ lawnmowerpriced at $12,000 that uses tank treads. Pricedat less than $10, the Tamiya tank tread kit inFigure 10 from SparkFun.com works great with

Robot Mobility

FIGURE 10.Tamiya tanktreads fromSparkFun.

SERVO 04.2010 79

FIGURE 8. NASA’s Spirit Rover depicted on Mars.FIGURE 9. $12K tank tread lawnmower

from Craziestgadgets.com.

Then & Now - Apr 10.qxd 3/4/2010 7:23 PM Page 79

Page 80: Servo magazine – April 2010

Tamiya’s dual gearmotor set, for example.

Are Two Wheels BetterThan Four?

Self-balancing robots and various othertechnologies use gyros, accelerometers, and othersensors to keep a robot balanced. Back at the2003 Robothon in Seattle, Larry Barello of the SRSgave an interesting paper and demonstration ofhis Gyrobot balancing robot shown in Figure 11.Gyrobot was a labor of love over several years.Barello enlarged the wheels and lengthened thechassis over time to bring the center of massfurther away from the wheels; he used an AVRrobot controller board as the processor.

How About One Wheel?Figure 12 shows the Ballbot built by the

Robotics Institute at Carnegie-Mellon University. Apaper by B. Lauwers, G. A. Kantor, and R. L. Hollisof CMU describes this unique ‘inverse mouse-balldrive’ system that produced a human-sized robotthat can interact with people. The power andbalancing system are high in the structure (just likeBarello’s GyroBot) and it uses two drive motorsthat move the ball in two directions; this gives itmovement capability in any direction so it can

respond to the balancing sensors. The ball allowedthe robot to instantly move in any directionwithout having to turn first.

Final ThoughtsI’ve only touched on a few key mobility

methods used by today’s robot designers.Robot snakes that use serpentine propulsiontechniques and robots with sucker feet thatclimb walls and glass windows for cleaning andinspection are a couple other methods to moveyour bot around. Pairs of rotating screws,hovercraft robots, claws to grasp the sides oftrees, and dual-sided wheel arrangements toallow a robot to operate if it’s flipped over aresome other methods. The less expensiveplastic omni-wheels have been used by robotexperimenters for years and the advent of theRovio brought forth a renewed interest. Are anyof these methods that I’ve discussed the best? Itreally depends on your project and budget. If apropulsion method has been thought of bysomebody, you can bet that a SERVO reader orrobot experimenter somewhere has built aprototype of that design. SV

FIGURE11. LarryBarello’sGyrobot.

FIGURE 12. CMU’s Ballbot(photo by Michael Goldfein).

Robot Mobility

Tom Carroll can be reached [email protected].

80 SERVO 04.2010

Then & Now - Apr 10.qxd 3/4/2010 7:24 PM Page 80

Page 81: Servo magazine – April 2010

Electronic Parts & Supplies Since 1967

For the finest in robots,

parts, and services, go to

www.servomagazine.com

and click on Robo-Links.

All Electronics Corp. .................27, 81AP Circuits ........................................26BaneBots ...........................................41Basic Micro .......................................26BiPOM Electronics ...........................81Critical Velocity ................................27Digilent ...............................Back CoverFirgelli ..........................................27, 81Galaxy Far East Corp. ......................81Gears Educational Systems ..............7

Images Co. ........................................81Linx Technologies ............................81Lynxmotion, Inc. ...............................83Maxbotix ...........................................81Nu-botics ....................................27, 81Parallax, Inc. ......................................41PCB Pool .....................................23, 81Pololu Robotics & Electronics ..22, 81Robot Power ....................................36RoboGames .....................................37

Robotis ................................................2

RobotShop, Inc .........................81, 82

Solarbotics/HVW ............................21

Superbrightleds.com .......................81

The Robot Report ............................81

Vantec ...............................................23

WeirdStuff Warehouse ....................27

Yost Engineering ................................3

Advertiser Index

SERVO 04.2010 81

RoboLinks-Index Apr10.qxd 3/8/2010 5:03 PM Page 81

Page 82: Servo magazine – April 2010

Full Page.qxd 12/8/2009 7:09 PM Page 3

Page 83: Servo magazine – April 2010

Full Page.qxd 2/3/2010 10:37 AM Page 83

Page 84: Servo magazine – April 2010

Full Page.qxd 12/10/2009 1:31 PM Page 84