Servo2006 07
Servo2006 07
ROBOT KITS
MUSCLE WIRE
We stock each of the products in our warehouse, so you can be confident your products are immediately available.
EnthusiastsStart Dreaming
Start with a kit today. When youre ready for discrete components, come back for gear boxes, servos, chassis components, electronics and much more!
WWW.ROBOTSTORE.COM/SRA
800.374.5764
HARDWARE
BOOKS
SERVO
ON THE COVER
44
Autonomous Robots and Multiple Sensors
by Bryan Bergeron Part 1: Fusion Fundamentals
51
Building (H-)Bridges
by Peter Best Learn how to build electronic circuitry that controls myriad functions within a motors magnetic domain.
SERVO Magazine (ISSN 1546-0592/CDN Pub Agree#40702530) is published monthly for $24.95 per year by T & L Publications, Inc., 430 Princeland Court, Corona, CA 92879. PERIODICALS POSTAGE PAID AT CORONA, CA AND AT ADDITIONAL ENTRY MAILING OFFICES. POSTMASTER: Send address changes to SERVO Magazine, P.O. Box 15277, North Hollywood, CA 91615 or Station A, P.O. Box 54,Windsor ON N9A 6J5; cpcreturns@servomagazine.com
SERVO 07.2006
07.2006
VOL. 4 NO. 7
Departments
06 07 24 25 26
Mind/Iron Bio-Feedback Events Calendar Robotics Showcase New Products
Columns
08
Robo-Links SERVO Bookstore Menagerie Advertisers Index Robytes
Stimulating Robot Tidbits
by Jeff Eckert
35 74 76 82
10 14 18 57 60 64 67 68 72 77 79
GeerHead
by David Geer
by Pete Miles
Programmable Logic
by Gerard Fonte
by Dan Kara
Robotics Resources
by Gordon McComb
Three Servo Hexapod Robot Kits The Robots Are Here! ... Well, Almost
by Jonathan Fant
by Pete Miles
by Tom Carroll
Coming 08.2006
The FaceWalker
SERVO 07.2006
Mind / Iron
by Gary Mauler
Wow, it was a great feeling that night knowing that our Robot Fest was once again a success and that we were done for another year. But even as our group of dedicated volunteers celebrated another successful Robot Fest over dinner, the conversation quickly turned to what we could do better next year. How quickly we forget the weeks of hard work and stress that go into planning, promoting, and running a Robot Fest! The one question that I am always asked is, Why do you keep volunteering each year? I usually ask myself that same question about four days before the event when I am totally stressed out! This was the sixth year for our Robot Fest. As usual, the weeks leading up to the event were exciting when we signed up a new robot team or group to attend the event but there were also the times when we received bad news that someone had to cancel. Then there is always the worry that no one will attend or that there will not be enough robots on display for the public. Volunteering to run an event can be an emotional roller coaster ride for all involved. The good news is that each time you go through the process, it really does get easier. It just does not seem like it at the time. To answer the question why we keep volunteering each year, you need to go back and answer the question, Why did you start down this path in the first place? For me, it was because I wanted to see the kids in our school have a new opportunity for a type of learning experience that our public school system was incapable of delivering alone. After doing some research on the Web and then attending an event sponsored by MIT called Mind Fest A Day of Playful Invention at the legendary Media Lab in Cambridge, MA, I wanted to see what would happen if I brought a similar gathering of robot techies to my community. I was quickly able to sell the idea of a Robot Technology Club to other parents, as well as the school administrators at my kids school. I proposed the format as an after-school activity, focused on applying the engineering process to building robots. Having met the fathers of the LEGO Robotics Invention System (Dr. Fred Martin, Dr. Mitchel Resnick, and Dr. Semor Papiet) at the MIT Media Lab, I quickly decided to purchase these innovative construction kits for our Technology Club. From that point on, I was involved. It was rewarding to see how much enjoyment the kids got from building LEGO robots. I experienced a lot of personal satisfaction each time a fifth grader expressed how much fun they had building robots. The real test of how successful our Technology Club was would come at 4 pm each Wednesday when the workshop was supposed to end for the day. But, instead of our kids waiting for the bell to ring, we actually had to boot them out the door! Another surprising measure of our Clubs success was when teachers approached me with a look of total amazement and told me that they had never seen kids so interested in what they were doing and that for some reason they could not figure out why I never seemed to have a discipline problem at our Club meetings. I guess we were doing something right! My feelings of satisfaction from so much positive feedback only made me want to volunteer more. The one question that I would always ask myself was, How could I make a geeky thing like the Technology Club COOL for the kids? The idea that we came up with was to organize a Robot Fest for all my geeky kids at the end of each school year. I reasoned that the other kids who participated in sports and other activities were constantly recognized in the local media and at school. I wanted to provide a day for my kids to be cool a day, where they could feel important and receive positive feedback from their peers and the general public that would attend the Robot Fest. I was fortunate to be associated with an elementary school located in a high
Mind/Iron Continued
Published Monthly By T & L Publications, Inc. 430 Princeland Court Corona, CA 92879-1300 (951) 371-8497 FAX (951) 371-3052 Product Order Line 1-800-783-4624 www.servomagazine.com Subscriptions Inside US 1-877-525-2539 Outside US 1-818-487-4545 P.O. Box 15277 North Hollywood, CA 91615 PUBLISHER Larry Lemieux publisher@servomagazine.com ASSOCIATE PUBLISHER/ VP OF SALES/MARKETING Robin Lemieux display@servomagazine.com CONTRIBUTING EDITORS Dave Prochnow Tom Carroll Pete Miles David Geer Jack Buffington R. Steven Rainwater Gordon McComb Dan Kara Chris Cooper Kevin Berry Jeff Eckert Simone Davalos Bryan Bergeron Steve Judd Evan Woolley Bryce Woolley Gary Mauler Gerard Fonte Jonathan Fant Peter Best CIRCULATION DIRECTOR Tracy Kerley subscribe@servomagazine.com WEB CONTENT/STORE Michael Kaudze sales@servomagazine.com PRODUCTION/GRAPHICS Shannon Lemieux ADMINISTRATIVE ASSISTANT
Debbie Stauffacher
Copyright 2006 by T & 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 assumes no responsibility for the availability or condition of advertised items or for the honesty of the advertiser.The publisher makes no claims for the legality of any item advertised in SERVO. This is the sole responsibility of the advertiser. Advertisers and their agencies agree to indemnify and protect the publisher from any and all claims, action, or expense arising from advertising placed in SERVO. Please send all editorial correspondence, UPS, overnight mail, and artwork to: 430 Princeland Court, Corona, CA 92879.
SERVO 07.2006
Dear SERVO: Great magazine guys. I am going to get into robotics and your magazine is fantastic! I have some suggestions regarding the reader who wondered how he could remove a broken tap. All of the 10 suggestions Mr. Roboto gave were very good. Maybe I
SERVO Magazine would like to sincerely apologize for two errors in Eric Scotts article "Pneumatic System Safety" in the June issue on page 24. First, we inadvertently mis-spelled his last name as Stott. Secondly, the paren-ed comment " ... (just come to our house!)" was not written by Scott. It was an in-house comment that was never intended to get printed. Our bad ...
could add some more. I teach adults in a trade school in Anjou, Quebec (in Montreal), sometimes in the machinist course but mostly the CNC course. Additional suggestions (to continue the previous list): 11) Buy and use only machine taps (not hand taps). These are sometimes named gun taps or spiral point taps. The advantage of these is that you do not have to keep backing out the tap just keep on going. They don't cost much more than the hand taps and are much easier to use. (For example, at KBC Tools a 3/816 manual tap sells for $3.60 CAN and
and stop volunteering. Unfortunately, in my six years of running the Robot Fest, I have seen at least two groups where the two lead volunteers developed volunteer burnout. It was a disappointment because they had been doing such a great job and their kids were getting an experience of a lifetime. If they had received better support from other parents, I believe that they would have still been at it today. The message is get involved. Volunteer leaders can also take steps to avoid their own volunteer burnout. There are two things that you can do is to evade this: delegate and train. I have seen too many volunteers try to do everything by themselves, mainly because it is easier if I just do it myself. It may seem that way, but there are probably some parents who would love to help if they only felt like they were welcome and needed. The other thing to remember is that as a volunteer, you need to constantly work on training your replacement so that you can move along with your own kids. The last thought that I would like to leave with you, is that this robot technology that we read about each month in SERVO Magazine is truly a fantastic learning tool for your children and those in your community. The one thing that I like about it is that the kids who participate are actually learning a ton of real, lifelong skills that will give them a leg-up over their peers. But they think that they are just having fun. (We fooled them, didnt we!?) They learn how to work as a team, lead, experiment, innovate, solve problems from different perspectives, communicate, and persist in finding the best solution. These skills prepare them to become great engineers and inventors who will fulfill the never-ending need for technology in our society. SV
tech area of our state. The group of volunteer parents working with the Club would not have been successful without the support of the school staff. I was lucky to have talented, committed, and dependable volunteers to help each week at the Technology Club workshops. The ratio of students-to-parents was 5:1! I truly believe this is what it takes to be successful when working with large groups of young students. The most amazing thing was that everyone was learning together how to build LEGO Mindstorm robots. Of course, the years of experience that my volunteers had in engineering and computer science ensured that the kids would be successful and not end up frustrated because they could not get something to work. The really hard thing for the adults was to NOT build the robots for the kids. We made sure that they worked as a team and learned through their mistakes. The kids also learned that there were many right answers a concept that was a little bit different from their normal school classes. The kids also learned that there is more than one right answer to solving problems. The big thing for everyone to remember is the importance of avoiding volunteer burnout. This is the responsibility of every volunteer, as well as the parents of the kids who participate. For example, even if you as a parent cant get off work to attend the club meetings or dont have the technical skills to coach the kids, you still need to find some way to volunteer to help those who are devoting so much of their personal time to help your children. Most people feel discouraged and putupon if everything falls on their shoulders. After a year or two, they become frustrated
a spiral point tap sells for $4.88 CAN.) 12) Make yourself an alignment block. This can be any small piece of scrap steel (say, 3/4 by 1 by 1/2 thick) in which you drill a series of holes that are simply slide-fit holes for all the taps you will be using (say #4 up to 3/8). As an example, you could drill a 1/4 hole for a 1/4 tap, etc. Ideally, you should drill these holes on a drill press (verify that the head of the drill press is reasonably square with the table). Then, when you wish to tap a hole (after you have drilled the proper hole example a #7 drill for a 1/4-20 tap), just position your new alignment block over the hole to be tapped, hold it down with one hand, insert the tap in the appropriate hole, and tap away. The alignment block will keep the tap at right angles to the surface being tapped. This works even when tapping in awkward positions like vertical or overhead. Of course, the tap-drill has to be drilled square to the surface for this to work. I made one of these alignment blocks about 20 years ago and I still have it and use it in my basement workshop. 13) Buy yourself a ratchet-action T-handle. I bought two sizes a small and a big one for about $20 each. After you have used one of these, you won't want to go back to the old T-handle! 14) To know the right size of drill for each tap, get a Tap-drill chart (usually free). I even typed the info that is contained on a tap-drill chart into my Zire Palm, so I always have the info at hand. I also compiled and entered into my Zire Palm charts for the sizes of various hardware (such as socket-head cap screws, etc.) and various handy formulas for calculating threads. 15) There was an article in the Oct/Nov 2002 issue of Machinists Workshop on how to make your own simple home-made EDM machine of the plunging type. When asking for a reprint at www.homeshop machinist.net, make sure you ask for the update information in the Dec
Continued on page 35
SERVO 07.2006
Robytes
re you an avid Internet surfer who came across something cool that we all need to see? Are you on an interesting R&D group and want to share what youre developing? Then send me an email! To submit related press releases and news items, please visit www.jkeckert.com
by Jeff Eckert
Jeff Eckert
A cockroach is strangely attracted to a tiny robot that has been coated with roach pheromones.
On a somewhat less appetizing level is some research conducted at the Universit Libre de Bruxelles, in Belgium (www.ulb.ac.be). Developed under the European Commissions Future and Emerging Technologies (FET) Initiative and dubbed project Leurre, small insect-like robots (insbots) were fitted with two motors, wheels, a rechargeable battery, several computer processors, a light-sensing camera, and an array of infrared proximity sensors. In an experiment, they were placed in a maze of curved walls wherein they proved their ability to navigate by avoiding the walls, obstacles, or each other, follow the walls, congregate around a lamp beam, and even line up. When placed in the same area with cockroaches, the robots adapted their behavior by mimicking the ani-
to come up with a system that will be less expensive (about $250,000), portable, and still versatile enough for a wide variety of operations. The basic idea is an extension of laparoscopic surgery, in which a surgeon uses instruments inserted through small openings, thus, eliminating large incisions that leave scars and require a long recovery time. Without robots, surgeons manipulate the laparoscopic probes with handles that remain outside the body. Using hand-held tools can be tricky because it is difficult to manipulate the devices. For example, there is the fulcrum effect in which moving the handle in one direction causes a probe to move in the opposite direction inside the body. But a robotic device can compensate for the effect. During robotic surgeries, the surgeon sits at a console and uses hand controls to direct robotic that move the probes and a Robotic Equipment Supports arms camera lets the surgeon see inside Minimally Invasive Surgery the body during the operation. The camera magnifies the view on a computer screen mounted on the console. The researchers are also trying to incorporate tactile sensors into the robots to enable surgeons to feel tissue so as to better diagnose medical conditions and tie them to CT scanners, ultrasound equipment, William Peine an assistant professor at Purdue and MRI devices for University operates hand controls for a surgical robot guidance. under development. Photo courtesy of Purdue News Service. Photo by David Umberger. The goal is to come up with a Robotic surgical devices (e.g., device that is suitable for such proceIntuitive Surgicals da Vinci system) are dures as the treatment of prostate highly useful for minimally invasive cancer, stomach surgery, and even surgery, but they are expensive and operations on heart valves without complicated. However, a mechanical the need for open-heart surgery. engineer at Purdue University (www. Apparently, the system will be purdue.edu) is working with doctors marketed by a company called mals movements. And when coated with pheromones taken from roaches, the robots even fooled the insects into thinking they were real creatures, after which the roaches apparently began to imitate the behavior of the insbots. (Two side projects in the Leurre program also experimented with sheep and chickens, but we wont go there.) And whats the point of all this? According to project coordinator Jean-Louis Deneubourg, We believe farming in Europe can only survive if it is associated with high technology ... A robot interacting with animals, even if it is not mobile, could be used for numerous tasks, such as herding or milking. Our project demonstrates that the fields of biology and IT can work together more closely in the future. Details are available at leurre.ulb.ac.be/index2.html
SERVO 07.2006
Robytes
Pressure Profile Systems (www. presureprofile.com), which already sells tactile sensitive devices. mechanical performance on multiaxis robots, welding robots, and manipulators; to connect rotating and tilting tables; and in other applications requiring bending and torsion movements. It is manufactured using flexible bare copper conductors, special polymer insulation, nonfriction tape, and an overall tinned copper braid shield, if needed. It also features an oil-, abrasion-, and spark-resistant polyurethane elastomer jacket and remains flexible through a temperature range of -40 to +80C. To locate your nearest dealer, just visit www.lappusa.com
The MSD-62M provides versatility for a range of applications. Photo courtesy of LNS Technologies.
If your latest project involves cables that must move and flex a great deal, you might want to take a look at the OLFLEX ROBOT F1 UL/CSA from Lapp USA. Introduced at this years National Manufacturing Week Show, it is designed to provide reliable
Recently introduced by LNS Technologies (techkits.com) is the MSD-62M stepper motor driver, designed for robots, CNC routers, engraving machines, security cameras, and a range of other build-it-yourself applications. It is based on the Allegro/Sanken SLA7062M IC chip, which combines low-power CMOS logic with high-current, high-voltage
power FET outputs. It is capable of handling motor winding currents of up to 3 A per phase, and it operates from a single supply voltage of 10 to 40 VDC. The drive works with any unipolar (six- and eight-wire) motor and is adjustable from 500 mA to 3 A via an onboard pot. LNS also offers the BSD-298, which works with bipolar (four- and nine-wire) motors. Either one will run you $89.95 assembled and tested. Kit versions are also available. Neither comes with a power supply, which will run you another $129.95. SV
SERVO 07.2006
by David Geer
Institute (creators of the robot vehicle) and Carnegies Director of Business Development Steve DiAntonio, I can tell you all about it.
Crusher
Crusher is a one-of-a-kind, 6.5 ton metal alloy unmanned robot vehicle. Traveling on six wheels, it looks at first like an over-sized RCd military toy. But this aluminum, titanium, and steelbellied monster packs a wallop at up to 26 mph on anything that it lands on (watch the videos at the links listed in the sidebar) or that gets in its path (it perceives and avoids obstacles that are too big for it to tangle with). Crushers precision mobility is enabled by six separate embedded electric motors in each of its six wheels. The motors are powered by a hybrid power system of rechargeable batterCrusher crossing a creek smooth sailing all the way!
ies, and the turbo diesel generator that recharges them. The hull (courtesy of CTC Technologies, Pennsylvania) is hightest (my slang for heavy-duty) aluminum tubing with titanium nodes with an outer skin (skid plate) of steel. This combination gives Crusher a high level of shock absorption from heavy impacts (youve really got to watch the videos). The Irish engineered suspension (Timony Technology, Meath) gives Crusher a smooth ride despite the usual (or man-made for testing) offroad hazards of huge boulder piles, barriers, and gulleys. If the Army ever needs Crusher to get really mean (as opposed to simply producing collateral damage), it can be fitted with more than 8,000 lbs of armor and weaponry payloads, as well as many other practical add-ons.
Crusher can quickly increase its speed, even in very difficult terrain.
10
SERVO 07.2006
tested with various payloads to determine the types of missions for which it will be optimal. Potential mission applications include: cargo vehicle, recon robot, soldier rescue, unmanned attack vehicle (with gun mount), and many more. It may be deployed in convoys that work in tandem to accomplish military objectives.
unmanned vehicle drives by wire using GPS waypoints to determine its next course of movement. It will soon be equipped with autonomous movement via various sensor packages. While there will always be communications between Crusher and a human operator, these will be limited to telling Crusher where to go how it gets there is up to Crusher and its systems. Developed for the military by the Carnegie Mellon Universitys Robotics Institutes National Robotics
Crusher being tested at Fort Knox.
SERVO 07.2006
11
GEERHEAD
CARNEGIE MELLON ROBOTICS NEEDS YOU!
We need great robotics engineers, says John Bares, Associate Professor, Carnegie Mellon Robotics Institute, ... and I say that seriously in the sense that, for young people reading this, they need to go out and get a good math, science, and physics education to do well. For other people, give us a call were looking for great people. Check out the Carnegie Mellon Robotics Institute and contacts at www.ri.cmu.edu
Engineering Center, Crusher will, for example, be able to drive several meters and sense ditches, hills, humps, bushes, and trees on its own and determine whether it can go through or around them. It will sense the terrain via laser sensor signals that go out, and by taking pictures of the terrain with digital cameras. The laser range finders send out about 75,000 pulses per second to measure distance. The cameras are digital cameras that take a video image, digitize it frame-by-frame, and analyze the objects in the frame via the pixels to determine what size and type
of object it may be. Based on the analysis of those pictures, it provides commands to its control system to guide its motors for movement. Additional sensors on crusher include speed sensors on the motors, sensors on the suspension system that measure angles, pressure sensors on the suspension to measure force, and inertial sensors so it can feel and respond to the shock. There are about 1,000 sensors on the vehicle. They report the state of every component and the engine has all the sensors a normal engine would. The sensors and computers mostly communicate via TCP/IP and UDP through a P2P (Point-toPoint) protocol.
There are two approaches to image processing here. Traditionally, you would program in all the intelligence about the terrain that is available and the robot would be limited to working from that to determine an appropriate course of action. For example, you would program in data that would determine whether Crusher is looking at a tree, boulder, ditch, and so on. You would program in information that the robot would use as its basis for determining whether the obstacle was sufficient to warrant a change of course. This method of programming and processing sensor image data requires that you model the outside world any potential environments the robot might face and that requires a lot of code. An optional approach that may be taken at some point is to program in the capacity to learn. If the robot can learn from its mistakes learn which obstacles it should avoid next time it can, to this degree, do its own programming of a sort and you avoid coding in every potential obstacle at the start.
Future Plans
There are two courses that the UPI, Spinner, and Crusher work could take. It could continue on in research, which could make room for another design cycle and further upgrades and improvements, according to DiAntonio. From there it would proceed to
12
SERVO 07.2006
GEERHEAD
third party research in autonomy and mobility, as well as other research by other organizations. There is a lot of work that could be done to even further advance Crushers off-road readiness. Or, the Army could at any point decide that Crusher is ready to go into production for military applications. According to Bares, there is also a third potential path for Crusher and its kind. The Carnegie Mellon Robotics Institute involves itself in both military and commercial robotics research. It may well be that well see Crusher in some commercial application before we see it in combat. Were trying to get these systems into commercial use in agricultural fields and mining, says Bares. This would be a great opportunity for Carnegie Mellon to get feedback on how such vehicles operate in the field as production models. It is also possible that the individual technologies growing in research and inside Crusher may be inherited by other projects. Whichever course Crusher takes, in the mean time, other systems will likely be built in parallel with Crusher that will become more and more autonomous.
site off the beaten path in Somerset County. If you are a government employee, a contractor associated with Future Combat Systems (FCS), or other robotic programs, you are invited to contact UPI program manager Dr. Larry Jackel at ljackel @darpa.mil to make arrangements to observe UPI field trials. SV
RESOURCES
Crusher site www.rec.ri.cmu.edu/projects/ crusher Crusher videos www.rec.ri.cmu.edu/projects/ crusher/videos/index.htm Numerous other CMU robotics projects www.rec.ri.cmu.edu/projects The QNX operating system www.qnx.com CMU Robotics Institute and contacts www.ri.cmu.edu
SERVO 07.2006
13
roboto@servomagazine.com
Tap into the sum of all human knowledge and get your questions answered here! From software algorithms to material selection, Mr. Roboto strives to meet you where you are and what more would you expect from a complex service droid?
by
Pete Miles
. What does vapor bot mean? I have seen it mentioned in this magazine a couple times and I havent been able to figure out what it means. Tim Caufman . Ah, the nebulous Vapor Bot. I also hear about them all the time and have yet had the privilege of actually seeing one. Well, the Vapor Bot is kind of like its name a Vapor. A collection of gasses that floats around, but is not really there. A Vapor Bot is actually a robot that hasnt quite been completed. Well, in most cases, its construction hasnt even started,
Kit Name Mechanical Kangaroo Mechanical Ostrich Boxing Fighter Mechanical Rabbit Mechanical Tiger Mechanical Pig Mechanical Beetle Mechanical Racing Horse Mechanical Dog Mechanical Giraffe Mechanical Turtle Mechanical Insect Wall Hugging Mouse Line Tracking Snail Mechanical Blow Fish
Q A
and many times these robots are just ideas and a box of parts. What makes Vapor Bots different from other uncompleted robotic projects is that the creators of the Vapor Bot talk about their robots to other robot builders as if it is a built (or almost a completed) robot. They will compare specifications, capabilities, materials, power sources, technical and fabrication issues, and performance. They will usually brag about how well their robot is going to perform in the next competition and how it will be able to beat certain other robots. When the contest comes, the robot builder shows up, and the mysterious
Locomotion Two-Legged Two-Legged Part Number 71102 71104 71107 71108 71109 71111 71103 71112 71101 71105 71106 71107 70068 75020 71114
Vapor Bot doesnt materialize. Now, dont misunderstand me in thinking that I am being critical of Vapor Bots and those who build them. Im not. I have about a dozen Vapor Bots for every robot that I actually get around to building. This is probably true for most if not all robot builders. All robots begin as a Vapor Bot. This is the beginning of the idea. There are many reasons why a robot doesnt get built or completed, but that doesnt mean that the robot isnt real in the builders minds eye.
Q A
. My 10-year-old son loves everything about robots and wants to learn how to build his own. Can you recommend anything that would be good for a 10-year-old? Beth Porter . Well, you have several choices here. If your son is interested in building things that look like robots, walk around like robots, and are simple to build, take a look at the simple robotics kits that are made by Tamiya. These are simple plastic kits that are easy to assemble. There are two-, four-, and six-legged walkers and some two-wheeled robots, and most can be purchased for less than $20. These kits are made out of clear plastic so you can see how all of the internal mechanisms work. They use a single AA battery to run the robots electric motor that drives a gearbox
Two-Legged Remote Control Four-Legged Four-Legged Four-Legged Four-Legged Four-Legged Four-Legged Four-Legged Four-Legged Six-Legged Remote Control Two-Wheeled Advanced Two-Wheeled Advanced Two-Finned Swimming
14
SERVO 07.2006
that moves a set of linkages that causes the legs to move. There is a lot of learning potential from these kits in that you can study how they work and your son can make copies of them to make larger-sized robots. My first robot was a one-foot tall copy of a simple windup tin robot. Table 1 shows a list of the different kits that Tamiya manufactures. These kits are available at most of your local hobby and toy stores for $15 to $30 each. For more information about these kits, visit Tamiyas website at www.tamiyausa.com and use a key word search of Robot Kits. The two Remote Control kits would enable more interactions with your son and offer the potential for a lot of modifications to add more capabilities (see Figure 1). Now, for a more advanced robot kit which I highly recommend there is the LEGO Mindstorms Invention system (www.legomindstorms.com). If your son is already playing with LEGOs, then the Mindstorms invention system is the next natural progression for him. With this system, you can build just about any type of robot your imagination can come up with. The LEGO Mindstorms system uses regular parts and has some special LEGO sensors, motors, and a microcontroller (brain) called the RCX brick. The RCX brick can control three different outputs (motors) and can read in three different sensor inputs. The RCX brick is programmed with a PC using a graphical-based programming language which is very intuitive and easy to learn. Each programming sequence is like a LEGO brick, and the program is snapped together like a regular LEGO structure. The CD that comes with the kit has a step-by-step guided tour that teaches how to build three different robots and how to program them. Within a few hours, your son will have a robot built from scratch programmed and following a black line on the ground. The LEGO Mindstorms Invention System is so popular and effective as a learning tool, an international robotics competition called FIRST LEGO League (www.firstlegoleague.org) was created to use them to help teach
. Is it possible to connect a Playstation 2 controller to my robot so I can drive it around? Seth Carson Minneapolis, MN
LEGO Mindstorms NXT NXT Brick
LEGO Mindstorms Invention System 2.0 Microcontroller Motors Sensors Number of Inputs Number of Outputs Programming Interface Number of LEGO Pieces RCX Brick
servo motors (continuous Two continuous DC motors Threeand position control) Two Touch, One Light Three Three Infrared 718 One Ultrasonic, One Sound, One Touch, One Light Four Three USB 516
Table 2. Comparison between the LEGO Mindstorms Invention and NXT systems.
SERVO 07.2006
15
finding the right connector for your controller to plug into. For some background information, take a look at two articles published in Nuts & Volts Magazine by Aaron Dahlen June 03 and Jon Williams September 03. Aarons article showed how to use a Playstation controller to control a Lynxmotion (www. lynxmotion.com) five-axis robotic arm and Jons article introduced some improvements Figure 2. Playstation Dual Shock 2 controller in the overall timing issues wired to a BASIC Stamp. of the controller along with providing a more generic code . Actually, this is not hard to do, for using the Playstation controller. Their and I am surprised that more peoarticles showed me how to get a BASIC ple arent already doing this. The Stamp and the Playstation controller to Playstation 2 Controller makes an exceltalk to each other (see Figure 2). lent robot controller since it has 14 digThe first thing you need to do is ital switches and four analog axes. With build a simple electrical interface for this, you can control almost any feature the controller. Aaron introduced the on a robot. The only hard part you are concept of using a transistor to invert going to have using this controller is the clock signal from a BASIC Stamp to
the Playstation controller so that the BASIC Stamps SHIFTIN and SHIFTOUT commands can be used to simplify the programming. Figure 3 shows my version of this circuit. This interface circuit can be built by removing the transistor and the 10K resistor and directly connecting the clock signal line from the controller directly to the 470 ohm resistor. But if this is done, then a manual method will be needed to toggle the clock line while reading in each bit of data from the data line. It turns out that not using hardware to invert the clock signal has a significant effect on the amount of time it takes to read in the data from a Playstation controller. Using the SHIFTIN and SHIFTOUT commands works well for reading in all the data from the buttons and three of the four joystick positions. But bit 7 of data from the y-axis of the left joystick is always set high due to the way the SHIFTIN command works and how the controller releases the data line. Jons example code solves this problem by manually generating the clock signal for Figure 3. Electrical schematic for wiring a Playstation controller to a BASIC Stamp. the last byte of data. So a +5V combination of SHIFTIN, SHIFTOUT, and manually toggling the clock line while reading in the data signals ensures reading 10 Kohm in all the data from the controller accurately. The manual method Vdd P4 DATA of toggling the clock line while reading in each P5 COMMAND bit of data from the 220 ohm controller works well, but +9V FOR VIBRATION MOTOR POWER there is a time penalty. With the BASIC Stamp, it GROUND P6 takes about 3.5 times 220 ohm longer to work with all 10 Vdd (+3V to +5V) bytes of data that are 10 Kohm transmitted between the BASIC STAMP 2 ATTENTION Stamp and the Playstation FAMILY controller when using the CLOCK manual method over a 2N3904 combination of using the NOT CONNECTED Stamps built-in SHIFTIN, P7 SHIFTOUT commands. GND 470 ohm ACKNOWLEDGE With a regular BASIC Stamp 2, it takes PLAYSTATION 2 CONTROLLER PLUG about 145 ms to read AS VIEWED FROM THE MALE END the controller using a pure manual method, SERVO 07.2006
16
and it takes about 40 ms DATA to read in the data using Variable Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 the SHIFTIN and Byte Cmd SHIFTOUT command 01 0x01 PsxOut N/A approach. This is a good 02 0x42 PsxOut/PsxIn 0x41 in Digital Mode, 0x73 in Analog Mode example of why using 03 N/A PsxStatus 0x5A some additional hardware along with some 04 N/A PsxThumbL Left Arrow Down Right Up Start N/A N/A Select built-in commands from a 05 N/A PsxThumbR Square X O Triangle R1 L1 R2 L2 microcontroller can greatly improve the overall 06 N/A PsxJoyRX Right Joystick: Left = 0, Neutral = 127, Right = 255 X-Axis cycle timing of a project. 07 N/A PsxJoyRY Right Joystick: Up = 0, Neutral = 127, Down = 255 Y-Axis Depending on your 08 N/A PsxJoyLX Left Joystick: Left = 0, Neutral = 127, Right - 255 X-Axis robot, 40 ms may be too long. For example, many 09 N/A PsxJoyLY Left Joystick: Up = 0, Neutral = 127, Down = 255 Y-Axis robots use model airplane Table 3. Button and joystick position mapping from the Playstation controller. servos as drive motors and joint actuators, and (www.inteclink.com) at a local these servos require their position to be set of three-pin female connectors with department store for $5. The cover is updated every 20 ms (unless a dedicat0.156 inch spacing can also be used to easily popped off by pushing a small ed servo controller is being used.) plug into the connector. SV screwdriver in the seam between When there is a need for speed, I like the top and bottom covers. to use the BASIC Stamp 2px24. With Figure 4. Internal view of a Figure 4 shows the internal this Stamp, the amount of time needed Playstation connector. wiring inside this connector. The to read the Playstation controller is only existing wiring can be removed and 9 ms, which is over four times faster replaced with your own cable. Or, the than a regular BASIC Stamp 2. existing cable can be cut somewhere The sample program (available on along its six-foot length, and the the Nuts & Volts website, www.nuts wires from the cut end of the cable volts.com) is a simplified version of the connected to your own connector. program that Jon Williams published in The pin spacing in this connechis article in September 03. The subroutine named PSX_TxRx is the manual tor is 0.156 inches, and the nine method for toggling the clock line pins are divided into groups of three while reading in each bit of data for a pins separated by a divider wall. A single byte. Table 3 maps which button position with the DATA results from the controller, along with the variable name from the program example. All of the buttons are active low. As mentioned earlier, the hardest part of using a Playstation controller is probably finding a plug for the controller since this is a non-standard and proprietary plug design. I found a six-foot extension cable made by Intec
RESOURCES
Playstation 2 wiring http://pinouts.ru/data/play station_9_pinout.shtml Aaron Dahlens article and Jon Williams article www.nutsvolts.com
SERVO 07.2006
17
this suit remains to be seen, it still models ideas on a small scale that could viably be used in the full scale Tetsujin competition, and perhaps beyond.
THE EXOSUIT!
18
SERVO 07.2006
ROBONOVA PROGRAMMING.
robots and, as a consequence of that, some of the pieces that we fabricated for the Super Robonova (namely our leg braces) ended up on a solar powered boat (dont ask). Only a minor setback, because we had plenty more scrap aluminum out of which to remake the parts. The leg braces would serve the balancing function both when the Robonova is on and off, because the limp deactivated bot is quite a bother to work with. Now with the supportive braces, Robonova was easier to use as a model for further modifications without having to turn it on or reset the neutral position every time we wanted to try something in a new position. Other modifications that needed to be made included shaping the end effectors. The arm extensions needed to succeed where the Robonovas plastic fists (and human hands, in real world applications) fail. Since the exosuit could be fashioned specifically for each task, the end effectors for the cylinder stacking challenge needed simply to conform to the cylinders that required manipulation. Instead of tackling the ambitious complexity of mechanical fingers, we opted to fashion some simple curved end effectors that would conform to the sides of the cylinders and hold on to them via friction and pressure. The servo-powered arms of the Robonova would supply the pressure, and some rubber lining on the arm extensions would provide sufficient friction.
ROBOSCRIPT.
hack essentially complete, we were ready to program the Robonova. The Robonova comes with two methods of programming: text-based RoboBASIC and a graphical interface called RoboScript. For the purposes of programming for the Tetsujin challenges, RoboScript proved to be a more efficient method of programming. Events like cylinder stacking and weight lifting involve relatively simple motions, so the simplified programming was a nice fit. The walking race demanded the complex motion of walking, but thankfully the Robonova came with demo programs that took care of this more difficult gait. RoboScript conveniently labels the groups of servos by their respective appendages right arm, left leg, etc. which makes for user-friendly programming. Each group contains adjustable dials that can be manipulated to achieve the desired position with the Robonova. An adjustment of the dial corresponds to a proportional movement in the servo. Perhaps the best accommodation that RoboScript offers is that if you have the Robonova hooked up to the computer while you are programming, adjusting a dial in the program will generate the corresponding motion in the actual Robonova; you will see the movements as you program them. This helps to take a great deal of the guesswork out of programming, because it allows the user to base their commands on qualitative observations of the Robonova and not just a series of abstract numbers. The most significant limitation of RoboScript is that what was just described is essentially the extent of the program. It consists entirely of programming individual moves with the graphical dials. It does not have the capacity for subroutines or loops, let alone sensory input, so it is really best suited to simple programs that do not include repetitive sequences of motion. The essential motion of the cylinder
SERVO 07.2006
19
CYLINDER STACKING.
stacking is indeed simple; just grabbing, lifting, turning, putting down, and releasing. But this motion does need to be completed several times once for each cylinder. This would be a prime location for a FOR loop in the RoboBASIC, but copy and paste should also do the job in RoboScript. back. And when the Robonova was kept on for an extended period of time while trying to write programs, it would eventually have the type of mechanical seizure that earned it the literary moniker. So, although we did not have a competition deadline to complete the project by like entrants in the Tetsujin competition do we did have a deadline from our editor to finish this project, so we effectively ran out of time to execute more thorough troubleshooting and diagnostics on the ailing system. Even so, partial tests showed the Robonova able to complete parts of the challenge, like gripping a cylinder. Were quite sure clever tinkerers could come up with some solutions to these mysterious problems, and were also pretty sure these problems were out of the ordinary. But even though the effectiveness of our design could not be tested through the challenge, the process and implications of this project can still be evaluated. So what does an exosuit for the Robonova tell us about exosuits applied on a larger scale?
Stack Attack
With the mechanical augmentations complete and the programming done, it was time to test the Robonovas new exosuit for the cylinder stacking challenge. However, our efforts at testing were stymied by another attack of the Prince Myshkin syndrome mentioned in the previous article on the Super Robonova it was essentially incapacitated by mysterious bouts of uncontrollable motion. The Robonovas left leg would constantly kick forward, despite attempts to remedy the problem with software by resetting the zero point and with hardware by resetting the servo horn to start the leg at a position farther
20
SERVO 07.2006
DEGREES
OF FREEDOM.
SERVO 07.2006
21
Acknowledgements
We would like to extend a special thanks to Tony Ohm at Hitec for advice on the mysterious servo issues.
22
SERVO 07.2006
Send updates, new listings, corrections, complaints, and suggestions to: steve@ncc.com or FAX 972-404-0269 If you're in Boston this July, make a point to see the AAAI Robot Competition and Exhibition. These folks always put on some unique and challenging events. This year, the events include The Robot Scavenger hunt in which robots must search the conference hotel for a list of items that include people and information. The items can only be found at specific locations and times. During their quest, the robots will have to deal with all the usual things found in the middle of a busy technical conference, including lots of people walking around. To succeed, a robot has to be good at interacting with people and the environment. Human interaction is further emphasized by their next event, named (surprise!): Human Robot Interaction. In this one robots are scored on their ability to complete tasks that fall into several categories. The easiest examples include recognition of and reaction to human gestures, recognition of human emotion and appropriate emotional expression, and natural language understanding and action execution. Want a more challenging task? How about: shared attention, common workspace, intent detection. This task requires the robot to do things such as remembering referents from previous sentences and being able to disambiguate this and that; following human eye gaze to determine objects of interest in the environment, and using shared attention in constructing referents in sentences or picking topics of conversation. These sorts of events sound like a lot of fun to me and they promote the development of useful, general-purpose robots. I'm sure somebody out there is thinking, if they just added a flame-thrower and power saw. You might prefer to check out the War-Bots Xtreme combat event in that case! Know of any robot competitions I've missed? Is your local school or robot group planning a contest? Send an email to steve@ncc.com and tell me about it. Be sure to include the date and location of your contest. If you have a website with contest info, send along the URL, as well so we can tell everyone else about it. For last-minute updates and changes, you can always find the most recent version of the Robot Competition FAQ at Robots.net: http://robots.net/rcfaq.html R. Steven Rainwater standardized kits. www.botball.org
Great World City, Republic of Singapore Annual competition for student-built micromouse robots. Students from secondary schools, junior colleges, and technical schools have been participating in this contest for 16 years. www.np.edu.sg/~adp-alpha/micromouse/mice _main.htm Boston, MA This long-standing competition for autonomous robots typically includes the Robot Challenge, in which robots navigate the conference center; Robot Rescue, in which robots must locate injured humans in a disaster area; and Hors d'oeuvres anyone? in which robots must serve and interact with humans. www.aaai.org/Conferences/National Las Vegas, NV Includes three events: Two-wheel drive K*bots (autonomous), Four-wheel drive K*bots (autonomous), and Cyber K*bot Division (R/C). www.livingjungle.com Saskatoon, Saskatchewan, Canada Radio-controlled vehicles destroy each other. www.warbotsxtreme.com AUVS International Aerial Robotics Competition US Army Soldier Battle Lab, Fort Benning, GA Flying robots are required to complete a fully autonomous ingress of 3 km to an urban area, locate a particular structure from among many, identify all of the true openings in the correct structure, fly in or send in a sensor that can find one of three targets, and relay video or still photographs back 3 km to the origin in under 15 minutes. And that's just one of three scenarios! http://avdil.gtri.gatech.edu/AUVS/IARCLaunch Point.html
27
J u ly
7-10
Botball National Tournament Norman, OK Teams compete with autonomous robots built from
24
SERVO 07.2006
August
2-6
AUVS International Undersea Robotics Competition US Navy TRANSDEC, San Diego, CA Autonomous underwater robots must complete a course with various requirements that change each year. www.auvsi.org/competitions/water.cfm Elevator:2010 Climber Competition Mountain View, CA Autonomous climber robot must ascend a 60 meter scale model of a space elevator using power from a 10 kW Xenon search light at the base.
www.elevator2010.org/site/competition Climber2005.html
20
RoboCountry Takamtsu City, Kagawa, Japan Described on the website as humanoid robot combat presented by the Kagawa Humanoid Robot Society. www6.ocn.ne.jp/~robotics
S e p te m b e r
9
SWARC Texas Cup Mike's Hobby Shop, Carrolton, TX Radio-controlled vehicles destroy each other Texas-style. www.robotrebellion.net
Robotics Showcase
THOUSANDS OF ELECTRONIC
PA R T S A N D S U P P L I E S
www.allelectronics.com
WALL TRANSFORMERS, ALARMS, FUSES, CABLE TIES, RELAYS, OPTO ELECTRONICS, KNOBS, VIDEO ACCESSORIES, SIRENS, SOLDER ACCESSORIES, MOTORS, DIODES, HEAT SINKS, CAPACITORS, CHOKES, TOOLS, FASTENERS, TERMINAL STRIPS, CRIMP CONNECTORS, L.E.D.S., DISPLAYS, FANS, BREADBOARDS, RESISTORS, SOLAR CELLS, BUZZERS, BATTERIES, MAGNETS, CAMERAS, DC-DC CONVERTERS, HEADPHONES, LAMPS, PANEL METERS, SWITCHES, SPEAKERS, PELTIER DEVICES, and much more....
N`]]dNYl[`]j
KD
O R D E R TO L L F R E E
1-800-826-5432
Ask for our FREE 96 page catalog
ooofmZgla[k[ge
SERVO 07.2006
25
New Products
N E W P RO D U C T S
COMMERCIAL ROBOTS Pioneering Drinkmation
otomans new RoboBar HP offers complete robotic bartending and beverage dispensing solutions. Three versions are now available: Robobar HP, Robobar E, and Robobar NA RoboBar HP Faster than the most experienced human barkeep, able to produce a perfectly mixed drink every 10-15 seconds, Motomans new RoboBar high-production model is a complete, self-contained robotic bar designed for use in casinos and other high-volume service bar applications where human servers deliver the drinks to customers. The bartender is a unique, dual-arm Motoman DA9IC robot with a compact NXC100 controller housed in its base. The two manipulator arms on this innovative robot each have five axes of motion, and the base also rotates to provide an eleventh axis of motion, allowing RoboBar to perform a wide range of operations quickly, accurately, and efficiently. One robot arm is equipped with a simple parallel jaw gripper that handles cups, glasses, and beer bottles. Up to eight dispensing guns are mounted on the robots other arm. Each gun can dispense up to 16 different ingredients (128 total), including liquors, mixes, juices, and wines in any combination. RoboBar is not only fast, it mixes each drink perfectly every time, eliminating lost revenues due to spillage and overpours. The robot places multiple drinks onto a tray that shuttles in and out of the cell. A safety enclosure is included. The robot is highly reliable and programming it is simple. The user interface is intuitive and graphics-based. Servers enter their drink orders using a touch screen interface, which also identifies each drink on the tray. The number of drink recipes that can be programmed is virtually unlimited. Various options can be configured to customize RoboBar HP to meet the unique needs of specific service bar applications. RoboBar E For lower-volume applications, the RoboBar E (Entertainment model) is a star pourer that draws people like a magnet. This model uses the same dual-arm DA9IC robot equipped with simple parallel jaw grippers mounted on each arm that allows it to operate much like
a human bartender only better. RoboBar E is designed to use a magnetic card scanner to authorize drink service. After a valid card swipe, the customer uses a touch screen to choose a beverage. The Motoman robot selects a cup, and then fills it with the appropriate beverage(s) and ice, if desired. The robot holds the glass or cup in one gripper while it pours from a bottle held in its other gripper. The robot might also move the cup to a dispenser for ice, beer, wine, juices, or soda, as needed, before placing it on a drink delivery slide for customer pickup. RoboBar E includes the robot, dispensers for beer, soda and juices, cups, and ice. A flat-panel video screen provides a selectable personality for your RoboBar. Customers can choose a male or female personality, with matching voice. The RoboBar personality can also be customized. RoboBar NA Operating much like the RoboBar E model, Motoman offers a RoboBar NA (No Alcohol) version designed to dispense hot coffee drinks, such as coffee, espressos, cappuccinos, and lattes, as well as a variety of soft drinks, such as sodas, juices, and other non-alcoholic beverages. However, since no proof of legal drinking age is required for non-alcoholic beverage purchases, RoboBar NA does not require use of a magnetic card scanner to authorize drink service. The RoboBar E and NA models are available for purchase, lease, or event rental. The RoboBar HP model is available for purchase or lease only. For further information, please contact:
Motoman, Inc.
805 Liberty Ln. West Carrollton, OH 45449 Tel: 9378476200 Email: info@motoman.com Website: www.motoman.com
UKA Robotics Corporation a leading global manufacturer of industrial robots offers the KUKA
26
SERVO 07.2006
New Products
JET robot which is a six-axis robot mounted on a linear unit. The new robot is designed for customers with applications that entail long reach tasks. The six-axis robot is mounted either upside down or sideways on the linear rail, depending on the application and is available in four configurations with different reaches and working ranges. Customers with applications where long distances need to be traversed will find the KUKA JET robot ideal, said Kevin Kozuszek, director of marketing for KUKA Robotics. The robot combines the speed of a linear axis and the flexibility of a six-axis robot making it ideal for handling tasks in multiple industries including injection molding, die casting, machine tool manufacturing, and logistics. The KUKA JET robots enhanced maneuverability allows machines to be tended through narrow openings and parts precisely positioned even within the machine. It also allows parts to be withdrawn from the machine in a longitudinal direction. This makes it possible to serve a number of machines in a row, resulting in optimal material flow. Up to two robots can be controlled on one linear axis. Additionally, the installation can be configured to allow several machines to be tended by one combination. Payloads range from 30 to 60 kilograms. The companys five- and six-axis robots range from 3 kg to 570 kg payloads, and 635 mm to 3,700 mm reach, all controlled from a common PC based controller platform. KUKA robots are utilized in a diverse range of industries including the appliance, automotive, aerospace, consumer goods, logistics, food, pharmaceutical, medical, foundry, and plastics industries and in multiple applications including material handling, machine loading, assembly, packaging, palletizing, welding, bending, joining, and surface finishing. For further information, please contact: dispensing, and production applications. The controller identified as the Centurion features as standard a 32K battery backed memory capable of storing 10 programs (switch selectable) and up to 5,000 motion commands, eight digital inputs, eight digital outputs, operator control panel, remote start and stop capability, manual jog feature, watchdog timer, and motion control software. The controller is designed to communicate with a PC via an RS232 interface. Connections for I/O are made with plug-able screw terminals located on the controllers back panel and motor connection is made with a nine-pin D connector. The Techno motion control software included with the controller, is a user-friendly, integrated programming environment. It features a program editor, compiler, communications program, and jog program with teach mode. The editor and compiler allow the editing and compilation of a motion control program using simple, English-style commands. The communications program allows complete control of and transfer of a program from the PC to the controller. The jog program allows manual positioning of the motor from the PCs keyboard. It also has a teach mode which will automatically generate a program. Once a program is loaded into the controllers memory, it may be controlled either from the PC or from the controllers front panel. The Centurion controller may also be completely disconnected from the PC for completely stand-alone use. The Centurion controller is available with a choice of three different motor drivers capable of providing continuous currents from 1-6 A per phase. For further information, please contact:
22500 Key Dr. Clinton Township, MI 48036 Tel: 5865692082 Fax: 8663295852 Email: info@kukarobotics.com Website: www.kukarobotics.com
2101 Jericho Turnpike New Hyde Park, NY 11040 Tel: 8008193366 Fax: 5163582576
new low-cost single axis stepper motor controller/ driver from Techno-Isel is completely self-contained and comes ready to plug in for immediate use. It is capable of controlling and driving two or four phase stepper motors and features integrated I/O. This controller/driver is designed to perform a variety of automation-related, motion control, inspection,
newproducts@servomagazine.com
SERVO 07.2006
27
PARTICIPATI N
Organizing a Combat Event Not For the Faint of Heart
by Kevin Berry
Events 31 Upcoming July 33 Results April and May Technical Knowledge 32 Tips for Combat Robot
Builders
by Steve Judd
ou just left your first combat event and you are totally jazzed. The people, the destruction, the pure fun have you hooked. Like many new builders, you want to share the fun back home at your school, club, or community. Before you rush into holding your first event, you need to think about whats required, and avoid some of the pitfalls new (and experienced) organizers stumble into. First, you need to make a key decision, following something known in the combat community as Judds Law. Per this piece of hard-won wisdom, you need to decide if youre holding a show or an event. By a commonlyaccepted definition, in a Show, the fights happen per a rigid schedule, and if someone isnt ready, they forfeit. In fact, at many shows, there is no actual competition outside the box
no winners or losers. This format maximizes excitement and predictability for the spectators and venue, while setting aside the unpredictable nature of combat damage, and the variable time needed to repair broken bots. This allows selling tickets for specifically scheduled sessions. An Event, on the other hand, revolves around the builders, and spectators view on a catch as catch can basis. Sets of brackets, while tentatively scheduled, are run only when ready, and fights may be postponed if the bots arent repaired. This isnt to say that Event Organizers (EOs) dont try to keep things moving, or have alternate brackets planned. Its just that things are a bit looser schedule-wise and priority rests with the builders. So, youve decided on your format, and its time to put in place the Three Ps of an EO: People, Promotion, and Process. The combat community is very
28
SERVO 07.2006
forgiving of people who try hard and seek advice and assistance, but very critical of those who ignore good advice, and even tougher on those who try to ego their way through an obvious failure. So your approach should be a humble heart, a steely will, and lots of communication.
People
The people part of the equation is critical. Many, if not most, disastrous event failures can be traced to lack of dedicated bodies to plan, set up, run, and tear down an event. While builders are VERY willing to pitch in, they really ought to be spending their time honing bots and charging batteries, rather than building an arena at the last second, or helping construct brackets. Assembling a dedicated staff ahead of time is one key to ensuring success. If the staff actually knows what they are doing and are given freedom to manage their areas, so much the better. But even having a table with a sign marked Registration with an inexperienced volunteer, who can take money and weigh bots, is a step above what some events wind up providing.
Promotion
Promotion is a very tough subject. Some EOs have learned to their chagrin that just scheduling an event and trusting that enough people will show up is a quick route to failure. On the other hand, starryeyed expectations of rowdy crowds, knocking down barricades in their rush to buy expensive tickets havent typically materialized. The news media has been ho-hum about the whole sport since TV coverage died, although many local papers will run articles if there is a human interest angle. Hard-won experience teaches that, with a few notable exceptions, its easier to take the event to the crowds, rather than drawing masses of people to a remote venue. Insect
events have done well at shopping veterans, and get your team (and malls, school fairs, college open outsiders) to review your planning, houses, and hobby stores. Bigger youll do well. Its amazing how events have drawn crowds when many obvious things get forgotten paired with other large gatherings, when youre working without a plan. like Labor Days Dragon*Con in Your plan should be in place AT Atlanta, Combots shows in LEAST three months before the California, or ROBOlympics in San event. The bigger the event, the Francisco. farther ahead you should have your The second part of promotion is list ready (up to six or more months getting builders to come. The Delphi for large gatherings). Forums, Builders Database, and RFL Communicate, communicate, site are common places to advertise. communicate. Answer emails and In my experience, personal contact is phone calls until youre sick of them, the single best way to draw builders. then do it again. Opinions on this For smaller, 2030 bot insect events, may vary, but Id plan to spend four I usually send 150200 emails over to 10 hours a week just communicatthe three months prior to the event, ing between your team members, plus uncounted IM chats. This key builders, sponsors, venue includes known builders, and blind providers, and others. Besides the emails to school districts, clubs, 200 emails to builders I mentioned charitable organizations, clubs, and above, I know Ive sent and received universities. well over 500 between the key three When I organized the insect porto five team members who are going tion of Battle Beach 2 by actual to run an event. This point cannot be count I sent over 200 emails to builders, and cant even begin to esti- EVENT ORGANIZERS CHECKLIST mate the number of tele- Venue commitment and rules phone calls and IM chats. Arena(s) and setup/teardown crew Tent or area for pits, power strips, extension cords, Process tables, chairs Dirty Work area and tools The process of organ- Safety official izing any event whether Announcer, PA/boom box and music its a charity walk-a-thon or Referees, judges combat robot fight is Frequency clips simple but critical. Team Timer, tap out lights members have to know Scales, check-in volunteer what their responsibilities Publicly stated expectations of sportsmanship, fun, are, how much authority tough but fair fights, enforcement of safety they have to make deci- Rule set sions, and when they are Coordination on transportation/storage for the arena before and after the event to complete tasks. Leading an all-volunteer team is Access to a large pool of experienced builders/fighters high art, requiring a Crowd control devices and/or traffic directors unique set of skills. There are a couple of Parking, loading zones components to the Awards, prizes, publicity mechanical side of event Sponsors organization, those being: Insurance, Fire Marshall, Public Safety have a written plan and First Aid kit, fire extinguisher communicate intensely. If Treasurer, entry fees, payments you, as a new EO, write Lighting, signs, staff tables, and chairs down your to-do list, Board and/or computer for brackets solicit similar lists from RFL sanctioning Builders Database SERVO 07.2006
29
stressed enough nothing kills an event quicker than poor or nonexistent communication!
Pain
Finally, heres the last key to running an event. (I know I said theres only three, but consider this a bonus item.) Repeat EOs have to
have the thickest skin on any mammal, bar none. Survival of the fittest matters here, too. There will ALWAYS be someone who could have done it better, thinks youre a jerk, or feels unfairly treated. If youve followed the steps above, though, you know youve satisfied the majority of the community, and your reputation will grow. Nothing
beats the satisfaction of hearing from happy builders that they cant wait for your next event. So, if youre excited about the sport and want to hold your own event, press ahead! Just remember the key ideas Ive explained, and get ready for the headaches, stress, and incredible satisfaction headed your way. SV
Safety Tip Installing Holes: Drill Safety for the Home Hacker
by Kevin Berry
rilling holes is one of the most basic shop tasks and also one of the most dangerous. There are dozens of mistakes that can be made while drilling, and Ive done them all. Rule #1 is to wear safety glasses. Everybody thinks they can do just this one hole without them, but getting a shaving out of your eye soon teaches the value of wearing them every single time. Rule #2 is to always use clamps to hold the material whether using a handheld drill or a press. Invariably, either the drill binds and the material spins, gouging soft tissue along the way, or else the drill punches through into whatever is holding it (often the hand of the driller). The motor spinning the drill is much stronger than the human hand, otherwise wed all just hold the bits in our fingers! Rule #3 on the hit parade is to properly size the drill bits to the job. Drilling progressively larger holes is often safer than trying to hog out a giant hole all at once. Also, a common mistake when using small diameter bits is having too much outside the chuck, causing them to snap easily. Refer to Rule #1 about this one. Home builders are used to thinking about drilling as a mundane task, but true machinists will spend ten times as long setting up to drill a hole, as they do actually spinning the bit. Safety and precision go hand-in-hand, but the material doesnt!
In the frenzy of last minute building, or repairing in the pits, its easy to say this one time wont matter. Well, theres a saying my shop teacher used on us theres never time to do it safely, but theres always time for first aid. Blood is your friend, as long as its on the inside. Keep it there! SV
Marc DeVidts, creator of the Builders Database, shows how to break all three rules, plus a couple more! Photo courtesy of Marc DeVidts.
attle Beach 4 was held on April 8th and 9th, at the Volusia County Fairgrounds in Deland, FL. About 60 bots ranging from 150 gram Fairyweights to 220 pound Heavyweights slugged it out in the two arenas. This was a builderoriented event, heavy on action. Several classes ran round-robin formats, allowing more fights per team than a standard double elimination tree. Especially popular with the spectators were appliance demolition exhibitions and ad hoc rumbles. The new venue was much appreciated by builders, with airconditioned pits and a hard roof to fend off the traditional Battle Beach monsoon rainstorms. While the rains held off this year, having both pits
and arenas in one building was a muchappreciated perk to builders who came from as far away as California, Oregon, New York, Pennsylvania, and Wisconsin to enjoy the action. Battle Beachs sponsors included Vantec, 80/20 Surplus, Titanium Joe, Microbotparts, UI Productions, Team Ninja, Team Moon, Robot Magazine, and, of course, SERVO Magazine.
CM Robotics SHW Ziggy shows why wheels, motors, and a weapon are requirements for a combat bot! Photo courtesy of Team Moon.
30
SERVO 07.2006
Small but enthusiastic crowds watched combat bouts and appliance destruction at Battle Beach 4. Photo courtesy of Team Toad.
Brainstorm spins up in the Battle Beach arena as it climbs to a first place finish. Photo courtesy of Team Toad.
Middleweight Brainstorm relies on offensive armor to protect its weapon motor. Photo courtesy of Team Toad.
Fight Results
airyweights 1st: Doodlebug, Team Ninja, Pusher; 2nd: Puckthud, Team Thorn, Thwack; 3rd: Puckpump, Team Thorn, Horizontal Spinner.
ightweights 1st: Ground Zero, Team O-Town, Full Body Spinner; 2nd: Crocbot, Team Gator, Speed Bump; 3rd: Street Thug, Skarn, Beater.
Best Driver Fuzzy Maudlin, Team Toad Sportsmanship Award Alex Grant, A.G. Robotics Best Engineered Robot Pandemic, Weapons of Miniature Destruction Best-Dressed Team Team Toad Best Robot John Henry, Legendary Robotic Most Awesome Loss Household Trash, Divine Mechanics SV
A B
ntweights 1st: Peligo, Berserk Robotics, Horizontal Spinner; 2nd: Pirhana, Team Ninja, Vertical Spinner; 3rd: Pop Quiz, Team Test Bot, Horizontal Spinner. eetleweights 1st: John Henry, Legendary Robotics, Wedge; 2nd: Ron, Overvolted Robots, Saw/clamper; 3rd: Creepy Crawler, Team-X-Bots, Wedge. antisweights 1st: Mantis From Hell, Team V. Wedge; 2nd: Thwaxident, Insane Robotics, Thwack; 3rd: Rhino Viper, Team Diamond Back, Horizontal Spinner.
M H
iddleweights 1st: BrainStorm, Big Bang Robotics, Horizontal Spinner; 2nd: Lionheart, Team Toad, Wedge; 3rd: Ice Cube, Team Toad, Wedge. eavyweights 1st: Eugene, Team Moon, Horizontal Spinner; 2nd: Pandemic, Weapons of Miniature Destruction, Vertical Spinner.
Other Awards
M H F
(By Builder, Judge, and Audience Vote) Best Battle Beach Rookie Ziggy, CM Robotics Judges Award Pandemic, Weapons of Miniature Destruction
John Henry a three pound Beetleweight built for SERVO (August and September 2005) was voted Best Robot by builders.
obbyweights 1st: Flight Risk, Team Shenanigans, Horizontal Spinner (gasoline); 2nd: KITT, Team Moon, Wedge; 3rd: Test Bot, Team Test Bot, Lifter. eatherweights 1st: Totally Offensive, Team Mad Overlord, Horizontal Blade (currently ranked #1 in RFL); 2nd: Eat Hitch and Die, Team Skarn, Pusher; 3rd: Poetic Justice, A.G. Robotics, Wedge.
EVENTS
(all RFL National qualifiers)
UPCOMING July
Bot Hockey.
Totally Offensive a perennial national level contender racked up another win at Battle Beach.
ar-Bots Xtreme WBX-III, Saskatoon, Saskatchewan, Canada. 7/227/23 2 0 0 6 . www.war botsxtreme.com This is Canadas BIGGEST combat robot tournament. The weight divisions range from Ants to Heavyweights, PLUS
eam Think Tank SNF Qualifier, Pasadena, CA. 7/22/2006. www.teamthink tank.com Included at this event are Fairy, Ant, and Beetle Weight classes. SV
SERVO 07.2006
31
TECHNICAL KN WLEDGE
Tips for Combat Robot Builders
by Steve Judd, Team Tentacle
Buy the best quality tools you can
Getting Started
Read a book or two. In particular, I recommend Robot Builders Bonanza by Gordon McComb and Kickin Bot by Grant Imahara. Visit some builders websites
afford. Some quite good tools can be had at very reasonable prices from discount suppliers, but if you can afford better BUY IT.
harness. The wiring inside a bot always seems to take up a LOT more space than you think.
Dont use sheet metal screws, pop rivets, and the like for assembly use quality bolts and machine screws. If your bot has a frame, weld the frame members together. Standardize on a single fastener
Steven Nelsons http:// teamkiss.com, Ted Zeiger and Pete Coverts http://teamcosmos.com, and my own http://architeuthisdux.net are all good starting points.
Start small. Build a 1 lb or 3 lb
You can get a lot of quality bot components from industrial surplus dealers, manufacturers surplus sales outlets, etc. Keep Point 2 in mind while shopping a surplus dealer.
robot first. A small robot can be built with inexpensive, readily-available parts. Small radio-controlled toys make an excellent platform for a first robot.
Dont rule out non-combat robotic
sports like FIRST Lego League, FIRST, BotBall, and others. These offer well-organized competitions (usually for school-sponsored teams) where you can gain a wealth of robotic experience.
can. CAD software is an effective tool if you have it or can get it. Cardboard-aided Design is a cheap and effective alternative cut the pieces of your bot out of cardboard and fit them together. The more you know about how your bot will be assembled, the easier the fabrication will be.
parts should be secured to shafts with keys or keyless bushings (i.e., TranTorque, Shaftloc, etc.).
Pins are almost as bad as setscrews. If your bot is dynamically stable in some position, you will end up in that position no matter how unlikely it seems. Design your bot so you can get back on your wheels from any orientation. Any electrical connection that can come loose will. All electrical connections need to be positively secured. Friction fits that feel tight enough are not. Thread-locking products are your
a fine line between inexpensive and cheap. know why you are buying it. Think before spending your money can you afford to buy a replacement if the item you are considering does not work out?
Dont skimp on your radio or Know what youre buying and
can be. This does not mean to build only simple bots it means that you should not add anything to a design that is not there to make it stronger, faster, or better in some definite way. A well-executed simple design is often a lot cooler than a design so complicated that its hard to execute.
Neatness counts! You dont score any match points for this, but a clean, well-organized interior and an exterior with good fit and finish will help you in the arena, and get you some style points in the form of admiration by your fellow builders. Design a bot that is easy to repair
friends. If a bolt or machine screw is intended to be permanent, fix it in place using an appropriate threadlocking product.
Design your bot so changing radio frequencies is as fast and easy as possible. You will often be called upon to switch to a different frequency at the last minute.
speed controllers these are the most crucial parts of your bot. A good radio can be used for years, as can good ESCs.
Competing
Driving: practice, practice, practice. The bot needs to become
32
SERVO 07.2006
an extension of your body. Matches are won and lost when a driver looks away from the bots for a split second. complete and ready to run. Passing safety on the first try should be the norm not an exception. Arriving early and passing safety well before the start of combat gives you time to relax and socialize with the rest of the competitors.
After a fight, IMMEDIATELY service the robot. Just because it looks fine on the outside does not mean everything is fine on the inside. The time to find this out is right after your previous fight, not just before your Show up on time with your bot
Label your tools. All major brand power tools look alike. Be civil. The other competitors are
more if possible. You may not have time to fully recharge batteries between fights.
Bring spares for everything. Since
this can add a lot to the cost, standardize wherever possible on parts commonly used by other builders. This will make it easier to get an emergency replacement part if you run out of spares.
Keep your pit area clean and well
your best resource at any competition. Most will cheerfully lend you tools, give advice and assistance, and do whatever else is in their power to help you out if you ask nicely. Just remember that everyone is under pressure just like you are and might be busy with their own robots.
Pay close attention to the event staff and treat them with respect. They are under a lot of pressure, too. Be gracious whether you win or lose. SV
organized. You dont want to be searching for a critical part or tool for 10 minutes when you only have 20 minutes between fights.
EVENTS
RESULTS April and May
M C
aker Faire: April 22, www.combots.net Worldclass bots battled it out in this exhibition event, so there were no winners or losers. Fun was had by all! entral Illinois Bot Brawl, May 6 http://circ.mtco.com A small but enthusiastic set of bots fought at the Lakeview Museum, with teams from Illinois, Indiana, and Ohio competing. Solarbotics provided sponsorship, with assistance from Parallax, HobbytownUSA, and Lynxmotion. Results are as follows:
RFL Qualifier, 1 lb Combat: 1st: Skeletor, P_Robotics,
Evan Gandola; 2nd: Killer Aluminum Sandwich, Iron Fist, Rob Harnden II; 3rd: Evil Doorstop III, P_Robotics, Evan Gandola
500 g Sumo: 1st: Orthos, dbots, Mike Dvorsky; 2nd:
Sumo04, Black Bots, Andrew Black; 3rd: LYBOW, Black Bots, Andrew Black
LEGO Sumo: 1st: Junior, dbots, Matthew Dvorsky;
2nd: Mighty Man, Brooksbots, Rick Brooks; 3rd: Net_Op_School, P_Robotics, Evan Gandola
SERVO 07.2006
33
Brooksbots, Rick Brooks; 2nd: Exhume, Brooksbots, Rick Brooks; 3rd: BJ, dbots, Mike Dvorsky
3 kg Sumo: 1st: Cheeky-san,
dbots, Mike Dvorsky; 2nd: Excuse, Brooksbots, Rick Brooks; 3rd: Executioner, Brooksbots, Rick Brooks
LEGO Sumo bots Junior and Mighty Man mix it up on the dojo at CIRCs Bot Brawl. Photo courtesy of CIRC.
Fatcats, Vertical Blade (this team is currently ranked #1 in RFL); 2nd: Micro Drive, Team Misfit, Lifter; 3rd: Baby Bunny, Team Misfit, Wedge; 4th: Crisp, Offbeat Robotics.
Antweights: 1st: Pushy Little
Bugger, Tinkers Guild, Lifter; 2nd: The Bomb, Team Misfit, Drum; 3rd: MC Pee Pants, Team Fatcats, Drum (currently ranked #1 in RFL);
Vertical spinner VD continues to dominate the RFLs Fairyweight class by scoring another first place win. Photo from Builders Database.
Antweight Pushy Little Bugger beat top ranked MC Pee Pants to win at Day Under The Oaks. Photo from Builders Database. Winners from the Day Under The Oaks competition (L to R: Andy Sauro, Terry Slocum, Zachary Lytle. Front: Danielle Donaldson).
RJC Day Under The Oaks: May 7 Fifteen insect bots competed in a friendly, outdoors meet. Results are as follows:
MOTION CONTROL
IN THE PALM OF YOUR HAND
MOTION
MIND
POSITION CONTROL VELOCITY CONTROL LIMIT SWITCHES ENCODER INTERFACE RS232 OR TTL COMMUNICATION ASCII OR BINARY PROTOCOL
DC MOTOR CONTROLLER
6VDC-36VDC MOTORS 25A PEAK 9A CONTINUOUS ANALOG CONTROL BUTTON CONTROL R/C PULSE CONTROL SERIAL CONTROL
Solutions
34
SERVO 07.2006
SOLUTIONS CUBED
Maxwell Animatronic head kit Move eyes, head, jaw software inc.
www.medonis.com
SERVO 07.2006
35
by Chris Cooper
ast month, in our quest to create the coolest and fastest mobile robot on the planet, we gave the E-Maxx improved motor control and some new capabilities. Now it can move at very low speeds and maintain a constant speed in almost any type of terrain. It can also record the distance traveled and move at a specified distance and velocity.
In this article, we'll give the E-Maxx a sense of direction. We'll work through some odometry calculations and add a digital compass. Then we'll demonstrate the navigation method known as dead reckoning calculating the current position based on the distance and direction traveled from a known position. Finally, we give the modified E-Maxx a trial run and see how well we can navigate around waypoints and return home.
Odometry
Odometry involves using information about the rotation of the wheels to calculate distance traveled. Since the encoder reads the rotation of the spur gear, it cannot measure wheel rotation directly. We must calculate wheel rotation using the overall reduction information how much the wheel axle turns for each turn of the motor shaft from the E-Maxx gear chart in Figure 1. Overall reduction is a combination
of the spur and pinion gear ratio, the internal transmission ratio, and the axle ratio. With the encoder mounted onto the center shaft of the spur gear, we need to remove the spur and pinion gear ratio from the overall reduction in order to get the desired transmission ratio. Once we have that ratio and the diameter of the tires, we can infer how
Photo Above: The E-Maxx RC monster truck makes an excellent robotics base. Photo courtesy of Traxxas.
36
SERVO 07.2006
far the E-Maxx travels for each count of the encoder. See the sidebar for the calculation details specific to our E-Maxx. It's important to note that the distance traveled is an approximation. It does not take into account real-world factors such as wheel slippage or gear backlash. The difference between calculated and actual values is small, but can add up over time. One way to compensate for the accumulated error is to attach additional navigation sensors, especially those that use an external reference. A digital compass is not subject to accumulated errors because it is using a fixed external reference the Earth's magnetic field.
Figure 1. Traxxas Gear Chart showing overall reduction for different gearings.
A compass is an inexpensive and effective solution for determining heading, but its readings can be subject to interference. Ferrous metals like steel, nickel, and iron will distort magnetic fields by attracting them. Un-magnetized ferrous materials nearby produce "soft-iron" effects. Magnetized ferrous materials produce "hard-iron" effects. The E-Maxx itself can have these effects on our compass. For example, the operation of the motors which contain magnets can produce "hard-iron" interference and the NiCad batteries which contain nickel can produce "softiron" interference. We can compensate for the "constant" soft and hard interference coming from the E-Maxx
through careful calibration. This calibration will not compensate for interference external to the E-Maxx, but if the external interference is temporary, a compass will still be a useful addition.
SERVO 07.2006
37
Figure 3. Schematic showing wiring of the CMPS03 Digital Compass to the PEC-110 Port Extender.
representing 0359.9 degrees with 0 degrees being North, 90 degrees being East, 180 degrees being South, and 270 degrees being West. W h e n installing the compass, I noticed some "soft-iron" interference from the E-Maxx itself. I compensated by following the Devantech CMPS03 calibration process, which can be found in the CMPS03 manual. The calibration process was very easy. It involves setting the compass into a special calibration mode and slowly rotating the compass 360 degrees. All I had to do was slowly drive the E-Maxx in circles until the calibration was complete. Surprisingly, I found no interference occurred from running the motors, even with the compass positioned at various locations on the deck. As a result, I mounted the compass and navigation module directly on the deck, as opposed to
using a tower or mast to isolate it from interference (see Figure 4). There are only two functional operations: calibrate and getBearing. The "calibrate" method sets the compass into its calibration mode. The "getBearing" method returns the bearing just as the compass returns it, as an integer between 0 and 3599 (see Listing 1).
Dead Reckoning
Dead reckoning involves estimating current position based on the distance and heading traveled from a previously known position. By combining measurements from the encoder and the compass, we can follow a set of waypoints. To test out the dead reckoning capabilities of the E-Maxx, I set up two courses, as shown in Figure 5. The first course was an oval lap around two cones. From the starting point, the E-Maxx moves 10 feet heading due East (90 degrees), then turns counter-clockwise to a heading of due West (270 degrees) and moves 20 feet, turns another 180 degrees to fast due East again and moves 10 feet to arrive back at the starting point. The second course requires the E-Maxx to navigate around three cones set up in an equilateral triangle. Steering control is accomplished using a PID (proportional, integral, derivative) algorithm applied to the heading. The PID algorithm works to force the heading error to zero so that the E-Maxx is always pointing in the desired direction and does not overshoot turns. T h e course is divided into a series of legs, with each leg consisting of a heading and a distance to travel on that heading. Once the EMaxx travels the distance,
Figure 5. Simple courses test the E-Maxx's navigation ability.
38
SERVO 07.2006
PARTS LIST
PEC-110 www.machinebus.com Devantech Compass CMPS03 www.robot-electronics.co.uk
LISTING 1
#include <stdlib.h> #include <unistd.h> /* UNIX standard function definitions */ #include "machineBus.h" #ifndef COMPASS_ #define COMPASS_ struct compass_t; typedef struct compass_t *Compass; // Create a new compass reference Compass compass_createCompass(CommBus C, uint8_t id); // Calibrate the compass uint16_t compass_calibrate(Compass C); // Get the bearing uint16_t compass_getBearing(Compass C); // Dispose of the compass void compass_disposeEncodedMotor(Compass C); uint8_t compass_messageCallback(void* object, CAN_MESSAGE *rxMessage); #endif /*COMPASS_*/
the next leg is retrieved and the E-Maxx slowly turns until it reaches the new heading. When the new heading is reached, the E-Maxx breaks out of the turn and begins traveling the distance of the next leg. This allows me to simplify calculations and ignore the distance traveled in the turn, yet still accurately traverse the course. The code in Listing 2 demonstrates this approach. After running the first course, the E-Maxx was off by just three inches. The longer distance traveled and the additional turns in the second course caused the accumulated error to increase to seven inches.
Conclusion
Navigation is a difficult problem, and I've barely scratched the surface. But our navigation module is off to a good start. We have shown that dead reckoning using the encoder and the digital compass is an LISTING 2 effective way to navigate over short distances. As distance leg = courseIterator->getNext(); while ( !done && leg != null) { traveled and number of turns increased, so did our positional /* Check Bus status */ if (commbus_status(bus) != 0) { error. Nonetheless, the results printf( "Failed to retreive status\n" ); indicate just how accurate } dead reckoning can be. if ( commbus_readyToTransmit(bus)) { If dead reckoning was to be // Get our current bearing our only method of navigation, currentBearing = compass_getBearing(compass); we would want to be more // Pass in leg heading and current bearing into // steering controller to turn to correct heading precise with respect to turning steeringcontroller_steer(steering, leg->getHeading(), currentBearing); by taking into account turning radius, distance traveled in the // if we are way off (more than 10 degrees) then assume we are at a turn
turn, and the velocity of the E-Maxx through the turn. However, we have different navigation techniques in store. In the next article, we will be demonstrating GPS navigation. GPS navigation is an alternative, but complimentary navigation technique that is useful when you know the longitude and
latitude of where you need to go. GPS readings are not subject to cumulative errors, so it's a great way to accurately navigate over longer distances. We'll tackle GPS navigation by installing a GPS receiver and following a trail of GPS breadcrumbs just like the competitors in the DARPA Grand Challenge. SV
RESOURCES
Autonomous E-Maxx: www.machinebus.com/ emaxx Rossum Project Papers An excellent source of information on robot navigation: http://rossum.sourceforge. net/papers Philips KMZ51 Application Notes: www.semiconductors. philips.com/pip/KMZ51.html
// start doing a slow turn if (abs(currentBearing - leg->getHeading()) > 100 ) { encodedmotor_setRate(motor, 150); } else if (newLeg) { // Start of new leg, heading close so set the distance to travel encodedmotor_resetCount(motor); encodedmotor_setAbsolutePosition(motor, 500, countFromDistance(leg->getDistance() ); newLeg = 0; } } // If we've traveled the distance, get the next leg if (encodedMotor_getCount(motor) >= countFromDistance(leg->getDistance()) { leg = courseIterator->getNext(); newLeg = 1; } } // while
SERVO 07.2006
39
by Simone Davalos
At the crack of noon, the first racers were up on deck as DJ Big Daddy played the traditional Jimi Hendrix rendition of the national anthem. Hats were barely off of heads and many hearts were still covered when the first set of racers went screaming down the track. Thus began a solid 10 hours of racing mayhem. As the audience entered the event, the Flaming Lotus Girls Admission Auxiliary smilingly separated race-goers from their money in exchange for entry tickets, Official Power Tool Drag Race t-shirts, and racing fees. When Flaming Lotii arent granting you entry or racing power tools, they spend their time building large-scale fire sculptures for use in places like Burning Man in Nevada and RoboDock in Amsterdam (see more at www.flaminglotus. com). You dont have to be female to be a Flaming Lotus Girl, and they are very, very good at what they do. Which is consuming huge quantities of propane and sending jets of flame hundreds of feet into the air (no really their stuff makes military flame throwers look like prayer candles.) The classes for the Power Tool Drag Races are divided up much like regular drag racing. Super Stock vehicles are often directly off the shelf from any hardware store. As was discovered by the New England Belt Sander Racing Association (from whom all things power tool racing flow), often the most effective power
40
SERVO 07.2006
What is Power Tool Drag Racing, you ask? ... Teams compete for honor and glory by racing different classes of machines down a 75-foot long track, in a one-on-one noturns-required speed race.
]
SERVO 07.2006
41
42
SERVO 07.2006
Tim the Toolman has nothin on this crowd. A good and reasonably safe time was had by all. All photos are courtesy of Scott Beale.
at 250 psi, which made forcing 1,000 psi through them to race super exciting. Added to this, the brakes failed on the last run of the day, nearly making Shane (aka Bird) winner of the PTDR Safety Third Award. Sadly, he didnt place in the Safety Third category. Team Schmokin represented for the Pro-superchargers with style points, if nothing else. Their racer, Schmokin #1 consisted of four drill motors with saw blade wheels, mounted on the bottom of a working propane grill. Enough cup holders for two cans of Tecate completed the machine as it sped down the track, making hot dogs as it raced. Mmm, meat by-products. The Flaming Lotus Girls incinerated the competition with Bunny Shark Mini, two four inch angle grinders mounted on a shocking pink frame, shiny wire-wheels for decoration, and the pre-requisite flame thrower on top. Girl power never looked so good. All was not always fun and games, however. Doctor Jonathan Foote (a real PhD!) of Rotorbrain Industries (rotor brain.com) was the winner of the annual PTDR Safety Third Award for Excellence In Not Getting Killed, when an Unusual Design machine ran slightly amok, resulting in a teensy bit of buckshot to the face. Not enough to make Dick Cheney jealous, but enough to give Nosferatu the munchies. Judge Dave, PTDR Statistician and All Around Official, comments I had just enough time to say Hey! That thing looks like its powered by a 12 gauge shotgun! when the thing went off. Dr. Foote sustained minimal damage and emerged from the EMTs care with high spirits, commenting Its okay, chicks dig scars. All in all it was a successful event, with just enough catastrophe to make the rest of the day interesting. Just like NASCAR ... or not.
43
AUTONOMOUS ROBOTS
and Multiple Sensors
Part 1: FUSION FUNDAMENTALS
e derive a sense of self and of our environment from thousands of sense organs, ranging from our eyes and ears to the golgi tendon organs that monitor our muscle contractions. Similarly, autonomous robots employ multiple sensors of different types to assess their environment and internal state. Proprioceptive sensors range from pressure sensors under the feet of hexapods and potentiometers attached to the joints of robot arms to the wheel encoders used on carpet rovers. Environmental sensors include the ubiquitous ultrasound and infrared rangefinders, as well as the more exotic humidity sensors, accelerometers, gyroscopes, and GPS receivers.
Although its possible to go overboard with the number and type of sensors, in practice, cost, weight, space on the robot chassis, and availability of onboard or network bandwidth and processing power limit the sensor population. Even so, thanks to more powerful and affordable sensors, multi-core microcontrollers, and remote PC processing, the robotics community is moving en masse to multiple sensor autonomous robot
PHOTO ABOVE. The infrared GP2D12 and ultrasonic Ping))) rangefinders mounted on the tilt-pan head of a hexapod.
configurations. This first article of two explains how multiple sensors can be used to enhance the performance of autonomous robots and introduces the concept of sensor fusion.
SENSOR BASICS
A robot bristling with sensors doesnt necessarily perform any better than an inexpensive carpet rover equipped with a single IR sensor. As Braitenberg notes in Vehicles, even a robotic Cyclops, when properly configured, exhibits lifelike behavior [1]. Conversely, although it may look impressive, a robot with an abundance of sensors only guarantees expense, significant battery drain, and computational overhead. Multiple sensors, properly config-
ured, can enhance autonomy if they reflect a robots mission, physical structure, and operating environment. Just as the environment selects for the fittest organisms in nature, the algorithms used to control sensors and process sensor data determine how well a robot will perform in a given environment. Limitations The field of robotics has been transformed by the availability of affordable, powerful, and intelligent sensors. Instead of working primarily with raw transducers, roboticists have angular rate gyroscopes, GPS receivers, accelerometers, and solidstate compasses at their disposal. Even entry-level robot kits feature compact IR detectors and microcontrollers. However, every sensor has limita-
NOTE
The code listings mentioned in this article are available on the SERVO website at www.servomagazine.com
44
SERVO 07.2006
by Bryan Bergeron
tions due to design and manufacture and from interaction with the environment. Sensors fail and change with time due to thermal settling, long-term aging, and physical or electrical damage. Whether a sensor exhibits drift or blatant failure, the result is the same. The host robot is hampered in its ability to function in the environment that is, unless provision is made for faulty sensors. Similarly, the variables in the environment and within the robot that are indirectly quantified by sensors are not completely knowable. As such, there is always a stochastic (random) component of distance, position, temperature, or other parameter measured by a sensor. This stochastic nature of sensor data is magnified when coupled with limited sensor accuracy and fidelity. Variability Sensors like most other electronic components are manufactured to certain specifications, to suit a variety of applications and markets. Even the best sensors are produced with some degree of variance from the ideal. A common means of minimizing uncertainty in data due to inherent sensor variability entails developing a meticulous model of the sensor characteristics relative to the known environmental variations. The goal is to characterize sensor response in likely environmental situations, such as ambient temperature, humidity, light level, proximity of metal, or magnetic fields, as well as the passage of time. To illustrate variability in sensor data caused by the environment, consider the popular ultrasound sonar sensor, typified by the Ping))) sensor from Parallax. Like the Devantech SRF-04 and several other self-contained ultrasonic rangefinders, the Ping))) sensor operates by emitting a 40 kHz pulse and timing the return echo [2]. The sensor produces a TTL-level output pulse that has a width corresponding to time required for the pulse to travel to the target and back again. Armed with calibration data, its possible to correct the sensors time readings to suit a particular environment. For example, temperature, and, to a lesser extent, relative humidity, affect the accuracy of distance calculations based on data from FIGURE 1. Configuration of electronic rangefinder components. the Ping))) sensor. Temperature and humidity should where TC is the temperature in degrees be considered when working with Celsius. The 331.4 figure is the speed ultrasonic rangefinders because they of sound at 0 degrees Celsius. The affect the speed at which the 40 kHz small contributions of humidity, air pulse travels from the ceramic transpressure, and CO2 content are ignored ducer element to the object and back in this model. to the receiver element of the sensor. A circuit configuration that comThe nominal speed of sound in air pensates for the variability in ambient 1,130 feet per second is an approxitemperature during the operation of mation for dry air at room temperaan ultrasound electronic rangefinder is ture, at sea level, and with a typical shown in Figure 1. A Sensirion SHT11 CO2 concentration. A more accurate temperature and humidity chip and figure considers the temperature, presMicromega uM-FPU floating point sure, humidity, and CO2 concentration, coprocessor both available from in the form of the following equation: Parallax are used to provide real-time temperature compensation. Vsound = (nRT/M)1/2 Listing 1 is the PBASIC program of an electronic rangefinder based on a where n is the adiabatic constant, Parallax BS2p24 and Ping))) sensor. The characteristics of the gasses in air components are connected as per the (nominally 1.4), R is the universal gas component sheets available on the constant (8.314 J/mol K), T is the Parallax site (www.parallax.com), using absolute temperature in Kelvins, and the I/O assignments provided in Listing 1. M is the molecular weight of the gases Following constant and variable decin kg/mol. In other words, the speed larations and initialization of the temperof sound in air is proportional ature sensor and floating point unit, the to the square root of the absolute ambient temperature is read from the temperature, and increases slightly SHT11. Temperature data is then applied with increasing humidity and CO2 to the velocity approximation formula concentration [3]. given above, and the results are Although technically correct, displayed in the PBASIC development solving the equation with reasonable environment using the DEBUG function. speed and accuracy is problematic Both uncompensated and compensated using integer arithmetic on a typical distances are computed and displayed. microcontroller. A more microconTests in a room held at 21 C troller-friendly model for the velocity of revealed that the compensated figure sound in air is: at times varied from 1 to 1.5 cm from the uncompensated distance measure. Vsound = 331.4 + 0.6 TC m/s More importantly, both measures SERVO 07.2006
45
AUTONOMOUS ROBOTS
point coprocessor is used to compute the adjusted distance, and to illustrate another approach to maximizing the accuracy of measurements. Although the BASIC Stamp provides several workarounds for integer math, such as the ** and */ operators, most other microcontrollers provide support for floating point arithmetic. There is another reason for introducing the uM-FPU in the hardware design, which will be discussed shortly. A robot equipped with this temperature compensation feature should perform equally well measuring distances inside or outdoors, within the operating temperature and humidity range of the Ping))). A halogen desk lamp and can of compressed air are useful in testing temperature compensation responsiveness. A few seconds of air can drop the temperature of the sensing chip 10 or more degrees Celsius, and positioning a halogen desk lamp over the SHT11 chip has the opposite effect. Note that during testing, cooling the SHT11 affects the sensor, but not the air between the Ping))) and reflecting object. Readers interested in further refining the compensation by taking humidity into account should review the paper by Olson Cramer [3] and the code posted by Tracy Allen of EME systems [4]. Conversely, for those interested in a temperature-only sensor, the DS1620 Digital Thermometer is an inexpensive, well-documented solution. Target Specificity Another characteristic of sensors is illustrated by considering another commonly used sensor in robotics work: the Sharp GP2D12 infrared rangefinder. Like the Ping))), the GP2D12 emits a signal that bounces off of the target and returns to the receiving element of the device. However, the similarities end there. The GP2D12 is an analog device that relies on triangulation of an infrared beam to measure distance from about 10 to 80 cm. Furthermore, instead of returning the time interval digitally encoded in microseconds, the GP2D12 produces an analog voltage that is a non-linear function of the distance between the IR emitter and the target. A higher
showed variability from one measurement cycle to the next when repeatedly measuring the distance between the Ping))) sensor and a wall. Figure 2 shows the uncompensated time data produced by the Ping))) over 4096 consecutive measures. The range of measures from 7166 to 7178 or 16
microseconds corresponds to a distance range of about 0.25 cm. According to the specifications from Parallax, the Ping))) is capable of detecting target distances from about 3 m up to 300 cm, with a maximum polling spacing of 65 S or about 15 kHz. The Micromega uM-FPU floating
46
SERVO 07.2006
FIGURE 4. Ping))) sensor range and bearing sensitivity for a 70 mm metal cylinder target.
FIGURE 5. GP2D12 sensor range and bearing sensitivity for a 70 mm metal cylinder target.
output voltage corresponds to a smaller emitter-target separation. The maximum polling frequency of the GP2D12 is significantly greater than that of the Ping))) at 25 kHz, which corresponds to a minimum measurement interval of about 40 S. The digital version of the Sharp sensor is free of the overhead of the A-to-D converter, but the minimum measurement interval is nearly double that of the analog device. Listing 2 shows a minimalist program in PBASIC to read a GP2D12 by polling an ADC0831 eight-bit A-to-D converter. The schematic of the standard configuration is available on the Parallax site, under information for the GP2D12, as well as volume 5 of The Nuts & Volts of BASIC Stamps [5]. Aside from the BS2p24, GP2D12, and ADC0831, the only other component needed is a potentiometer to provide a 2.5 volt reference for the A-to-D converter. As with the Ping))), the GP2D12ADC0831 combination exhibits measure-
to-measure variability. Figure 3 shows the frequency distribution of 4096 consecutive samples with a wall as a target at 68 cm. The variability roughly corresponds to 0.5 cm at the distance, or roughly twice the variability of the Ping))). Because of this jitter, the output of the ADC0831 is typically filtered by averaging several consecutive measures [5]. Distance accuracy wasnt considered in this example, but there are at least two sources of error not addressed by the code in Listing 2. The first is variability from sensor to sensor. As an analog device, the nonlinear voltage output curve varies from one sensor to the next. This variability may be insignificant for some applications, but critical in others, depending on the accuracy requirements. The second source of error is the use of an approximation of a linearization function, in the form of a lookup table, to transform the output voltage level to a distance measure. Although
solving a third or fourth order polynomial in real time is beyond the capabilities of a naked STAMP, its within the limits of one equipped with a mathematical coprocessor, such as the Micromega uM-FPU. Moreover, Micromega offers a floating point calibration program on their website that can be used to create a linearizing function specific to a particular GP2D12 [6]. Given the differences in operating frequencies, construction, and operating parameters, it isnt surprising that the Ping))) and GP2D12 sensors provide different results, depending on the target and the environment. For example, consider a robot world that consists of an expansive garage in which metal cylinders (empty gallon paint cans) and rubber balls are randomly distributed. How will the ultrasound and IR range sensors perform? To answer this question, a Ping))) and GP2D12 were mounted on a microprocessor-controlled tilt-pan head at a SERVO 07.2006
47
AUTONOMOUS ROBOTS
FIGURE 6. Ping))) sensor range and bearing sensitivity for a 70 mm rubber ball target.
FIGURE 7. GP2D12 sensor range and bearing sensitivity for a 70 mm rubber ball target.
height of one meter. A target a standard 70 mm diameter empty paint can was hung at specific distances from the sensor by securing the target to the ceiling at fixed intervals by a monofilament thread. Distance measurements were taken from the sensors at two degree increments at distances of 10, 25, 50, 75, 100, 150, 200, 250, and 300 cm for the Ping))) and 10, 25, 35, 50, 75, and 100 cm for the GP2D12. Target was centered at one meter, in the same horizontal plane as the sensor, and the ambient temperature and relative humidity were 21C and 48%, respectively. The target was suspended at sensor height to negate the effect of the floor on sensor response and to make the results more generalizeable. Figures 4 and 5 show the results of the study. The distance data from the Ping))) shows the sensor consistently overestimated the sensor-target distance with the metal paint can, and the maximum range was only 200 cm,
and this was side-lobe pickup. Maximum heads-on range was 150 cm, or 50% of the stated range of the sensor. The maximum bearing varied from nearly 40 degrees with the nearest edge of the can 10 cm from the sensor to approximately 10 degrees with the target at 150 cm. The study was repeated with the Ping))) mounted vertically. There was no significant difference, other than a maximum range of 150 cm and no side lobes. In comparison, the GP2D12 which was programmed with the averaging filter as per Parallax documentation had a maximum range of 100 cm with the empty paint can target. Maximum bearing varied from about 25 degrees at 10 cm to 4 degrees at 100 cm. There was no difference with the sensor mounted vertically. A second study was conducted with a 70 mm Togu-Prien rubber ball as a target. The results shown in Figures 6 and 7 are markedly different from
the study based on the metal can. The range of the Ping))) was only 75 cm, compared with 100 cm for the GP2D12. Data from the IR rangefinder was roughly equivalent to that from the previous study, with a range accuracy from under to over distance estimation. Apparently, the sonar signature of the rubber ball was considerably less than that of the paint can. In contrast, the infrared signature for both targets was similar. This is borne out by Figure 8, which shows the high reflectivity of the rubber ball under IR illumination. The compressibility of the rubber ball likely resulted in a smaller signature at the 40 kHz operating frequency of the Ping))) sensor.
SENSOR FUSION
The differences in response of the IR and US sensors, summarized graphically in Figure 9, can be used to our advantage through a process referred
48
SERVO 07.2006
FIGURE 8. 70 mm diameter rubber ball target under IR (left) and visible light (right) illumination.
to as sensor fusion the use of data from multiple sensors to decrease the uncertainty of measurement. Sensor fusion can be implemented at the signal, data, feature, or decision level, using either identical or different sensors. Signal-level fusion provides a signal in the same form as the original, but with, for example, greater accuracy and less drift. The signals from two ultrasonic range sensors both in the form of propagation time can be fused at the signal-level, for example. Sensor fusion at the data level involves manipulation of data once it has been normalized to the same form and format. For example, even though the data produced by the Ping))) and GP2D12 are markedly different, when converted to centimeters, the data can be compared and manipulated. Figure 9 shows the overlap of bearing and range for the US and IR sensors, using computed distance data. In statistical terms, the GP2D12 displays less dispersion, compared with the Ping))). Fusion at the feature level involves specific features of the data, such as range only. Decision fusion operates at an even higher level, and is concerned with, for example, what action to take, based on sensor data. A simple way to employ sensor fusion at the signal level, whether from sensors of the same type or of different types, is illustrated in Figure 10. Using simply the absence or presence of signal from two sensors that share a monitoring space, its possible to glean more distance and bearing information than possible from a single sensor. The cone defined by the intersection of range and bearing coverage for each sensor is defined by the presence of signals from both sensors (A&B). Similarly,
the area covered by one sensor, exclusive of the area covered by the similarly facing senFIGURE 9. Overlap of bearing and range coverage of the Ping))) and DP2D12 with a rubber ball target. sor (A NOT B and B NOT A) can be computed, as well as the total from the GP2D12 before that of the area covered by both sensors (A OR B). Ping))) isnt significant for a slowmoving carpet rover. However, for a Using the presence or absence of fast-moving robot, the choice of which raw sensor data from the Ping))) and sensor to read first can be critical. The GP2D12, a robot can locate and avoid option shown in Figure 11 is probably a both rubber balls and paint cans on the poor choice for a garage filled with garage floor more accurately than with empty paint cans, because the range of data from either sensor alone. However, the GP2D12 is considerably less than differentiating balls from cans requires that of the Ping))). Furthermore, the fusion at the data level, which involves cost in terms of potential damage to distance measures. Assuming the senthe robot is probably considerably sors are arranged to provide overlapping greater for a robot-can encounter coverage (as in Figure 10), the GP2D12 compared with a robot-ball collision. will find a rubber ball in the A&B area at a greater range than the Ping))), but the One of many possible alternative response would be reversed for a paint fusion algorithms at the decision level is can target. At the decision FIGURE 10. Sensor logic possible with sensor coverage overlap. fusion level, how the sensor data are used to control overall robot behavior is dependent on sequencing and conditional use of data from each sensor. A robot can be programmed to respond to data from each sensor individually, and in a predefined order, as in Figure 11. In this popular configuration, the other sensors typically include a bumper switch. Handling data SERVO 07.2006
49
AUTONOMOUS ROBOTS
REFERENCES
[1] Braitenberg, Valentino., Vehicles: Experiments in Synthetic Psychology. 1984, Cambridge: MIT Press. [2] Ping))) Ultrasonic Rangefinder (#28015). Parallax, Inc., June, 2005. [3] Cramer, Olson., The variation of the specific heat ratio and the speed of sound in air with temperature, pressure, humidity, and CO2 concentration. Journal of the Acoustic Society of America, 1993. 93(5) p(5): p. 2510-6. [4] Allen, Tracy., Temperature & Humidity With the Sensirion SHT1x., 2005, www. emesystems.com/OL2shtlx.htm [5] Williams, Jon., Measuring Up Up to 80 Centimeters, That Is. The Nuts & Volts of BASIC Stamps, Volume 5. 2004: Parallax.
FIGURE 11. Decision fusion configuration in which each sensor is associated with the same behavior.
shown in Figure 12. In this example, Ping))) data are considered first. If there is no distance data from the ultrasonic rangefinder, then control is returned to the main program loop. This configuration allows power and time savings, because the additional sensors arent fired at every cycle. This savings is at the expense of a higher likelihood of collision with rubber balls. Conditional use of sensors is a common practice that, if used appropriately, can improve robot performance. For example, in Listing 1, the tempera-
ture is measured before every distance measurement. Unless the ambient temperature is highly dynamic, reading the temperature once during the initialization routine would be adequate. Additional decision configurations are possible, including different behaviors for each sensor. A battlebot might use a sharp weapon to deflate balls in its path, but choose to bludgeon the cans.
[6] uM-FPU Application Note 4 Measuring Distance with the Sharp GP2D12 and GP2D120 Distance Sensors, 2005. Micromega Corporation.
www.micromegacorp.com
DISCUSSION
In working with these two sen-
sors, there are issues of relative accuracy, maximum update frequency, cycle spacing, coverage area, environmental specificity, and failure rates. From the above discussion, it should be obvious that there is something to be gained from using data from both sensors from the signal level to the decision level. Fortunately, the science of sensor fusion is much richer than the limited discussion here. A hexapod that has to avoid static obstacles on a garage floor can get by with a few hard-coded heuristics. However, when milliseconds count as in a high-speed autonomous vehicle or missile locked on a target then intuitive methods used here are inadequate. The effects of individual differences in sensors and seemingly minor changes in ambient temperature and supply voltage variations are magnified. Furthermore, its no longer sufficient to know that a target is up ahead somewhere its current location and expected trajectory over the next few milliseconds become critical. Part 2 of this series extends the concept of sensor fusion to more powerful methods that function in dynamic targets and environments. SV
50
SERVO 07.2006
Building (H-)Bridges
Part 1
odays robotic creations use various methods which are based on the physics of our little planet to enable the motion of their main body or subordinate appendages. The various parts and pieces of these intelligent things mechanical use hydraulics, air pressure, muscle wire, and even gravity to invoke a mechanical displacement from Point A to Point B.
Despite the increasing use of the aforementioned physical methods in robotic equipment, the major component involved in making robotic things move is still the motor. Take a look at the advertisements and columns in SERVO. The majority of them have some sort of motor at their root. And, in most cases, if a motor is not in the columns or advertisements mix, the electronics that drive or control a motor are. Motors are the main motivation of this column, as well. However, instead of delving into the nuances of how motors use magnetic fields to create motion, Im going to show you how to build electronic circuitry that controls the activation, deactivation, and direction of the electronic movement within a motors magnetic domain.
by Peter Best
use. If the motors minimum operating voltage is low enough, connecting the brushed motors two power leads across a battery is all that is needed to get the motors shaft to rotate. The fun comes in when you reverse the batterys polarity with respect to the motors power leads. The motor shaft will then spin in the opposite direction. If the brushed motor has exceptional bearings supporting the shaft, disconnecting the battery will result in the shaft coasting to a stop. The ability of a motor to provide forward motion, reverse motion, and to stop are physical properties used by every robotic device that employs the services of a traditional electromagnetic motor. However, to take robotic advantage of the work done by a motor, the motors forward, reverse, and stop properties must be able to be controlled. The circuit Ive devised in Figure 1a is the most basic of brushed DC motor control designs. A positive voltage that is sufficient enough to turn on the MOSFET applied to the MOSFETs gate will provide a ground path for the motor through the MOSFET which, in turn, will put
VDD GPA BRUSHED DC MOTOR
the motors shaft into motion. The Schottky diode that parallels the motor is there to allow a conduction path for the back EMF that is created by the motor coil when the motor shaft stops spinning. This type of motor control is great if all you want to do is drive the brushed DC motor full tilt in a single direction. If rotating the motor shaft in a single direction is fine, but you dont want your robotic device moving at warp speed all of the time, you must consider controlling the speed of the brushed DC motor. With the circuit shown in Figure 1a, speed control is easily achieved by simply applying a PWM (Pulse Width Modulation) signal to the MOSFETs gate. The higher the on time (logical high) of the PWM signal, the faster the motors shaft will spin. What if your little robotic device had to use a brushed DC motor and controller in the Figure 1a configuration to move one of its mechanical parts from Point A to Point B and then return to Point A? Im thinking about some really nasty things that have to do with DPDT mechanical switches to switch the brushed DC motors
VDD GPB
PA
PB
ON/OFF GNB
NB
NA GNA
FIGURE 1A FIGURE 1B
FIGURE 1. (A) This is Electronics 101 stuff. If you want to see the magic smoke, just leave the Schottky diode out of this little circuit. Also, if you want to experiment with this circuit, be sure to place a 100 ohm resistor in series with the MOSFET gate. (B) Dont try this at home! This circuit is bare bones and is for illustration purposes only. Although the MOSFETs will switch and drive the motor per the truth table, there is no protection for the MOSFETs in this circuit other than their internal diodes.
GPA 1 0 1 0 1
GPB GNA GNB FUNCTION OFF (FREEWHEEL) 1 0 0 1 1 0 FORWARD 0 0 1 REVERSE 1 0 1 SMOKE 0 1 0 SMOKE
SERVO 07.2006
51
DRIVE VOLTAGE PCM1 R1 10K VCC R3 10K PWM1 NCM1 1 2 R5 10K 74HC00 1 2 74HC08 U1A 3 1 2 TC4467/SOIC 5,6 7,8 U3A 14 4 3 3 U3B 4 13 TC4467/SOIC 5,6 7,8 NA1 2 1 13 U4B U1B 3 4 6 4 5 74HC08 VCC R4 10K 4 5 74HC00 PWM2 NCM2 R6 10K PCM2 R2 10K
PA1
D1 C1 10p C4 10p
D2
PB1
U2A 3 2 1
TC4469/SOIC 14 2 U4A
NB1
C2 10p
C3 10p
TC4469/SOIC 4 3 6
U2B
ENABLE SENSE NOTES: 1. ALL MOSFETS = IRF7309 2. D1-D2 = BAT54S 3. 74HC00-74HC08 VCC = PIN 14 4. 74HC00-74HC08 GND = PIN 7 5. TC4467-TC4469 VDD = PINS 15,16 6. TC4467-TC4469 GND = PINS 7,8 7. VCC = +5VDC 8. DRIVE VOLTAGE >= +5VDC <= +12VDC R7 0.10 VCC C5 .1uF C6 .1uF C7 .1uF C8 .1uF DRIVE VOLTAGE +5VDC
ENABLE
JP3 1 2 3
SCHEMATIC 1. If you take it one piece at a time, this is a very simple circuit to analyze logically. Once you understand how a half-bridge works here, you have the key to understanding what happens when you combine half-bridges to form full H-Bridges.
power terminals into reverse mode that we really dont want to discuss. So, lets add a reverse gear to our brushed DC motor electronically. In order to switch the brushed DC motors power leads between being sourced and sinked, you need the circuit in Figure 1b, which adds a pair of P-Channel MOSFETs (PA and PB) to provide the sourcing of power to each of the brushed DC motors power leads. The sinking function is provided by a pair of N-Channel MOSFETs NA and NB which are tied to each of the brushed DC motors power leads, as well. Note that one N-Channel MOSFET drain and one P-Channel MOSFET drain are connected to each of the brushed DC motors power leads. Power to the brushed DC motor enters at the P-Channel MOSFETs source pins. The brushed DC motors power path to ground is provided by the sinking N-Channel MOSFETs NA and NB. For the sake of discussion, lets assume that MOSFETs PA and NA associate with clockwise rotation of the brushed DC motor shaft and PB and NB associate with counter-clockwise rota-
tion of the brushed DC motor shaft. With that, to spin the motor shaft in a clockwise direction, we must provide (source) power to the motor using the PA MOSFET. The other motor power lead must somehow get to ground. The N-Channel MOSFET NA provides for a ground path for the motor and performs the sinking, or grounding, function upon its activation. We can apply the same logic for counterclockwise rotation of the motor shaft by activating MOSFETs PB and NB. Ive assembled a motor shaft direction truth table with Figures 1a and1b. Notice in the Figure 1 truth table that a couple of combinations of activated MOSFETs result in SMOKE. Never do we want to activate MOSFET pairs PA and NB or PB and NA at the same time. Its pretty obvious in Figure 1b that activating these pairs in any combination will produce a path from the source voltage to ground through the MOSFETs, which have very low drain-to-source resistances. In other words, activating the PA/NB and/or PB/NA MOSFET pairs will produce a virtual short circuit from the power source to ground. If your coding prowess is exceptional and you feel that you can handle switching the MOSFET pairs correctly using only your firmware,
go for it. However, some simple hardware placed in front of the MOSFET pairs will assure that your perfect firmware wont take the basic H-Bridge shown in Figure 1b into SMOKE mode.
52
SERVO 07.2006
Todays robotic creations use various methods which are based on the physics of our little planet to enable the motion of their main body or subordinate appendages.
1/2, and NCM (N-Channel MOSFET) 1/2 are all bridge control inputs. Lets look at what the PA1 and NB1 MOSFET gates look like logically with no input stimulus on the PCM1, PWM1, and NCM1 inputs. Assume the ENABLE line to be active, or logically high. Since pin 1 of U1A is pulled low, the output of AND gate U1A will be logically low regardless of the logic level applied to U1A pin 2. With the ENABLE line held at a logically high level, the inputs currently being applied to the TC4467 NAND driver will produce a high level on the output of U3A, which turns PA1 off. With one input pulled high and the other pulled low, U2As output pin will be logically high. The high level on the output of U2A feeds the invert input pin on the TC4469 MOSFET driver. Thus, pin 2 of TC4469 is effectively a logical low and is held in a logical high state. Taking NCM1 logically high produces a logical low on the output pin of the NAND gate U2A, which feeds a low to the input of AND gate U1A, which drives the output pin of U1A low, which drives the output pin of NAND gate U3A high and turns off PA1. Meanwhile, the low level on the output pin of NAND gate U2A feeds the inverted input pin of the TC4469 AND gate, which results in a high being fed to the gate of NB1 turning the N-Channel MOSFET on. Once again, the control input logic that works for PA1 and NB1 works identically for PB1 and NA1. Okay, our MOSFET protection circuitry works great on paper. Lets check out the logic again and make sure we can actually turn the brushed DC motor shaft in both directions using halfPA1 and NA1 and result in clockwise rotation of the brushed DC motors shaft. Applying a logical high to the PCM2 input with the JP1 jumpers in place would result in turning on PB1 and NB1 and counter-clockwise rotation of the brushed DC motors shaft. Thus, with the JP1 jumpers populated, we combine the pair of half-bridges into a full H-Bridge with all of the safety features we designed still intact. In our simplified half-bridge brushed DC motor driver scenario, the PWM signal is applied to the NCM1 or NCM2 inputs. Since PWM1 and PWM2 are both tied logically high, the alternating PWM signal presented to the NCM1 or NCM2 inputs will force the MOSFET gates of NA1 or NB1 to chop the brushed DC motors ground path relative to the duty cycle of the incoming PWM signal and thus, SERVO 07.2006
53
DRIVE VOLTAGE PCM3 R8 10K VCC R10 10K PWM3 NCM3 9 10 R12 10K 74HC00 9 10 74HC08 U1C 8 5 6 TC4467/SOIC 5, 6 7, 8 U3C 12 4 3 3 U3D 4 11 U1D 9 10 TC4467/SOIC 5, 6 7, 8 NA2 2 1 11 11 74HC08 12 13 PCM4 R9 10K VCC R11 10K 12 13 74HC00 PWM4 NCM4 R13 10K
PA2
D4
PB2
U2C 8 6 5
TC4469/SOIC 12 U4C 2
NB2
C10 10p
C11 10p
TC4469/SOIC 10 9 U4D
U2D 11
ENABLE SENSE NOTES: 1. ALL MOSFETS = IRF7309 2. D1-D2 = BAT54S 3. 74HC00-74HC08 VCC = PIN 14 4. 74HC00-74HC08 GND = PIN 7 5. TC4467-TC4469 VDD = PINS 15,16 6. TC4467-TC4469 GND = PINS 7,8 7. VCC = +5VDC 8. DRIVE VOLTAGE >= +5VDC <= +12VDC JR1 R7 0. 10
ENABLE
1N5819
SCHEMATIC 2. Not one, not two, not three, but four half-bridges and a regulated +5 VDC power source to boot! Before this is all said and done, Ill show you how to put all of these half-bridges to work in various configurations.
220uF
regulate the motor shafts speed. In most real-world cases, the PWM signal emanated by the microcontroller will be continuous as the programmer will simply kick off the microcontrollers PWM engine and only manipulate the PWM duty cycle as needed. With the PWM running continuously, most likely a full HBridge configuration will be used and the NCM1 or NCM2 inputs are then used as gates to allow or disallow the
PWM signal from passing on to the NChannel MOSFET gates. Schematic 2 utilizes the rest of the gate logic inside all of the ICs that make up the four half-bridges. The TC4467 and TC4469 can be powered by the standard logic supply of +5 VDC or by the DRIVE VOLTAGE, which can span from +5 VDC to +18 VDC. A jumper on JP3 determines which supply the TC4467 and TC4469 draw their power from. If youre scratching your head as to why I havent mentioned the 0.10 ohm sense resistor, dont
54
SERVO 07.2006
your own set of dual H-Bridge boards from ExpressPCB directly. For those of you that are surface mount challenged, you can also get all of the SMT components that make up the dual H-Bridge Ive described as through-hole and DIP packaging, with the exception of the IRF7309 MOSFETs. Theres nothing to stop you from using MOSFETs that are packaged differently than the IRF7309s. If you havent skipped through the pages to get here, youve made it to the end of this part of our H-Bridge discussion. You now know how to control each and every one of the MOSFETs on all four half-bridges and, once you build up the H-Bridge circuit Ive offered to you, you can attach a brushed DC motor and jumper in the bridge control logic levels necessary to make the motor shaft spin in a clockwise or counter-clockwise direction. If you already have the means and knowledge to do so, you can also present a PWM signal to the proper bridge control inputs and control the
speed of your motors shaft. Although weve crossed the bridge, were not done. Next time, Ill introduce you to the brand new PIC16FHV616 and show you how to use simple PIC assembler code to exploit all of the PIC16HV616s special functionality to drive stepper and brushed DC motors with the H-Bridge circuitry youve just read about. Ill also produce some circuitry and firmware to put that 0.10 ohm sense resistor to work as a vital component of a safety net and motor current monitor station for the H-Bridge MOSFETs. SV Peter Best can be contacted via email at peterbest@cfl.rr.com
PHOTO 4. Heres a complete half-bridge, including the back-EMF steering diodes and the EMI capacitors. The IRF7309 was designed to switch things about in laptop computers and other electronic devices that require higher switching currents from smaller footprint components.
SERVO 07.2006
55
$369
6 6 6 6 6 6
$79.99
6 6 6 6 6 6 6
$104.99
6 6 6 6 6 6 Dual 13A H-bridge 45A Peak! 5V - 24V 2.7 x 1.6 x 0.5 Three R/C inputs - serial option Mixing, Flipped Bot Input Only 28g
Scorpion HX
Dual 2.5A (6A pk) H-bridges Plus 12A fwd-only channel 5V - 18V 1.6 x 1.6 x 0.5 Four R/C inputs Mixing, Flipped Bot Input Only 22g
Scorpion XL
$199
6 6 6 6 6
erform proportional speed, direction, and steering with only two Radio/Control channels for vehicles using two separate brush-type electric motors mounted right and left with our mixing RDFR dual speed control. Used in many successful competitive robots. Single joystick operation: up goes straight ahead, down is reverse. Pure right or left twirls vehicle as motors turn opposite directions. In between stick positions completely proportional. Plugs in like a servo to your Futaba, JR, Hitec, or similar radio. Compatible with gyro steering stabilization. Various volt and amp sizes available. The RDFR47E 55V 75A per motor unit pictured above. www.vantec.com
www.robotpower.com
Phone: 253-843-2504 sales@robotpower.com
56
SERVO 07.2006
by Jack Buffington
synthesis and how to generate speech from plain old ASCII text. This month, youll see how easy it is to add audio recording and playback capability to your robot. If you have ever wanted to have your robot play old sci-fi sound effects or possibly cry out for help when it encounters a situation that it cant deal with, then this is the column for you!
the past, this column has shown In you how to generate sounds through
very few external parts in order to record and play back. For the most part, all you will need The other pin that you might be are a few capacitors. This chip has an interested in is the interrupt pin. This internal clock to control the speed of its pin will drop low when the end of a recording and playback that is accurate recording is reached during playback. It to within -6% to +4% of the needed will also go low during recording if you frequency over a large temperature fill up the memory of the chip. Using range, but if you require higher the interrupt pin allows you to do other precision or simply need your audio things while the chip is playing. If you to remain in perfect sync with your want to know when a sound is done application, then you can provide an playing, you can monitor the interrupt external clock source. pin, otherwise you will need to monitor You can communicate with the the row address clock or just delay for ISD4003 using only four pins. These the amount of time that it takes to play pins are a slave select pin and three your sound. SPI (Serial Peripheral Interface) pins. There are two other pins that you might be interested in using. These pins are the row address clock pin Lets get to the basics of how this and the interrupt pin. Internally, the chip works. As mentioned earlier, this ISD chip has a large 2D array of analog chip communicates with an external Flash cells. This is something of a novel processor using SPI. SPI uses two technology since most Flash devices data lines and a clock line. Typically, a store only high and low values that correspond to a one or a Figure 1. The pinout of the ISD4003 chip. zero. Internally, the ISD chip doesnt use compression to be able to store all of the sound, it just writes the sounds directly to the analog Flash. The ISDs Flash memory is arranged into rows and columns. During playback, every time that it reaches the end of a row, the row address clock pin will drop low for 25 milliseconds. On a chip that has a sample rate of 8,000 Hz, these interrupts happen every 1/5th of a second.
Pin Interrupted
Chip Basics
SERVO 07.2006
57
You now know all of the commands and how to send them. Lets look at what you need to do to actually use this chip. All of the timing described here is for a chip that has a 8,000 Hz sample rate. There are some odd delays that you will need to take into account when using this chip. To play back when the chip is powered down, you will need to send the powerup command and then wait 25 milliseconds. Send the setplay command with the address that you want playback to start from and then send the play command. You will now hear whatever you have recorded at that location. The ISD chip will continue to play until it gets to the end of the recording or the end of memory in the chip. If you want to, you can send the stop command to stop the playback. Recording is done a little differently. You will need to send the powerup command twice to enter recording mode. The first time, you will need to wait 25 milliseconds. After the second time you send the powerup command, you will need to wait 50 milliseconds. Now send the setrec command with the address that Control Bits Description Command Address (11 bits) C0 C1 C2 C3 C4 you would like to start recording from. Next, send the rec Power up: Device will be ready for an POWERUP Doesnt matter 00100 command to start recording. operation after TPUD (power up delay). When you are done recording, SETPLAY Address (0-10) 00111 Plays from the address given. send the stop command. PLAY Doesnt matter 01111 Plays from the current location. As you can see, knowing the address is important for starting SETREC Address (0-10) 00101 Records from the address given. and stopping playback and recordREC Doesnt matter 01101 Records from the current location. ing. You can figure out the address by sending any command. Initiates message cueing from the SETMC Address (0-10) 10111 At the same time that you are address given. sending the command, the ISD Performs message cueing from the chip will send two status bits MC Doesnt matter 11111 current location. Proceeds to the end of the message. corresponding to if playback or recording has hit the end of the STOP Doesnt matter 011X0 Stops the current operation. memory (OVF) or the end of the Stops the current operation and enters recording (EOM). STOPPWRDN Doesnt matter X10X0 into standby (power down) mode. After these two bits will be Read the interrupt status bits: Overflow the current address that playback RINT Doesnt matter 011X0 and EOM. is happening from. The remaining Figure 3. The messages that can be sent to the ISD4003 chip. three bits dont mean anything. SERVO 07.2006
58
Wrapping It Up
Adding the ability to play around with recorded audio can let you do fun things like make a robot that slowly sneaks around where you live and occasionally lets loose with some scratching sounds to tease your cats. You could add sound effects for
various things. For example, when your robot backs up, it could beep like a large truck does. You could also have it play knocking sounds when it reaches a door. If you were really ambitious, you could record a bunch of individual words and give your robot a voice your voice! What will you do? SV
RESOURCES
Digi-Key www.digikey.com Sells various chips by ISD. Winbond www.winbond.com/e-winbond htm/partner/_ISD_VIC_CC.htm Information about the various ISD chips.
SERVO 07.2006
59
Programmable
The goal of this bimonthly column is to provide a basic understanding of the various programmable logic techniques. There are a lot of powerful low-cost components available today that are rarely considered by hobbyists and even some engineers because of unfamiliarity. You have to be comfortable with the idea and concepts of programmable logic before you will be likely to employ them.
Logic
magine a system where you sit at your computer and create a complicated digital circuit. Some simulations are run and they look good. You then press a button and the circuit becomes real. Such systems exist today and are actually very common. They use Field Programmable Gate Arrays (FPGAs), which are sometimes referred to as ASICs (Application Specific Integrated Circuits). These chips can replace a whole printed circuit board (or whole systems) of standard digital ICs (Integrated Circuits), with prices starting at around $10 to $15.
by Gerard Fonte
Clearly, this is not efficient either. And if your design required a number of counters, you easily run out of available pins quickly. This isnt very good as well. Enter the FPGA. In 1986, the Xilinx Corporation developed a decidedly new approach. They buried a large number of very small PALs on a single chip with programmable interconnects. This allowed the direct connection of any point to any other point (discussed in further detail later) and eliminated the inefficient Invert/AND/OR matrix. For the actual PAL logic, they used memory logic (as described in this column in the March 06 issue of SERVO). This created identical delays regardless of the complexity of the logic. Finally, they took the programming off-chip. You didnt program the chip you programmed a standard memory IC (or a special one of theirs). At start-up, the Xilinx chip would automatically download the design from the memory into on-board SRAM (Static Random Access Memory), which took a fraction of a second, then disable the external memory and then proceed to operate as designed. This was a really big change. The off-board memory was typically an EPROM (Eraseable Programmable Read Only Memory) that was extremely common. So, if there was a problem with the design, all you had to do was to erase the EPROM, fix the design, and reprogram the EPROM with the new version. Hardware hadnt just become as easy to change as software. Hardware became software. It was the first large scale, re-programmable logic device. This characteristic can be very powerful. For example, your new Internet appliance can also be upgraded via the Internet. Or, if your robot is acting up at a competition, you can
60
SERVO 07.2006
phone home for a hardware fix. Consider the possibilities. (Note that the removal of power automatically erases the on-board SRAM. The design must be re-loaded every time power is applied.) There are a number of different manufacturers of FPGAs today (see the References sidebar). Xilinx is the front runner Altera, Lattice, Actel, QuickLogic, and others round out the field. Each has its own approach that they think is best. However, Actel and QuickLogic use what is called antifuse technology. This means that the devices are not re-programmable and maintain their design in the power-off state. Since FPGAs start at $10, few hobbyists will find it financially feasible to spend $10 every time they want to change their design, especially when reprogrammable solutions are available. Since the FPGA architecture varies significantly from manufacturer to manufacturer, it is not possible to provide generic examples as was done with PALs and CPLDs. However, all FPGAs still have to perform the same three basic functions: logic, interconnection, and input/output. Well use Xilinx examples for these (a somewhat arbitrary choice) with the understand-
are turned on to make a connection. There are local resources that connect to adjacent CLBs and there are Long Lines that run the length of the chip for making low-skew connections over wide areas of the chip. Then there is the general wiring matrix than consists of short segments of wires that interconnect via a small switching matrix. There is a matrix for every CLB. Note that with a fixed amount of routing resources, it is possible to create a design that cant be routed. However, in practice, this is difficult to do. And should that situation arise, a larger chip will solve the problem by permitting a less dense design. There are also I/O blocks. These provide the actual interface between the IC and the outside world. These are programmable, too, and are not as basic as one might think. Figure 2 shows a simplified drawing of a 3000 series I/O block. As you can see, its pretty complex for an I/O pin. Both the input and output signals can be registered or direct. The polarity of the output and three-state control line can
FIGURE 1. A Configurable Logic Block (CLB) from a Xilinx 3000 series FPGA. Note that it is similar to a PAL with memory logic instead of an Invert/AND/OR matrix.
SERVO 07.2006
61
FIGURE 2. An I/O block from a Xilinx 3000 series FPGA. The user has many more options and capabilities when compared to a PAL or CPLD.
be inverted. And there are separate clocks for the input and output. The Fixed Selections are those that are set at program time and cannot be changed during normal operation. But wait! Theres more! There are
Resources
additional Xilinx features available on this and other devices (but not all chips have all the features). This includes internal tristate busses, the ability to use logic memory as real memory, actual bulk RAM on board, output slew rate control, input switching-level control, and more. If you can do it with discrete ICs, chances are that you can do it better with an FPGA. Again, different manufacturers have different approaches and implementations. But they all must address the I/O, logic, and interconnect issues in some manner. And they all have additional features that they think are useful and/or important for the design of digital circuits.
design. Cost for this IC is about $13. Newer families like the Virtex and Spartan series have gate-equivalent counts of 300,000 and more with thousands of double-sized CLBs. This is about 150 times larger and can replace about 3,000 standard digital ICs. Thats a whole system on a chip! The unit cost for the Spartan-IIE X2CS300E is under $40. (It now becomes abundantly clear why designing with standard digital ICs is no longer being employed by manufacturers.) Unfortunately, designing with FPGAs requires software. Naturally, this software is proprietary and can be quite expensive (several thousand dollars or more). That may not be a problem for a manufacturer who can recover that expense from the savings of a single design, but its not a practical price for most hobbyists. The good news is that these manufacturers realize that its important to provide entry-level systems so that students and small companies can gain familiarity with their products at low cost. They are in the business of selling ICs not software. Cheap or free software systems are available that will allow the user to program at least some of the smaller parts. Typically, these introductory systems do not provide all the advanced features of the full-priced software, but they are certainly adequate for the hobbyist and student. (Note that this software is almost always available as a download from a website or on a CD. Typically, the software consists of hundreds of megabytes of files. So, if you have a slow modem, opt for the CD.)
62
SERVO 07.2006
In addition to the software, some sort of programming hardware is also needed. Again, there are the professional (and expensive) devices and the cheap introductory accessories. Often times this is called a Download Cable. Download cables are usually about $100. However, before you buy anything, it is very useful to talk to a sales representative. You can usually find them by referencing the manufacturers website. Find out exactly what you need. Many times there are evaluation boards or kits that provide all the basic requirements (software and download cable) and are also extremely useful in providing a learning platform. Sometimes the cost of these evaluation boards is equal to (or at least close to) the download cable alone.
Software
There are several methods of getting your design into the system. The traditional way is with a schematic. This is generally supported with a variety of file formats. Most FPGA software
systems include a schematic editor with a library of parts. This is very convenient and useful. However, surprisingly, sometimes the library parts are not optimized for the FPGA. This can result in wasted resources which ultimately leads to slower and more costly designs. The other method is with the use of VHDL, Verilog, ABEL, or one of the other hardware programming languages. Again, an editor is usually provided for at least VHDL. (If not, downloads from the Web can usually be found.) It should be noted that using VHDL or other language for hardware design is not as simple as it may initially appear. Subtle variations can creep in if the designer is not on-guard (a transparent latch instead of a D flip-flop, for example). Such variations can be extremely difficult to identify later. Additionally, the software approach doesnt define the hardware until compilation time. Sometimes the designer may not have a clue to the real size of the design until its completed. It may be too large to be practical. Lastly, ordinary computer software
is linear. One thing happens, then another thing, etc. Hardware operates in parallel with many operations occurring simultaneously. VHDL looks like computer software and its easy to forget that it isnt. You cant debug VHDL with a linear frame of mind. Note that VHDL is a very useful and powerful tool. But it is different from the way most hardware designers work. Its important to understand these differences from the start.
Conclusion
FPGAs are the pinnacle of programmable logic. They provide a flexibility, complexity, and cost effectiveness that cannot be matched with any other offthe-shelf component. There are many manufacturers and many approaches to both the hardware and design software. Introductory systems are usually available at a modest cost that are suitable for many lower-level designs. It is useful for any hobbyist or engineer to understand the capabilities and characteristics of these devices. SV
SERVO 07.2006
63
by Dan Kara
necessary first step in any career decision process, it is only a start. You can also apply a taxonomic framework to buggy whips, but I would not want to base a career on that market. It is also necessary to determine if the market is real. Market reality can be determined in any number of ways. One of the best is quantitative market research data. Unfortunately, while quantitative data for the industrial robotics market is numerous and robust, the same cannot be said for the service robotics market. Research is particularly weak in the area of consumer robotics.
Money Talks
How can the robotics industry outside of industrial robotics be validated given the lack of market sizing figures? There is one reality check that trumps
all others. How can I put this without being blunt? Actually, there is no way so here goes ... it is all about money. There, I said it. Money. No matter how cool robots and robotic technology is, no matter how many robotics pieces you have seen on the Discovery Channel, and no matter how many competitions and science fair projects you might have participated in, when it comes to careers and career decisions, it is all about the money. Dont get me wrong. I am not advising that someone pursue or bypass a career based solely on the amount of money they can make. That approach is unwise and usually unfulfilling. There is a reason why the old adage do what you love and the money will follow continues to hold true for each new generation coming into the job market.
64
SERVO 07.2006
Remember, robots will come into common usage if they can perform a function or service that cannot be performed by humans, or if they can do it more effectively or more cheaply than humans.
Micro ROV might not perform any better than a diver, their lower cost of operation makes the robot a good business choice. Companies that have diversified product lines protect themselves from downturns in specific markets. iRobot (Burlington, MA) illustrates this perfectly. The company recently announced that they have sold over two million of the little robot vacuums through over 7,000 retail stores, including Target, Linens n Things, Best Buy, Sears, Amazon.com, and Bed, Bath & Beyond, since they were introduced in 2002. Roombas retail for $150 to $330 each, providing iRobot with plenty of revenue and a boatload of validation for the consumer robotics market. iRobots military sales have also been strong. For example, a week after iRobot announced its two-millionth Roomba sale, it followed up by disclosing that they had been awarded a $64.3 million Indefinite DeliveryIndefinite Quantity (IDIQ) contract for iRobot PackBot EOD robots, spare parts, training, and repair services. The award was granted by the Naval Air Warfare Center Training Systems Division (NAVAIR) on behalf of the Robotic Systems Joint Project Office. The robots will be used to support US forces in Iraq, Afghanistan, and elsewhere, to identify and dispose of Improvised Explosive Devices (IEDs). Also in May, Foster-Miller (Waltham, MA) iRobots competitor in the small ground-based military robot market announced that it has been awarded a $63.9 million IDIQ contract also from NAVAIR for their TALON robots, training, parts, and so on. This contract came on the heels of a contract awarded to Foster-Miller three weeks earlier for an additional $28 million that is part of a separate $257 million NAVSEA IDIQ contract for TALON EOD robots. Defense spending for robotics technology is not limited to ground vehicles. In fact, in the same May timeframe as the Foster-Miller contract win, Honeywell Defense & Space Electronic Systems received a contract for $61 million from the US Armys Future Combat System (FCS) program lead systems integrators Boeing and partner Science Applications International Corporation (SAIC). The contract was for the development of Class I Unmanned Aerial Vehicle Systems (UAVS). Class I UAVS sometimes called micro UAVs are the smallest of the four unmanned aerial vehicle classes in the FCS program (prototypes weigh in at about 35 pounds). They are designed to hover in
The Global Hawk Unmanned Aerial Vehicle used by the military.
No, when I speak of money I am concerned with an industry/company making money or securing investment dollars. Before anyone agrees to work for a robotics company they should ask themselves does this company offer products and services that deliver real value to their customers, makes their customers money, or saves them money? If you cannot answer yes to any of these questions, it would serve you better to continue your search for a robotics employer.
SERVO 07.2006
65
the air providing reconnaissance and surveillance capabilities to soldiers on the ground. The unmanned aerial vehicles market of which micro UAVs is only a tiny component is perhaps the largest robotics market of all. We have all seen full-size UAVs such as the General Atomics Aeronautical Systems Predator and Northrop Grummans Global Hawk at work in Afghanistan and Iraq. These are big budget items in
the robotics industry, but relatively cheap in terms of military aircraft. Therein is their appeal. Not only do UAVs exhibit an extremely high mission effectiveness rating, they are much cheaper to purchase, fly, and maintain that manned aircraft.
is going gangbusters now, there is always the possibility that there might be a downturn. Some analysts are already projecting that the defense industry will go into a correction when funding and sales begin to decline in the latter part of this decade. The logic goes that programs whose development and production were accelerated to deal with the war on terrorism in Afghanistan and Iraq will decline after they have reached completion. A dramatic drop in spending on military robotics is a real possibility, and might impact the robotics industry as a whole. However, robots unlike other types of military hardware can have many civilian applications. For example, while unmanned aerial vehicles are nearly exclusively used for military purposes, non-military uses of UAVs are being explored by many companies for use in a vast number of civilian applications.
HobbyEngineering
The technology builder's source for kits, components, supplies, tools, books and education.
ICs, Transistors, Project Kits Motors, Frame Components and Scratch Builder Supplies.
Order by Internet, phone, fax or mail.
www.HobbyEngineering.com
1-866-ROBOT-50
1-866-762-6850 1-650-552-9925 1-650-259-9590 (fax) sales@HobbyEngineering.com 180 El Camino Real Millbrae, CA 94030
Most orders ship the day received! World-wide shipping. Convenient payment options.
66
SERVO 07.2006
TidBOTs
Its Your Bag
ave you ever been looking for a specific tool in your workshop like a screwdriver only to find a hammer, instead? Then you did the
unthinkable you hammered a screw into something. Ugh. What you need is a better tool storage system. What you really should get is an eight-inch Electricians/Maintenance Tote (Model #22128) from McGuire-Nicholas. A great transportable tool storage solution. McGuire-Nicholas is a product label of the Rooster Group. A well-known supplier of plastic storage systems, suspenders, and back support belts for carpenters, electricians, plumbers, and other Do-It-Yourself (DIY) workers, you can purchase McGuire-Nicholas products at your favorite home improvement supplier. For more information, go to www. mcguire-nicholas.com Built from a rugged wear
material that McGuire-Nicholas calls Toughwear this tote sports over 30 pockets, loops, hooks, and latches for holding just about every robot-building tool that you own. Additionally, an included plastic parts organizer can be used for holding those small parts and fasteners that typically slide around and hide inside other tool storage bags. One feature that we really like about this tote is that it stands upright when placed flat on the ground. Then just push aside the oversized carrying handle and you have easy access to the four big pockets that are ensconced inside the totes main body. If youre looking for a storage solution that is a little less vertical and more horizontal, the 14-inch Tool Bag with Plastic Tray (Model #22314) offers fewer loops, hooks, and latches, but more super-sized pockets for holding your batteries, wheels, and servo motors. All wrapped up in an easy to transport bag.
o matter what your level of involvement is with robotics BEAM, combat, microcontroller, or LEGO Mindstorms one thing is for sure, after about one year of building bots, you will have acquired a substantial warehouse of parts, components, and elements. Now your real problem arises ... where to store all of this stuff. Its not just a matter of ferreting your parts collection away in a set of plastic cubbyholes, you have to be able to find the right part at the right time. What you need is a parts organizer storage system. As the leader in the manufacture of tackle boxes, Plano Molding Company (www.planomolding.com) has over 50 years worth of experience in designing practical and useful The Plano plastic storage systems. This experiMolding ence is readily apparent in their incredible Stow N Go product line. Company
Starting with the single-sided Stow N Go Organizer (5230), you will be able to segregate up to 27 different parts. Protected with a smooth-operating snap closure system that Plano Molding calls Lock-Jaw, this organizer has a clear hinged lid for quick seethrough parts identification. Painted in a fancy color called Porsche Red, this impact-resistant organizer will make you feel like your components collection is being transported in a Hummer. If you were raised on a tackle box mentality,
Stow N Go.
however, the Stow N Go Pro Rack Organizer (1354-20) will give you an instant familiarity check. Looking a lot like a tall tackle box, the Pro Rack Organizer is actually four Plano Molding 3500 series StowAway utility boxes housed inside a brilliant smoked plastic drop-front lid. Just flip two safety latches, drop the front lid, and slide out one of the four utility boxes. Access to your beloved LEGO Technic elements has never been so easy. Additionally, there is an open bay storage bin located in the Pro Rack Organizers lid. An oversized snap closure latch keeps this lid shut during transport. If youre one of SERVO Magazines founding subscribers, then you have probably amassed a much larger parts collection. Luckily, Plano Molding makes a couple of larger storage solutions (e.g., Stow N Go Double Organizer; 5232 and Stow N Go Pro Rack Organizer w/3600 boxes; 1364-20) just right for your big boy toys. SV SERVO 07.2006
67
Tune in each month for a heads-up on where to get all of your robotics resources for the best prices!
der can move in two planes both up and down, and back and forth. The elbow joint is capable of moving in two planes, as well: back and forth, and up and down. The joints in your arm, and your ability to move them, are called degrees of freedom. Your shoulder provides two degrees of freedom in itself: shoulder rotation and shoulder flexion. The elbow joint adds a third and fourth degree of freedom: elbow flexion and elbow rotation. Robotic arms also have degrees of freedom. But instead of muscles, tendons, ball-and-socket joints, and bones, robot arms are made from metal, plastic, wood, motors, solenoids, gears, pulleys, and a variety of other mechanical components. Some robot arms provide just one degree of freedom. Others provide three, four, and even more separate degrees of freedom.
such a robot arm would be said to have revolute coordinates. There are three more, decidedly non-human robot arm designs: polar coordinate, cylindrical coordinate, and Cartesian coordinate. All of them support at least three degrees of freedom. As noted above, revolute coordinate robotic arms are modeled after the human arm, so they have many of the same capabilities. The typical design is somewhat different, however, because of the complexity of the human shoulder joint. In the revolute coordinate arm, the shoulder joint of the robotic arm is really two different mechanisms. Shoulder rotation is accomplished by spinning the arm at its base, almost as if the arm were mounted on a turntable. Shoulder flexion is accomplished by tilting the upper arm member backward and forward. Elbow flexion works just as it does in the human arm. It moves the forearm up and down. Revolute coordinate arms are a favorite design choice for hobby robots. They provide a great deal of flexibility, and provide an appearance similar to that of the human arm. The work envelope of the polar coordinate arm is half-sphere shaped. Polar coordinate arms are among the most flexible in terms of being able to grasp a variety of objects scattered about the robot. A turntable rotates the entire arm, just as it does with a revolute coordinate arm. This function is akin to shoulder rotation. The polar coordinate arm lacks a means for flexing or bending its shoulder, however.
68
SERVO 07.2006
The second degree of freedom is the elbow joint, which moves the forearm up and down. The third degree of freedom is accomplished by varying the reach of the forearm. An inner forearm extends or retracts to bring the gripper closer to or farther away from the robot. Without the inner forearm, the arm would be able to grasp objects laid out in a finite two-dimensional circle in front of it. The cylindrical coordinate arm looks a little like a robotic forklift. The name is derived from the cylindrical shape of its work envelope. Shoulder rotation is accomplished by a revolving base, as in revolute and polar coordinate arms. The forearm is attached to an elevator-like lift mechanism. The forearm moves up and down this column to grasp objects at various heights. To allow the arm to reach objects in three-dimensional space, the forearm is outfitted with an extension mechanism, similar to the one found in a polar coordinate arm. The work envelope of a Cartesian coordinate arm resembles a box. It is the most unlike the human arm and least resembles the other three arm types. It has no rotating parts. The base consists of a conveyer belt-like track. The track moves the elevator column (like the one in a cylindrical coordinate arm) back and forth. The forearm moves up and down the column and has an inner arm that extends the reach closer to, or farther away from, the robot.
used in earth-moving equipment and automobile brake systems. The fluid is non-corrosive and inhibits rust: both are the immediate ruin of any hydraulic system. Though water can be used in a hydraulic system, if the parts are made of metal, no doubt they will eventually suffer from rust, corrosion, or damage by water deposits. For a simple homebrew robot, however, a water-based hydraulic system using plastic parts is a viable alternative. Pneumatic actuation is similar to hydraulic, except that pressurized air is used instead of oil or fluid (the air often has a small amount of oil mixed in it for lubrication purposes). Both hydraulic and pneumatic systems provide greater power than electrical actuation, but they are more difficult to use. In addition to the actuation cylinders themselves, a pump is required to pressurize the air or oil, and valves are used to control the retraction or extension of the cylinders.
Note that electrical activation doesnt always have to be via an electro-mechanical device such as a motor or solenoid. Other electricallyinduced activation is possible using a variety of technologies. One of particular interest to hobby robot builders is shape memory alloy, or SMA. SMA In the world of robotics, hands are material goes by a number of trade usually called grippers, or end effectors. names, such as Bio-Metal, Dynalloy, The word gripper better describes their Nitinol, and Muscle Wire. function. Few robotic hands can manipThe construction of various SMA ulate objects with the fine motor control materials differs from manufacturer of a human hand. They simply grasp or to manufacturer, but the activation grip the object, hence the name gripper. technique is about the same: when heat is apply FIGURE 1. Robodysseys Gripper mounted onto a mouse and holding a can with eight ounces of water. to the metal, it contracts to a pre-defined state. Heat can be applied directly, through a flame or with hot water, or by passing an electrical current through the material. Electrical activation is the most common technique used in robotics. A disadvantage of SMA is its slow expansion rate: the metal must cool
before it relaxes and returns to its preheated shape and size. The larger the metal, the longer it takes to cool, so the slower the muscle returns to its non-contracted state. As a result, most of the shape memory alloy material youll see available is hair-thin. Dont let the small diameter of the wire fool you, however. Muscle Wire, and many other SMA materials, can hold considerable weight several pounds in both the contracted and non-contracted state. An interesting variation on pneumatic actuation is the Air Muscle, an ingenious combination of a small rubber tube and black plastic mesh. The rubber tube acts as an expandable bladder, and the plastic mesh forces the tube to inflate in a controllable manner. Air Muscle is available pre-made in various sizes. It is activated by pumping air into the tube. When filled with air, the tube expands its width, but contracts its length by about 25 percent. The result is that the tube and mesh act as a kind of mechanical muscle. The Air Muscle is said to be more efficient than the standard pneumatic cylinder and, according to its makers, has about a 400:1 power-to-weight ratio.
SERVO 07.2006
69
Gripper designs are numerous, and none are ideal for all applications. Each gripper style has unique advantages. Here are a number of useful gripper designs you can use for your various robots, but this list is by no means inclusive of all the gripper styles. As a quick note, the names I use to refer to the various gripper designs are descriptive only. Youll see a variety of terms used for these and other forms of grippers. Snap-Activated Lever (the Clapper) The snap-activated lever is one of the simplest gripper designs. The gripper is composed of two metal, wood, or plastic plates. The bottom plate is secured to the gripper body; the top
plate is hinged. A small spring-loaded solenoid is positioned inside, between the two plates. When the solenoid is not activated, a spring pushes the two flaps out, and the gripper is open. When the solenoid is activated, the plunger pulls in, and the gripper closes. The amount of movement at the end of the gripper is minimal about a half inch with most solenoids. However, that is enough for general gripping tasks. Variations include using a small motor instead of the solenoid. A solenoid provides for either open or closed positions, whereas a proper motor allows for positions in between. For example, by using a small R/C servo motor, its possible to position the movable plate to various points. The movable plate is connected to the servo motor by way of a linkage. Pincher The pincher gripper uses two movable fingers that open or close, either from a common hinging point, or with a special joint that allows for parallel movement of the fingers. The benefit of the pincher is that both fingers close in around an object. This is generally
preferred over the snap-activated lever, where one plate is fixed and the other moves. The designs of pinchers can vary greatly. One common approach is to use a pull-rod at the base of the fingers. Pull on the pull-rod, and the fingers open; push on it, and they close. The action of the fingers is like the blades of a pair of scissors, which means for larger and rounded objects, there is a potential that the closing fingers will actually push the object away. This problem can be largely avoided by using fingers shaped in a semi-circle so that the fingers close in around the object more evenly. With a parallel joint, the fingers are parallel from one another throughout their entire in-and-out movement. A disadvantage of most parallel pincher grippers is that they use straight fingers, which afford little contact area when grasping round and cylindrical objects. Flexible Finger Various designs are used to produce a gripper with human finger-like appendages. The fingers are usually just segmented pieces of plastic, wood, or metal, with a thin flap for a hinge. A very thin strip of metal (sometimes plastic) is placed on the inside of the fingers. When the strip is pulled taut, the fingers close in. The strip is naturally springy, so when its released, the fingers open back up. Several child toys have used this design principle, and in fact, such toys are often re-engineered for use on a homemade robot.
FIGURE 2. Joinmax/MCIIRobot sells plastic robot kits, including an arm/gripper with six degrees of freedom. The arm is controlled by specialized servo motors.
70
SERVO 07.2006
the wrist. The gripper and motor shaft are outfitted with mating spur gears. You can also use chains (miniature or #25) or timing belts to link the gripper to the drive motor. Another possibility is a worm gear on the motor shaft. Remember that worm gears introduce a great deal of gear reduction, so take this into account when planning your robot. The wrist should not turn too quickly or too slowly. Yet another approach is to use a rotary solenoid. These special-purpose solenoids have a plate that turns 3050 degrees in one direction when power is applied. The plate is spring loaded, so it returns to normal position when the power is removed. Mount the solenoid on the arm and attach the plate to the wrist of the gripper.
Sources
For those who wish to purchase a ready-made arm and/or gripper, there are a number of commercial enterprises that offer low-cost solutions. The following list is by no means exhaustive, but it should point you in the right direction.
FIGURE 3. Lynxmotion arm kits are made from sturdy polycarbonate. The company also offers brackets and hardware to make custom-designed, servo-operated arms.
Robodyssey www.robodyssey.com
Offers a low-cost, scissor-style, servo-operated pincher gripper. SV
FIGURE 4. Robodysseys gripper kit includes a servo and shaped parts to make a scissor-style pincher.
CrustCrawler www.crustcrawler.com
Five- and six-axis robotic arms, operated by R/C servos. Crustcrawler kits are made from aluminum.
Joinmax/MCIIRobot www.mciirobot.com
US distributor of Joinmax kits includes a robot arm and grip kit with six degrees of freedom. Resellers include Pololu.com, GarageTechnologies.com, and many others.
Lynxmotion www.lynxmotion.com
Manufactures and sells numerous servo-based arm and gripper kits. SERVO 07.2006
71
MANUFACTURER
Images SI, Inc. www.imagesco.com
Hexapod-01
Hex-01
11
2.25
2.5
Acrylic
9.5
11
1.75
Hitec HS-422
57 17.6 oz-in oz
Lexan
Lexan
Lynxmotion www.lynxmotion.com
Extreme Hexapod 1 EH1BC BASIC Stamp KT Extreme Hexapod 1 EH1-KT Bare Bones
9.5
11
1.75
Lexan
Lexan
9.5 4.75
11 4
1.75
Lexan
Lexan Aluminum
1 1
Ant Basic
Ant Basic
ANTB
Bird 50 3.38 0.13 Blue BMS 380 oz-in 8.5 3.88 3.88 Aluminum
Ant-n-PICPac Combo
ANTPP 4.75
Bird 50 3.38 0.13 Blue BMS 380 oz-in 8.5 3.88 3.88 Aluminum
Aluminum
ANTBB 4.75
Bird 50 3.38 0.13 Blue BMS 380 oz-in 8.5 3.88 3.88 Aluminum
Aluminum
Robodyssey www.robodyssey.com
Basic Roach
BR
9.75 8.5
0.88
Futaba S3004
44.4 14 oz-in
Aluminum
Mini Roach
RE
9.75 8.5
0.88
Futaba S3004
44.4 oz-in 14
Aluminum
9.75 8.5
0.88
Futaba S3004
44.4 oz-in 14 8 8
1 1 1
7.63 6.75 3.38 0.75 Blue Bird 50 BMS 380 oz-in Bird 50 7.63 6.75 3.38 0.75 Blue BMS 380 oz-in
BBBW
15
10
Tower TS-53
42 oz-in
15
Fiberglass
Aluminum
by Pete Miles
All product photos are available on the SERVO website at www.servomagazine.com
Upcoming topics include SBCs and H-bridges, sensors, kits, and actuators. If youre a manufacturer of one of these items, please send your product information to: BrainMatrix@servomagazine.com Disclaimer: Pete Miles and the publishers strive to present the most accurate data possible in this comparison chart. Neither is responsible for errors or omissions. In the spirit of this information reference, we encourage readers to check with manufacturers for the latest product specs and pricing before proceeding with a design. In addition, readers should not interpret the printing order as any form of preference; products may be listed randomly or alphabetically by either company or product name.
rd da an St or ns Se
Contact Infared Distance Infared Distance Infared Distance Contact
se Ba s of ic e n ic tro Pr lec rice st E P s) Li th it o i K rv t W ot Se e bo ob & ac Ro e R dy rf o s te d Baot B In me s g ob in m ne m ra ti (R m og ou ra pr R g in og Pre ion m (s) Pr ot am ge M r og ua Pr ng s n La Pi s I/O Pin g lo O y na I/ or A al t m i ig Me r D lle ro r nt re co ctu ro a ic uf M an r M lle ro nt co ro ic M #
or ns Se
ts en m om C
el od M
pe Ty
N/A
IRPD-01
Basic ATOM
Basic Micro
14K 20
IRPD-01
Parallax
2K16K 16 2K16K 16
IRPD-01
Parallax
Infared Sharp BasicX- NetMedia 32K 21 Distance GP2YOA21 24p BasicX Infared Sharp BasicX- NetMedia 32K 21 Distance GP2YOA21 24p BasicX Infared Sharp BasicX- NetMedia 32K 21 Distance GP2YOA21 24p BasicX
PLHS
PICBasic or CdS Light Sensors any other Not 106.95 Includes 0 Microchip Yes None Available and programs for light Programming following and avoidance. Language Includes the Mini Atom Bot Board which supports most 4 Basic Yes Serial 224.75 5V sensors and the Playstation 2 controller remote control, programming cable. Includes the Mini Atom Bot Board which supports most 0 Pbasic Yes Serial 213.80 5V sensors and the Playstation 2 controller remote control, programming cable. Precision laser cut parts for 0 Pbasic Yes Serial 99.95 durable construction. Includes Robodyssey Advanced batteries and 8 BasicX No Serial 199.95 Motherboard, battery pack, programming cable. PICBasic or any other Serial/ PICPac Motherboard, 6 Microchip No 149.95 Includes batteries, and battery pack. USB Programming Language PICBasic or Heavy-duty construction any other Serial/ that is school tough; all 6 Microchip No 139.95 documentation is curriculum USB Programming based. Language Includes Robodyssey Advanced batteries and 8 BasicX No Serial 299.95 Motherboard, battery pack, programming cable. Includes Robodyssey Advanced Motherboard, batteries and pack, Experimenters 8 BasicX No Serial 356.10 battery Solderless BreadBoard, breadboard cables, standoff, programming cable. Heavy-duty construction that 8 BasicX No Serial 192.95 is school tough; all documentation is curriculum based. Includes Robodyssey Advanced 8 BasicX No Serial 239.50 Motherboard, batteries and battery pack, programming cable. Heavy-duty construction that 8 BasicX No Serial 139.95 is school tough; all documentation is curriculum based. Includes one speaker, three programmable buttons, six Not 179.00 LEDs, power supply for test8 BasicX Yes Serial Available ing, compiler on a CD, newsletter on new applications, remote control capable.
by John Holland
by Stan Gibilisco
by Lewin Edwards
by Dave Prochnow
by Myke Predko
by Karl Williams
Anatomy of a Robot
This work looks under the hood of all robotic projects, stimulating teachers, students, and hobbyists to learn more about the gamut of areas associated with control systems and robotics. It offers a unique presentation in providing both theory and philosophy in a technical, yet entertaining way. Reading Anatomy of a Robot is like having a robot on the operating room table. Crack open the pages and youll be able to dissect a robot from head to toe. $29.95
by Charles Bergren
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-theshelf 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 all the information youll need on CNC robotics! $34.95
by Geoff Williams
CNC Robotics
We accept VISA, MC, AMEX, and DISCOVER Prices do not include shipping and may be subject to change.
74
Utilizing inexpensive, easily-obtainable components, you can build the same information gathering, covert sleuthing devices used by your favorite film secret agent. Projects range from simple to ! sophisticated and NEW come complete with a list of required parts and tools, numerous illustrations, and step-by-step assembly instructions. $24.95
SERVO 07.2006
Are you ready for some good news? Starting with the first SERVO Magazine issue November 2003 all of the issues through the 2004 calendar year are now available on a CD that can be searched, printed, and easily stored. This CD includes all of Volume 1, issues 11-12 and Volume 2, issues 1-12, for a total of 14 issues. The CD-Rom is PC and Mac compatible. It requires Adobe Acrobat Reader version 6 or above. Adobe Acrobat Reader version 7 is included on the disc.
SERVO CD-Rom
$29.95
by David W. Smith
Everybody's favorite amateur robotics book is bolder and better than ever and now features the field's "grand master" Myke Predko as the new author! Author duo McComb and Predko bring their expertise to this fully-illustrated robotics "bible" to enhance the already incomparable content on how to build and have a universe of fun with robots. Projects vary in complexity so everyone from novices to advanced hobbyists will find something of interest. Among the many new editions, this book features 30 completely new projects! $27.95
by Gordon McComb
Robotics Demystified
There's no easier, faster, or more practical way to learn the really tough subjects. McGraw-Hill's Demystified titles are the most efficient, interestingly written, brush-ups you can find. Organized as self-teaching guides, they come complete with key points, background information, questions at the end of each chapter, and even final exams. You'll be able to learn more in less time, evaluate your strengths and weaknesses, and reinforce your knowledge and confidence. $19.95
by Edwin Wise
If you want your robot to have more brains than microcontrollers can deliver if you want a truly intelligent, high-capability robot everything you need is right here. Linux Robotics gives you step-by-step directions for "Zeppo," a super-smart, single-boardpowered robot that can be built by any hobbyist. You also get complete instructions for incorporating Linux single boards into your own unique robotic designs. No programming experience is required. This book includes access to all the downloadable programs you need, plus complete training in doing original programming. $34.95
by D. Jay Newman
Linux Robotics
1 5 % t w o or or buy or e . m or
e a c hu $20 o f f if y o
Check out our online bookstore at www.servomagazine.com for a complete listing of all the books that are available.
75
The only thing that could drown out the cheers of the crowd, was the clash of steel on steel. The smell was unearthly, as were the sights. Bent steel, burnt motors, shattered plasWeblinks: www.Robotrebellion.net tic, flaming butane, and ripped aluminum; all were forged into www.SWARC.org www.Buildersdb.com one great machination created simply to overload the senses. On February 4, 2006, 13 teams hauled their robots out One spinner, one rammer, and one dustpan made up the to Mikes Hobby Shop to face off for the top prize at hobbyweight (12-lb max.) class at SWARCS Most Extreme SWARCS Most Extreme Robot Challenge. Robot Challenge. Fultons Folly and Scoopula pounded it out As always, safety was top priority in the finals after defeating Mad Puppy a horizontal spinand the staff made sure that the Robot ner with a screaming gasoline engine. Fighting League rules were followed to In the Featherweight (30-lb max.) class, Team Probotics the letter. By the time all the robots flame-spewing Lexan lifter My Girl Robot faced off against were deemed safe according to the RFL Team Monsters horizontal spinner Metal Fatigue. Two frightguidelines, SWARCS Most Extreme ening fights later Metal Fatigue came out on top, proving to Robot Challenge was off to a smooth be the tougher of the two. start. The schedule was simple: fight Crocbot, a past winner of many SWARC competitions, bots until 1:00 P.M., and then take a came out to protect his lightweight (60-lb max.) title against lunch break for 30 minutes. After the an all-steel wedge named Spinnerbait Jr. and the disk-wieldbreak, come back and finish the fight ing Guillotine. Three earth-shattering encounters left Crocbot A member of Team brackets to determine the winners. on top for a third time, proving that, at the end of the day, it Dragon Robotics after winning the Rookie Though there was a slight shortage all comes down to how hard your shell is. Driver Award. of larger robots, a round-robin configuIf you want to see some great fights, meet some great ration allowed for plenty of destruction. For the ants, a simpeople, and have a ton of fun, come down to Texas for ple double elimination format was used. All robots weighing SWARCs next event the Texas Cup on September 9th. You over a pound fought in the 24 by 24 Texas wont be disappointed! Who said robot builders Toad Tank, while the ants dished out damFormed in 2000, the Southwestern were crazy? Alliance of Robotic Combat began as a simple age inside of the 4 by 4 ant box. group of robot enthusiasts. Since then, the The ants (1-lb max.) kicked off the Most gathering has increased and includes people Extreme Robot Challenge with 10 bots and from greatly differing backgrounds. SWARC tons of hits rounding out the class. In addiholds their events in Mikes Hobby Shop where tion to the usuals like Team Dark Forces verbuilders can buy spare parts. Mikes Hobby tical spinner Dark Pounder were some newShop is also an ideal home for Fuzzys Toad comers like T.U.F.Ti.C.K. and Hungry Hungry Tank, which is now being used by SWARC. Hippo. After proving their worth in battle,
76
SERVO 07.2006
the 60s to where we have come today, it is obvious that a lot of technical progress has been made. These are definitely exciting times for robots!
with moving parts and a controller, processor, or computer attached that executes operations or movements with little or no human direction. This one is getting closer, but fails what I call The Elevator Test, since you can substitute elevator for robot in the definition and still make a true statement.
Something is Missing
So, something is still missing something that we all intuitively know that makes up the essence of a robot. First, lets distinguish between robots and robotic devices. Robotic devices include manufacturing arms, automatic car wash machines, elevators, the Roomba and Scooba products by iRobot, and even your late-model car (or the SUV you are trying to trade in for a hybrid). So lets change the definition above to: A robotic device is a mechanical assemblage with moving parts and a controller, processor, or computer attached that executes operations or movements with little or no human direction. As a definition for robotic devices, this one is pretty good, but does not define robots. So here is a short definition of a robot: SERVO 07.2006
77
A robot is a robotic device that moves and operates in at least one existing real-world environment without tracks or guides and looks like a robot. The last part is not optional, since modern commercial aircraft are robotic devices that operate without tracks or guides. The existing real-world environment is intended to separate out special-environment machines. It is also circular and assumes one knows what a robot looks like. It does not state what part transforms the mechanical assemblage that looks like a robot into the true robot. So, I leave it to another time or others to perfect the definition of a true robot. But it does give us insight into what is needed machines that operate in existing environments with little or no human direction.
ronment information to the software. Without proper software, the hardware will look like a robot but remain a remote-controlled or preprogrammed puppet. Hondas robot comes to mind here. It definitely looks like a robot, but requires a human to program specific step sequences or operate it by remote control (my opinion based only on observation since I cannot afford to buy one). If one assumes that existing sensors are adequate, then software becomes the only missing piece. More specifically, some form of machineintelligence robot software. Certainly, all modern robot designers include software as a critical design component, but they typically focus in-depth on hardware, and then write just enough software to operate the hardware. This makes a great robotic device, but fails to make a robot. Robot software must be realtime aware of the local environment, including interacting with humans, and be goal-oriented to provide useful functions for humans. Obviously, the robotic device component (mechanics
of the robot) must work under the direction of the robot software. Only when we focus on the machine-intelligence portion of our software will we finally build robots. We do not need to build C3P0 software to get started, just enough to build safe, useful robots. This effort has already started. Stanfords DARPA team used a software-focused approach to win, the IEEE Video Odometry challenge (August 2006) focuses on a significant piece of the missing robot software, and the LEAF project (and others) are already underway. This is the age of robots ... now lets get busy and write robot software! SV
AUTHOR BIO
Jonathan E. Fant, P.E. is president and founder of Future Robotics, Inc. (www.futurerobotics.com) a company dedicated to building real-world robot hardware, software, and accessories. He is an electrical engineer with a background in electrical power, controls, and robotics. He can be reached at jon@futurerobotics.com
78
SERVO 07.2006
Then NOW
ROBOTS WHO CARE FOR PEOPLE
y T o m C a r r o l b
gain, I use the word Who in the title of my article, just as in my previous article about Robots Who Live With People in the April 06 issue of SERVO. I like the word, as it implies a closer relationship to a type of machine we all appreciate so much. However, there is a wide gap between living with and caring for a person a difference that has been apparent for many millennia. Centuries ago, caring for a person who was disabled or ill usually meant keeping them comfortable in a bed and feeding them until they healed or died. Sometimes the healing process was worse than dying a peaceful death. Stretchers were used to move a sick person from one point to another. Later, as the science of medicine progressed and hospitals were developed to care for people, caring became more refined. Hospitals began to develop mechanical means to move or position a sick person instead of man-handling them about. Wheelchairs were the first of these devices, as the transport of an ill patient was very important. Later, manual lifts were developed to move a person from a bed to a wheel chair or rolling gurney, but human muscle power was still required. As the twentieth century progressed, medical technology advances created powered patient lifts that rolled along on overhead tracks. A sling was placed around the patient and an overhead electric winch and cable attached to the sling allowed a nurse to lift the person out of a chair, bed, toilet, or bath. The winch was attached to the overhead track and a person could
a n d
move the patient anywhere the tracks were mounted by just pushing the person along with their hands. Figure 1 shows such a patient lift in use. A person is usually still required to operate the lift and move the patient along the overhead track much like a butcher moving a side of beef in the cutting room. Powered wheelchairs and scooters allow people with disabilities to move about on their own a joystick is at the end of one armrest controlling the direction and speed of the chair. However, when the disability is great enough, a person is sometimes required to move the patient into and out of the wheelchair and into a bed, bath, or toilet. At this point, the person loses their ability to live independently. Figure 2 shows an electric lift that is attached to the side of stairs to assist people in climbing stairs.
Living independence is a situation that I have examined thoroughly. Several years ago, my son Tom was severely injured when he was in the Navy and required constant Figure 1. Overhead lift. attention for all of his basic needs. He had been a physically fit Navy Seal candidate, but was reduced to helplessness after an accident. Fortunately, this condition passed after six months or so, but I had been thinking about what type of robot I could build that would attend to his needs.
At about the same time, my sister Liz was slowly becoming an invalid due to a neurological disease and would require an entirely different type of care robotic or otherwise. Just what kind of robot could I develop that would satisfy both of their needs? There are so many different types and degrees of disabilities that no one design can satisfy all needs. I was having a hard time coming up with a functional design for a robot to assist every type of disability. Shortly after this initial design, I got to talking with a delightful 98-yearold lady who knew of my robotics background. Myra was living independently, but had to have a housekeeper come to her home daily to help her with a few basic needs. Her mind was sharp, as she kept track of her stock portfolio and was a great conversationalist, but found she needed basic help in moving and doing things around her home. After a particularly difficult morning, I happened to go by her home for a visit. Tom, she asked me, I wish you could build a robot that could help me live day-to-day without having to
Figure 2. Stairlift.
SERVO 07.2006
79
have a person coming by all the time to help me do the simplest things that I used to do for myself. I dont want a person hanging around me and going through all my things.
mechanized conversationalist. In 1995, I visited an upper-scale nursing care facility in Long Beach, CA, and spoke with 47 patients with all levels of assistive needs. As I expected, there were some (14%) who were pretty much against having a mechanical servant in their home, even if they could return to their homes. I can understand this reaction, seeing as how it is so new and unknown. It was the completely bed-ridden patients who expressed this sentiment more than the more mobile and active residents did. However, over 68% of those with whom I spoke were very enthusiastic about having a robot to assist them in daily needs. I showed all of them 12 men and 35 women two drawings of the robot I had designed and described how it worked and how it could help them (see Figure 3). I spoke honestly, telling them that the robot was not a house-cleaning maid, but a constant companion at their beck and call. The remaining 18% took a wait-and-see stance. I was told by almost all of the patients to, Hurry up and build this thing. We [all seniors] need it now. They explicitly stated that they did not want a robot that followed them around like a lost dog, asking them if theyd taken their pills or similar reminders. Cordless phones and radio pendants for around their necks can summon their doctor, the police, or other emergency services, and timed pill containers with a voice reminder can easily keep seniors on their medications at a far cheaper cost. What they all desired was a robot who could physically do something not just roll around and beep and talk. They wanted a robot servant who could assist them from the floor after a fall. They wanted a robot who could be directed to go into the kitchen, take a Lean Cuisine beef and broccoli meal out of the freezer, place it in the microwave oven for six minutes, and bring it to them when it was done. They wanted a robot who could help them into and out of a chair, bed, or even a toilet, safely. All of these tasks are pretty hard for a robot of today, especially the safely part. In researching the FDA Code of Federal Regulations under part 890, Physical Medicine Devices
it appears that sub part F, Physical Medicine Therapeutic Devices, part 890.5050, describes a Daily Activity Assist Device under which personal assistant robots might have to conform for safety reasons. Not surprisingly, many of the seniors whom I spoke with wanted the robot to clean the house, though I had mentioned that the robot I had designed was not a maid. They had no idea just how difficult house cleaning is thorough house cleaning. The I-Robot Roomba and Scooba do a fairly good job of daily carpet and floor cleaning, but dirt and dust does not just accumulate on the floors. It is deposited upon furniture, walls, and all over kitchens and bathrooms. No doubt that some of these seniors have since purchased a Roomba. A competent maid can spend an hour a week doing a far better job of cleaning a home than any robot, and he or she can also bring in a weeks load of groceries and place them in cabinets, refrigerators, and freezers, oriented so that a robot can read the barcodes and retrieve them (with a bar-code or RFID reader in the robots claw). I shudder at the thought of a robot set loose in an elderly persons home trying to dust a shelf covered with many crystal and ceramic figurines. At maybe $50-$100 a week for simple house cleaning and food arrangement depending on the homes size a senior can pretty much live independently with a well-designed and functional personal assistant robot. Let a person do these low-paying tasks for an hour or two a week and let the robot assist a person the other 166 hours. This is certainly less expensive than a daily, full-time caregiver in the home at a cost of $150 to $200 a day, or $55,000 to $73,000 a year. A nursing home can be significantly higher.
80
SERVO 07.2006
lift close to 200 pounds each, much like we would move our arms about on the top of a chest that is as tall as our upper chest. SCARA configuration robot arms have all vertical axes and operate in a horizontal plane and take little power to move a payload back and forth, just as a fingertip can Figure 4. Engelberger Figure 5. CAD Figure 7. Care-O-Bot Figure 6. Care-O-Bot. beside his HelpMate. model. Manipulator. move a heavy door back and forth. SCARA configurations offer great lifting power, but have a could, I soon realized that basic metal the home, long before his HelpMate hit problem reaching up into or down in forming, machining, circuit board popthe hospital floors. cavities to retrieve objects without the ulating and soldering, plus assembly of He clearly sees the need for a robot addition of special end effectors at the in the homes of our seniors. In several complex mechanisms quickly brought end of the arms. Most industrial SCARA interviews with TV and magazine the cost of initial robots skyward. robot arms have a special end-effector people, he has said that his HomeMate As with any complex design that moves up and down for precision will fetch and carry, cook and clean, and project, prototypes must be built, trials parts insertion and similar applications. help with all the activities of daily living run, issues addressed, and government Most designers of personal robots for a fraction of the cost of skyrocketing regulations covered. The final product to assist the elderly have used the typinursing home or in-home care; leasing must be engineered, manufactured, cal human arm configuration a modat $1 an hour, or $600 a month. marketed, and delivered. When I first ified version of the industrial robots Figure 5 is a CAD drawing of his moved up to the Seattle, WA area, I revolute configuration. The shoulder proposed HomeMate robot. The met a man who was quite interested in joint is at the top of the robots chest robot will have thick skin, he chuckled. providing the large amount of venture structure with a lower elbow connected With an 85-year-old person, the robot capital necessary to get the personal to a forearm and hand. This type of will have to react to four or five assistant robot project underway. After arm can easily reach down into a cavity questions: What is lunch? Where is the dot.com crash and its devastatand still reach up over the robots head, it? Its very easy to sense distress. It ing effect on new tech start-ups, he but requires a greater amount of power can go up and say, Tell me about your had to drop out of the funding after to accomplish a lifting task. I wrote high school reunion party, and the another firm ate his funds. I have more extensively about personal robot robot is going to clap every time. temporarily shelved the project, though design in the April 06 issue of SERVO. Engelberger had proposed the creation I am constantly asked about its status. Another design issue was the of a company called RoboCare, Inc. robots ability to keep from tipping (not to be confused by the Italian over while handling a human being. consortium of the same name), to Extendible feet seemed to partially design and produce his robot. Quite solve this problem. Many other hurdles frankly, if anyone can do it, Joe can. must be met, such as reliable speech To be expected, US companies understanding, sophisticated software Stepping aside from my own design are not the only firms interested in to make sense of a series of verbal ideas, Id like to talk about other personcommands, useful vision systems, and al robots that are making their way into Figure 8. RI-MAN holding a full-sized human doll. many other design problems. our homes. Joe Engelberger worldHow much would such a robot renown as the Father of Industrial cost? As with anything new, the costs Robotics has changed his focus in will probably be far higher that any the last decade from factory robots to designer ever imagined. Just as the first robots who care for the elderly. Shown cell phones were as big as a brick and next to his successful HelpMate robot cost several thousand dollars, they are designed for hospitals (Figure 4), Joe is now almost invisible and are given pushing close to 81 years old himself. away with your wireless phone I had the privilege to eat a quick service. The first personal assistant lunch with Joe back in 1984 at the robots will probably be heavier than International Personal Robot Congress wed like and cost less than a in Albuquerque, NM one of the first personal robot symposiums. Joe was Mercedes, but more than a Chevy. already thinking ahead of a robot for Using as many off-the-shelf items as I
SERVO 07.2006
81
producing a robot to assist the elderly in independence. Figure 10. Sogang University robot. Fra u n h o fe r IPA, of Stuttgart, Germany has produced two demonstrator platforms of a robotic home assistant called Care-O-Bot. The first model Care-O-Bot I was strictly a mobile platform for research purposes. It had a touch LCD screen for basic input/output information. The Care-O-Bot II model is equipped with adjustable walking supporters to assist a person when walking behind the robot. The robot also has a fairly sophisticated manipulator arm attached. Figure 6 shows the Care-O-Bot II with its amazing manipulator arm. It can navigate autonomously in indoor environments and the manipulator can be programmed for various pickand-place tasks. The control software of the Care-O-Bot II operates on two industrial PCs and a separate hand-held control can be used for remote programming and operations. Autonomous functions can operate the manipulator arm, allow roving about a home, utilize images from a camera and laser scanner in the head,
and be controlled by voice commands or computer keyboard inputs. Figure 7 shows the manipulator in use. At an automation fair in Germany in 2002, the Care-O-Bot II actually was programmed to approach visitors and hand out business cards. The robot then asked the visitor for his or her business card and placed them in a tray. It goes without saying that the greatest interest in robots and the home of the largest robot manufacturers is in Asia in particular Japan and Korea. From Sonys Aibo to Hondas Asimo, the latest advances in personal robotics has come from Japan. Though Sony has recently bowed out of the field, many new products are arising from these countries. It is estimated by the Japan Robot Association that over 16,000 service robots the term for nonindustrial, but also not entertainment robots are in place, with the majority in hospitals and nursing homes. Japan and Korea are facing a greater percentage of elders and a subsequent greater need for care. The RIKEN-Bio-Mimetic Control Research Center in Nagoya, Japan has developed RI-Man an anthropomorphic (man formed) robot to be used as an elder care robot. Figure 8 shows the RI-MAN carrying a human-sized doll, weighing
only 26 pounds though. At 5 2 tall, the 200-pound robot is expected to carry 70 KG over 150 pounds in the near future. Covered with a pliable, soft foam rubber skin, it is expected to be peoplefriendly. Figure 9 shows two of the robots joints and an overall schematic. Researchers at Sogang University recently developed a robot to assist disabled and elderly people with basic mobility. Figure 10 shows how a person is attached to the robots arms at their waist, and the machine slowly leads the person about a room. Japans Waseda University has long led the world in specialized robot development, but MIT in the US with its COG and KISMET personal robots is not to be left out of the game. Carnegie Mellon and other US universities always manage to keep us amazed with some very unique robots. I have only touched upon a few of the new robots designed to care for people. There are many US companies and private researchers developing new machines. Interest in robots for the home is experiencing a tremendous rise. The movie Bicentennial Man and similar films have shown robots in the homes of average citizens. Non-tech people are scooping up Roombas and Scoobas. There are always the early adapters who will buy some seemingly useful gadget just to be the first person on the block with something new. Most people are the middle and late adapters who want a new technology to prove itself before they buy. Early adapters pay the price and help the companies weed out the kinks and problems before the masses move in to buy. Home care robots for the elderly will soon be at the marketplace. SV
Advertiser Index
All Electronics Corp. .............................25, 35 Critical Velocity ............................................35 CrustCrawler ...................................................9 Dimension Engineering ...............................22 DynoMotion .................................................35 Futurlec .........................................................35 Future Robotics ............................................63 Garage Technologies ...................................35 Hitec ................................................................3 Hobby Engineering .....................................66 Industrial Ventures ......................................66 Jameco Robot Store ......................................2 Lemos International Co., Inc. ......................13 Lorax Works ..................................................25 Lynxmotion, Inc. ...........................................23 Madell Technology Corporation ................35 Maxbotix .......................................................35 Medonis Engineering ..................................35 MeerKat Systems, Inc. .................................35 Net Media .....................................................83 NU-BOTICS ....................................................25 Parallax, Inc. ...................................Back Cover PCB Fab Express ...........................................63 Pololu Robotics & Electronics ....................56 Robot Power ................................................56 Robot Shop ..................................................78 Solarbotics.....................................................17 Solutions Cubed ...........................................34 SpectroTech ..................................................35 Technological Arts .......................................35 Vantec ...........................................................56
82
SERVO 07.2006
What can you do with eight 32-bit processors (COGs) in one chip? Real simultaneous multi-processing! The new Propeller chip is the result of our internal design team working for eight years. The Propeller chip was designed at the transistor level by schematic using our own tools to prototype the product. The Propeller is programmed in both a high-level language, called SpinTM, and low-level (assembly) language. With the set of pre-built Parallax objects for video, mice, keyboards, RF, LCDs, stepper motors and sensors your Propeller application is a matter of high-level integration. Propeller represents the rst custom all-silicon product designed by Parallax. The Propeller is recommended for those with previous microcontroller experience.
Propeller Chip Specications Power Requirements 3.3 volts DC External Clock Speed DC to 80 MHz (4 MHz to 8 MHz with Clock PLL running) Internal RC Oscillator 12 MHz or 20 KHz System Clock Speed DC to 80 MHz Global RAM/ROM 64 K bytes; 32K RAM / 32 K ROM Processor RAM 2 K bytes each (512 longs) RAM/ROM Organization 32 bits (4 bytes or 1 long) I/O Pins 32 Current Source/Sink per I/O 50 mA
Propeller users have already been hard at work developing Objects for the Propeller Object Library and discussing Propeller programming on our online forums. To join in visit www.parallax.com/propeller.
Propeller Chips P8X32A-D40 (40-Pin DIP) Chip P8X32A-Q44 (44-Pin QFP) Chip P8X32A-M44 (44-Pin QFN) Chip Propeller Tools Propeller Demo Board PropSTICK Kit Propeller Accessories Kit
Stock Code #P8X32A-D40 #P8X32A-Q44 #P8X32A-M44 Stock Code #32100 #32310 #32311
To order online visit www.parallax.com/propeller. To order by telephone call the Parallax Sales Department toll-free at 888-512-1024 (Monday-Friday, 7 a.m. to 5 p.m., Pacic Time).