Professional Documents
Culture Documents
Servo2007 11
Servo2007 11
$5.50
CANADA
$7.00
1 1>
74470 58285
Jameco
AMP Astec Power Augat AVX Bourns Cherry Condor Power Corcom CTS Elco Connector Fox Electronics Grayhill Intl Rectifier Kemet Molex Osram Panasonic Potter & Brumfield Power-One Teledyne Relays Vishay Wakefield
Digi-Key
AMP Astec Power AVX Bourns Cherry Corcom CTS Elco Connector Fox Electronics Grayhill Intl Rectifier Kemet Molex Osram Panasonic Potter & Brumfield Power-One Vishay Wakefield
Mouser
AMP Astec Power AVX Bourns Cherry Condor Power Corcom Elco Connector Fox Electronics Intl Rectifier Kemet Molex Panasonic Potter & Brumfield Teledyne Relays Vishay Wakefield
Newark
AMP Astec Power AVX Bourns Cherry Corcom Elco Connector Grayhill Intl Rectifier Kemet Molex Osram Panasonic Potter & Brumfield Vishay Wakefield
10
15
20
Free shipping on these and 83 other major brands. Call for details.
www.Jameco.com
Or call 800-831-4242 anytime
Jameco Electronics. *According to the line cards on their web sites on August 28, 2007. Trademarks are the property of their respective owners.
B^XgdbdjhZX]Vhh^h
GdWdcdkV"&
;^ghi"XaVhhXjhidbZghZgk^XZ###
Ndj ]VkZ egdk^YZY eda^iZ! YZiV^aZY hjeedgi l]Zc > ]VkZ cZZYZY^i!]VkZWZZcbdgZi]VcVXXdbbdYVi^c\l]Zc^iXdbZh idejgX]Vh^c\Vhh^hiVcXZVhlZaaVhegdk^Y^c\bZl^i]a^\]ic^c\ [VhiZbV^agZhedchZh!egdbeiYZa^kZgnVcY]VkZbZiVcY\gZVian ZmXZZYZYbnZmeZXiVi^dc[gdbVgZiV^aZg^cZkZgngZ\VgY GdWZgi<dgYdcJc^kZgh^in!6WZgYZZc DG9:GDCA>C:/ LLL#68I>K:"GD7DIH#8DBI:A/ ))%&,+&'(.'+,
GdWdiX]Vhh^h!eVgih VXXZhhdg^Zh
HZchdgBdjci^c\=VgYlVgZ
6JI=DG>H:9=D@JND9:6A:G
PAGE 62
Columns
08 10 14 56 62 68 76 78
4
Robytes
by Jeff Eckert
Departments
06 07 18 20 31 46 72 82
Mind/Iron Bio-Feedback Events Calendar New Products Robotics Showcase Robo-Links SERVO Webstore Advertisers Index
GeerHead
by David Geer
by Pete Miles
Robotics Resources
by Gordon McComb
Twin Tweaks
by Bryce and Evan Woolley
Different Bits
by Heather Dewey-Hagborg
Appetizer
by Bryan Bergeron
by Tom Carroll
SERVO 11.2007
11.2007
VOL. 5 NO. 11
PAGE 32
36
42 47 51
Control a TOPO 1
by Robert Doerr Breathe new life into an old robot.
PAGE 42 PAGE 47
GPS
by Michael Simpson Part 2: Take a look at the Etek EB-85A, Copernicus, and Holux GPS modules.
PAGE 36
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 11.2007
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
Mind / Iron
by Bryan Bergeron, Editor In the commercial robotics world, all eyes are on the recent iRobot vs. Robot FX patent infringement lawsuits, in which iRobot is seeking to prevent Robot FX from selling any more Negotiator robots. While there are a number of facets to the case destined for the tabloids, one undisputed part of the story is that the suit comes on the heels of a competition between Robot FX and iRobot for a $280M contract with the US military. Robot FX won the contract. Whether iRobot maker of the popular Packbot gets another crack at the contract, the suit is important in that it marks an important milestone in the growth of the military robot industry. To follow my reasoning, consider the Gartner Hype Cycle, a popular model of technology-based products, first proposed by the Gartner Group (www.gartner.com) in 1995 (see Figure 1). According to the model, the first phase of a Hype Cycle is the technology trigger, marked by a significant breakthrough, public
GARTNER HYPE CYCLE
VISABILITY
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 EDITOR Bryan Bergeron techedit-servo@yahoo.com CONTRIBUTING EDITORS Jeff Eckert Tom Carroll Gordon McComb David Geer Pete Miles R. Steven Rainwater Michael Simpson Kevin Berry Fred Eady Brett Duesing Brian Cieslak Mark Miller Robert Doerr James Baker Chad New Bryce & Evan Woolley Heather Dewey-Hagborg CIRCULATION DIRECTOR Tracy Kerley subscribe@servomagazine.com MARKETING COORDINATOR WEBSTORE Brian Kirkpatrick sales@servomagazine.com WEB CONTENT Michael Kaudze website@servomagazine.com PRODUCTION/GRAPHICS Shannon Lemieux Joe Keungmanivong ADMINISTRATIVE ASSISTANT
Debbie Stauffacher
Technology Trigger
Trough of Disillusionment
Slope of Enlightenment
demonstration, product launch, and related events that generate press and industry interest. The next phase the Peak of Inflated Expectations is marked by over-enthusiasm and unrealistic expectations. In reality, there may be some successful applications of the technology, but there are more failures than winners. The only enterprises making money at this stage are conference organizers and magazine publishers. Following this over-hype and user/investor frustration from unmet expectations, technology-based products enter the trough of disillusionment. Because the press usually abandons the topic and the technology, this is the end for many products. Products that survive the trough of disillusionment which may last months, years, or decades are kept alive by companies that understand the technologys applicability, risks, and benefits. The slope of enlightenment marks the time when there is practical, commercially-viable application of the technology that is, FIGURE 1 some companies enjoy cash flow. Finally, the product and underlying technology reach the plateau of productivity, which is marked by the appearance of stable, accepted, second, and third generation products. Because its often difficult to directly track the few companies TIME Plateau of that are commercially Productivity successful during the
Mind/Iron Continued
SERVO 11.2007
Copyright 2007 by T & L Publications, Inc. All Rights Reserved All advertising is subject to publishers approval. We are not responsible for mistakes, misprints, or typographical errors. SERVO Magazine assumes no responsibility for the availability or condition of advertised items or for the honesty of the advertiser.The publisher makes no claims for the legality of any item advertised in SERVO. This is the sole responsibility of the advertiser. Advertisers and their agencies agree to indemnify and protect the publisher from any and all claims, action, or expense arising from advertising placed in SERVO. Please send all editorial correspondence, UPS, overnight mail, and artwork to: 430 Princeland Court, Corona, CA 92879.
slope of enlightenment, external events such as lawsuits serve as useful indicators. Id like to propose this is the lawsuit point (shown in red in Figure 1) between the trough of disillusionment and slope of enlightenment. Historically, companies producing products arent bothered as long as theyre in an academic lab or smoldering in a company barely making a profit on the technology. However, as soon as the technology and market are mature enough to generate significant, sustainable revenue, then holders of patents (and their attorneys) take notice. The motivation for a suit may be strictly monetary. Some patent holders develop and hold on to a patent with no intent of developing a product. Instead, they hope that a technology will become viable before the term of their patent ends. A suit may be motivated by competition from a rival in the marketplace. In some cases, a suit is simply to establish the right of a company to compete in a given market. The iRobotRobot FX suit suggests that the military robotics industry has survived the trough of disillusionment and is well on its way to the slope of enlightenment. There have been lawsuits in medical robotics, a sign that the robotics industry is making progress in this area, as well. How long before we see major lawsuits for home robots or assistive robots is unclear. However, when we do see lawsuits, itll be a sign that the field is maturing. Hopefully, the robotics companies involved in these suits will be financially fit enough to not only survive but thrive in the new economic environment. SV
Dear SERVO: Regarding the 09.2007 issue beginning on page 67, Twin Tweaks Robot vs.Wild ... the problem stated was that the automotive steering vehicle had trouble making tight turns. The Wooleys solved part of the problem quite accurately with the Ackermann steering geometry, but you still have a solid rear axle (wheels, axle, and drive gears acting as a single unit). Thus, driving both rear wheels with relatively equal force when you try to turn, the front end gets pushed and you wind up going in a wider radius than the front wheels are set for. In the process of turning, the rear wheels want to slip because the outside wheel is traversing a larger arc than the inside wheel. If youre going in a straight line, like drag racers do, a solid rear end is great. But if you want to make some turns, then you need a differential. And they almost had it looking at the photo on the bottom of page 69 titled Vex Differential. You need to cut the axle in two (a loose sleeve joining the two ends will allow independent motion and still keep the axles relatively concentric) and put a bevel gear on each axle end so that they mesh with the third bevel gear thats attached to the differential carrier. This will allow continuous power to be applied to both rear wheels, irregardless of each wheels speed.You guys are doing great hang in there.Youll never know what you can do until you push your limits. Phillip Potter
continued on page 75
SERVO 11.2007
Robytes
Autonomous Refueling Demonstrated
autonomously; the pilots shown in the photo were on board for safety purposes.
by Jeff Eckert
20 minutes. Guidance is provided by a Trimble GPS unit, and you can choose among three Pentax camera models to get up to eight megapixel resolution for stills and 640 x 480, 30 fps, in video mode. Power is provided by a 0.15 cu in engine that draws from a six-oz tank, but it appears that you can also get one that is driven by an Axi brushless motor and lithium polymer batteries. Rumor has it that it will run you about $7,000.
The AARD system performs better than a skilled pilot. Photo courtesy of DARPA.
The Defense Advanced Research Projects Agency (DARPA, www. darpa.gov) has added to its bag of aeronautical tricks with the Autonomous Airborne Refueling Demonstration (AARD) program, through which it has demonstrated the first-ever robotic system to refuel airplanes in flight. In a recent series of tests, the AARD was fitted to a NASA-owned F/A-18 Hornet fighter and operated out of Californias Edwards Air Force Base. Using inertial, GPS, and video measurements along with some special guidance and control techniques the AARD managed to poke a refueling probe into a 32-inch basket while traveling 250 mph at 18,000 ft above the Tehachapi Mountains. Some tests were conducted in straight-and-level flight, under a range of turbulence conditions that involved as much as five feet of side-to-side movement of the drogue (the small windsock at the end of the refueling hose). In its most successful configuration, the AARD hit the target in 18 out of 18 attempts. It also managed to make the connection when the 707-300 tanker and F/A-18 were executing a turn, which is not usually attempted with a human pilot. In the tests, the fighter was operating
The i-LIMB Hand looks and acts like the real deal. Photo courtesy of Touch Bionics.
The Touch Bionics (www.touch bionics.com) i-LIMB Hand, formally introduced in July at the 12th World Congress of the International Society for Prosthetics and Orthoticsin Vancouver, Canada, looks like a great innovation for patients who are missing a hand through accidents, acts of war, or birth defects. Designed to look and operate like the real thing, it is said to be the worlds first commercially available prosthetic device with five individually powered digits. The device operates on an intuitive control system that uses a traditional myoelectric signal input to open and close its fingers. Myoelectric controls
SERVO 11.2007
Robytes
use electrical signals generated by muscles in the remaining portion of a patients limb, with the signal being picked up by skin-mounted electrodes. Not shown in the photo is the available cosmesis covering, which makes it appear more lifelike in use. The device is already being fitted to patients in many clinics in the US and Europe.
Interactive Boybot
The ROV-in-a-Box kit comes more or less complete. Photo courtesy of !nventivity LLC.
Zeno a 17-inch mechanical boy walks, talks, and interacts on a personal level. Photo courtesy of Hanson Robotics.
Its not pretty, but at least its pretty cheap. Designed for ages 12 and up, the ROV-in-a-Box kit from !nventivity (www.nventivity.com) sells for $249.95 and includes all of the required parts (frame, motors, light, camera, tether, controller, and battery), plus an instruction manual. It also comes with propellers, switches, connectors, buoyancy devices (presumably the chunks of plastic foam shown in the photo), and pretty much everything else. All you have to provide is PVC cement, tools, and a video monitor. According to the vendor, independent left and right props give it good controllability and zero-radius turning, and the light is bright enough to allow night missions. See the companys website for a six minute video.
He looks quite a bit like the Japanese comic book character Astro Boy, but the new Zeno bot
from Hanson Robotics (www.hanson robotics.com) is actually named after the inventors son. Zenos main claim to fame is how well he imitates human facial expressions, but he also walks, talks, and can learn to recognize individual human beings (using a camera located behind one of his eyes) and address them by name. Like other Hanson creations (recall the familiar talking Einstein bot), Zeno is based on AI capabilities that help him learn and interact with his environment, a complex range (62, to be precise) of facial and neck expressions, his somewhat weird Frubber polymer skin, and the ability to develop a unique personality. According to Hanson, Zeno and his pals can be used in education, psychiatry, military training, and character development for animation. Some people find him adorable, and others have described him as creepy, so youll have to judge for yourself. Zeno is still a prototype, but the plan is to have a commercial version on the market in two years for about $300. SV
SERVO 11.2007
by David Geer
called Rack N Roll tested the students and their robots ability to (1) hang inflated colored tubes on pegs, configured in rows and columns, on a 10-foot-high center rack structure; (2) program a robotic vision system to navigate the robot; and (3) lift other robots more than 12 inches off the floor, according to Brad Miller, a Team 190 member. The leaders of the competition formed the aforementioned rack structure out of eight columns with three pegs each on which robot teams could place their tubes. Every other column had a green light. The teams calibrated their robots cameras to track the light. Six robots took the field during a match. Officials assigned the robots
Goat-Dactyl, mouth wide open, just before completing the lift of alliance partners. Dan Jones, operator, operating the controls in the background.
Students with Goat-Dactyl competition robot and control console queuing up before a match. The driver is thinking about strategy. Dan Jones, robot operator, is in the foreground and Colin Rody, driver, is in the background.
to either the blue or red alliance for competition. The teams earned points by hanging their alliance-colored tubes on one or more of the rack pegs, says Miller. According to Miller, each hung tube was worth two points unless it was contiguous (either vertically or horizontally) with another hanging tube of your alliance color. The total point count in this case was equal to two raised to the power corresponding to the length of the matched tube row or column (e.g., one tube = two points, two tubes = four points, three tubes = eight points ... a full circle of eight tubes = 256 points!), Miller explains. Team 190 made the Goat-Dactyl robot from a kit that every team had to adhere to. The kit includes parts for the robots pneumatic and electrical systems, as well as a choice of motors. The robot itself consists of four CIM FR801-001 motors, which drive the robot. The large, broad metallic gripper that is the primary capability of the robot opens and closes with the aid of an RS-540 gear motor (Banebots). Two Globe 409A587 motors actuate the robots ramps. The team machined both the
Photos are courtesy of Brad Miller, Team 190 member.
10
SERVO 11.2007
GEERHEAD
chassis and gripper elevator from scratch. They used 6061 aluminum C-channel and Lexan materials. They cut the lifting ramps via laser out of 5052 aluminum sheet metal. They used sheet metal in gauges ranging from .02 to .065 in thickness. Team 190 folded the aluminum ramps over, dimpled them with holes, and then riveted everything together. The gripper top is Lexan; the gripper bottom is fiberglass. The pneumatics included a Thompson compressor, accumulator tanks from Clippard, solenoid valves from SMC and Parker, and Bimba actuators. The actuator specs included three 1.5 bore by 3 stroke cylinders per side of the robot, which presented sufficient force to lift competing robots off the floor by more than a foot. The robot also featured a .75 bore by 8 stroke cylinder for grabbing onto and lifting the large inflated rings. Both of these maneuvers were useful for competition scoring.
Team 190 putting a tube on the rack despite blocking attempts by a robot from the red alliance.
work developed by other teams to make a development environment that suited us. Eclipse has a huge number of collaborators so even though its free, it is much higher quality than many of the commercial products, says Miller. Team 190 also uses a software library named WPILib, which is a development framework that supports the standard FIRST devices like speed controls, the CMU camera, and gyros, for example.
Computer Controlled
Each team is constrained to a kit that includes two PIC 18F8722 microprocessors. One is the slave and one is the master processor. The master processor controls the motor and communications and interfaces with the human operator. The slave contains all the original programming from the teams coders. The robot passes some data between the master processor and the slave to process the actuators values. Team 190 coded the robots program in the C language. The coders used both the Microchip tools that come with the kit, and the Eclipse IDE. While teams in the FIRST competition can stick with Microchips tools that come with the kit, they are free to use other programming tools. Our students use Eclipse as the development environment (IDE) for their in-class projects and are very familiar with it. So, we adapted some
control positions to and from the robot. This enables the robots driver to manipulate the robot in competition while designing a unique set of controls for their purposes. Team 190 used two joystick controls for driving, and a separate control box of arcade buttons and switches to control the tube manipulator and robot-lift functions, according to Miller. Two operators handle the robots, one controlling the drive and the other controlling the manipulator and peripheral functions. The robot has many sensors, which help automate tasks such as lowering the robots lifts and raising the tube manipulator to
SELECTING ALLIES
During selection for team allies before competition, Team 190 chose teams with compatible designs and tactics. Through our excellent scouting and intelligence program, we were able to pick teams that we knew would make our alliance strong. Little did we realize that they would also make us look good, as well, says Brad Miller, a Team 190 member. From among all the possibilities, Team 190 ended up collaborating with teams that all had maroon team shirt colors similar to their own. Denying that matching team shirts was one of our selection criteria, we nonetheless took this as a good sign and have since celebrated this occurrence by producing Dont Mess With Maroon championship shirts, says Miller.
SERVO 11.2007
11
GEERHEAD
RESOURCES
Worcester Polytechnic Institute www.wpi.edu/index.html WPI FIRST Robotics Resource Center http://first.wpi.edu WPI Robotics Engineering Major www.wpi.edu/Academics/Majors/RBE
Goat-Dactyl using its tube gripper to lift a tube during competition.
other robots, compete better than other robots, and to stay within cost limitations.
The Answers
In response to these goals and limitations, Team 190 worked on lowering their bots weight while attaining its overall goals. Our original robot-lift design was double the acceptable weight. We went through many different design approaches, including using aluminum honeycomb surfaces or making our own foam-core sheets, before finally settling on a unique sheet-metal box structure which was dimpled for improved strength. This same approach was used in nearly all aspects of the design, says Miller. The tube gripper lays in front of the robot to grab tubes from the ground and catapult them high in the air to rack them up for scoring. (The tube gripper is in the front of the robot that can grab tubes from the ground and lift them to any height on the rack for scoring.) Two of the unique features of the gripper are: It can grab tubes on the fly, without requiring the robot to come to a stop to pick them up; and second, it closes and lifts using a mechanism driven by a single pneumatic actuator. Usually two motions like this would require two actuators, but due to some clever design, only one is needed, Miller explains. The team mounted the tube gripper on an extension mechanism (elevator) to get it to the right height after it grabs the tube and sets it to the proper angle, Miller further explains. The gripper is empowered by a single air cylinder that both closes the robots claw and raises the tubes up to a 55 degree angle in a single motion. In addition, says Miller, the top digit of the claw is a four bar articulated linkage that curls around the tube, giving us maximum wrap, while allowing it to fit within our starting box. SV
pre-specified heights. The goals for the robot were to endow it will the best abilities to win the game set before all the robots
The robots tube gripper is mounted on an extension mechanism (an elevator) that it uses to get it to the right height after it grabs the tube and sets it to the proper angle.
while staying within competition limits. The major constraints for the robots include weight 120 lbs and under total size, the ability to recognize
Team 190 between finals matches, on the field resetting the robot to play again while being overlooked by head ref, Aidan Browne.
Table size 34" x 9.5" R8 Spindle 1.5 hp variable speed to 4500 RPM Computer controlled spindle speed and direction Precision ground ballscrews Digitizing and tool sensing support 4th axis and high speed spindle options
3 Axis Mill
$6800
plus shipping
Mill includes Control, CAD and CAM software. Optional stand, coolant system, computer and accessories are extra.
12
SERVO 11.2007
SERVO 11.2007
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
. It is my understanding that the HSR-8498HB servos that are used in the Robonova humanoid robot have position feedback capabilities, so I bought a couple of them from Tower Hobbies. I have been trying for several days now to figure out how to get position data from these servos. From what I have seen on the Internet, all I have to do is send the servo a 50 microsecond pulse, and it will return a position signal that is similar to the regular pulse width to move the servo. I am missing
. The key to doing this is to use a pullup resistor on the signal line. This is required for bi-directional communication since the signal line is an open collector. Figure 1 shows a simple schematic for connecting an HSR-8498HB servo to a BASIC Stamp. Here, I used a 1K ohm resistor as a pullup resistor on the signal line. Without the resistor, you will not receive a signal back from the servo. Figure 2 shows a
sketch of the PWM (Pulse Width Modulation) control signal timing that is required for this servo to return its current position. To obtain the current position of the servo, you need to send a 50 s pulse to the servo then wait for a minimum of 2 ms before measuring the width of the return pulse. The critical element required to measure the pulse width is to make sure that the servo signal line that is connected to the microcontroller is changed from an output signal line to an input signal line immediately prior to measuring
Figure 1. Connecting an HSR-8498HB servo to a BASIC Stamp for positional bi-directional control.
+5V
P0 P1 P2 P3 P4 P5 P6 P7
14
SERVO 11.2007
the pulse width. Or there will be no return signal from the servo (that you can see). The following BASIC Stamp sample code is all that is needed to measure the position feedback from the HSR-8498HB servo. This code sample assumes that the signal line is connected to P15 on the BASIC Stamp. The Delay_50us constant of 63 is the conversion factor for a 50 s time delay on a BASIC Stamp 2px. This delay constant will be different for different Stamps. The tmp*8/10 is a conversion factor to convert the PULSIN value back to microseconds on a BASIC Stamp 2px (again this conversion factor will be different for different BASIC Stamps).
Tmp Position Servo_Pin Delay_50us VAR VAR CON CON WORD WORD 15 63
V HI
GND
50s 2s (MINIMUM)
500 - 2500 s
Figure 2. PWM signal for position feedback for the HSR-8498HB servo.
the right), the position will change on the debug window. Notice what I said here when the servo horn is manually turned. Whenever the position is being read, the power to the internal motor of the servo is turned off, which allows the servo horn to be easily rotated by hand. This is actually a good feature to have when you are posing a humanoid robot for teaching new body positions. The drawback to this, however, is that the motor loses power for a moment when the position is being read. This may cause some servo jittering in some closed loop position control applications. The HSR-8498HB servo does require the position command pulse to be updated every 20 ms, like regular analog servos. If you continually read the servos position once between each position update cycle (i.e., once every 20 ms), the servo will jitter, and have about half the normal output torque. It is best to read the servo torque once every several position updates, such as once every five update cycles (or once every 100 ms). This will begin to minimize the amount of servo jitter and torque loss due to reading the servo position. For those that are not familiar with the HSR-8498HB servos, these servos are specifically designed for robotic applications. They look quite a bit different from standard R/C servos. Figure 3 shows a photo of two of them. One of the nice features of these servos is that they can be reconfigured for different applications, which includes a bearing joint at the bottom of the servo case, so that the main servo horn isnt supporting the entire weight of the robot when the servo is used as a joint. Figure 3 shows one of these servos
READ_PWM: LOW Servo_Pin PULSOUT Servo_Pin, Delay_50us PULSIN Servo_Pin, 1, tmp Position = tmp*8/10 DEBUG CRSRXY, 0,0,DEC5 POS PAUSE 5 GOTO READ_PWM
Because of the pullup resistor, the logic state of the Servo_Pin will be high when it is not driven. Since the PULSOUT command on a Stamp toggles the current state of the output pin, it is manually set LOW prior to sending the 50 s pulse to the servo, so the servo will recognize the 50 s Operating Voltage 4.8V-6.0V positive pulse. On a No-load Speed @ 4.8V 0.26 sec/60 BASIC Stamp, the No-load Speed @ 6.0V 0.20 sec/60 PULSIN command autoStall Torque (4.8V) 84 oz/in (5.2 kg-cm) matically changes the pins state to an input Stall Torque (6.0V) 103 oz/in (7.4 kg-cm) state, so nothing speIdle Current Draw 8 mA cial needs to be done to No-load Current Draw, 200 mA measure the incoming Running pulse from the servo. Stall Current Draw 1200 mA This program will Pulse Range (~180) 600-2350 s continually read the Centering Pulse 1500 s position of the servo and display the results x .78 x 1.85 Dimensions 1.57 (40 x 20 x 47 mm) on a debug window. When the servo horn is Weight 1.92 oz (54.7 g) manually rotated back Table 1. HSR-8498HB specifications. and forth (from left to
Figure 3. HSR-9498HB servo configurations; traditional servo configuration (left); RoboNova servo-bracket configuration (right).
SERVO 11.2007
15
In Figure 3, you may have noticed that wires to the servo are all black, and not the traditional yellow-red-black colored wires in other Hitec servos. This can make determining the signal wire from the ground wire a bit challenging. The signal wire is actually dark-gray in color, but it can be difficult to see. The signal wire is the wire closest to the two tabs on the side of the connector housing (see Figure 4). The power wire is in Figure 4. Closeup view of the connector for the center, and the ground the HSR-8498HB servo the control signal wire wire is on the other side of is dark gray in color located next to the side tabs the connector. on the connector. One of the advanced features of these servos is configured to look like a standard that they can also be controlled and R/C servo, and the other servo is programmed via RS-232 serial configured for a robotic knee joint. communications. In fact, 127 of these Each servo comes with an accessory servos can be daisy-chained together package with the different configuraon one signal line. In addition, the tion options. Table 1 shows the serial communication protocol can specifications for this servo. allow changing the proportional and
derivative gains and dead bands on the servo, servo ID, battery status, position, current draw, and turning the servo on and off. The servos that I used for this answer had an older firmware version which doesnt allow for the serial communication. The minimum firmware revision must be at least v1.10. There is a little sticker on the inside of the servos bottom plate which identifies the firmware version. I have sent my servos back to Hitec to have the firmware version upgraded. Next month, I will continue this topic with a discussion on how to use serial communications to control this servo. For more details about the PWM position feedback signals and the serial communication protocol, go to the Hitec Robotics website (www. hitecrobotics.com) and look under the download page for the Pulse of HMI Protocol subject. There you will find a file called HMIprotocol.pdf, that will keep you busy until next month. SV
HE8EJIFH;<;H>?J;9)0'
.EW 2OBOT 3ERVOS
>_j[Y Ej^[h8hWdZ
+656*
6SHHGVHF 7RUTXHR]LQ 6WHHO*HDUV
+656*
6SHHGVHF 7RUTXHR]LQ 6WHHO*HDUV
+657*
6SHHGVHF 7RUTXHR]LQ 7LWDQLXP
$//63(&,),&$7,216$792/76
7KHUHVXOWVRIDQLQIRUPDOSROOWDNHQUHFHQWO\DWWKH)LUVW
$QQXDO:RUOG'RPLQDWLRQ6\PSRVLXPDUHQRZLQ5RERWV SUHIHU+LWHFVHUYRVRYHURWKHUVHUYREUDQGV7KH\NQRZWKHZLGH VHOHFWLRQRI+LWHFDQDORJDQGGLJLWDOVHUYRVSURYLGHWKHPZLWKWKHSRZHUDQGGHSHQG DELOLW\QHHGHGWRHYHQWXDOO\WDNHRYHUWKH:RUOG0DNH\RXUURERWKDSS\XVH+LWHFVHUYRV
3DLQH6WUHHW_3RZD\_&DOLIRUQLD___ZZZKLWHFUFGFRP
16
SERVO 11.2007
Send updates, new listings, corrections, complaints, and suggestions to: steve@ncc.com or FAX 972-404-0269 Know of any robot competitions Ive missed? Is your local school or robot group planning a contest? Send an email to steve@ncc.com and tell me about it. Be sure to include the date and location of your contest. If you have a website with contest info, send along the URL as well, so we can tell everyone else about it. For last-minute updates and changes, you can always find the most recent version of the Robot Competition FAQ at Robots.net: http://robots.net/rcfaq.html R. Steven Rainwater Oahu, HI ROVs built by university and high school students compete in this event, which is part of the MATE (Marine Advanced Technology Education) series of contests. www.marinetech.org/rov_competition
24
N ov e m b e r
3
DARPA Urban Challenge The former George Air Force Base, Victorville, CA Autonomous ground robots compete against each other in a simulated urban environment to complete a waypoint-following course. www.darpa.mil/grandchallenge Ontario Science Center, Toronto, Ontario, Canada Events include novice, advanced, and master mini-Sumo, full-size autonomous and RC Sumo, fire-fighting, line-following, photovore, a walking robot race, and a search and rescue contest. http://robotgames.ca
ROBOEXOTICA Museumsquartier, Vienna, Austria A competition for cocktail robots that includes events such as serving cocktails, mixing cocktails, bartending conversation, and lighting cigarettes. www.roboexotica.org/en/acra.htm Roaming Robots Grand Final Kent, UK Remote-controlled vehicles destroy each other. www.roamingrobots.co.uk/events_calendar.htm ARADBOT Santiago, Dominican Republic Autonomous robots compete in line-following and mini-Sumo events. www.aiolosrd.com Texas BEST Competition Texas Tech University, Lubbock, TX Students and corporate sponsors build robots from standardized kits and compete in a challenge that changes each year. www.texasbest.org
24
30
December
7-8
Souths BEST Competition Beard-Eaves Memorial Coliseum, Auburn University, Auburn, AL Regional BEST teams from multiple states compete in this regional championship. www.southsbest.org Penn State Abington Robo-Hoop Penn State Abington, Abington, PA Autonomous robot basketball event in which robots must pick up foam balls and shoot or dunk them into a basket. www.ecsel.psu.edu/~avanzato/robots/con tests/robo-hoops
17
DPRG RoboRama Museum of Nature and Science, Dallas, TX The usual assortment of events including Quick Trip, T-Time, wall-following, line-following, and can retrieval. An outdoor waypoint-following event known as the Long-Haul will also be included this year. www.dprg.org UH Manoa Duke Kahanamoku Aquatic Complex,
18
SERVO 11.2007
New Products
N E W P RO D U C T S
CONTROLLERS & PROCESSORS 2 MHz Pulse-Width Modulator
icrochip Technology, Inc., now offers the MCP1631 2.0 MHz, highspeed pulse width modulator (PWM). The highly integrated device contains a 1 ampere integrated MOSFET driver, high-speed comparator for over-voltage protection, and both battery-current and voltage-sense amplifiers in one small package. Protection features, such as under voltage lock out (UVLO) and over-temperature protection, come standard with the PWM, which is capable of charging multiple battery chemistries, including Li-Ion, NiHM, NiCd, and Lead Acid. The MCP1631 PWM provides a means to close the
feedback loop in Switch-Mode Power Supplies (SMPSs) that use microcontrollers for general system intelligence and control. The integration of the PWMs SMPS input and output interface via its voltage comparator, batteryvoltage, and current-sense amplifiers plus its 1A MOSFET driver enable designers to use this single device to perform many different functions in their designs. The result is a smaller design footprint and lower overall cost. Additionally, the MCP1631 is controlled by an easilyprogrammable microcontroller, meaning that exact charge profiles for a variety of battery-charging systems can be accurately met, while closing the feedback loop with the speed and precision needed for safe charging and long battery life. The PWMs UVLO and over-temperature protection features enhance the safety of battery-charger designs. High-voltage versions of the MCP1631 PWM are available (Part # MCP1631HV), which operate from 6V to 16V and include a linear regulator (LDO). The standard versions of the device operate from 3V to 5.5V, and do not include a LDO. Possible applications include handheld
Robot Controllers
Wiring Robot Controller
Atmel ATMega 128 128k Memory 43 Digital I/O Pins 8 Analog Inputs 8 External Interupts 6 PWM Channels 2 Serial Ports including Bi-Directional USB The Wiring Programming Language The Wiring language provides a simplified subset of C or C++ that hides more advanced concepts like classes, objects, pointers (while still making them accessible for advanced users). You get the power of C or C++ with the ease of a language like Basic. Programs execute at full C++ speed on the board.
/ Assembled $41.95
$89.95
MaximumRobotics.com
20
SERVO 11.2007
1-800-979-9130
New Products
medical, consumer, and industrial electronic devices that require power management and SMPS technology, with a focus on battery charging. Examples include intelligent power supplies, smart battery chargers, RF remote devices, handheld scanners, parallel power supplies, and AC power factor correction. For further information, please contact: on each leg. When used with a gripper, it will help detect when the gripper has touched an object and how much force the gripper is actually applying to an object. Twenty user inputs are available for connecting to bumper switches or other sensors, allowing your robot to explore its environment. Also on-board is a threeaxis accelerometer which is perfect for todays balancing BOTs. The built-in SD card interface can be used for loading new programs into the robot, as well as storing data and sound files to use with the built-in audio recording and playback circuitry. User messages or diagnostic data can be displayed on the 2 x 16 character LCD. High current LED drivers can deliver power to up to six externally mounted high brightness LEDs to illuminate the environment, show system status, or just look cool. The three two-amp solenoid drivers can be used to power accessories such as motors or fans. The daughterboard connector allows for future expansion or custom add-on features. Control your robot with the optional wireless interface to a PC or through most wireless/wired Playstation 2 Gamepad controllers. Development tools are available for both Basic and C. For further information, please contact:
Microchip
Website: www.microchip.com
fficient Computer Systems, LLC announces the BOTLOGIC Controller. This 4 x 6 inch board controls up to 32 RC servos; 24 of these servo channels have load sensing circuitry to allow robots to detect the amount of force being applied by each servo. This servo feedback will help a robot sense when a leg has touched the ground, as well as how much of the robots weight is
Website: www.BOTdeveloper.com
SERVO 11.2007
21
The December edition of Combat Zone will be All Armor. We solicited articles from builders across the spectrum, from antweights to superheavies, from newer builders to seasoned pros. Like our Welding Special and Heavy Power editions, this is intended to be a resource for builders who want to create tougher, nastier bots. Which is really what the sport is all about! Kevin Berry
PARTICIPATI N
Being a Safety Jerk
by Kevin Berry
n my opinion, there is no tougher job at an event than being the Safety Officer (except for Event Organizer, that is). Most of the builders are your friends, theyve worked hard to get ready, and are very possessive of their designs. You as the person in charge of keeping people from getting hurt have a real responsibility to do the right thing. The first step when asked to be a Safety Officer is to have a discussion with the EO. You need to understand their tolerance for gray areas in
the rules. For example, if the rule says a bot must spin down in 30 seconds, what do you do with a 33 second bot? Do you insist they meet the 30 seconds, are you allowed to use judgement, or do you refer this to the EO? Understanding the rules of engagement is an important step in avoiding misunderstandings. The next step is to communicate with the participants ahead of time, if possible. Let them know you are going to be tough on enforcement, so they arent surprised during check-in. EOs vary widely on safety, so someone coming from an easy event to a
22
SERVO 11.2007
tough one might be shocked or angry if they are denied entry. The final step during actual safety checks is to make sure to be calm, level-headed, and non-involved. That means making the rules the bad guy, not the Safety Officer. Id like to overlook that weapon twitch, but the rules say no movement, and its underlined, so youre going to have
to fix it. Another tack is personal, but not threatening. If you or someone else gets hurt, Im going to feel terrible about it, even if you say its not my fault. Lets work together to fix that. Sooner or later, though, you are going to have to 86 a bot. Before I do that, I consult with the EO, even if we have reached an earlier
understanding. Good will is 90% of running an event, and spending the EOs good will ought to involve them. In the long run, out of the frenzy and emotion of an event, its easy to see that if the rules are known, builders should follow them, and our sport prides itself on a clean safety record. No builders, staff, or spectators hurt. Period. SV
tarting in any new sport, club, or activity brings with it some uncertainty, hesitancy, or just plain lack of knowledge. Robot combat is certainly the same way, especially when coupled with the concept of instant destruction of your hard-built, first creation! Like anything in life, the best approach is a combination of humble demeanor and regular, thoughtful questioning. Veteran builders represent a cross section of society: from casual participants to intense competitors; tolerant to impatient; non-technical to deeply specialized. No matter how tolerant or patient, nobody wants to reply to a post or email like this one: I want to build a robot and I dont know how. What
do I do? The first answer to this type of question is do the research! There are several good books, many team and club websites, and locators for nearby competitions that are available to first time builders. Next, lay out a design. Even if you arent sure exactly what you are doing, give it a try. Builders are much more likely to give advice if its in context of a potentially buildable bot, rather than a mythical dream machine. I laid out this bot using the Whyachi gearboxes, but I really cant afford them. Anyone got experience with less expensive alternatives like modified HF drill motors? This kind of question will be much better received and more importantly get a better answer.
Builders are busy people and really dont want to spend a lot of time educating people who wont do their homework. Finally, try to meet some builders in person. Sure, wed all like to take a bot to our first event, but maybe a better approach is to go as a volunteer, get access to the pits, spend time with participants, and learn, learn, learn! There has never been an event held that has had enough willing hands, skilled or not. I know after getting eliminated in the very first fight of a three day event, my son and I spent the next two sweeping the box and wrangling bots, and had a hugely successful introduction to the sport. SV
s in the USA, the sport of robot combat lives on in the UK, despite the continued absence of newly televised events on the scale of Robot Wars and Battlebots. This sport survives only for the efforts of those few dedicated event organizers. On both sides of the Atlantic,
these events sustain robot combat. In turn, it is the robot builder and their machines that sustain the event organizers and their
A selection of robots from the Xbotz fleet. The current update aims to use just two speed controller types across all of the robots.
SERVO 11.2007
23
Our 60 lb walking artbot Venom with electric crushing pincers uses a single Robot Power Scorpion XL and R/C switchers.
The 30 lb robot Bug with electric grabber, uses a Scorpion XL for drive and an Mtroniks Viper for the grabber.
events. The more combat robots available to event organizers, the stronger our sport becomes. My teammates and I (Team Xbotz) keep a robot battle fleet bigger than most, but as in the military, even the biggest fleet needs to be kept up-to-date and at the sharp edge to survive. The Xbotz fleet has been fighting regularly for a couple of years now, and to be honest, are starting to look very tired. The technology they use is now seven years old in some cases, so a major
Our 220 lb robot Wheely Big Cheese with 250 lb driver James Baker. This robot lost five lbs just by swapping to a Sidewinder.
update of all the robots is now being undertaken. This article hopes to give a little insight into the efforts of one team to stay competitive, but also practical, as running an active fleet this big is a huge drain on time and resources, but I personally think it is really worth it. We are still building new machines, as well. For whatever reason, be it arena configuration, available components, or a wider statement of national stereotypes, the past has shown that the majority of British robots lacked the horsepower of their American cousins, relying instead on good control and agility to bring their weapons to bear, but leaving them visibly slower. By far, the most popular drive solution for robot combat in the UK was the Bosch 750 watt, 24V motor with 4QD speed controllers. This was a good solution for us, and it was rare to see someone successfully use more powerful drive systems. All of the currently active Xbotz heavyweight robots originally used 4QD speed controllers. It is a big job to completely overhaul a heavyweight fighting robot, but to update a whole fleet
The 30 lb robot Tantrum uses NiMH batteries and a Scorpion XL for drive, with separate NiCd cells for the weapon motor.
of heavyweights, featherweights, hobby weights, and artbots within a realistic timescale and budget required a very clear decision-making process. We decided that the upgrades must all be reliable; easy to use; offer a packaging, weight, or size advantage; and be good value for the money. We also decided that logistically, having all the robots on common components where possible would be a huge advantage. This is mainly so we can carry fewer spares. First upgrades on the list were chassis, armor, and weapons, but those subjects are a whole other article, so we can skip those for now. Second on the list were drive systems namely motors, gearboxes, batteries, and speed controllers. The wheels are fine as they are. All the robots have good, wellproven drive systems already, so rather than change the motors and gearboxes, it made more sense to us to update the speed controllers and batteries only. Speed controllers are one area of your robot you must get right, or you will always struggle in the arena. We did not want to take advice and
Our other 220 lb robot Edgehog has swapped 4QD speed control and Hawker batteries for a Robot Power Sidewinder and NiCd cells, saving over 20 lbs. This was used for extra armor.
24
SERVO 11.2007
Another 220 lb robot Carnage uses a Robot Power Sidewinder for both drive motors and another for both weapon motors. The Lead Acid batteries have been replaced with NiCd packs, saving 10 lbs.
then regret it later, so we tried several controllers head to head. I was so impressed with one particular speed controller; I became the European agent for the company that makes them. The Robot Power Sidewinder looked really good on paper, and during testing it exceeded our requirements by a long way, so we now use them in all of our heavyweights and one of the featherweights. We had a similar experience with the smaller bots, identifying the Robot Power Scorpion XL as by far the best controller for all of the sub-30 lb machines, and the artbots, except one. We used a Robot Power Scorpion XXL (a modified XL) for this one robot, as it needed the extra power the XXL offers. The Robot Power Sidewinder was the mainstay of the UK championships this year, stepping in to keep many robots running when their regular controllers failed. One key feature to this was that the speed controller being removed from a robot was always bigger than the Robot Power option, so it always fit. The space saved in our
axe-bot Edgehog was unbelievable; swapping a laptop-sized electronics box for something so small gave us room to make much needed weapon modifications. Batteries are also an area where you cannot afford to get it wrong or your robot is going to struggle. All Xbotz heavyweights ran Hawker sealed lead acid batteries prior to the overhaul, which always served us well, but a switch to nickel cadmium cells was an easy upgrade, allowing us to lose weight and gain voltage. Two of the smaller bots now use these also, with the remainder of the fleet running nickel metal hydride cells. We considered lithium based power, but decided on the NiMH mainly because of the lower cost. Our third area to look at was radio control. All Xbotz robots use 40 MHz Futaba systems, and we
saw no reason to change that. The new 2.4 GHz technology is very impressive, but the 40 MHz equipment has always done the job for us, so the money was better spent elsewhere. The updates to the fleet are progressing well, with the robots done to date showing improved speed and agility. Wheely Big Cheese, for example, is completely transformed. The whole Xbotz army of robots will be updated before the 2008 season starts, with detailed information about each robot, and each event we attend available on our website (www.xbotz.com) plus an online shop for European builders, thanks to www.leafish.co.uk. See www.robotcombat.com or www.robotpower.com for information about the speed controllers we use at Team Xbotz. SV
EVENTS
RESULTS August 11th - September 11th
obot Battles held their annual Labor Day event at Dragon*con in Atlanta, GA. Results were not available at press time, but will be featured in an upcoming issue. Go to www.robotbattles.com for more information.
28th-31st at Haven Hafan y Mr Holiday Park, North Wales. Go to www.roamingrobots.co.uk for more information. Results are as follows:
Featherweight Little Flipper 2. obots Live presented a show on September 1st-2nd at Sportspace Hemel Hempstead. Team Wind Power took home 1st place in the Feathers and Heavies, and Team Big Nipper took home 2nd in both weight classes. Go to www.robotslive.co.uk for more information. SV
Heavyweight 1st: Big Nipper; 2nd: Terrorhurtz; 3rd: Iron Awe 5. Annihilator Tilly Ewe 2.
SERVO 11.2007
25
TECHNICAL KN WLEDGE
Building a Lightweight Launch Bot
by Chad New
hese days, it seems that the trend within combat robotics is for people to build two basic types of robots. They are either a super powerful KE spinner which tries to destroy everything in its path or super tough wedge type robots made to withstand the punishment from the spinning robots. Some robots will deviate from this trend, but for the most part, the majority fall into these categories. In the half dozen years that I have been involved with this sport, I have mainly built sub-light robots, which are robots that are less than 30 pounds. I have always wanted to build a pneumatic robot capable of launching another robot into the roof; however, due to the weight restrictions on the sub-light classes, I was never able to build a robot that could achieve my goal. One day after seeing videos
of various UK pneumatic robots, I decided it was time to build a full size 60 pound lightweight robot. This robot would be something different than the norm; a robot that could (hopefully) take the abuse from the powerful KE robots and send the wedge type robots flying out of the arena. In this build report, I will give a description of how my 60 pound launch bot Rocket became a reality.
sized motor. This drive package mounted to 3 wheels gives a great balance of speed and pushing power. Also, the placement of the motors and shape of the base plate were designed for optimal maneuvering and to eliminate scrubbing of the wheels. When mounted correctly, I have found the BaneBot units to be very durable and work extremely well.
Armor
Other than the pneumatic system, the armor arrangement is my favorite part of this robot. It was designed to take and repel the attacks from other robots, as well as facilitate self-righting by letting the arm contact the ground at all times. All of the sides are sloped in order to reduce the amount of surface area that other robots might be able to get a hit on. The armor is very low to the ground making it difficult for vertical spinning robots to grip and damage. Also, the armor is mounted to the base plate on a system of custom rubberized shock mounts which allow the armor shell to move and somewhat flex when hit. Made from 1/8 titanium, the shell is extremely durable and has also been designed to allow various attachments to be added, depending on the opposing robot; all of which have yet to be debuted.
The Design
In todays game, there are many robots that wield weapons that can destroy an opponent in short order, especially in the lightweight class. For this reason, I enlisted the help of my friend Bryan Ruddy to help me CAD and design this robot. After much talking, we agreed on a list of things that had to be achieved for this robot to PHOTO 1. After many weeks of design, be successful. the final CAD emerged. We both agreed that the robot should be centered on the flipping system, be highly maneuverable, have an armor system which could stand up to the tough KE robots, and most importantly be able to shoot an opponent to the roof! After a few weeks of CADing, this is what we came up with (Photo 1).
Drive
The drive on Rocket uses four BaneBot 42 mm 16:1 (www.banebots. com) gear motors upgraded with the 775
PHOTO 2. Parts cut and systems installed, the frame is now ready for wiring and final assembly.
Electronics
Rocket utilizes some of the best electronics available in order to free up weight and improve durability. Control is handled by the new Airtronics M11 2.4 GHz system (www.airtronics.net) which they
26
SERVO 11.2007
modified for me by adding a button which can be pressed when I want the flipping arm to be activated. This button allows me to focus on driving the robot while giving the flipping control to a team mate. The battery is a 5,000 mAh 14.8V Li-Poly made by Thunder Power (www.thun PHOTO 3. Rocket putting the derpowerrc.com). This pack LW wedge Homer into orbit. was able to free up a lot of weight, allowing a better distribution paintball tanks, also with an inline for other items. The speed control is buffer tank to allow for gas expanRobot Power Sidewinder; which may sion. This arrangement gives Rocket be overkill; however, it gets the job over 20 shots at getting its opponent done well. The guys down at out of the arena. With the massive BaneBots built and designed me a amount of force that this system custom voltage booster/timed switch produces, the arms were made from to operate the valve for the cylinder. .6 titanium with a .5 S7 steel pushThe valve requires very high voltage ing plate. Overall, I believe this to be one of the best and toughest flipping and only needs to be open for a systems in the lightweight class. fraction of a second; this device takes care of that task.
PHOTO 4. The armor mocked up onto the frame ready to be sent for welding.
robot able to right itself. I believe that once I fix this problem, Rocket will be a serious contender in the lightweight class. I also hope that by building an exciting pneumatic robot, it will spur interest in other types of robots, not just the powerful KE spinners and brick wedges. I strongly encourage everyone to go after their goals because you never know what might come out of them! SV
Flipper
The flipping system uses a custom-made pneumatic cylinder capable of withstanding C02 at pressures greater than 800 PSI. Activation of this cylinder is controlled by a large solenoid valve. Feeding this system is two 20 oz
Conclusion
After Rockets first event at RoboGames 2007, I found a flaw in the design where the armor will rub against the arm when inverted, thus not allowing the arm to retract into the body making the
PHOTO 5. Shined up and with new stickers, Rocket, ready for its first event.
EVENTS
UPCOMING November and December
ORD Fall 2007 will be presented by the Ohio Robot Club in Brecksville, OH on November 3rd. This event is for Fairy, Ant, and Beetle weight combat robots. It will be held at the Cuyahoga Valley Career Center (CVCC) (south east of Cleveland). For complete details including rules, safety forms, release forms, maps, and local hotels, see
oaming Robots will present an event at the Maidstone Leisure Centre in Kent, England, on November 24th, and at the Harvey
Hadden Sports Complex December 1st in Nottingham, England. Go to www.roamingrobots.co.uk for more details.
oboChallenge will present their Thinktank Christmas Special December 28th-29th in Birmingham, England. Go to www.robochalle nge.co.uk for more details. SV
SERVO 11.2007
27
n the March 06 issue of SERVO Magazine, I introduced you to a program called AutoFlex a tool used for developing autonomous routines for FRC (First Robotics Competition) robot controllers.
The program was created by members of FRC Team 1675 when they realized that they were going to the FIRST (For Inspiration and Recognition of Science and Technology) National Championships in Atlanta, GA without any autonomous functionality for their robot. Without having access to the robot until the event, they needed a way to quickly program the robot to perform some task during the autonomous period. The solution was to create a program that would allow the teams driver to teach the robot what it had to do during the autonomous period by recording the drivers commands as he drove through the autonomous routine. Training took place on the practice field before the matches started. At the beginning of the match, the robot would repeat the commands that it was taught. In 2005 during the Triple play competition, the robot scored two tetras during each autonomous period. During the 2006 Aim High competition, the robot could drive
Photos courtesy of FRC Team 1675 The Ultimate Protection Squad.
up to the goal and shoot an entire magazine of balls through the hole (most of the time). The original program was a little cumbersome and complicated to use. While the driver commanded the robot through the routine that was to be recorded and then played it back during the autonomous mode, a programmer with a laptop connected to the robot via a serial cable chased (or was chased by) the robot as he captured data. The data then had to be loaded into a file and the whole program was recompiled and reloaded into the robot. From the sidelines, this was fun to watch, but those actually involved in the process were often quite stressed and in peril. Autoflex has been simplified and updated to version 2.0 to take advantage of the internal EEPROM memory available in the FRC robot controller. Commands are now written directly to the EEPROM memory. No
FIGURE 1. Team 1675s first robot programmed with Autoflex for the FIRST Triple Play competition would know one tetra from the goal and cap the second during the autonomous period.
more laptops and cables, editing data, and reprogramming. Programmer stress levels have been greatly reduced!
Imagine This!
During practice, you set your robot on the playing field, click a button on the operator interface and start driving. Then you set your robot back to the starting point, connect a dongle to the competition port of the operator interface and flip the dongle switch to autonomous and the robot will replay the practice session you just recorded. Dont like what you see? Just reset the dongle switch back to the off position and just click the program button again to re-record another session until you get it right. Neat, eh?? Your robot is
28
SERVO 11.2007
Getting Started
A .zip file can be downloaded from the FRC Team 1675 website (see Web Links sidebar) that includes a version of the FRC default code with AutoFlex included. I/O mapping for the default program is as follows: Joystick Joystick Joystick Joystick 1 2 1 2 Y axis to PWM_1 Y axis to PWM_2 X axis to PWM_5 X axis to PWM_6
FIGURE 2
Set your robot to program mode and download the FRCAutoFlex.hex file using the IFIdownloader program available from the IFI website (www. ifirobotics.com). Attach a programming dongle to the competition port of the operator interface (instructions on how to make your own are also available from the IFI website) and set the autonomous switch to the open position. You are now ready to start programming your robot for autonomous operation. The FRCAutoFlexCode.hex program records four inputs: joystick 1 x-axis, joystick 1 y-axis, joystick 2 x-axis, and joystick 2 y-axis. Click the trigger on the port 1 joystick to start recording. You now have 15 seconds to drive through your autonomous routine. After 15 seconds, the robot stops recording commands even though it lets you keep driving. To replay what you just recorded, close the autonomous switch on the dongle. Watch out! Your robot will start to execute the code you just recorded. The robot will play 15 seconds of commands and then stop until you open the autonomous switch again. Once you are satisfied with the autonomous routine youve recorded, place a jumper on the digital input 1 pins. This write protects your autonomous program from being accidentally erased if you click the trigger while driving around. Thats the basic operation.
shown in Figure 2. Also add the #includeAutoFlex.h statement at the beginning of the file. 3) Open the user_routines.c file. Add a call to the function autoflex_recorder() to the Process_Data_From_ Master_ uP() function as shown in Figure 3. Also add the #includeAutoFlex.h statement at the beginning of the file. 4) Open the main.c file. Add a call to the function rewind_autoflex_ playback() to the main()function as shown in Figure 5. Also add the #include"AutoFlex.h" statement at the beginning of the file.
FIGURE 4. Team 1675s Aim High robot would drive up to the goal and shoot most of its 10 balls through the hole.
FIGURE 3
SERVO 11.2007
29
Web Links
For Autoflex files http://team1675.com/ teamdownload.html For competition port dongle www.ifirobotics.com/ oi.shtml
(1024/ number_of_inputs) - 1 = max_tenths_of_seconds. For example: (1024/4 inputs)-1 = 255, so TIME_LIMIT could be set to 255 tenths_of_seconds. (25.5 seconds). // The length of the autonomous routine in tenths of seconds #define TIME_LIMIT 150 d) You can assign which digital port you want to use for your WRITE_ PROTECT jumper. If you dont want to write protect your autonomous code or you have used up all your digital ports, re-define WRITE_ PROTECT to 1. // if jumper in place then do not //record (assuming jumper pulls pin //low) #define WRITE_PROTECT \ (rc_dig_in01) e) Since an FRC robot uses a longer timing interval than VEX robots during autonomous operation, uncomment the #define FRC 1 line to adjust the timing if you are adding Autoflex to a FRC robot.
FIGURE 5
5) Configure Autoflex.h to reflect your robot system. Sections that you may want to consider changing include the following: a) Determine how many inputs you want to capture and which ones. //add defines here to assign //commands to user controls that // you want record/ #define AUTO_COMMAND1 p1_x //left Joystick x #define AUTO_COMMAND2 p1_y //left Joystick y #define AUTO_COMMAND3 p2_y //right joystick y #define AUTO_COMMAND4 p2_x //right joystick x //#define AUTO_COMMAND5 //uncomment to add another input //#define AUTO_COMMAND6 //uncomment to add another input // Number of inputs we plan to //record // Default is set up to save 4 inputs. //You can save up to 6 // inputs. You can define two auto //command lines above. // then change the number of
FIGURE 6. Autoflex was used to program a large claw-like manipulator during the autonomous period at the beginning of the Rack-n-Roll competiton.
//inputs on the line below. #define NUM_OF_INPUTS 4i b) You can determine what you want to use as the Record Button. The default is port 1 trigger Button. //define the mechanism that will //act as the record button. //In this example port trigger is a //button on the OI. // that you would press to the //forward position to start recording #define \ AUTO_BUTTON_REV_THRESH \ (unsigned char)100 // used by Vex #define \ AUTO_BUTTON_FWD_THRESH \ (unsigned char)154 // used by Vex #define \ AUTO_NEUTRAL_PWM_VALUE \ (unsigned char)127 #define AUTO_RECORD (p1_sw_trig) //port_1 trigger to start recording c) You can adjust the length of time you want to record commands by changing the TIME_LIMIT value. Default is 150 tenths of a second (or 15 seconds). The maximum value of TIME_LIMIT depends on the number of inputs you are trying to save. The max number of command values that can be saved is 1,024. To determine the max time available, use the following formula
30
SERVO 11.2007
I M S e r v ic e
V o ic e : 8 8 8 -4 5 1 -1 6 7 0 o r : 2 4 8 -4 8 6 -3 6 0 0
P .O . B o x 1 4 2 , N e w H u d s o n , M I 4 8 1 6 5
D e s k to p C N C S o lu tio n s
1 2 x 1 2 x 4 9 0 o r 1 7 5 ip m 1 2 x 2 4 x 4 N E W 4 0 0 ip m
S e r v o C N C R o u te r s S ta r tin g a t $ 1 9 9 5
D e s k C N C
6 UH ROGH TX UL LUH QJ G
i m s r v .c o m
Robotics Showcase
The Power SchmartModule will power up your circuits with your choice of -9, -12, +2.5, +3.3, +5, +9, and +12 volts.
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....
O R D E R TO L L F R E E
$15
1-800-826-5432
Ask for our FREE 96 page catalog
31
hat gratitude could you feel for these ruthless gladiators these brutish, soulless beasts who breathe fire, wield axes, and ram each other until one of them lies dismembered? Combat robots undoubtedly satisfy a deep boyish urge to wreck stuff. But a closer look into the sport of combat robotics reveals something more. The escalating war of robots produces some surprising spoils. As you enter a technological future dominated by satellites, wireless gadgets, and hybrid cars, you may have these evil-natured robots to thank.
As far as the sport goes, some robot builders argue whether not being on TV anymore is good or bad, says Billy Moon, leader of Team Moon Robotics. On one hand, the show gave the sport a lot of recognition. No matter where we go, inevitably people have seen one of those shows. The sport received so much attention that it briefly became a piece of pop-culture currency. The trappings of BattleBots the glitzy graphics and overexcited announcer commentary also gave the broadcast a veneer of manufactured hype. During the shows reign, fighting robots were parodied on The Simpsons and the Tonight Show. In the five years since the last
BattleBots aired, much has changed about bot bouts. The events organized under the new national Robotic Fighting League (RFL) are austere and down-to-business. Design and strategy has taken center stage. I think overall its been good to be out of the spotlight, says Moon. Its eliminated the people who just wanted to get on TV. Its let the sport progress the way it should. Moon started building robots for himself when he was only 10. Now, at the age of 46, he works at Cisco Systems as a Distinguished Engineer, the highest rank of technical professional. Only a couple of dozen multi-disciplined Ninja-Class engineers work for the firm, taking on special projects that require the most out-of-the-box solutions. During his professional career, Moon has created more than 200 new patents, at an average rate of one every six weeks. Moon is also a popular guy in the
32
SERVO 11.2007
office on Bring your Kid to Work Day, when he will bring in many of his teams remote-controlled creations for a parking lot demonstration. Weekends are spent building and fighting robots with the rest of Team Moon, a small coterie of family members and engineering colleagues. Team Moon began competing in combat robots six years ago, at the height of the BattleBots craze. Its early heavyweight robot, Vladinator, dominated many of the televised tournaments. Now active in the larger and independent RFL, as well as the yearly (untelevised) BattleBots contest, Team Moon operates about a half dozen robots competitively, each ranking near the top of their weight class. Most contests are double elimination tournaments of three-minute bouts, where two robots of the same weight class fight to disable each other. The operator controls include a tapout button for when the operator wishes to surrender the match and save its fighter from further damage or humiliation. Most fights end with this forfeit button, where one robot obviously dominates. If the three-minute bell rings, judges award points to the contenders based on aggression, strategy, and damage. Typically, it takes two people per robot to steer the action with radio controls one to drive the bot around the rink, and the other to fire its weapons. Weapons on super-heavy weight robots (around 340 lbs) are not kidding around anymore. In a three-minute match, the offensive maneuvers consisting of kinetic thrusts, spinning blades, or bursts of flame push out up to 200,000 joules of energy, pumping from 2,000 amp, 30 volt reserves of electric power. You might think a good armor would be 1/4 inch thick 4130 or 4340 steel, says Moon. Most weapons now will cut through that like butter. Since the sport has left the TV spotlight, more responsive engines and more sinister hardware have emerged. The top competing machines are now developed through advanced
of CNC can be likened to the first personal computers, where the technology finally became practical for an individual in cost, size, and performance. And with the advent of easy-to-use CAM (the software which converts CAD files into machine cutting paths), CNC technology is becoming closer in practice to just sending a Word document over to a printer. Of course, in this case, the printer is carving out three-dimensional steel parts. Im far from being a machinist myself, admits Moon. The Tormach is an excellent example on how easy CNC machining is getting. If we can use it, then anyone can do it. The technology the way it is now, its very affordable compared to taking your parts to a machine shop every time. In contrast to factory-sized CNC mills that bottom out at around $30,000, the PCNC 1100 costs under $7,000. My older boy actually took in a weeks course over the summer to do the CAM programming using a software package called CAMWorks,
Team Moon wooden design models.
SERVO 11.2007
33
A robot named Goosfraba utilizes a flame-thrower as part of its arsenal. A largersized combat bot can exert as much as 200,000 Joules of energy during a single threeminute bout. Photo courtesy of Sam Kronick.
Team Moons ax-wielding Eugene fights the spinning menance called the Shrederator, designed by Team LOGICOM. The matchup creates sparks as the two combat robots contend for the 2006 national heavyweight title of the Robot Fighting League. Photo courtesy of Sam Kronick.
says Moon. Hes interested enough that hes actually making a few parts on the Tormach machine, which is an amazing thing to do for a high school kid. My objective for getting him to use tools has surpassed my expectations.
began as a cardboard model, then a wooden one. The physical prototypes were tested and tweaked manually, before the metal parts were finally fabricated. It took us about a year to design it and about six months to build it, because we had to do so much stuff by hand. Now, the shop can push out the most modern machines in half the time, thanks to an automated design process that is in many ways more advanced than that of some commercial manufacturers. Robots are now fully designed in SolidWorks, a 3D solid modeler. For his newest creation called Eugene Moon used a mechanical simulation software (Cosmos) for various mechanical parts, like stress analysis of the assembly, or repair exercises, which used volumetric data to ensure clearances inside the machine for different sizes of tools. The majority of the robot parts are very complex in construction, having a lot of curves and circles that bend in more than two dimensions. For our purposes, we would benefit from having a CNC machine where we could CAM these difficult shapes, where the machine would do a lot of the thinking, rather than trying to do it manually. The Tormach was a really good choice for us because it was specifically designed for CNC, whereas a lot of smaller mills are conversions of a manual machine. Theres a lot more you can do from day one with a mill that is set up for CNC. Despite its small size, the one-ton Tormach mill maintains
Billy Moon and his son Will working on Star Hawk.
its cutting power enough to craft the thick titanium armor due to the rigidity of its base and table, which are made of cast iron. The mills four-axis spindle automatically carves the complicated three-dimensional curves ones which would be impossible to cut by hand in a matter of minutes. The high rate of innovation in the sport of fighting bots can be seen firsthand in the evolution of pieces on the mill. Given the ability to make a few iterations, robot parts and assemblies evolve into stronger and more effective devices. In the past, this was impossible. Complex parts needed to be ordered at a local machine shop, which would take a few days or weeks of waiting. Now that Team Moon can cut their own parts in the garage, they can speed up the construction process, while enhancing the design. At-home CNC capabilities give the team the ability to refine the robot design as it goes along. Even two years ago, there were some parts we had to send to a machine shop. I made a mistake during design about the size of the sprocket for this standard go-cart wheel, Moon says. Id have this little support piece on the inside of the sprocket ring to give a little extra support. In order to get the piece made at a machine shop, I really have to order 10 of them to make it worthwhile, because of the set-up costs. So Id order 10, get them back, and the support wasnt as strong as it could have been, Moon recalls. Its just not cost-effective to go make another one again. Id just have to live with it, and remember to change it next time we ordered parts. Today, Id just machine another one. The Tormach mill gives us quick turnaround on rework, which has been invaluable.
34
SERVO 11.2007
Will Moon and his friend Patrick Vanderbee sitting on their bot The Wall.
armor. Some in the military have seen the sports potential as a training tool for both mechanics and strategic thinking. British Air Force cadets take a course in building robots and fight them on the UK bot circuit, the FRA. The biggest impact of combat robotics may be in the commercial realm. There are a lot of parts we have designed and we ask manufacturers to build for us, which actually may have a lot of use for people, says Moon. For example, electric motors. We are very demanding on our motors. We have the highest packed, highest quality motors money can buy. They have to be super rugged, deliver constant power, and be very lightweight. Five years ago, that was just an odd request. Today, having a high performance electric motor is a very interesting thing if youre a manufacturer of hybrid cars. What would it take to build a hybrid car? Youd need a lightweight, high-efficiency electric motor thats pretty rugged. Because he is an engineer of Ninja status, Moon is fortunate enough to work with suppliers who give him test parts in exchange for feedback. Team Moon often gets prototypes of early technology that is inaccessible to normal consumers. There have been a lot of manufacturers that we work with closely, Moon says. One of them has taken motors that were first developed by combat robots into the wheelchair business. Another vendor was in satellite communications, and needed motors to move the parts on satellites. Now it has a whole line of motors, based on what Eugene. theyve learned from combat robots. Batteries are also a big factor in hybrid cars. Any electric car designed for practical use has to contend with limitations of battery life, reliable power delivery, and time it takes to recharge at a stop at the gas station or rather, your future roadside power plant.
There are a number of industries very dependent on batteries. Some battery makers have given us experimental batteries to test out, Moon says. The batteries we need for our robots are just unbelievable. We need batteries that we can completely drain in three minutes. I need to cool them down, and then recharge them within 25 minutes before they go out again for another three-minute drain. We need that level of cycling. Five years ago, it was impossible. I have batteries now that can perform like that. If you can do that with your battery technology, then you can build power plants for electric cars; you can build laptops and cell phones that can charge in a couple minutes and then last all day. If the demand is great enough, somebody will build it. Whatever the future is for bottested technology, the more intangible, but perhaps greater, impact of the sport may be on future generations. Robots have brought fathers and sons together, teaching the youth not just about competition, but how to be mechanically self-reliant. Rather than the passing on the old skills of
Moon and his younger son David bending some titanium. David is using the blow torch and Moon is operating the press.
traditional tools to the next generation, the advanced science of robot war imparts kids with the relevant high-tech skills for later professional or entrepreneurial success: computer modeling, CAM programming, and CNC machining. Now that these building technologies have come down to a personal level of use and affordability, the future is wide open. SV
SERVO 11.2007
35
Instant gratification comes in many forms. This month, instant gratification comes in the guise of a simple collection of electronic components designed to provide multiple control input interfaces to a highpowered miniature linear actuator. For a robomagician like you, instant gratification is a Firgelli PQ-CIB controller hooked up to a Firgelli PQ12 linear actuator.
The PQ12 Linear Actuator
The PQ12 linear actuator you see in Photo 1 is formally known as a PQ12f. The f in the PQ12s moniker signifies high-force. The high-force PQ12f can generate a force of 15N when the actuator is moving at 7 mm/s. A peak force of 18N can be realized when the actuator is moving a bit slower at 6 mm/s. The PQ12f is more than twice as powerful as its faster first cousin the PQ12s. The s here means speedy with the PQ12s linear actuator being able to extend and retract its actuator at 27 mm/s. Thats over twice the maximum stroke speed of 12 mm/s provided by the he-man PQ12f. And, by the way, the forces and speeds Ive just outlined are good for both retraction and extension. The PQ12 linear actuators both interface to their control circuitry by way of a Flex-PCB cable. A 1 mm pitch FFC/FPC connector can be used to access the PQ12fs Flex-PCB cable edge contacts. However, you may also choose to solder lead wires into the solder holes of the PQ12s cable. Theres no reason to jeopardize your PQ12 Flex-PCB cable as you can obtain a Hirose FH21 five-pin 1 mm FFC/FPC connector from Digi-Key. Unless you specialize in wire and printed circuit board (PCB) interconnects, the acronyms FFC and FPC are a foreign language you dont speak. In a nut shell, FFC stands for Flat Flexible Cable. FFC cable consists of thin rectangular copper conductors that are laminated between two layers of polyester insulation. A stiffener is attached to the cable end to give it the strength needed for connector mating
PHOTO 1. The PQ12 linear actuator is very compact. It measures 36.5 mm at its longest extent, 22 mm at it shortest extent, and is only 22 mm thick. The maximum extended stroke is 20 mm.
The Firgelli PQ-CIB controller is designed exclusively to drive the Firgelli PQ series of miniature linear actuators. In a previous issue of SERVO, you saw just how easy it was to build and code a Firgelli L12 linear actuator driver hardware module from scratch. Doing the same for the PQ12 series of linear actuators is almost effortless, as well. However, if building electronic devices from scratch is not in your mechanically-inclined forte or if you dont have time to solder and need a complete and proven linear actuator platform in a hurry, the PQ-CIB controller is your best solution. In the linear motion discussion that will follow, well take a look at the PQ-CIB controller hardware and firmware. Well also perform a preflight walk-around on the PQ12 miniature linear actuator. In the course of our talks and walks, well outline some PIC-based firmware and some very basic PIC hardware to drive the PQ-CIB controller. This article is all about moving stuff. So, lets get a linear move on.
36
SERVO 11.2007
PHOTO 2. The integrated battery pack is designed to be detached from the controller. The PQ-CIB controller comes ready to rock out of the box. All you have to do is add some battery power, attach a PQ12, and move the slider to activate the PQ12s plunger.
and unmating. Due to the way FFC cables are constructed, they are best suited for straight one-to-one connections. Then, there is FPC, or Flexible Printed Circuit, cable. The idea behind FPC cable is identical to the FFC cabling concept except the conductors of FFC cabling are etched. This makes FFC cabling the choice for custom applications that may also need an odd cabling geometry. These cabling technologies have been around since the 1970s. So, unless you were born just recently, youve seen lots of FPC and FFC cables. You just didnt know what to call them. Unless we only want to completely extend and completely retract the PQ12fs actuator, well need to have total control over how far to allow the actuator to move and complete control over which way the PQ12fs actuator will move. The mini-schematic of the PQ12fs internals shown in Figure 1 tells us that the PQ12f is logically identical to the L12 linear actuator we talked about in the previous issue of SERVO. Thats good in the sense that if you read about the L12, your learning curve will be zero as far as the operation of the PQ12f is concerned. Whether or not you know anything about the Firgelli L12 linear actuator, its rather obvious from Figure 1 that the PQ12fs internal potentiometer is the key to sensing
V+
the position of the PQ12fs actuator. The PQ12fs actuator drive motor requires a power supply voltage of +5 FIGURE 1. This is pretty simple VDC and draws a maximum stuff for such an accurate and powerful device. With current of 250 mA. This the help from a very fast PIC makes the PQ12f perfect microcontroller, we will have as a powerful replacement absolutely no problem in for +5 VDC hobby servos in keeping up with the position of the PQ12fs plunger. applications that require the hobby servo to emulate a linear actuator.
R2 10K
Q5 STD30PF03L
Q6 STD30PF03L
R3 10K
1 2 3
SCREW TERMINALS
BATTERY + V+ RC INPUT 4-20mA INPUT 0-10V INPUT
Q2 IRLML2402
H3
+5VDC
R5 10K Q4 IRLR3714
MT1 MT2 H4 +5VDC
R7 10K D2 BAS70
V+
6 5 4 3 2 1 CON2
FH21 R6 0.27
MCLR PGC PGD +5VDC
GND
5 4 3 2 1
+5VDC
ICSP 1 2 3 4 5
R12 1K
H1 RC INPUT
MCLR/Vpp
10 9 8 7 6 5
14
VSS PIC16F676
10K
R8 10K
INT
EXT
C4 2.2uF
1 2 3
R9 10K
POT SELECT
SCHEMATIC 1. There should not be anything here a robobuilder like you does not understand. This is simple PICology mixed in with basic DC motor control.
SERVO 11.2007
37
At first glance, the four MOSFETs mounted at the top of the PQ-CIB controller PCB stand out. I dont know about you, but to me they are screaming H-BRIDGE! A look at Schematic 1 shows us that the PQ-CIB controller is, in fact, mostly an H-bridge. Everything else is done with firmware that resides within the Microchip PIC16F676. The PQ-CIB controller firmware accepts 4-20 mA, 0-10 VDC, hobby R/C, and 1 kHz PWM input signals, which all can be used to move the PQ12s actuator. Photo 3 is a reconnaissance view of the PQ-CIB controller sans battery pack. At the top left edge of Photo 3, you can see the FH21 FFC/FPC cable socket. If you backtrack to Figure 1, you can easily figure out how the linear actuator FH21 cable connector is laid out. Pin 1 of the FH21 FFC/FPC is located at the bottom of the FH21 FFC/FPC cable socket. Note that the FH21 FFC/FPC cable socket pins out all of the odd numbered signals on the left and the even numbered signals on the right. You can check this against the pin layout shown in Figure 1. The PQ-CIB controllers PIC16F676 comes preprogrammed with the necessary stuff to accept all of the signals I ran down earlier. However, youre reading this because you and I are two peas in a pod. Youll want to program the PQ-CIB controller with your own driver firmware eventually. So, a five-pin PIC programming interface is positioned directly below the FH21 FFC/FPC cable socket. All of the various inputs which are rendered mutually exclusive by the firmware are handled at the screw terminals that lie directly below the five-pin PIC programming interface. The PQ-CIB controller firmware is continually scanning the inputs and locks in on the first valid input type it encounters. Once the PIC16F676s linear actuator controller firmware gets a valid input, it reverts to using that input type exclusively until the PQ-CIB controller is reset.
PHOTO 3. The PQ-CIB controller is perforated at the battery pack edge to allow you to separate the battery pack and the main controller electronics. The idea is to allow you to use the PQ-CIB controller as a linear actuator controller out of the box and into your project.
real-world linear actuator project. Once the battery pack is jettisoned, the remaining PQ-CIB controller electronics can be powered from an external power source. To obtain external power, we simply move the jumper from BATTERY to EXT PWR. You can see this jumper block clearly at the bottom of Photo 3. The demonstration potentiometer is also discarded and disconnected when the battery pack is separated from the PQ-CIB controller electronics. With the demo slider absent, we must move the POT/EXT jumper to EXT to utilize the 0-10 VDC input. Thats all we need to say about the PQ-CIB controller hardware. If youre a robonewbie and H-bridge sounds like something from a Latin text book, check out the H-bridge article that Peter Best did in the July 06 issue of SERVO. Lets take a scenic tour the PQ-CIB Controller firmware.
The #use delay statement is a CCS-specific clock definition compiler command. Since theres no external crystal or oscillator on the PQ-CIB controller PCB, the only logical conclusion is that the PIC16F676 is running on its internal precision 4 MHz oscillator. That gives us an instruction cycle time of 1 s. The R/C input is the only input that uses the PICs interrupt on change feature coupled with an interrupt handler. If youre not familiar with how R/C hobby servos work, heres some quick schooling. An R/C transmitter emits a chain of pulses with each pulse aimed at a specific R/C servo. The R/C receiver decodes these pulses and routes them to the target servo. Typically, an R/C hobby servo actuator will operate
38
SERVO 11.2007
over a range of 180. A pulse width of 1.5 ms will cause the servo to center its actuator at 90. To rotate the servo actuator to 0, a 1.25 ms pulse is transmitted. Sending a 1.75 ms pulse will cause the servo to rotate its actuator to the 180 position. Thus, a hobby servo system operates in response to the width of the pulse coming into the servo. The pulse width measurement is defined when the pulse is logically high and the PQ-CIB controller firmware takes advantage of that fact. The PQ-CIB controller firmware will begin a pulse width measurement when it detects a low to high transition on the R/C input. When the pulse transitions from high to low, the value in TIMER0 which is also called RTCC in the source code is read and loaded into the variable RC_In_Voltage. The manipulation of TIMER0, or RTCC, is triggered by the PICs interrupt on change mechanism. Heres the code that makes up the RC input interrupt handler:
********************************************************* #INT_RA void isr() { if(input(PIN_A5)==1) { set_rtcc(0xF0); //preload timer } if(input(PIN_A5)==0) { //read the timer and load into a variable RC_In_Voltage = get_rtcc(); } } *********************************************************
Prescaling the TIMER0 clock by 4 means that TIMER0 will increment every four instruction cycles, or once every 4 s. Once everything I/O is set up and the A-to-D converter and TIMER0 mechanisms are primed, the PQ-CIB controller firmware begins its input scanning. The first order of the input scanning business is to turn off the linear actuator motor and hide for a second or so to avoid picking up some noise:
********************************************************* void ScanInputs( void ) { unsigned long In_Voltage = 0, In_Current = 0; unsigned long waiting = 0; MotorOff(); // Motor off and delay to avoid // false signal on start up
The scanning firmware is contained within an endless loop. The A-to-D converter is called upon repeatedly to read the 0-10V/PWM and 4-20 mA loop analog inputs. If 16 A-to-D converter ticks are collected from an analog input in a sample period, theres voltage on that particular input. Heres the code snippet form the ScanInputs function that hunts down incoming voltage or current:
********************************************************* do{ delay_us(500); waiting=0; In_Voltage = GetADCResult( InputV ); In_Current = GetADCResult( InputC ); //if there is a voltage or PWM signal detected if ( In_Voltage > 0x10 ) { V_PWM_I_SourceAp(InputV); } //if there is a current signal detected else if (In_Current > 0x10 ) { V_PWM_I_SourceAp(InputC); } *********************************************************
Every PIC program requires that the programmer set up the PICs I/O structure. The firmware driver for the PQ-CIB controller is no exception. Note that A-to-D definitions and TIMER0 prescale definitions are included within the defacto I/O initialization code:
//******************************************************* //* Main program - sets ports and registers //******************************************************* void main( void ) { OUTPUT_A(0x00); // clear port A SET_TRIS_A(0x2B); // A5, A3,A1,A0 = Input // A4,A2 = Output OUTPUT_C(0x00); SET_TRIS_C(0x07); // clear port C // C5:C3 = Output, // C2:C0 = Input
The ScanInputs function will invoke the V_PWM_I_SourceAp function if either the voltage or current analog inputs produced a voltage. The argument of the V_PWM_I_SourceAp function call is used to determine which analog input to use as a basis for moving the linear actuator motor. The R/C input not only has its own interrupt handler, it also has a special function that is called when voltage is detected on the R/C input:
********************************************************* else { do { waiting++; if(input(PIN_A5)==1) { RCSourceAp(); } }while (waiting<500); } }while(true); } *********************************************************
SETUP_ADC(ADC_CLOCK_INTERNAL); SETUP_ADC_PORTS(sAN4|sAN5|sAN6); // AN4 FB, // AN5 4-20ma, AN6 0-10V //internal clock used with a prescaler of 4 SETUP_COUNTERS( RTCC_INTERNAL, RTCC_DIV_4 ); // enable GLOBAL interrupt ENABLE_INTERRUPTS(GLOBAL); // function to determine source type ScanInputs(); } *********************************************************
SERVO 11.2007
39
The V_PWM_I_SourceAp function works on the premise that if the motor feedback voltage is greater than the input voltage, the actuator will retract. On the other hand, if the motor feedback voltage is less than the input voltage, the actuator will extend. Obviously, if the feedback and input voltages are within a preset hysteresis window, the motor will not move. Like the ScanInputs function, the V_PWM_I_SourceAp function is a never ending do-while loop. The linear actuators feedback voltage from its internal potentiometer wiper is continually read and compared against the voltage of the selected voltage control input:
********************************************************* void V_PWM_I_SourceAp( unsigned int Input ) { unsigned long In_Voltage = 0, FB_Voltage = 0; unsigned long Previous_FBv = 0; unsigned int Direction = 0, FB_count=0; unsigned int OK_to_ext = 0x01, OK_to_ret = 0x01; do { FB_Voltage = GetADCResult( FBVolts ); do { //store the previous FBv for stall condition Previous_FBv = FB_Voltage; In_Voltage = GetADCResult( Input ); FB_Voltage = GetADCResult( FBVolts ); if((abs(In_Voltage - FB_Voltage)) < hysteresis) { MotorOff(); Direction = Stopped; } *********************************************************
And, if youre wondering about the hysteresis value, it is also defined in the firgelli.h file:
********************************************************* #define hysteresis 0x03 //(FYI 0x10 = approx. 0.175V) *********************************************************
All of the inputs are tested against the linear actuators feedback voltage using an algorithm that looks like this:
********************************************************* if((abs(In_Voltage - FB_Voltage)) < hysteresis) { MotorOff(); } else if((FB_Voltage > In_Voltage) && (OK_to_ret== Yes)) { OK_to_ext=Yes; MotorRetract(); delay_us(10); } else if((In_Voltage > FB_Voltage) && (OK_to_ext== Yes)) { OK_to_ret=Yes; MotorExtend(); delay_us(30); } *********************************************************
Note that a copy of the linear actuator feedback voltage is stored in a keeper variable every time that the linear actuator feedback voltage is read. The keeper variable is compared to the next feedback voltage reading to check for a stalled actuator condition. Basically, if the new feedback voltage is equal to the keeper variable value, the actuator motor must be stalled. Here are the firgelli.h definitions for
The OK_to_ret==Yes statement is related to the stall sensing code. Note that as the contents of the function are executed, the OK_to_ret variable is loaded with the Yes value, which is also defined as 0x01 in firgelli.h. If a stall condition is sensed, the stall code will equate the OK_to_ret variable to No, which is defined as 0x00 in firgelli.h. The stall code is executed within every input function:
SCREENSHOT 1. Play with the values of CCPR1L and bits 4:5 of CCP1CON to change the duty cycle. Changing the value of PR2 will alter the period of the PWM signal. Changing the period also changes the frequency as the frequency is equal to 1/period.
Sources
Saelig www.saelig.com Cleverscope Firgelli www.firgelli.com PQ12; PQ-CIB Controller; L12 Custom Computer Services, Inc. www.ccsinfo.com CCS C Compiler
40
SERVO 11.2007
********************************************************* if((Direction==Extend)||(Direction==Retract)) { if((abs(Previous_FBv - FB_Voltage))<0x01) { FB_count++; //count threshold indicates a stall condition if(FB_count>0xA0) { FB_count=0x00; MotorOff(); if(Direction==Retract) { OK_to_ret=No; } else if(Direction==Extend) { OK_to_ext=No; } Direction=stopped; } } else { FB_count=0x00; } *********************************************************
Ill supply the entire PQ-CIB controller firmware package to you via the SERVO website at www.servomagazine.com.
I used the code above with a PIC18F2680 running at 10 MHz to generate the Cleverscope shot you see in Screenshot 1. Now, change your PIC clock to 4 MHz and run this code:
********************************************************* TMR2ON = 0; CCP1CON = 0x0F; CCPR1L = 0x5F; T2CON = 0x02; //prescale=16 PR2 = 0xFF; TMR2ON = 1; *********************************************************
Recall that earlier I pointed out the use of firmware by the PQ-CIB controller to replace hardware. Well, here are the core functions that are used to command the H-bridge:
********************************************************* void MotorOff(void) { OUTPUT_LOW( PIN_C3 ); OUTPUT_LOW( PIN_C4 ); OUTPUT_LOW( PIN_C5 ); OUTPUT_LOW( PIN_A4 ); delay_us(10); } void MotorRetract(void) { MotorOff(); OUTPUT_HIGH( PIN_C3 ); OUTPUT_LOW( PIN_C4 ); OUTPUT_LOW( PIN_C5 ); OUTPUT_HIGH( PIN_A4 ); } void MotorExtend(void) { MotorOff(); OUTPUT_LOW( PIN_C3); OUTPUT_HIGH( PIN_C4); OUTPUT_HIGH( PIN_C5); OUTPUT_LOW( PIN_A4); } **************************************
As you can see in Screenshot 2, the update rate is a bit faster than 50 Hz, but this 250 Hz, 1.5 mS PWM pulse train will center an R/C servo and the actuator of your PQ12. Fiddle with the CCPR1L value and bits 4:5 of CCP1CON to change the duty cycle of the waveforms Ive shown you. The CCP1CON bits are the least significant bits of the PIC18F2680s 10-bit PWM resolution range. If things go as they should for you, the PWM waveform will be present on RC2. We can stop now because you do have everything you need to put a Firgelli PQ12 linear actuator to work in your next robotic project. Feel free to email me at fred@edtp.com if you have any questions or comments. SV
SCREENSHOT 2. R/C servos want to see a pulse every 20 mS, which equates to a 50 Hz PWM signal. This shot is updating every 4 mS. I tied this signal to my PQ-CIB controller and my PQ12 jumped to center stroke.
The H-bridge MOSFET components would have to fail for any illegal MOSFET turn-ons to occur. You can take the MOSFET commands and map out which MOSFETs are on for retract and extend operations. Since MotorOff turns all of the MOSFETs off, we can logically conclude that a logical high will turn on a MOSFET in the H-bridge. Okay, weve taken a look at all of the building block code that makes up the PQ-CIB controller firmware package. This walk-through was by no means a line-byline journey. So, with thanks to Firgelli and the folks at the BCIT Technology Centre, SERVO 11.2007
41
caused a lot of TOPO robots to become nice display pieces instead of working bots.
and on the body, which show the direction of movement. The later TOPO II/III robots switched to a bi-directional I/R link (closed loop), had some smarts onboard, and could talk. These had a red button on the head where the I/R transceiver was located, black trim, a black cutout for a speaker, and red LEDs near the wheels. Some of the other LEDs were eliminated. The TOPO III is basically the same as the TOPO II, but eliminated the rest of the LEDs and had a slightly different body which replaced the fold down arms with a mount that could accept optional drink and food trays.
42
SERVO 11.2007
This article focuses on the original TOPO I robot. All references to TOPO in the rest of the article apply only to this original RF based version.
SERVO 11.2007
43
assemblies but do not remove them completely. We just need to lift them up a bit for clearance to unsolder and swap the wires. Once that is done, unsolder the three leads on Channel 1 (right/left on right stick) and Channel 2 (up/down on left stick). Solder wick works well if you dont have any special de-soldering equipment. There is a plastic housing holding the three wires together for each channel so the leads wont get mixed up. Just reroute each set of wires to the other joystick and solder them back in place. The spacing is set up so it will only go in one way. Once that is complete, screw the joystick assemblies back in place and re-install the back cover. If you unplugged the power lead to set the back cover off to the side, then make sure to plug that back in before putting the cover back on. Now when you turn on the radio and turn on TOPO, the right stick should make the right wheel move and the left stick should make the left wheel move. The directions
though. This is easily corrected. On the front of the transmitter, there is a set of switches that control the direction of travel for each of the servo channels. Just flip the switches for Channel 1 and Channel 2 to REV. The transmitter should now move the wheels in the proper directions with the correct joysticks. If there is any movement of the wheels when the joysticks are centered, then adjust the trim tabs on each joystick until the wheels stop with the sticks centered. When properly adjusted, all of the LEDs should be off and will light when the wheels move. Thats it! With this, you now have a large remote control robot that you can easily turn on and use at any time without the grief of setting up a whole Apple II+ system to support it. This makes it much easier if you just want to take TOPO somewhere to drive it around. The biggest benefit is for those people that have a TOPO robot and have never been able to use it. Now you can finally see it do something and have some fun with it!
using the extra two channels (3 and 4) on the radio to control extra devices. It can make TOPO a bit more interesting than just taking him for a spin. You could use small servos in these ports for other things. Perhaps you may want the head to move. You could use one of these extra channels for that purpose. Another option is to use an R/C switch to control other devices. Some that Ive used with excellent results are made by Team Delta. Once a certain threshold is reached on the channel, it can turn on a relay or other device. One in particular has two relays on board. If one of these were plugged into Channel 4, then moving the left stick side to side will energize the appropriate relay. This could be connected to a module with canned phrases so when driving the robot around via the remote, it can say a few things. Get creative and have some fun!
44
SERVO 11.2007
TOPO I electronics.
J2 expansion connector.
potential of the original robot. The LM1872 receiver chip on the main board normally decodes four channels (two analog and two digital) but with a couple extra ICs, it can actually decode eight channels. This is the way that it was done on the TOPO main board. They just happen to be routed to an unused eight pin expansion connector at J2 on the main board. The connector J2 (starting at pin 1) provides +24V, GND, CH5, CH6, CH7, CH8, CH3, and CH4. Since Channels 1 and 2 are dedicated to the main drive motors, those are not routed to the expansion connector. These extra channels respond to the Futaba radio and are available. Since were using a four channel radio, only Channels 3 and 4 work. I did look at all the signals with the scope and it appears that the Futaba radio actually transmits six channels. It may be possible to modify the radio (depending upon its chipset) and add a couple extra switches or controls to leverage the extra channels but Ill leave that up to you to experiment with. Finding all these signals on J2 was fantastic. It makes it easy to expand the robot without the need for another receiver in the robot. I just made a small adapter that plugged into J2. The 24V from pin 1 and the ground on pin 2 goes to a couple of voltage regulators to generate +5V
and +12V power for servos, solid-state switches, and other devices. There are also some filtering caps to help condition the power. The signals for Channels 3 and 4 on pins 7 and 8 can be routed to a three-pin header to connect to a standard servo or solid-state switch module. To test it, I connected a pair of regular Futaba R/C servos to these two extra channels. Sure enough, moving the joysticks side to side on Channels 3 and 4 controlled the servos perfectly. One really cool idea is to try something like the SpeakJet (SpeakGin) chip in its R/C mode. That way, just by moving the joysticks from side to side the robot can say a few things while moving. For those that may want to do a little more with TOPO, there is another
The original Apple II + I/O card and transmitter.
gem that I found while going over the main board. It is the odd jumper installed on connector J3. This is where the decoded signals for Channels 1 and 2 connect to the drive system. By removing that jumper, it is possible to isolate the receiver section from the drive system and feed your own signals to the drive electronics. You need to feed the R/C signal into pin 7 for the right motor and in pin 8 for the left motor. The ground signal can come from J2, as well as any required power. Since these are standard servo style signals, a regular receiver on a completely different frequency can be plugged in here. This
References
Robot Workshop www.robotworkshop.com Author of this article and service/repairs/upgrades of old robots Robot Gallery www.robotgallery.com Information about the early personal robots including Androbot robots Tower Hobbies www.towerhobbies.com Supplier of Futaba four Channel AM radio Team Delta www.teamdelta.com R/C switches and relay modules Parallax www.parallax.com BASIC Stamp modules
SERVO 11.2007
45
is great If you want to drive around two robots independently since all the TOPO robots Ive seen come on the same frequency. A more interesting option is to use a small microcontroller (such as the BASIC Stamp) to send the R/C style signals to the original TOPO H-bridge
circuitry for controlling the robot. This would give TOPO some sort of brain of his own. Going this route, you wouldnt need any transmitter at all.
Final Thoughts
If done carefully, many of these
upgrades and modifications can be done without altering the original robot. That way, you can always go back to the way it was made. I think that is important since these are classic robots and worth being preserved. Just something to keep in mind. SV
C Stamp Controller
www.c-stamp.com
LOW COST - High Pin Count 48-Pin Module with Analog High Speed, Large Memory Professional SW Dev. Tools Easy to Connect Accessories Free Expert Technical Support Toll-Free: 1 (800) 985-AWIT
I M S e r v ic e
Electronic Parts & Supplies Since 1967
D e sk to p C N C S o lu tio n s
P .O . B o x 1 4 2 , N e w H u d s o n , M I 4 8 1 6 5
P h o n e : 8 8 8 -4 5 1 -1 6 7 0 o r : 2 4 8 -4 8 6 -3 6 0 0
i m s r v .c o m
For the finest in robots, parts, and services, go to www.servomagazine.com and click on Robo-Links.
Hobby Engineering
Robot Kits, Parts, Tools and Books
www.HobbyEngineering.com
46
SERVO 11.2007
ANDROID ARM
Part 2
Last time, the main drive systems were built in detail. Now we are ready to put the arm together.
Mounting the Wrist Motor
The SMS-40 stepper motor uses a square flange with four mounting holes. These holes are for 6-32 size machine screws. You can mount the motor using a small 1/2 inch x 1/4 inch piece of aluminum stock and drilling and tapping holes in it that match the motor hole pattern along one edge (two holes). This will rigidly secure the motor to the stock and, in turn, can be drilled and attached to the forearm plate. Carefully align the gears on the motor and wrist, and attach. You can use 1/4 inch long screws for both attachments. Remember to properly mesh these gears using 110 lb paper strip to assure a perfect fit. Test the rotation by turning the motor gear with your fingers, mak-
Building an
by Mark Miller
ing sure there is no binding or interference. Figure 1 shows the proper mounting relationship on the assembly. You will also note that the through shaft into the wrist is not obstructed by the motor, maintaining access to the end effector. Other materials/methods could also be employed to mount the wrist motor. Feel free to experiment.
fender washer that provides a wear surface and smooth precise motion throughout the range of joint movement. These joint halves are secured to the forearm metal plate using two 8/32 x 1/2 inch machine screws, drilled and tapped into the resin. The lower bicep joint half is fastened in the same manner. You will note in the photo, the bicep plate has been sanded to fit the joint half, making a shapely finished appearance. Figure 3 shows the completed joint ready for final assembly. The center 1/4-20 bolt holding the two joint halves is clearance-holed in the forearm portion and tapped into the bicep portion. This manner of construction allows the joint to be preloaded
FIGURE 2
SERVO 11.2007
47
FIGURE 3
FIGURE 4
FIGURE 5
(tensioned) to remove any play between the parts, yet smoothly transition in a full range of motion without drag.
to allow rotation of the arm forward or back. The joint is assembled as all others with a single 1/4-20 bolt and fender washer in between. Figure 6 shows the final assembly from the outside, while Figure 7 is the backside. It is now ready to be mounted to a test stand for further work.
supporting the arm at a right angle, as shown in Figure 8. To move the arm at the elbow, a circular disc of aluminum was used with an OD of 1-3/4 inches. It is 3/4 inches thick and secured to the bicep out shaft from the gearing with two set screws and right angles to each other for maximum holding force. Figure 9 shows the installed disc. You could also use a pulley, instead. For maximum joint movement, a machine screw has been tapped near the outer edge of the disc, from which a drag arm will be mounted extending down to the forearm. This, in effect, will be a simplified crankshaft-type drive system. You can select the best distance from the forearm joint you wish to mount the drag arm with the following in mind: The closer you place the drag
FIGURE 8
48
SERVO 11.2007
FIGURE 10
FIGURE 11
FIGURE 9
arm to the elbow joint, the more range of motion you will receive. However, this is at the cost of overall torque available at the wrist. The photo depicts the drag arm (1/2 inch wide, .062 thick aluminum stock) located at 2-1/2 inches from the joint center, allowing a two pound load to be carried at the wrist. You can experiment for best results for your application. Figure 10 shows the drag arm link connected to the forearm with a short stub of 1/2 inch aluminum drilled and tapped at both ends for 8-32 machine screws. I used a piece of brass tubing under the drag arm screw so the threads were not riding against the metal surface itself. After attaching, run the motor to test for binding or other problems. You will note the whole joint is very rigid and precise with excellent repeatability. There should be no slop in the assembly. The bicep disc also makes an excellent place to mount an encoder which will allow you to keep track of the arms position. You may note due to the offset crank-style design the arm can be set in continuous motion in either direction without the need for stops or limit switches.
fabricated from 1/4 inch Lexan material as shown in Figure 11. This one was made so one side of the gripper is fixed (upper in photo) and the lower portion (with a small protruding leg near the joint) opens. These have been drilled and tapped into the custom wrist hub using 6-32 screws. To make the movable side open, a small piece of piano wire was run through the wrist joint tubing and pushes against the protruding leg on the claw. I drilled about 1/4 inch into this leg so the wire would not jump out during wrist rotation. As a simple actuator, the tubular pusher solenoid mounted in the foream opens the claw to its maximum (about 1-1/2 inches) when powered. The connection between the solenoid plunger and the piano wire is a small leftover Lexan cutoff epoxied to both. The wrist can operate while the claw opens and closes. This is detailed in Figure 12. A return spring is mounted across the flat part of the claw to keep it in tension while unpowered. The spring has the maximum amount of tension that the solenoid is capable of overcoming. You can experiment and easily determine this tension for your solenoid. Figure 13 shows the tensioning return spring
FIGURE 12
across the fingers. This is a very simple gripper made from scrap. You can purchase a conventional servo-type gripper from several sources that may be more suited for your purpose. The power leads from such a gripper can be fed through the wrist tubing, as well. Driver circuitry for the wrist and bicep motors can be mounted in any leftover space on the arm. There is plenty of open flat area on the aluminum plates to mount some standoffs and the circuitry.
Exterior Covering
The covers shown in Figure 14 were made from a fiberglass layup over a cardboard tube. Cutouts were made
FIGURE 13
SERVO 11.2007
49
FIGURE 14
for clearance and then painted. Other possibilities include styrene sheet or other thin bendable plastics, wood, or even the cardboard tube itself (which I thought about after using it as a mold). Those heavy mailer tubes can be cut easily, sprayed with polyurethane, then sanded and fished, as desired. Use common circuit board standoffs to hold the shield in place from the aluminum plate. This also adds rigidity to the arms overall structure.
to objects and pick them up or re-place them. The basic system of motor gear combination is again repeated for the bicep/elbow joint. Since this joint is supporting not only the load of the arm itself plus any payload, the output shaft should be increased to at least 1/4 inch shafting. Everything else is exactly the same. If you need more lifting power, additional reduction can be made accordingly. This new gear/motor reduction is mounted to the third joint component of the shoulder. You will need to remove the arm from its building stand to install this feature. The 1/4-20 tapped hole previously holding the arm to the stand can be redrilled out to a full 1/4 inch to allow the shaft to slide into the shoulder
joint, which has been secured by cross-drilling a cotter pin through the joint material and the shaft. The pin will also serve as a quick release to remove the arm from your robot. Figure 15 shows the orientation of this new network in relation to the existing arm. The shoulder-to-body mount is now accomplished by a single 1/4-20 bolt tapped into the third joint component, and allows the entire arm FIGURE 15 to rotate front to back of the body to which it is attached. This axis can also be motorized using a drag arm/motor system mounted on the body to this plate, or it can simply be postioned and tightened in place parallel to the body. This motion, for instance, would allow both hands to touch each other in front of the body for manipulating or passing an object from one hand to the other.
PARTS LIST
ITEM GEARS Set 92657 Set GR-86 SUPPLIER/PART NO.
MISCELLANEOUS K & S Metals Available at your local hobby shop Resin joints, humanoid robotic components, including a complete kit of parts (mechanical structure) to build this arm, email Theandroidman@aol.com STEPPER MOTORS Elbow and shoulder Wrist motor
50
SERVO 11.2007
by Michael Simpson
GPS
PART 2
Currently, there is no development board available for the Etek EB-85A, but the Copernicus evaluation board works perfectly. I recommend the following steps in order to connect the EB-85A to the Copernicus board. purple, then orange. STEP 2: Break off the black and red leads as shown in Figure 3. Then break off the white and green leads as shown. Place a piece of black tape on the remaining leads. STEP 1: Start by cutting the white connector off the end of the included STEP 3: Only four leads are needed cable. Strip about 1/8 of the insulation from each of FIGURE 1 the connected wires, then connect the wires to an eight-pin male header as shown in Figure 2. I recommend using heat shrink on each of the leads as shown. Be sure to connect the wires to the header in the following order: red, black, white, green, yellow, blue, FIGURE 2 FIGURE 3
Etek EB-85A
The Etek EB-85A module shown in Figure 1 is the most accurate GPS that I have ever tested. It supports up to 32 parallel channels with WAAS enabled. The downside is that WAAS is not enabled by default, so you must send commands to the module in order to activate this feature. Once the module is powered down, it loses these settings. Lets take a quick look at the feature set of the Etek EB-85A: 32 channel receiver Built-in antenna High sensitivity: -158 dBm 1-5 Hz update rate Selectable baud rate from 4800 to 115200 9.8 positional accuracy/8.2 with WAAS Hot start: 1 second Warm start: 33 seconds Cold start: 36 seconds 55 mA power consumption to acquire and 30 mA for tracking 3.35 volt operation Outputs NEMA 0183 Small foot print: 30 mm x 30 mm x 8.6 mm Eight-pin interface cable included Free Mini GPS utility available
SERVO 11.2007
51
FIGURE 4
FIGURE 5 FIGURE 6
board between two pieces of plastic shown in Figure 7. This will make the board more durable and easier to test. The Etek EB-85A module defaults to 34800 baud, so keep this in mind later when we test the module. Since the EB-85A can be powered by a 5V source, you may use the alternative interface shown in Figure 8. This is simply a 5V regulator and EZRS232 driver available from Kronos Robotics. Schematic 1 shows the actual hookup.
You have a couple of choices available to you in order to test your interface. First, you can download the free Mini GPS software available from the Sparkfun webFIGURE 7 site at www.sparkfun.com/data sheets/GPS/MiniGPS_1.32.zip. to connect the EB-85A to the connector marked Port A. Attach Use the port marked Port B on Copernicus board. These are shown in the EB-85A to the foam tape as shown the evaluation board to interface with Figure 4. Connect the appropriate leads in Figure 6. Make sure the patch the module. to the board as shown in Figure 5. antenna is facing up. This software was specially designed to monitor and control the STEP 4: Place a small piece of STEP 5: As outlined in Part 1 of this EB-85A as shown in Figure 9. You double stick foam tape on the DB9 series, I sandwiched the evaluation can also use it to turn on the WAAS feature as shown in Figure 10. You can use the QuickTerm FIGURE 8 and Satellites software included in the project download shown in Figures 11 and 12. Remember, the EB-85 does not power up with the WAAS feature enabled. Both these programs send the commands to enable WAAS. I have also included the ZeusPro source code used to make these applications. The function turnonwaas is used to send the commands to turn on the feature. Be sure to download the MTK Packet manual from Sparkfun. This manual lists all the commands used to configure SCHEMATIC 1 the EB-85. FIGURE 9
52
SERVO 11.2007
FIGURE 10 e-339488/Copernicus_Monitor_ V1-02-07.exe. Use the port marked Port B on the evaluation board to interface with the module. The software called Trimble GPS Monitor (Figure 16) is quite extensive and comes with its own manual. The monitor allows you to log GPS data and monitor key data points such as satellite signal strength as shown in Figure 17. It also has a real time plotter shown in Figure 18. I have created a special version of the QuikTerm and Satellites programs for the Copernicus module. The
FIGURE 11 FIGURE 13
FIGURE 14
FIGURE 12
53
FIGURE 16
Supports both SiRF binary and Nema 0813 formats Built-in (replaceable) Li-ion battery gives 10 hours of operation Can be powered by 5V On/Off switch with LED indicators Home and auto adapters/chargers included Compatible with PC, laptop, tablet, PocketPC, Smartphones WAAS compatibility Built-in antenna External antenna connector While the features list shows WAAS compatibility, I have yet to see this feature manifest itself with any application. Even the GPS viewer software that has an option to turn this feature on fails to do so. What does this mean? Forget about WAAS on this device. Even without WAAS, this receiver outperformed most others I tested. The two easiest ways to communicate with the GPSlim236 is via the optional USB cable or a Bluetooth dongle shown in Figure 20. The small USB connector is not a true USB interface. To connect the module to your PC using USB, you need a special proprietary USB cable which is not included with the receiver. The actual output format of the mini USB connector is asynchronous serial at 38400 baud at a TTL level. This makes it perfect for interfacing to a microcontroller, or as an option, you can build an RS-232 interface as shown in Figure 21. Notice how I used SchmartBoard jumpers as interconnects. The antenna connector can be connected to the Sparkfun adapter as shown in Figure 22. This allows you to
Copernicus module does not display some of the NEMA messages we need by default. The two programs included in the download send special commands to the module to enable the needed messages. Again, I have included ZeusPro source code so you can modify and create your own programs.
FIGURE 17
FIGURE 18
FIGURE 19
FIGURE 20
54
SERVO 11.2007
connect the same antenna that we used on the Copernicus and other modules tested previously. Just like before, I have included a QuickTerm and Satellites version of the test software along with source code for use on the GPSlim. The receiver comes with some test software on the included CD for both the PocketPC and desktop. So, what is all the fuss about concerning this receiver? Bluetooth. With the Bluetooth interface, you can connect this receiver to Pocket PCs and Smartphones that do not have serial interfaces. If you decide you would like to pick up one of these little gems, just visit the Amazon website at www.amazon.com and do a search on GPSlim236.
Parts List
The following is a breakdown of sources for all the components needed for Parts 2 and 3 of this project. SPARK FUN ELECTRONICS
Etek EB-85A GPS Module www.sparkfun.com/commerce/ product_info.php?products_id=8266 Copernicus Module www.sparkfun.com/commerce/ product_info.php?products_id=8146 Copernicus Evaluation Board www.sparkfun.com/commerce/ product_info.php?products_id=8145 Nine-Pin Serial Cable www.sparkfun.com/commerce/ product_info.php?products_id=65 6V AC Adapter www.sparkfun.com/commerce/ product_info.php?products_id=737 External Antenna with SMA connector www.sparkfun.com/commerce/ product_info.php?products_id=464
Whats Next?
I ran out of room this month, but next month we will look at creating a data logger that all the modules can use. A data logger is extremely important as it will allow us to collect data that we can use to help us test various aspects of our project without having to resort to testing in the field. FIGURE 21
We will also start looking at the various microcontroller interfaces for each of the modules. Be sure to check
55
Tune in each month for a heads-up on where to get all of your robotics resources for the best prices!
Biorobotics is dedicated to the advancement of the field of robotics using insights gained through the study of biological mechanisms.
BARt-UH www.irt.uni-hannover.de/irt/asr
BARt-UH is a bipedal autonomous walking robot designed at the University of Hannover in Germany. Web page is in English.
Biorobotics http://biorobots.cwru.edu
Bots at the Biologically Inspired Robotics Lab at Case Western Reserve University. According to the site, the lab is dedicated to the advancement of the field of robotics using insights gained through the study of biological mechanisms.
56
SERVO 11.2007
Be sure to check out the archives: 1996 archive: http://ranier.hq.nasa.gov/telerobotics _page/coolrobots96.html 1997 archive: http://ranier.hq.nasa.gov/telerobotics _page/coolrobots97.html 1998 archive: http://ranier.hq.nasa.gov/telerobotics _page/coolrobots98.html 1999 archive: http://ranier.hq.nasa.gov/telerobotics _page/coolrobots99.html 2000 archive: http://ranier.hq.nasa.gov/telerobotics _page/coolrobots00.html 2001 archive: http://ranier.hq.nasa.gov/telerobotics _page/coolrobots01.html 2002 archive: http://ranier.hq.nasa.gov/telerobotics _page/coolrobots02.html
www.cs.cornell.edu/Info/Projec ts/csrvl/csrvl.html
Past and current projects at Cornell Robotics and Vision Laboratory in Ithaca, NY.
57
in Philadelphia, PA.
NASA www.nasa.gov
The main home page of the National Aeronautics and Space
58
SERVO 11.2007
Administration the outfit in the US that launches the Space Shuttle and the occasional robot.
Robotics Center (ISRC) is a world leader in creating miniature to macro-sized, teleoperated to autonomous vehicles for military and industrial applications. From environmental clean-up to the battlefield, the ISRC is expert in developing unique intelligent mobile systems. Side Collision Warning System for Transit Buses www.ri.cmu.edu/projects/project_ 324.html Just imagine the collision system on a big robot instead of a bus. From Carnegie Mellon University.
Informational page about the Logo programming language, originally developed by professors at MIT.
59
effort to create talking heads (physiological/computational/cognitive models of audio-visual speech), the historical antecedents of this effort, and related work. Links are provided (where possible) to the sites of many researchers and commercial entities working in this diverse and exciting area.
research goes on here in the fields of robot navigation. Be sure to read the details of the Mobile Robot Positioning and Obstacle Avoidance research. The book Where am I? (in print, CD-ROM, and electronic download) published by the universitys Johann Borenstein, is a classic and is required reading in many mechatronics courses. See also Dr. Borensteins home page where he provides links to many more online robotics resources at www-personal. engin.umich.edu/~johannb.
60
SERVO 11.2007
control, pattern recognition, and signal processing. University of Reading Department of Cybernetics www.cirg.reading.ac.uk/home.htm The Cybernetic Intelligence Research Group studies intelligence and its real-life applications.
University. Check out past and present projects, including the stairclimbing robot and the omnidirectional wheel designs.
a series of fully autonomous vehicles (both air and ground). The goal is to have a fleet of robots that can work cooperatively toward some predefined goal without the slightest bit of help from any human crew. SV
SERVO 11.2007
61
he holiday season is almost here a time for family and fun. One family gathering that would be very interesting to see would be the reunion of the WowWee robotics family; the Robosapien clan. WowWee robotics has produced some of the coolest robotics toys around, and we are proud to introduce two new members of the tribe: Roboquad and Robopanda.
four-legged, crab-like spider-like, wideeyed envoy from another world or the most mysterious corners of ours. The Roboquad is billed as the most aware of the WowWee clan thanks to an advanced vision system that relies on deep IR scanning. After seeing the Roboquad in action, we are inclined to agree. The bot plods around like a curious crab, and instead of relying on touch sensors like its ancestor the Robosapien, the Roboquad relies completely on its keen sense of sight. Another thing that the Roboquad has on all of its WowWee relatives is that it is by far the best dancer. With its hip tunes and flashing lights, the
ROBOQUAD.
ROBOQUAD ALL
BOXED UP.
Roboquad is ready for the clubs. The Roboquads epic personality is comprised of three elements that can be mixed and matched with three levels of intensity per element. Those three components are: awareness, activity, and aggression. Awareness refers to Roboquads tendency to pause, take a moment for reflection, and scan with its IR sensors. Roboquads impressive sensors can discern obstacles up to six feet away, and higher awareness levels will scan more often and at the maximum range. Conversely, lower awareness means rarer scans at shorter range. No matter what the Awareness setting, the Roboquad can gather an extraordinary amount of information through its sensors. It can tell if it is light or dark, and will turn its headlights on in the dark. The Roboquad can even sense movements and the shape of objects like doorways or steps. Activity refers to Roboquads speed and magnitude of reactions. Higher activity levels mean faster wandering and more involved responses. For
62
SERVO 11.2007
LOOK
INTO MY EYES
...
STRIKE A
POSE!
wide for its hackability. Intrepid tinkerers would equip their Robosapiens with everything from cameras and surround sound systems to tank tread bases. After much deliberation, we have come to the regrettable conclusion that the Roboquad is not meant to have the same hackability as its ancestors. Our first hint was the sheer number of screws that holds the Roboquads exoskeleton together. The Robosapien had one main body panel that was held in place by a very efficient number of screws, while the main shell of the Roboquad was held in place by over a dozen screws. Even after passing the trial of the screws, the body panels are assembled in such a way to further discourage disassembly. The main body panel is held down by the base of the neck, and the base of the neck cant be removed unless the rest of the neck is removed. And so on. We decided to try another plan of attack, starting at the head instead of the robots middle. The skull of the Roboquad is held together by eight screws, all of which were extraordinarily tight. Even after removing all but a few stubborn screws, the panels of the Roboquads head still gave no signs at all of wanting to split open. But if we were able to open up the Roboquad, what would we find? If we were to submit to conjecture, we might make the educated guess that the Roboquads board is either housed just above the black box on its underbelly that holds the batteries or in the head of the beast. If we were
correct, that would mean the board is fairly small, and with the sophisticated sensor array and number of motors, we would be inclined to believe that board would be very busy indeed. This was also the case with the Roboquads close relative, the Roboreptile, and the busy board is not exactly hacker friendly. In the face of compelling evidence, we were forced to make the unfortunate conclusion that the Roboquad simply isnt meant for hacking. Of course, we think that tenacious tinkerers will be able to surmount all of these obstacles and do some crazy things to the mysterious spider-crab, but the design of the bot certainly wont make it too easy of an undertaking.
ROBOPANDA.
SERVO 11.2007
63
ROBOPANDA
CARTRIDGE.
THE ROBOPANDA
SWITCH!
OOOH! AAAH!
start. The Robopanda displays a wide array of emotions and moods that range from excitedly telling stories and jokes to fitfully demanding his Teddy. And while the Robopandas expressive voice alone would have been plenty to define all of these moods, it completes the picture with playful movements of its paws and ears. The Robopanda can operate in any of three different modes. Menu Mode allows you to choose what Robopanda does, whether it is to tell you stories or jokes or play games like Panda Says. Robopandas stories are packed full of information about other animals, and in addition to being educational, the Robopanda tells them with enough zeal to be undeniably entertaining.
Panda Expressive
Robopandas premier mode is Friend Mode, and we have to admit that the irrepressible robot makes an entertaining pal indeed. You could literally spend hours listening to Robopanda excitedly recount its dreams, demand foot massages, and spout seemingly endless bits of panda related trivia. We didnt know that Pandas are nicknamed Great Bear Cats because of their cat-like eyes, and we had never heard of Red Pandas before either. The Robopandas animated conversations will at the very least give you an edge in Trivial Pursuit: Jungle Edition, and at the most pique your curiosity about the Great Bear Cats to the extent that you continue researching the fascinating animals long after Robopanda falls asleep (which it will do from time to time). We looked up the Red Panda on Wikipedia, and we can assure you that it certainly fits the description given by Robopanda (a lot smaller and a lot redder than I am), even though Robopanda forgot to mention how overwhelmingly precious it is. Perfectly timed reactions give the Robopanda the convincing illusion of sophisticated artificial intelligence. It will ask you questions, pause for just long enough for you to give an answer, then react in what always seems to be a delightfully appropriate way.
Panda-monium
All WowWee toys are billed as a fusion of technology and personality, and the Robopanda is downright emotive. Expressive blue eyes, moving eyebrows, and an animated voice with real human-like inflections are just the
64
SERVO 11.2007
ROBOPANDA TEDDY.
THE
FAB TRIO.
SERVO 11.2007
65
$399
$119.99
6 Dual 13A H-bridge 45A Peak! 6 5V - 24V 6 2.7 x 1.6 x 0.5
Scorpion HX
Scorpion XL
Introducing Dalf
6 6 6 6 6 6 6 Closed-loop control of two motors Full PID position/velocity loop Trapezoidal path generator Giant Servo Mode! $250 PIC18F6722 CPU C source for routines provided See www.embeddedelectronics.net
P
6 6 6 6
Simple-H
$79
6-28V 25A! 2.25x2.5 x0.5 3 wire interface current & temp protection
MADE IN
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
THE USA
Phone: 253-843-2504
sales@robotpower.com
66
SERVO 11.2007
www.servomagazine.com
to enter your gift order!
Be sure to use promotion code Y7WXMS when ordering.
Go to
U.S. Prices
1 Yr $24.95 2 Yr $45.95 3 Yr $65.95
NEURAL NETWORKS FOR THE PIC MICROCONTROLLER PART 3 HEBBIAN LEARNING by Heather Dewey-Hagborg
DIFFERENT BITS
input sum = (input0 * weight0) + (input1 * weight1) + And so on, for as many inputs as the neuron has. Learning can be either supervised or unsupervised. So far in this column, we have discussed only supervised models of learning where we play the role of teacher and effectively tell the neural network the correct answer repeatedly until it gets it right. Hebbian learning can involve a teacher or can work on its own without anyone telling the network what is right and wrong. Both forms of learning go through the same cycle of sensing and updating connection strengths, but the unsupervised model computes weight updates based on what values are present together, whereas the supervised version computes based on what the output should be. The learning rule is as follows: weight change = learning constant * desired output * input value Or, in the unsupervised model: weight change = learning constant * neuron A activation * neuron B activation As you can see, connection strength will only increase between correlated neurons; neurons with activations of the same sign. For example, if we want an output neuron to have an activation of 1 and it has two inputs one input activated to -1 and the other input activated to +1 the weight change will be positive between the neurons with the same sign, and negative between the neurons with opposite signs. EX: weight change = 0.2 * 1 * -1 weight change = -.2 weight change = 0.2 * 1 * 1 weight change = .2 Hebbian learning is often used in neural networks that model psychological theories. The most common example of this is a form of Pavlovian classical conditioning where an animal (or robot) learns to associate two
In Septembers column, we looked at feedforward neural networks and backpropagation and discussed their uses for solving linearly inseparable problems. This month, we are going to look at a more biologically plausible class of neural network models based on Hebbian learning. This article will assume that you have been following along with the series and are familiar with terms like input sum, activation, weights, and learning function.
ebbian learning is based on a simple and intuitive principle: connections between neurons that tend to fire together increase in strength. The converse of this is also true: Neurons that rarely fire together have weak connections. This means that neurons become associated and assist in each others activity. Hebbian learning allows neural networks to form simple behavioral conditioning. By repeatedly presenting a set of input and output patterns together to the network, it will learn over time to associate the input and other similar inputs with the output. The most basic Hebbian learning networks have only two layers of neurons, inputs, and outputs. They use the same linear, hard-limiting activation function as the perceptron neural network from Julys column: activation = sign(input sum) In other words, if the input sum is > 0, the activation is 1; otherwise, the activation is -1. The input sum is computed in the same way as always:
68
SERVO 11.2007
DIFFERENT BITS
SERVO 11.2007
69
DIFFERENT BITS
FIGURE 2. Hebbian robot neural network diagram.
the learning functions first. sign Simply returns the sign (positive 1 or negative 1) of the floating point argument. getActivation This function computes the output neuron activations based on the current set of inputs and connection strengths. learn This function applies the Hebbian learning rule described above to the neural network connections based on the current inputs and desired outputs. weight change = learning constant * desired output * input value calculateError This function computes the root mean squared error of the networks learning each iteration and prints it to your serial monitor. This gives you a sense of how quickly the network is learning and provides a troubleshooting measure. The motor control functions are relatively self explanatory. Each motor has an enable pin and two direction pins that specify whether it is turning forward or backward; the motor commands set these three pins appropriately. motor1_forward, motor2_forward Enable the motor and set one direction pin high and the other low. motor1_backward, motor2_back ward Enable the motor and flip the direction pin bits to the reverse direction. motor1_stop, motor2_stop Set the enable pin low to disable the motor. Finally, lets look at the setup and main loop functions. setup Disable all the functions we are not using, print a Hello! message out the serial port, and turn on the status LED. This function helps us know that basic functions like pin I/O and serial transmission are working properly.
Microcontroller Implementation
In this example, we will create a breadboard prototype for a robot that learns to map sensor inputs to outputs for controlling motors. The program is split into two phases. First, the robot learns the input/output mappings you provide. Second, it begins a senseact cycle where it reads the values of its sensors, processes those through its neural network, and passes the output values to the inputs of an H-bridge for motion. At the end of this section, we will discuss how you could expand the example to create a robot that learns from supervised instructions received in real-time via a remote control. Circuit Wire up the PIC chip and MAX233 chip as usual (see July column for more detailed instructions and pictures). For my breadboard prototype, I just used four pushbutton switches to simulate thresholded proximity sensors. I connected the switches between the associated microcontroller pin and +5V and then connected pull-down resistors between that microcontroller pin and ground. For motors, I used two Solarbotics GM10 geared pager motors running at three volts DC. For wiring details, reference my schematic in Figure 1. Feel free to use whatever combination of sensors and motors/motor drivers you prefer; the point here is the learning algorithm not the hardware. Code The code (which you can download from the SERVO Magazine website at www.servomagazine. com) is broken down into three main sections: setup/main loop, learning, and motor commands. Lets look at
stimuli, such as the sound of a bell and receiving food. Hebbian learning is also used in more complex hybrid neural network models to simulate a variety of psychological conditions and principles. For more on this subject, check out Computational Explorations in Cognitive Neuroscience by Randall C. OReilly and Yuko Munakata (ISBN: 0-262-65054-1) and Neural Networks and Psychopathology by Dan J. Stein
BILL OF MATERIALS
Breadboard For microcontroller circuit: PIC16F877A microcontroller and programmer 20 MHz ceramic resonator with built-in capacitors (or equivalent) One pushbutton (for reset) One 10K resistor (for reset) One light emitting diode (status light) One 220 ohm resistor (for the LED) For serial communication: RS-232 level shifter (MAX233 or similar) 1 F capacitor (if using MAX233) Serial cable with receive pin available for breadboard use For input: Four one-bit digital input sensors, i.e., pushbutton/whisker switches, proximity detectors, etc., and coordinating circuitry For output: H-bridge chip for two motors, i.e., L293D Two motors Two capacitors Separate power supply for motors
70
SERVO 11.2007
DIFFERENT BITS
main First, we run the setup command. Second, we initialize the connections array with small floating point random weights. Third, the neural network goes through its learning phase which generally takes less than 50 iterations. It prints what iteration it is out the serial port and then randomly chooses an input set for training. It finds its activation, runs the learning function, and computes the current root mean squared error. When the learning phase is complete, the program switches to an infinite loop of sensing, processing the input array through the neural network, and activating the output motors. The public array outs[] holds the motor command outputs from the neural network. A value of +1 means motor forward, and a value of -1 means motor backward. After programming, you should see the following behavior from your circuit: 1) The status LED turns on and the Hello! message prints to your serial monitor. 2) Initial weight values print out the serial port. 3) Documentation of the learning process prints out showing you what iteration and error level the network is at. This completes almost too quickly for you to notice. 4) The motors will start turning forward and debugging information will print out the serial port telling you what input values are read and what output values are calculated. Evaluate the neural network. Test it by changing the sensor values and seeing how it responds. Does it act the way you taught it to? How does it respond to ambiguous input situations that you did not explicitly program in? Does it generalize well? able to generalize from what it has learned to gracefully handle new situations is great. But it would be nice if you didnt have to imagine a bunch of situations beforehand and program them explicitly. One solution I have imagined for this is using a remote control as an on-the-fly teacher for an embodied robot. The robot would start with the same randomly initialized neural network as in this program, but rather than defining a set of inputs and correct responses, the robot would go through a learning cycle every time it received a remote control instruction; the instructions would function as behavioral corrections. This is an appealing idea because it allows the robot to learn in a more natural way, similar to a pet. To implement this process, you just need to change the main function by deleting the learning phase and adjusting the loop to check for serial data after each move. If a command has been received, the robot adjusts its position and runs the learn function with the new information loaded. The learn function needs to be revised to calculate the delta value based on the actual output neuron values rather than desired values: delta = constant*(float) outs[k]* (float) ins[j]; And finally, I would include a serial interrupt function so that you dont have to lose instructions waiting for a byte that never arrives:
#int_rda void serial_isr() { cmd=getc(); putc(cmd); new=1; }
Have fun experimenting with these concepts! I would love to hear from any of you that attempt to implement or modify these algorithms in your own projects. If you want to share your successes (or frustrations) with me, drop me a line at heather@servo magazine.com. SV SERVO 11.2007
71
Insectronics
This complete project book delivers all the stepby-step plans you need to construct your own six-legged insect-like robot that walks and actually responds to its environment. Using inexpensive off-the-shelf parts hobbyists can build a better bug and at the same time have loads of fun honing their knowledge of mechanical construction, programming, microcontroller use, and artificial intelligence. $19.95
Pre-order before December 10th and get free shipping (U.S. Only) $24.95
2007 CD Rom
by Myke Predko
Order other CDs with your 2007 copy of SERVO or NV (of any combination) and pay only $21.95 each. Plus get the free shipping! All orders will ship mid December.
The fourth edition of this inventioninspiring engineering resource covers the past, present, and future of mechanisms and mechanical devices. Youll find drawings and descriptions of more than 2,000 components that have proven themselves over time and can be incorporated into the very latest mechanical, electromechanical, and mechatronic products and systems. Overviews of robotics, rapid prototyping, MEMS, and nanotechnology, along with tutorial chapters on the basics of mechanisms and motion control, will bring you up-to-speed quickly on these cutting-edge topics. $89.95
by Gordon McComb
This book looks at 30 different robot designs all based on the same chassis, and provides indepth information on the inspiration and the technology that went into build! NEW ing each of them. Each robot is featured in 6-8 pages providing readers with a solid understanding of how the robot was conceived and built. There are sketches, interim drawings, and process shots for each robot. $39.95
CNC Robotics gives you step-by-step, illustrated directions for designing, constructing, and testing a fully functional CNC robot that saves you 80 percent of the price of an off-the-shelf bot and that can be customized to suit your purposes exactly, because you designed it. Written by an accomplished workshop bot designer/builder, this book gives you everything you need. $34.95 We accept VISA, MC, AMEX, and DISCOVER Prices do not include shipping and may be subject to change.
by Geoff Williams
CNC Robotics
72
SERVO 11.2007
! NEW 7 0 N U J
The Ultimate Tool for MINDSTORMS Maniacs, the new MINDSTORMS kit has been updated to include a programming brick, USB cable, RJ11-like cables, motors, and sensors. This book updates the robotics information to be compatible with the new set and to show how sound, sight, touch, and distance issues are now dealt with. $39.95
Forbidden LEGO
Everybodys favorite amateur robotics book is bolder and better than ever and now features the fields 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. $27.95
by Dave Prochnow
Get your very own limited-edition SERVO Magazine T-shirt. Shirts come in sizes S, M, L, and are available in either black or white. All shirts are 100% preshrunk cotton. SERVO 11.2007
73
In a cyberpunk vision of the future, man has developed the technology to create replicants, human clones used to serve in the colonies outside Earth but with fixed lifespans. In Los Angeles, 2019, Deckard is a Blade Runner, a cop who specializes in terminating replicants. Directed by: Ridley Scott Rated: R Violence $19.95
A starship crew goes to investigate the silence of a planets colony only to find two survivors and a deadly secret that one of them has. Dr. Morbius and his daughter Altaira have somehow survived a hideous monster which roams the planet. Directed by: Fred M. Wilcox Run Time: 98 minutes $26.95
by Dave Prochnow
by Stan Gibilisco
by Edwin Wise YOU DON'T NEED ARTIFICIAL INTELLIGENCE TO LEARN ROBOTICS! Now anyone with an interest in robotics can gain a deeper understanding without formal training, unlimited time, or a genius IQ. In Robotics Demystified, expert robot builder and author Edwin Wise provides an effective and totally painless way to learn about the technologies used to build robots! $19.95 Sale Price $13.95 Pub Date October 20, 2004
Robotics Demystified
H-racer-and-Hydrogen-station
With this kit, you now can see and feel the future of energy generation in your own hands!
This is one good looking hat, with its stone washed blue cap and bright yellow/gold stitching. There's no better way to show everyone that you're well endowed with a bigger - than - average brain then by proudly displaying your affiliation with SERVO Magazine. $ 14.95* Recently named as one of the Best Inventions of 2006 by Time Magazine, the H-racer is now the best selling fuel cell product in the world. The H-racer is a micro-version of what engineers and scientists have been dreaming about for real cars: combining hydrogen with oxygen to generate a DC current to power an electric motor. Unlike a gas-powered car engine, the only byproducts of this electrochemical process are electricity, heat, and pure water. With the H-racer, you can witness the power of new energy technology in the palm of your hand. Horizon has created this unique, patented miniature fuel-cell car and hydrogen refueling station. All you need to do is add water. Only $115.00 plus S/H
74
SERVO 11.2007
Response: You are quite right in pointing out that traditional differentials use a twin axle, and that this does result in a more efficient transmission of power to the back wheels while the vehicle is turning. This is actually the way the new Vex differential kit is designed to be used, as it comes with all of the requisite components to build a diff just as you mentioned. Since we like to do things a bit differently, however, we chose to show how the parts could be used in another way and, as we stated in the article, the fixed diff is an old school strategy to maximize power transmission to the wheels while the vehicle is moving forward.The fixed diff does have the potential to pose serious problems for turning, but we think the slightly off-kilter geometry of the front end was the primary culprit as we drove the vehicle, we could see that it was the front wheels that were scrubbing and not the back wheels that were hopping.Thanks for reading! Bryce and Evan Woolley Dear SERVO: Alex Dirks of CrustCrawler wrote to you concerning what he felt were incorrect statements that I made in my July Then & Now column concerning servos used in many experimenters robots the types used with radio-controlled model airplanes to control various wing and rudder surfaces. He referred to the following statements that I made concerning their use with robot arms: 1) The advantage of using R/C servos is the positional feedback. 2) Potentiometric feedback, as in R/C servos, allows the controlling computer to know where each joint is positioned. Alex countered with the following: There are no feedback
THE OWNERSHIP, MANAGEMENT, AND CIRCULATION STATEMENT OF SERVO MAGAZINE, Publication Number: 1546-0592 is published monthly. Subscription price is $24.95. 7. The complete mailing address of known office of Publication is T&L Publications, Inc., 430 Princeland Ct., Corona,Riverside County, CA 92879-1300. Contact Person: Tracy Kerley. Telephone: (951) 371-8497. 8. Complete Mailing address of Headquarters or General Business Office of Publisher is T&L Publications, Inc., 430 Princeland Ct, Corona, CA 92879. 9. The names and addresses of the Publisher, and Associate Publisher are: Publisher, Larry Lemieux, 430 Princeland Ct., Corona, CA. 92879; Associate Publisher, Robin Lemieux, 430 Princeland Ct., Corona, CA 92879. 10. The names and addresses of stockholders holding one percent or more of the total amount of stock are: John Lemieux, 430 Princeland Ct., Corona, CA 92879; Larry Lemieux, 430 Princeland Ct., Corona, CA 92879; Audrey Lemieux, 430 Princeland Ct., Corona, CA 92879. 11. Known Bondholders, Morgagees, and other security holders: None. 12. Tax Status: Has not changed during preceding 12 months. 13. Publication Title: SERVO Magazine 14. Issue Date for Circulation Data: October 2006-September 2007. 15. The average number of copies of each issue during the proceeding twelve months is: A) Total number of copies printed (net press run); 11,581 B) Paid/Requested Circulation (1) Mailed Outside County subscriptions: 6,069 (2) Mailed In-County subscriptions: 0 (3) Paid Distribution Outside the Mail including Sales through dealers and carriers, street vendor, and counter sales and other paid distribution outside USPS: 1,644 (4) Paid Distribution by other classes of mail through the USPS: 0; C) Total Paid Distribution: 7,713; D) Free or Nominal Rate Distribution by mail and outside the mail (1) Free or Nominal Rate Outside-County Copies: 64 (2) Free or Nominal Rate In-County Copies: 0 (3) Free or Nominal Rate Copies Mailed at other classes through the USPS: 0 (4) Free or Nominal Rate Distribution Outside the mail: 898; E) Total Free or Nominal Rate Distribution: 962; F) Total Distribution: 8,675; G) Copies not distributed: 2,906; H) Total: 11,581; Percent paid circulation: 88.91%. Actual number of copies of the single issue published nearest the filing date is September 2007; A) Total number of copies printed (net press run) 10,544; B) Paid/Requested Circulation (1) Mailed Outside County subscriptions: 5,976 (2) Mailed In-County subscriptions: 0 (3) Paid Distribution Outside the Mail including Sales through dealers and carriers, street vendor, and counter sales and other paid distribution outside USPS: 1,575 (4) Paid Distribution by other classes of mail through the USPS: 0; C) Total Paid Distribution: 7,551; D) Free or Nominal Rate Distribution by mail and outside the mail (1) Free or Nominal Rate Outside-County Copies: 0 (2) Free or Nominal Rate InCounty Copies: 0 (3) Free or Nominal Rate Copies Mailed at other classes through the USPS: 0 (4) Free or Nominal Rate Distribution Outside the mail: 300; E) Total Free or Nominal Rate Distribution: 300; F) Total Distribution: 7,851; G) Copies not distributed: 2,693; H) Total: 10,544; Percent paid circulation: 96.18%. I certify that these statements are correct and complete. Larry Lemieux, Publisher - 9/28/07.
mechanisms built into ANY standard servo today with the exception of the AX-12+ and a few specialized servos used in biped type robots. I have since spoken with Alex on the subject and we see eye-to-eye. It turns out that we are both right. Here is a definition that I saw on the PC Magazine website: (a servo is) An electromechanical device that uses feedback to provide precise starts and stops for such functions as the motors on a tape drive or the moving of an access arm on a disk. By nature, a servo is a feedback device and it uses the internal pot to feedback positional data to the internal circuitry of the servo. Because of this feedback, the model aircraft servo will continually try to move the servos output shaft to the position that the external microcontroller requested, and will only stop trying when that point is reached. A stepper motor, by contrast, will receive a series of pulses to move a certain number of degrees, but may be jammed, and could stop at a point far from where the microcontroller requested it to be.This positional feedback is what I feel is an advantage over a stepper motor. Alex was correct in stating that a typical model airplane servo has no feedback to the outside world, including the controlling microcontroller. The new Robotis AX-12+ and a few high-end servos do, however, but not the typical hacked servo we read about. Tom Carroll
SERVO 11.2007
75
he winning entry for Freescale Semiconductors recent Black Widow $10,000 Design Challenge a myoelectric prosthetic hand is the product of a team of electrical engineering students from ITESO graduate school in Guadalajara, Mexico. This article, based on an interview with team members, introduces the concept of yoelectric control and offers insight into the challenges inherent in an expenseand time-limited robotics project.
Challenge considered entries on the basis of creativity, design efficiency, technical complexity, number of Freescale devices used, and overall application innovation and usefulness. The contest required entrants to incorporate the MC9S08QG, MC9S08QD, or MC9RS08KA families of microcontrollers in their design. While the ITESO team received $10,000 and considerable publicity, all entrants received free technical training and a discounted price for development tools supporting Freescales S08 eight-bit microcontrollers. Registration or the design challenge closed in April 2007, with more than 775 submissions. For details of contest rules and information on the next Black Widow Contest, see www.freescale.com/blackwidow.
Winning Design
The winning design shown in
PHOTO 2. Close-up of hand construction.
Photos 1 and 2 is a myoelectric prosthetic hand. The hand can open, close, and rotate clockwise and counterclockwise, as dictated by the user. The unique aspect of the design is the myoelectric control, which is based on electrical activity in the muscles in the forearm used for gross hand movement. Although the design could have relied on surface electrodes placed over the smaller muscles within the hand, using four pairs of electrodes over muscles of the forearm enables the robotic hand to be used by amputees. The front-end circuitry detects, amplifies, and conditions the myoelectric signals before analog-todigital conversion. The digital signals are then interpreted by the microcontroller, which controls the two motors in the hand. A pair of Freescale MC33887 H-bridges are used to drive the hand motors. Grip strength is controlled manually by a potentiometer, enabling the hand to apply appropriate force to the object being grasped. Total development cost for the hand was approximately $1,800.
Lessons Learned
According to the ITESO team leader, Alan Collins, the greatest challenges associated
76
SERVO 11.2007
with developing the prosthetic hand were limited time and team management. Time was limited because the students in the team all of whom were enrolled in a class in Biomedical Electronics were in their last semester of studies. Approximately three months were spent in design and development, with only one month for implementation and design changes. While working under the time constraints of a school semester were trying, the greatest hurdles were associated with project and team management. Team members had to put their individual egos aside, agree to a shared vision, and work as a true team instead of seven independent designers. In the end, this may have been more important than the specifics of the technology.
PHOTO 3. ITESO team members, left to right: Missael Maciel, Sergio Santana, Andres Alvarez, Alan Collins, Gabriel Herrera, Ramon Guillen, and Carlos Soto.
Winning Team
The winning team, a group of seven electrical engineering students from ITESO graduate school at the Universidad Jesuita de Guadalajara
(www.iteso.mx), is shown above in Photo 3. Alan Collins and Gabriel Herrera have recently graduated and formed a company (Nextia Embedded Systems) that specializes in medical systems (more specificly: embedded solutions for differently able people), including
design and development outsourcing services. For more information on the myoelectric hand or the new company, contact Alan Collins at led_cr@hotmail.com. Special thanks to Allie McCormick for arranging a telephone interview with Alan and Gabriel. SV
SERVO 11.2007
77
Then NOW
HUMANOID ROBOTS
b
n my many articles over the years, Ive managed to mention just a few tantalizing tidbits about the progress being made in humanoid robots, but have just categorized that information within the context of the particular article that I was writing. In June 06, I wrote about the development of walking robots in this column, however, humanoid form goes quite a bit beyond simple bipedal walking machines or even the addition of a head as the center of information-gathering sensors. The earliest robots were always anthropomorphic or man formed and the plays and movies from the beginning of last century depicted them in this way. Of course, a human was inside a robot suit so it was much easier to use an actor to give movement to a human-sized
FIGURE 1. Gort the robot and Klaatu the alien.
a n d
C
bipedal creature that to engineer the complex machinery required for the illusion. Gort from the classic 1951 sci-fi film The Day the Earth Stood Still (DVD available in Nuts & Volts webstore for $14.95; www.nutsvolts.com) was actually Lock Martin, a very tall doorman recruited from Graumans Chinese Theater in Hollywood, CA (see Figure 1). The rubber Gort suit was so uncomfortable that Martin could only stand it for 30 minutes at a time and it was so restrictive to his movements that he could not pick up the actors that he was seen to carry about. Wires and moveable stands were used to support the people out of sight of the camera. As an active scuba diver in the 60s and 70s, I can just imagine how uncomfortable a rubber suit could be after standing in the sun with a wet suit
FIGURE 2. Maria, the robot in Metropolis.
on after a dive. Im not sure if it was any more comfortable than the Maria suit worn by actress Brigitte Helm in the earlier classic movie Metropolis, filmed in 1927 (see Figure 2). Much later, Star Wars producer George Lucas used diminutive actor, Kenny Baker crammed inside the body of R2D2 in 1977 (and all later sequels) to give life to the robot, as mechanisms of the day could not produce the rocking motion and give movement to all of its many functions. Actor Anthony Daniels was similarly stuffed into a gold robot suit not too unlike the Maria costume of a half century earlier to give motion to C-3PO. In peoples minds decades ago, most robots had to look like bipedal humanoids and the only way to animate these robots was to place a human inside a robot suit. The cute little beeping, rolling trashcan-looking R2D2 was the exception to the humanoid appearance.
Why Humanoids?
What is the draw for experimenters to build a humanoid robot rather that a wheeled machine? They are more expensive to construct, especially if the designer uses a pair of legs for propulsion instead of wheels. They are more unstable and can be easily tipped over, either accidentally or on purpose. Reliability is another factor; one bad leg joint or actuator out of many and the robot is out of commission. Ive followed a series of postings on the Seattle Robotics Societys website (www.seattlerobotics.org) entitled Legs not Wheels for over a month.
78
SERVO 11.2007
There are strong feelings for both types of robots and the reasoning is sound for both camps. If you want to showcase your robotics talents, your biped humanoid robot walking across a table and taking a bow is certainly a great way to add a feather to your hat. Coolness comes up strong as a reason for experimenters to want to build legged robots, especially bipedal robots. They just reek of coolness. Plus, humanoids look like the creatures we are most familiar with us. Another strong point for humanoid robots is the technical challenge required to design and build a humanoid robot. A designer of humanoids just doesnt make two legs cycle one in front of the other. He must take into consideration the center of gravity and balance, natural resonance of the mechanisms involved, foot design, kinematics, synchronizing all of the joints and actuators, hip and upper body position, and a multitude of other factors. The builder must also take into account just where the robot will be used outside, indoors, on a table, in a competition, or all of the above. Statically stable gaits have been the easiest for bipedal robot builders to achieve, though a few experimenters have built running robots. We must remember, however, that many large companies have investigated walking robots as a natural way for a machine to traverse a specific area, and have found out that legs are better for certain tasks, while other applications work better with wheels. General Electric built several large walking robots that ended up with no application, yet Boston Dynamics built the Big Dog robot that just might make it onto the battlefield in the near future.
Mellon University had developed some amazing one-legged walkers, but the very expensive Asimo gave the worlds robot experimenters the unofficial goahead to develop their own creations. Human-sized humanoid robots proved to be quite expensive to develop due to the many DOF (degrees of freedom) or axes of motion required to approximate human leg, body, and arm motions, so small humanoid walkers became very popular. Quadruped and hexapod robots had been the walker of choice for decades among robot experimenters. The availability of numerous types of model aircraft servos as the drive source for each axis of the legs became the final solution for the potential humanoid robot designer. These servos were as cheap as $10-$15 per axis so the transition to a bipedal humanoid from the small table-top wheeled robot was a bit easier.
he worked with NASA, JPL Labs, and DARPA to develop energy efficient robots for space and other harsh environments. He formed his own company to sell his very unique creatures and then joined with WowWee Toys to sell his most noteworthy creation, the Robosapiens and its offshoot creations. Robosapiens make an ideal first robot for those interested in humanoid designs. It comes ready to roll right out of the box and is priced as low as $100, with later improved models under $200. The cost is low, not only because of the mass production in Asia but the simplistic mechanical design that makes use of just a few motors to perform many degrees of freedom motion to the arms and legs, much the same as the old Armatron robot arm. Tildens humanoid robot can walk at two different speeds, turn, dance, and has two types of grippers (it reminds me of a robot lobster, in a way). It also has various sound effects (one is a caveman type of speech) and 67 pre-programmed functions.
FIGURE 4. V2 Robosapiens.
SERVO 11.2007
79
expensive Dynamixel RX-28 and RX-64 smart actuators, costing $200 and $285 respectively, are significantly more sophisticated in their onboard intelligence and torque. For the serious humanoid designer, they are worth the money and are available at CrustCrawler (www. crustcrawler.com) and other SERVO advertisers. Humanoids can be expensive and complex to construct; it really depends on your design and budget limits.
Humanoid Kits
Many experimenters opt to start from scratch, but many types of kits are available. The Hitec ROBONOVA-I was designed as a kit but is also available pre-assembled (see Figure 6). Designed for educators, students, and hobbyists, the $899 ROBONOVA-I can walk, run, do flips and cartwheels, and even dance. It can be assembled in six to eight hours with just a screwdriver. The robot derives its individual joint movements from 16 Hitec HSR-8498HB digital servos designed specifically for this robot. They feature over-voltage and current protection, have tough Karbonite gear trains, and are touted to be easily programmed with the feedback capability. The ROBONOVA-I can be modified with additional servos, optional gyros, accelerometers, speech synthesizers, and even Bluetooth and R/C transmitters and receivers. At a shade under $1,400, the Futaba RBT-1 is a bit more expensive experimenters humanoid robot (see Figure 7). It tips the scales at about 900 grams and is 10 tall, but has 20 small servos, 11 of which are the Futaba RS301CR high torque metal gear servos for the leg movements, and nine lightweight RS302CD servos for the upper body. A three-axis accelerometer system allows the robot to sense motions, falling, etc., and it knows when to pick itself up after a fall. The robots RPU-11 controller contains an ATmega 128 CPU that interfaces with the various robot systems with an RS-485 internal link and an RS-232C interface to talk with an external Windows PC, or through a 2.4 GHz wireless controller. This little guy has a lot of degrees of freedom and should offer the serious experimenter a sophisticated research platform. The third humanoid robot kit that
Robosapien can be programmed by remote control with up to 84 program steps. The second, more expensive and larger V2 (24 tall) model has a color vision system that recognizes colors and interacts with people, can track objects, and avoid obstacles (see Figure 4). It has true bi-pedal walking with multiple gaits, can lie down and get up, and has fairly articulate hands that can grasp objects with articulated fingers. The latest Robosapien RS Media is an even more advanced robot than the V2 version (see Figure 5).
FIGURE 7. Futaba RBT-1.
80
SERVO 11.2007
Id like to discuss is the $899 Robotis Bioloid Comprehensive Kit that can be used to construct over 26 robots, including a pretty sophisticated humanoid robot (see Figure 8). What makes this kit so appealing to me is that the kit contains 18 of the Dynamixel AX-12+ smart actuators that total out to over $800 alone if purchased separately. This kit is great for learning humanoid dynamics as the included software, controller, AX-S1 sensor module, battery, and charger, plus the many types of quality industrial plastic structural components allow one to make some amazing things.
features and subtle muscle movements I would be remiss if I didnt menare extremely difficult to produce, but tion the spectacular lifelike humanoid this is what draws Hanson to the task. robots created by David Hanson. David The Einstein robot head is actuated Hanson has produced a unique style of by 33 servo motors and related linkages, humanoid that very few other robot and requires just 10W of power at 6V to builders have yet to do. The faces of his achieve its full range of expressions. robots mimic the appearance and movePeople have compared his creations to the ments of a real human face. Outside of many animatronic displays at Disneyland a few robotic mannequins produced in and other theme parks. They require many Asia, virtually all humanoid robots still kilowatts of electric power and even have abstract faces and expressions. hidden hydraulic and pneumatic power People have found that realistic sources to operate. The Abraham Lincoln human facial features rendered on exhibit is a great example. Created robotic faces are pretty much creepy. decades ago, it was quite lifelike but had Thats a view I completely reject. We many motors, linkages, and power are naturally attracted to faces and sources under the stage which were fed gestures, says Hanson, president of through Lincolns feet (see Figure 11). Hanson Robotics, Inc. Robots dont Hanson is convinced that the major just have to make the right expression, contributor to the success of his robots is they have to make the right expression the special skin that he has developed. His at precisely the right time, he says. Frubber a patented silicone elastomer Hanson began his interest in realistic whose mechanical properties allow the robot faces when he studied art at the complex facial movements is a foamed Rhode Island School of Design and later platinum-based elastomer that contains received a Ph.D. in Interactive Arts and up to 70 percent air by volume. The Engineering from the University of Texas. control of the size and distribution of the His well-known renderings of Albert Einsteins head applied to a FIGURE 11. Abraham Lincoln animatronic figure. Korean-designed humanoid robot is a bit on the creepy side (see Figure 9). I found his rendering of Sci-Fi writer, Philip K. Dick (see Figure 10) absolutely amazing as it displays many thousands of nuanced, believable facial expressions. Many people steer clear of very realistic human faces on humanoid robots as the facial
open and closed air cells in the Frubber skin is what allows it to move much like human skin. The fact that it can be moved by small servos with little FIGURE 10. force makes it use- Hansons Philip K. Dick robot head. ful for humanoid robot faces. It is so flexible that it can be stretched as much as 900%, though damage may occur beyond 450% stretching. Figure 12 illustrates how Hanson has mimicked human facial expressions with his Frubber-based robot faces. Hanson is working with well-known Japanese robot designer, Tomotaka Takahashi to produce RoboKind, a robot
FIGURE 12. Photo by Chris Buck of Hansons robots facial expressions.
SERVO 11.2007
81
that will be 14 inches tall with a body designed by Takahashi and a head designed by Hanson. These cartoon-like robots will be able to walk around and offer a range of facial expressions. Biped robots arent that unusual in Japan. There are even soccer matches for them, says Hanson. But our new robot will be the only one capable of complex facial expressions. A limited edition version of the new robot will sell for about $10,000
and a standard model will cost about $3,000. Hanson is also studying many other more efficient power sources for the appendages and facial movements of his humanoids. He feels that humanoids are the ideal robot design to interact with people. As with all my articles, I have only scratched the surface of the many technologies that I discuss. The vast potential of humanoid robots is just beginning. It is you the readers of this magazine who
will forge those steps to finally produce that one humanoid who will be indistinguishable from a human being. Maybe not in our lifetime, but there will be humanoids that can stand beside us and be the robotic equivalent of Turings Test for AI. Meanwhile, go to the various manufacturers such as CrustCrawler, Trossen Robotics, Lynxmotion, or Robotis to see what is already available. Buy a kit or ready-made robot, modify it, and then create your own. Take that giant step. SV
Advertiser Index
Active Robots .............................................3 All Electronics Corp. ..........................31, 46 AP Circuits/e-pcb.com ............................60 AWIT ..........................................................46 CrustCrawler .............................................13 Electronics123 ..........................................31 Floatation Center Art Gallery ..............77 Futurlec .....................................................46 Gears Educational Systems, LLC .............61 Hitec ..........................................................16 Hobby Engineering .................................46 Images Co. ................................................46 IMService ............................................31, 46 Jameco .................................................2, 46 Lorax Works ........................................31, 46 Lynxmotion, Inc. .......................................19 Maxbotix ...................................................46 Maximum Robotics ............................20, 46 Net Media .................................................83 Parallax, Inc. ...............................Back Cover PCB Pool .............................................46, 55 Pololu Robotics & Electronics ..........21, 46 Robotis Co. Ltd. ..........................................7 Robot Power ............................................66 RobotShop, Inc. .................................46, 82 Schmartboard .....................................31, 75 SCON .........................................................31 Solarbotics/HVW .......................................9 SORC ..........................................................60 SPSU ...........................................................17 Technological Arts ...................................46 TORMACH .................................................12 Vantec .......................................................66 Yost Engineering .......................................71
82
SERVO 11.2007