servo magazine - april 2009

84
0 4 74470 58285 04> U.S.  $5.50 CANADA  $7.00

Upload: chuchis

Post on 09-Jan-2016

61 views

Category:

Documents


8 download

DESCRIPTION

wall-eJust another sophisticated toy... or a hack woethy experimenter´s plataform?

TRANSCRIPT

Page 1: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 1/840 474470 58285

0 4>

U.S. $5.50 CANADA $7.00

Page 2: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 2/84

Page 3: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 3/84

Page 4: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 4/84

SERVO Magazine (ISSN 1546-0592/CDN Pub Agree#40702530) is published monthly for $24.95 per year by T & L Publications, Inc.,430 Princeland Court, Corona, CA 92879.

PERIODICALS POSTAGE PAID AT CORONA, CA AND AT ADDITIONAL ENTRY MAILING OFFICES. POSTMASTER: Send address changes to SERVO Magazine, P.O. Box

15277, North Hollywood, CA 91615 or Station A, P.O.Box 54, Windsor ON N9A 6J5; [email protected]

06 Mind/Iron

07 Bio-Feedback

16 Events Calendar

18 New Products

21 Showcase

64 SERVO Webstore

81 Robo-Links

81 Advertiser’s Index

Columns08 Robytes

by Jeff Eckert

Stimulating Robot Tidbits

10 GeerHeadby David Geer

The Ultimate WALL-E Robot Toy

13 Ask Mr. Robotoby Dennis Clark

Your Problems Solved Here

58 Twin Tweaksby Bryce and Evan Woolley

Bug Sport

68 Robotics Resourcesby Gordon McCombOrganizing Your Robotics Workbench

72 Beginner Electronicsby William Smith

Basic Atom & Robotics

76 Then and Nowby Tom Carroll

European Robots

PAGE 76

PAGE 58

4 SERVO 04.2009

Departments

Page 5: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 5/84

04.2009VOL. 7 NO. 4

SERVO 04.2009 5

Features22 BUILD REPORT:

T6 — Evolution of aFull Body Spinner

28 PARTS IS PARTS:Custom Colson Wheel Hubs

Events25 Results and Upcoming

Competitions25 Event Report: 2009

Chattanooga Robot Battles

Robot Profile29

Upheaval

30 Unwinding the AX-12+CommunicationProtocolby Fred Eady Build up some special hardwareand firmware to drive theDynamixel AX-12+ robot actuator.

38 Computer Control andData Acquisitionby David A. Ward Part 2 introduces NationalInstrument’s most affordablecomputer interfacing hardware andhow to use its digital features.

42 Robot Vision forEveryoneby John Blankenship andSamuel Mishal See how easy it is to implementvisual capabilities with RobotBASIC.

46 Navigation and TreeMeasurementby Jaakko JutilaLearn how the Forestrix Projectimplements sensor technology fordata gathering.

50 A3950 DC MotorController Tips andTricksby Jose QuinonesAllegro Micro’s A3950 provides aversatile and economical solution

for small to medium sized DCmotor control applications.

PAGE 46

Features & Projects

The Combat Zone...

Page 6: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 6/84

Published Monthly ByT & L Publications, Inc.

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

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

www.servomagazine.com

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]

TECHNICAL EDITORDan Danknick

[email protected]

CONTRIBUTING EDITORS Jeff Eckert Tom CarrollGordon McComb David GeerDennis Clark R. S tevenRainwaterFred Eady Kevin BerryDavid Ward John BlankenshipSamuel Mishal Bryce WoolleyEvan Woolley William Smith Jose Quinones Jaakko JutilaDennis Beck Thomas KenneyTravis Schmidt

CIRCULATION DIRECTORTracy Kerley

[email protected]

MARKETING COORDINATORWEBSTORE

Brian Kirkpatrick [email protected]

WEB CONTENTMichael Kaudze

[email protected]

PRODUCTION/GRAPHICSShannon Lemieux

ADMINISTRATIVE ASSISTANTDebbie Stauffacher

Copyright 2009 byT & L Publications, Inc.

All Rights Reserved All 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 of advertised 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, overnight

mail, and artwork to:430 Princeland Court,

Corona, CA 92879.

Stimulus Package for Robotics

If you've been tracking theeconomic developments in robotics,you know that only real businessopportunities have been primarily inthe military and entertainmentindustries. Several of my friends in

consumer robotics joke about howtheir niche desperately needs a'stimulus package' to get thingsmoving again. They take the positionthat nothing revolutionary hashappened in every day use ofrobotics for decades.

Although I think that significantprogress in consumer-level roboticshas been made, the relative stasis inrobotics was brought home to me ona recent visit to an MIT museum thatfeatured prototype planetary crawlers

built for NASA in the 1970s.Although today it's possible toreplicate the functionality of thosecrawlers with off-the-shelfcomponents, they are just ascompact, expertly machined, andfunctional as anything on theconsumer market today. So, whathappened to the innovation andrapid evolution characteristic ofrobotics decades ago, and why hasn'tit percolated down to the consumer

level?Economics is obviously an issue.

Most small robotics companies thatdon't have the good fortune to havecontracts with the government haveno choice but to innovate in order tomake due with less. Because asenthusiasts we're in the samepractical situation, our innovationtends to be in the realm of

duplicating technology asinexpensively as possible. While thisis certainly a worthy and practicalexercise, it doesn't necessarilyadvance the field of robotics. Butit can.

Furthermore, it doesn't take ateam of scientists to innovate.Consider the developers of the 'killer

apps' that eventually made thepersonal computer a consumercommodity. Most of theseapplications were created by one ortwo innovators, working with little orno capital, while holding down aregular day job.

Clearly, the equivalent of theelectronic spreadsheet has yet to bedeveloped in practical robotics forthe consumer market. And withoutthe killer app in consumer robotics, itwill be decades before the family

pooch is replaced by a robot capableof fetching the newspaper —assuming newspapers are stillaround.

All is not lost, however. Anotherway to frame the apparent lack ofinnovation is to argue that thepressure to innovate in a way thatadvances "the field" isn't there.Robotics, for many enthusiasts, is ameans to an end. Studentsconsidering a career in engineering

use robotics to gain practical,hands-on experience at problem-solving electrical and mechanicalsystems.

Engineers in training employrobotics to demonstrate conceptsthey've mastered, and computerscientists use robotics as a platformto explore artificial intelligence andmachine learning concepts. For these

Mind / Iron

by Bryan Bergeron, Editor

Mind/Iron Continued

6 SERVO 04.2009

Page 7: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 7/84

innovators, the current state ofreadily available, somewhatstandardized robotics platformsallows them to innovate in theirareas of interest.

So, perhaps there isn'treally a need for a stimuluspackage for robotics after all.It's just adjusting expectations

that's in order. While robotictechnology can help you parkyour car today, it will likely bedecades before Wal-Mart offerspersonal care robots that willferry your slippers and paper-thin view screen from one roomto the next, check on yourmedications, and take out thetrash. I have to admit that sucha future would be nice.

For now, my CrustCrawler

arm, fleet of Parallax carpetrovers, and homemade robotsprovide stable, useful platformsfor my AI experimentation and,hopefully, innovation. SV

Dear SERVO:

I read Zac O’Donnell's article in the

Feb. 09 Combat Zone on running the

LiFePO2 (A123) batteries in series, withthe bottom two cells powering the

motor and the entire pack powering

the weapon. I am a professional

(BSEE/MSCS) engineer with 25 years

design experience. I have to tell you,

the way he configured these batteries is

a very bad idea. At the very least, he

will severely limit the life of these very

expensive cells, and while they are

resistant to fire, overheating leading to

venting is not outside the realm of

possibility.Lithium cells — even the "safe"

LiFePO2 (A123) cells — need to be

protected against overcurrent,

overvoltage, and undervoltage. The

way Zac has these cells connected is a

problem waiting to happen. While the

batteries may have enough capacity to

survive a normal three minute run inthe ring without "reversing," any

number of things could happen to drive

the lower two cells under their

minimum voltage point of 2-2.6V. This

could occur if the ring was especially

"sticky" (hot) or rough, causing the drive

motors to draw more than their usual

current. Or, battle damage could cause

a wheel to drag, increasing current. Or,

the weapon motor could stall or

become heavily loaded, chewing into

another bot. If the lower cells aredriven below 100% DOD (depth of

discharge) of about 2V, they will be

ruined. If they are driven in reverse,

they may overheat and vent dangerous

SERVO 04.2009 7

Perform proportional speed, direction, and steering with

only two Radio/Control channels for vehicles using two

separate brush-type electric motors mounted right and left with our mixing RDFR dual speed control. Used in many

successful competitive robots. Single joystick operation: up

goes straight ahead, down is reverse. Pure right or left twirls

vehicle as motors turn opposite directions. In between stick

positions completely proportional. Plugs in like a servo to

your Futaba, JR, Hitec, or similar radio. Compatible with gyro

steering stabilization. Various volt and amp sizes available.

The RDFR47E 55V 75A per motor unit pictured above.

www.vantec.com

STEER WINNING ROBOTS

WITHOUT SERVOS!

Order at

(888) 929-5055

continued on page 55

Page 8: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 8/84

8 SERVO 04.2009

Robot Theme Park on Track

A few weeks ago, the SouthKorean government authorizedconstruction of the “world’s firstrobot theme park,” emphasizing

the country’s view of the roboticsindustry as a prime area for economicgrowth. The Ministry of KnowledgeEconomy has set aside a 767,286 m2

(about 8.3 million ft2) developmentarea in the Incheon Free EconomicZone for the park, which is budgetedat 784.5 billion won ($562.3 million).

Proving that the Koreangovernment is a lot smarter thanours, almost three-fourths of theinvestment capital (680.5 billion won)will come from private sources, with

the remainder chipped in by thecentral and local governments. This,and a second park to be built later inthe South Gyeongsang province, areexpected to create 18,000 new jobsand generate 2.8 trillion won inindustrial output.

The parks won’t be all fun andgames, though. Sure, they willfeature amusements, exhibition halls,water parks, and stadiums for botcompetitions. But there will also be

R&D and education centers. TheIncheon park is not scheduled forcompletion until 2014, so there’s noneed to book your hotel room yet.

Steep Terrain RoverUnveiled

Axel Rover, developed byengineers at NASA’s Jet Propulsion

Lab and students from the CaliforniaInstitute of Technology (www.caltech.edu), sounds a bit like a rockstar, and in a way it is. It’s designedto rappel off cliffs, travel over steep

and rocky terrain, and explore deepcraters.Based on the idea that simplicity

is a good thing, it is basically just asymmetrical two-wheeled roverwith a trailing link. The machineuses only three motors: one foreach wheel and a third tocontrol a lever. The lever isfitted with a scoop to gatherlunar or planetary material, andit also adjusts the robot’s twostereo cameras, which can tilt

360 degrees. The tetherattached to its midriff can beunreeled, allowing it to descendfrom a larger lander, rover, orother anchor point. Axel can befitted with wheel types rangingfrom large, foldable units toinflatable ones, which help itdeal with hard landings androcky terrain.

“Axel extends our ability toexplore terrains that we haven’t

been able to explore in thepast, such as deep craters withvertically-sloped promontories,”said Axel’s principal investigator,Issa A.D. Nesnas. “Also, becauseAxel is relatively low mass, amission may carry a number ofAxel rovers. That would give usthe opportunity to be moreaggressive with the terrain wewould explore, while keeping

the overall risk manageable.”For a video of an Axel prototype

at work, see www.jpl.nasa.gov/video/index.cfm?id=806.

Avoiding the Sand Trap

A recent study published in theProceedings of the National Academyof Sciences offered what is possiblythe first precise look at “the problemof robot locomotion on granularsurfaces.” Translated into standardEnglish, that means “why they getbogged down in dirt, sand, and piles

of leaves.”The answer might seem obviousto anyone who has ever managed toget his car stuck at the beach, but

by Jeff Eckert

Ro b ytes

Artist’s conception of whatKorea’s Incheon robot parkcertainly won’t look like.

The Axel rover from NASA JPL and Caltech. Courtesy of NASA/JPL.

The Georgia Tech sandbot tries to plow itsway through a pit of poppy seeds.

Image courtesy of Daniel Goldman.

The Georgia Tech sandbot in a poppy seed-filled trackway.

Image courtesy of Daniel Goldman.

Page 9: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 9/84

maybe the Georgia Tech guysdon’t get out much. In any event,according to Daniel Goldman,assistant professor in the School of

Physics (www.physics.gatech.edu),“Sand is a uniquely challengingterrain because it can shift quiteeasily from solid to fluid to solidand requires different locomotionstrategies.”

Experiments were conducted byplacing a device with six C-shapedlegs on an eight-foot trackway filledwith poppy seeds, which simulatesconditions that might be found indeserts, extraterrestrial surfaces, and

a number of agricultural operations inAfghanistan.The result? “We have discovered

that when a robot rotates its legs toofast or the sand is packed looselyenough, the robot transitions from arapid walking motion to a muchslower swimming motion.”

The researchers discovered thatthe bot can easily traverse the grit ifit maintains a constant rpm andsome parameters are properlyadjusted: the durations of the slow

and fast phases and the angle atwhich each limb changes from slowto fast. But in a pinch, you can justpour some water on the sand.

Robot Darwinism?

In a curiously abstruse pressrelease, researchers at Aberdeen,Scotland’s Robert Gordon University(www.rgu.ac.uk) claim to have

“caused a stir in the world ofengineering by taking the first stepsin developing a robot that has theability to evolve in the same way asanimals.” They say that the technique“offers the potential to makemachines which can interact withtheir environment and perform usefultasks in difficult or dangerous circum-stances — or even around the home.

It does this by gradually

developing the robot’s body and

environment from simple to complex,while at the same time growing itsbrain (a special control circuit calledan `artificial neural network’) byadding new parts — one on top of theother — to end up with a structurerather like the layers of an onion.

Using this system researchershave produced a complex robot. Therobot started off pulling itself alongin a primitive way — rather like a`robotic mudskipper’ — and thenwent through a series of developing

body plans, actuators, sensors, andenvironments until it had evolved intoa walking quadruped, able to reactto visual stimuli, avoid obstacles,and react to predefined objects as`predators’ or `prey.’

Unfortunately, no details wereoffered as to how it accomplishessuch evolutionary upgrades, andthere were no accompanying photosthat might give us a clue. But theannouncement inadvertently posed a

much more interesting question:“What the heck is a mudskipper?”For a fascinating answer, visit www.aquariumofpacific.org/onlinelearningcenter/species/mudskipper. This is evolution at its best.

Morose, Rejected Fauxbots

The way the yarn goes, 100

Mellowtron robots (not to beconfused with the Mellotrontape-loop keyboards employed bythe Moody Blues et al. back in thegood ol’ days) were created and soldas service robots. But the only servicethey were designed to perform wasto dream all day.

When their owners discoveredthat the Mellowtrons could not cook,clean out the cat box, or otherwise

assist around the house, they wereall fired, sent back to the factory,and dumped in a warehousewhere they are now idle, sad, andconfused.

If this somehow brings a tear toyour eye, be advised that you canadopt one of the little slackers bylogging onto www.stuffedrobot.

com and shelling out $70 (plusS&H). Although they all look exactlythe same, each one professes to

have its own story and personality.No. 32, for example, has troubledistinguishing between reality andhis dreams. No. 47 gets his feelingshurt if everyone doesn’t say “hi” tohim. And so on.

As of this writing, 43 of themhave already found homes, but youmight still get one if you hurry. Or,even if you don’t hurry. SV

Ro b ytes

Skippy the mudskipper.Courtesy of the Aquarium of thePacific; photo by Hugh Ryono.

SERVO 04.2009 9

The Mellowtron stuffed robot in need of Prozac®. Photo by Bill Brown.

Page 10: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 10/84

To keep this endless, mundane chore interesting,WALL-E collects artifacts and treasures from the glutof consumer by-products, which help him in his search

for the meaning of life and his own worth. WALL-Emanages to squeeze in a little fun, too, in the brief, shallowrespites he takes from his manual labors.

On the toy shelves at Disney, WALL-E is another ‘Stor-E’

altogether. The child-sized robot (approximately three feettall) consists of genuine, movable arms, the central bodyunit, eyes, and mobile tracks for locomotion. The robot

responds and interacts by talking to the user, following theuser, dancing, and playing MP3s.

Sensors, Sounds, and Responses

Ten deluxe grade brushed motors manipulate WALL-E’smovements based on input from several multi-directional

smart sensors. Here’s what WALL-E can do, and how hedoes it!

FollowMode

When WALL-E detects any movement, he will turnaround and follow it. When WALL-E detects movementbehind him, he will turn around to examine the source ofthe movement, according to the owner’s manual. Thesefeatures are available when the unit is in FollowMode.

WALL-E has a square FollowMode button on top of hisfront container area, signified by a red circle. Users can also

activate FollowMode via remote through an oval buttonwith a picture of WALL-E following sound waves.

WALL-E will use his three forward microphones todetect and follow you. Simply clap twice and he will follow.Continue clapping twice as you move and WALL-E willcontinue to follow the sound of your hands.

Using his infrared obstacle detection and avoidancesensors, WALL-E can detect obstacles in his path, stopmovement, and change course to avoid them so as not tohang itself up on the landscape.

There are four infrared sensors: three in the front andone in the back. WALL-E emits an infrared light, and aninfrared receiver processes the reply when the light bounces

Contact the author at [email protected] David Geer

The Ultimate WALL-E Robot Toy

On the big screen, WALL-E (the last, functional Waste Allocation Load

Lifter-Earth class robot) is a curious, blue-collar working trash compactor

robot tasked with cleaning up mountains of consumer garbage from the

Earth’s surface. WALL-E is completely alone in this mess becausehuman beings have moved off the world on a permanent vacation,

due to pollution and the inability of the planet to support life .

10 SERVO 04.2009

Ultimate WALL-Erobot toy.

Page 11: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 11/84

off an object so WALL-E can determine where and how faran object is.

Three motion sensors in the front and one in the back

(lower, center) trigger WALL-E’sprogrammed “curiosity.” “The CdSmotion sensor is a special resistor thatresponds to changes in light in thesurrounding environment, whichWALL-E can interpret and then react

to,” says Albert Chan, Thinkway ToysCEO and President.

“WALL-E uses his DSP and motionsensors to locate and follow people bythe sounds that they make. WALL-Erecognizes a single, short, discretesound such as a hand clap anddetermines the sound’s location,whether to the right, left, or directlyin front of him,” continued Chan.

TalkBack

WALL-E’s four audio sensors(microphones placed in the front,back, and each side of the robot)enable him to hear voices and sounds.When WALL-E recognizes voicepatterns, he can respond verballyusing his TalkBack feature.WALL-E

does this by isolating the origins of varying sounds. He thenuses a Digital Signal Processing (DSP) unit to calculate theabstracted sound’s location of origin in order to respond to

SERVO 04.2009 11

GEERHEAD

Children with Ultimate WALL-E

shows actual robot size.

WALL-E uses one chip to control his head and another to control his body.

His roboticists have connected the chips via Serial Peripheral Interface (SPI) in

order to communicate with WALL-E’s actuators.

“The head motion is triggered by audio motion sensors and pre-codeddigital IR signals. The roboticists pre-programmed the head to produce actions

for WALL-E’s emotive expressions. The head motion is also controlled by

secondary 16-bit chips on a board inside the robot,” says Albert Chan,

Thinkway Toys CEO and President.

“WALL-E uses five motors to direct the head alone. One motor is used to

make the head nod up and down; one is used for left to right head

motion/turns; still another actuates the head’s opening and closing to form the

expressions. The final two open and close each of WALL-E’s eyes,” explains Chan.

WALL-E uses two motors to control the arms, wrists, and hands. “Each motor

controls an arm’s up and down motion, wrist turns, and hand opening and

closing (once the arms are active). The arms are time sharing when commanded

by one of the main IC chips boarded on WALL-E,” continues Chan.For the body and track motions, WALL-E uses three motors. One motor

controls the right track’s turns while another controls the other track. A

third motor actuates the body’s tilts forward and backward. “The body and

track motions can be interactively triggered by the audio motion sensors and

pre-coded IR digital signals. The internally pre-programmed actions also generate

commands from the main 16-bit chip,” Chan concludes.

Processing Head and Body Actions

Page 12: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 12/84

that audio input. WALL-E’s TalkBack feature is on bydefault. To turn it off, select the TalkBack on/off buttonwhich will beep twice as the feature is turned off. Thebutton’s graphic looks like sound coming out of a speaker.Sound sensors and the TalkBack feature resume when the

user selects the button again. The user will hear a singlebeep for “on.” WALL-E uses his 16-bit DSP to play anynumber of customized sounds.

If you are to one side of WALL-E, you can get hisattention and get him to turn and face you by clappingloudly at him twice. When he turns his head, clap againtwice or three times so he can hear you. WALL-E shouldthen turn to face you.

In order to ensure that WALL-E can hear you, recognizeyour speech, and give the appropriate response, you do thefollowing: Stand one foot in front of WALL-E while he isin TalkBack mode. Speak loudly with long sentences so

WALL-E receives plenty of input to make a decision aboutthe sounds he hears. If he can hear your voice, you will seean indicator light flashing on his chest.

WALL-E will respond by saying his name as in the movieor with sounds, lights, and movement. His response will bedifferent based on the volume of your voice. Loud soundsevoke a frightened response (a combination ofresponses that make him appear frightened).WALL-E’s unique sound capabilities are theresult of the DSP which provides dual channelvoice mix output.

WALL-E designers have connected hismany sensors and motors via I/O control pins

to the DSP, which also does analog-to-digital signalconversions.

ExploreMode

WALL-E can explore his environment using his DSP, IR

obstacle sensors, and a pre-assigned road map, accordingto company technicians. This road map actually consists ofthree individual routes that WALL-E can follow.

Users activate ExploreMode by selecting the greentriangle button on top of WALL-E’s yellow body. Users canalso select ExploreMode via an oval button on the remotecontrol that looks like an asterisk with WALL-E moving infront of it. WALL-E does not scale stairs or navigate steepslopes. Users should avoid these when selecting an area forWALL-E to roam.

DanceMode and Playing MP3s

WALL-E has a square, yellow DanceMode button onhis body and an oval button with a picture of two notesand a staff on the remote control. Through a small, active,pre-programmed sequence of steps and synchronization,WALL-E synchronizes his dance moves with the rhythm ofthe beat. WALL-E comes with a compartment for MP3players, which users plug into WALL-E so he can play backmusic from the device and put on a light show.

The Ultimate ProgrammableRemote Control

The white, black, and yellow Ultimate ProgrammableRemote Control console is a wireless infrared device thatWALL-E operators can use to program and navigate therobot from up to 25 feet away.

The remote will send action commands instantly, orprogram and store action sequences for WALL-E, with up to1,000 different combinations of actions possible. “WALL-Ewill record up to 64 programmed actions in a sequencesent from the remote control. With the press of a singlebutton, WALL-E will play out the actions in the sequence,”explains Chan.

ConclusionWALL-E has already become a popular robot for

experimenters. Check out the posted modifications andways to build your own WALL-E robot in the Resourcessidebar. SV

GEERHEAD

12 SERVO 04.2009

Search for the Ultimate WALL-E on http://disneyshopping.com

WALL-E movie overview www.imdb.com/title/tt0910970

PIXAR animation, films www.pixar.com

Links to build your own WALL-E www.slipperybrick.com ,

www.hacknmod.com www.instructables.com

Resources

WALL-E with remote control.

Page 13: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 13/84

This column marks one year for me answering your

questions and hoping that I am helping you along withyour aspirations towards building useful or entertainingrobots. The fact that you are still reading the columnmakes me believe that I’m doing something right. Pleasekeep those questions coming; they inspire me to keepresearching and writing about what I have learned to helpyou with your projects. Life is all about constantly learning.One of my favorite authors, Robert A. Heinlein, once had acharacter utter these memorable words: “When you stoplearning, you start dying.” With this in mind, I hope to liveforever – and I’ll do everything in my power to help you liveforever, too!

The current economic times are less than ideal for most

of us to be spending money on non-essentials, let’s face it.There are however lots of things that get thrown away thatcould net some really good robotic components. Doesanyone out there have any questions about how to salvagegood stuff from technological marvels that we no longerwant to keep using for their original purpose? I’d love tohear them and offer you suggestions to get the most fromwhat you have on hand already. Let’s move on to yourquestions — or rather question — there was only one thismonth, but it was a good one.

Q . I am an old SERVO

reader and I really enjoyyour column. I have

learned very much from it andit answered almost all myquestions, except this one.

First, a little introduction isneeded. I’ve been usingcontinuous rotation servos topropel my robots, but I want tomove on to using DC motorswith encoders. I have read thearticles in SERVO about PIDcontrol but that does not teach

one how to make the robot move smoothly — ramping up

to the maximum speed and slowing down just beforereaching the destination point. Looking up on Google,I have found that a trapezoidal or even a more advancedS-curve type control is needed.

My question is: Can you show me how to implement(using pseudo code) a trapezoidal motion control? And fora more advanced movement, can it be combined with aPID control?

Thank you very much in advance!

— Gabriel Petrut,

Canada

A. Thanks for your support! You ask a good questionand using a ramped acceleration and decelerationcurve will most definitely smooth your robot’s

direction and speed changes. In fact, if you have ever seena robot (or any motorized machine, for that matter) thatcontrols its acceleration and deceleration, you will mostlikely be very impressed. Using a ramped curve will helpreduce wear and tear on your gear train and if properlyimplemented, will eliminate the “wheelies” that a highly

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?

by

Dennis Clark

Our resident expert on all things

robotic is merely an email away.

[email protected]

Figure 1. Trapezoidal acceleration curve.

SERVO 04.2009 13

Page 14: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 14/84

powered drive train can cause in a powerful robot. It’sworth the effort!

There are a variety of acceleration curves that you canuse; over many years, the trapezoidal acceleration curve has

pretty much been considered the best to use because itminimizes the jerk characteristic in a drive train. Withoutacceleration ramping, acceleration is full-on or full-off whichcan be a major source of vibration in our robots; youalready know this if you use a camera on your robot. Thetrapezoidal acceleration curve smoothes out acceleration/deceleration changes, which will remove much of thevibration attributed to the drive train. The one drawback toa trapezoidal acceleration curve is that instantaneouschanges in speed or direction become impossible.

In a remotely controlled robot, this may make the robotfeel sluggish or unresponsive. In a fully autonomous robot,the motion looks more deliberate and controlled. So, pick

your poison. If you are driving your machine remotely, youwon’t want the trapezoidal curve; you’ll control your rateof acceleration with your thumbs. If you have a fullyautonomous robot, then you can tune your trapezoidalcurve to the desired level of responsiveness you’ll need. Infact, with a closed-loop system that is always looking forenvironmental conditions that necessitate a velocity change,you can change the ramp rate based upon the impendingcollision or other need for action.

In case you are wondering what we’re discussing,Figure 1 shows what a trapezoidal acceleration anddeceleration curve looks like. Figure 1 also shows that a

trapezoidal acceleration profile will give you an S-curvevelocity profile; that velocity profile is what makes yourrobot look so smooth on the go. Note how the ramp inthe acceleration causes a curve in the change of velocity.The vertical dashed lines simply delineate the parts of thecurve affected by the ramps. You calculus buffs shouldimmediately recognize those first derivative curves! Andyou thought you’d never use that math!

As you can imagine, calculating a constantly changingacceleration would require that you know your currentacceleration, your maximum acceleration, and your timedelta. This is a very complex calculation that requires asmuch knowledge of your motor power package as a PID

loop does. Maximum accelerationIS NOT your maximum PWM; themaximum PWM is your maximummotor speed. You need tocalculate your change in speeddivided by your change in time( ). We usually don’t have

that kind of horsepower in ourmicrocontrollers if we want to doanything else in the programwe’re writing for our robot. Adedicated processor can handlethis alongside any PID algorithmwe might want to implement.This gives us spectacular results,

but we might not want to put forth that much effort to getthere (some motor control chips have this capability built in(the HP/Agilent HCTL 1000, for instance), but these chipsare expensive ($40

for the HCTL 1000).You knew it wouldn’t be as easy as just asking, didn’tyou? Well, you’d be correct if you did know that, but wecan come reasonably close to a trapezoidal accelerationcurve by taking some shortcuts. Way back in November2008, I wrote about a simple PID algorithm that you couldimplement without doing any difficult math operations. Inthat article, I referenced source code picpid.c that you canget from SERVO website (www.servomagazine.com).In that source code, I used a simplified trapezoidalacceleration curve which I’ll call the sawtooth accelerationprofile.

Figure 2 shows an approximation of what that

acceleration profile would look like and its affect upon thevelocity of the robot. After a speed was chosen, a simpleformula was applied such that several intermediate speedswere selected for the PID loop to reach. The end result ofthat formula is that we moderate the acceleration to ourdesired speed. Figure 2 shows an approximation of theeffect this pseudo-trapezoidal acceleration has on ourrobot’s speed. It isn’t perfect, but it comes reasonablyclose to what we want to achieve without taking over ourmicrocontroller. (I’ll apologize ahead of time for thesegraphics; I simply could not find a program that wouldallow me to do a better job with those curves.)

The simple functionality of this program is to avoidlarge jumps in speed by introducing many intermediatesteps in the PID target speed. My code has a constantinterval — the time between PID loop calls — in which anincrementally higher speed is assigned as the PID targetspeed. This results in a small acceleration since the deltabetween the current velocity and the new target velocity israther small. So, we get a short period of acceleration, thena short period of constant velocity at the new speed, thenanother short period of acceleration, and so on. It isn’t areal trapezoidal acceleration profile, but it simulates someof the better aspects of the true profile.

Now about that program picpid.c. I’m getting a lot of

Figure 2. Pseudo-trapezoidal acceleration profile.

14 SERVO 04.2009

∆v

∆t

Page 15: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 15/84

mileage from it! The general ramping function is shown inListing 1. There are three variables that are of interest here:endPos, calcPos, and vAcc. The variable endPos is theeventual terminal velocity, calcPos is the intermediatevelocity; that is incremented by vAcc on every pass throughthe PID loop. This simple construct will limit the accelerationby only accelerating in small increments. The overall effect

is to smooth that acceleration by limiting the effect of anyinstantaneous velocity change. Note that this will prohibitan immediate or sudden direction change, as well! We’renot changing the rate of acceleration; we’re limiting howmuch velocity change each acceleration pulse will cause.This will give us a rough approximation of the effect of atrapezoidal acceleration profile.

In main(), there are two keyboard inputs that willchange the rate of change of calcPos: the a and A keys willdecrease the ramp rate by one and increase the ramp rate,by one respectively. (see Listing 2). Can you see a way tobetter simulate the trapezoidal profile? How about if we

increase vAcc each time it is used? In that way, we have alarger ∆v (delta-v) each pass through the loop, whichessentially will increase the rate of change each timethrough the loop. Again, it wouldn’t — strictly speaking —be trapezoidal acceleration, but simply a closer (simple)approximation. Another way to come even closer to a truetrapezoidal acceleration curve would be to start out with alonger interval between increments to calcPos which willshorten as more passes through the PID loop occur. Thiswould simulate less acceleration at the front of the ramp,and with shorter intervals at the end of the ramp, simulatefaster acceleration because of a larger delta between thecurrent speed and the desired target speed. Perhaps we

could combine these two improvements and induce smaller,longer deltas at the start of the ramp up (or down), andshorter time deltas with larger velocitydeltas at the end of the accelerationramp.

The source code for picpid.c isavailable for the November 2008column at www.servomagazine.com

under Mr. Roboto as picpid.zip. Ratherthan duplicate this file for this article,I’ll point you back to the code as it wasset up with the earlier article. In the

spirit of “green” energy, perhaps thiswill save us a few electrons.

As I have said before, this isn’t aperfect implementation, but it is aserviceable one that won’t interfere toobadly with the execution of any othercode you may have running in yourrobot. A better implementationwould be to implement the PID andtrapezoidal acceleration curve in adedicated processor so that it canconcentrate on the job of simplymoving the robot by turning the

motors. Well, that‘s it for another Mr. Roboto column. Ihope you’ve felt that it was time well spent. As usual, I canbe reached for questions, comments, and criticisms at

[email protected] and I’ll be happy to work onit! Until next time, keep on building those robots! SV

//Figure the speed ramping value.

if (action == A_CONST)

if(abs(endPos - calcPos) > counter)

calcPos += (dir*vAcc);

else // skip if we are close

calcPos = endPos;

Vc = getCorrection(calcPos);

setMotor(Vc);

Listing 1. Pseudo-trapezoidal acceleration ramp code.

case ‘a’: //Decrease the ramp rate by 1

vAcc -= 1;if (vAcc < 1)vAcc = 1;

counter = vAcc+1;break;

case ‘A’: //Increase the ramp rate by 1vAcc += 1;counter = vAcc+1;break;

Listing 2. Pseudo-trapezoidal acceleration ramp setup code.

SERVO 04.2009 15

Page 16: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 16/84

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 have awebsite with contest info, send along the URL as well, so wecan tell everyone else about it.

For last-minute updates and changes, you can alwaysfind the most recent version of the Robot Competition FAQat Robots.net: http://robots.net/rcfaq.html

— R. Steven Rainwater

AApprriill

4-5 Trinity College Fire-Fighting HomeRobot Contest

Trinity College, Hartford, CT The well-known championship event forfire-fighting robots.www.trincoll.edu/events/robot/

14-16 DTU RoboCupTechnical University of Denmark, Copenhagen,

DENMARK Line-following and wall-following events forautonomous robots.www.robocup.dtu.dk/

16 Austrian Hexapod ChampionshipFH Hagenberg, AustriaEvents include Hexapod dancing and aHexapod race.www.fh-ooe.at/campus-hagenberg/aktuelles/events.html

16-18 FIRST Robotics CompetitionGeorgia Dome, Atlanta, GANational Championship for the regionalFIRST winners.www.usfirst.org/

17 Carnegie Mellon Mobot RacesCMU, Pittsburgh, PAThe traditional Mobot slalom and MoboJoustevents.www.cs.cmu.edu/~mobot/

17-18 BlimpDuino Aerial Robotics CompetitionGeorgia Dome, Atlanta, GAAutonomous blimps must complete five tasks.http://robots.net/article/2739.html

17-18 National Robotics Challenge

Marion, OH Student competition designed to complementclassroom instruction.www.nationalroboticschallenge.org/

18 Penn State Abington Fire-FightingRobot ContestPenn State Abington, Abington, PABased on the Trinity College Fire-Fighting contest.Autonomous robots must locate and extinguish aflame in a scale model of a home.www.ecsel.psu.edu/~avanzato/robots/contests/

18 RoboRodentia

Mott Gymnasium, California Polytechnic,San Luis Obispo, CA

Autonomous micromouse-like robots mustnavigate a maze while picking up and movingsmall balls.http://tiedye-srv.csc.calpoly.edu/~jseng/robotics.html

18 UC Davis Picnic Day MicroMouse ContestUniversity of California, Davis campus, CAStandard micromouse contest.www.ece.ucdavis.edu/umouse/

24 Trenton Computer Festival Robotics Contest

College of New Jersey, Ewing Township, NJ This is the 34th annual computer festival, sothere's plenty to see and enjoy besides the robotevents which include Micromouse, robot racing,remote-control robot racing, and a variety of

judged awards including most elaborateconstruction and most humorous appearance.www.tcf-nj.org/web

25 Historical Electronics Museum Robot FestivalLinthicum, MDEvents include fire-fighting, FIRST, robot Sumo.

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

16 SERVO 04.2009

Page 17: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 17/84

www.robotfest.com/

25 IstrobotSlovak University of Technology, Bratislave,Slovakia, EU Multiple events including line-following, IEEEMicromouse, mini Sumo, and free style.www.robotics.sk/

25 Penn State Abington Mini Grand Challenge

Penn State Abington, Abington, PAAutonomous outdoor ground robots mustnavigate around the campus — both on andoff-road — avoiding obstacles.www.ecsel.psu.edu/~avanzato/robots/contests/outdoor/

27-30 Alcabot/HISPABOTUniversity of Alcala, Madrid, SpainThis year, both these robot competitions will beheld simultaneously at the University of Alcala.www.depeca.uah.es/alcabot/ orwww.depeca.uah.es/alcabot/hispabot/

30 UNI Mini-Sumo Robotics ChallengeMaucker Student Union,University of Northern Iowa,Cedar Falls, IAThis is a mini Sumocompetition. One differencefrom usual mini Sumoevents is that this one allows“ship-ins.” You can ship yourmini Sumo robot to themand compete without even

being there. The event isbroadcast live on theInternet so you can alsowatch your robot compete.http://list.dprg.org/archive/2008-March/031554.html

MMaayy

9 DPRG RoboRamaDallas, TX

Autonomous. Prizes and certificates awarded foreach event.www.dprg.org/competitions

9 RoboFestLawrence Technological University, Southfield, MI Game Competition — Two autonomous robotswork together, Robot Exhibition, RoboFashionShow, Mini Urban Challenge, Fire-fighting,and VEX.

http://robofest.net

20-24 International Joint Robotics Competition andWorkshopSuleyman Demirel University, Isparta, Turkey This event includes line-following, mini Sumo,Labyrinth, Stock Car, Virtual Soccer. Size is500-1,500 gm. Cash awards and certificates.www.ijrcw.org

22 NATCAR

UC Davis Campus, Davis, CAAutonomous robot car race. Size of 14 inch max

wheelbase, three feet max length.www.ece.ucdavis.edu/natcar

SERVO 04.2009 17

Page 18: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 18/84

Web-based, Remote Control, andMonitoring Platform

After completion ofworld-wide beta

testing, ioBridgeCorporation (www.iobridge.com) hasreleased the IO-204

Monitor and ControlModule and integratedweb service. Along with a set of online tools, the moduleallows for easy creation of interactive web-basedprojects. ioBridge solves many of the hardware andsoftware problems associated with getting most projectsonline including network configuration, web programming,mass deployment, and security.

The IO-204 module removes the need to run a localweb server, track dynamic IP addresses, or even openfirewall ports. Once the IO-204 is connected to anetwork using Ethernet, the module operates over anencrypted connection with ioBridge web services

establishing a gateway to handle remote control,monitoring, and interactivity with devices connected tothe IO-204.

By itself, the IO-204 module can control digitaloutputs and monitor both digital and analog inputs.However, more advanced functions are capable througha suite of interface boards that allow for instant projectintegration. Interface boards are available for relay control,temperature measurement, full servo control, X10 homeautomation, and RS-232 serial communication.

ioBridge modules tie into integrated web serviceshosted by ioBridge.com, which allow for web-based

configuration, control, and real-time monitoring. Anytimeaccess to the module is compatible with mobile devicessuch as BlackBerry and iPhone and all major webbrowsers. ioBridge acts as a hub for module-to-moduleconnections, allowing for interconnected projectsspanning the globe. Supported web services include (butare not limited to) event-based text and email messagingalerts, Twitter and UberNote integration, and datareporting with Google Charts.

Web widgets used for monitoring inputs orcontrolling outputs are created using step-by-stepwizards to eliminate complex microcontroller and web

programming. ioBridge offers a secure dashboard to

access widgets, and copy-and-paste embed codes to dropwidgets into external web pages.

The platform features an API that developers can useto extend functionality into their own applications usingPython, Perl, PHP, JavaScript, JSON, XML, and Java.

ioBridge is supported by an active community ofdevelopers and users. Collectively, they have inspired andcreated projects featured in Popular Science, Digg,Wired , Instructables, Hack-a-Day , and Make. Projectsrange from real-time household power monitoring to aTwittering toaster, and from interactive fishcams toInternet-enabled pet products.

For further information, please contact:

KIRK — Knowledgeable,Interactive, Robotic Kiosk

Florida Robotics hascompleted construction

on a new, advancedentertainment robot. Thefirst unit was delivered toTroutville, VA basedSeparation TechnologiesLLC and was promptlynicknamed RALF — RoboticArtificial Life Form.

“We love RALF ... he isbeautiful,” says PatBorders, President ofSeparation Technologies LLC. “RALF has been extremely

well received and is fairly widely traveled now. We arevery proud of him and happy to have him!” The companyuses the robot for community awareness events at schoolsin order to teach children about eco-friendly concrete andthe environment (www.visitralf.com/blog).

Florida Robotics has sold several units so far and atthe price of approximately $50,000, KIRK is affordablecompared to some of the six figure machines availablewith similar features and functions. A limited number ofunits will be built per year and rentals will be availabledomestically.

While other complex robots require dozens of

New Products

MODULES

ENTERTAINMENT ROBOTS

NNEEWW PPRROODDUUCCTTSS

18 SERVO 04.2009

Website: www.iobridge.comioBridgeCorporation

Page 19: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 19/84

buttons and levers to control, one person can operatethis robot with one hand via a proprietary remote controland wireless microphone housed in a drinking cup. In theautonomous mode, KIRK can detect observers anddeliver pre-recorded messages, give directions, tell jokes,or any other routine desired by the owner.

For further information, please contact:

TightDrive Motor-MountedSpeed Control

Bison Gear’s new TightDrive™ speed control forpermanent magnet DC (PMDC) motors was

designed for applications that require a convenient

location for the control ... on the motor. The majority ofPMDC gearmotors and motors used in industry todayrequire speed controls in order to operate. Typically, thecontrol is wired to the motor through a costly, complicatedcable system and the motor and control can be manysteps away from each other. Bison’s voice of thecustomer research brought forth the need for aconvenient “point of use” motor speed control that wasrobust for industrial environments while offering practicalfeatures and exceptional value.

Bison Gear & Engineering’s new TightDrive motor-mounted speed control can be easily field mounted onBison PMDC gearmotors up to 1/6 horsepower (124

watts) and offers a 20:1 speed range with maximumoutput of 90 volts. The TightDrive is housed in a durablealuminum extrusion which offers NEMA 1 (IP 30)protection and superior heat dissipation. Speed iscontrolled with a combination on/off switch and speedpotentiometer. In addition, three easily accessibleadjustable potentiometers provide settings for minimumRPM, maximum RPM, and current limiting. The simple,yet innovative, SCR control architecture also providesmuch tighter speed regulation than alternative controls.

“Simple solutions are often the best,” saidMatt Hanson, Bison Gear vice president, portfolio

management. “The new TightDrive enables machinebuilders to put the control, the power, and thegearmotor more conveniently at the point of use, whilesaving installation time and reducing costs. As a bonus,users can maximize energy savings by easily changingspeeds as requirements change.”

The TightDrive is designed for 115 volt 50/60 Hzoperation and comes complete with a three foot powercord and NEMA 5-15P plug.

Users can mount the drive directly to the motor in90° increments to optimize position of cord exit andmotor leads. The new TightDrive speed controls are

available for immediate shipment from Bison’s distribution

network or direct from the Bison Gear website.Like all of Bison’s gearmotor products, the

TightDrive speed controls are American made to Bison’shigh quality standards in order to ensure reliable, long-life operation and direct supply chain fulfillment fromBison’s St. Charles, IL facilities. In addition, Bison’sInnopreneurial™ application and design engineering

capabilities to customize or adapt these controls to meetspecific OEM needs are readily available.

For further information, please contact:

ViewPort Software Version 4.1

Parallax is now selling ViewPort Software (Standardand Ultimate versions). ViewPort, developed by

Hanno Sander at MyDanceBot.com, is the premierdebugging environment for Parallax’s eight-cogmultiprocessing Propeller microcontroller. The toolcombines an integrated debugger with powerful graphicsthat show you what’s going on within the Propeller.Users can monitor variables over time with the built-inoscilloscope or change values while the Propeller isrunning. You can also solve hardware problems with thelogic analyzer at sampling rates up to 80 Msps and addintelligence to programs with the fuzzy logic module or

integrate computer vision using the OpenCV library.“ViewPort v4.1 is solid, stable, and versatile, a very

impressive achievement. Now, I am going to incorporateViewPort in several of my research investigations,” says aParallax customer. Both Standard and Ultimate versions

MOTORS & CONTROLLERS

SOFTWARE

SERVO 04.2009 19

Website: www.floridarobotics.comFloridaRobotics

Website: www.BisonGear.comBison Gear &Engineering Corp

Page 20: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 20/84

come equipped with a debugger. The Standard version islow speed (up to 115 kbps) while the Ultimate version ishigh speed (up to 2 Mbps) and includes OpenCV(state-of-the-art computer vision processing),Development Kit, and Designer (customize the graphicinstrumentation via drag and drop).

ViewPort can be integrated into any Spin program. Itrequires one cog and a single line of code at the start of

the program. There are several tutorials, videos, anddocumentation included. ViewPort is also configurableand extensible so users can customize it to their needs.

The Propeller chip makes it easy to rapidly developembedded applications. Its eight processors (cogs) canoperate simultaneously — either independently orcooperatively — sharing common resources through acentral hub. The developer has full control over how andwhen each cog is employed. There is no compiler-drivenor operating system-driven splitting of tasks amongmultiple cogs. A shared system clock keeps each cog onthe same time reference, allowing for true deterministic

timing and synchronization. Three programminglanguages are available: C (via ICC for Propeller); theeasy-to-learn high-level Spin (native); and PropellerAssembly (native), which can execute at up to 160 MPS(20 MIPS per cog).

ViewPort is available for purchase from Parallax, Inc.,or MyDanceBot.com; the Standard version is $59 andthe Ultimate version is $149.

For further information, please contact:

Propeller Chip “KISS”Debugger Program

The KISS Debugger is an indispensable tool for writingand debugging software applications available now

from Machine Intelligence Technologies.. A debuggersaves time and can serve as a test bed to get projects upand running quickly. This debugger is a great source forcode to incorporate into your own project.

Many routines that run on a simulator won’t run onthe target machine, so a simulator can’t provide a realtime development environment like the KISS Debugger.

This simple debugger is designed to use very littleof the RAM in your development cog while providingvaluable information on what is actually happening inreal time.

Debugger Commands• A: Display Main RAM address of label — See where a

piece of SPIN code or data starts in Hub RAM.• D: Display Main Memory Block — Display consecutive

memory locations in Hub RAM.• E: Set/Clr DIRA.• G: Go To Loc.• H: Output this list of cmds.• Help command.• L: List cog RAM contents — List the contents of 32-bit

words in cog RAM addresses 0 through 495 ($1EF).• M: Display/Change Main Memory Bytes — View and

optionally change the contents of memory bytes inHub RAM.• O: Set/Clr OUTA.• R: Dump Regs — List the contents of 32-bit special

purpose registers in cog RAM addresses 496 ($1F0)through 511 ($1FF).

• S: Start Next Free cog.• T: Execute Test Code — Insert your test code in this

command. Then use this command to execute it.• X: Select Start cog — Select a specific cog, download

your ASM code, and execute in the cog.• Del Key: Exit This Repeat — Exit from a command that

performs a variable number of operations.

• End Key: End Cmds D, E, L, O, M — Exit frominstructions that display or modify consecutivelocations of memory.

• Esc Key: Exit Debugger.

The KISS Debugger is available for $20.

The Propeller ServoControl Software

Another indispensable tool from Machine

Intelligence Technologies is the Servo Control software.It is used for controlling up to 16 independent servoswith no perceptible jitter or servo buzz. Servo Controlv1.1 features include:

• No external circuitry needed.• Connect your servos directly to Propeller I/O pins.• Controls 16 servos independently.• Zero jitter.• No servo buzz.• Full rail-to-rail servo motion.• User selectable framerate — adapts easily to any

New Products

20 SERVO 04.2009

TOOLS & DEBUGGING

Web: www.parallax.comParallax, Inc.

Continued on page 54

Page 21: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 21/84

C Stamp is ...M i c r o c o n t r o l l e r s !

Boards

for Development!

L O W C O S T P C B

M A N U F A C T U R I N G !

D i s p l a

y s !

Come see what else at

www.c-stamp.com

Sensors and

Communications!

Ask for our FREE 96 page catalog

VISIT OUR ONLINE STORE AT

www.allelectronics.com

WALL TRANSFORMERS, ALARMS,

FUSES, CABLE TIES, RELAYS, OPTO

ELECTRONICS, KNOBS, VIDEO

ACCESSORIES, SIRENS, SOLDER

ACCESSORIES, MOTORS, DIODES,

HEAT SINKS, CAPACITORS, CHOKES,TOOLS, FASTENERS, TERMINAL

STRIPS, CRIMP CONNECTORS,

L.E.D.S., DISPLAYS, FANS, BREAD-

BOARDS, RESISTORS, SOLAR CELLS,

BUZZERS, BATTERIES, MAGNETS,

CAMERAS, DC-DC CONVERTERS,

HEADPHONES, LAMPS, PANEL

METERS, SWITCHES, SPEAKERS,

PELTIER DEVICES, and much more....

ORDER TOLL FREE

1 - 8 0 0 - 8 2 6 - 5 4 3 2

THOUSANDS OF ELECTRONIC

P A RT S A N D S U P P L I E S

$146.

SERVO 04.2009 21

Robot ics ShowcaseRobot ics Showcase

Page 22: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 22/84

Featured This Month:

Features22 BUILD REPORT:

T6 — Evolution of a Full

Body Spinner by Dennis Beck

28 PARTS IS PARTS:

Custom Colson Wheel

Hubs by Travis Schmidt

Events25 Jan/Feb 2009 Results and

Apr/May 2009 Upcoming

Events

25 EVENT REPORT:

2009 Chattanooga Robot

Battles by Thomas Kenney

ROBOT PROFILE – TopRanked Robot This Month:

29 Upheaval by Kevin Berry

22 SERVO 04.2009

Conception

With so many combat robotbuilders building so many robots,it is given that there are going tobe many robots that resemble

each other. Proven and successfuldesigns are a safe way to go.However, when I designed myfirst combat robot 1.5 years ago,I had only ever seen one otherinsect sized combat robot in mylife. That robot was “MarsAttacks 2” built by Travis Schmidtof Rumble Robotics, a coworkerof mine at the time. Before Travistook up employment with thecompany that I worked for, I had

no previous knowledge ofcombat robotics outside of thelate TV shows BattleBots and

Robot Wars. But when Travisbrought his robot into work forme to see, I knew instantly thatI had to build a combat robot.Without knowing about anyother robot than Travis’, I set out

to design mine.The destructive capabilities

of a full body spinner wereobvious, but their inability tooperate when inverted was ahuge turn-off for me. It didn’ttake long for me to decide tobuild an invertible full bodyspinner, or a “ring spinner” as Ilearned they are called inside thesport. Having the outer perimeterof the robot rotate while keeping

the top and bottom platesstationary would allow the

by Dennis Beck

T6 – Evolution of a Full Body Spinner BUILD REP RT

Third revision of T6 (center) withantweight “Metroid” and beetle “Utopia.”

Page 23: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 23/84

SERVO 04.2009 23

wheels to extend out of the topand bottom of the robot, allowing itto be invertible. I thought it waspretty clever.

Naturally, I wasn’t the firstperson to ever think of this design,

but little did I know that my firstrobot build was something rarelyattempted by other roboticists dueto the inherent complexity. I had mywork cut out for me.

Design Hurdles

The most distinctive anddefining feature of a ring spinner isalso the biggest challenge to get towork effectively: how to support the

ring so that it would spin freely, andtransmit power to get it spinning?The idea for supporting the ringcame quickly, but getting it towork reliably would be the biggestchallenge.

I decided to use a section of 8”OD 0.25” wall 6061-T6 aluminumtube for the ring which I purchasedfrom an online vendor. I used0.090” thick 6061-T6 for a baseplate since I had some leftoverscraps in my garage from a previous

project. The robot soon becameknown as “T6,” for obvious reasons.

I contracted AJ Machine to turna 0.125” deep groove into the innerwall of the ring in which fourequally spaced skateboard bearingswould reside. With the bearingsmounted to the aluminum baseplate, the ring “should” spin freelyon the bearings.

Deciding on a method totransmit rotational power to the

ring did not come so easy. I wantedto keep the height of the robot toa minimum for stability and weightreasons. With common brushedDC motors typically being quitelong, the weapon motor wouldhave to lay down in order to meetthe strict height limitations of T6. Itwas then that I was introduced tothe wonderful world of brushlessmotors.

With the large variety of sizesthat brushless motors were availablein, it was possible for a motor tostand on end and still fit inside ofT6. This would make transferringpower to the ring via a friction drivemuch more simple. Friction drivewas very desirable to me since ittransfers less mechanical shock to

the weapon motor under impactcompared to a custom gear drivenalternative, and prevents theweapon motor from stalling inthe event that the ring becomes

jammed.

Design ChangesThroughout theLife of T6

Revision 1:The original T6’s drive system

consisted of a DimensionEngineering Sabertooth 2X5 motorcontroller wired to a pair of B62gearmotors. The tires wereLynxmotion 2.5” OD Sumo tires. Afriend of mine worked for a localhobby store and gave me a goodprice on a Himax brushless outrun-ner, Castle Creations Phoenix 25speed controller, and a ThunderPower 1,320 mAh three cellLiPoly battery. (And to think that

I had intentions of keeping thisrobot as inexpensive as possible!)

In the first event that T6competed at, it went 1-2, withthe only win being against therobot that inspired the creationof T6 — Mars Attacks 2! Whilesomewhat disappointed withthe 1-2 record, I was veryimpressed with the hugebeating T6 took from Team

Acme’s “AMP,” and drum spinnerswho’s drum makes up two-thirds ofthe robot’s weight!

There were definitelyimprovements to be made. TheB62’s were powerful but slow.The weapon motor got the ring upto a decent speed, but took awhile to do so. The Sumo tires

were slippery, causing the inside ofthe robot to counter-rotate thedirection of the ring during spin-up.The chunks of tool steel bolted tothe ring were perfect for drumspinners to catch on. With all ofthese deficiencies, T6’s future wasbleak.

Revision 2:It was 11 pm the night before

the Saskatoon Combat RoboticsClub’s (SCRC) Kilobots XI event

when I decided to attempt tocompletely rebuild T6. Could T6be rebuilt in nine hours? That wasthe true test.

Reusing only the ring and 2X5motor controller, the rest of therobot would have to be built fromscratch. I mounted the newaluminum base plate and garolitetop cover inside of the ring for a

Friction drive and ring supportbearings from the original T6.

The second revision of T6about to collide with Angry

Dragan during Kilobots XI(Photo by Heather Gessell).

The original T6.

Page 24: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 24/84

24 SERVO 04.2009

lower profile and for betterprotection. The overall height ofthe robot shrunk to 1.875”.

Lynxmotion 595 rpm gearmotorswere used to make for a fasterrobot. The wheels were staggeredin a skid-steer fashion to lessen thecounter-rotation of the chassisunder spin-up. A much largerbrushless outrunner was used topower the ring. I fabricated a new

self-tensioning system for theoutrunner. The more power that issent to the weapon motor, theharder the friction drive pushes intothe ring.A more effective toothdesign was also employed.

A flexing baseplate resulted inthe bearings coming out of thegroove in the ring under impact,and the drive motors jammed up,resulting in a 0-2 showing at KBXI.

Maybe it’s time to give up on thisdesign ...

Revision 3, the latest revision:I don’t know what keeps

drawing me back to this design.Perhaps it’s the challenge.

While taking a break from myother robots, I decided to see if itwould be possible to fit four drive

motors and wheels inside of T6’sring. It looked like it would fit ...barely! The catch was that I’d haveto use 1-3/8” diameter 0.4” wideBanebot wheels. That meant thatthe ring and weapon teeth wouldhave to be cut down to 1-1/8”tall in order for the wheels toextend out of the top and bottomof the ring.

Finding a weapon motor to fitin such a cramped space would betough! Luckily Hobbycity.com has a

huge selection of brushless motors,and I found a 37 mm OD outrunnerthat would fit. Since T6’s layout wasgoing to be a mirror image side-to-side, there would be room for twoweapon motors!

Excited with my findings, Iquickly worked towards getting therobot built as quickly as possible.Fitting the larger 1,350 mAh 30CLipoly battery and the wiring fortwo brushless speed controllers into

the super low profile robot wasproving to be another big challenge.

Keeping the wiring from contactingthe inside of the ring was also aproblem. I fabricated inner walls outof more aluminum to keep thewiring and components away fromthe moving parts.

It was soon obvious that I hadrun out of room for the 2X5 motor

controller. Fortunately, I had a pairof Fingertech Tiny ESCs layingaround from another robot. Butwould they be up to the task of run-ning all four Banebot 24:1, 16 mmgearmotors? Yup! In a weaponedrobot, they worked just fine.

The self-tensioning rocker armdesign from revision 2 was usedagain, but had to be dramaticallyreduced in size to fit in the verycramped quarters.

Completed the night before aSCRC Demo event, I was anxious totry out the new version of T6! Tomy surprise, it worked great!Spin-up was almost instant, and theweapon was very effective forsmashing up the chassis’ of oldmantisweight (6 lb) robots! T6 waseven able to remove an internalcombustion engine from its 1/8”garolite base plate! Halfway throughthe demo, a brushless motor cameapart ejecting motor parts through-

out the arena, but T6 kept working!Having two weapon motors was notsuch a silly idea after all!

The latest revision has not yetseen a true combat event, butanother rebuild with a host ofimprovements is due to happen inthe near future. A new heavier ringwith angled sides milled from abillet of Fortal aluminum, a carbonfiber base plate for weightsavings and strength, and four

weapon teeth are on the list ofimprovements.

Taking the road less travelled,while being more of a challenge, hasturned out to be quite rewarding.Employing a proven design may beeasier to be successful with, but thechallenge of making an unprovendesign work well can be much morerewarding. Well, at least for meit is! SV

The second revision of T6. Self-tensioning friction drive used in thesecond revision of T6.

The inner workings of the thirdrevision of T6.

Blunt toolsteel teeth asused on thesecond and

third revisionsof T6.

Shiny finishes make good looking bots.

Page 25: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 25/84

Event Results forJanuary 10 toFebruary 9, 2009

RoboWars 6 was held byRoboWars in Oakleigh,

Melbourne, Australia on January16th and 17th. Twenty-three botswere registered.

NW Model Hobby Expo 2009was held by Western Alliance

Robotics inMonroe, WAon February7th. Fourteenbots wereregistered.

Upcoming Events forApril-May 2009

(Note: All registration quantities

are as of press time.)

Seattle Bot Battle 7 will bepresented by Western Allied

Robotics in Seattle, WA on April12th. Twenty-six robots are

registered. Goto www.

westernalliedrobotics

.com for moreinformation.

BattleBots 2009 High School,Collegiate, and Pro

Championships will be presented byBattleBots in Vallejo, CA on April21st. Thirteen robots are registered.Go to www.battlebots.com formore information.

BotsIQ 2009 NationalCompetition will be presented

by BotsIQ in Vallejo, CA on April

22nd. Fifteen robots are registered.Go to www.botsiq.org for moreinformation.

HORD Spring2009 will

be presentedby the OhioRobot Club inBrecksville, OHon May 9th.Eighteen robots are registered. Goto www.ohiorobotclub.com formore information.

CCR May Mayhem will bepresented by Carolina

Combat Robots in Greensboro,

NC on May 23rd. Eight robots areregistered. Go to www.caro

linacombat.com for moreinformation.

The TijdensAntweight

World Series willbe held in theNetherlands on April10th. Go to www.

dutchrobotgames.nl for moreinformation. SV

The 2009 Chattanooga RobotBattles were held on Saturday,

January 24th at the ChatanoogaChoo Choo Holiday Inn. This

was the second annual RobotBattles event in Chattanooga, thefirst of which saw the revival ofTennessee’s only robot fighting

competition. It also marked RobotBattles’ 36th event since thecompetition began at Dragon*Conin 1991, making it the second

SERVO 04.2009 25

EVENTSEvent Results and Upcoming Events

by Thomas Kenney

EVENT REPORT:

2009 ChattanoogaRob t Battles

Page 26: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 26/84

26 SERVO 04.2009

oldest competition still active.The tournaments are much

more relaxed than many RFLsanctioned events with a looseschedule, no judge’s decisions,and an MC that fills the gapsbetween fights by poking fun atrobots, builders, and occasionally

members of the audience. Thearena used is six feet square withpolycarbonate walls on all sides andtwo 18” or so pit openings. It alsoincludes a revamped arena hazardafter the previous one was shearedoff of its hub at the Dragon*Conrobot battles.

The new arena hazard was justlike the previous in appearance — alarge rubber caster wheel covered inrough sandpaper, but this newversion spins at speeds of up to

30,000 rpm, greatly increasing thedestruction involved. Unfortunately,like many betas, it ran into someunexpected flaws and its use had tobe cut short in the middle of thecompetition.

Lastly, like all Robot Battlescompetitions, the ChattanoogaRobot Battles event was held at a

science fiction convention, in thiscase, Chattacon.

Set-up was scheduled to beginat 10:00 am, and the fights at12:00. Unfortunately though, likenearly all things related to the sport,nothing went as planned. The event

started out rough when the arena’slights and steel side posts were leftin Atlanta by mistake. The absenceof the lights could be easily dealtwith, but the side posts, not so.The way the arena is constructed,the posts not only raise its height,but also hold the arena floor, thepolycarbonate side walls, and theceiling, or in short, the entire arenaall together.

Through a quick run to thelocal Home Depot, the arena’s

owners, Rob Dillard and BrandonDavis of Team Found Object Robots,managed to find some suitablelights and wood beams totemporarily replace the steel posts.For the next hour, all of thecompetitors worked together in anattempt to hack together somethingresembling the arena’s frame.Finally, through the use of copiousamounts of wood, card board, and

duct tape, the arena was completelyfit for combat.

Six teams, all Robot Battlesregulars, brought a total of fiveone pound antweights and seventhree pound beetleweights,including several new and heavilyupgraded robots. In the antweights,

Found Object Robots (FOBOT)added a titanium servo poweredlifting arm to their joke antweightentry “Tigger,” in an attempt toincrease its competitiveness. JasonBrown from Evil Robots, Inc.,increased his antweight “Rippy’s”weapon speed, to reach anestimated 30 joules of storedenergy. Finally, my team, MHRobotics, completely rebuilt theirantweight “Gilbert,” one of last

year’s winners, adding a razor sharpwedge and giving it enough drivepower to be the zippiest robot inthe competition.

The antweight doubleelimination tournament kicked offwith a match between Dragon*Conrobot battles champion “MisdirectedPedestrian” and the dreaded Tigger.The fight went through severalrounds, ending with Tigger’s armorbeing completely ripped off by thearena hazard.

The antweight fights continuedwith several anticipated matchups.Rippy, driven by Jason Brown of EvilRobots, Inc., was paired up with“Segs,” an innovative, eight-wheeled, flexible bot. The fightended with Segs driving out of thearena after a massive hit by Rippytossed it through the air like a ragdoll. The tournament continuedwith matches between Segs and

Misdirected Pedestrian, and

Rippy and Gilbert, both ofwhich the latter robots won.

Finally, the antweightfinals turned out to beteammates Gilbert andMisdirected Pedestrian. Thematch looked like it could goeither way at first, withGilbert slamming Pedestrianinto the wall repeatedly andPedestrian getting several

The arena is mostly reconstructed with newmaterials (Photo courtesy of Kelly Lockhart).

MC Kelly Lockhart displays the awardplaques for the antweight and beetleweightchampions (Photo courtesy of Chattacon).

Hunter Wood and Randy Farmer from Team“We’re Gonna Die” with beetleweight Dr.Feelgood (Photo courtesy of Kelly Lockhart).

Beetleweightchampion Tipan.

Page 27: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 27/84

good bites in with its lifter.Eventually though, Gilbertended up driving out of thearena and into one of thepits. In true doubleelimination format, the tworobots were required tofight again. The same result

followed, giving MisdirectedPedestrian the title ofantweight champion.

Moving on to the threepound beetleweights, JasonBrown brought “Family Joules,” anew four-wheeled robot with a1.25 pound drum spinning at over15,000 rpm. In the same spirit, myteam, MH Robotics brought ourcreation, “Misdirected Aggression,”a horizontal spinner with a 13

ounce steel bar spinning at 10,000rpm. MC Kelley Lockhart temporarilyamended the Robot Battles rules toallow Randy Farmer to enter “Dr.Feelgood,” a wheeled platformwith a small mobile turret mountedon top that could rapidly shootairsoft pellets.

Among the other robotspresent were the pyramid shapedwedge “Pyramid of Death,” thesolidly built eggbeater robot“Drumbeat,” the massively

overpowered ramming brick “Cloudof Suspicion,” and the simply hugedustpan sporting robot, “Tipan.”

Several exhilarating matchesensued. The ramming brick Cloudof Suspicion fought drum spinner,Family Joules. Cloud of Suspicionwas able to bully Family Joulesaround the arena, actually flippingthe drum spinner several times byslamming it into the walls, whilelikewise, Family Joules managed

to get in several good hits with itsdrum. Eventually, just like Gilbert,Cloud of Suspicion proved to beat a point, too uncontrollable. Itoften could not drive in a straightline, often slamming into thewalls during its intended attacks. Iteventually missed its target in anunlucky box rush and flew out ofthe arena. Cloud of Suspicion won afight in the losers bracket against

Drumbeat, but lost its next and finalmatch against Pyramid of Deathwhen it once again slammed into awall and bounced out of the arena.

Misdirected Aggression firstfought Pyramid of Death. Itsweapon proved to be just as

deadly as it appeared, but equallyunreliable. It loosened itself fromthe shaft after dishing out severalimpressive hits. Pyramid of Deathhad the fight won at that point,but unfortunately, like many others,it drove itself out of the arenaand Misdirected Aggression tookthe win.

Misdirected Aggression’s nextfight was against Family Joules.Both robots spun up and cautiouslyapproached each other at first. Then

in one huge collision, Family Jouleswas knocked back and MisdirectedAggression was sent flying throughthe air, its weapon no longersecured to its shaft. Although FamilyJoules had lost half of its drivemotors in the hit, lacking any way toattack or defend itself, MisdirectedAggression tapped out.

The beetleweight finals endedup being fought between FamilyJoules and Tipan, who had

advanced through the loser’s bracket.

Although it lacked the ability todrive properly, Family Joules was stillable to take several decent sizedchunks out of Tipan’s large plasticdustpan, though it was eventuallypitted, giving Tipan thebeetleweight championship.

After the award plaques werepresented, all of the antweightspresent were placed in the arena forone last untimed free-for-all. Rippywas the first to go out of the arena,and was eventually followed byMisdirected Pedestrian. Finally, Segsand Gilbert went out of the arena,giving the robot least expected towin — Tigger — the victory.

SERVO 04.2009 27

Event Results

ANTWEIGHTS 1st — Misdirected Pedestrian, MH

Robotics

2nd — Runner Up: Gilbert, MH

Robotics

3rd — Rumble Winner: Tigger,

Found Object Robots

BEETLEWEIGHTS

1st — Tipan, Found Object Robots

2nd — Runner Up: Family Joules,

Evil Robots, Inc.

3rd — Rumble Winner: Cloud of

Suspicion, MH Robotics

Beetlweightrumble winner Cloud of Suspicion.

The Beetleweight bar spinner Misdirected

Aggression.

Antweight championMisdirected Pedestrian

pushes rumble winner Tigger towards the arena hazard

(Photo courtesy of Chattacon).

Jason Brown from EvilRobots, Inc., with antweightRippy and beetleweightrunner-up Family Joules(Photo courtesy of KellyLockhart).

Page 28: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 28/84

28 SERVO 04.2009

1. Use a hacksaw to cut 2”aluminum round bar into several1/4” thick blanks. I highlyrecommend a bandsaw for this job:

2. This hub is designed to be usedwith standard drill motors. I used a21/64” drill bit to drill the centerhole:

3. Tap the center hole for 3/8-24threads. The holes to mount thehub to wheel are also drilled:

4. I machined the core of the 4x2”Colson wheel out so that the hubwould pop into place so that theoverall width of my bot wouldbe shorter:

5. The drill motor threads onto thehub and is secured on the otherside with a 3/8-24 locknut. Iattached the hub to the wheel witha pair of 10-32 screws:

6. It is very important to make sureyour motors are mounted as firmlyas your wheels are. SV

In the beetleweight rumble,Tipan and Family Joules teamedup when the builders placed thenow immobile drum spinner insideTipan’s large dustpan beforehand,though once it began, FamilyJoules was quickly knocked loose byCloud of Suspicion. Throughout the

rest of the rumble, Dr. Feelgoodcontinually shot airsoft pellets atrandom all through the arena,eventually causing the new arenalight to break loose from the

ceiling. By the end of the rumble,Cloud of Suspicion was the onlyrobot left moving, with Drumbeatand Family Joules still left in thearena, though sessile.

After the event was over,Brandon Davis from Found ObjectRobots taught a small class to some

audience members on how tobuild a combat robot, answeringquestions with the help of otherbuilders. The full event results arelisted in the sidebar. SV

by Travis Schmidt

PARTS IS PARTS:

Cust m Colson Wheel Hubs

Links

robotbattles.com — Robot Battles

website with a full listing of

upcoming events, photo galleries

of past events, and more.

chattacon.net — Chattacon, the

host of this Robot Battles event.

youtube.com/kenneyth — Several

fight videos from the event.

Page 29: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 29/84

SERVO 04.2009 29

Upheaval has competed in:Franklin Institute Robot

Weekend, Motorama 2008, FranklinInstitute Robot Conflict, Motorama2007, and House of NERC 2006.

By press time, Upheaval will alsohave fought at Motorama 2009.Details are:

Configuration: Pneumatic flipper.

Frame: Welded 6061 aluminumand garolite.

Drive: 2WD Banebots 36 mmplanetary gearmotors.

Wheels: 3” Colsons.

Drive ESC: Victor 883.

Drive batteries: Thunderpower

four cell 2,300 mAh LiPo.

Weapon type: Pneumaticlauncher.

Weapon power: 200 psi CO2.

Armor: UHMW plastic andduct tape.

Radio system: Spektrum DX6.

Future plans: Currently on thethird rebuild ... I think I’ll stickwith this version for awhile.

Design philosophy: Pack in as

much flipping power as possible,while retaining reliability.

Builders bragging opportunity:Record for most opponent flips inNERC event history. SV

Photo is courtesy of Eric Scott and information iscourtesy of Alan Young. All fight statistics arecourtesy of BotRank (www.botrank.com) as ofFebruary 10, 2009. Event attendance data iscourtesy of BotRank and The Builder’s Database(www.buildersdb.com).

ROBOT PR FILE

by Kevin Berry

TOP RANKED ROBOT THIS MONTH

WeightClass

Bot Win/Loss Weight Class Bot Win/Loss

150 rams VD 26/7 150 rams The Joke 4/0

1 pound Dark Pounde r 44/5 1 pound Black Death 6/0

1 k Roadbug 27/10 1 k Roadbug 7/4

3 pounds 3pd 48/21 3 pounds Yeti 8/0

6 pounds G.I.R. 17/2 6 pounds G.I.R. 8/0

12 pounds Solaris 42/12 12 pounds Tourinho 11/0

15 pounds Humdinger 2 29/2 15 pounds Humdinger 2 29/2

30 pounds Helios 31/6 30 pounds Touro Feather 8/2

30 (sport) Bounty Hunter 9/1 30 (sport) Upheaval 8/4

60 pounds Wedge ofDoom

43/5 60 pounds K2 6/0

120 pounds Devil 's Plunger 53/15 120 pounds Touro 18/3

220 pounds BioHazard 35/5 220 pounds Original Sin 10/2

340 pounds SHOVELHEAD 39/15 340 pounds Ziggy 5/2

390 pounds MidEvil 28/9

Top Ranked Combat Bots

Data as of February 10, 2009

History Score is calculated by

perfomance at all events known

to BotRank

Current Ranking is calculated by

performance at all known events, using

data from the last 18 months

History Score Ranking

Upheaval – Currently Ranked #1

Class: 30 pound Sportsman Hobbyweight

Team: Mad Scientist

Builder(s): Alan Young

Location: Freehold, NJ

BotRank Data Total Fights Wins Losses

Lifetime History 16 10 6

Current Record 12 8 4

Events 5

Page 30: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 30/84

In the discussion and hardware build-up that follows, ourcollective programming and hardware design/assemblyefforts will be focused on the Microchip PIC18F2620,

which will be coded to drive a Dynamixel AX-12+ robot

actuator. There are several Dynamixel robot actuators inaddition to the AX-12+. This month, we will centerexclusively on instructing the F2620 to drive a Dynamixel

AX-12+ robot actuator. We’ve got some specialized AX-12+hardware to design and assemble before we can begin tocode the driver firmware. So, let’s get started.

The Dynamixel AX-12+I can easily describe the Dynamixel AX-12+ robot

actuator you see in Photo 1 with a singleword: SuperServo. The AX-12+ can doeverything a standard hobby servo can andbetter. For instance, to obtain continuousrotation you don’t have to disassemble andintentionally “break” it. You simply com-mand it to perform an endless turn. Need toknow where the servo shaft is? Don’t ask ahobby servo, because unless it’s one of the

new digital models, it can’t tell you. ADynamixel can not only tell you where itsshaft is, it can also tell you if it’s moving.

In that you’re reading this magazine,odds are that you have some prior exposureto hobby servos. For those experiencedreaders, you know that hobby servos moveat their own mechanical pace with a setamount of torque. The Dynamixel can be

UNWINDING

THE AX-12+COMMUNICATIONPROTOCOL

I love to write robotic driver

firmware and scratch build PIC

microcontroller-based robotic

hardware to run it. In this

edition of SERVO, we’re not only going to sharpen our

driver authoring skills, we’ll

also get some flight time on

the handle of a soldering iron.

by Fred Eady

30 SERVO 04.2009

PHOTO 1. The daisy-chained one-wire RS-232link I am referring to is actually a DATA line anda GROUND line. The AX-12+ also distributespower on a third daisy-chained line.

Page 31: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 31/84

commanded to move at your selected angular velocity with your desired amount of torque to within ±0.35° of thedesired endpoint position. The AX-12+’s maximum ratedholding torque is 229 ounce-inches and it can rotate at amaximum angular velocity of 114 rpm. Needless to say, ifyou get one of your humanoid body parts in the way of ahigh-speed max-torque AX-12+ mechanical operation, it’s

gonna leave a mark.Standard hobby servos use a variable duty cycle pulse

train to control their shaft’s angular velocity and position.The duty cycle of the servo control pulse determines theservo shaft’s rotational position while the angular velocityof the servo shaft is dictated by the speed of the duty cyclemodulation. Thus, the slower the duty cycle change, theslower the angular velocity. A pulse width of 1.0 ms willmove a standard hobby servo shaft to the extreme left,while a 2.0 ms pulse will move the shaft to the far right.Centering the shaft requires a pulse with a width of 1.5 ms.

When a flock of hobby servos need to be individually

positioned to achieve a common goal such as in modelaircraft and boats, each servo must have access to itsunique pulse width information. In these cases, theunique pulse widths are multiplexed by a transmitter anddemultiplexed at the receiver. If the hobby servos aren’t inthe air or on the water, an elaborate microcontroller-basedmultiple pulse width generator is normally used to controlthe servo positions.

The Dynamixel robot actuators don’t depend on pulsewidths for their position information. Instead, a half-duplex,one-wire, RS-232 protocol-based TTL communications linktransfers command and status information between a hostcontroller and the robot actuators. The TTL-level status and

command messages are called digital packets. The termhalf-duplex means that devices attached to a commoncommunications link are only allowed to talk when no otherdevice is talking. In the case of the Dynamixel robotactuators, all of the robot actuators that are daisy-chainedon the one-wire link spend most of their time listening andonly speak after being spoken to.

It is also possible to command the robot actuators in

the daisy chain to listen and obey only. All of the Dynamixelrobot actuators on the link are able to hear every messagethat is transmitted on the wire. However, each actuator thatparticipates on the half-duplex one-wire TTL link is assigneda unique address between 0 and 253 decimal. If anactuator hears a message that does not contain its assignedaddress, the message is ignored. The only way to get the

attention of every AX-12+ on the link at the same time is tosend a digital packet using the broadcast address, which is254 decimal (0xFE).

In addition to carrying precision position and speedinformation, the digital packets can also transport robotactuator feedback data. We already know that with theissuance of a command from the host controller, an AX-12+can report its angular position and/or its angular velocity.Other robot actuator parameters such as internal tempera-ture, input voltage, and load torque can also be queried bythe host controller. The fact of the matter is, we can issue asingle READ command and gain access to all of the data

held in the AX-12+’s Control Table.I could expound on the virtues of the AX-12+ all day.However, you’re not here to listen to me talk. You’re hereto get the skinny on how to put an AX-12+ to work underthe control of a PIC18F2620. With that, let’s determinewhat we need in a hardware way to get the PIC and anAX-12+ to communicate with each other.

An AX-12+ ControllerHardware Design

Behold Schematic 1. I’ve used a pair of CD4069 inverter

gates to mirror the half-duplex transmit/receive logic that is

set forth by the AX-12+ datasheet. A TTL high applied tothe MODE_SW inverter input enables U3A, the transmitbuffer, and tristates the output of U3B, the receive buffer.Conversely, a TTL low at the MODE_SW input tristates thetransmit buffer’s output and enables the receive bufferoutput of U3B. This simple circuit is the key to theimplementation of the one-wire half-duplex TTL linkrequired by the AX-12+. The AX-12+ datasheet presents the

SERVO 04.2009 31

NOTES:

1. POWER FOR CD4069 AND 74HC125 -- PIN 14 = +5.0 - PIN 7 = GND.

2. ALL UNUSED CD4069 INPUTS TIED TO GROUND.

3. ALL UNUSED 74HC125 OUTPUT ENABLE PINS TIED TO +5.0.

RX

TX

MODE_SW

DATA

5V0

U3B74HC125

56

4

U3C74HC125

9 8

1 0

U3D74HC125

12 11

1 3R4

10K

U2A

CD4069UB

1 2

U2B

CD4069UB

3 4

U3A74HC125

2 3

1

SCHEMATIC 1. I didn’t havean 74HC126 part in myinventory. So, I made dowith what I had. This74HC125 circuit is logicallyequivalent to the 74HC126circuit shown in the AX-12+datasheet.

Page 32: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 32/84

circuit you see in Schematic 1 using a 74HC126. I didn’thave a 74HC126 in my IC inventory. Being that the onlydifference between the 74HC125 and the 74HC126 is theactive polarity of the tristate control inputs, I added theinverter U2A to make the 74HC125 appear as a 74HC126

to the firmware logic. Since we’re writing our own AX-12+driver, we could dispense with U2A and run the transmit/receive switching logic in the reverse direction of theAX-12+ datasheet. However, to maintain continuity with theAX-12+ system logic, it’s best to keep with the datasheet

logic and perform the switching logic inversionwith U2A.

Schematic 2 adds the detail you need toenvision the entire one-wire interface and itsinterconnection with the PIC18F2620’s I/O

subsystem. The communications link DATA portalat pin 3 of the 74HC125 connects to theAX-12+’s physical DATA pin, whose logical statecan be transmitted via daisy chain to otherAX-12+ DATA pins on the link. Note that the+9.6 volt bulk motor voltage and the commonground are also included in the daisy chain link.

32 SERVO 04.2009

MODE_SW

TXRX

DATA

5V0

5V0

5V0

5V0

U2-PIN 14

9V6 5V0

9V6

5V0

C1100nF

VR1LM340S-5.0

1 2

3

IN OUT

G N D+ C5

470uF+ C8

470uFC60.1uF

U3

74HC125

14

36811

259

12

141013

7

VCC

1Y2Y3Y4Y

1A2A3A4A

1OE2OE3OE4OE

GND

C70.1uFC4

0.1uF

C2100nF

U2A

CD4069UB

12

R5330

R6330

U2B

CD4069UB

34

J1POWER

R310K

C3100nF

U2C

CD4069UB

5 6

U2D

CD4069UB

9 8

U2E

CD4069UB

11 10

ICSP CONNECTOR

123

456

123

456

U2F

CD4069UB

13 12

R1100

R410K

U1

PIC18F2620

2345

212223242526

2728

1112131415161718

109

1

67

819

20

RA0RA1RA2RA3

RB0/INT0RB1RB2RB3RB4RB5

RB6/PGCRB7/PGD

RC0

RC1/CCP2RC2/CCP1RC3RC4RC5RC6/TXRC7/RX

RA6RA7

MCLR

RA4/T0CKIRA5

GNDGND

VDD

AX-12+ HEADER

123

R2 1K

LED1

RX

LED2

TX

SCHEMATIC 2. Transmit and receive data iscommon to the DATA line as the 74HC125active-low OE (Output Enable) lines are wired

to only allow half-duplex communications.

PHOTO 2. The circuitry for the SuperServo isSuperSimple. So, a printed circuit board is notnecessary. I used standard point-to-point solder

techniques to wire up this AX-12+ controller design.The three-wire interface for the AX-12+ is made upof a portion of a SIP header strip.

Page 33: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 33/84

Each AX-12+ attached to the common link can draw up to900 mA. So, we need to make sure we provide a +9.6 voltpower source that is hefty enough to support every AX-12+in the daisy chain.

If you’re wondering what happened to thePIC18F2620’s crystal, it is not necessary in this design as wewill be coding in the internal 32 MHz clock. We canconserve I/O pins by building up the design you see inSchematic 2. If I/O will be plentiful in your design and youwant to eliminate the CD4069, you can. Take a look atSchematic 3. We have simply given direct control of the74HC125 OE (Output Enable) pins to the PIC18F2620. The

only caveat in this design is that you must make sure thatyou switch the PIC18F2620’s MODE_TX and MODE_RX I/Olines correctly in the firmware. As you can see in Photo 2,I’ve gone with the hardware-heavy Schematic 2 design. Ifyou decide to go with the Schematic 3 design, we’ll code inand comment out the necessary mode switch code in theAX-12+ driver firmware.

The TX and RX LEDs take advantage of the PIC18F2620EUSART’s logically high idle state. The LEDs will blink withevery passing logic low on the communications link. Thus,you‘ll see every START bit and every binary zero in the datastream in the lights.

There’s no rocket science in the power supply or the

TX

MODE_TX

RX

MODE_RX

DATA

9V6

5V0

5V0

5V0

5V0

9V6

5V0

5V0

LED1

RX

R6330

U2D

CD4069UB

9 8

AX-12+ HEADER

123

U2F

CD4069UB

13 12

U1

PIC18F2620

2345

212223242526

2728

11121314

15161718

109

1

67

819

20

RA0RA1RA2RA3

RB0/INT0RB1RB2RB3RB4RB5

RB6/PGCRB7/PGD

RC0RC1/CCP2RC2/CCP1RC3RC4RC5RC6/TXRC7/RX

RA6RA7

MCLR

RA4/T0CKIRA5

GNDGND

VDD

C60.1uF

C70.1uF

R310K

C1100nF

R5330

LED2

TX

+ C5470uF

C3100nF

VR1LM340S-5.0

1 2

3

IN OUT

G N D

U2E

CD4069UB

11 10

U2C

CD4069UB

5 6

R410KU3

74HC125

14

36811

259

12

1

41013

7

VCC

1Y2Y3Y4Y

1A2A3A4A

1OE2OE3OE4OE

GND

ICSP CONNECTOR

123

456

123

456

J1POWER

R2 1K

R1100

C2100nF

+ C8470uF

SCHEMATIC 3. Thanks to the PIC18F2620’s superbI/O capabilities, a couple of lines of code are all it

takes to replace the CD4069UB inverter, a crystal,and the capacitor pair supporting the crystal.

SCREENSHOT 1. I recommend adding this little utility to yourprogramming arsenal. Although it looks like the original site isgone, search the web using PicMultiCalc and you’ll find archives

that will allow you to download the executable.

SERVO 04.2009 33

Page 34: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 34/84

ICSP portal. Strip away the 74HC125 and CD4069 circuitryand this becomes a baseline PIC design.

Driving the AX-12+ witha PIC18F2620

The AX-12+ comes from the factory addressed as 0x01and ready to communicate at its maximum speed of 1

Mbps. If you don’t believe the PIC18F2620’s EUSART canrun with the big dogs at 1 Mbps, swing your eyes over toScreenshot 1. The math is courtesy of PicMultiCalc. This PICutility runs on a PC and is the brainchild of Mister EEngineering. The absence of the PicMultiCalc download onthe Mister E website seems to indicate that Mister E is outof the country at the moment. However, I did find a down-loadable copy of the utility in the microEngineering Labs

PICBASIC forum. Here’s what our EUSART initialization codelooks like after incorporating the PicMultiCalc numbers:

//*******************************************************

//* Init EUSART Function

//*******************************************************

void init_EUSART(void)

SPBRG = 7; //7 = 1 Mbps with 32MHZ clock

//SPBRG = 68; //68 = 115200 bps with 32MHZ clock

TRISC7 = 1; //receive pin

TRISC6 = 0; //transmit pin

BRG16 = 1;

TXSTA = 0x04; //high speed baud rate set BRGH = 1

RCSTA = 0x80; //enable serial port and pins

EUSART_RxTail = 0x00; //flush Rx buffer: Head=Tail

EUSART_RxHead = 0x00;

EUSART_TxTail = 0x00; //flush Tx buffer: Head = Tail

EUSART_TxHead = 0x00;

RCIP = 1; //receive interrupt = high priority

TXIP = 1; //transmit interrupt = high priority

RCIE = 1; //enable receive interrupt

PEIE = 1; //enable all unmasked peripheral irqs

GIE = 1; //enable all unmasked interrupts

CREN = 1; //enable EUSART1 receiver

TXIE = 0; //disable EUSART1 transmit interrupt

TXEN = 1; //transmitter enabled

Note that I added a commented-out SPBRG statement

for 115200 bps. The reasoning behind this is that Iinitially tested the AX-12+ driver at 115200 thinking that1 Mbps was not a realistic baud rate for the PIC18F2620.If you want to experiment with other baud rates, you’llneed to preload the out-of-the-box AX-12+ with yourdesired baud rate. The easiest way to do this is to use aRobotis USB2Dynamixel dongle like the one smiling at youin Photo 3.

The USB2Dynamixel is based on the FTDI FT232R USBUART IC. With the flick of a slide switch, theUSB2Dynamixel can transform a PC’s USB data stream intoRS-232, RS-485, or TTL voltage levels suitable for use with

the full Dynamixel robot actuator line. The USB2Dynamixelis not designed to drive the robot actuator electronics andmotor, which means that we have to supply the bulk motor

voltage if we wish to exercise the AX-12+using the USB2Dynamixel. TheUSB2Dynamixel is supported by anumber of PC-based control and testprograms, which can be downloadedfrom the Robotis website.

The AX-12+-USB2Dynamixelhardware hookup was simple. Icrimped a pair of Molex femaleterminals (Molex part number

PHOTO 3. If you’ve been keeping up with my RS-232 to USBconversion projects in Nuts & Volts , you already know quite abit about what’s going on inside of the USB2Dynamixel. TheUSB2Dynamixel is designed around the FTDI FT232R USB UART IC.

SCREENSHOT 2. Exploring the functionality of this software tool with a USB2Dynamixel and AX-12+ attached to yourPC’s USB port is a quick and easy way to get acquainted with

the Dynamixel robot actuator system.

34 SERVO 04.2009

Page 35: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 35/84

16-02-1125) onto the opposite end of a couple of wiresthat I ultimately connected to a +9.6 volt power source. TheAX-12+ comes with a three-wire jumper that I used to con-nect it to the USB2Dynamixel. I plugged the USB2Dynamixelinto my laptop serial port, powered up the +9.6 volt supply,and kicked off the Dynamixel Manager application.As you can see in Screenshot 2 — with the help of the

USB2Dynamixel and a home-made power cable — I used theNetwork portion of the Dynamixel Manager to preload the115200 baud rate into the AX-12+. Naturally, I used thesame process to return the AX-12+ to its original 1 Mbpsbaud setting. We don’t need to run the PIC18F2620’sinternal oscillator at full blast to pump 1 Mbps out of itsEUSART. According to PicMultiCalc, we can run with an8 MHz clock and still achieve 1 Mbps throughput at theEUSART. Let’s settle on running at full blast, which is32 MHz. The clock coding for 32 MHz goes like this:

//*******************************************************

//* INITIALIZE CLOCK AND I/O PORTS//*******************************************************

OSCCON = 0x70; //set for 32 MHz operation

PLLEN = 1; //enable PLL for 32 MHz

TRISA = 0b01111111;

TRISB = 0b11111111;

TRISC = 0b10000000;

All of the I/O that relates to the AX-12+ is currentlytaking place on PORT C of the PIC18F2620. To get thingsmoving as quickly as possible, I like to set the I/O portdirections as soon as I can in the code.

To send a digital packet, we must know how the data

is laid out within each packet. So, let’s look at a digitalpacket from the viewpoint of a programmer using theC programming language. We’ll stash our digital packetsinto a 128-byte array called xmit_buff until we’re ready tosend them.

Every digital packet begins with a pair of 0xFF synccharacters:

xmit_buff[0] = 0xFF; //sync character

xmit_buff[1] = 0xFF; //sync character

Since our EUSART firmware engine uses circular buffers

to hold its transmit and receive data, the pair of 0xFF synccharacters will always stand as digital packet demarcationpoints. The byte that immediately follows the sync charactersis the AX-12+ ID, which ranges from 0 to 253 decimal(0x00 to 0xFE). There will never be a trio of consecutive0xFF characters as the ID can never be greater than 0xFE.So, we’re still safe triggering on a pair of 0xFF characters todenote the beginning bytes of a digital packet. Here’s whatour digital packet looks like so far:

xmit_buff[0] = 0xFF; //sync character

xmit_buff[1] = 0xFF; //sync character

xmit_buff[2] = id; //unique ID 0-253

The next byte in a digital packet holds a numberrepresenting the length of the digital packet, which iscomputed as the Number of Parameters + 2:

xmit_buff[0] = 0xFF; //sync character

xmit_buff[1] = 0xFF; //sync character

xmit_buff[2] = id; //unique ID

xmit_buff[3] = parm_len + 2; //PARMS+INSTR+CHECKSUM

The additional two bytes added to the parameterlength include the instruction and the digital packetchecksum value in the packet length calculation. Theparameters — if there are any — are squeezed in betweenthe instruction and checksum bytes:

xmit_buff[0] = 0xFF; //sync character

xmit_buff[1] = 0xFF; //sync character

xmit_buff[2] = id; //unique ID

xmit_buff[3] = parm_len + 2; //PARMS-INSTR-CHECKSUM

xmit_buff[4] = inst; //instruction

xmit_buff[p] = parms[0],parms[1] //any number of params

xmit_buff[c] = packet checksum //packet checksum byte

Here’s how we define the seven AX-12+ instructions inour firmware:

//*******************************************************

//* INSTRUCTIONS

//*******************************************************

#define iPING 0x01 //obtain a status packet

#define iREAD_DATA 0x02 //read Control Table values

#define iWRITE_DATA 0x03 //write Control Table values

#define iREG_WRITE 0x04 //write and wait for ACTION#define iACTION 0x05 //triggers REG_WRITE

#define iRESET 0x06 //set factory defaults

#define iSYNC_WRITE 0x83 //control mult. actuators

The instruction parameters are kept in their own128-byte array, which we call parms. Let’s dry-run someexample digital packets to show you how the parms arrayworks with the xmit_buff array. We’ll begin with building aPING digital packet, which has no parameters. The AX-12+ID will be 0x01 in all of our examples:

//PING DIGITAL PACKETxmit_buff[0] = 0xFF; //sync character

xmit_buff[1] = 0xFF; //sync character

xmit_buff[2] = 0x01; //unique ID

xmit_buff[3] = 0x02; //number of PARMS+

//INSTRUCTION+CHECKSUM

xmit_buff[4] = iPING; //instruction

xmit_buff[5] = 0xFB; //checksum

The only byte you probably can’t figure out right now isheld in xmit_buff[5]. The digital packet checksum is simplythe bitwise inversion (logical NOT) of the sum of the IDbyte, length byte, parameter bytes, and instruction byte.

SERVO 04.2009 35

Page 36: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 36/84

Any bits that roll out of the checksum’s least significantbyte are ignored.

Let’s dry-run with an instruction that requires someparameters. Let’s manually code up a READ_DATA digitalpacket that will retrieve the AX-12+’s ID from the ControlTable. The Control Table is simply a chunk of EEPROM andRAM that holds the AX-12+’s configuration and feedbackdata. The first 23 Control Table entries are nonvolatile.There are 49 Control Table memory slots:

//*******************************************************//* CONTROL TABLE ADDRESSES

//*******************************************************

enum

MODEL_NUMBER_L, // 0x00

MODEL_NUMBER_H, // 0x01

VERSION, // 0x02

ID, // 0x03

BAUD_RATE, // 0x04

RETURN_DELAY_TIME, // 0x05

CW_ANGLE_LIMIT_L, // 0x06

CW_ANGLE_LIMIT_H, // 0x07

CCW_ANGLE_LIMIT_L, // 0x08

CCW_ANGLE_LIMIT_H, // 0x09

RESERVED1, // 0x0ALIMIT_TEMPERATURE, // 0x0B

DOWN_LIMIT_VOLTAGE, // 0x0C

UP_LIMIT_VOLTAGE, // 0x0D

MAX_TORQUE_L, // 0x0E

MAX_TORQUE_H, // 0x0F

STATUS_RETURN_LEVEL, // 0x10

ALARM_LED, // 0x11

ALARM_SHUTDOWN, // 0x12

RESERVED2, // 0x13

DOWN_CALIBRATION_L, // 0x14

DOWN_CALIBRATION_H, // 0x15

UP_CALIBRATION_L, // 0x16

UP_CALIBRATION_H, // 0x17

TORQUE_ENABLE, // 0x18

LED, // 0x19

CW_COMPLIANCE_MARGIN, // 0x1A

CCW_COMPLIANCE_MARGIN, // 0x1B

CW_COMPLIANCE_SLOPE, // 0x1C

CCW_COMPLIANCE_SLOPE, // 0x1D

GOAL_POSITION_L, // 0x1E

GOAL_POSITION_H, // 0x1F

MOVING_SPEED_L, // 0x20

MOVING_SPEED_H, // 0x21

TORQUE_LIMIT_L, // 0x22

TORQUE_LIMIT_H, // 0x23

PRESENT_POSITION_L, // 0x24

PRESENT_POSITION_H, // 0x25

PRESENT_SPEED_L, // 0x26

PRESENT_SPEED_H, // 0x27

PRESENT_LOAD_L, // 0x28

PRESENT_LOAD_H, // 0x29

PRESENT_VOLTAGE, // 0x2A

PRESENT_TEMPERATURE, // 0x2B

REGISTERED_INSTRUCTION, // 0x2C

RESERVE3, // 0x2D

MOVING, // 0x2E

LOCK, // 0x2F

PUNCH_L, // 0x30

PUNCH_H // 0x31

;

To access the AX-12+ ID byte, we need to build aREAD_DATA digital packet to retrieve the fourth ControlTable byte. Since the READ_DATA instruction requiresparameters, the first step involves defining the parametertable in the parms array:

parms[0] = ID; //starting read address

parms[1] = 0x01;//number of bytes to read from

// starting read address

Later on, we will write a function to load the parm

SCREENSHOT 3. This is a capture of the PIC18F2620’s EUSARTreceive buffer. A value of 0x00 in the ERROR byte is a verygood thing as bits that are set indicate errors.

SCREENSHOT 4. The payload data (AX-12+ ID) is loaded atoffset 6 in the EUSART’s receive buffer.

36 SERVO 04.2009

• ROBOTIS — www.robotis.com

USB2Dynamixel; AX-12+ Robot Actuator; Dynamixel

Manager

• Microchip — www.microchip.com

PIC18F2620; MPLAB IDE; MPLAB REAL ICE

• HI-TECH Software — www.htsoft.com

HI-TECH PICC-18 C Compiler

The AX-12+ firmware driver was compiled with HI-TECH

PICC-18 PRO.

A Microchip MPLAB REAL ICE was used as the debugging

device.

Sources

Page 37: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 37/84

array entries into the correct memory slots of a digitalpacket. However, for now, let’s insert the parametersmanually:

//READ ID DIGITAL PACKET

xmit_buff[0] = 0xFF; //sync character

xmit_buff[1] = 0xFF; //sync character

xmit_buff[2] = 0x01; //unique ID

xmit_buff[3] = 0x04; //# of PARMS+INSTRUCTION+CHECKSUM

xmit_buff[4] = iREAD_DATA; //instruction

xmit_buff[5] = ID; //parameter 1

xmit_buff[6] = 0x01; //parameter 2

xmit_buff[7] = 0xF4; //checksum

Both of the digital packets we assembled will triggera response from the AX-12+. In the case of the PINGdigital packet, we should receive a status messagecontaining the AX-12+’s ID, an ERROR byte, and achecksum byte. If the PING operation is successful, here’swhat a returned status digital packet looks like from a

programmer’s point of view:xmit_buff[0] = 0xFF; //sync character

xmit_buff[1] = 0xFF; //sync character

xmit_buff[2] = 0x01; //payload value = ID of AX-12+

xmit_buff[3] = 0x02; //# of PARMS+INSTRUCTION+CHECKSUM

xmit_buff[4] = 0x00; //error byte – 0x00 = none

xmit_buff[5] = 0xFC; //checksum

This status message contents are confirmed inScreenshot 3, which is the PING response data I receivedfrom an AX-12+ with an ID of 0x01. I also took the libertyto capture the response for the READ_DATA digital packetin Screenshot 4. Here’s the programmer view of the statusmessage data captured in Screenshot 4:

xmit_buff[0] = 0xFF; //sync characterxmit_buff[1] = 0xFF; //sync character

xmit_buff[2] = 0x01; //unique ID

xmit_buff[3] = 0x03; //# of PARMS+INSTRUCTION+CHECKSUM

xmit_buff[4] = 0x00; //ERROR byte – no errors

xmit_buff[5] = 0x01; //parameter 1

xmit_buff[6] = 0xFA; //checksum

More To Come

I think you’ve got the idea. So, next time we’ll add somemeat to our firmware potatoes and code up a number offunctions that will give us dominion over the AX-12+ Dynamixel

robot actuator. In the meantime, I’ll post the preliminaryAX-12+ PIC18F2620 firmware I used here to communicatewith an AX-12+ as a download package on the SERVOwebsite (www.servomagazine.com). Be sure to have yourAX-12+ controller hardware ready to roll as next time we’regoing to concentrate on the firmware. SV

EX-106

Encoder1

EX-106 14.

4 1

.1 .14

NEW

Visual StudioMicrosoft

/ ++

Visual Basic

#

D n m

SERVO 04.2009 37

Fred Eady can be reached via email at [email protected]

Page 38: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 38/84

38 SERVO 04.2009

Part 1 introduced National InstrumentsLabVIEW software and had the reader builda very simple VI (virtual instrument).

This article will introduce National

Instrument’s most affordable computerinterfacing hardware — the USB-6008(9)data acquisition units — and show how touse the digital features of the units.

On the computer interfacing hardware side, NI offersmany options, however, at the entry level the most

affordable are the USB-6008(9) units. The USB-6008student version sells for $170 and the USB-6009 sells for$280. These two units look identical on the outside (seePhoto 1), however, the 6009 unit has several enhancedfeatures that the 6008 does not have. First, the 6009 has

a faster analog sampling rate — 48 ks/s versus 10 ks/s(thousands of samples per second). Secondly, the 6009 hasa higher resolution analog-to-digital converter (A-to-D); 14bits versus 12 bits. Thirdly, the USB-6009 digital outputs canbe set up as either push-pull or open-drain; the USB-6008digital outputs can only operate as open-drain.

I have worked with both units and believe that the lessexpensive USB-6008 will handle any task that an entry leveluser would require. Therefore, all of the examples given inthis article and those that follow will be with the USB-6008,although everything should work fine on the USB-6009.

Let’s take a closer look at all of the features availableon the units. Each is divided between an analog side and adigital side. On the digital side, they have two digital I/Oports that are CMOS, TTL, and LVTTL compatible. Port0 haseight digital terminals; P0.0 through P0.7. Port1 has fourdigital terminals; P1.0through P1.3. The 12digital I/O terminalscan be individuallyconfigured as inputs oroutputs, and as wasmentioned earlier thereis a difference between

the types of outputseach unit can provide.There is anotherterminal, PFI0, that isconnected to a 32-bitcounter that can count

COMPUTER CONTROL andDATA ACQUISITION

Part 2: An Introduction toNational Instruments USB-6008Data Acquisition Hardware

PHOTO 1 FIGURE 2

FIGURE 1

by David A. Ward

Page 39: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 39/84

signals up to 5 MHz andcan also be configured asan external trigger.

Also on the digitalside is a +2.5 VDC at 1mA terminal, a +5 VDC at200 mA, and a ground

terminal. The +2.5 VDC1 mA terminal is forcalibrating the A-to-Dchannels. On the analogside of the devices are 16terminals, as well. Thereare four analog inputports, AI0 through AI3,each with a positive,negative, and ground terminal. When these ports areconfigured as differential inputs, they have 12 or 14 bitresolution (depending on the model). When they are

configured as single-ended inputs, a total of eight individualanalog voltages can be converted at one bit less inresolution. There are also two analog output channels,AO0 and AO1; these have a 12-bit resolution and canoutput an analog voltage from 0V up to 5V at a maximumof 150 Hz. (The analog features of the unit will not becovered until Part 4 of this series.)

Before you connect the unit to your PC, you must firstinstall the NI-DAQmx drivers from the two CDs includedwith the unit. After the drivers are installed, a pop-up menushould appear when you plug the unit into a USB port onyour computer (see Figure 1). From this menu, you can testthe USB device, as well as several other choices. If you are

having problems with your unit later on, you may try toresolve these problems through this menu; for now, wewill close this pop-up menu and begin building a VI for theUSB hardware.

Build A Framework

Let’s make a simple VI that can be used to output fourdigital signals to control four LEDs connected to Port0.Begin by opening LabVIEW and selecting Blank VI. If youare having trouble starting a new VI, refer to Part 1. On the

front panel, place an array by selecting: Modern>Array,Matrix & Cluster>Array from the controls palette (see Figure2). Next, place a toggle switch in the box to the right of the

array by selecting: Express>Buttons and Switches>ToggleSwitch (see Figure 3). Now, stretch the array with thetoggle switch in it down until four toggle switches arevisible, as shown in Figure 4.

Using the pointer finger cursor, select this from thetools palette; click on the bottom toggle switch in the array.If you do this correctly, the toggle switches will changefrom a grayed-out color to a more solid color. Add astop button to the front panel at this time by selecting:Express>Buttons and Switches>Stop. Now, you will need towork in the block diagram window to complete the VI.

Write Some Code

In the block diagram window, click and drag out awhile loop by selecting: Programming>Structures>Whileloop from the functions palette. Be sure to place both thestop button and the array icons inside the while loop. Wirethe stop button to the stop icon in the lower right corner ofthe while loop. You will now need to use the DAQ Assistantto set up the USB unit for use by selecting: Express>Output>DAQ Assistant.

When you place the DAQ Assistant inside the whileloop, it will open up a series of pop-up windows to step

SERVO 04.2009 39

FIGURE 3

FIGURE 6 FIGURE 5 FIGURE 7

FIGURE 4

Page 40: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 40/84

40 SERVO 04.2009

you through theset-up process. Fromthe DAQ Assistantopening windowselect: GenerateSignals>DigitalOutput>Line Output,

as shown in Figure5. From the next window, select Port0 /Line0 thoughPort0/Line3 by holding down the control key andleft-clicking on each line (see Figure 6), then click on thefinish button.

In the final window of the DAQ Assistant, you can testeach output at the top of the window and you can alsoinvert one or more lines if desired (see Figure 7). Since theUSB-6008 digital outputs are open-drain only, they cannotsupply +5V to the terminals but only take them to ground.Therefore, the LED cathodes should be connected to theUSB terminals as shown in Figure 8. If we do not invert thelines, the LEDs will be OFF when the toggle switches are

pushed and ON when they are released — which is notwhat the user would normally expect.

To invert each of the four lines, check the invert linebox for each one separately or select all four lines byholding down the control key, then clicking on each lineand then clicking in the invert line box to invert all four atthe same time. We should be done with the DAQ Assistant

for now; press OK and you should be back inthe block diagram window.

Create Some I/O

The array of four toggle switches nowneeds to be wired to the DAQ Assistant,

but you’ll notice that the DAQ Assistant hasseveral wiring points to connect to. As youbring the wiring tool near each terminal, youshould see pop-ups showing each terminal’sname; connect the array output to the data

input of the DAQ Assistant.You will also notice arrows on the bottom of the DAQ

Assistant icon; you can drag the bottom edge of the DAQAssistant down and all of the terminal names will be visibleto you (see Figure 9). Your VI should be ready to run.As you press each toggle switch, the appropriate LEDconnected to the USB-6008 terminals should turn ON and

OFF, and pressing the stop button should put you back intothe editing mode.Now, let’s add four digital inputs to the VI. We can

connect a four position DIP switch to PORT1 lines P1.0through P1.3 (see Figure 10). The DIP switches do notrequire external pull-ups because 4.7K resistors are built intothe USB-6008(9)’s circuitry. The switches merely need toconnect the terminals to ground when they are closed.

Open another DAQ Assistant by selecting:Express>Input>DAQ Assistant from the functions palette ofthe block diagram window and place it inside the whileloop. From the DAQ Assistant windows that appear, select:Acquire Signals>Digital Input>Line Input, then select

Port1/Line0 through Port1/Line3.You can test these inputs just like the outputs from the

DAQ Assistant window and you can also invert these linesas well, so that a +5V on a terminal pin coming from anexternal switch is seen as a “0” rather than a “1.”

Notice on this DAQ Assistant the data terminal is onthe right side of the icon and is now a terminal that will

FIGURE 8

FIGURE 10

FIGURE 9

FIGURE 11 FIGURE 12

Page 41: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 41/84

output data to an indicator.Let’s add four LEDs to the front panel to display thestatus of the external DIP switches connected to theUSB-6008 unit. On the front panel, add an array again byselecting: Modern>Array Matrix…>Array from the controlspalette. Place an LED in the box on the right side of thearray by selecting: Express>LEDs>and either a square orround LED. Now, stretch the array either down or to theright until four LEDs are visible.

Now, click on the last LED with the pointer finger cur-sor to set the size of the array to four; remember that theLEDs will change from a grayed-out color to a more solidcolor when this is done correctly. Go back into the block

diagram window and wire the output of the second DAQAssistant to the input of the LED array (see Figures 11 and12). When you run the VI, you should see the LEDs turn ONand OFF as you toggle your external DIP switches.

Next Steps

We can now control external devices and acquire datafrom digital inputs, however, these must all be TTL types ofsignals at this point; that is, +5 VDC and ground. Part 3 willintroduce devices that can step these signals up to highervoltage AC and DC levels, such as 120 VAC.

The easiest way to demonstrate the 32-bit digitalcounter input will be to loop back one of the digital outputterminals (such as P0.0) to the PFI0 input; each time theP0.0 toggle button is pressed or cycled On and OFF, the

counter should increment by one. On the front panel, placeanother numeric indicator by selecting: Express>NumInds>Num Ind (see Figure 13). Now, in the block diagramplace a third DAQ Assistant by selecting:Express>Input>DAQ Assist. From the DAQ Assistantwindows that appear, select: Acquire Signals>CounterInput>Edge Count. You’ll also see other types of counteroptions such as frequency, period, etc.; however, theUSB-6008(9) units only support the edge counter option.Next, wire the data output terminal of this third DAQAssistant to the input of the numerical indicator, as shownin Figure 14.

To test your counter, you can wire the P0.0 output

terminal back into the PFI0 terminal; you will see thenumeric indicator increment each time that output isturned ON and then OFF again. You can also feed a TTLcompatible (+5V and ground) function generator output tothe PFI0 terminal on the USB-6008. You will see the numberof cycles completed as you run the VI. With a 32-bitcounter, the device can count up to 232 or 4.29 X 109

pulses.

And Coming Up...

As mentioned earlier, the next part in this series will

take what was done here and add additional externalhardware to boost the outgoing digital signals andcondition the incoming digital signals to real-world voltagessuch as 12 VDC and even 120 VAC. SV

SERVO 04.2009 41

FIGURE 13 FIGURE 14

Page 42: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 42/84

Some Insightful Thoughts

Let’s start by examining why it is hard to develop visionapplications. First, even though there are numerous low-cost cameras and web cams available, it can be difficult tocapture images from these devices into your programmingenvironment, especially if you want your programs tocontrol image acquisition in real time. It can be done, ofcourse, but generally, your programming language mustallow you to communicate with the camera’s driver.Often this means you must be able to utilize advancedprogramming constructs such

as DLLs, the Windows API, andso forth.

After acquiring the image,you will need commands formanipulating individual pixels inthe image so that appropriatevision algorithms can perform thedesired analysis. You may need,for example, routines to alter thecontrast and brightness of theacquired image. Depending onthe application, you may also

want the ability to alter theresolution of the image, convertit to black and white or grayscale, or detect the edges ofobjects in the image. It wouldalso be nice to have routines thatcan detect motion by comparingtwo consecutively capturedimages, as well as the ability totrack an object by being able tolocate specific colors in the

image. Such routines can be complex and difficult todevelop without advanced tools and programming skills.

With the release of RobotBASIC Version 3.2 (a freerobot control and simulation language), all of the abovecapabilities are within the reach of every robot enthusiast.This article will explore some of these capabilities and howthey can be used to give rudimentary vision to the puppetdiscussed in the November ‘08 issue of SERVO Magazine

(see page 36). The goal of this article is to provide a basicframework that will encourage you to experiment withrobotic vision. After demonstrating how easily the above

operations can be implemented

with RobotBASIC, we willexamine other aspects of visionwith which you can experimentfurther on your own.

Doing a Demo

In order to give visioncapabilities to the puppetmentioned above, a Creative Lab’sweb cam was added as shown inFigure 1. It resembles a miner’s

light and mounting it requiredonly a rubber band strategicallypositioned behind the puppet’sears. A better setup would be tointegrate the camera into theeye mechanism, but this simpleapproach is adequate forexperimentation.

The goal of this demonstra-tion is as follows: The puppetshould be able to detect one ofthree different objects; we used ared vegetable brush, a yellow fish

If you have ever tried to add vision to one of your

robotic projects, you probably appreciate why you

seldom see articles exploring the subject at the

hobbyist level. The ability to experiment with vision

— especially in the past — has generally only been

accessible to university researchers or the rare

hobbyists with advanced tools and capabilities.

obot Visionfor Everyone

by John Blankenship and Samuel Mishal

FIGURE 1. A webcam provides

vision for a humanoid puppet.42 SERVO 04.2009

Page 43: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 43/84

food container, and a green Christmas tree cookie cutter asshown in Figure 2. When one of the objects is detected,the puppet will track the object with its eye and headmovements. Once the object has been centered in thepuppet’s field of view, the puppet will verbally announcethe object that it sees (for example: “I see a red veggiebrush”).

In order to give the puppet more personality and toprovide feedback for the human operator, the puppet willuse its eyebrows to indicate the current visual status. Ifno object is seen, the eyebrows will lower, giving theimpression that the puppet is agitated. When an objectis spotted, the eyebrows will be raised to imitate anexpression of interest. When the object has been trackedand centered in the field of vision, the eyebrows willassume a neutral position.

The actions described above are best appreciated if

seen in real time, so we have created a video demonstrating

the puppet responding to various objects. The video is

posted on YouTube at the following link: www.youtube.com/watch?v=LwvspYFXJMM.In order to perform the desired operations, the robot’s

control program needs to locate a specific color within theimages captured by the camera on its head. Let’s assumethat we have a routine that divides an image into a 5x5grid and gives us the x,y coordinates (each of which rangefrom 0 to 4) of the sector within the image that containsthe specified color. Once we have the values for x and y,we can easily determine which way the robot should turnso as to track a desired object (color) using a statementsuch as:

if x<2 then gosub LookLeft

The LookLeft subroutine can perform any actions youwant. In our case, it raises the puppet’s eyebrows, turns theeyes left first, then the head left to creating a lifelikemovement. Our puppet’s movements are controlled byservomotors as described in the previous article.RobotBASIC provides commands for accessing serial,parallel, USB, and Bluetooth ports, though, so you canmove your robot using any motor or actuator you wish.

If we add a LookRight subroutine that is executedwhenever x>2, we have the basis for a tracking system.

Placing these two if statements within a loop will make thepuppet continue to move its head (and the camera) to theleft or right based on where the color is seen.

Similarly, if we add LookUp and LookDownsubroutines that are executed based on the value of y, ourrobot can track an object (color) both horizontally andvertically. Another if statement can determine when theobject has been centered in the field of view (when bothx and y are equal to 2) and initiate the desired actions.

In our application, we have the robot continuously lookfor all three of the previously mentioned colors and trackthe one it finds. When the color is centered in the field ofview, the puppet verbally announces the object that it sees

(based on the color that it has been tracking). The puppetcan recognize any number of objects, as long as they havedistinct colors. If, for example, the specified color is fleshtone the puppet would be able to track a face.

Command Performances

RobotBASIC makes all of the above easy to implementby providing a function to capture pictures calledCaptureImage(), and a command that can track colorscalled BmpFindClr. The parameters for BmpFindClrprovide tremendous flexibility when specifying how thesearch color should be located (all of RobotBASIC’s imageprocessing commands provide a similar flexibility). Let’sexamine the command and its parameters. The parametersin italic are optional.

BmpFindClr FileName, Color, Var1 , Var2, ClrTol, GridTol,

GridSize, ArrayVar

Parameter definitions: FileName: This is the name (and path) of the BMP image

file. If the filename is an empty string, then the file isassumed to be on the Window’s clipboard. UseRobotBASIC’s Capture functions to acquire the image.

• Color: This is the RGB color to be searched for. If youprefer, RobotBASIC has functions that allow you tospecify colors using levels of their red, green, and bluecomponents.

• Var1: This variable will be set by the command to the

SERVO 04.2009 43

FIGURE 2. The puppet can recognize and track these items by their color.

Page 44: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 44/84

44 SERVO 04.2009

sector number (0-24 for a 5x5 grid) that contains themaximum number of pixels that match (see ClrTol ) thespecified Color (or -1 if no sectors contain the color).This sector number can be converted to the x and y

parameters mentioned above as follows (for a 5x5 grid):

x = Var1 # 5, y = Var1 / 5.

Var2: This variable will be set by the command to thenumber of sectors that contain a significant number ofpixels (see GridTol ) matching the specified Color. Yourprogram can use this information as a validity indicator todecide if different tolerances should be used to acquiremore valid information.

• ClrTol : This expression should be a number from 0 to 1that sets the tolerance for deciding if two colors match.For example, if ClrTol is 0.1 then each of the RGB

components of a pixel’s color must be within ±10% ofthe components of Color to be counted as a pixel thatmatches Color.

• GridTol : This expression should be a number from 0 to 1that indicates the tolerance to be used when determining

if a sector contains enough of the specified Color to beincluded in the sector count (Var2). For example, ifGridTol is 0.1, then a sector must have 90% as manymatching pixels as the sector with the most matchingpixels (reported in Var1) if it is to be included in thesector count (Var2).

• GridSize: This expression should be a number from 3 to20 that specifies the size of the grid matrix (a value of 5indicates a 5x5 matrix).

• ArrayVar : This is a two-dimensional array (based on theselected GridSize) that provides information to facilitate

a more detailed analysis. Each of the elements in the

FIGURE 3. Motion can be detected by comparing two images.

FIGURE 4. RobotBASIC provides many commands to process your images.

Page 45: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 45/84

array will be populated with the number of pixels withinthe corresponding sector that match the specified Color.

The parameters for BmpFindClr allow objects to betracked in a wide variety of situations using only a few linesof code, as described earlier. As your applications get morecomplex though, additional commands might be needed.

Let’s look at some examples to illustrate this point.

Getting Complicated

When the lighting in the room where a robot isoperating changes, the brightness and contrast of thecaptured images will change. RobotBASIC providescommands that copy pixel information from an imageinto an array and commands that calculate the standarddeviation and average of the data in an array. Thesestatistics provide an indication of the average contrastand brightness, enabling you to create more robust

algorithms that allow your robot to work in a changingenvironment. For example, if your program determinesand saves the average contrast and brightness of theimage it expects to process, then in the future when animage is captured that is significantly different in brightnessor contrast, it can be processed (using the RobotBASICcommands BmpRGB and BmpContrast) to make it abetter match.

For another exam-ple, let’s assume youwant to track a movingobject of an unknowncolor. The RobotBASIC

command BmpCompareallows you to comparetwo images and create anew black and whiteimage with the whiteareas indicating wherethe images weredifferent (see Figure 3).The BmpFindClr

command discussedearlier can then be used(searching for WHITE)

to find the grid sectorsrepresenting themovement. If you wantto experiment withmore complex visionalgorithms, thenRobotBASIC can stillassist you. There are

commands, for example, that alter contrast andbrightness, reduce resolution, find the edges in an image,and convert it to black and white or a gray scale (seeFigure 4). If you want to create your own image processingalgorithms, RobotBASIC has commands to create a disk filecontaining the pixel information generated by any of itsinternal commands. You can then spawn a specialized

program that you have written in the language of yourchoice to process the data as you wish before passingappropriate information back to RobotBASIC via a disk file.

Final Insights

n conclusion, RobotBASIC provides a platform forallowing the average hobbyist to add vision to their roboticapplications. Since most hobbyists have limited experiencewith vision, we have written a demo program (see Figure 5)that allows you to perform most of the image processingoperations discussed in this article on any BMP files,

allowing you to try different approaches to see what worksbefore you start coding. You can download the demoprogram and the vision program demonstrated in theYouTube video (along with your copy of RobotBASIC) fromwww.RobotBASIC.com.

The new version of RobotBASIC provides tools thatallow hobbyists at any level of experience to readily andeasily experiment with robotic vision. SV

FIGURE 5. This program demonstrates many of

the vision and image processing commands available in the latest

version of RobotBASIC.SERVO 04.2009 45

Page 46: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 46/84

The terrain is fairly flat, which is a good thing forforestry and forest machines. The mean temperaturesgo down to -5.7°C in February and in July +17°C. This

climate is good for the four main tree species in Finland.Nearly 50% of the timber consists of pine, the other three

common species are spruce, downy birch, and silver birch (3).Forestry has long roots in the history of Finland and

wood and paper products have the third biggest exportshare with about 20.3% of the total export. Forestresearch is also at a high level in Finland and, for example,

the soil type of most of the forests is known. (1)

The Forestrix Project

As forest industry is moving towards more automated

machines and efficient production control, there is agrowing interest on data gathering from inside the forests.The traditional way of manual or aerial measurements hasstrict limitations on what kind of data can be gathered andhow accurately. So, what does this have to do with robots?

The motivation for this project is twofold andboth of the sides are heavily related to the applicationof sensor technology. The first motivation relates toknowledge that can be gathered while movingthrough the forest. The trees that are left standingcan be mapped and many kind of statistics can begathered. When the structure of the soil of the

specific forest lot is known, this measurementinformation can be very useful in forest managementand planning. The information gathered during thethinning can be valuable when evaluating when thefinal harvest should be made and what kind of woodmaterial can be expected from it.

The other part of the motivation relates to thehuman aspect of forest machine operation. Forestmachines are difficult to control and operator trainingis time-consuming and expensive. The workingconditions can also be very exhausting to the opera-tor. Long work shifts, repetitive movements, and therelentless concentration can be very wearing in theFIGURE 1. Ponsse forest harvester.

Finland — the land of a thousand lakes and forests — is located in northern Europe. Water

covers 10% of the total area of 338,000 square kilometers, and forests cover up to three fourthsof the area. The country is the most forested one in Europe. The population totals approx.

5.3 million and in every square kilometer there lives approx. 15.5 inhabitants in average (1).

In the US, for example, there are approx. 30.6 inhabitants per square kilometer (2).

46 SERVO 04.2009

by Jaakko Jutila

Page 47: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 47/84

long run. The burden of the operator could be lightened byincreasing the automation level of the forest machine. Thiscould mean, for example, that the control of the cranewould be partly automated. The operator could just indicatewhich tree to cut and the crane would automatically graspit. This would give the operator the chance to better utilizehis greatest strength, which is the expertise about the trees.

Increased automation would also make the job easier andthe training period could be shortened for new operators.

The Forestrix project studies advanced sensor systemsfor forest harvesters. One of the sensors used is a scanninglaser range finder (henceforth, a laser scanner). As themachine is moving in the forest, the laser scanner can takemultiple scans of the trees it passes from different directions.

In the Forestrix project, the laser scanner is used fortree measurement and mapping, and simultaneouslocalization and mapping (SLAM). In robotics, SLAM is usedfor solving a chicken and egg problem: When the robotmoves in an unknown environment, it has to create a map

of the environment on the one hand, and localize itselfwithin the same map on the other.The standard practice for the height of the tree

diameter measurement is equal to 1.3 meters above theground. When having only one static 2D laser scanneronboard, it is impossible to determine the measurementheight without any kind of terrain model. Such a modelwas not available at the time and therefore we had tosettle for an approximation with the measurement height.

In the mapping, a GPS receiver was tried for localizingthe measurement platform. However, the thick foliage ofthe forest prevents a continuous GPS fix and thus pushed usto use some other method for localization. SLAM methods

normally require good landmarks in the environment and, inthis case, the trees in the forest are ideal for that purpose.

Hardware

Obviously, it would have been too expensive to have agenuine harvester laying in the backyard of our laboratoryduring the whole project (Figure 1). For that reason, weequipped a Honda ATV (Figure 2) with the necessary sensorsand other equipment for the various stages of the project.The requirements for the platform in this particular casewere an adequate ability to carry measurement equipment

and the capability to maintain a steady and low locomo-tion velocity since the forest terrain is uneven. Plus,vertical smoothness while moving was also required.

We used a SICK 2D laser range finder as theprimary sensor. We mounted the scanner in front of themeasurement platform. It is used continuously at ameasurement rate of 38 Hz. Additionally, a 3D laserrange finder is used, but only for reference measure-ments and only when the measurement platform is in astationary state. On the platform, a data acquisition PCis also installed. The measurement data are collectedthrough serial connection and stored in numerical formto files. The measurement platform includes batteries

for a 24V electric system utilized by the measurementdevices. An inverter is included for providing 230 VACfor the PC which performs the data acquisition with aconventional Windows XP operating system. The actualdata acquisition software is programmed with C++language. A brute user interface of the program is used tocontrol measurement devices and data storing process.

Software

The tree map is created by using the SLAM algorithm.We’ll discuss the operation of the tree measurementalgorithm shortly. They work independently but the treemeasurement information is added to the map in everycycle of the algorithms. The overall structure of thefeature-based SLAM algorithm is shown in Figure 3.

FIGURE 2. Honda ATV used in testing the system.

FIGURE 3. The structure of the Forestrix SLAM algorithm.

SERVO 04.2009 47

Navigation and Tree Measurement

Page 48: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 48/84

The SLAM is based on the raw 2D laser scanner data.

The first step is the feature extraction. In this application,the features are the surrounding trees. The tree featuresidentified from a single scan are called echoes due to theiruncertain nature. In a clean forest with little or no under-brush, it is a relatively simple task to find the tree trunksfrom the raw laser scans. This is done in the second step.

An example scan and its segmentation are shown inFigure 4. However, in more dense forests, finding the trunkscan be extremely difficult, if not impossible. The densevegetation drastically reduces the effective measurementrange. Even in relatively clean forests, the blind areasbehind the nearest trunks can be substantial.

Instead of trying to identify individual trees, it is better

to identify groups of trees. These groups are identified inthe third step. The tree groups offer a variety of featuresthat can be used for identification: distances and anglesbetween adjacent trees, and trunk diameters.

One of the central challenges in this approach is thatthe tree groups are not constant. Depending on the current

position, not all trees may be visible. The matching ofechoes to the tree map is done in the fourth step. After theechoes have been matched to the trees, a simple algorithmis used to estimate the new pose.

First, the “centers of gravities” of both set of points are

calculated and the echo set is then translated so that theCoGs coincide. Second, the average angle between allecho-tree pairs is calculated and the echo set is then rotatedby this angle. Care should be taken that all the angles arecalculated on the correct cycle. This algorithm is based onthe realistic assumption that the subsequent scans differonly by a translation and a rotation.

In the final phases, the echoes are projected to mapcoordinates. At this point, they are classified either as newor old trees. New trees are added to the tree graph anddiameter information is accumulated to the old trees.The closer the scan is taken, the better the diameter

information. New edges are also inserted into the treegraph and old edges are updated to reflect this. Currently,only the distances between the trees are recorded but laterangles will be used, as well.

One of the problems of this algorithm is that it makesthe optimistic assumption that all echoes really are trees.This helps the algorithm to acquire new trees and to keepgoing, but if echoes of branches are falsely interpreted astrees they will be added permanently to the tree map. Tosolve this problem, another algorithm was added to removefalse positives from the tree map.

The algorithm works by projecting laser scans to mapcoordinates and then using a collision detection algorithm

to find intersections between the “rays” and the trees in themap. If there are more rays passing through a tree thanthere are valid measurements of that tree, the tree isremoved from the map. This second algorithm was addedas an afterthought and it reflects the inability of the firstalgorithm to record what is sometimes referred to as

negative information. Future improvementsof the algorithm may use local occupancygrids to keep track of areas that are knownto be free of trees.

The calculation of the tree parametersis divided into two consecutive phases. The

first part deals with the method used forfeature extraction in the measurementdata. The second phase contains thedetermination of the midpoint location andtrunk diameter. These methods provide onlythe relative location between the trees andthe measurement device.

The feature extraction can furthermorebe divided into two consecutive parts:clustering and validation. A straightforwardclustering algorithm is used in this casewhen the points representing objects areeasily distinguishable. The clustering

48 SERVO 04.2009

Navigation and Tree Measurement FIGURE 4. The date of one laser scan in a forest for which the tree segmentation is done.

FIGURE 5. Tree map and the route created by the SLAM algorithm.

Page 49: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 49/84

algorithm handles the distinct tree features in most caseswith sufficient certainty.

While performing the scan depicted in Figure 4, thescanner has not been level with the ground. In the right-hand side of the figure, a set of large clusters can be seen.These represent the points where the laser beams have hitthe ground. The algorithm is tuned in a way that thesekinds of outlier points are discarded. The algorithm is quitepicky with the discarding, as was the intention. Only themost definite features are accepted as trees. This way, someactual tree features are dropped but now we can be sure

that every passed feature is truly a valid one and itsparameters can be calculated.

Results and Conclusions

The current version of the SLAM software is written inthe Java programming language. The software can readinput data either from data files or from the actual sensors.The data files are essential for testing the system in alaboratory environment. The software can connect to the2D laser scanner and the DGPS receiver. The SLAMpath can be matched to the DGPS path. As a result, thealgorithm also gives the tree positions in absolute map

coordinates. The measured tree diameters are then storedin the tree map. The resulting absolute accuracy is mostlylimited by the DGPS receiver.

A tree map produced by Forestrix SLAM is shown inFigure 5. The DGPS path is marked with a narrow line andthe SLAM path is drawn with a bold line. Measured treepositions are also shown. These positions and diameterscan be compared to hand-measured tree informationprovided by METLA (Finnish Forest Research Institute).

During the experimental drive, a total of 277 treeswere observed. The testing environment is depicted inFigure 6. At a measurement distance of 1 m, the maximum

observed diameter error is 1 mm. The error increaseslinearly with distance up to 10 m, where it is 6 mm. Afterthat, the error increases more rapidly.

The current algorithms implemented in Java run some-what slower in modern laptop computers than what is requiredfor real-time applications. Some parts of the presentedSLAM algorithm can be easily tuned for better performance.Java is a safe language which makes it easy to programwith, but it is not the best programming language perform-ance-wise. Also, interfacing it with exotic hardware such as2D laser scanners can be difficult. C++ implementation mayhave to be considered in later phases of the project.

A forest is a very tough environment for precision

instruments. Luckily, there are 2D laser scanners and DGPSreceivers that are designed for outdoor use. The forestterrain is often quite rough, which adds additionalchallenges for the sensor system. It may be necessary to tiltthe sensor package when the harvester is working in aninclined position or traversing slopes. More developmentwork is needed to find better solutions to the associationproblem. The current system works well for small loops (50m x 100 m). However, the accumulation of errors may be aproblem for larger loops. Identifying trees may also be aproblem in more dense and cluttered forest environments.Digital forest imaging has turned out to be a verychallenging research area, but it is essential for future forest

mapping systems which will require features such as treespecies recognition. Digital imaging systems have the abilityto see textures and other tree qualities that laser scannerscannot perceive. SV

SERVO 04.2009 49

Navigation and Tree Measurement

FIGURE 6. One of the experimental environments in a pine forest.

(1) Virtual Finland: Finland at a glance. [Online] [Referencedon: 8. August 2007.] http://virtual.finland.fi/netcomm/news/showarticle.asp?intNWSAID=24856.

(2) The World Factbook. [Online] Central Intelligence Agency,16. August 2007. [Referenced on: 31. August 2007.] www.cia.

gov/library/publications/the-world-factbook/geos/us.html.(3) forest.fi. [Online] Finnish Forest Association. [Referencedon: 8. August 2007.] www.forest.fi/smyforest/foresteng.nsf/allbyid/BE3C5576C911F822C2256F3100418AFD?Opendocument.

(4) Tree Measurement in Forest by 2D Laser Scanning. Jutila,Jaakko; Kannas, Kosti and Visala, Arto. Jaksonville, FL, 2007.International Symposium on Computational Intelligence inRobotics and Automation, CIRA.

(5) Tree Measurement and Simultaneous Localization andMapping System for Forest Harvesters. Öhman, Matti & al.Chamonix, 2007. The 6th International Conference on Fieldand Service Robotics.

References

The forestrix project was funded by the Finnish Funding Agency for Technology and Innovation (TEKES) and participatingcompanies. The description of the project is based on twoconference publications authored by the Forestrix team (4), (5).

For Your Info

Page 50: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 50/84

Thanks to major advances in H-bridge power FET tech-

nology, current handling is no longer problematic. Thisarticle examines the Allegro A3950 DC motor controllerand details how it can be interfaced to a microcontroller.

The A3950

Allegro Micro’s A3950 is a single H-bridge DC motorcontroller capable of delivering up to 2.8A of current in bothdirections with up to 36V input voltage. Controlling the motorcould not be easier. Two main signals — ENABLE and PHASE— control speed and motor rotation direction, respectively.

An open collector output — the NFAULT pin — offersinformation on when the H-bridge has become non-operational

due to faults such as shorts to ground or power plane, aswell as the device becoming too hot (thermal shutdown).

This NFAULT signal is tied to a rather well designedlogic which protects the device against most harmful condi-tions such as the mentioned shorts. Now you can feel safeabout mis-wiring your motor. I have tried a good deal ofcombinations and all of them resulted in the device shuttingdown and protecting itself until the short was removed.

Other important signals to understand include SLEEP,which considerably limits device total current consumptionwhen the H-bridge is unutilized, to less than 10 uA. This is apriceless feature when dealing with battery saving modes.

The MODE pin selects from different current recircula-

tion modes. This comes in handy when wanting to stop themotor really fast (a.k.a., brake). For braking, MODE must beHI, in which case a slow decay mode is selected. During thisconfiguration, the motor winding back EMF is shorted,causing the braking to occur. Otherwise, during MODE LOor fast decay, the motor coasts down as it is disabled.

How Powerful is the A3950?

For being a small IC housed on a SOIC16 package witha bottom heatsinking pad, the device is impressively power-ful; 2.8A of current at 36V translates to 100.8W of powerinto the motor load. If that is not enough, stay tuned for a

little trick on how to double this.How can such a small package provide such a large

power range? There are two important details. First is thevery low RDS_ON parameter on the A3950 FETs. Combined,the path resistance is about 650 megohms at roomtemperature. Power dissipated on the chip is then around5.096W (2.8A * 2.8A * .65Ω = 5.096W).

Granted that 5W is a pretty large amount of power tobe dissipated as heat on any IC. In order to help against thiscumbersome and unwanted heat generation, Allegro Microhas installed the device on a package with a heat slug on thebottom of the package. For this to work, PCB (printed circuit

board) design must take this into consideration and offerenough copper space to act as a heatsink. Fortunately, anylarge copper area spreading into both top and bottom PCBlayers seems to be sufficient. A good deal of vias (betweenfive and 10) should be used to connect both copper fills.

The Design

I wanted my DC motor controller to be as small as possible.The idea was to allow for the controller to be used on smallrobots, as well as large ones. I was able to cram all the externalcomponents into a board as small as 1” by 1”, and there wasstill room for improvement. This also makes the bare board

DC motors are plentiful. My favorite source for heavyweight robotics projects

is electric scooters. A motor capable of transporting a 250 pound human can

move a lot of robot. However, DC motors require significant current handling

at startup, and during increased load conditions and direction reversal.

A3950 DC Motor Controller

Tips and Tricks

50 SERVO 04.2009

by Jose I Quinones

PHOTO 1

Page 51: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 51/84

considerably cheaper, which was another requirementas I intended to buy them by the dozens. Myhypothesis is that by parallelizing these boardstogether, a higher amperage rating could be obtained.

As you can see in Photo 1, the controller is notonly tiny but the component count is considerablysmall. In reality, there is no need for much moreas the motor driver itself is packaged on the tiny

16-pin SOIC package.The controller has all the capacitors needed for

the charge pump (the H-bridge uses four N-channelpower MOSFET transistors and a higher internalvoltage is generated to enable the high side drivers),the bulk capacitance for high current transient man-agement — especially when the motor changes direction— and the internal regulator voltage bypass capacitor.

A sense resistor allows for a current max to be set.A zero ohm resistor signals the device to limit currentto at least 2.8A. That’s a lot of juice! If you wantto limit the current to less than 2.8A, place a resistor such

that the voltage at the SENSE pin is 500 mV. The equation is:

RSENSE =500 mV

DesiredCurrent(mA)

Four pads (J2 through J5) allow for battery power andmotor leads to be soldered. A six-pin connector (J1) offersthe inputs and outputs necessary for the microcontrollerapplication to interface (FAULT, MODE, ENABLE, SLEEP,PHASE, and GROUND).

Table 1 shows the connections to power supply, motorand microcontroller signals.

Figure 1 Shows the DC motor controller Block Diagram

and the connections needed to be made. Any microcon-troller should be able to tackle on the task of sending thesesignals and reading the NFAULT output. I decided to leavethe NFAULT disconnected for early tests, but will definitelyuse this feature as a trouble shooting tool on later projects.

Do be warned that I have found the NFAULT to getasserted a few times when the motor starts as the largeinrush current is bound to be seen as a short. It is a matterof learning how much time the particular motor needs tostart and ignore these NFAULT triggers for that time.Depending on the motor, you may see some of theseNFAULT pulses when the motor switches direction, in which

case the firmware must take this fact into account, as well.Artwork used to generate the board can be down-

loaded from my website at www.avayanelectronics.com

or from the SERVO website at www.servomagazine.com.I usually post firmware and other details, as well.

Figure 2 shows the schematic for the entire controllerdesign. Six passive components, a chip, and a bare boardoffer a low count.

More Current!

For larger or heavily loaded DC motors, 2.8A of currentmay not be enough. However, what if we could add more

controllers in parallel and increase current capability?

I found the A3950 to allow for this enhanced powerpotential by plugging two controllers in parallel.There are various ways of attaching the two controllers

in parallel. I tried three different venues and the cleanest isshown in Photo 2. The item to look for is cable length. I amnot certain what would happen if cables are grossly differentin length, other than possibly inducing some fault on one ofthe controllers if the signals do get out of phase. However,with cables the same size, I was able to control the motorwith two controllers in the same fashion as I had done withone with an added plus, that is a twofold increase in current!

H-bridges are nothing but controlled resistances. It is

SERVO 04.2009 51

FIGURE 1

Connector Name Description

J1:1MotorFault

Connected to the NFault pin. Needs to be pulledup to rail (3.3V or 5V, depending on system).

J1:2 MODE Controls current decay modes (fast vs. slow)

J1:3 PHASE Controls direction

J1:4 SLEEP Allows for very little current consumption whenon sleep mode

J1:5 ENABLE Enable/Disable and/or speed control if PWM’d

J1:6 GND Microcontroller Ground

J2 V+ Solder Motor Battery Positive Terminal (8V to 36V)

J3 GND Solder Motor Battery Ground Terminal

J4 A Solder Motor Positive Terminal

J5 B Solder Motor Negative Terminal

TABLE 1

Page 52: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 52/84

not to our dismay that if you place two resistors in parallel,current should double. In essence, each H-bridge is capableof handling the 2.8A max before shutting down, allowingme to reach the 5A mark. I corroborated this fact in twoways: with a DC motor and with a power resistor.

With a motor, it is very hard to see the maximumcurrent if the motor is not large enough. Plus, even if youstall a large motor, once the inductance field is maximized,the rotor is now seen as a low impedance short. So,whatever current you get that’s it. What I did to look for adifference was to switch PHASE very fast. When this isdone, the inrush current is at its worst since the charged

inductor will act as a load opposing the power supply.To the eyes of the controller, this current inrush may

reach its limit, in which case the H-bridge will be tri-stated.After some time (defined by tOCP = 1.2 ms as stated onthe A3950 datasheet), the device retries and continuesapplying current until the max is found again.

Using a current probe, I was able to count the numberof retries and found this number to be considerably higherwith a single controller than with the parallelized version.Photo 3 shows what I mean. Note that for the singlecontroller, the number of pulses is twice that as with theparallel controller. At the same time, the width of eachpulse is about half for the single controller when compared

to the parallel controller. Also, the maximum peak is higheron the parallel controller than on the single controller.

The second test consisted of applying a power resistoras a load instead of a DC motor. Since the high speedtransient is eliminated from the picture, we can better seethe current driven being twice on the parallel version whencompared to the single controller version. To do this, I used

a 5W power resistor. At 24V, this resistor draws a 4.8Acurrent. If my theory is correct, the single controller will notbe able to drive this load, while the parallel version will.Photo 4 shows the theory to be correct.

Once again, I used a current probe to measure theloading. My theory was proven when I saw the squarewave on the single controller but a steady 4.8A DC linewith the parallel version. The scope capture, on the otherhand, shows a current closer to 4.2A, than 4.8A. I takeadvantage of this finding to impart a very important factabout H-bridges and RDS ON.

When you first enable the H-bridge and the FETs arecold, the RDS ON is as we explained earlier. However, it is a

52 SERVO 04.2009

PHOTO 2

FIGURE 2

Page 53: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 53/84

law of physics that material’s resistance increases with anincrease in temperature. Due to the I2R power dissipation

on these FETs when current is flowing, temperature willincrease. This is why you will see current flowing at 4.8Afirst, but quickly settling at something smaller.

That being said, it is imperative to realize that these H-bridges are rated to a maximum of 2.8A, but are not meant torun at that current level for an undetermined amount of time.You should expect to see thermal shutdown trigger eventually.The solution is to PWM the H-bridge at some duty cycle less than100%. This will allow larger peaks to be delivered to the load.

In theory, we can add more H-bridges in parallel andincrease the current even more, but although possible, I wouldrather use a different venue. Still, I am glad the A3950stood up to the parallel test, which means my latest robot

will soon be strolling down my kitchen and scaring the cat.

Future Revisions

After designing this little controller, I came to a seriesof realizations on how it could be improved. First, the size isabout right, but there is certainly lots of room to make it even

smaller. Currently, I am working on a release which willcompress the board to 1” by 0.8” — perfect for tiny robots!

The solder pads are perfect for soldering battery andmotor wires. However, when parallelizing controllers, this isnot necessarily the best option. I am working on a way forthe boards to be assembled together into a larger unit.Getting more current should be a clean solution, not a wiremess which complicates things.

Conclusion

The amount of DC motor controllers on the market isstaggering. I have found the A3950 to be so versatile andeconomical, I believe it should be the solution for agreat deal of small to medium sized DC motor control

applications. The device could not be easier to use. Withvery little effort, you should be polarizing DC motors at allspeeds and both directions. Thanks to its increased currentcapability and small size, it is very easy to group thesedevices together and get more power. I definitely will beusing these little devices on most of my future DC motorprojects! SV

SERVO 04.2009 53

PHOTO 3

PHOTO 4

Page 54: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 54/84

digital servo specifications. Requires only one Propeller cog, leaving the other

seven for development.• Fully documented in code comments.

Cost for a single license to run 16 servos on theParallax Propeller chip, is $20.

Static RAM MemoryExpansion Kit

Another new product from Machine IntelligenceTechnologies is a memory expansion kit for the

Parallax Propeller.This memory expansion kit supports a five megabyte

block transfer rate and can be used to store programoverlays for the cogs, overlays for Spin code, and large,fast, bulk data access.

The Memory Expansion Kit expands the Propeller’s32 Kb internal static RAM. It allows the Propeller tonatively address from 512 Kb additional static RAM up to16 Mb additional static RAM.

• There is minimum program overhead.• It requires only four instructions per byte transferred.

• It boasts a transfer rate of 5 Mb per second.• It can store anything from data to executable Spin

programs to cog programs.• It uses the Euro Card standard.• It can store the 16 instruction RISC emulator package

under development to run on the Propeller chip.• It will support up to eight Propeller processors on our

proprietary Corpus Collosum Bus (currently underdevelopment).

• All external devices such as memory, servos, gigabyteUSB memory devices, etc., may be accessed from anyPropeller chip in the system.

• Further development in the near future includesadding up to 16 gigabytes of non-volatile RAMaccessed via USB 2.0.

For further information on these three items, pleasecontact:

Website: www.www.machineinteltech.com

Machine IntelligenceTechnologies

New Products

54 SERVO 04.2009

What’s the difference?

< Order your FREE catalog today at www.Jameco.com/Price

• Over 100,000 skus

• 99% of catalog products are in stock right now

• Low price guarantee

Electronic components work no matter what price you pay. Jameco carries everything you expect at prices below what others charge.

But the price savings don’t stop there. Jameco offers additional savings with its array of house brand and factory-overrun products.

Price!

The Jameco difference begins with the industry’s highest quality catalog

and is backed by the industry’s longest warranty plus much more.

1-800-831-4242

Continued from page 20

Is your product innovative, less expensive, more functional, or just plain cool? If you have a new product that you wouldlike us to run in our New Products section, please emaila short description (300-500 words) and a photo of yourproduct to: [email protected]

Page 55: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 55/84

material on the next charge cycle.

Even if all cells stay below 100% DOD, at the end of

the run the bottom cells will be at a much lower state ofcharge than the top cells. When they are charged, the

lower cells will never get back to the same state of charge

as the top cells; that is, they will not reach full charge

before the charger turns off. Over time, the bottom cells

will develop a substantial voltage (charge) difference from

the top cells, and this just exacerbates the problem of

driving the bottom cells past 100% DOD. So at the very

least, these batteries will have a very short life.

Zac should be using an undervoltage/overvoltage/overcurrent

protection circuit, as recommended by the battery

manufacturer. Failing that, at the very least he should treat

these as two completely separate packs when he charges

them. Charge the bottom two cells as a two-cell pack, then

charge the top three cells as a 3-cell pack — in both cases,

using an appropriate automatic LiFeO2 charger. At least

that way, the cells will all get back to 100% charge before

a match.

I strongly suggest you print some sort of clarification to

prevent your readers from putting their very expensive

batteries — and perhaps more — at risk due to this incorrect

application of these cells.

Mark Lewus

Response:

I'm glad you have voiced your concerns. Safety isalways the first consideration in any

project that deals with this kind of

power, and mistreatment of any of a

number of parts in these machines

can result in expensive or dangerous

problems. All of your concerns are

very real possibilities if the batteries

are undersized for a project, so I'd

like to provide some better data on

the loads in my system to alleviate

some of your worry.

The weapon in Scurrie drawsapproximately 35 amps when the

disk is initially started and it tapers

off to somewhere between five and

10 amps while the disk is cruising.

Certainly repeated starts and

additional resistance in the system

caused by bent and worn parts can

make these numbers higher through

a competition, but they are well

below the ratings for the cells.

As you mentioned, the lower

two cells of the battery system are additionally loaded by

the drive system, and so will be discharged more than the

upper three cells. The drive system pulls approximately another 15 amps when initially starting or pushing against

another robot. This load brings the total peak current draw

to approximately 50 amps — a number that is considerably

lower than the continuous current rating of the cells.

The speed controller that is running the weapon has

built-in protection from excessive voltage drop, and the

drive speed controllers have both thermal and current

limiting built into them. I actually competed with this robot

again recently and even in the five minute long “rumble”

with multiple other machines in the arena, the lower two

batteries were only about half discharged.

In a typical three minute match, I draw between 800

and 1,000 milli-amp hours from the two-cell pack. The cells

are not even warm, and I always charge the two- and

three-cell packs separately. I always use a balancing

connector so that the cell voltages are all as close to each

other as possible.

This new battery technology is, of course, not a toy

and should always be treated with great care. If treated

correctly though, the batteries from A123 Systems can

provide a great weight savings over traditional Nickel-based

packs while providing added safety over Lithium Polymer

packs. I am very glad you read the article and I appreciate

your concerns.

Zac O’Donnell

continued from page 7

SERVO 04.2009 55

Page 56: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 56/84

NABGO is the North American Big Gun Open — anpen competition for 1/144 scale model warships in the Big

un format, originally founded by the North Texas Battle

roup (www.ntxbg.org). It is a multi-day event held in

uly each year at Star Brand Ranch Executive Retreat

www.starbrandranch.com ) in Kaufman, TX, commonly

onsisting of three major segments and is currently the only

ational Big Gun Model Warship Combat event in North

America. The Big Gun Model Warship Combat World

hampionships, founded by the Australian Battle Group

www.AusBG.org), were hosted by NABGO for

008 with permission of the AusBG, resulting in

ouble titles for the medal winners this year.

In general, when and if damage is counted,

is in the form AA/OO/BB PP R, for each sortie

made where AA = holes on/above the waterline

n the gray), OO = holes at the waterline (on the

boot" or black line), BB = holes below the water-

ne (in the red), PP = points scored due to dam-

ge, and R = result other than returning to port

S for sunk, L for lost, etc.)

The three major events are: Cargo is King,YOB, and The Texas Cage Match.

Cargo is KingGenerally, the first major battle event of NABGO, Carg

is King is a scenario battle where only the cargo runs com

pleted count toward which side wins or loses — not sinks,

not holes (sinks and holes are counted for other awards,

like Most Damaged Without Sinking, but not for the sce-

nario score). It was originally conceived as a "low damage

event, but turned out to be high carnage, with skippers

putting their ships at great risk to ensure the cargo made

through.

2 8 IN A NUTSHELL

56 SERVO 04.2009

Page 57: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 57/84

YOB

Usually the full battle day consisting of multiple sorties,

YOB — or Bring Your Own Battle (Plan) — is a flex-day,

where the available skippers decide by consensus what the

ay's plan will consist of. This year, there were two sorties

y normal NTXBG standards and a third under Western

Warships Combat Club custom (much shorter sorties, differ-

nt rules as to ships counted lost, etc.)

he Texas Cage Match

Many rules are reversed for this Last-Man Standing

vent. It is every ship for itself, as the rule that there is noring in port becomes all ships sequestered in port and all

ombat takes place in the port basin. Battle reverse is

lowed, as there is not room to turn. After the first reload,

he rate of fire restrictions are often lifted. It is a wild and

woolly shoot-out in a small corral.

We did have some of the NAMBA Thunderboats racers

om the Cedar Creek area come by to watch.

A few highlights of NABGO 2008:

• Our first hosting of the AusBG's Big Gun Model

Warship Combat World Championships at NABGO

• Our youngest armed captain ever: Charlie Webste

age 10.

• Our oldest battler ever: Dr. Bob Fristrom, age 87.

• Our farthest traveled battler ever: over 1,600 mile

• Most captains and ships attending.

• Smallest ship in the Texas Cage match (USS

Reluctant, also the first sunk, too).

• Youngest ship in the Texas Cage Match (built tha

week, the Lutzow, was "commissioned" on Friday,battled all weekend, and still finished second in th

cage match on Sunday against several much large

more heavily armed ships).

• First time in the history of NABGO that Axis won

all (or, for that matter, any) team competitions an

this in spite of having two rookie captains and

one untested battleship built on-site the week

of the event.

SERVO 04.2009 5

Page 58: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 58/84

58 SERVO 04.2009

his month, we have the pleasureof presenting another robot kitfrom esteemed Korean company

Robotis, who brought us theincredible Dynamixel and Bioloid. Thekit is the Ollo Bug — a kit targeted at

that elusive demographic of youngbudding roboticists. Inspiringyoungsters to become interested inscience and technology is anadmirable goal, but it is a competitiveniche already dominated by the LEGO

Mindstorms and NXT kits. Does thebug have what it takes to carve out asegment in this competitive market?To test the mettle of the Ollo Bugs,we’ve set up a scenario worthy of aDick Francis novel – our little bugs willcompete in an adrenaline-pumping,

line-following race against another tinyopponent, our Dad’s OOPIC Mark IIIrobot. Will the bugs be ready for raceday, or will malevolent forces crushtheir chances for a successful run inthe United States? Will the kid friendly

robots hold their own against thesophisticated veteran? Put away thebug spray and read on to find out!

Twice Fly

The Ollo Bugs are part of a larger

Ollo system, with the interestingmoniker supposedly a portmanteau ofthe words “all” and “robot” becausethe Ollo kit purports to allow tinkerersto build any robot that can springfrom their imagination.

THIS MONTH:

Bug Sport

F IGURE 2. OLLO BUG P ARTS. F IGURE 3. OLLO RIVETS AND SLEEVES.

F IGURE 1.T HE OLLO BUG K IT .

Page 59: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 59/84

They immediately jump out at youfrom the moment you see the boxbecause of their brightcolors and charming cartoonishappearance. Opening the box revealsthat the parts are divided into plasticbags for sorting. The kit also

contains an instruction manual anda mix and match line-following track.A fold-out pamphlet shows how toget started with the bugs right away,and it details some of the excitingadd-ons not present in the original kit.

Our first order of business was topop open the parts bags to see whatwe were dealing with. The targetaudience of the Ollo Bugs invites acomparison to the LEGO Mindstormskits, and as we sifted through the

parts we remembered the anticipationand excitement of our initialintroduction to the world of kidfriendly robots.

The kit itself is comprised of twoclasses of parts. One contains themain structural pieces, which areplastic plates choc full of holes thatcome in a variety of shapes and sizes.The other type is the unique kindof fastener, referred to in the kitliterature as a sleeve and rivet system.

LEGOs have become famous for

their ingeniously simple mechanismthat is literally the building block ofthe brand – the classic dimples. Wouldthe Ollo kit have a similarly innovativemechanism to make kit building easyand fun? The folks at Robotis have

certainly made an admirable effortwith the unusual rivet and sleevesystem. The color coding on the rivetsrefer to different lengths and sizes ofrivets, and the bright colors make theright parts easy to find quickly.

The Ollo kit comes with a special

tool for the removal of the rivets. Therivets can usually be inserted by handeasily, but removal is a bit moredifficult. The removal tool —reminiscent of the sharp end of aclaw hammer, does actually make theprocess relatively painless.

The instruction manual for thebugs is mercifully devoid of writteninstructions, and instead relies ondetailed three dimensional modelsto communicate the process ofconstructing the robot. The

instructions alert the builder to thetype and number of each partrequired for each step beforehand,and the colorful models are fairly easyto read. There can be some difficultywhen dealing with parts that demand

a large number of rivets because itcan be confusing to keep track ofwhere they are supposed to go, buta careful accounting of the holes is a

surefire strategy for success.The instruction manual givesdirections on how to build fourdifferent creepy crawlies: a ladybug, agrasshopper, an Atlas beetle, and amysterious weevil looking creature.All of the bugs except for thegrasshopper start from a commonbase, so we decided to build that first.We soon discovered that reaching intothe parts bags for a specific piece wasa tedious test of dexterity, so weemptied out the bags into the open

Ollo Bug box for easy retrieval.

For Ticks

The Ollo Bugs’ box declares thatthe kits are suitable for ages 10 and

Bug Sport

F IGURE 4. T HE OLLOW BUG MOTOR. F IGURE 5. T HE OLLO BUG INSTRUCTION

M ANUAL.

F IGURE 7. T HE OLLO BUG B ASE.F IGURE 6. T HE OLLO BUG BRAIN.

SERVO 04.2009 59

Page 60: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 60/84

win T weaks .

up, and the engaging construction ofthe bugs is sure to capture the atten-tion of even the most distractedyoungsters. The basic shapes of thebugs are simple, and they begin to

look like creepy crawlies in no time.The Ollo Bugs also galvanize theimagination by their originality – onedetail that immediately sets the OlloBugs apart from other kits is the factthat they are walking robots. Kidfriendly walking robot kits are certainlya rarity, and we think is likely becausewalking robots are typically thought ofas necessitating difficult and esotericdesigns.

The folks at Robotis deserve someserious accolades for coming up with

a walking robotdesign that is sim-ple and accessible.Each set of legsrequires only onemotor, and theresulting motion is

entertainingly bug-like. Unfortunately,the Ollo kits don’tcome with thefancy Dynamixelservo featuredprominently in the

Bioloid kit, but the motors in the kitare suitably tiny and come in atransparent casing sure to arouse thecuriosity of a builder of any age.

The wiring of the Ollo Bugs

occurs in the middle of the buildingprocess as the motors and brain arebeing mounted, and we think thefolks at Robotis have made it simpleand accessible. The main electroniccomponents that need to be wiredare the motors, battery packs, brain,and infrared receiver. Everything caneasily plug into the brain, with thewires from the motors and batterypacks being the perfect length toallow for out-of-the-way routingwithout being a long mess. The Ollo

Bug battery packs are two holders forAA batteries, and the batteries seemto last the little critters for a goodlong while.

In addition to being delightfullypainless, the wiring also teaches animportant life lesson of carefully

checking the colors of the wires toascertain the correct connectionorientation. In this, all that isdemanded is a careful differentiationof gray from black, but the lesson isstill a good one.

Despite their structural simplicity,the Ollo Bugs feature a number ofaesthetic embellishments that reallyenhance the appeal and overallbugginess of the little critters. Thelong antenna of the grasshopper, the

imposing horn of the Atlas beetle, andthe wings of the ladybug all add acolorful and imaginative flair to thecreations. The bright coloration mightbe a poor choice for camouflage, butthe visual pizzazz is sure to entice theyoungsters that the bugs target.

After we built our first bug — aladybug — we were eager to test itout. The Ollo Bugs come with a sleekcontroller that strongly resemblessomething intended for a video gameconsole, so the target audience should

feel right at home controlling them.There are four main buttons tocommand the critter to move forward,backward, left, and right. Otherbuttons can also switch the channelof the controller so that two Ollo Bugscan be controlled simultaneously withtwo different controllers. This featureis gleefully advertised in the quickstart guide as a way to have a bugbattle.

Before we descended into a

beetle battle that would be the envyof Dr. Seuss, we decided to try ourhand at controlling a solitary bug. Themovement of the bug is delightfullysquirmy, and the critter is surprisinglyfast on its six legs. The controller isresponsive, and the clever positioningof the infrared receiver on the bugeliminates any line-of-sight difficultiesthat can be the downfall of someinfrared controllers. The bug also hasa surprisingly good turn radius — askill that can be tested by arranging

F IGURE 8. AN OLLO L ADYBUG IN T HEW ILD.

F IGURE 9.T HE OLLO L ADYBUG AND G RASSHOPPER ENJOY T HE G RASS.

60 SERVO 04.2009

Page 61: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 61/84

Bug Sport

hairpin turns with the mix and matchline-following track. While one bug istons of fun, we thought a second bugwould be a great addition to thefamily. We decided to build thegrasshopper out of a second kit (asingle kit contains two motors, which

is enough for only one bug at a time).We were drawn to the grasshopperbecause of the antenna that seemedto defy gravity. The construction ofthe grasshopper is quite similar to thatof the ladybug, even though the baseis slightly modified.

The charming antenna are giventheir shape by an innovative littleassembly that uses interlockingserrations to provide an adjustable

joint that stays in place fairly nicely.

These joints are the secret to many ofthe insect-like details on the Ollo Bugs,and while they certainly seem robustat first blush it remains to be seen ifthey will be able to hold up afterprolonged usage. We think that theywould, but one has to remember thatthese bugs are going to face someserious wear and tear at the hands ofthe intended audience.

Splattered

After building the ladybug, thegrasshopper went together quickly,and we were ready to test the newspecimen. We were excited to see thegrasshopper work because the legdesign is slightly different than that ofthe other bugs, with longer back legsto more accurately represent its insectinspiration.

You can imagine our disappoint-ment when we first activated thegrasshopper robot only to discover

that it sorely lacked the agility thatwould earn it props from a martialarts master. The basic problem waseasy to see – one of the motors wasnot functional, and the intrepid insectcould only move in a wide circledespite its most sincere efforts.

We resolved to try out someinsect surgery. The first step would beto disassemble the grasshopper to thepoint where we could remove themotor. This, unfortunately, was almostto the point of complete disassembly,

but we readied our Ollo Tool and setto work. That is one disadvantage ofthe Ollo kit – disassembly of the bugsis not as quick as one might hope.The parts themselves can snap apartfairly easily, but removing the rivetsand sleeves properly can require

individual attention that can becomesomewhat time-consuming.

Once the motor was freed,we were able to give it a thoroughinspection. We began our investiga-tion with the classic technique of

jiggling the wires to see if there was aloose connection on the end withthe connector or at the end thatconnected to the motor itself. Whenour jiggling provided no answers, wewere forced to look elsewhere for the

cause of the problem. We even wentso far as to take the motor apart tosee if anything was jamming thegears, but we found nothing. Afterdoing our best to clean out the gears,the motor would actually move, butit would not start without a littlehelping hand. When reattached in theleg assembly, the motor would notstart, and we were forced to bidfarewell to our dreams of an epic bugbattle. We must make it clear, though,that problems with motor modules are

not phenomena confined to the OlloBugs. We’ve had similar experiences

with motors from the LEGOMindstorms kits, and the companieswere more than happy to speedilyreplace defective units.

Gnat Race

The Ollo Bugs come with apreprogrammed line-following mode,

easily accessed by a few clicks of thepower button. After activating the

SERVO 04.2009 61

F IGURE 10. NOT T HE BEST C AMOUFLAGE.

F IGURE 11. T HE OLLO G RASSHOPPER ,C ONTROLLER , AND T RACK .

Page 62: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 62/84

62 SERVO 04.2009

line-following mode, the bug pausesto allow a proper positioning at thestarting line before sounding a

charming charge jingle and setting off.The Ollo Bug kit comes with twoline-following tracks of its own. One isa simple oval on the back of the quickstart pamphlet, and the other is madeout of cardboard squares that can becut up, mixed, and matched. Thesmall oval is a nice testing ground,and the mix and match track is tonsof fun.

One caveat about the mix andmatch track is that the cardboardsquares tend to get pushed around by

the scurrying legs of the bugs. Settingup the track on a high friction surfacemitigates this problem, and we thinksomething between carpeting and tilewould be ideal. Come to think of it,the short, dense carpet that coversthe floors of many school classrooms

would work perfectly on anumber of levels for theeducational bots.

Due to the tragic andunforeseen injury sufferedby our grasshopper, theladybug was left to roam

the tracks alone. A truetest of the bug’s line-fol-lowing ability woulddemand a proper race, anda proper race woulddemand a proper rival. Ourdad’s Mark III OOPIC robotwas eager for a challenge,and perhaps a bit

overconfident due to the advantage itpossessed in the form of wheels.

The small oval and the mix and

match track were a bit on the smallside for a race between the ladybugand the Mark III, so we turned to alarger line-following track. The LEGOMindstorms starter kit comes withan excellent large scale line-followingtrack, and it would be a perfectproving ground for our bug. Weallowed it the luxury of a couple oftest laps, and we were very pleasedwith what we saw.

The walking robot navigatescorners surprisingly well, and even

when it seems to be veering offcourse it always corrects itself. If thebug does happen to stray from thecourse, it has an automatic shutofffeature to keep it from wandering offinto oblivion. Hopefully, it wouldn’ttake advantage of that feature during

the showdown with the Mark III.Speaking of the Mark III, things

were not as they should have beenwith regards to the programming.The Mark III is equipped with threephototransistors for line-following (thesame exact type that we used on our

safe-cracking robot, incidentally),and it did at one time have a killerline-following program on it. But now,in a twist of sabotage that would feelright at home in another Francis novel,the Mark III was experiencing someserious issues downloading programs.The only logical culprit that wecould identify was the serial cablethat connected the robot to theprogramming computer, but theproblem was not resolved in time

for race day.With the Mark III lacking aprogram, the Ollo ladybug ran circlesaround it in an unexpected upset,enough to arouse the suspicion ofany amateur detective. The Ollo Bugwas triumphant, but the serial cabledebacle left us a bit unsatisfied.

Flying Finish

The Ollo Bug line-followingprogram is quite effective, but intrepid

tinkerers that think they can do betterhave the opportunity to find out. Thekits that we were given did not havethe necessary components to allowthe bugs to be programmed, butRobotis does make a downloadermodule to allow for custom

programming.The greatest thing about the

Ollo downloader is that it takesthe form of a simple USB plug-inthat uses infrared communication

to connect with the Ollo Bug.We are positively ecstatic that arobotics kit has finally seen thelight and chosen a USBconnection over the tragicallyoutdated and anachronistic serialconnection that seems inexplicablypreferred in almost all of the otherrobot kits that have meanderedthrough our column.

We were especially bitterabout serial cables this timearound since it contributed to the

F IGURE 13. HEADING F OR T HE HOME STRETCH. F IGURE 14. M AKING DICK

F RANCIS P ROUD.

F IGURE 12. MIX AND M ATCH T RACKS.

win T weaks .

Page 63: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 63/84

sabotage of the Mark III. The morbidfascination that so many robot kitsseem to have on serial ports ispositively baffling to us, and wecannot think of a reason as to whythe Ollo downloader is in the minoritywith its USB connection.

Is the motive for the serial con-nector driven by an egalitarian instinctto not exclude those roboticists withoutdated computers that are withoutUSB ports? This seems hardly likely,because in our experience mostroboticists tend to be people at thecutting edge of technology, andsomething like an outdated computerwould be considered nothing short ofanathema. The folks at Robotis haveshown an admirable understanding of

their target demographic, because

unless they are inheriting a familyheirloom most kids will havecomputers that sport USB ports only.

Could it be a cost issue? It seemsunlikely to us that a USB connectorwould be that much more expensivethan a serial connector to put onto a

PCB, and the generally smaller size ofUSB connectors would save valuablecircuit board real estate. Companiesthat distribute kits with serial cablesmust also realize that they aresaddling the buyer with the extra costof acquiring a serial to USB adapter,and the extra hassle of pulling out anextra cable whenever anyone wants todownload a program.

Could it be performance? Wedon’t think so.

Beyond the obvious issues ofapplications and cost — both ofwhich USB connectors have a clearadvantage — we cannot fathom anyother reason that would justify themaddening prevalence of serialconnections in robot kits.

Now that we’ve blown off somesteam, we’d like to cool down bylooking at some of the other greatfeatures of the Ollo kit in general.Additional Ollo kits like the Ollo Figureand Ollo Action kits can be bought for$20 and $30 (the Ollo Bugs will run

you about $100), and while the OlloFigure kit comes only with structuralpieces, the Ollo Action kit comes withmotors, as well. This indicatespotential for easy expansion, allowingyoung roboticists to practice using themost important engineering tool of all– their imagination.

Once again, the stellar folks atRobotis have earned our highestpraise for putting out a high qualitykit with enough innovative features

sure to carve out a niche in acompetitive market. The Ollo Bugsare hugely entertaining kits poised

to be both powerful educational toolsand an exciting introduction to theworld of robotics for many buddingroboticists. SV

For more information, go to: www.ollobot.com

www.robotis.com

Recommended Websites

SERVO 04.2009 63

Bug Sport

Page 64: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 64/84

64 SERVO 04.2009

Build Your OwnHumanoid Robots

by Karl WilliamsGREAT 'DROIDS, INDEED!

This unique guide tosophisticated robotics

projects brings

humanoid robot

construction home to

the hobbyist. Written by

a well-known figure in

the robotics

community, Build Your

Own Humanoid Robots provides

step-by-step directions for six exciting 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 andmay be subject to change.

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

Forbidden LEGOby Ulrik Pilegaard / Mike Dooley

Build the Models

Your Parents

Warned YouAgainst.

Forbidden LEGO introduces you tothe type of free-style building thatLEGOs masterbuilders do for fun in the back room.Using LEGO bricks in combination withcommon household materials (from rub-ber bands and glue to plastic spoonsand ping-pong balls) along with some

very unorthodox building techniques, you’ll learn to create working models thatLEGO would never endorse. $24.95

Robot Building for Dummiesby 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 robothistory, enthusiasts’ groups, and more.

$24.95 Robotics Demystifiedby Edwin Wise

YOU DON'T NEED ARTIFICIAL INTELLIGENCE

TO LEARN ROBOTICS!

Now anyone with an

interest in robotics can

gain a deeper under-standing — without for-

mal training, unlimited

time, or a genius IQ. In

Robotics Demystified ,

expert robot builder

and author Edwin Wise

provides an effective and totally painless

way to learn about the technologies used to

build robots! $19.95

Robot Programmer's Bonanzaby

John Blankenship,Samuel Mishal

The first hands-onprogramming guide

for today's robothobbyist!Get ready to reach into

your programming

toolbox and control a robot like never before!

Robot Programmer's Bonanza is the one-stop

guide for everyone from robot novices to

advanced hobbyists who are ready to go

beyond just building robots and start

programming them to perform useful tasks.

$29.95

“EDITOR’S PICKS”

ROBOTICS

RobotBASIC Projects for Beginners

Simply the best introduction to the freeRobotBasic program available.

$14.95

Editor Bryan Bergeron’s recommended reads.Find these and many more great titles in the SERVO Magazine Webstore!

Kickin' Botby Grant Imahara

Enter the arena of the metal gladiators!Do you have what it

takes to build a

battle-ready robot?

You do now! Here are

the plans, step-by-step

directions, and expert

advice that will put

you in competition —

while you have a heck

of a lot of fun getting

there. Grant Imahara, the creator of the

popular BattleBot Deadblow, shares every-

thing he’s learned about robot design, tools,

and techniques for metal working and the

parts you need and where to get them.

$24.95

FIRST Robots: Rack 'N' Roll:Behind the Design

An informative view of the engineeringbehind the most popular academic

robotics competition.$39.95

Page 65: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 65/84

It looks like I’m going to bestuck in this

pose for while!

Visit mVisit my online story online store @e @wwwwww.ser.ser vvomagazineomagazine .com.com

To order call 1-800-783-4624

RobotBASIC ProjectsFor Beginners

byJohn Blankenship, Samuel Mishal

If you want to learnhow to program, this

is the book for you.Most texts onprogramming offerdry, boringexamples that aredifficult to follow. Inthis book, a wide

variety of interestingand relevantsubjects areexplored using a problem-solvingmethodology that develops logicalthinking skills while making learning fun.RobotBASIC a powerful, yet extremelyeasy-to-use, computer language availablefor any Windows-based PC is usedthroughout the text. $14.95

The Amateur Scientist 3.0The Complete Collection

by Bright Science, LLCThere are 1,000

projects on this CD , not

to mention the

additional technical

info and bonus

features. It

doesn’t matter if you’re

a complete novice

looking to do their firstscience fair project or a

super tech-head gadget

freak; there are enough

projects on the

single CD-ROM to keep you and 50 of your

friends busy for a lifetime! $26.99

CNC Roboticsby Geoff Williams

CNC Robotics gives you

step-by-step, illustrated

directions for designing,

constructing, and testing

a fully functional CNC

robot that saves you 80

percent of the price of an

off-the-shelf bot — and

that can be customized

to suit your purposes exactly, because you

designed it. Written by an accomplished

workshop bot designer/builder, this book

gives you everything you need. $34.95

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. Linux Robotics 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 into your own unique robotic designs. Noprogramming experience is required. Thisbook includes access to all thedownloadable programs you need.$34.95

SERVO 04.2009 65

SERVO Magazine Bundles

Published by T & L Publications, Inc.

$57per bundle

Save $10off thenormalprice!!

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

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

Page 66: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 66/84

Circuitbuilding For Dummiesby H. Ward SilverHere's the easy way tostart building circuits for your projects!

Have you ever wanted to

build your own

electronic device? Put

together a thermostat or

an in-line fuse, or repair a

microphone cable? This

is the book for you! Inside you'll find the

tools and techniques you need to build

circuits, with illustrated, step-by-step

directions to help accomplish tasks and

complete projects.Reg $24.95 Sale Price $19.95

PROJECTS

SPECIAL OFFERS

Or order online www.servomagazine.com

The SERVOBuddy Kit

An inexpensive circuit you

can build to control a servo

without a microcontroller!

For more information,please check out your

May 2008 issueor go to our website

@ www.servomagazine.com

Subscriber’s Price $39.55

Non-Subscriber’s Price $43.95Includes an article reprint.

Tankbot Kit &Brain Alpha Kit

Robot Builder’s Cookbookby Owen Bishop

This is a book for

first-time robot

builders, advanced

builders wanting toknow more about

programming robots,

and students in

further and higher

education tackling

microcontroller-

based practical

work. They will all find this book a unique

and exciting source of projects, ideas, and

techniques to be combined into a wide

range of fascinating robots.

$29.95 Sale Price $24.95

As seen in the Sept. issueTankbot/ Brain Alpha

by Ron Hackett A 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

66 SERVO 04.2009

Proto Buddy Kit & Book ComboFor 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 same

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

The Amateur Scientist 3.0The Complete Collection

by Bright Science, LLC

There are 1,000projects on this

CD , not to mention

the additional

technical info and

bonus features. It

doesn’t matter if

you’re a complete

novice looking to

do their first

science fair project

or a super

tech-head gadget

freak; there are

enough projects on the

single CD-ROM to keep you and 50 of your

friends busy for a lifetime!

$26.99

Page 67: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 67/84

APRIL 15-16, 2009

BOSTON,MASSACHUSETTS

HYNES CONVENTION CENTER

Join the International Business Development Event

for the Personal, Service, & Mobile Robotics Industry

www.robobusiness.com

FOR COMPLETE EVENT DETAILS VISIT

WWW.ROBOBUSINESS.COM

OR CALL 800-305-0634RoboBusiness is a professional, trade event. All attendees must be at least 18 years old.

JOIN THESE LEADING

COMPANIES AT 2009

ROBOBUSINESS

Listing as of March 6. For

a current list of Sponsors &

Exhibiting Companies, visit

www.robobusiness.com.

WORLD CLASS CONFERENCE

RoboBusiness 2009 features two days of keynotes and general sessionsdelivered by internationally recognized leaders from business, governmentand academia. RoboBusiness conference tracks:

EXPOSITION & SPECIAL EVENTS

BUILDING THE

ROBOTICS INDUSTRY RoboBusiness Conference

& Exposition

For Information on

Sponsorship and Exhibiting

Opportunities , contact Ellen Cotton

at [email protected] or508-663-1500 x240

USE PRIORITY CODE RBSRV

SAVE $300

REGISTER

NOW

ON YOUR FULL

CONFERENCE PASS!

Silver Sponsors

Media Co-Sponsors

Academic Sponsor

Produced By

Founding Sponsor

Premier Sponsor

Association Sponsors

Page 68: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 68/84

In last month’s Robotics Resources,we looked at the major electronicstools and supplies used in building

robots, such as volt ohmmeters andsoldering irons. Like all workbenches,how tidy you keep your robot buildinghome goes a long way to how muchyou’ll enjoy the process.

There are a number of solutionsfor organizing the bits and pieces ofyour robotics hobby, including allsorts of toolboxes, chests, cabinets,drawers, boxes, bins, bags, and more.We’ll cover many of these in thisinstallment, including handy onlinesources if you don’t happen to have

a “Storage Shelves R Us” nearby!

A Place for Everything,and Everything in

Its PlaceOver his 20 years in the military,

one of the main jobs my father hadwas taking charge of supplies. He hadthe knack for organizing; the MarineCorps had to keep tabs on everythingfrom huge trucks and airplanes, tominiscule ball bearings. He’s longsince retired, but he has numerous

jobs and hobbies where his organiza-tional skills still come into play.

When he got into model

airplanes, his portable “shop box” was

neatly filled with everything he’d needwhile out in the field. While othermembers of the team would just toss

things into a plastic fishing tackle box(and often had trouble finding things,or even knowing if it was in the box),my dad devised special compartments,and he knew where everything was.

If apple trees are organizationaltraits, this apple (me) fell far from thetree, because I inherited virtually noneof the mindset to keep things in theirplace. All while growing up — andeven now as an adult — I usuallyforgot to put things back where theybelonged. I lost a bunch of stuff, and

ended up buying the same thing twoand even three times because I losttrack of it all in the garage.

So, knowing my shortcomings,I have to make a conscious effort tomaintain order in the shop, orelse things get rapidly messy andincreasingly uncomfortable. When Iskip the step of organizing my stuff,I enjoy the robot building processfar less. Finding parts becomes ahalf-hour job. No fun.

While my shop is far fromRobotics Eden, it’s more or less wellorganized with the help of some smallparts cabinets, a few plastic partsbins, zipper lock-style plastic bags,and a few other odds and ends. Whilemy system works for me, you’llundoubtedly want to improvise yourown. Everyone has slightly differentrequirements; for example, because Iusually build small robots, my storageneeds tend to be for small parts. Ifyou build large and heavy combat

Organizing Your Robotics Workbench

Tune in each month for a heads-up on where to get all of your “robotics resources” for the best prices!

One of the many Amazon storage-related offerings. Do a search under the sectionsHome & Garden and Office Products & Supplies for more.

68 SERVO 04.2009

Page 69: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 69/84

robots, you’ll need larger and moreheavy duty places to keep your stuff.

Small PartsDrawer Cabinets

Plastic parts drawer cabinets are

really the mainstay for any activity thatdeals with many small parts. You canget them in all types of styles andsizes, from little units with just six ornine 1” x 2” drawers (these fit onbookshelves quite well), to muchlarger parts chests with 20, 30, even40 drawers of different shapes andsizes. These won’t fit on a bookshelf— unless your shelves are very large —but are ideal for work benches andassembly tables.

I prefer cabinets someplace in themiddle of the size range, with about25 to 35 drawers. You can get thesewhere all the drawers are the same; acommon size (for the larger cabinets)is about 2” wide, 1.5” high, and 4”deep. Each drawer can use a plasticdivider so you can keep differentsizes or styles of something organized;for example, three different sizes of4-40 machine screws: 3/8”, 1/2”,and 3/4”.

Another option is a cabinet with

several drawer sizes to accommodateparts of different bulks. For example,the cabinet might sport 24 or 30small drawers of about 1.5” by 2”,and six, nine, or 12 large drawers ofabout 2” by 4” (the depth may varyfrom 4” to 5.5”, depending on themodel). You might, for instance, placeindividual values of resistors in thesmaller drawers, and large electrolyticcapacitors or power resistors in thelarge drawers.

Drawer cabinets vary greatly inquality, and I prefer to check them outin person when possible. You can findthem at any home improvement store,Wal-Mart, Target, even some super-markets. Look for drawers with thickenough plastic that won’t easily breakwhen you use them to store some-thing heavy — like a couple hundredmetal fasteners. The drawers shouldslide in and out without excessivebinding. Avoid units where thedrawers easily fall out. On better

cabinets, the drawers will have a lipat the back so they can be removedonly if you lift them up and out.Otherwise, you may end up withhundreds of little pieces scattered allover your workbench, floor, and lap.

Heavy DutyStorage Drawers

Going up a step on the size andcost ladder is the plastic, heavy dutystorage bin. These units are one tothree feet high and sport betweenthree and six heavy duty plasticdrawers. The drawer sizes may bedifferent or all the same; find a modelthat suits your needs. Drawerdimensions are typically large enough

to hold household items like a ream ofpaper or other craft goods. The mostrobust models can readily hold heavymotors, metal gears, and otherconstruction parts. Popular brands areSterilite and Rubbermaid.

Larger still (and somewhat moreflexible) are stacking drawers, withsizes large enough to hold bulkysweaters and pants. They’re made tostack on top of one another, so youcan get as few or as many as youwant. (You want to avoid overdoing

the height of your Tower of Babel, or

else things will topple over if youopen a heavy drawer near the top ofyour stack.) Department stores, craftstores, and “get organized” specialtystores are the best sources forstacking drawers. For example, TheContainer Store (www.container

store.com) offers many sizes andstyles of stacking drawers. Most ofthese are intended for clothing andare large enough to hold the biggerrobot parts in your inventory, but theymay not be strong enough to supportthe weight. So, make sure you get theheavy duty models. Drawers for use inthe garage rather than the bedroomare preferred.

Tool Boxes, Tackle

Boxes, and TotesYou may not always build your

robots in your own shop. Sometimesyou need to go where the action is,and you’ll need to bring your toolsand supplies with you. For the reallyheavy stuff like electric drill motors,saws, and other tools a standardmetal or heavy duty plastic toolboxis the best choice. I still have myCraftsman 24” steel toolbox I boughtover 30 years ago, and use it regularly.

For lighter jobs, a plastic fishing

The Randmh.com site is geared toward heavy-duty industrial storage solutions,but their products are available in small quantities and at reasonable prices.

SERVO 04.2009 69

Page 70: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 70/84

tackle box or tote makes luggingaround your supplies a lot easier. Thetypical tackle box has a storage drawer

on the top for small parts. When youopen the top, the drawer slides upand over, and you can reach into thebottom of the box for larger tools and

supplies. (If you happen to also fish,it’s a good idea to invest in a separatetackle box for your robot buildingendeavors, so you’re not mixingworms and old fish guts with solderand stainless steel fasteners.)

Plastic totes are available in avariety of shapes and styles, and areideal if you work with larger tools andsupplies. Most totes are listed ingallon (or liter) capacity. For example,a 10 gallon tote measures about 24”

x 16” x 9”. I prefer totes with anintegrated handle (test the handle tomake sure it won’t easily break orcome off) and reliable secure plasticlocking clamps. Some totes come withan extra hasp for a padlock. If youneed several totes, you’ll want onemade of clear (or semi-clear) plastic,so that the contents are visible.

There are, of course, many othersizes, styles, and types of storage bins,boxes, or drawers. There’s somethingfor every occasion. Whatever you

chose, you’ll want to consider the

following general guidelines:The construction of the storage

container should be adequate for theweight, not just the size. Cheapercontainers are often made of thinnerplastic which can break under load.

Opaque containers hide what’s in

them. Sometimes this is a good thing,but most often you’ll probably wantto keep the innards visible so you canquickly find what you need withoutopening up the container each time.Keep your containers indoors andaway from heat sources or evenwindows. Heat and sunlight candegrade the plastic, causing it tobecome brittle. Containers withhinges, hasps, clamps, and othermechanical parts should be tested out

before you buy them (or at least buyfrom a known brand name). The hard-ware on the cheaper units can failafter even modest use.

Keeping Track ofYour Inventory

Unless you have perfect memory,you’ll need a system to keep track ofwhat has gone where. On the lowend of the scale is “the old magicmarker on the side of the parts bin

trick.” (You can use any type of felt tip

marker; a Sharpie is my favorite.) Theproblem with this approach is that themarking tends to be permanent, andyou may want to change what goesinside a container or drawer.

Instead of writing directly on theplastic, you could tape an index card

to the container and write on itinstead. If you change the contents,

just peel the card off and start over.Or, if you have a spool of wide

packing tape (the kind used to wrappackages for mailing and shipping),

just apply a couple of inches of tapeto the container, and write directly onit. To replace the writing, yank thetape off and affix a new length. Thisusually works well, depending on theplastic used on the container. Some

plastic resists the adhesive on thetape, so it never sticks. In other cases,the tape adheres so well it can bedifficult to take it off. Try a smallpiece in a corner of the container andleave it on for a week or so. If thepacking tape idea doesn’t work,there’s also duct tape, but that canleave a sticky residue.

For smaller parts drawers, anelectronic labeler is the absolute bestway to keep track of parts. (Think ofthe character Vanessa Kensington and

her suitcase of labeled bags in thefirst Austin Powers movie.) There arelow-cost labelers that start around$30, though I prefer the larger andmore featured models, such as theBrother P-Touch PT-65 ($60 to $90).You can get different types of labels,with a choice of backing and inkcolor. Black lettering on a whitebackground is a good choice for partsdrawers. Larger machines canaccommodate labels of different

widths. Common sizes are 6 mm to12 mm, or about 1/4” to 1/2”. Thelabels come in handy cartridges thatcan be readily exchanged from onesize to another, in case you havedifferent label requirements.

Ad-hoc StorageSolutions

Not everything needs a fancyplastic storage bin. Sometimes simple— and free — is better. Here are some

Rubbermaid’s website, where you can browse their offerings for purchase.

70 SERVO 04.2009

Page 71: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 71/84

storage ideas for when you don’tneed a fancy solution.

Shoeboxes still make greatstorage containers. Keep the lid soyou can stack the boxes, or just use itopen if you need quick access.

Zipper-locking food storage bags

— particularly the heavy duty ones forfreezer use — make ideal containersfor odd-sized items. Mark the contentswith a Sharpie or other wide felt pen,and toss into a box (a shoebox) forsafe keeping. Tip: The wide bottombags stand up.

Baby food jars — plastic or glass —continue to be an excellent storagesolution for very small parts such as2-56 size hardware or even surface-mount components. (Use glass jars

for electronics parts as it doesn’tgenerate static.) For fast access to thecontents of baby food jars, nail orscrew the lid into the underside of ashelf near your workbench. Then, justtwist the jar on and off. Be sure toleave room between the jars for yourhands to grab them.

Empty egg crates and egg boxesare also useful for holding small parts,but take care not to overturn the crateor box, as the lid doesn’t close overthe hollow for the egg. If you’re not

careful, your parts may spill out or getmixed up.

Sources

Here are some online retailersthat specialize in storage solutions.Be sure to also check out localretailers such as Home Depot,Lowe’s, Wal-Mart, Target, Bed, Bath,& Beyond, Ikea, and others.

Amazonwww.amazon.comYes, Amazon even sells storage

containers. Look under “storage draw-er” in the Home & Garden and OfficeProducts & Supplies sections. Goodselection of storage drawers, in vari-ous drawer sizes.

The Container Storewww.containerstore.com

Online store specializing in stor-age products and solutions. Good

assortment of totes, drawers, bins,and other heavy-duty items.

Organize It Onlinewww.organize-it-online.com

Online specialty store cateringto home storage solutions. Click

the Storage link for totes, drawers,and bins.

Rand Material Handlingwww.randmh.com

Heavy-duty plastic storage bins forshelving. Open front; may be stackedseveral high to save space. Up to 18”deep. Dividers let you separate partsin a single bin.

Quantum Storage

www.quantumstorage.comIndustrial strength storage,including heavy-duty plastic bins forshelves or workbench.

Rubbermaid www.rubbermaid.com

Storage solutions from smallboxes to large bins. Shop online orsold at department, discount, andhome improvement stores. Visit theirsite to see what’s available.

Spacesaverswww.spacesavers.com

Free-standing and stackable totes,bins, boxes, drawers, and otherstorage solutions. Plastic, wood, andother materials.

Stacks and Stackswww.stacksandstacks.com

Specializing in storage solutions;products sorted by application.

Stapleswww.staples.com

Online and local stores; cardboardfile boxes (cheap way to store bulkyitems), plastic storage drawers.

Sterilitewww.sterilite.com

Manufacturer of plastic storage

drawers, bins, and other products.Sold in stores such as Target andhome improvement outlets.

ULinewww.uline.com

Sells plastic and cardboardstorage bins and boxes. Most must bepurchased in quantity, so share yourorder if you don’t need dozens offold-together cardboard shelf partsbins. SV

SERVO 04.2009 71

Gordon McComb can be reached via email at [email protected]

Page 72: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 72/84

72 SERVO 04.2009

Atom Nano Chips

The Atom Nano chips come in 28-pin and 40-pinpackages just like the original interpreter chips, butnow there is an 18-pin package based on the

PIC16F88. You can now debug right in your circuit andwe’ll talk about this a little later. Table 1 shows the threenew chips and feature details.

The original Atoms cost more, but offered higher speedthan the Nanos because they relied on an external 20 MHzresonator for the clock. This is an area that Nanos improveon as far as simplicity. The Nano chips use an internal 8MHz oscillator which means you give up about 2.5 timesthe speed, but all you need is power and ground to run aNano, so it’s actually much easier to hook up. Being 2.5times slower may sound like a lot, but in many applicationsspeed isn’t a major factor plus, the Atom Nano has more

program memory space. The Nano chips also use the exactsame pin-out as the original interpreter chips, so if you havea design that doesn’t need the higher speed, a Nano chipcan be plugged right in.

Atom Debugger

I mentioned the debugger in my last column, but I

wanted to show anybody new to the Basic Atom thefeatures this debugger offers. I borrowed some of thisinformation (with permission from the author) fromChuck Hellebuyck’s book Programming the Basic Atom

Microcontroller that can be purchased from the SERVO

Magazine bookstore (http://store.servomagazine.com).The Atom debugger is a special tool that makes yoursoftware run in slow motion so you can step through thecode. Once you use it, you won’t ever want to developwithout a debugger again. The Atom debugger iscompletely controlled by software on the PC that sendscommand codes to the Atom Nano chip. You only need the

serial programming connection to use the debugger. Noother hardware is required.

When you finish writing your program, you wouldnormally press the “Program” button to compile anddownload your program into the Nano chip. To use thedebugger, you simply press the “Debug” button instead.The difference between the Program button and the Debugbutton is hidden. They both compile and then program theNano but the Debug adds another hidden step: It adds ablock of code to your program that is used to communicatewith the debugger software running on your PC.

When your program is running, the added debuggerblock of code sends variable values, internal register values,

I introduced the new Atom Nano chips from BasicMicro.com in my last column,

and now there are more new development tools to help the beginner. There is

also a great robotics platform based on the Atom that is a great platform for the

beginner so I’ll give it a mention later since it’s built around the 28 pin Atominterpreter chip. Let’s start with the Atom Nano chips.

Basic Atom & Roboticsby William Smith

Figure 1. Atom Debugger Screen.

Page 73: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 73/84

and other details to the PC through the programmingcable. The debugger software on the PC will display thatdata in the way you choose by clicking on the differentsetup buttons in the debugger tool bar.

The debugger controls allow you to run the programcontinuously or in animate mode. Animate modeautomatically steps command by command in slow motionthrough the program. You can also manually step through

your code command by command by using the PC mouseto advance the program via the various single step buttons.This gives you total control of how the program advances.Figure 1 shows the Atom IDE with the debugger enabled.

When the debugger is in run mode, it will run close tobut not exactly actual speed. Because of the communicationback to the PC, an added delay will occur betweencommands which will slow things down a bit. You must

take this into account when running time critical code. Eachcommand will run in full runtime mode (SERIN and SEROUTwill function normally) but added time will appear betweencommands. Also, the programming cable must be connected

to the PC or the debugger will not operate and neither willthe Nano — it will wait for commands from the PC.

Debugger Controls

The debugger controls can be found under theDebugger selection in the top menu line or via thedebugger toolbar line that appears when you press“Debug” to compile your program. The debugger toolbarline can be switched on and off under the View mainmenu selection. The total tool bar is shown in Figure 2.A summary of the debugger control features follows.

Connect/DisconnectThe Connect/Disconnect button is used to

establish communication between the debugger and theNano. When the “Debug” button is pressed and theprogram is downloaded, the debugger will automaticallyconnect to the Nano. A green bar will highlight the firstline of the program indicating the debugger is successfullyconnected. You can stop the debugger connection at anytime by just clicking on this icon.

Toggle Breakpoint

The Toggle Breakpoint button allows you to

turn a breakpoint on or off at any point in the program. Abreakpoint is a highlighted line that will stop execution ofthe program when it gets to that command line. This ishandy if you want to see what the variables and I/O pinslook like when a specific command is encountered in theprogram without having to step through each command.To use it, just position the cursor to the line you want theprogram to stop at. If a break point is not set on that line,click on this icon or right-click on your mouse and select“Toggle Breakpoint.” This will highlight that command linein red and enable the breakpointaction. To turn it off, justclick on the icon again

or right-click to turn it off.

Animate

This is a nice feature of the debugger. TheAnimate function will automatically step through your

program command by command in slow motion. Eachcommand being executed is highlighted in green. Whenthe command is completed, the next line is highlighted.This allows you to watch and verify the program is flowingwhere you expect it to go. If the “Auto Update” feature isselected (described below), then variables and internalinformation will be updated after each command. To viewthose values though, it is often best to stop the programas the Animate mode can sometimes run too fast to allowyou to read the data.

The 18-pin Atom Nano chip sells for$7.95 and is based on the PIC16F88which has the following features:7K Program Flash368 Bytes RAM256 Bytes EEPROM16 I/OExternal InterruptChange on PORTB InterruptTwo Eight-bit TimersOne 16-bit Timer

Capture/Compare/PWM Port10-bit, Seven Channel A/D ConverterSPI / I2C Hardware PeripheralTwo Analog ComparatorsHardware USARTMCLR Feature can be internal

The 28-pin Atom Nano chip sells for$8.95 and is based on the 16F886which has the following features:14K Program Flash368 Bytes RAM256 Bytes EEPROM24 I/OExternal InterruptChange on PORT B InterruptTwo Eight-bit TimersOne 16-bit Timer

Two Capture/Compare/PWM Ports10-bit, 11 Channel A/D ConverterSPI / I2C Hardware PeripheralTwo Analog ComparatorsHardware USARTMCLR Feature can be internal

The 40-pin Atom Nano chip sells for$10.95 and is based on the 16F887which has the following features:14K Program Flash368 Bytes RAM256 Bytes EEPROM35 I/OExternal InterruptChange on PORT B InterruptTwo Eight-bit Timers

One 16-bit TimerTwo Capture/Compare/PWM Ports10-bit, 14 Channel A/D ConverterSPI / I2C Hardware PeripheralTwo Analog ComparatorsHardware USARTMCLR Feature can be internal

SERVO 04.2009 73

Figure 2.

40 Pin Atom Nano

28 Pin Atom Nano

18 Pin Atom Nano

Table 1. Atom Nano Chips.

Page 74: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 74/84

RunThis option allows you to run the program in the

Nano at full speed (minus a minor delay for the debuggerblock of code) without stopping to check for variables or

other data. The green command line indicator will not stepthrough each command. It will just stay at the last lineexecuted before pressing the Run icon.

Reset

Reset is used to start the program at thebeginning. Any information stored in the variables is noterased. This is a simple way to start at the beginning or tosee how your program will react if a hardware reset wereto occur.

Pause

The Pause button will halt the program at the

current command line. To resume execution, the Run orAnimate button is pressed. The Pause button is handy tostop the Run or Animate mode so variables and other datacan be viewed.

Step Into

This is the button you press to step throughyour program command by command line using your PCmouse.

Step Over

This button is aspecial step button thatallows you to jump over apart of the program such asa gosub or for-next routine.Sometimes a gosub or

for-next routine will takemany clicks of the mouse toget through the routine usingStep Into. This allows you to

jump over it and move on tothe command lines afterthem.

Step Out

This is another special step button that allowsyou to leave a gosub routine. It’s handy for looking at partof a gosub routine and then lets you leave when you have

seen enough. Clicking this will jump you to the commandline after the end of the gosub routine.

Run To Cursor

Clicking on any command line in the programwill produce a blinking cursor. If you then click on the “RunTo Cursor” button, the program will execute in Run modeuntil the cursor line is encountered. The program executionwill stop at that command line.

Show Variables

This control button will toggle the Variableswindow open or closed. When it’s selected, a separate

window will open and the variables defined in yourprogram will automatically be listed. The values of thosevariables will be displayed in HEX, Decimal, and Binaryformats. (Make sure Auto Update is selected so these areupdated after every command).

Show SFRs

SFR stands for Special Function Registers. Theseare special internal locations within the Nano chip that

indicate how the internal program is respondingto modifying the internal registers. This is reallya function for the advanced user but can be

handy for understanding how the Nanoprogram controls the internal features.

Show RAM

This feature shows all the RandomAccess Memory in the Atom chip/module, not

just the variables. Again, this is handy for theadvanced user to see the inner workings of themicrocontroller.

Show Gosub Stack

This displays the Gosub Stack.The Gosub Stack is the list of location pointers

Figure 3. Microbric Viper Robot.

74 SERVO 04.2009

Figure 5. Four Wheel Viper Robot.

Figure 4. Microbric Connection Scheme.

Page 75: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 75/84

within the microcontroller that directs where to jump towhen a gosub command is encountered. By monitoringthis, you can make sure multiple gosubs are not somehowgetting lost. This is really an advanced user function.

Set Auto Update

This should always be selected. It tells thedebugger to update the variable, RAM, SFRs, and Stack

after every command is executed. You should select thiswhen the debugger is first connected, but it can be turnedon or off at anytime.

Atom Robot

One of the most interesting robot platforms I’ve foundthat is based on the Basic Atom chips is the Microbric Viperrobot shown in Figure 3. I did a search for locations thatoffered this kit but the only place I could find that still hadsome in stock was www.electronickits.com. The Microbricwebsite www.microbric.com shows a few other resellers

but www.robotshop.us was the only one that had add-onparts for the kit but didn’t have full kits in stock. I assumethis kit may be phasing out or a new version is in theworks. Microbric has other robot options as well, but theydon’t appear to be Atom based.

What makes this robot kit so interesting to me is thatit’s designed for the beginner. The robot is assembledwith just a screwdriver and this includes the electricalconnections. The boards have color-coded connections andplastic locks that hold the boards together. The screwsserve two purposes: to both hold the boards together andto make the electrical connection. Figure 4 shows the secretto the Microbric connections.

The two-wheel version looks a little weird at first but itcan make a great robot. If you can find the add-on kit foran extra set of wheels, then a four wheel robot can easilybe made. Figure 5 shows that type of bot.

Atom Nano Development Boards

Last time, I also mentioned and showed pictures ofsome Nano development boards, including an early versionof the little breadboard programming adapter (Figure 6).This board contains the programming interface circuitry.The board is designed to plug into a breadboard and then

connect to the PC’s USB port. I’ve since been told byBasic Micro that they are working on an improved versionthat powers itself off the USB port of the PC. The earlyprototype I have requires you to supply power. I lookforward to that new design.

Conclusion

Watch for more Nano information in future articles. I’mtold there are several new development boards on the waythat will make it easy to use the Nano chips. I hope to usethese to demonstrate some basic applications for the BasicMicro Nano. In the meantime, check out what they have at

BasicMicro.com and also look for it at our site at

www.BeginnerElectronics.com SV

SERVO 04.2009 75

Figure 6. USB Programming Adapter Board.

Page 76: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 76/84

Rather than delve into 18th century‘clock-work’ automatons that were

famous across Europe (and ones that

I’ve written about before), I’d like tocenter on the past few decades ofmore modern robotics. We have toadmit that our neighbor across thePacific — Japan — inarguably hasimplemented more robots into theirindustries than any other nation. Weseem to forget that the EuropeanUnion across the Atlantic has longbeen in the forefront of robotprogress.

Nations in Europe have designedand implemented some of the world’s

best industrial robots, many of whichare installed in factories across the USand have been in use since the ‘70s.Delving a bit deeper, we also find thatsome very unique mobile and servicerobots have been created in this partof the world.

Swedish Robotics

Sweden has one of the most

automated economies in the worldwith 107 industrial robots installed intheir factories for every 10,000 peopleemployed in manufacturing. BAESystems and the Saab Group are twolarge forces in the development ofdefense robot systems. ABBManufacturing Automation is alsoknown around the world for factoryautomation and robotics. Previouslyknown only as Asea, Brown Boveri

joined forces with Asea in 1987 toform ABB. Their bright orange robots

(as seen in Figure 1) are some of themost popular industrial robotsinstalled in factories around the world.

Vacuum cleaner and appliancemanufacturer, Electrolux (based inStockholm), is also a world leader inconsumer robotics with their famous

Trilobite 2.0 robot vacuum cleaner(Figure 2). The newest versionsupposedly has over 200 improve-

ments but still carries a hefty pricetag of $1,800. The robot is alsoheavier (5 kg) and higher (13 cm)than the US-made Roomba and maynot be able to clean under the lowestfurniture.

Electrolux literature speaks ofeight ultrasound ‘radar’ furnitureavoidance sensors to prevent therobot from actually touching delicateantique furniture legs by sendingradar beams to allow it to stop within1/4” from objects. Electrolux is also

very proud of their efficient ‘mappingtechnology’ that allows the Trilobiteto intelligently cover areas of a carpetonly once, thus spending less time perroom. At 90 watts, it’s a powerfulmachine for a battery-powered robotvacuum cleaner and automatically

Th en NOW a

n

d

EUROPEAN ROBOTS

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

FIGURE 1. FIGURE 2. FIGURE 3.

76 SERVO 04.2009

Tom Carroll can be

reached at

[email protected].

Page 77: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 77/84

returns to its charger base just likethe Roomba.

Unlike the iRobot Roomba,however, it uses magnetic stripsinstead of virtual walls/lighthouses todefine its working area. Figure 3shows an interior view of the Trilobite.This is just one of many types of

robots being developed in Swedishuniversities and then produced bytheir world-class industries.

An interesting Electrolux robotthat was developed more as an‘ecological green’ demonstrationdevice is the HVF robot vacuumcleaner. Looking more like a rovingflower pot than a useful householddevice, it supposedly runs onhydrogen fuel cells and produceswater as a byproduct for the plants.

Figure 4 shows the robot in allits glory.News of the device made

headlines in the blogsphere about ayear ago when it was touted “for thehome of 2020.” I have yet to readanything mentioning the technicalaspects and actual cost to purchaseit here in the US.

British Robotics

One particular British robotic

device that I’ve heard about the pastfew years is the MAS Mower 01 and05 — large scale robotic grass mowersintended for stadiums and soccerpitches. The Gloucestershire-basedcompany, McMurtry Limited, hasdeveloped a mower that can act onits own and mow an entire sportsfield without human intervention. TheMAS Mowers are substantially largerand more expensive (£40,000+) thansmaller residential types (see Figure 5).

The mower utilizes a 36 inchwide, six blade reel cutting

system and the robotmower is guided by arotating laser shown inFigure 6. The on-boardcomputer can be pre-programmed to follow anypattern desired, even toactually cut a sports team’s

logo in the grass. Whenthe 70 liter catcher is full,the mower automaticallygoes to a specified dumppoint to dispose of theclippings and then returnsto the place where it leftoff to continue cutting.

The rotating laserscanner senses reflectivestrips placed around the field toaccurately locate and orientate itself

on the area being mowed. A handcontroller can be used to program orcontrol the mower.

Considering the robot’s size andpotential danger inherent in anautonomous lawnmower, the MASMowers have ultrasonic obstacledetectors, soft front and rearbumpers, a warning horn, a flashingstrobe light, and manual overridecapability with three emergency killswitch buttons. The massive mowerscan cut up to two acres of grass

before needing recharging (by manualmeans).

Dyson DC06 RobotVacuum Cleaner

Dyson is known as a manufacturer

of quality and fairly expensive vacuumcleaners. James Dyson started thecompany after examining a sawdustcollector that used cyclonic action tocollect the dust without replacing

bags. The collector was too expensivefor him to buy, so he designed and

built his own that was superior andcheaper. His uniquely colored vacuumsare popular around the world and hedecided to follow suit with the otherrobot vacuums that were beginning toappear in the late ‘90s and developedthe 9.2 kg DC06 that was unveiled in2001 (see Figure 7).

The project was placed on hold in2004 after many beta models wereplaced into various households fortesting. It was expected to cost over$4,000.

“Dyson engineers are researchingrobotics, but it takes time. We couldhave launched DC06 and heralded itas the first robotic vacuum cleaner. Ithas three onboard computers, 2,000electronic components, 27 separatecircuit boards, and 70 sensory devices.As robots go, it’s highly advanced,more so in fact than robot vacuumsavailable today. But, we want one thatcleans properly and guides itselfmore logically than a human would, a

FIGURE 4.

FIGURE 7. FIGURE 6. FIGURE 5.

SERVO 04.2009 77

Page 78: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 78/84

truly autonomous machine, ratherthan a glorified carpet sweeper.Propulsion and battery life will be key,

and we’re getting closer,” Dysoncommented. He intends to bring outa superior robot vacuum cleanervery soon.

His reasoning for scrapping theoriginal model was its high price, poorbattery performance, and suction notup to his company’s high standards.Dyson was satisfied with themachine’s sensor/microcontrollersystem and the required program-ming, but his ‘Dual Cyclone’ vacuumsystem was difficult to implement in

such a small device. “An automaticvacuum cleaner must clean as wellas the best mains powered vacuumcleaner and with the sort ofmethodical coverage a human being

couldn’t possiblyachieve,” Dysonexplained.

GermanRobotics

KUKA Roboter,

based in Augsburg,Germany is anotherrobot company thathas installationsin most of theindustrializedcountries of theworld. With a line ofover 100 models,

mostly painted orange (is this aEuropean robot color tradition?),this German company began

operations in 1989 and entered theUS market in 1995.One of their most unique

products is the Robocoaster — a largerobot arm with one or two seatsattached, acting as an amusementpark ride. Figure 8 shows two peopleexperiencing the ride at a robotexhibition.

Germany has not been left outof the consumer robot market. TheGerman designed and built KärcherRC3000 Robocleaner is a pretty good

robot vacuum. It basically operatesmuch the same as the other popularbrands. It does, however, have oneunique feature: It automatically takesits collected dirt and dust back to the

combination base station/charger unitas seen in Figure 9 and deposits it,recharges itself, and heads back outto clean another room. Unlike some ofthe other top end robot vacuums, theKärcher does not use room mapping,relying instead on the randomcleaning approach. Kärcher has been

around for years and has built thepopular KMR 1200 commercial roadsweeper that they are now looking tomake entirely autonomous. Priced atan average of $1,500, the RC3000 isquite a bit more expensive than theRoomba but does offer someattractive features. It has not been aspopular as the Trilobite here in the USbut seems to be selling quite well inthe UK and the rest of Europe.

RoboticsDevelopment isShared in MostEuropean Countries

Europe has long been a leader inrobotics technology. Reis Robotics inObernburg, Germany, the FraunhoferInstitute for ManufacturingEngineering and Automation inStuttgart, Germany, the EuropeanRobotics Association based in Brussels,

Belgium, the LIRA-Lab at theUniversity of Genova, Italy, and theTKK Automation TechnologyLaboratory at the University of Finlandin Helsinki are just a few of the manyworld-class companies, organizations,and universities in Europe that havemade world news lately in the fieldof robotics.

NASA is not the only spaceagency developing lunar andplanetary rover technology. The

European Space Agency (ESA) hasbeen interested in studying the lunarcraters at the Moon’s poles, longthought to hold deposits of frozenwater. Not only is this necessary forlunar-based astronauts to drink, it isalso an important source of hydrogenand oxygen for fuel and breathing.Lunar orbiters have detected watervapor emissions but rovers are thekey to determining just how much iceis available.

This European agency established

78 SERVO 04.2009

FIGURE 9.

FIGURE 8.

Page 79: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 79/84

the ESA Lunar Robotics Challenge thatwas first conducted on the island ofTenerife in the Canary Islands off thecoast of Africa. The pumice landscapeof Minas de San Jose within Tenerife’sTeide National Park was an excellentstand-in for a stark lunar landscape.

Operating from a trailer situated

2 km up the side of the mountain,various teams controlled their roversto descend a steep 40° slope down acrater to grab a 100 gram sample ofspecially selected soil and return itback up the slope — in the dark. Allof the competing rovers had to be aspecific size, weight, and could notexceed a set power consumption.Considering that this was actuallyEarth, the contest was furthercomplicated by rain and clouds.

The German rover CESAR wonthe competition in much the samemanner as many robotic competitions— it was the only one that actuallycompleted the course. The three-wheeled rover shown in Figure 10gained the acronym from CraterExploration and SAmple Return.Though situated 2,000 km from themainland, the trailer — and thus thecompeting rovers — were in constantcommunication with the ESA TelecomDirectorate through satellite ground

stations and data links. As withmost robotic contests operating inadverse conditions, many of the eightcompeting teams faced mechanical,software, and other problems.

ERA: The EuropeanRobotic Arm

The ESA has worked on a designfor a space robotic servicing systemfor many years, and typical of very

expensive projects, it has beendelayed and mission uses havechanged. Called the ERA and built byFokker Space, the European RoboticArm will be used in the assembly andservicing of the Russian segment ofthe International Space Station calledthe Russian Multipurpose LaboratoryModule. It is expected to be launchedin late 2011 on a Russian Protonbooster from the BaikonurCosmodrome.

Figure 11 shows the ERA robotic

manipulator, remarkably similarto the original Canadarm usedon the Space Shuttle. It isdesigned to work with the newRussian airlock to transfer smallpayloads into and out of theInternational Space Station,thus reducing the astronaut’s

EVA activities. Another primeuse will be the positioning of acosmonaut (astronaut) foroperations on the externallocations of the Space Station.

The ERA manipulatorsystem consists of two endeffectors (to hold tools andpayloads), two wrist joints, twocarbon fiber cylindrical ‘limbs,’

SERVO 04.2009 79

FIGURE 11.

FIGURE 10.

Page 80: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 80/84

and one elbow joint. Both of the end effectors can functioneither as a gripper or an attached joint for a base. The endeffectors have high resolution cameras attached for video

control by the operators.The total length of the whole assembly is

11.3 meters and it has a reach of 9.7 meters.Weighing in at 630 kg, it can handle payloadsup to 8,000 kg. There are no plans at presentto have it operate on a mobile transportersystem that could place it in all locations of theSpace Station.

Robot Lucy

Europe is not just about building expensiverobot vacuum cleaners, world-class industrialrobots, and space-borne rovers. The EuropeanUnion has funded robotic rovers to delve intothe depths of erupting Mount Etna in Italy.EURON, the European Robotics Network hasinterconnected the robotics labs across themany European nations to foster transfer oftechnology and cooperation amongst the many

universities and industrial labs. This cooperationwas instrumental in the development of the iDroid, a fully-functioning humanoid robot that consumers could build forthemselves. One of the most interesting humanoid robots

that I saw in my research for this article was the bipedalrobot, LUCY.

The Robotics and Multibody Mechanics ResearchGroup of the Department of Mechanical Engineering atthe Vrije Universiteit, Brussels, Belgium (VUB) startedresearch on computer-aided analysis of rigid and flexiblemechanical systems back in 1990 and the evolution ofthis research culminated in the creation of LUCY. Now,we know of many bipedal robots developed around the

world, but few — if any — use the unique pneumaticmuscles shown in Figure 12.

Lucy is a lightweight anthropomorphic biped at 30 kgand stands 150 cm tall (about 5 feet). See Figure 13.The design team bypassed complex gear systems in favorof these lightweight pairs of antagonistic pneumaticactuators that act like our own muscles operating inpairs, opposing each other in motion. The ‘McKibbenMuscle’ has been used by experimenters here in the USand these researchers used the Air Muscle from theSchadow Robot Company. Seven 16-bit MC68HC916Y3microcontrollers operate the complete system built on

an AlSiMg1 aluminum alloy body structure.

Wrap-Up

As always, a trip through the many Internet sites onthese and many other unique sites will introduce you tosome cutting edge robots being designed and built.Virtually every country in Europe has robotic productsor on-going dedicated robot research. SV

FIGURE 12.

FIGURE 13.

Did you know that if you’re a paid subscriber to SERVOMagazine, you can get the online version for FREE ?

Go to www.servomagazine.com

80 SERVO 04.2009

Page 81: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 81/84

Electronic Parts & SuppliesSince 1967

www.NanoCore12.com

Loa d e d wit

h

brai n po w er

!O n l y $ 2 9 !

www.c-stamp.com

L O W

C O S T

!CONTROLLERS & ROBOT KITS – SENSORS – DISPLAYS

Free

Expert

Technical

Support

1 (800) 985-AWIT E a s y t o

C o n n e c t

L O W C O

S T ! LOW COSTProfessional SW Dev. Tools

For the finest in robots,

parts, and services, go towww .servomagazine.com

and click on Robo-Links.

All Electronics Corp. .................21, 81

AP Circuits/e-pcb.com .....................7

A-Wit/www.c-stamp.com ........21, 81

Basic Micro .......................................75

Budget Robotics ..............................17

CrustCrawler ......................Back Cover

CipherLinx Technologies .................81

Electronics123 .................................21

Hagisonic Co. .............................21, 81

Innovation First ..................................3

Jameco .............................................54

Lynxmotion, Inc. .................................2

Maker Faire .......................................82

Maxbotix ...........................................81

Parallax ..............................................71

PCB Pool .....................................55, 81

Pololu Robotics & Electronics ..63, 81

ROBOBusiness .................................67

Robotis .............................................37

RobotShop, Inc. ........................81, 83

Solarbotics/HVW ............................15

superbrightleds ...............................81

Technological Arts ...........................81

Vantec .................................................7

Advertiser Index

SERVO 04.2009 81

Page 82: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 82/84

Page 83: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 83/84

Page 84: Servo Magazine - April 2009

7/17/2019 Servo Magazine - April 2009

http://slidepdf.com/reader/full/servo-magazine-april-2009 84/84

“Build Smarter.”