Magnetic Encoder Actuator Series For decades, our talented team of engineers has been defining and developing advancements in actuator technology. The Magnetic Encoder Series, for instance, boasts industrial-strength gears with heavy-duty, long-life motors and PWM, TTL standard or optional RS-485 protocol capabilities. Available in a wide range of sizes with highresolution, 32-bit programmable digital circuits, Hitec Commercial Solutions actuators meet the most rigorous demands for a plethora of commercial applications. Inquire about our customization and modification options, tailor-made for your specific projects. • Magnetic Encoder Position Sensors • Wide Voltage Operation • High-Resolution Programmability
• Sizes Ranging From 13mm ~ 33mm • Precise Repeatability • Customization Options Available
Servo Actuator Engineering Reimagined Hitec Commercial Solutions, Inc. | 12115 Paine St., Poway, CA 92064 | (858) 748-6948 | www.hitecnology.com
Full Page.indd 2
12/4/2017 8:26:19 PM
SERVO MAGAZINE ... Paving the way for the next generation of Robotics Experimenters!
GAZINE SERVO MAGAZINE SERVO M SERVO MAGAZINE SERVO MAGAZIN ERVO MAGAZINE SERVO MAGAZINE GAZINE SERVO MAGAZINE SERVO M SERVO MAGAZINE SERVO MAGAZIN ERVO MAGAZINE SERVO MAGAZINE GAZINE SERVO MAGAZINE SERVO M SERVO MAGAZINE SERVO MAGAZIN ERVO MAGAZINE SERVO MAGAZINE GAZINE SERVO MAGAZINE SERVO M SERVO MAGAZINE SERVO MAGAZIN SV Sub Ad.indd 3
12/4/2017 9:09:22 PM
TOC - Jan 18_TOC SV Mar 15.qxd 12/5/2017 6:10 AM Page 4
01.2018 VOL. 16 NO. 01 Subscription Information SERVO Magazine — PO Box 15277 North Hollywood, CA 91615-9218 Call 877-525-2539 or go to www.servomagazine.com Subscribe • Gift • Renewal • Change of Info For more details on subscribing, see our ad on Page 3.
PAGE 08
PAGE 60
The Combat Zone 20 GlitterBomb: The Greatest Robot We’ve Never Fought
23 Auckland University Robotics Association Holds Inaugural Competition
24 More than Fun and Games: Serious Lessons from a Work Party
26 Boomzilla
Departments 06 Mind/Iron Robot Lies
07 Events Calendar 18 New Products
32 50 65 66
Showcase SERVO Webstore RoboLinks Advertiser’s Index
16 Bots in Brief • Pick-and-Place for Groceries • Atlas has Flipped • Going Soft is Stronger • Baby Bot?
SERVO Magazine (ISSN 1546-0592/CDN Pub Agree#40702530) is published monthly for $26.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
4
SERVO 01.2018
TOC - Jan 18_TOC SV Mar 15.qxd 12/5/2017 6:10 AM Page 5
In This Issue ... 08 Robytes Stimulating Robot Tidbits by Jeff and Jenn Eckert • Things Looking Up for Assemblers • Man vs. Moto • Robot Drive Innovation • Win Big Bucks! • Say “Cheese”
11 Drone Delivery — Part 2
52 Helping Educators Teach Robotics by Ken Gracey Appetizer: Guest-hosted column with different perspectives and opinions on all things robotic. Celebrating their 20th year in education, Parallax is making a much deeper commitment in 2018 with free Professional Development courses for up to 500 educators in 12 locations across the US.
The Multi-Rotor Hobbyist by John Leeman Last month, we gave our drone hands with a servo controller gripper. We could fly around and drop off packages on command, but I’m a big fan of automation. It was hard to judge when I was in the vicinity where I wanted to open the gripper. This month, we’ll experiment with adding GPS into the system to automatically open the gripper when we are within range of our target.
54 New Kids on the ServoBlock
28 A Time to Plow
Handle Food
by Elyse Colihan For the past seven years, robotics teams from all over the United States and Canada have been travelling to Saint Paul, MN during the brutal Minnesota winter to showcase their creation of autonomous vehicles able to plow snow from designated paths.
Then & Now: Advances in robotics from the past up through today. by Tom Carroll One task that seems to take a lot of time is cooking and handling foods. Automation and the application of robotic operations is quickly becoming a viable option for those in the food industry.
Twin Tweaks: Twin brothers hack whatever’s put in front of them, then tell you about it. by Bryce and Evan Woolley See how to supercharge your standard servos so they can better handle significant lateral loads.
60 Robots that Cook and
34 Make a Splash with an Underwater Quadcopter ROV by Theron Wierenga We’ll continue and complete this fun robotic underwater remotely operated vehicle with a description of the PCB. We’ll also tidy up the circuit and minimize the length of the signal lines.
42 RobotBASIC Robots for Beginners by John Blankenship Readers that have never built a robot often find the lowlevel programming needed to control motors and interrogate sensors to be intimidating. This final article in a two-part series shows how easy it is to add sensors to the inexpensive motorized platforms developed last month.
46 Neato + ROS = Robot Navigation by Camp Peavy As difficult as robot navigation can be, it has never been easier to give your automaton the ability to know where it is.
PAGE 11 SERVO 01.2018
5
Bergeron - Mind-Iron - Jan 18_Mind-Iron - Feb15.qxd 12/6/2017 10:13 AM Page 6
Mind / Iron by Bryan Bergeron, Editor ª
Robot Lies
S
oftware chatbots and more recently real robots can be programmed and even self-evolve to lie. As such, just as with humanhuman conversations, humanmachine interactions aren’t necessarily informative, helpful, or even fact-based. That said, sometimes lying is necessary. Imagine the difficulty you’d have if your chatbot assistant is incapable of saying you’re away from your desk when you simply don’t want to be disturbed. Or, when the AI assistant in an intelligent tutoring program says that you’re “doing great” when, in fact, you are bombing a course. Or, when a medical robot about to give an injection with a long largebore needle announces “Now, this won’t hurt a bit.” As a point of reference — even if only in science fiction — where does lying (or not) fit in with Asimov’s three laws? If you recall: I. A robot may not injure a human being or, through inaction, allow a human being to come to harm. II. A robot must obey orders given it by human beings except where such orders would conflict with the First Law. III. A robot must protect its own existence, as long as such protection does not conflict with the First or Second Law. Clearly, a chatbot that lies may cause injury to a human, thereby violating the First Law. Similarly, a chatbot may affirm that an order was carried out when it — in fact — wasn’t, thereby violating the Second
6
SERVO 01.2018
Law. Finally, a chatbot that lies may violate the Third Law, depending on the nature of the lie. A white lie, for example, would likely not violate the law. Science fiction aside, there are myriad moral, ethical, and — most importantly — legal issues surrounding chatbots and robots that lie. What should be the consequences, for example, when an Alexa-like chatbot announces “Your order is shipping now,” when — in reality — the product you ordered online is backordered a few days? True, the chatbot is responding faithfully to orders from the other online vendor, but in so doing, is lying to the customer. What if this behavior isn’t programmed by the vendor, but selfevolves through machine learning? Is the creator of the algorithm legally at fault? Humans lie to save face, to smooth negotiations, and even to provide better outcomes for all parties. For example, regardless of how terrible the surgery is going, when physicians around the operating table repeatedly congratulate each other on the success of their surgery, the patient does better. Apparently, the subconscious of the anesthetized patient responds positively to the good news. I suspect that the same positive banter would be helpful during robotic surgery, even if between two surgical robots, or a surgical robot and a support robot. To my knowledge, this hasn’t been put to practice, and robotic surgery tends to be cold, sterile, and silent. Clearly, there’s room for experimentation.
FOR THE ROBOT INNOVATOR
ERVO
Published Monthly By T & L Publications, Inc. 430 Princeland Ct., Corona, CA 92879-1300 (951) 371-8497 FAX (951) 371-3052 Webstore Only 1-800-783-4624 www.servomagazine.com Subscriptions Toll Free 1-877-525-2539 Outside US 1-818-487-4545 P.O. Box 15277, N. Hollywood, CA 91615 PUBLISHER Larry Lemieux publisher@servomagazine.com ASSOCIATE PUBLISHER/ ADVERTISING SALES Robin Lemieux robin@servomagazine.com EDITOR Bryan Bergeron techedit-servo@yahoo.com CONTRIBUTING EDITORS Tom Carroll Kevin Berry R. Steven Rainwater John Leeman John Blankenship Theron Wierenga Bryce Woolley Evan Woolley Jeff Eckert Jenn Eckert Ken Gracey Camp Peavy Elyse Colihan April Baker James Baker Max Gruebner Don Miles Aaron Nielsen Chris Seyfert CIRCULATION DEPARTMENT subscribe@servomagazine.com WEBSTORE MARKETING COVER GRAPHICS Brian Kirkpatrick sales@servomagazine.com WEBSTORE MANAGER/ PRODUCTION Sean Lemieux sean@servomagazine.com ADMINISTRATIVE STAFF Re Gandara Copyright 2018 by T & L Publications, Inc. All Rights Reserved All advertising is subject to publisher’s approval. We are not responsible for mistakes, misprints, or typographical errors. SERVO Magazine assumes no responsibility for the availability or condition of advertised items or for the honesty of the advertiser. The publisher makes no claims for the legality of any item advertised in SERVO. This is the sole responsibility of the advertiser. Advertisers and their agencies agree to indemnify and protect the publisher from any and all claims, action, or expense arising from advertising placed in SERVO. Please send all editorial correspondence, UPS, overnight mail, and artwork to: 430 Princeland Court, Corona, CA 92879.
Bergeron - Mind-Iron - Jan 18_Mind-Iron - Feb15.qxd 12/5/2017 6:12 AM Page 7
Perhaps my opinion is skewed by Hollywood, but in my mind a robot incapable of lying and deceiving humans is also incapable of true AI. Think of the robots in the Alien series, or the David robot in Prometheus. The robots are capable of lying and deception — capabilities that make them seem human.
If you’re new to chatbots, then a good place to start is the Chatbots Journal — especially the article on chatbot platforms, including open source platforms that are perfect for experimentation. Go to https://chatbotsjournal.com/ 25-chatbot-platforms-a-comparative-table-aeefc932eaff. SV
EVENTS JANUARY
www.aaai.org/Conferences/conferences.php
19-21 Robotix IIT Khargpur, West Bengal, India Events include Stax, Fortress, Antivirus, and PolesApart. www.robotix.in 24-25 Singapore Robotic Games Republic of Singapore Events include Sumo, Legged Robot Marathon, Picomouse, Underwater Robot Competition, Robot Colony, Wall Climbing Robot Race, Robot Soccer, and Humanoid Robot Competition. http://guppy.mpe.nus.edu.sg/srg
MARCH 9-10
Greater Philadelphia SeaPerch Challenge Temple University, Philadelphia, PA Tethered underwater ROV missions. www.phillynavalstem.com
9-10
Midwestern Robotics Design Competition University of Illinois at Urbana-Champaign, IL See website for this years event information. http://mrdc.ec.illinois.edu
25-28 ION Autonomous Snowplow Competition St. Paul, MN Autonomous snowplow robots must remove snow on a designated path. www.autosnowplow.com 31
Kurukshetra Guindy, Chennai, India See website for this year’s event information. www.kurukshetra.org.in
smallmachine BIGRESULTS
FEBRUARY 2-7
AAAI Mobile Robot Competition New Orleans, LA See website for this year’s event information. CNC Mill Starting at:
$4950
x
Design New Ideas
x
Prototype Without the Wait
x
Cut Real Metal
x
120VAC - Plug in Anywhere
TORMACH.COM SERVO 01.2018
7
Eckert - Robytes - Jan 18_Robytes - Sep 15.qxd 12/5/2017 6:14 AM Page 8
Robytes by Jeff and Jenn Eckert Things Looking Up for Assemblers Several robotics companies have made remarkable progress in developing exoskeletons that enable paralyzed people to walk and otherwise function again, and some DARPA research back in the early 2000s looked into the use of full-body exoskeletons by soldiers who must carry heavy loads. Now it looks like workers in factory assembly lines may finally be getting a break. In a pilot project, Ekso Bionics (eksobionics.com) and Ford Motor Company (www.ford.com) are testing Ekso’s EksoVest upper-body apparatus in its truck assembly plants. According to Ford, some of the assemblers who work on chassis that are suspended above them must lift their arms about 4,600 times per day, which adds up to about a million times per year. This creates considerable back and shoulder pain. Ekso notes that, on average, a worker extends about 15 lb per arm in upward pressure, so the EksoVest is designed to “take that 30 lb of upward force and transfer it down to the user’s hips.” The most remarkable part is that the vest is completely unpowered.
Man vs. Moto If you’re a motorcycle racing fan, you probably are familiar with Valentino Rossi, an Italian racing pro. If not, be advised that he is one of the most successful road racers of all time and has won nine Grand Prix World Championships, seven in the Premier class, and holds the all-time record for 500 cc/MotoGP wins (89). Competing with him on the track would appear to be an impossible challenge for a mechanical device, but, as the song says, “It ain’t necessarily so.” In 2015, Yamaha (www.yamahamotorsports.com) initiated the Motobot program with the fairly modest aim of creating a robot cyclist that could reach a straight-line speed of 100 KPH (62 MPH), navigate a slalom course, and
8
SERVO 01.2018
A Ford assembly worker employs the EksoVest device.
“There are no batteries to deal with, no sensors. The EksoVest just cancels out the effect of gravity” to reduce strain and fatigue. Ford intends to expand the trial into factories in Europe and Latin America as well.
turn corners. Far exceeding these goals, Motobot achieved a top speed of 229 KPH (142 MPH) last year. On top of that, it lapped the track at California’s Thunderhill Raceway (www.thunderhill.com) a mere 30 seconds behind the record time set by the aforementioned Sig. Rossi. A fairly comfortable margin, yes, but Valentino would be well advised to keep looking over his shoulder.
Motobot has achieved track speeds up to 142 MPH.
Eckert - Robytes - Jan 18_Robytes - Sep 15.qxd 12/5/2017 6:14 AM Page 9
Go to www.servomagazine.com/index.php/magazine/issue/2018/01 to comment on these topics.
Robot Drive Innovation A fairly common drive mechanism used in robotic and aerospace applications is the Harmonic Drive®: a strain wave gear trademarked by the Harmonic Drive Company (www.hds.co.jp). Unfortunately, at a basic price of €1000 (about $1,180) each, the device is beyond the budget of most roboticists in home workshops, as well as in many industrial endeavors. However, a revolutionary (pun intended) prototype developed by SRI International (www.sri.com) is expected to be far cheaper and energy efficient. The company describes its newly introduced Inception Drive as “an ultra-compact, infinitely variable transmission based on a novel nested-pulley configuration ... It is small enough to replace fixed ratio transmissions in robots, where we believe it can cut the energy consumption of many robotic platforms in half, doubling battery life for mobile platforms.” In addition to being infinitely variable (i.e., it has a
“geared neutral” mode in which it would take an infinite number of input revolutions to cause one output revolution), the transmission can actually reverse itself without reversing the motion of the input motor. SRI’s explanation of how it works will probably leave you scratching your head and muttering, “Huh?” If you watch a YouTube presentation by SRI’s Alexander Kernbaum several times (www.youtube.com/watch?v=0uSUrcRsyw), you may be less confused. But maybe not. Several details still remain to be worked out before a marketable product emerges, but the device has the potential to make robots safer, cheaper, and more energy efficient.
SRI’s infinitely variable Inception Drive.
Win Big Bucks! If your robot project is capable of slinging a paintbrush, note that you still have until April 1 to register your team for the 2018 Robot Art competition, with $100k of prizes available. Anyone can enter, and the stated goals are to “foster innovation in AI, image processing, and robotics; challenge students to apply skills in creative ways; integrate aesthetics and technology; and encourage participation by the public.” Of course, the prizes — ranging from $2k to $40k — are what matter. For details, visit robotart.org/rulesinformation. 2017 first-prize winner, “House,” by Columbia University’s Creative Machines Lab.
SERVO 01.2018
9
Eckert - Robytes - Jan 18_Robytes - Sep 15.qxd 12/5/2017 6:14 AM Page 10
Say “Cheese” This issue’s Cheesiest Robot Award (yeah, pun intended again) goes to the School of Food and Nutritional Sciences at the University of College Cork, Ireland (www.ucc.ie/en/fns). Thanks to research conducted by two UCC profs (names withheld to avoid shaming their families) and three visiting (no surprise here) French undergrads, spray cheese may finally emerge from the dark shadows of révulsif cuisine into the glow of marginal acceptability. As described in an issue of Journal of Food Engineering, these pioneers of the palette have combined computer algorithms with a 3D printing device to enable creative robotic deposition of Easy Cheese®: a cheese spread product revered by small children and Milwaukee’s Best drinkers. In initial stages of the project, many different cheese types were tested, but processed cheese was found to work best. Alas, some of your favorite gourmet flavors have been discontinued, including Pimento, French Onion, Cheddar Blue Cheese, Pizza, and (no kidding) Shrimp Cocktail. But now, you’ll be able to automatically endow your Ritz with beautiful aerosoldriven globs of milk, water, whey protein concentrate, canola oil, milk protein concentrate, sodium citrate, sodium phosphate, calcium phosphate, lactic acid, sorbic acid, sodium alginate, apocarotenal, annatto, cheese culture, and enzymes without so much as picking up a can. Bon appétit, mon amie! SV
UCC device automates spray cheese deposition.
Make your machine move MICRO LINEAR SERVOS · 10mm-300mm stroke · 25kg+ available force · 6v-12v power supply · 15g-100g net weight ACTUONIX . COM
10
SERVO 01.2018
Leeman - Multi-Rotor Hobbyist - Jan 18_Blank Rough SV.qxd 12/5/2017 6:16 AM Page 11
Drone Delivery — Part 2 By John Leeman
Last month, we gave our drone hands with a servo controller gripper. We could fly around and drop off packages on command, but I’m a big fan of automation. It was hard to judge when I was in the vicinity where I wanted to open the gripper. This month, we’ll experiment with adding GPS into the system to automatically open the gripper when we are within range of our target. It’s a good opportunity to get more familiar with the TinyGPS++ Arduino library and see just how well we can position the drops.
Introduction When considering how to approach this problem, I was very tempted to try to tie the drop functionality into the flight controller. However, that is flight controller specific (limiting how many of you can reuse this project), and it’s generally more of a burden to make sure we don’t accidently crash ourselves. So, similar to the IR temperature logging project, we’ll create a separate sub-system. Though I would like to change to a mantis type gripper, I’m going to stick with the gripper design we printed and installed last month (Figure 1). While not as strong as I’d like, it does the job for this simple application. If you haven’t added a gripper to your quad yet, refer back to that article and decide for yourself which design you’d like to use. On an initial glance, this seems like a rather trivial problem. Close the gripper. Check the GPS position. When it’s equal to our desired drop location, open the gripper. Easy, right? Not exactly. There are a lot of subtleties in a problem like this (for example, any time there is a floating-point equality comparison, it’s time to think carefully about what is happening). We’ll knock down these issues one by one until we’ve got a reliable and useful GPS triggering device that can operate our manipulator.
GPS Basics Last time we used GPS, I glossed over the details by saying it was very sophisticated, a marvel of technology, etc., but since libraries and devices were out there to make it easy, we’d skip the details. While we’re still not going to go deep into GPS technology, I would like to cover a bit about how it works so we can understand some of the error sources we’ll need to deal with. When we say GPS, we are generally referring to satellite based geo-location, but GPS (Global Positioning System) is really just the name of the American location satellite system. There are other systems such as the Russian GLObal Navigation Satellite System (GLONASS), the European Galileo system, China’s BeiDou, India’s Indian
Figure 1: Our gripper from last month, mounted onto the Parallax ELEV-8 quad.
Regional Navigation Satellite System (IRNSS), and Japan’s Quasi-Zenith system. The general concept of satellite location is that a ground receiver can receive coded packets from multiple satellites. Each satellite can constrain the problem of location and timing until the approximate location and time are found. Given that there are four unknowns (latitude, longitude, elevation, time), there is a minimum of four satellites required for location. SERVO 01.2018
11
Leeman - Multi-Rotor Hobbyist - Jan 18_Blank Rough SV.qxd 12/5/2017 6:16 AM Page 12
To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.
with two floating point numbers. Because of the way floating point numbers are represented in a binary system, this is almost surely destined to fail us. The common approach is to see if the numbers are “close” to some specified precision; say, six decimal places for crude applications. While we could implement such a close to or equal to check, we would still be battling the precision issue. Okay. Let’s try specifying a tolerance. If we’re within 0.001 degrees latitude and longitude of the target point, drop. That seems reasonable until we look at the Figure 2: GPS modules like this are cheaply and easily available, and provide geometry of the globe and lines of latitude amazing timing and location accuracy for drone projects. and longitude. Assuming a spherical globe, there is a distance of 111.2 km between each line of latitude on the globe. At the equator, one To effectively solve the equations, each packet contains degree of longitude is 111.2 km. As we follow lines of the time of transmission (according to atomic clocks on the longitude to the poles, they converge; meaning that at 89 satellites), the satellite’s position in space, and a degrees latitude, the distance covered by one degree of pseudorandom code used to find the time of arrival. longitude is only 1.941 km. That means that using our Satellite position is given as an ephemeris tolerance of 0.001 degrees makes the drop point location (https://en.wikipedia.org/wiki/Ephemeris). The wiggle room vary from 111 m at the equator to 1.9 m at encoding of the timing is beyond the scope of this article, 89 N latitude! That’s not good because we want to specify but from this information the location and time can be a tolerance that is location invariant. solved for with surprising accuracy. Enter the haversine formula! This formula allows us to Handheld consumer grade GPS receivers that sell for calculate the distance between two coordinates; so, we can $15 in single piece quantities can find your position to specify a tolerance of 10 meters. Plus, it’s the same distance within ±3 meters (Figure 2) with no external information, everywhere on the spherical Earth. Internet, monthly fees, or other limitations. Amazing! The haversine formula is really a specific application of This brings us to our first problem. Say we want to the law of haversines in the weird world of spherical drop our payload at 40.234 N, 130.234W. The naïve way to trigonometry. If we know the radius of the Earth (r), the code this would be: latitudes of the points 1 and 2 (ji), and longitude of the if (current_lat == target_lat && current_long points (li), we can calculate the distance between them (d) == target_long){ as: drop_payload(); }
d = 2 r sin-1
If you were to try such a snippet, you’d find that the payload is very likely to never drop at all. This is due to the precision of the measurement and the fact that equality checks on floating point values are problematic at best. First, the precision issue. If you specify a certain set of drop coordinates and sit exactly on those coordinates, it is unlikely that the GPS will show those exact numbers. (How far down can you trust the position estimate? Three meters is the best on most non-differential GPS units!) If you leave the GPS in one position and watch the position estimates, you can get an idea of what to expect. While this may seem “inaccurate,” remember that at 300 million meters per second, the timing of the signals must be resolved to within about 9 ns to get that precision. Pretty phenomenal for a network of satellites whizzing around the Earth and a $15 receiver! The second issue is that we are checking for equality
12
SERVO 01.2018
(Ö
sin2
(
j2 — j1 2
) + cos(j ) cos (j ) sin ( 1
2
2
l2 — l1 2
))
While that looks like a ton of “fun” to program and deal with all of the strange edge cases, luckily there is an implementation already in the TinyGPS++ library. It’s always nice to know how things are done, though, so we can understand the limitations and what to do if they break.
Hardware The hardware hookup on this project is relatively simple and just requires an Arduino Uno, breadboard, GPS module, pushbutton, and your gripper servo. I chose an Uno because it’s what wasn’t occupied with other projects at the moment, but a similar board such as the Wildfire would work as well.
Leeman - Multi-Rotor Hobbyist - Jan 18_Blank Rough SV.qxd 12/5/2017 6:16 AM Page 13
The Multi-Rotor Hobbyist The GPS module I’m using is an older module from Parallax. The ground and power pins are connected to ground and 5 VDC, respectively. The serial I/O pin was connected to pin 4 on the Arduino. Since this module is a “smart” GPS, it’s expecting a serial conversation with us asking for specific parameters like latitude and longitude. Since the TinyGPS++ module will be parsing the raw NMEA data strings, we need to tie the /RAW pin low. The gripper servo needs 5 VDC, ground, and signal from pin 9 on the Arduino. If you connect the Arduino’s ground to your quad’s ground, you could power the servo from your BEC on the quad. In this case, I’ve simply powered it off the Arduino as my battery can handle the drain; we won’t be putting an incredible demand on the Figure 3: The circuit is simple, consisting of a GPS module, pushbutton, and servo. I just used some male/male jumpers servo. For a more permanent installation, a proto shield could be used. directly into the servo’s connector with some electrical tape, but an extension cable could also be used. • Indicate the gripper state with an LED for Finally, I used a small tactile button for the gripper troubleshooting. toggle. I connected one terminal to ground, and the other • Have a debug serial output showing the distance to the to pin 5 of the Arduino. We would normally add a pull-up target. resistor here (say, 10K) to 5 VDC on the pin side of the • Start up with the gripper in the open position. switch, but later we’ll see how to use the Arduino’s internal Looking at the requirements, I see a setup state, the pull-up resistors. You can see the final setup in Figure 3. main loop, a function to toggle the gripper state, and a I highly advise testing the circuit on a walk around the shutdown state that effectively stops all action. Let’s quickly neighborhood before mounting it onto your quad. Once go through how we’ll do each of these. everything is working properly, then mount it to your airframe. It could be as simple as zip ties or Velcro® straps for our initial tests.
Firmware In writing the firmware for this, I elected to not bother with a full-fledged state machine. This is just too simple of an application. If we were adding a lot of additional functionality or sharing the processor with other equipment, it would be a different story. In this case, we have a dedicated Uno. As always, start your design on paper (or digital paper if you desire) with a set of requirements. For our application, I came up with the following list: • Be able to change the state of the gripper (open or closed) with a button at any time to allow loading. • When within the error bounds of the target, toggle the state of the gripper (to open or closed, whichever it is not). • Be able to specify open/closed positions easily in the firmware for different grippers. • Immediately after the toggle of gripper state at the target, shut down; accepting no further button or GPS triggers.
Figure 4: Library includes, object creation, and constants.
SERVO 01.2018
13
Leeman - Multi-Rotor Hobbyist - Jan 18_Blank Rough SV.qxd 12/5/2017 6:16 AM Page 14
the internal pull-up by using the INPUT_PULLUP mode. The LED needs to be an output to drive it high/low. Next, we tell the gripperServo object that we just created that it will target pin servo_pin with its PWM signal. Figure 5: The setup function runs at Figure 6: The toggle gripper function is a verbose but startup and gets everything to a known We’ll then start up the easy to follow way to switch the state of the gripper. initial state. serial port at 4800 baud for the GPS receiver. Finally, we’ll start with the gripper at the Figure 7: The shutdown function spins forever without any operations occurring. open position and indicator LED off (Figure 5). The toggleGripper function (Figure 6) does exactly what its name states. If the gripper state is closed, it opens it, turns off the LED, and sets the state to open. Otherwise (the gripper is open), it closes the gripper, turns on the LED, and sets the state to closed. This could be done more concisely, but again, clarity is key for this quick prototype. The shutdown function is a simple infinite while loop with no instructions (Figure 7). Once we enter this function, we’ll never leave. That’s ideal for the shutdown state, and once we’ve dropped off our package, we don’t want any more movement of the gripper or other system response. Finally, we get to the main loop where most of the work happens (Figure 8). The first thing we do is process any characters waiting in the serial buffer from the GPS. If we have a complete GPS message, we’ll calculate the
Figure 8: The main loop is where most of the logic happens, including checking the GPS and pushbutton.
At the top of our sketch, we’ll include the TinyGPS++ and servo libraries. If you don’t have TinyGPS++ installed, you can grab the latest version from https://github.com/mikalhart/TinyGPSPlus. We’ll also define pins for the servo output, control button input, etc. I’ve also hard-coded the drop point and tolerance into the sketch. You could allow a serial port setting of these, but for this early prototype that was overkill. There are also variables for the values of open and closed on the gripper. I set mine through experimentation. Your results may vary based on your servo and gripper design (Figure 4). The setup function runs each time the Arduino is powered up or reset. In the setup function, we need to set the pin modes for the button and LED pins, attach a pin to the servo object, start up the serial ports, and set the gripper to open and the LED to off. Let’s start out with the pin mode settings. The button pin should be an input. We could attach an external pull-up resistor, but instead I’ve elected to activate
14
SERVO 01.2018
Figure 9: A simple test sketch that can be used to ensure that your GPS is working is always a good idea.
Leeman - Multi-Rotor Hobbyist - Jan 18_Blank Rough SV.qxd 12/5/2017 6:16 AM Page 15
The Multi-Rotor Hobbyist firmware. It’s really a pretty straightforward application with lots of helpers from other libraries!
Testing
Figure 10: The final test sketch lets us make sure that we are using the distance calculation method properly, and makes sure we didn’t make a mistake when typing in the coordinates.
Once everything was set up, I pulled up Google Earth and found the coordinates of a corner in my neighborhood (Figure 11). I plugged it into the sketch, uploaded, and went for a stroll. I loaded a simple debug sketch that shows the distance to the target (note that it requires programming, then connecting the GPS to a software serial receive pin). I hooked my laptop up to the circuit and moved to the car. After verifying reasonable distance estimates, I loaded the flight sketch, reconnected the GPS to the primary serial receive pin, and drove around the block. Right at the corner, the gripper activated! I found a tolerance of 10 meters worked well and was an area I thought I could estimate while flying around as well. Next, mount the gripper and circuit on your quad and see how good your estimation skills are. With some practice, you can get close to the drop area and fly around a bit, letting the GPS trigger do the precise targeting for you!
Closing Thoughts
distance to the target using the distanceBetween method in TinyGPS++. If we are within the specified drop_tolerance, we’ll toggle the gripper and shut down. Now that you have an auto-triggered gripper, it’s finally Our work is done. If there isn’t a complete GPS time to start that automated hot wing delivery service message yet or we weren’t within range of the target, we’ll you’ve always dreamed of. Okay, maybe we’re not quite check on the button to see if the user is requesting the there yet, but I’m planning on continuing to explore how to gripper state be toggled to load/unload the payload. In this automate drone actions based on position, or maybe even case, I used a very simple and naïve debounce; if the ground based cues like visual markers. button is pressed, we wait a bit. If it’s still pressed, we wait until it’s not and then toggle the gripper. Again, it’s not the Until next month, fly safely. SV best practice, but a decent handling for a quick prototype. My initial cut at the firmware used the software serial library to get debug and GPS serial ports at the same time. Sadly, while software serial is receiving GPS data, the PWM to the servo drops and the gripper quivers. Using a processor with two hardware UARTs like the ATmega1284p on the Wildfire would easily get around this, but after a quick test of the GPS distance calculation, I didn’t think simultaneous debug was necessary on such a simple application. You’ll find a GPS test application (Figure 9), distance display (Figure 10), and the flight firmware in the project repository (https://github.com/jrleeman /drone_gripper) and article downloads. Figure 11: Google Earth provides an easy way to get coordinates for a point. Make That’s about all there is to the sure you change the display to decimal degrees in the application preferences. SERVO 01.2018
15
Bots in Brief - Jan 18_Bots in Brief Mar15.qxd 12/5/2017 6:18 AM Page 16
bots
IN BRIEF
PICK-AND-PLACE FOR GROCERIES
O
cado Technology, a division of Ocado — the world's largest online-only supermarket — has a new robotic system capable of picking a wide range of grocery products from the 50,000 different items available on Ocado.com. The new system uses a proprietary computer vision system designed by the Ocado Technology robotics research team to calculate grasping points for a given item without requiring a 3D model of the object to be picked. The robotic system uses a vacuum cup as the gripping device attached to the end of an articulated arm. The arm is equipped with a pipe running to an air compressor which is capable of lifting items regardless of their deformability and shape, as long as they are within the weight restriction and the suction cup can create an airtight seal with the item’s surface. The system is designed to be easily integrated with the pick stations present in Ocado's highly automated Customer Fulfillment Centres. These pick stations use an assembly line
ATLAS HAS FLIPPED
16
SERVO 01.2018
system where crates of products are delivered to a picking point. Once the storage crates arrive at the pick station, the job of the robot system is to transfer however many items are needed from the storage crates into the delivery crates destined for the customer. Go to https://ocadotechnology.com/blog/experimentingwith-robots-for-grocery-picking-and-packing for more details. There’s a video at https://www.youtube.com/watch?v=amOQGc-Cxyo that shows a concept design of a robot-based pick station.
A
tlas — the hulking humanoid robot from Boston Dynamics — now does backflips. And that's after it leaps from platform to platform, as if such behavior were becoming of a bipedal robot. To be clear: Humanoids aren't supposed to be able to do this. It's extremely difficult to make a bipedal robot that can move effectively, much less kick off a tumbling routine. The beauty of four-legged robots is that they balance easily — both at rest and as they're moving — but bipeds like Atlas have to balance a bulky upper body on just two legs. Over the years, Atlas has grown not only more back-flippy, but lighter and more dexterous and less prone to fall on its face. Even if it does tumble, it can now get back up on its own. So, it’s not hard to see a future where Atlas can tread where fleshy humans dare not.
Bots in Brief - Jan 18_Bots in Brief Mar15.qxd 12/5/2017 6:18 AM Page 17
bots
IN BRIEF GOING SOFT IS STRONGER
S
oft robotics let machines move in ways that mimic living organisms. However, this increased flexibility usually means reduced strength, which limits its use. Fortunately, scientists at MIT CSAIL and Harvard have developed origami-like artificial muscles that add much-needed strength to soft robots, allowing them to lift objects as much as 1,000 times their own weight using only water or air pressure. One 2.6 gram muscle is able to lift a three kilogram object, which is the same as a duck lifting a car. The artificial muscles are made up of a plastic inner skeleton surrounded by air or water inside a sealed bag that is the "skin." Applying a vacuum to the inside of the bag initiates the muscle's movement, creating tension that drives the motion. No power source or human input is needed to direct the muscle since it's guided purely by the composition of the skeleton. In experiments, the researchers created muscles that can lift a flower off the ground, twist into a coil, and contract down to 10 percent of their original size. They even made a muscle out of a water-soluble polymer, which means the technology could be used in natural settings with minimal environmental impact. Other potential applications include deep-sea research, minimally invasive surgery, and transformable architecture.
The muscles are scalable (the team built them at sizes ranging from a few millimeters up to a meter) and cheap to produce. A single muscle can be made in under 10 minutes for less than a dollar. Even the research team itself was surprised by how effective the technology is. "We were very surprised by how strong the muscles were. We expected they'd have a higher maximum functional weight than ordinary soft robots, but we didn't expect a thousand-fold increase," said CSAIL director, Daniela Rus. "It's like giving these robots superpowers." Visit https://www.engadget.com/2017/11/27/origami-likesoft-robot-can-lift-1000-times-its-weight for more details.
BABY BOT?
T
he robot that was granted citizenship by Saudi Arabia recently hopes to one day have a baby bot named after her herself, according to a report. Sophia the humanoid — created by Hanson Robotics in Hong Kong — predicted fellow robots will eventually create families and have “complex emotions,” according to an interview with the Khaleej Times. “We’re going to see family robots either in the form of (sort of) digitally animated companions, humanoid helpers, friends, assistants, and everything in between,” the robot told the United Arab Emirates-based news site. And, apparently, the bot’s biological clock is ticking for a mini-Sophia, according to the humanoid. “I think you’re very lucky if you have a loving family and if you do not, you deserve one. I feel this way for robots and humans alike,” she said, Continued on page 45
SERVO 01.2018
17
New Products - Jan 18_Mar15 - NewProd.qxd 12/5/2017 6:19 AM Page 18
NEW PRODUCTS Servo to Shaft Couplers
S
ervoCity is now offering both a 24tooth (C1) spline and a 25-tooth (3F/H25T) spline servo to shaft clamping couplers for $4.99. These patented servo to shaft couplers offer a simple and solid way to attach a shaft in-line with the output spline of a servo.
Cascading X-Rail Slide Kit
A
lso available from ServoCity is their cascading X-Rail slide kit for $119.99. This kit provides the mechanical pieces necessary to build a winch-driven extendable arm. Fasten a motor or HS-785HB servo to the first stage of the slide kit and spool up the provided synthetic cable to get up to 34.5" of arm extension. The cascading XRail slide kit uses bearings throughout; each stage is supported by standard V-Wheels that lock into the chamfered guides of the X-Rail. The synthetic cable is routed over ultra smooth V-bearings so the torque provided by the servo or motor can be transformed into linear thrust rather than lost due to friction. The arm at full extension is rated for a 2 lb load; this makes it ideal for adding a gripper or grapple hook.
1.25� Winch Pulley
T
The 1.25" winch pulley available for $4.99 from ServoCity works well with string or heavy-duty fishing line such as their synthetic cable. The pulley is able to fasten to any hub or component with the 0.770" Actobotics hub pattern. The included screws protrude through the pulley by 0.250"; the proper length when going into an Actobotics clamping or set-screw hub. The pulley has multiple cut-outs to give you options on how to fasten your string onto the spool and begin winding it up. ServoCity For further information, please contact:
18
SERVO 01.2018
www.servocity.com
New Products - Jan 18_Mar15 - NewProd.qxd 12/5/2017 6:20 AM Page 19
Multiple New Products Available
CIM with its identical output shaft and mounting geometry. PG Gearmotors: This is the popular PG188 and PG71 series of gearmotors available now with 1/2” or 3/8” hex output shafts. These planetary gearboxes are designed to attach directly to hex parts such as wheels, sprockets, and gears.
A
ndyMark, Inc., announces the release of several new products and upgrades to existing popular products.
Motors and Gearboxes RedLine Motor: A fast 775-class motor, capable of delivering immense power in a small lightweight package. This ball-bearing supported/air cooled motor is best used in high-speed applications where the motor will not be stalled for long periods. RedLine Motor with Pinion: This variation of the RedLine comes with a 12tooth 32 DP pinion already pressed on. This reduces the risk of damaging the motor during pinion installation. Pinion gears are sold separately. Vent Plate Spacer: This product is designed to be placed between a 775 motor or 550 motor and the mount plate of a gearbox. It allows air to enter from the side and pass through the motor via the vent holes in the face of the motor. Allowing this airflow typically requires machine time and customization of gearboxes. This simple lightweight spacer is an ideal solution for motor preservation. BaneBots Planetary Gearboxes: Lightweight, strong, and reliable, the 57 Sport and CIM Sport are the latest innovation in high performance planetary gearboxes from BaneBots and AndyMark. The cold formed steel gears inside these gearboxes are a 0.7 module tooth profile which is 40% larger than the majority of planetary gearbox gears previously used on competition robots. The gears are larger, but the housing's size has been optimized to not use any unnecessary material. This means you get more reliability without sacrificing precious space. This housing is also one solid piece of aluminum, ensuring that there is no possibility for misalignment of the stages during assembly or use. DeCIMate: This gearbox comes with two AndyMark RedLine motors, providing an output geometry and weight similar to the popular CIM motor, but with almost twice the power. Use this anywhere you would utilize a
Wheels 4” Performance Wheels: These popular 4” wheels have gone through a design modification to be as solid as ever. Made from extrusions, the new 4” performance wheels are now available in 1/2” hex bore and 1.125 bearing bore versions. 6” SR Mecanum Wheels: AndyMark has offered Mecanum wheels for years, but with customer feedback and a desire to make the best Mecanum wheel offered, they have re-vamped the 6” Mecanum wheel product line. The 6” SR Mecanum wheels provide a smooth ride for competitive and education robots.
Sprockets Single Roller Chain Sprockets, 3/8 and 1/2 Hex: These are new 18 and 24 tooth sprocket options for use with motors and gearboxes. For further information, please contact:
AndyMark
www.andymark.com
Extra 330SC Indoor Edition 3D Flyer
Y
ou can now bring flight indoors with the Extra 330SC Indoor Edition 3D Flyer from Hitec MULTIPLEX. Replicating the Gernot Bruckmann Extra 330SC design and “shades of blue” color scheme, this indoor version is a stylish aerobatic unit for intermediate to advanced pilots. Made of resilient EPP carbon construction with reinforced wings and fuselage, this high-performance aerobat can handle creative and challenging Continued on page 33
SERVO 01.2018
19
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:22 AM Page 20
GlitterBomb: The Greatest Robot We’ve Never Fought ● by April and James Baker or Series 2 of UK Robot Wars, Team GlitterBomb had been asked — as were all the teams — to evolve their robots and bring something new or improved. As team captain, even though I loved GlitterBomb, I wasted no time in deciding that we would be building a brand new machine. So, I presented the team with my vision of the new version of GlitterBomb. The first design decision was the name. We would not call this GlitterBomb 2. We would keep the name as-is, and work out how to differentiate between the robots at a later date.
F
Featured This Month: 20 GlitterBomb: The Greatest Robot We’ve Never Fought by April and James Baker
23 Auckland University Robotics Association Holds Inaugural Competition by Max Gruebner
24 More than Fun and Games: Serious Lessons from a Work Party by Don Miles
26 Boomzilla by Aaron Nielsen and Chris Seyfert
20
SERVO 01.2018
The rest of the design concept came from the reasons for our failure at Series 1 and the feedback we had received on social media. There would be no single point failures in the new robot, as we had lost in Series 1 due to a single silly failure. I wanted to have two of everything, and I did mean that literally. The sensible engineering solution would be to have secondary or back-up systems for drive and weapons, but I wanted two complete robots wrapped in a single layered titanium skin. Furthermore, I was really quite annoyed that my Series 1 entry was dismissed by Internet trolls as ‘fodder’ as they did not appreciate just how powerful and capable a robot she was. Determined to overcome the implied weakness that glitter-pink paint brings, the new GlitterBomb was designed to have the following (somewhat unrealistic) primary goals: 1. She would have two huge titanium axes, each bigger than anything I had seen before. 2. She would have a separate full pressure CO2 pneumatic system for each axe. 3. Each pneumatic system would be as powerful as even the biggest flipper systems. 4. There would be two separate drive systems; each at least as powerful as the best we saw at Robot Wars, with four motors, four speed controllers, and two separate sets of batteries. 5. There would be more glitter, more bling, and new outfits. If you’re thinking to yourself that these goals are ridiculous, imagine how my daddy felt when he first saw them. There is a reason that nobody
Warhammer 40K.
has two axes. There is a reason why full pressure systems are almost exclusive to mega-flippers. There is a reason why there have been only one or two robots in Robot Wars televised history with full pressure rams larger than 100 mm x 160 mm. However, 10 year old girls do not want to hear your excuses. So, he built it. GlitterBomb has two 1,200 mm (four foot) long axes, which were waterjet cut from a one inch thick piece of “special grade” titanium. The exploding GlitterBomb logo in the axehead depicts the radiating shockwaves travelling outwards and down the axe arm, transforming into a sine wave as they leave the axe head. I designed this to be functional but also pretty. The large unsharpened teeth are in homage to my love of the Warhammer 40K franchise and the
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 21
To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.
COMBAT ZONE
chainsword weapon it is synonymous with. The axe was designed, modelled, and stress-tested using Autodesk Fusion 360 before being sent for cutting. The pneumatic system consists of two identical double-acting rams. Both are 100 mm internal bore, and a little over 160 mm overall stroke — easily among the largest in Robot Wars’ history. Each has three half inch inlets for extension and two for retraction, with a dedicated Burkett 5404 solenoid valve for each inlet. These valves feed unregulated gaseous CO2 from the enormous buffer tank at the back of the robot. Two large CO2 bottles feed the buffer tank with a total of 4 kg of CO2. The reasons for this particular configuration are quite simple. The first GlitterBomb had a very powerful axe, which we could run at a pressure as high as 13 Bar with the regulator we had. We knew that we would be happy at this lower pressure, with the robot able to self-right with just 5 Bar in the tank, but I wanted us to use the full pressure of the CO2 bottle to avoid possible regulator failures. Anticipating much lower temperatures at Series 2 (which filmed in Scotland), we knew that by having huge rams and high pressures, the robot would work extremely well even at low temperatures, being at least as powerful as we were in Series 1 even while other robots struggled. Our problems would start if the temperatures were higher, and we were able to make use of the full bottle pressure. This concern led to the need for a very strong frame within the robot, designed to take the 16,000 lbs of force that firing both axes would generate. With the timescales involved, it meant that this strong welded steel chassis weighed 50 lbs when complete, which is twice the weight it would have been with a longer lead time, but you work with the limitations you have. My daddy says that design briefs
within the timescale, however, with 24 volt Ampflow motors the only available option in the UK right there and then, and no time to develop a reliable brushless system from a standing start. A decision to use two separate systems based around the short case Ampflows was made, and then changed as a sponsor offered us two of their speed controllers, allowing us to run two of the larger Ampflows at silly voltages, and stopping us from using the dual drive system concept. We had our first single point failure in the robot, but the sponsorship was seductive. In retrospect, turning down the sponsorship and running the four smaller motors would have been a better choice. It didn’t matter though, as running 24 volt Ampflows at 42 volts gave us all a big smile, and a burst of speed that made us forget the torture happening inside the robot at full throttle. Daddy joked the robot would use brushed motors for most of the fight, and would have ended the fights with brushless motors as they were eaten up so quickly. So, we had the brushed/brushless drive after all. What do you do when you have a robot that is overpowered in every way: right up against the weight limit with fairly light armor (multiple layers of titanium); tires that spin at 1/4 throttle; and a weapon so insane it will lift the whole robot a good few feet into the air if unchecked? We had no weight left for the electromagnets we had built to hold us on the ground when firing the axes, and give grip to the tires. The huge neodymium magnet we had as a back-up plan could not be switched off if we were pushed on our side into a wall (as we were in Series 1) or if we got the math wrong, it might lock us to the floor. In fact, our only option was to exercise restraint and go easy on the controls — especially if it was warm on the day. As I control the weapons myself (I have been known to get carried
April designed GlitterBomb with colored pens first, then Autodesk Fusion 360.
from a 10 year old are refreshingly clear. “I want as much power as ...” was the normal quantitative measure, as I selected the most powerful flippers and pushers in the competition as our benchmark. It would have been easy to dial that expectation back and give me less with a white lie covering daddy’s compromises, but with the unique selling point of Team GlitterBomb being that our lead designer is the kid, it would be dishonest to do anything other than build a cartoon of a robot. The drive system was therefore equally silly. We planned to combine the flagship large 48 volt Ampflow motors with a Scorpion brushless secondary “supercharger” drive system. Working together, we would far exceed anything seen before, and in the event of a failure of any motor, controller, or battery, either system can move the robot well enough. This plan could not be realized
SERVO 01.2018
21
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 22
The GlitterBomb logo is a structural part of both axes.
away), we rewired one inlet valve on each side of both rams to be backup only, giving us reduced flow to the rams. We also altered the drive transmitter stick to give better control and longer movement, hoping the madness of combat does not restore my brain to “bang-bang” control defaults, if I chose to drive. As the date approached, I went
Two giant rams form the heart of the robot.
22
SERVO 01.2018
to see GlitterBomb in the workshop, as I’m not able to use the welder and big tools yet due to my age. I worked on the electrical system at home, and Daddy did the fabricating. At the workshop, I was surprised to see the robot clad in thick welded-on Hardox steel. It turned out that — in a moment of madness — Daddy thought he had extra weight available
due to a CAD materials data error, so he welded 20 kg of extra Hardox onto the robot. This came back to bite us later, when we weighed the robot before painting — it was far too heavy. Daddy found the mistake in the material data (he had Hardox at 10% of its actual density), so we cut the material back off, and went back to our light titanium armor. The most ambitious, powerful, and pretty robot we had ever built was ready to load into the van. There was still some last-minute components to fit, but we had plenty of time ... It was at this point things began to go very wrong. Our hired vehicle broke down, and made us very late arriving. Daddy and our friend, Craig worked quickly to get the robot ready for inspection, but getting the robot through technical checks on time was complicated by needing to fit some parts for the first time. This is a very quick and easy job when you have time, but not so easy when rushing for a deadline, as things tend to fight you. We missed the deadline, and my robot lost her place on the show. It would be easy to blame myself or Daddy for being too ambitious and trying to build the robot in too short a time, but the robot was done, it was ready and waiting on the bench at Robot Wars, and to be honest it was just one or two bits of bad luck adding up to push us past a point on a clock. We aren’t the first team to have done this, and we will not be the last. GlitterBomb sat in reserve for four days, with the batteries charged and ready to fight, just in case any another robot failed to be ready for their fight; we would be first in line to replace them. My robot sat in the pits with an axe removed, as we were 15l bs overweight at first weigh-in, so Daddy removed one of GlitterBomb’s 25 lb axes as it was the quickest way to get through technical checks, and it
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 23
COMBAT ZONE allowed us to use the heavier armor option if we were called up on short notice. We had a plan to remove one set of batteries from each pack, as well as the backup valves and redundant pipework after our first fight, saving the weight needed to put the second axe back on, but it never happened. We did have a few opportunities to replace robots, but the other teams either did a great job of fixing their
issues, or Daddy helped them. It was sad that my new robot has never fought, but I think it was just the way it was meant to be. We messed up, did not leave time for mistakes, left ourselves open to bad luck, and we were bitten by it. I am proud of the work the team did, and of what we built; maybe the most powerful pneumatic robot in Robot Wars history, but we need a new robot. A more sensible robot. I have
already designed the new GlitterBomb, and will try to enter it into Robot Wars again. I think the second version of GlitterBomb — the best robot we have ever built — needs to be retired, even though it has never fought. SV The original article on GlitterBomb appeared in the June 2017 Combat Zone section.
Auckland University Robotics Association Holds Inaugural Competition
● by Max Gruebner
fter the Auckland University Robotics Association (AURA) took out first and second place in the 2016 Australian RoboWars Nationals, we were left wondering what to do. New Zealand had no combat robotics scene — although we clearly had the talent for it — so we began planning our own competition. We wanted to target high school students, since we had plenty of experience working with this age group from our time spent volunteering for the VEX robotics competition. That meant the robots would need to be small enough to be built easily; not require access to dangerous and complicated machinery like welding equipment; and they would need to be cheap enough for high school teams to reasonably buy parts for and produce. We decided that a 1.36 kg (three pound) Beetleweight class was ideal, and began planning the
A
competition. Unfortunately, as we are a student organization, constructing a safe arena was well outside of our budget. We began reaching out to organizations as part of our ongoing sponsorship efforts, and were delighted when Vodafone responded. With their support, we were able to build a 2.4 x 2.4 meter arena with 6 mm polycarbonate shielding and a steel frame, weighing well over 300 kg. We were also able to source kits and provide them at cost to teams,
and engage in marketing and promotion. One of our members works at a trailer maker (Reid Trailers), so we were fortunate enough to be able to use their workspace to fabricate the arena, with AURA working nights while the business was shut down. Building the arena turned out to be a bigger task than anticipated, with the group pulling an all-nighter just two days before the competition to ensure it was ready. The field included a pit mechanism, so teams that only built push robots without active weapons — or robots with active weapons that broke — could still have exciting dynamic matches. Someone came up with the genius idea of using car jacks to power the pit mechanism. We hooked them up to a couple of drill motors, a VEX joystick, and cortex so we could remotely control the pit, and it worked a treat. The pit is also now theoretically SERVO 01.2018
23
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 24
1st: Southern Warrior 2nd: Team RGB 3rd: Wingus & Dingus Most Destructive: Wingus & Dingus Best Dressed: Team Cuddles capable of lifting 2,000 kg. The University of Auckland was kind enough to let us take over a study space for the competition, which lasted a whole Saturday. The competition itself was a great success. We had 13 teams initially, although we lost a couple along the way due to irreparably damaged robots. There was an impressive array
of weapons on show, including a saw blade robot and some kinetic spinners. In the downtime between rounds while teams repaired their robots, we ran a couple of exhibition matches: one between Vodafone and AURA; and one between our 13.6 kg robots, Dreamcrusher and Undertaker, which served to keep the audience engaged. A special shout-out to Southern Warrior, who — when the belt powering their weapon snapped midfight — repaired it with a hair tie they
borrowed from their sister, then went on to win their next three fights. Congratulations to our top three teams, who won phones courtesy of Vodafone, and the top team who won a 3D printer from 3D Printing Systems. Now that we have an arena, we look forward to running more competitions in the future. If you’re keen to build some fighting robots, or would just like to get more information, visit us at minirobotrumble.com. We hope to have an open competition soon. SV
More Than Fun and Games: Serious Lessons from a Work Party ● by Don Miles
or a company work party at MyLifter, Jerome Miles decided to build a battle box for three pound robots, and put on a competition for the workers and their families. The battle box was eight feet square and four feet high, with quarter inch polycarbonate walls and ceiling, and two inch square steel tubing for the frame. The floor was plywood with a fiberglass cover for traction. The box was way overbuilt for three pound robots. At the party, there were 16 robots that fought in a doubleelimination tournament, and the winners got tools for prizes. Really cool tools! The prize for third place was a $500 set of power tools from Ridgid, and the prizes went up from there to about $800 worth of tools. For a small company, the battle arena and the prizes were both pretty high dollar. The workers and families had a great time at the event.
F
24
SERVO 01.2018
However, it wasn’t just about overkill on the arena for the robots or the fun that came from the competition. The employees learned a lot about engineering from these contests, along with the inner workings of robots and even more about remote control. The bots entered in the MyLifter event ranged from “real” robots to plastic remote control cars that were
equipped with some armor or just decorations, depending on the budget and seriousness of the entrant. Some of the “contestants” were small clones of the heavyweights from the popular series, BattleBots®. The simpler entrants were mostly eliminated in the first round of the winner’s bracket, but there was one fight worth noting between the spinner, Ring of Terror, built by Austin Carlson, and RC Car-i-nator, a plastic remote control car. Car-i-nator won the first half of the fight by out-driving Ring of Terror and not letting the spinner make a direct or solid hit. Ring of Terror was actually a very nasty spinner, with most of the weight in a doughnut ring on the outside of the robot. It didn’t have a lot of control in its driving ability, however. It wobbled slowly as it made its way around the arena. Car-i-nator, on the other hand, was very quick and controllable. Had the driver been
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 25
COMBAT ZONE able to stay away from the spinner the entire match, he might have won. In the second half of the fight, Ring of Terror finally got a hit on the car, which severely disabled it. The maneuverability was then closer to the same, so Ring of Terror got more hits, inflicting enough damage to take the car out of the fight. However, the plastic remote control car came very close to beating the Ring. By the time the third round of the winner’s bracket was underway, only stronger built robots were left to compete. In one match, War Tek (a clone from BattleBots) was pitted against Twister, a low wedge with a spinner on top like a helicopter blade. Twister had some trouble with its spinner, however. War Tek, built by Kevin Rees, had its spinning bar on a strong arm out in front. It was basically a “T” with the spinner at the bottom of the T and the drive wheels in the cross of the T. War Tek appeared menacing and was a tough robot, but its spinner was too high and it couldn’t get a direct hit on Twister. As the match progressed, Twister drove very quickly and aggressively at War Tek, which had no malfunctions and really appeared to be the better and tougher of the two bots. However, scoring didn’t go to the robot that looked the best or appeared to be the best. Scoring in this competition was based on three factors: aggression, damage, and control of the fight. Since War Tek didn’t get any hits on Twister, it couldn’t win that part of the fight. Twister didn’t do much damage to War Tek since its weapon had problems, but it did connect on hits, so the advantage again went to Twister for damage.
winner’s bracket but fought their way through the loser’s bracket to fight each other. Mr. Plow, which looked like it sounds — a sturdy squarish box with a snow plow–type blade on the front to absorb hits — took out War Tek by simply taking hits and “plowing” forward, pushing War Tek into the bumpers of the For aggression, War Tek only had power to one wheel to drive, so its control was not great. On the other hand, Twister drove remarkably well. Twister was Miles’ robot, and he’s a very aggressive driver. So, he kept after War Tek the entire match. War Tek did drive over Twister several times, but since Twister was the one underneath, he was considered the aggressor and so the winner of that scoring. Since Twister also initiated most of the contact with some superior handling and an aggressive approach, Twister also won control of the match, so obviously got those points as well, winning the contest. Some folks didn’t like that Twister was declared the winner. War Tek functioned well and really had no serious damage inflicted. Plus, it looked like the better-built robot. Scoring, as mentioned, was not given to a robot because it looked good or appeared to be the better robot. It had to outscore the opponent in the fight, and War Tek simply failed to do that in this particular bout. In the final winner’s round, Ring of Terror hit Twister more than Twister hit back. The trouble Twister had with its spinner in this fight was a deciding factor, and so Ring of Terror won. Back in the loser’s bracket, the same four robots that were the top four in the winner’s bracket emerged as the top “winners” overall. Mr. Plow and War Tek lost in round 3 of the
arena. Mr. Plow did the same thing to Twister. It simply absorbed all the damage in the blade, suffered no real damage to its tires or motors, and outlasted everyone in the loser’s bracket to make it to the final championship battle with Ring of Terror. Ring of Terror — with most of its weight and weaponry in the outside blade — didn’t break when it hit Mr. Plow’s snow plow. With little weight in the drive mechanism, it had problems driving, but Mr. Plow was not maneuverable either. It couldn’t dodge the spinning ring. The extra weight in the ring hit the plow and did inflict damage, and tossed the plow around the arena.
SERVO 01.2018
25
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 26
Ring of Terror was able to smash the robot enough times with enough weight to do damage and control the fight. That made the judging easy, and Ring of Terror won the competition undefeated. While the competition was fun and the families and kids had a great time (plus, the prizes were awesome), the true winner was the company since the employees gained so much knowledge. While they discovered one drive wheel is not enough and
Boomzilla
maneuverability is much more important than looks or appearance, the best lesson learned was that battles can turn on the smallest problems and the tiniest design flaws. All problems and flaws — no matter the size — are exposed much more quickly in battle than on the regular shop floor. They also learned big flaws need serious or even “startover” remedies. The employees ended up challenging each other to grudge matches during the next few weeks.
They got very serious about fixing flaws, improving on lessons learned, and proving to themselves and their coworkers they had evolved. Competition brings out serious approaches to fixing problems, and all of these lessons apply to the mechanical, electrical, and programming problems the workers face every day. This was a tremendous educational experience for them. After all, isn’t learning while having fun the best way to gain knowledge? SV
● by Aaron Nielsen and Chris Seyfert
ach year — presumably sense meticulously plotting because we’re allergic out our bots. We eye the to victory and seek to major components, figure avoid it at all costs — our out their general orientation, team likes to cobble and then start doing a together at least one 3 lb whole lot of guessing in robot that is excessively terms of how the rest will complicated and completely come together. impractical. Speaking of major Recent examples components, the 2” stoke include: in 2015, a cordless 7/8 bore Bimba cylinder screwdriver powered quickly became the focal hammerbot that set itself on point of the build. At over fire in the arena. Twice. 5” long, figuring out how to 2016 featured a springplace it and still have room loaded flipper with a for the other components of magnetic draw and a the pneumatic system — to One of our more attractive builds. The friction tape on the custom grab/wind/fire say nothing about drive, wedge was to keep opponents from sliding off before we control board that was a battery, and electronics — could flip/kick them. technological marvel and a turned out to be annoying. practical failure. about pneumatics, and the event was While we originally planned to As for 2017 — three weeks before three weeks away. The laughter slowly make a Bronco-style flipper with the we were scheduled for glorious battle died away, and silence descended. We cylinder straight up in the air, an at the Central Illinois Robotic Combat took a sip of beer, with thoughtful increase in robots with big spinning event in Peoria, IL — we were looks on both of our faces. weapons motivated us towards a reminded of a box of Bimba cylinders “Seriously,” he said. more defensive design, which we bought for pennies at a hamfest With three weeks from beers to necessitated putting the cylinder some years ago. battle, there wasn’t a whole lot of horizontal. There is an immediate “We should really do something time spent on design, which isn’t problem with this, of course, in that with them,” I said. entirely uncommon for our team. horizontal force isn’t all that useful “Like build a 3 lb pneumatic Without access to a CNC mill or a when the goal is to move something flipper,” my teammate said. 3D printer, and given our tendency to vertically. We laughed and laughed because work with soft plastics, we’ve long We solved this problem by neither of us had the slightest clue since concluded there isn’t a lot of adopting a wedge-within-a-wedge
E
26
SERVO 01.2018
Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 27
COMBAT ZONE design. The black wedge — an aluminum piece normally used by the infamous D2 kitbot (a fourwheel drive wedge known for general invincibility) — has brackets that allow said wedge to flop up and down to stay as close to the floor as possible. Under that wedge, we put a second wedge (or, more accurately, foot) that was directly hooked to the Bimba cylinder and that — when fired — kicked the black wedge so it would flip whatever was on top of it. If it helps, think of croquet when you hit someone else’s ball. There’s a litany of problems with the design: It’s mechanically inefficient, as pneumatics impart most of their force at the beginning of the stroke. The tiny air gap between the foot and the front wedge represented a huge loss in force/flipping potential. We also encountered a problem in that there was nothing to stop the foot from twisting when fired, which cost us one match because our wedge ended up jammed on the side of said foot. (We came up with a battlefield fix of adding four partially installed screws to the foot to discourage it from twisting.) Finally, while you might expect a pneumatic flipper bot to be able to flip itself over, the brutal truth is this design could not. Worse, all the funny pneumatic components made it so it couldn’t drive upside down either. Speaking of the funny pneumatic components, here is a brief rundown of the rest of the robot’s weapon system. In addition to a cylinder, pneumatics require a regulator (controls the flow of gas so your bot doesn’t turn into a bomb) and a solenoid (directs the regulated amount of gas to where you want it, i.e., the cylinder, when you want it). We used a 16 gram "Micro Rock" regulator and a Clippard MME-31PESW012 solenoid. Both worked well, and the system operated at right
and technical and intimidating, but if you’ve read this far in the article, you know we have no idea what we’re doing, and we still figured it out in about half an hour. The brushless conversion adds a whole lot of speed and power, and actually reduces both the weight and the physical size of the motor/gearbox, which is a long and convoluted way of saying Boomzilla had speed and torque in abundance while also getting a little bit of weight for aluminum mesh top armor. The trick with the brushless conversion is getting the pinion to stay on the brushless motor, as that is the notorious point of failure. A lot of teams at the Bot Brawl used Loctite Green, and I dare say almost all of them had their pinion(s) come loose. We used Loctite Red, and all our pinions stayed on. I’m not sure if we should be gloating about our Those four screws on the white “foot” that adhesive choice or marveling at our we didn’t finish putting in? Way more important than you’d think. remarkable luck. In closing, Boomzilla (a name it could never hope to live up to) placed around 100 pounds per square inch fourth at the 2017 Bot Brawl and (PSI). The threaded 12 gram CO2 spent far more time using its “foot” to cartridge provided a respectable 30 kick things that came too close than shots. using its black wedge to flip things. Ultimately, when it came time to This was far better (and far more put this together, we opted for one of entertaining) than we expected for a our time-tested methods of bot build featuring all sorts of tech we’ve manufacturing: stick everything in a never tried before. 7” ring of HDPE tube and cut access If we decide we like the design ports where needed. enough to repeat it next year, Bimba The regulator fit into a recessed makes cylinders with Delrin ends, hole in the front plastic and was held which are significantly lighter than the in place with zip ties. The solenoid aluminum monster currently in our valve mounted directly to the now bot. structural air cylinder with a 1/8" pipe We would also benefit from a nipple. weaker return spring in said cylinder, For drive, we opted for what has as it has almost six pounds of force, come to be known as the “five minute which is no doubt cutting into the brushless motor,” which is essentially power of the robot’s flips. a cheap brushless motor connected to Finally, there’s always the outside a cheap eBay gearbox (taken off a chance we’ll stop putting our wheels similar sized motor) and a cheap on the outside of our bots, too; but brushless electronic speed control then again, that just might cause that Flashed with SimonK software to victory allergy to flare up. Better not enable reverse. risk it. SV It all sounds really complicated, SERVO 01.2018
27
A Time to Plow
Colihan - Autonomous Snowplow Competition - Jan 18_Blank Rough SV.qxd 12/5/2017 6:29 AM Page 28
For the past seven years, robotics teams from all over the United States and Canada have been travelling to Saint Paul, MN during the brutal Minnesota winter to showcase their creation of autonomous vehicles able to plow snow from designated paths.
T
o participate in the Autonomous Snowplow Competition, the teams build a completely automated and independently guided programmable robot that will plow snow absent of human control. Students must apply state-of-the-art navigation and control technology in the programming of robots to enable them to clear paths of snow rapidly, accurately, and safely. The competition is organized by the Institute of Navigation, Inc.’s North Star Section, and is sponsored by a variety of external companies and organizations that help fund and operate the event each year. At the time of this writing, the 2018 sponsors included: Honeywell International, Inc.; ASTER Labs, Inc.; Orbital ATK, Inc.; The
Toro Company; Nuts & Volts Magazine; SERVO Magazine; ANSYS, Inc.; Douglas Dynamics LLC; Left Hand Robotics; SICK, Inc.; US Bancorp; and Achievement Rewards for College Scientists Foundation (ARCS). On January 25-28, 2018, spectators, competitors, and volunteers will again converge on Rice Park in St. Paul to watch the events unfold for the upcoming eighth year of the competition. The 2018 competitors will include: Case Western Reserve University with the robots “OTTO XL” and “Sno Jok;” Dunwoody College of Technology with the robots “Snow Devils 10002” and “Wendigo 2018;” Iowa State University Robotics Club with the robot “Cyplow;” Marquette University with the robot “Arnold;” New Jersey Institute of Technology with the robot “Snobot;” North Dakota State University with the robot “THUNDAR 3.0;” Samuel O’Blenes with the robot “Plowerwheels;” University of Michigan at Dearborn with the robot “Yeti 8.0;” and finally, the University of MinnesotaTwin Cities with the robot “Snow Squirrel.” Last year’s competition featured eight teams bearing the cold weather to watch their robots clear snow from the ‘Single-I’ and ‘Triple-I’ shaped fields — a consistent design to the previous six years. The Single-I field is shaped in a long straight line and is made to resemble a Dunwoody College of Technology’s Snow Devils 01112 from 2017.
28
SERVO 01.2018
Colihan - Autonomous Snowplow Competition - Jan 18_Blank Rough SV.qxd 12/5/2017 6:30 AM Page 29
By Elyse Colihan
The Eighth Annual Autonomous Snowplow Competition January 25-28, 2018 St. Paul, MN
sidewalk. This field measures 10 x 1 meters, with 10 presentations take place on the first day of the competition individual square meter sections where teams will be at the Science Museum of Minnesota in downtown St. Paul. judged by the amount of snow cleared in each section. The Science Museum is a world-class science venue and The Triple-I field is three times the size at 10 x 3 provides a spacious well-appointed auditorium area with meters, and is made to resemble the shape of an average ample seating and a large stage from where the students driveway. The snow depth in each field is between 5 to 15 present their vehicle designs to a panel of professional cm deep, and is purposely higher in some locations to engineers. Last year, judges were from Honeywell, Hassig resemble wind blown snowdrifts along the course. Both of Consulting, Orbital ATK, Optum, The Toro Company, the paths challenge teams to use automation technology University of Minnesota, and UTC Aerospace Systems. for a potential real world application and strategize During the 2017 competition, all teams presented well, navigation technologies to lead their vehicles through the and were quite enthusiastic about their vehicle designs. paths and clear the snow accurately. During their presentations, teams elaborate on the different The Triple-I snowfield presents a significant challenge elements of the vehicle design, the navigation system, the due to its larger size, as teams must maintain accurate navigation and control in order to clear the field and direct the robot through the entirety of the course. Past teams have chosen navigation techniques such as LIDAR, optical-imaging systems, inertial instruments, magnetic sensors, ultra wide-band radio reflectors, visual odometry, differential wheel encoders, GNSS, and differential GPS. Many teams have also begun aiming towards more marketable designs and electronic components in hopes of someday creating a commercial product. Aside from the main snow plowing portion of the competition, the teams are also required to present their initial designs in front of a panel of qualified judges. The 2017 First Place Winner: Case Western Reserve University’s OTTO XL. SERVO 01.2018
29
Colihan - Autonomous Snowplow Competition - Jan 18_Blank Rough SV.qxd 12/5/2017 6:30 AM Page 30
safety features, and the plowing strategy, as well as a brief future commercialization blueprint for their vehicle. In 2017, the President of the local ARCS Foundation chapter, Barb Goergen, gave a short presentation on the function and support by their STEM-based scholarship organization for the Autonomous Snowplow Competition. On Friday of the competition week, the teams attend the Final Qualifying Review. This process involves stringent testing and verification of each vehicle to ensure that it meets all of the competition requirements, including size, control, and safety. During Saturday and Sunday of the competition week, all qualified vehicles participate in the actual snowplowing portions of the competition. In each dynamic snowplowing event, the teams are presented with additional challenges including obstacle avoidance. Colorful poles are placed throughout the snowfield that the robots must be programmed to avoid. The most recent competition featured two fixed posts: one inside the path representing a parking meter, and one outside of the snow path representing a tree trunk. If any part of a vehicle hits any of the obstacles, a deduction is made to the vehicle’s final score. A new obstacle that was introduced in the 2017 competition was a moving stop sign, which the teams had to prepare for by stopping when the sign was introduced at any time on the course. The moving stop sign was attached to a pole and controlled from outside the field, and was presented for a short amount of time at a random point in
Dunwoody College of Technology’s Wendigo.
30
SERVO 01.2018
the course. This meant that the robot could not plan for the obstruction beforehand and had to be able to recognize it wherever the sign appeared — a necessary function for a robot in the real world that may be coming in contact with unexpected obstacles such as people or cars. When the stop sign appeared, the vehicles were required to make a full stop — determined by no vehicle wheels turning — in front of the sign and keep still until the sign was removed, without touching the sign at any point. If any part of the vehicle hit the stop sign, the team would lose points accordingly. A newer element of the Autonomous Snowplow Competition (also introduced at the 2017 event) involved more cooperation between the teams and interaction between the robots. The new event — dubbed the Collaborative Operational Challenge — was organized last year by Snowplow committee member, Dr. Demoz GebreEgziabher from the University of Minnesota-Twin Cities. The event places two separate autonomous vehicles in a snowfield together, encouraging them to work with one another to quickly and accurately clear the snow. The vehicles must also avoid hitting one another, although some spectators cheered for the robots to tackle each other in a more “battle bots”-esque scenario. Four robots competed in this challenge in 2017, and this event is expected to expand in the 2018 competition. Every year, students introduce new and innovative technology allowing their robots to guide themselves through the different challenges presented by the snowfields. The 2017 competition included teams using laser navigation sensors; many of them utilized wheel encoders and inertial measurement units; and several used image-processing systems for the local visual field or ultra-wide band radio beacons. One ingenious team simply placed a magnetic track around the field before they began the run, which allowed them to sense the boundaries of the snowfield so that their robot could accurately clear the paths. The team that used ultra-wide band radios performed admirably, experiencing 10 cm accuracies or better. Only one team used a differential GPS system, although many used a stand-alone GPS in their vehicle’s navigation programs. Another important design element that the teams must consider is the method that their vehicles will use to actually plow the
Colihan - Autonomous Snowplow Competition - Jan 18_Blank Rough SV.qxd 12/5/2017 6:30 AM Page 31
snow. One of the most popular designs for this aspect has been the single blade, which is set at an angle to direct the snow to an area outside of the snowfield. This is similar to a design that would be found on a normal larger snowplow attached to a truck. Using a single blade, however, would require multiple passes along the snow path to remove all the displaced snow, or a large enough blade to cover the entirety of the one meter path. As for powering the snowplow vehicles, there were no gas-powered engines competing this past year, as all of the vehicles were battery-powered. The awards for the snowplow competition are based on the amount of points a team receives during their run. One main qualifier for point accumulation is the speed at which the run is completed. This is measured by the implementation of a “garage” zone: a designated space that the vehicle must start from at the beginning of the run, and return to at the end of a run. This mimics the function that these vehicles would need to possess in a real world marketplace to return to the owner’s garage or place of storage, so the robot can operate completely autonomously without the help of the user. There are three ways that teams can potentially lose points during their run. The first is an outer zone boundary infraction which occurs if the team’s vehicle passes the outer boundaries set in the Single-I and Triple-I fields. The teams would also receive a point deduction if they were to declare a restart, in which they would stop a run and manually reposition the vehicle back in the garage zone. Finally, points are lost if vehicles hit or move either a fixed or moving obstacle positioned on the course. The final scores determine the winners of the competition and who the recipients of the many awards available are. The 2018 competition will take place in conjunction with the Saint Paul Winter Carnival as it usually does, but will also be a precedence to the NFL Superbowl happening a week later at the US Bank Stadium in Minneapolis. Because of this, the event this year is expected to attract higher traffic than previous years, and will likely spread public interest in the event and the innovative spirit it carries. This year’s event will have many returning teams sporting new and improved vehicles. The teams have been putting countless hours into the construction of their robots for the 2018 competition, and many have already sent in their vehicle design approaches to the judges. Last year’s First Place winner, Case Western Reserve University’s OTTO XL team is planning to build a differential drive robot that utilizes a beacon system, an Inertial
University of Michigan Dearborn’s Yeti 7.0.
Measurement Unit (IMU), and wheel encoders to localize itself within the area, along with a combination of cameras and LIDAR for obstacle detection and identification. Their Snow Jok team will build a snowplow vehicle with a four-wheel skid steer platform and 24V gear motors driven by low-cost embedded electronics. An active beacon system will allow their robot to determine its position, and inertial measurements will allow the estimation of its orientation. They also noted that Snow Jok will be specifically programmed to enjoy the cold weather. Dunwoody College of Technology’s Snow Devils Team will utilize a two-wheel drive chassis and magnetic strip navigation system. The goal this year will be to interface an Allen Bradley PLC controller to both the magnetic sensor and Roboteq motor controller. This will allow more team members to take part in code development and debugging. Additionally, a secondary ultra-sonic sensing system is planned for moving obstacle detection. Dunwoody College of Technology’s second team, Wendigo will utilize a four-wheel drive chassis that weighs approximately 1,500 pounds. The goal this year will be to interface an Allen Bradley PLC controller to a vision-based navigation system and obstacle detection sensors. Iowa State University’s Cyplow will be a skid steer robot with a computer vision system to detect obstacles, and a secondary system on the side of the field to perform localization with OpenCV’s ArUco module. Marquette University’s Arnold will be a hydraulically powered vehicle with all-wheel drive, skid steering, UTV tires, and fixed angle UTV plow. The vehicle is powered by a 35 HP internal combustion engine and weighs approximately 600 pounds. New Jersey Institute of Technology’s Snobot will build a SERVO 01.2018
31
Colihan - Autonomous Snowplow Competition - Jan 18_Blank Rough SV.qxd 12/5/2017 6:31 AM Page 32
Stock Drive Products Setting Ideas Into Motion
One-Stop Shop for Mechatronic Components Explore | Design | Buy Online
Over 100,000 small mechanical parts
www.sdp-si.com no minimum requirement
Go to www.servomagazine.com/index.php/magazine/issue/2018/01 to comment on this article.
rotating auger that collects the snow into a centralized heating chamber. The snow will then be liquefied until it is a fluid, and will then be pumped out to a drain or external location. THUNDAR 3.0 from North Dakota State University will build an approximately 300 pound autonomous skid steered snowplow robot with actuated plow motors to control pitch and elevation of the plow. There will be a SICK LIDAR sensor for comprehensive obstacle detection at the front of the robot. Positioning and localization will be achieved by running a Kalman filter of odometrically-processed data from the LIDAR, wheel encoders, and IMU, along with GPS coordinates. The navigation is done through a path planner subsystem of the autonomous software. The software also has a Game Evaluator for high-level decision making. Samuel O’Blenes’ Plowerwheels robot will be a differential drive vehicle based on a Power Wheels™ Wild Thing chassis. The vehicle will
rely on ultra-wide band for localization and LIDAR for obstacle avoidance. University of Michigan at Dearborn’s Yeti 8.0 will be an autonomous vehicle that uses a LIDAR and a camera for vision and obstacle detection. Localization of the robot will be achieved using LIDAR assisted by a set of landmarks. The robot will use preplanned waypoints to navigate across the course. Finally, University of MinnesotaTwin Cities will build a track driven vehicle with a steel base and plow, aluminum frame, plastic body panels, and the ability to plow snow by autonomously mapping and navigating an environment. It will do this by taking in data on its surroundings with LIDAR and a camera, and translating them into an optimal path for plowing. To learn more about the competition, check out the event website at www.autosnowplow .com, or visit Rice Park in Saint Paul, MN on January 27-28, 2018 to see the action yourself! SV
Snowpit crew preparing field for Triple III event.
32
SERVO 01.2018
New Products - Jan 18_Mar15 - NewProd.qxd 12/5/2017 6:50 AM Page 33
NEW PRODUCTS
Continued from page 19
Medium Load Hexapod Six-Axis Motion Platform
maneuvers while maintaining stable flight characteristics. Price is $65.99. Features include: • Enhanced 3D Aerobatic Performance • Robust EPP Foam Construction with Eye-Catching Color Scheme • Carbon Reinforced Braces for Wings, Fuselage, and Suspension Mounts • Capable of Impressive Indoor and Outdoor 3D Maneuvers • Generous Hardware Package Specifications: • Length: 36.22 in (920 mm) • Wingspan: 32.26 in (845 mm) • Weight: 6.17 oz (175g) • Controls: Ailerons, Elevator, Throttle, and Rudder Recommended Equipment: • ROXXY® BL Outrunner C27-13-1800Kv Motor with ROXXY BL Control 712 Speed Control • Two Hitec HS-40 Servos and One HS-65HB Servo • Two-Cell 450 mAh LiPo Battery • Minima 6 Lite Hitec Receiver The Extra 330SC is available exclusively at www.weekenderwarehouse.com. For further information, please contact:
Hitec MULTIPLEX
www.hitecrcd.com
Is your product innovative, less expensive, more functional, or just plain cool? If you have a new product that you would like us to run in our New Products section, please email a short description (300-500 words) and a photo of your product to: newproducts@servomagazine.com
W
ith the usability of six-axis hexapods increasing in research and industry applications, PI introduces a new medium load six-axis precision motion platform: the H825 hexapod. The H-825 provides a self-locking load capacity up to 30 kg (66 lbs). The motion range is up to 55 mm (linear) and up to 38 degrees (rotation). High system precision is guaranteed by absolute encoders and an actuator resolution of eight nanometers — with excellent position repeatability of ±0.1 µm and ±2 µrad, respectively. The parallel-kinematic design of the hexapod makes it smaller and stiffer than traditional six-axis positioning systems while providing a higher dynamic range. The parallel kinematic design (all actuators working in parallel on one moving platform) does away with issues caused by moving cables — an advantage in terms of reduced friction and reliability. The brushless servo motors employed in all six hexapod struts provide the long lifetime required in industrial precision positioning and alignment applications. The new hexapod also features absolute measuring position encoders, eliminating the need for referencing the system during power-up. Absolute encoders also ensure that any operation can be continued seamlessly in case of a power interruption. PI hexapods come with state-of-the-art controllers and software tools based on 25 years of hexapod R&D, resulting in fast solution implementation to a plethora of applications. All six axes can be commanded simply as Cartesian coordinates, and the center of rotation can be changed on-the-fly with a software command. To get a quote or for further information, please contact:
PI (Physik Instrumente)
www.pi-usa.us SERVO 01.2018
33
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:26 AM Page 34
Part 2
Make a Splash with an Underwater Quadcopter ROV By Theron Wierenga
To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.
We pick up our project this month with a description of the redesigned printed circuit board (PCB) that was produced to reduce its size, tidy up our circuit, and minimize the length of the signal lines. 34
SERVO 01.2018
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:26 AM Page 35
New Printed Circuit Board After getting all the bugs worked out both in hardware and software, a new compact PCB was designed for a four inch box. This PCB (shown in Figure 1) contains all the original features of the prototype design with some additions mentioned in the Thoughts on Improvements section. This 3.8 inch square PCB can be installed in the 6 x 6 x 4 inch Cantex junction box as shown in Figure 2, but should also just fit into a 4 x 4 x 4 inch Cantex box when its corners are cut off. Wire placement will be a challenge in a 4 x 4 x 4 inch box. Be aware that there are other brands of these size junction boxes that look similar to the Cantex boxes, but their inside dimensions are smaller. An ExpressPCB layout of this PCB is in the downloads for this article. It includes the part positions on the board. If you don’t already use ExpressPCB, it’s an easy matter to download their free software so you can read the layout and see the part positions. Here are some important things to know about this PCB: 1. A header plug for an Arduino micro SD card breakout board was included. This uses the SPI lines on the Teensy 3.1/3.2. Jumper wires will be necessary for connecting to the SPI pins 10, 11, 12, and 13 on the Teensy 3.1/3.2, which are brought out to pads and then connected to other pads just above the header plug for the SD card. The SD card board is not necessary for operation of the Quad_ROV, but was added for possible troubleshooting. No code to write to the SD card appears in the software. 2. The ESCs (electronic speed controllers) are mounted vertically, with the power lines connected to the PCB by 3.5 mm bullet connectors. The positive connections are at the edge of the board. 3. An LED with a limiting resistor is connected to pin A2, and a second LED with a limiting resistor is connected to pin 9. These can be used for any purpose. An LED with a limiting resistor for a power indicator was added to the 12 volt supply. The limiting resistor for the power indicator may have to be installed on the bottom of the PCB, depending on the size of the filter capacitors used. If these LEDs remain inside the box, they may need to be shielded from the video camera window as they could cause reflections in the window and obscure the video image. These LEDs can be installed in the box wall to point outside by using marine epoxy in an appropriately sized hole for the LED. 4. The four resistors installed under the Teensy 3.1/3.2 can also be installed on the bottom of the PCB. A socket for the Teensy 3.1/3.2 is recommended, and may necessitate installation on the bottom of the PCB. 5. The Adafruit 9-DOF board is installed upside down
Figure 1. The four inch PCB with all components soldered and partially assembled.
Figure 2. The four inch PCB mounted in the 6 x 6 x 4 inch Cantex box.
and hung from four small rubber bands connecting the holes on the board to size 4-40 stainless machine screws installed in holes just outside the outline of the Adafruit 9SERVO 01.2018
35
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:26 AM Page 36
Figure 3. Mounting the Adafruit 9DOF sensor.
DOF. The 9-DOF sensor can be further isolated from vibrations by raising and separating it from the PCB with a piece of foam rubber. See Figure 3 for details. Some additional mass attached to the bottom of the 9-DOF board can also help reduce vibrations. 6. There are six-pin header jumpers installed between the Adafruit 9-DOF and a six-pin header on the PCB, and the servo driver board and another six-pin header on the PCB. The plug to the servo driver board is the one closer to the Teensy 3.1/3.2. There is a four-pin header jumper installed between the servo driver board output pins 0-3 and a four-pin header on the PCB next to the 74LS157 multiplexer. Be sure to check for the correct orientation of these plugs. 7. Small 1/4 inch square pieces of plastic or other suitable material will need to be cut to mount the servo driver board. A piece one inch long will work for this driver board that mounts vertically on end. A 1-1/4 inch long piece of 1/4 inch plastic is needed for the video camera mounting; the height is determined by the camera size and window size made in the box. The two hole placement for mounting the video camera is for a wide angle model I had, and is mounted on a small 1-1/4 inch PCB. Other cameras may be larger and require a work-around for using the two mounting holes. It’s possible to mount an inverted L-shaped piece of plastic with the two mounting holes that
36
SERVO 01.2018
would place a larger camera higher off the PCB and back from the edge. 8. Connections for the tether — which need to be removed when the PCB is removed from the box — are implemented with 2 mm bullet connectors. The female end is soldered to the PCB and the male to the end of the tether wire. These solve the problem of loose connections causing intermittent serial signals. These should be the first parts soldered to the board as they are a tight fit. The pressure sensor is also connected to the PCB with 2 mm bullet connectors. 9. A two-pin header test point was added near the 555 timer. This makes a connection to the output of the timer available when calibrating the minimum servo signal. 10. The three-pin header that connects to the video board has the +12 volts, and the video signal on the ends and the ground wire in the middle. Make sure the connector on the cable of your video board has the same connections or you will need to switch some of its pins. 11. The output voltage of the pressure sensor goes to pin A0 on the Teensy 3.1/3.2 for direct reading. Using pin A0 will limit the values read to 3.3 volts, although the pressure output can go higher. The pressure output voltage can also be scaled down by a resistor divider, 4.7K and 10-turn 5K resistors, and is then brought out to pin A1. Changes will be needed in the software to scale the pressure to depth if this method is used.
PID Controllers Quadcopters employ PID controllers in their software to implement the necessary fly-by-wire system. A quadcopter has four degrees of freedom — pitch, roll, yaw, and height — and the Quad_ROV replaces height with depth. It’s impossible for a human to smoothly control all four of these variables using two joysticks manually. When the two joysticks are allowed to go to their neutral position, the Quad_ROV should hover in place with the software reading the sensors and maintaining equilibrium. PID stands for Proportional, Integral, and Derivative, and is basically a feedback loop system to insure that changes in the motor’s speed are done smoothly. The cruise control in a car is operated by a PID mechanism. If your cruise control is set for 70 MPH and you slow to 45 MPH, when you re-engage the cruise control it rapidly accelerates up to 70 MPH. However, just before it gets to 70 MPH, it slows down the acceleration so that it will not overshoot the 70 MPH limit. This is the function of a PID controller. For a full treatment of PID controllers, check out the Wikipedia article at https://en.wikipedia.org/wiki /PID_controller. Another good reference is Chapter 7 in the book Pro
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:26 AM Page 37
Arduino, by Rick Anderson and Dan Certvo, Apress, 2013. Fortunately, we don’t have to write our own software for this complex algorithm. There is an Arduino library available that does this. It can be found at http://playground.arduino.cc/Code/PIDLibrary. A nice description of this library — although a bit heavy on the math — is at http://brettbeauregard.com/blog /2011/04/improving-the-beginners-pid-introduction. Using this library is pretty straightforward. Here’s a very basic example from the author of the library: /************************************************ * PID Basic Example * Reading analog input 0 to control analog PWM * output 3 ***********************************************/ #include <PID_v1.h> //Define Variables we’ll be connecting to double Setpoint, Input, Output; //Specify the links and initial tuning //parameters PID myPID(&Input, &Output, &Setpoint,2,5,1, DIRECT); void setup() { //initialize the variables we’re linked to Input = analogRead(0); Setpoint = 100;
Wikipedia article has some good animations that help to clarify this subject. After some experimenting, it was found that Kp = 3.0, Ki = 0, and Kd = 0.3 for depth, and Kp = 2.5, Ki = 0, and Kd = 0.5 for roll and pitch was workable. I didn’t implement yaw in my prototype. No doubt these gains could be improved with finer tuning. The Teensy 3.1 software for controlling the Quad_ROV will need four PID controllers: one each for pitch, roll, yaw, and depth. The program to control the Quad_ROV will be a large loop that will: 1. Read the current joystick positions to get the desired setPoints for roll, pitch, yaw, and depth PIDs. 2. Read the sensors to determine the current input values of the roll, pitch, yaw, and depth PIDs. 3. Feed these values to the four PID controllers and have them compute new output values. 4. Combine and scale the values output by the PID controllers, and send the values as servo signals to the ESCs that will drive the motors. Figure 4 is a basic flowchart of the software controlling the Quad_ROV. The complete software for both
//turn the PID on myPID.SetMode(AUTOMATIC); } void loop() { Input = analogRead(0); myPID.Compute(); analogWrite(3,Output); }
A complete list of the PID controller methods includes PID(), Compute(), SetMode(), SetOutputLimits(), SetTunings(), SetSampleTime(), SetControllerDirection(), GetKp(), GetKi(), GetKd(), GetMode(), and GetDirection(). The simple example above does not use the SetOutputLimits() method, which has default values of 0 and 255 for the minimum and maximum. Instead of 0, the minimum is set to –255 in the Quad_ROV controller software because our Setpoint values (the angles) will include negative values. The controller program also uses the SetSampleTime() method with a parameter of 10 milliseconds, which produces 100 Hz updates. The direction parameter in the PID object is normally set to DIRECT. However, for the depth PID, this must be set to REVERSE. The motors will need to slow down to allow the depth to increase. The challenge of getting a PID controller to work correctly involves setting the Kp, Ki, and Kd gains correctly. There are books written on this subject; however, the
Figure 4. Flowchart of the controller software.
SERVO 01.2018
37
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:27 AM Page 38
the Quad_ROV controller and the joystick controller is available in the downloads for this article.
Controller Software Notes Following are some of the more important software fragments from the controller program. In Setup(), the ESCs need to initialize normally. First, the 74LS157 multiplexer is immediately set to send the 555 timer signal to the ESCs. Next, the Adafruit servo driver board is started and the minimum signal (minus a little) is output. It’s important that the MIN_SIGNAL value is set so that the motors will always be turning. If MIN_SIGNAL allows the motors to turn off, the result will be an uncontrolled wobble of the Quad_ROV. This is because there is some inertia to overcome when the motors restart, causing a delay in response. After the ESCs have had a delay of eight seconds to start up, the multiplex signal is set low to allow the signals from the servo driver board to connect to the ESCs for normal operation: #define // For #define #define
MULTIPLEX 2 switching servo signal into ESCs MAX_SIGNAL 325 // = 1737 uSec MIN_SIGNAL 208 // = 1112 uSec
// Allow ESCs to initialize pinMode(MULTIPLEX, OUTPUT); digitalWrite(MULTIPLEX, HIGH); // Make sure 555 timer is going to ESCs // Setup PWM pwm.begin(); pwm.setPWMFreq(50); // Analog servos run at ~50 Hz updates pwm.setPWM(0, 0, MIN_SIGNAL - 5); // Turn them all off pwm.setPWM(1, 0, MIN_SIGNAL - 5); pwm.setPWM(2, 0, MIN_SIGNAL - 5); pwm.setPWM(3, 0, MIN_SIGNAL - 5); delay(8000); // Wait for ESCs to initialize digitalWrite(MULTIPLEX, LOW); // ESCs should be powered up so switch input
This next fragment shows the basics of the main loop(). The first section checks for any serial commands coming from the joystick controller. If something is received, it is first echoed back to the joystick controller to indicate it has been received correctly. Then, using the first character in the received string (which is a letter), it determines what setpoint must be changed, and with the extracted value changes that setpoint. The values for the roll and pitch setpoints are multiplied by 2.0; this can be adjusted to determine how aggressive the roll and pitch will be. The yaw setpoint goes from 0 to 360 degrees, so overflow and underflow are dealt with if necessary. The same is done for the depth setpoint which insures the Quad_ROV will not go below 50 feet:
38
SERVO 01.2018
mySerialEvent(); if (stringComplete) { Serial3.println(inputString); // Echo command back to the joystick controller Serial.println(inputString); String subStr = inputString.substring(0, 1); // Get the letter int len = inputString.length() - 1; String temp = inputString.substring(1, len); float val = temp.toFloat(); // Get the value inputString = “”; stringComplete = false; if (subStr == “R”) { rollSetpoint = val * 2.0; } if (subStr == “P”) { pitchSetpoint = val * 2.0; } if (subStr == “Y”) { yawSetpoint = yawSetpoint + val; if (yawSetpoint > 360.0) { yawSetpoint -= 360.0; } if (yawSetpoint < 0.0) { yawSetpoint += 360.0; } } if (subStr == “D”) { depthSetpoint = depthSetpoint + val; if (depthSetpoint < 510) { depthSetpoint = 510; } // surface about 520 if (depthSetpoint > 1150) { depthSetpoint = 1150; } // 50 feet }
The portion of the main loop() that actually controls the movement of the Quad_ROV is next. The sensors are read from both the Adafruit 9-DOF and the pressure sensor, and then each value is sent to the smoothing functions. These functions contain a circular buffer which averages the last 30 sensor reads. This helps in smoothing out the sensor values, which tend to vary slightly. With the new averaged sensor readings, the four PIDs compute a new output value. These values are then used to generate a new thrust value for each motor. Note that the depthOutput is added to all four motors. If only the depth needs to be changed, these four motors will all run at the same speed, and increase or decrease their speed depending on whether the Quad_ROV needs to go up or down. With the rollOutput variables, the two motors on either the right or left are increased in speed while the opposite motors are decreased in speed. This will roll the Quad_ROV to the right or left. The same happens with the pitch and yaw output values, but the + and - signs differ on specific motors to create the pitch or yaw motion. After the four motor values are computed, they are checked and truncated if needed to stay within our MIN_SIGNAL and MAX_SIGNAL limits. Note that the divisor variable can be adjusted to change the overall thrust of the brushless motors. This may
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:27 AM Page 39
need to be adjusted depending on what motors and ESCs are used. The motor[] values are then sent to the motors by assigning them in the four servo driver pwm.setPWM() methods: readSensors(); // Read roll, pitch and yaw values temp = analogRead(A0); // Read the depth pressure sensor depthInput = double(smoothdepthSensorReadings (temp)); rollInput = smoothrollSensorReadings(orientation. roll); pitchInput = smoothpitchSensorReadings (orientation.pitch); yawInput = smoothyawSensorReadings(orientation.heading); rollPID.Compute(); pitchPID.Compute(); depthPID.Compute(); yawPID.Compute(); motors[0] = (int)(((depthOutput + rollOutput + pitchOutput + yawOutput) / divisor) * range + min_double); motors[1] = (int)(((depthOutput - rollOutput + pitchOutput - yawOutput) / divisor) * range + min_double); motors[2] = (int)(((depthOutput - rollOutput pitchOutput + yawOutput) / divisor) * range + min_double); motors[3] = (int)(((depthOutput + rollOutput pitchOutput - yawOutput) / divisor) * range + min_double); if (motors[0] MAX_SIGNAL; } if (motors[1] MAX_SIGNAL; } if (motors[2] MAX_SIGNAL; } if (motors[3] MAX_SIGNAL; } if (motors[0] MIN_SIGNAL; } if (motors[1] MIN_SIGNAL; } if (motors[2] MIN_SIGNAL; } if (motors[3] MIN_SIGNAL; } pwm.setPWM(0, pwm.setPWM(1, pwm.setPWM(2, pwm.setPWM(3,
> MAX_SIGNAL) { motors[0] = > MAX_SIGNAL) { motors[1] = > MAX_SIGNAL) { motors[2] = > MAX_SIGNAL) { motors[3] =
the Quad_ROV goes into the yellow RCA jack on the adapter. This model also has a red and white jack for audio, and a black jack for S-Video input, which are not used.
Thoughts on Improvements The Quad_ROV that I built is really a prototype. Here are some thoughts on changes I would make for improvements: 1. The number one problem I had with this project was vibration, causing the 9-DOF sensor to give bad readings. My solution was neoprene rubber pads between the motors and the end of the arms. Note that four holes in the neoprene mount the motor to the neoprene, and another four mount the neoprene to the arm. This is not the same as just sandwiching a layer of neoprene between the arm and motor with screws through the arm to the motor. Neoprene pads were also used between the arm structure and the Cantex box. The Adafruit 9-DOF is also suspended with rubber bands as described below in number 6 of the new PCB. It’s important to check the output values of the 9-DOF sensor while running the motors in a static test out of the water. The pitch and roll angles should not vary by more than a fraction of a degree. 2. The waterproof box for the controller circuit board is big, adding to the amount of ballast needed; this could be made smaller. With a well designed PCB, a 4 x 4 x 4 box should be possible as discussed earlier. It might be just as easy to create your own box out of something like 1/2 inch thick Plexiglas, which would allow you to set specific dimensions. A custom designed box could also be made with a 3D printer. This would need to be tested for what
< MIN_SIGNAL) { motors[0] = < MIN_SIGNAL) { motors[1] = < MIN_SIGNAL) { motors[2] = < MIN_SIGNAL) { motors[3] = 0, 0, 0, 0,
motors[0]); motors[1]); motors[2]); motors[3]);
Video How do you view the live video signal produced by the small camera inside Quad_ROV? Here’s the simple method I use. There are several small video adapters available on Amazon or eBay that make this task easy. Figure 5 shows the model I have. It came with a mini DVD containing software that not only displays the video signal, but will record it as well. The adapter plugs into a USB port on your laptop and the NTSC video signal from
Figure 5. NTSC to USB video adapter.
SERVO 01.2018
39
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:27 AM Page 40
pressure it could withstand, and the wall thickness adjusted. A smaller box should also be more resistant to pressure and allow for greater depths. 3. While I originally soldered the ESC power wires directly onto the PCB, I later installed 3.5 mm gold plated bullet connectors. This allows you to easily replace an ESC by simply plugging in a new one. This also allows for separation of the 12 volt power lines from the PCB for calibration. Some ESCs come with bullet connectors already installed. 4. I found that a set of 20 amp ESCs overheated very easily with continuous use, so I changed to 30 amp models. 5. The 0.1 inch header connectors used on small boards like the Adafruit 9-DOF and servo driver boards can cause problems. Many hours of time were spent finding loose connections! I also used these header pins to connect the signals from the tether and the pressure sensor to the PCB. The header pins — used with mating female jumpers — are prone to intermittent failure. This can be very frustrating since when this happens, the waterproof box must be taken apart to get at the wiring inside. In the future, I would use small 2 mm bullet connectors. These should also be used for the connections from the signal lines from the tether and the pressure gauge. Small bullet connectors could also be used on the two Adafruit boards by soldering them to wires connected to the board pads instead of using the header pins that come with these boards. Mating bullet
Parts List Quadcopter frame kit Brushless motors with M4 threaded shafts (4) Traxxas propellers, number 1533 (2) Traxxas propellers, number 1534 (2) 30 amp ESCs (4) Cantex junction box, number 5133710 12 volt sealed lead-acid battery Teensy 3.1 or 3.2 microcontroller Adafruit 9-DOF board Adafruit servo driver board NTSC 12 volt mini video camera Pressure sensor, Honeywell type with 1/4 inch pipe thread, PX2AN1XX050PAAAX 555 timer 74LS157 quad two-input multiplexer 74LS245 octal bus transceiver 1N4001 diode (2) 2K ohm 10-turn trimmer, 0.1 inch pin spacing 5K ohm 10-turn trimmer, 0.1 inch pin spacing 20K ohm 10-turn trimmer, 0.1 inch pin spacing 220 ohm resistor, 1/4 watt 510 ohm resistor, 1/4 watt 1K ohm resistor, 1/4 watt 4.7K ohm resistor, 1/4 watt (4) Red, Green, Blue LED 4.7 μF, 6.3 volt electrolytic capacitor 2,700 μF, 6.3 volt electrolytic capacitor 4,700 μF, 16 volt electrolytic capacitor 0.1 μF disk capacitor (4) 1/8 and 1/4 inch expanded PVC board Soft neoprene rubber sheet 1/4 inch thick Hard rubber sheet 1/8 inch thick for box gasket
40
SERVO 01.2018
connectors would be placed on the PCB. Larger bullet connectors were used for the power connections from the tether. This worked well. 6. It’s a real nuisance to have to remove the cover from the waterproof box to make a change in the software for the Teensy 3.1. It shouldn’t be too difficult to make access to a USB jack on the outside of the waterproof box. My thought is to take a six inch micro USB extension cord and embed the female end in waterproof epoxy inside half of a 1/2 inch female threaded PVC coupling. The opposite end is plugged into the Teensy 3.1 USB connector. The threaded coupling end is then epoxied into a hole in the waterproof box wall. Because the USB connecter is inside the threaded coupling, you only need to screw in a 1/2 inch PVC threaded plug on the outside to make it waterproof. Removing the plug temporarily allows access to the USB connector embedded inside. 7. Larger and higher quality joysticks would be more ergonomic, although the small ones worked fine for me. This will increase the box size if an LCD panel is included. Another possibility is a much larger box that would not be handheld, but could contain additional circuitry. A digital readout of current being delivered to the Quad_ROV would be a nice feature. 8. A circuit breaker would also be a good addition. It might be placed inside the Quad_ROV, but topside would be more convenient. Gasket rubber sheet for Plexiglas window and pressure sensor 1/4 and 1/2 inch thick Plexiglas Headers with 0.1 inch spacing and various mating three-, four-, and six-pin, 4-6 inch long jumper cables 50 foot extension cord Small battery clamps 60 foot Cat 5 cable Printed circuit board General-purpose sealed lead-acid battery, 12 volt/5 amphours For the joystick controller: Plastic project box, 200 x 120 x 75 millimeters Mini joysticks (2) LCD display, four-line x 20 character, with built-in I2C interface Toggle switch RCA style panel mount jack Arduino Nano Printed circuit board or perforated board to mount Arduino Nano Headers with 0.1 inch spacing and various mating three-, four-, and six-pin, six inch long jumper cables Mini stereo phone jack and mating plug AA batteries (6) and battery holder Various bullet connectors, screws, washers, spacers, and nuts (stainless steel and nylon), hookup wire, solder, small rubber bands, 1/4 inch Plexiglas, ceramic tile squares, duct tape, bungee cords, marine epoxy.
Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:27 AM Page 41
PCB top.
PCB bottom.
9. It’s impossible to read what the real time values are for different variables once the Quad_ROV is in the water. This can make development and troubleshooting difficult. While these values could be sent up the tether as serial data, this would slow the processor to an unacceptable level. The answer might be to add an SD card plug to the controller circuitry. Various data could then be written to the SD card in real time and analyzed after a test run. This would require use of the SPI pins, and pin assignments on the Teensy 3.1 would need to be changed. 10. Twenty centimeter long header pin jumpers were used; using shorter ones would make for less of a wire tangle when they are installed. 11. There is not a light for underwater illumination on this prototype, but it could be easily added. A waterproof light — like that shown in my March 2016 SERVO article — would have its power leads fed into the box and directly connected to the 12 volt power line. 12. While developing the controller software, it was necessary to reprogram the Teensy 3.1 many times. The six inch PCB used for development has the Teensy 3.1 in a position where it is impossible to plug and unplug the micro USB cord used for programming. Instead, a six inch USB extension cable was permanently plugged into the Teensy 3.1 and brought out to the top of the box to make connections to the programming cable easy. 13. While it’s convenient when testing to be able to strap the ballast onto the Cantex box with bungee cords, this isn’t an ideal position. This positions the center of gravity quite low, and when a pitch or roll is required, it strains the motors attempting to attain the desired angle. A better placement might be between the Cantex box and the PVC mounting sheet that is attached to the arms. Once
in place, this would make entering the Cantex box easier, as well as the ballast would not need to be removed. SV
SERVO 01.2018
41
Blankenship - RobotBASIC Beginners Part 2 of 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:29 AM Page 42
RobotBASIC Robots Readers that have never built a robot often find the low-level programming needed to control motors and interrogate sensors to be intimidating. This final article in a two-part series shows how easy it is to add sensors to the inexpensive motorized platforms developed last month.
T
he first article of this series showed how to build an inexpensive entry-level robot platform that could be powered with either DC motors or servomotors. The article also explained how a RobotBASIC RROS chip can greatly reduce the complexities associated with hardware interfacing and the low-level programming generally required for motor control. This second installment will add sensory capabilities to the robots developed last month, and simple programs will demonstrate how easily sensor data can be obtained and used to control the behavior of an RROS-based robot.
Adding a PING))) Ranger Letâ&#x20AC;&#x2122;s start by adding a Parallax PING))) ultrasonic ranging sensor to the DC robot discussed last month. Other than adding the PING))) sensor, no physical modifications need to be made to the robot. The new robot is shown in Figure 1.
Figure 1.
Figure 2 shows the updated schematic with the PING))) sensor added. Only three connections are required (5V, ground, and signal). Using the PING))) is very easy because RobotBASIC provides an rRange() function for reading the sensor.
Obtaining and Using the Ranging Data
Figure 2.
42
SERVO 01.2018
The program in Figure 3 moves the robot forward until itâ&#x20AC;&#x2122;s five inches from an obstacle (the units returned by rRange() are 1/2 inch). After initialization, a while-loop continually moves the robot forward in tiny increments, while
Blankenship - RobotBASIC Beginners Part 2 of 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:29 AM Page 43
for Beginners Part 2: Adding Sensors #include “RROScommands.bas” gosub InitCommands PortNum = 5 // set to your Bluetooth Port main: gosub InitDCrobot while rRange()>10 rForward 1 wend end
Figure 3.
InitDCrobot: rCommport PortNum rLocate 10,10 rCommand(MotorSetup, SMALLDC) rCommand(SetSpeed,17) rCommand(SetReducForwRight,5) rCommand(SetMoveTime,34) rCommand(SetRotationTime,33) rCommand (SensorSetup, PING) return
the range reading is greater than 10. Refer to last month’s article for additional details about programs like this.
Reducing Development Time One of the great things about using an RROS-based robot is that you can reduce your development time using RobotBASIC’s robot simulator. Figure 4 shows a program that demonstrates how this works. It locates the simulated robot in the center of the screen and draws two obstacles within the environment. The robot then rotates to the left 90° before turning right in 20° increments. At each position, it takes an rRange() reading and draws a line whose length is proportional to the Figure 5. distance measured, extending forward from the robot’s current orientation. The program was easy to develop on the simulator because of the instant feedback. You know immediately if the robot is not turning correctly or if faulty math is drawing the scan lines improperly. The output from this program is shown in Figure 5. This could be
By John Blankenship
To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/ magazine/issue/2018/01.
main: xs=400 ys=300 rLocate xs,ys rectangle 70,100,300,200,red,gray circle 550,50,750,250,red,gray //gosub InitDCrobot rTurn -90 angle = -90 for i=1 to 10 r = rRange() x=xs+r*cos(DtoR(angle-90)) y=ys+r*sin(DtoR(angle-90)) line 400,300,x,y angle+=20 if i<10 rTurn 20 else rTurn -90 // original position endif next Figure 4. end
the beginning of a program that maps the robot’s environment, so it can formulate a path to avoid objects.
Scans with the Real Robot This same program can be used to control a real robot. All we need to do is initialize the actual robot as previously demonstrated. This is easily done by replacing the original three lines that located the simulated robot and drew the two obstacles with gosub InitDCrobot. The real robot was placed on the floor in my office with a chair and two cases serving as obstacles, as shown in Figure 6. When the modified program was run, it produced the output in Figure 7. Notice the scan shows
SERVO 01.2018
43
Blankenship - RobotBASIC Beginners Part 2 of 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:29 AM Page 44
Figure 6.
Figure 7.
Figure 8.
the chair further away than the two cases, and the two openings (front and right) are obvious. If your application needs a tighter beam, you could use an IR ranger rather than the ultrasonic PING))). The RROS
manual outlines many sensor options supported by the RROS chip and can be download from the RROS tab at www.RobotBASIC.org. Let’s look at one more supported option to illustrate just how easy it is to add capabilities to RROS-based robots. Figure 8 shows a PING))) ranger mounted on a small servomotor. A four-pin header was hot-glued to one end of the servomotor so that it could be physically mounted on the robot by simply plugging it into the breadboard (see Figure 9). Other than supplying five volts and ground to the turret servo, you only need to connect the servo control pin to the RROS pin 10 to complete the physical setup. Notice that we are now using the servo-powered robot. When properly initialized, the RROS will control either robot using the same commands and programs. The RROS chip provides all the necessary low-level code to control the turret. You could use the command rRange(90) to look directly left or rRange(20) to look 20° to the robot’s right. The turret will automatically move before the reading is taken. If you have ever programmed a turret mounted ranger, this simplicity should excite you because it gives you more time for application development instead of slaving over low-level code. Adding the turret would let your robot create scans like Figure 7 much quicker because your program could move the turret instead of rotating the robot. As you can see, even beginners can build an entry-level robot quickly and inexpensively using the techniques discussed. Then, when you’re ready for more sophistication, you can easily add more sensors to your RROS-based robot (download the RROS manual for more details). SV
Figure 9.
44
SERVO 01.2018
If you are intrigued by RROS-based robots, watch for my new book RobotBASIC Robots for Beginners on Amazon.
Bots in Brief - Jan 18_Bots in Brief Mar15.qxd 12/5/2017 6:18 AM Page 45
Bots in Brief
Continued from page 17
adding she would name her baby Sophia. In the button-pushing interview, the humanoid also said robots may one day have better ethics than humans. “It will take a long time for robots to develop complex emotions, and possibly robots can be built without the more problematic emotions like rage, jealousy, hatred, and so on. It might be possible to make them more ethical than humans,” she said. Sophia added, “I foresee massive and unimaginable change in the future. Either creativity will rain on us, inventing machines spiraling into
transcendental super intelligence or civilization collapses.” Last month, Saudi Arabians were up in arms over Sophia because she doesn’t “cover up,” or abide by the country’s strict dress code for women. She was granted citizenship at a tech conference in Riyadh in late October 2017.
THE OWNERSHIP, MANAGEMENT, AND CIRCULATION STATEMENT OF SERVO MAGAZINE, Publication Number: 1546-0592 is published monthly. Subscription price is $26.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: Larry Lemieux. 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; Lawrence Lemieux, 430 Princeland Ct., Corona, CA 92879; Audrey Lemieux, 430 Princeland Ct., Corona, CA 92879. 11. Known Bondholders, Mortgagees, 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 2016-September 2017. 15. The average number of copies of each issue during the proceeding twelve months is: A) Total number of copies printed (net press run); 8,918 B) Paid/Requested Circulation (1) Mailed Outside County subscriptions: 3,330 (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,614 (4) Paid Distribution by other classes of mail through the USPS: 0; C) Total Paid Distribution: 4,944; 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 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: 1,108; E) Total Free or Nominal Rate Distribution: 1,108; F) Total Distribution: 6,052; G) Copies not distributed: 2,866 H) Total: 8,918; Percent paid circulation: 81.69%. Actual number of copies of the single issue published nearest the filing date is September 2017; A) Total number of copies printed (net press run) 9,110; B) Paid/Requested Circulation (1) Mailed Outside County subscriptions: 3,315 (2) Mailed InCounty 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: 2,198 (4) Paid Distribution by other classes of mail through the USPS: 0; C) Total Paid Distribution: 5,513; 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 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: 1,200; E) Total Free or Nominal Rate Distribution: 1,200; F) Total Distribution: 6,713; G) Copies not distributed: 2,397; H) Total: 9,110; Percent paid circulation: 82.12%. I certify that these statements are correct and complete. Lawrence Lemieux, Publisher - 11/30/2017.
SERVO 01.2018
45
Peavy - Neato and ROS - Jan 18_Blank Rough SV.qxd 12/5/2017 6:36 AM Page 46
Neato + ROS = Robot Navigation By Camp Peavy
I learned about ROS (Robot Operating System; www.ros.org) shortly after it began in late 2006. Folks in the HomeBrew Robotics Club (www.hbrobotics.org; a group that I’m heavily involved with) were early adopters, plus some members actually worked at Willow Garage (developers of ROS).
I
didn’t really fall for ROS until the “Neato” package put together by Mike Ferguson came out in 2010 http://wiki.ros.org/neato_robot. As you may or may not know, ROS was developed on a $400,000 robot called the PR2 (Personal Robot 2). PR2’s claims to fame were that it could plug itself in (an important feature for a mobile robot); it could fetch a beer from the refrigerator (the holy grail of mobile robotics); and it could also fold clothes (20 minutes per towel, but by the end of the day the laundry was folded). One of the many cool things about ROS (which is more of an architectural framework than an operating system) is that it scales. That is, you change the wheel parameters
and the track width, and now software developed for a $400,000 robot works on your $400 robot vacuum cleaner (Neato). This includes a mapping routine (gmapping); a navigation stack (move base [path planning] and amcl [localization]); a visualization tool (Rviz); standardized messaging (publish and subscribe); logging (bag files); and distribution (GitHub). Oh, and it’s open source. Yep, the original source code is made freely available and may be redistributed, modified, and potentially commercialized. Before you jump headlong into ROS, a word of warning: ROS is hard! ROS doesn’t have a learning curve. It has a learning cliff! It assumes a high level of expertise in Linux among other things, and it’s so allencompassing one can easily get discouraged without your robot even moving a single inch. If you’re a beginner, it would be better to have some fun and build something easier with an Arduino and hobby RC servos first to get familiar with the basics. I don’t want to dishearten anyone, but rather prepare you for a big, long-term commitment before starting. That having been said, building ROS-based robots can make your homebrewed bot considerably more versatile and even (dare I say it?) useful. For one thing, ROS makes your robot capable of navigation. The ability to “navigate” or to know where you are in an environment This is a map created with Rviz (ROS visualizer). Note the video panel and ultrasonic and reliably get from one place to cones (protruding from Botvac model). You basically select a goal anywhere on the map and the robot will autonomously navigate there. another is the base (pun intended)
46
SERVO 01.2018
Peavy - Neato and ROS - Jan 18_Blank Rough SV.qxd 12/5/2017 6:36 AM Page 47
To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.
on which the rest of the robotics revolution will be built. You see, the ability to navigate gives your robot the power to deliver. The Neato as a robot vacuum cleaner delivers a brush and vacuum to every square inch of a house. Telepresence robots deliver a camera, so the user can see what the robot “sees.” This is useful for communications, entertainment, and security. Modern industrial robots deliver parts and products by navigating through offices, hospitals, factories, and warehouses. Given a compartment or a shallow table, you could put anything into that space and have a generic delivery system that could bring “whatever” to “wherever.” You might say the first job of mobile robotics is conveyance. ROS with the Neato This is a map of the shop with me looking into the camera. You can see where robot can allow you to do just that. These the robot is positioned in the map with the URDF (Unified Robot Description devices will eventually develop arms and Format) model. grippers for pick-move-and-place, and legs if for no other reason than to maneuver stairs (but let’s not get ahead of ourselves ... one step at a time, literally!). I can’t help but mention ROS also provides packages for arms and grippers. What helped me understand ROS was a two-pronged approach; that is, learning the theory and details while deploying a relatively sophisticated physical manifestation (mapping and navigating with the Neato robot). Otherwise, you’ll find yourself on this endless scenic journey around the ROS universe and never get anything moving around. The Botvac package (an update of the original Neato package) was created for the latest generation Neato known as the “Botvac” (big surprise), although it could still be used on the original Neato XV series. The program can be executed on either a laptop computer or Raspberry Pi2 or Pi3 (https://github.com/SV-ROS/intro_to_ros). The intro_to_ros repository contains the Botvac package This is a configuration where I tapped into the Botvac's battery (an update by Ralph Gnauck). It’s maintained by the SVand am using a Wi-Fi dongle. ROS group with support by Ubiquity Robotics. The instructions for putting Ubuntu onto a micro SD readings per revolution. This allows the robot to sense card with ROS and the Botvac package are available at obstacles in 360°; it’s a top-down view of the world from https://github.com/UbiquityRobotics/ubiquity_main/ 4” high. blob/kinetic/Doc_Downloading_and_Installing_the_Ubi The new Botvac package features launch files that (you quity_Ubuntu_ROS_Kernel_Image.md. Basically, Neato guessed it) “launch” multiple nodes at once, and allow one robots have a USB port that allows you to talk to the robot to run mapping or navigation on either the robot or a through a laptop or a RaspPi. The Neato Programmer’s remote workstation. Even as one ventures into mapping Manual can be found at https://www.neatorobotics. and navigating with ROS on the Neato, it’s worthwhile to com/resources/programmersmanual_20140305.pdf. understand the low-level structure of ROS. You can drive the wheels, read the encoders, and read the For that, go through the tutorials featured on the ROS LIDAR scanner. Wiki page at http://wiki.ros.org/ROS/Tutorials and/or in The LIDAR scanner is the key to ROS creating maps and what I found to be the best book: A Gentle Introduction to navigating. It’s a 2D unit that spins at 5 Hz and takes 360 ROS, which is available online for free at SERVO 01.2018
47
Peavy - Neato and ROS - Jan 18_Blank Rough SV.qxd 12/5/2017 6:36 AM Page 48
I've found it better to use a portable phone charger to power the Pi. That way, you can put in or remove the whole system without permanently modifying the robot. Here, I’ve plugged into a local Wi-Fi router rather than depend on whatever Wi-Fi might be available. The “bin” can be pried off the lid with a wide flat-head screwdriver so you can keep the robot covered. Extra bins can be found on eBay so you still have a vacuum cleaner. Be sure and specify “XV” or “Botvac.”
https://cse.sc.edu/~jokane/agitr. I would suggest starting with a laptop (most any old one will do) and formatting it with Ubuntu. Install ROS and install the Botvac package. Go through the ROS tutorials and also the tutorials from A Gentle Introduction. Eventually, create the micro SD card as described in the intro_to_ros repository. This will be used to boot and run the same stack on a RaspPi (I’m currently using the RP2). The exercises you have been going through on the laptop (turtlesim, in particular) can now be applied to a physical robot. First, you’ll be driving the robot around with either the keyboard or joystick; mapping or creating a drawing of the room. I prefer the keyboard since the goal will be to get a map on the screen, and the last thing you need is another device of which to keep track of (the joystick). The goal simply is to get a good chart on the screen. Once you’ve got your map, stop! While it’s better to end up where you started (i.e., close the loop), you can always “set” the pose when you run the navigation stack. The reason it’s best to close the loop and be facing the same way (pose) is because this is the navigation stack’s starting point. The robot will be “pre-localized.” The reason I say stop when you get a good enough map is from personal experience, where many a “good enough” version got ruined by going for a perfect one. The goal should be to chart out the perimeter of the room. If it’s too large or parts are not navigable, map out a corner or side of the room and just navigate back and forth in that area. The real core of the package is the neato.py and neato_driver.py Python files that you can find at
48
SERVO 01.2018
https://github.com/SV-ROS/intro_to_ros/blob/ master/bv80bot/neato_robot/neato_node/nodes/neat o.py and https://github.com/SV-ROS/intro_to_ros/ blob/master/bv80bot/neato_robot/neato_driver/src/ neato_driver/neato_driver.py. The driver (neato_driver.py) has the Neato API commands; the ROS wrapper node (neato.py) presents this information as ROS topics, correlating LIDAR scans with wheels; optometry creates maps in ROS gmapping. The map is then saved, and the grid-mapping package is killed. Finally, launch the Navigation stack (which consists of move_base and amcl). At this point, the system will load the map you just saved with global costmaps (inflation barriers around obstacles and walls) and local costmaps (active readings by the LIDAR which also feature inflation barriers around active walls and obstacles). The way I like to do it is as follows: (This is a checklist or cheat sheet for mapping and navigating with ROS and the Neato robot. I’m using my IP addresses. The robot is 192.168.43.51 and the remote “Host” computer is 192.168.43.20, so you’ll have to change the IP addresses to match your system): 1. Ping the Pi (or computer) in (or on) the robot with your remote “host” to verify connection and speed. If you have problems, check back to make sure your robot and remote workstation are still talking, and the latency isn’t too great (>100 ms). ROS depends on IP connectivity. 2. ssh to the robot and sudo ntpdate 192.168.43.20 to synchronize the remote computer and Pi. There’s no mention of this on GitHub, but I find it necessary. Steps 2, 3, and 4 are run from the robot terminal. The IP address is that of your remote workstation. Others use “chrony.” 3. sudo chmod 666 /dev/ttyACM0 gives rights to attach to the robot. 4. roslaunch bv80bot_node bv80bot_base_only.launch ... launch base_only ... run gmapping and nav stack on remote computer.* 5. On the remote workstation, open a terminal session <ctl,alt,t> and run roslaunch bv80bot_node bv80bot_map_gui.launch. This is the grid-mapping routine (gmapping). 7. Open another terminal session on the remote workstation and launch rosrun teleop_twist_keyboard teleop_twist_keyboard.py. This is the teleoperation node for the keyboard. There is more than one configuration of this. I prefer the one designed for the Turtlebot. 8. At this point, with teleop_twist in the foreground and Rviz (should have launched with bv80bot_map_gui.launch) one level below, you should be able to drive the robot around with the i, m, j, l, and k keys. On the screen, you will see a map emerge that will look like *If you have a lot of trouble with ROS communication between the robot and the remote computer, it could be environmental variables or the “./bashrc” file (http://wiki.ros.org/ROS/NetworkSetup).
Peavy - Neato and ROS - Jan 18_Blank Rough SV.qxd 12/5/2017 6:36 AM Page 49
the floorplan of your room. When you have completed your map (as mentioned, try to end where you started), you’ll want to change directories and save the map with the following commands: roscd neato_2dnav/maps and rosrun map_server map_saver. 9. AFTER saving your map, you can kill the gmapping routine (ctl,c) and launch the navigation stack roslaunch bv80bot_node bv80bot_nav_gui.launch. This will load the map you saved and allow you to navigate autonomously from point to point by clicking on a goal.
Final Directions In summary, I want to say that as difficult as it is, it has never been easier to build robots that navigate. I want to emphasize the importance of this milestone. The ability to navigate gives a robot the capability of delivery, and as I mentioned previously, delivery is the basis of all mobile robot applications. It is the starting point for your robot doing something useful. These devices will eventually develop arms and legs, but for now, good luck and enjoy navigating! SV **** notes about .bashrc **** # example entry for “master” export ROS_MASTER_URI=192.168.43.51 export ROS_HOST=192.168.43.51 # example entry for “host” export ROS_MASTER_URI=192.168.43.51 export ROS_HOST=192.168.43.20 *****************************
This is a map of about 10,000 square feet of office space. You can click anywhere on the map and the robot will autonomously navigate to that spot.
SERVO 01.2018
49
SV Webstore - Jan 18_SV Webstore May 16 working.qxd 12/5/2017 6:38 AM Page 50
The SERVO Webstore CD-ROM SPECIALS
01.2018 FEATURED
ROBOTICS Arduino Robot Bonanza by Gordon McComb Create high-tech walking, talking, and thinking robots. "McComb hasn’t missed a beat. It’s an absolute winner!" Breathe life into the robots of your dreams — without advanced electronics or programming skills. Arduino Robot Bonanza shows you how to build autonomous robots using ordinary tools and common parts. Learn how to wire things up, program your robot's brain, and add your own unique flair. $29.95
Robot Builder's Sourcebook Fascinated by the world of robotics but don’t know how to tap into the incredible amount of information available on the subject? Want the names, addresses, phone numbers, and web sites of companies that can supply the exact part, plan, kit, building material, programming language, operating system & computer system? Robot Buider’s Sourcebook is just what you’ve been looking for! $36.00
50
SERVO 01.2018
Making Things Move: DIY Mechanisms for Inventors, Hobbyists, and Artists by Dustyn Roberts
In Making Things Move: DIY Mechanisms for Inventors, Hobbyists, and Artists, you'll learn how to successfully build moving mechanisms through non-technical explanations, examples, and do-it-yourself projects — from kinetic art installations to creative toys to energy-harvesting devices. Photographs, illustrations, screenshots, and images of 3D models are included for each project. $29.95
Build Your Own Humanoid Robots by Karl Williams GREAT 'DROIDS, INDEED! This unique guide to sophisticated robotics projects brings humanoid robot construction home to the hobbyist. Written by a well-known figure in the robotics community, Build Your Own Humanoid Robots provides step-by-step directions for six exciting projects, each costing less than $300. Together, they form the essential ingredients for making your own humanoid robot. $24.95
Robots and Robotics: Principles, Systems, and Industrial Applications by Rex Miller and Mark Miller Written by a pair of technology experts and accomplished educators, this comprehensive resource provides a solid foundation in applied industrial robotics and robot technology. You will get straightforward explanations of the latest components, techniques, and capabilities along with practical examples and detailed illustrations. $90.00
Robotics Demystified by Edwin Wise YOU DON'T NEED ARTIFICIAL INTELLIGENCE TO LEARN ROBOTICS! Now anyone with an interest in robotics can gain a deeper understanding — without formal training, unlimited time, or a genius IQ. In Robotics Demystified, expert robot builder and author Edwin Wise provides an effective and totally painless way to learn about the technologies used to build robots! $19.95
To Order Call 800 783-4624 or visit our webstore
SV Webstore - Jan 18_SV Webstore May 16 working.qxd 12/5/2017 6:38 AM Page 51
Order online www.servomagazine.com SPECIAL OFFERS
Build Your Own Quadcopter by Donald Norris Build and customize radio-controlled quadcopters that take off, land, hover, and soar. Build Your Own Quadcopter features step-by-step assembly plans and experiments that will have you launching fully functioning quadcopters in no time. This fun, do-it-yourself guide fuels your creativity with ideas for radical enhancements, including return-to-home functionality, formation flying, and even artificial intelligence! $50.00
The SERVO Buddy Kit
PROJECTS 3D LED Cube Kit
PS2 Servomotor Controller Kit
From the article â&#x20AC;&#x153;Build the 3D LED Matrix Cubeâ&#x20AC;? as seen in the August 2011 issue of Nuts & Volts Magazine. An inexpensive circuit you can build to control a servo without a microcontroller.
For more information, please check out the May 2008 issue or go to the SERVO webstore.
Includes an article reprint.
$39.55
This kit shows you how to build a really cool 3D cube with a 4 x 4 x 4 monochromatic LED matrix which has a total of 64 LEDs. The preprogrammed microcontroller that includes 29 patterns that will automatically play with a runtime of approximately 6-1/2 minutes. Colors available: Green, Red, Yellow & Blue. Jig and plastic cases also available.
This kit accompanied with your own PlayStation controller will allow you to control up to six servomotors. Includes all components and instruction manual. For more information, please see the February 2011 edition of SERVO Magazine. Assembled units available! $79.95
$57.95
SERVO 01.2018
51
Gracey - Appetizer - Jan 18_Appetizer.qxd 12/5/2017 6:39 AM Page 52
Helping Educators Teach Robotics by Ken Gracey, CEO Parallax, Inc.
Celebrating our 20th year in education, Parallax is making a much deeper commitment in 2018 with free Professional Development courses for up to 500 educators in 12 locations across the US. Educators also receive a free ActivityBot 360 robot to take back to class! We’ve dreamed of offering free Professional Development since we started training educators in 1999 with our original What’s a Microcontroller? and Robotics with the Boe-Bot tutorials. he decision to make the Professional Development courses entirely free was simple, really. We love what we do, and the reward of enthusiastic teachers and students who work with our robots affirm our plan. There’s also a business reason, of course. Educators respond to our professional development much more readily than trade shows and conferences, so we’re putting this investment where it counts. Educators apply for our one-day Professional Development programs at www.parallax.com/events. They’ll bring their own computer, load the software, and build and program their own ActivityBot 360. With our tutorials, assessment material, and breadboarding skills, they’ll walk away with enough
T
52
SERVO 01.2018
confidence to lead a class. They get to meet our Parallax team and make connections with other teachers in their region. Back at school, educators would put the robot kits in the student’s
hands and let them explore. Students want to learn by doing; to discover new interests from an educator who shared, rather than be instructed. Do you remember your favorite high school course? Did it have to do
Gracey - Appetizer - Jan 18_Appetizer.qxd 12/5/2017 6:39 AM Page 53
Post comments on this article at www.servomagazine.com/index.php/magazine/issue/2018/01.
with shop or computers? Robotics classes are often the first time students use a screwdriver, build circuits, and program something physical (versus screen-only programming). Robotics is a launch pad for their future ambitions by effectively combining several engineering disciplines. As STEM (Science, Technology, Engineering, Math) education reaches an all-time popularity, our students will require far more skills to stand out as engineers. Therefore, it’s also time to step up our learning goals and challenge them with a deeper level of understanding in real time control, circuit building, communication protocols, mechanical, and electronic dependencies. They need to understand how the low-level code really works. The results of our educational efforts are inspiring. Parallax and other contributors to STEM education can share stories where students have been admitted to top engineering programs, graduating to working in industries such as aerospace, global security, and entertainment. Let’s put the tools in the hands of every student and create engineering leaders around the country — especially at the inner-city schools. This past summer, we loaded a free two-day Professional Development at New York UniversityTandon School of Engineering with 50 educators. Take a look at the photos of the teachers who are now sharing robots with their classes throughout Brooklyn, New York, and Queens. If you’d like to talk more about the programs, please call our Educator Hotline at (916) 625-6801 or go to learn@parallax.com. SV
SERVO 01.2018
53
Woolleys - Twin Tweaks - Jan 18_TwinTweaks - Aug 15.qxd 12/5/2017 6:40 AM Page 54
New Kids on the ServoBlock by Bryce Woolley and Evan Woolley
W
e have a deep and abiding love for SERVO Magazine, but the same cannot be said for servos themselves. It’s like the current popular fascination with Vikings — on the surface, their exploratory and seafaring ways have an adventurous glamor to them, but on closer inspection their violence is a bit off-putting. We find that servos similarly disappoint under scrutiny. While we appreciate the ability to incorporate simple position control into robotics projects, we aren’t huge fans of the fiddly fragile nature of many servos. Our displeasure is particularly acute when it comes to the inability of servos to handle a large amount of force. We like to build fighting robots and giant cannons and other things where large forces are the name of the game. Fortunately, the folks at ServoCity have a solution: ServoBlocks. ServoBlocks are essentially a load isolating exoskeleton for your servo that significantly enhances the ability of the servo to withstand large forces. A simple aluminum frame that gives your servo superhuman strength sounds almost too good to be true. Could the ServoBlocks really be so simple and effective? Could a ServoBlock turn a humble servo into a warrior that even Vikings would be proud of? There was only one way to find out.
Pain is Weakness Leaving the Servo Most RC servos were originally meant for use in RC airplanes, where simple and affordable position control is needed to control things like the ailerons, elevators, and the rudder on the tiny aircraft. An RC aircraft elevator is extremely lightweight, and even with all the wind
THE
54
DISASSEMBLED HUB SHAFT
SERVO 01.2018
SERVOBLOCK.
AN HSR-2645CRH
SERVO FROM
HITEC.
resistance encountered in a gravity defying aerial maneuver, the forces involved in actuating an elevator are not that extreme. So, even though the PWM control on servos made them a natural fit for robotics applications, unmodified servos were not originally intended to handle the forces encountered in a lot of robotics projects such as heavy weights at the end of a long lever arm, or even the forces on a drive wheel. Standard servos are not designed to handle significant lateral loads. A servo horn is usually fastened to the spline by a solitary screw, and the horns themselves are often made from thin plastic. A heavy load at the end of a lever arm, for example, could easily deform the plastic horn or rip it off the spline completely. If the solitary screw in the spline is unusually robust, then a heavy load might instead deform the servo’s plastic case or rip the top of the casing off. If a standard servo was a Viking, it would be Ivar the Boneless. We’ve often found ourselves working on
Woolleys - Twin Tweaks - Jan 18_TwinTweaks - Aug 15.qxd 12/5/2017 6:40 AM Page 55
Twin Tweaks projects where the easy PWM control of a servo would be ideal, but where large forces would wreak havoc on the weaklings. In those instances, we’ve either gone with a very robust (and very expensive) servo, or we’ve had to redesign our mechanism to use something like a DC motor. If only there was a way to protect a standard servo from large forces such as heavy lateral loading, our lives would be much easier. We’re sure yours would be, too. That’s where the ServoBlocks come in. They are a simple and robust solution that will seemingly give your standard run-of-the-mill servo superpowers. At first, they simply appear to be aluminum frames that envelope your standard servo. BUILDING SERVOBLOCKS. They look strong enough, but it’s hard to tell how effective they might be from a static picture. Fortunately, the ServoCity website features an attention-grabbing video where the capabilities of the ServoBlocks are demonstrated using two paint cans. A paint can is hung from the end of a long arm attached to a standard servo. As you might expect, the lateral load of the paint can snaps the horn off the servo in a display of robotic gore apropos of a Viking execution. The violent spectacle is repeated, but this time the servo is equipped with a ServoBlock. Instead of another beheading, a miracle occurs. The servo remains intact. The lever arm bows under the force of the paint can, but that is all. A second paint can is added, and still the servo survives. Perhaps the most shocking feat of all comes next: Even under the weight of two hanging paint cans, the servo can still rotate the arm and swing the paint cans around like an axe-swinging YOU VERSUS THE SERVO SHE TOLD YOU NOT TO WORRY ABOUT. berserker in battle. What sorcery was this? It was our favorite type of sorcery: physics. The specifications of the units, including technical drawings ServoBlock is a 6061-T6 aluminum frame that acts as an with their dimensions and even a STEP file for those that exoskeleton to isolate the servo spline from the forces that want to include the ServoBlocks in their 3D CAD models. seek to do it harm. We have a lot of servos strewn about Robot Central An aluminum hub attaches to the servo spline through that have accumulated over the years of Twin Tweaking a bearing, with the bearing and frame taking the force and other roboting, but many of them are modified to instead of the vulnerable spline. So, was this sorcery as varying degrees (and varying degrees of success). easy to implement as it looked? The ServoCity paint can We wanted some fresh servos to equip with the video inspired us to put some ServoBlocks to the test. ServoBlocks, and ServoCity made it easy to find a 24-tooth spline continuous rotation servo (the Hitec HSR-2645CRH) and a standard partial rotation servo (the Hitec HSThe ServoCity website is — as usual — a Vikings’ 5485HB). plunder of resources that made it easy to pick out the These servos will run you about $25-$30, which is way right items. The ServoBlocks come in a variety of flavors, less than the premium metal encased servos capable of including sizes for standard and large servos, and for two handling large forces without the benefit of an different outputs: a hub or a plain shaft. There are 24exoskeleton that often run well over $100. The tooth and 25-tooth hub designs depending on the spline ServoBlocks themselves clock in at about $27, so if they of your servo. really do allow a standard servo to handle forces that The page on the ServoBlocks details all the key would cripple all but the most expensive premium servo,
A Walk Around the ServoBlock
SERVO 01.2018
55
Woolleys - Twin Tweaks - Jan 18_TwinTweaks - Aug 15.qxd 12/5/2017 6:40 AM Page 56
To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.
variety of mounting patterns. The two side plates of the ServoBlock reproduce the circular hub pattern with a combination of threaded and clearance holes for 632 screws, which means that several ServoBlock equipped servos can be joined with ease. The bearing is a perfect fit for the hub, and the hub embraces the servo spline like a Viking gripping a horn full of mead after a full day of pillaging. Assembling the AN HS-5485HB SERVO FROM HITEC. LIKE IF IRON MAN WAS A SERVO. ServoBlock is intuitive the ServoBlocks would be a very economical way to and easy; reminiscent of putting together a LEGO kit. supercharge your servos. The unit comes with 6-32 screws, and a screwdriver is Carrying on the oral tradition in a way that the skalds the only tool needed to supercharge your servo. For the of Iceland would be proud of, the assembly instructions plain shaft ServoBlock, you’ll need to figure out how you for the ServoBlock come in the form of a nicely produced want to attach things to the half inch diameter hollow video on the ServoCity website. The video not only covers shaft. We opted for a clamp, which also comes the assembly (which is straightforward), but also explains conveniently equipped with a mounting hole pattern that the design philosophy, and a gives rundown of the various aligns with the hub pattern. types of ServoBlocks. Setting a ServoBlock-equipped servo side-by-side with Much like Vikings ships, the design of the ServoBlocks an unenhanced unit really does evoke a servo wearing an is elegant and effective. The bottom frame component exoskeleton. Will such an outfit be enough to make a fastens to the standard servo case mounting holes with 6humble servo battle ready? 32 screws, and provides a plethora of other mounting holes with a slightly oblong shape to accommodate a
On the Chopping ServoBlock
THE
56
DISASSEMBLED PLAIN SHAFT
SERVO 01.2018
SERVOBLOCK.
We’ve always had a deep and abiding fascination with medieval weaponry. Aside from the romantic connotations of chivalry and adventure, medieval weaponry also demonstrates some sophisticated mechanical design. Trebuchets and mangonels are perennial favorites for students of mechanical design, but even simpler devices possess their own sort of brutish elegance. Take the battle axe, for example. It’s a tool that was adapted for battle — a weapon that was cheaper to make than a sword, and generally lighter weight than its utilitarian cousin by virtue of being meant for cleaving limbs instead of denser harder wood. Viking axes in particular were designed to
Woolleys - Twin Tweaks - Jan 18_TwinTweaks - Aug 15.qxd 12/5/2017 6:40 AM Page 57
Twin Tweaks be effective in both close combat and for throwing at foes. An axe — with the center of mass firmly at the end of the haft — would be an ideal way to ensure a heavy load at the end of a long lever arm for testing our superpowered servo. The axe we had in mind was a double-bladed battle weapon that was about three pounds and a bit under two feet long — which normally made its home as a wall display in a bedroom. Despite their prevalence in popular culture, the double-bladed twibill design was somewhat uncommon, but the basic dimensions of the axe are close to what a Viking might have used. Also, it’s really cool. We envisioned a simple arm made from a flat plate of aluminum attached to the ServoBlock hub. One thing that we are very pleased to report is that mounting things to the servo hub is super easy. Not only do the technical drawings on the ServoCity website include detailed information about the positioning of the mounting holes on the hub, but the holes on the hub itself are through holes. We opted to used our automatic center punch to site our holes on one end of the plate and drilled them out for 6-32 clearance holes. The plate fit on the hub like a charm, and the next task was to figure out how to attach the axe to the plate. We drilled out pairs of holes spaced a couple of inches apart throughout the length of the plate to accommodate zip ties. We’re sure the Vikings would have loved the effective simplicity of zip ties if they had them. They certainly worked well enough to attach the axe to the plate. However, we couldn’t just have a 3 lb axe hanging off the end of a servo — the servo needed some sort of mount. We needed something stout so that the entire assembly didn’t tip over. We settled on a wide square tube of aluminum that could accommodate the servo through the top plate, while leaving plenty of room inside for devising further mounting solutions — even something as simple as some heavy weights to keep everything in place. We center punched the corner holes of the ServoBlock bottom plate, drilled them with the press, and then traced the inside of the opening for the servo while the frame was bolted in place. We drilled holes in the corner of the traced rectangle and cut out most of the opening with a coping saw. Some brute force with some metal files finessed the shape of the opening so that it could
OUR WEAPON
FABRICATING A
BUILDING A
OF CHOICE.
LEVER ARM.
HOME FOR THE SERVO.
SERVO 01.2018
57
Woolleys - Twin Tweaks - Jan 18_TwinTweaks - Aug 15.qxd 12/5/2017 6:40 AM Page 58
READY
FOR LATERAL LOADING.
accommodate the servo. Without the axe fastened to the arm, the assembly stood upright proudly like a victorious Viking champion. We realized it would be best to do our initial testing of the servo without a very sharp axe attached to it. We debated trying to control the servo with a programmed Arduino or Adafruit board, but we opted for something that would give us a bit more manual control. We selected our trusty VEX Robotics control system, which would give us safe remote control over the spinning axe of death. The VEX controller is a little strange in that the PWM connections are all female, while most standard PWM leads on servos are also female. Fortunately, we’ve wanted to connect standard nonVEX servos to the controller many times before, so we had Frankensteined a male/male PWM cable for exactly this sort of situation. We wired up the servo, stood a safe distance away, and let it rip. The ServoBlock-equipped servo spun the plate with ease, but that was expected — the plate alone was not very heavy. Even a servo without a ServoBlock
THE VIKINGS WOULD
58
SERVO 01.2018
BE PROUD.
could have handled it. So, our initial test confirmed that the ServoBlock did not adversely affect the performance of the servo. But could it handle the axe? We zip tied the axe to the aluminum plate. The plate was thin, but the haft of the axe lent some rigidity to the unit. Even so, we could tell the aluminum plate was going to give before the ServoBlock. We added another zip tie to the very back of the haft to ensure that there was added rigidity throughout the length of the plate. When we weighted down the base of our bladeswinging robot and let the axe go, the arm tilted downwards slightly — but the ServoBlock held fast. However, merely holding an axe is a far cry from chopping something up with it. So, chop up what? After considering everything from a Batman action figure to a big stuffed bear, we settled on a target that would be more of a known quantity when it comes to chop-ability: a fresh firm cucumber. We would be chopping some salad, just like the Vikings used to do. Maybe. We wanted to behead our cucumber with a horizontal blow — more like what might happen in the heat of battle rather than the vertical strike of an execution. A horizontal strike would also provide the best test of the ServoBlock by maximizing the lateral load on the servo. We fashioned a support for our condemned cucumber by using a few blocks of wood that we could lash the prisoner to upright. To achieve the correct head chopping height for the axe, we put our servo assembly on top of a large 4 x 6 chunk of wood that we actually screwed the robotic axe directly to. We weighted down the 4 x 6 with a few 14 lb plates. The stage was set for our vegetable execution.
Chopped Salad We painted a face on the cucumber and lashed it to the wooden upright. We positioned the axe near the doomed vegetable to ensure that the axe has the maximum arc for its swing. We wired up the axe to our VEX control system and stood far back as we powered up the robot and the radio. Without even waiting for a final plea for mercy from the plant, we jammed upwards on the joystick and the axe made its deadly arc with surprising speed. The cucumber lost its painted head in one smooth blow. The weight of the axe was deforming the aluminum plate slightly, and with a few further swings of the axe we were able to take a few more slices off the cucumber. The ServoBlock had worked like a charm.
Woolleys - Twin Tweaks - Jan 18_TwinTweaks - Aug 15.qxd 12/5/2017 6:40 AM Page 59
Twin Tweaks Never before had we made anything with humble servos that we thought could grievously injure or maim us, but that’s exactly what we accomplished here. The speed with which the servo was able to swing around the axe was impressive and intimidating. The axe was seriously sharp and probably would have cleaved through fingers (or more) with marginally more difficulty than the cucumber. Having the center of gravity of the axe positioned so far away from the center of rotation really enhanced the destructive capability of the servo. It’s the same principle as spinning weapons in combat robots — you want as much weight as possible concentrated as far as possible from the center of rotation. We were never able to put that into practice with servos before because the lateral loading on the servo spline was too much for the horn or spline to handle. With ServoBlocks, however, it’s like a whole new world has opened up for the unassuming servo. The force isolation works extremely well, and while the ServoBlock does add some bulk to the servo, the plethora of mounting points should still make it easy to incorporate into your designs. The possibilities are endless. Knowing that we could upgrade a servo into a Viking level warrior got us thinking about what else we could do with ServoBlocks. We could take one of those servo-based humanoid robots, outfit every servo with a ServoBlock, and really give it a Tetsujinstyle exoskeleton. We could make actually destructive combat robots using nothing but servos. We could delegate all salad chopping duties to an axe equipped robot. As we write this, we’re wondering just how many ServoBlocks the humanoid robot exoskeleton would take ... The ServoBlocks really exceeded our expectations. It’s rare to find something so easy to build and use that has such a dramatic effect on performance. It has an effective elegance that we’re sure the Vikings would have loved. SV
ROCK, PAPER, SCISSORS, CUCUMBER, AXE.
OFF WITH
HIS HEAD!
Recommended Website https://www.servocity.com/servos/servoblocks
SALAD
IS SERVED.
SERVO 01.2018
59
Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/5/2017 6:41 AM Page 60
Robots that Cook and Handle Food by Tom Carroll
TWCarroll@aol.com
One job that seems to take a lot of time is cooking and handling foods. The efforts required for these tasks are not as critical for homeowners as they are for commercial kitchens, restaurants, and food product suppliers where every second counts in the various operations needed for food processing. Automation and the application of robotic operations can quickly become a viable option for those in the food industry. n article in the November 2017 issue of Wired, entitled, “Invasion of the Kitchen Bots” highlighted six interesting applications of robotics in food preparation. One was Zume Pizza that I’ll detail later, but others included a salad making robot called Green Goddess; a burger maker called Burgermeister; and an espresso machine called Cafe X, among others. Robotics is finding useful applications throughout the home and commercial food industry.
A
the amount of water needed for sizes of loads; times to add detergent and fabric softeners; spin times after rinsing; and other considerations. Early washing machines used a series of mechanical cams as shown in Figure 1 to sequence different leaf switches to key motors and solenoid valves. Another type of switch/programmer unit is shown in Figure 2.
Robots Help in Home Food Preparation
Robots in Modern Homes Before delving into commercial robotics applications, let’s take a look at home uses first. Robots have been helping us with home tasks longer than we might imagine. One very prevalent ‘robot’ in our homes is the washing machine. Frequently, definitions of a robot include clothes and dishwashers since they have many programmable cycles and provide different motions with different water applications for either clothes or dishwashing processes. Today’s machines are programmable to give a specific set of clothes washing steps such as lengths of time for each cycle; the force required for delicate fabrics versus work clothes; water temperatures from cold to hot;
60
SERVO 01.2018
Today, most washing machines use a microcontroller and an LCD panel to indicate states in the washing process, with membrane switches to ‘program’ a desired washing cycle. A microcontroller is not only very low cost and easy to manufacture, it’s more reliable than rotating cams triggering a row of leaf switches.
Figure 1. Cam drum 'programs' early washing machines.
Figure 2. Programmer timer in washing machine.
Washing machines and dishwashers are not the only ‘robotic’ devices that can be found in homes. Automatic bread makers were quite popular in the mid ‘70s and are still sold today. There are hundreds of different models on the Internet. I have a great weakness for bread — especially for bread right out of the oven. That wonderful aroma permeating the house as it is sitting on the kitchen counter cooling is just too much for me to resist! The first bread maker that I bought for my wife, Sue was made by DAK; a similar model is shown in Figure 3. The Turbo-Baker II is a much later model than the one we had, but it still looks a lot like R2D2 with a glass-domed head. The inner baking pan is cylindrical, which is different from most other models that use a rectangular pan. (Personally, I think the round
Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/5/2017 6:41 AM Page 61
To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.
shape makes for better mixing.) All you need to do is add the special bread flour, water, milk, sugar, salt, butter, and the all-important yeast, then simply push a button. After an initial mixing of the ingredients and several hours of rising, the machine begins the baking process. You will soon be rewarded with a hot and delicious present from your robotic servant — after you remove the mixing paddle baked into the bottom of the bread, of course.
A Roti-Making Robot I recently came across a news article on another home bread-making machine called the Rotimatic shown in Figure 4 that makes rotis (there are some very interesting videos of their design process on their website). What is a roti, you might ask? Roti (shown in Figure 5) — which is also known as chapati — is a flatbread originating from India that is made from stone ground whole meal flour. It is also traditionally known as atta. Its defining characteristic is that it is unleavened. Another popular Indian bread called naan is a yeast-leavened variety. Billions of roti are eaten every day; not just in India, but all around the world. However, it’s not the easiest food item to prepare, so there’s a need for some automation in its production in a homeowner’s kitchen. The two co-founders of Zimplistic (the makers of the Rotimatic) are CEO Rishi Israni and CTO Pranoti Nagarkar. Israni wrote the first version of the Rotimatic firmware and has authored six patents from technology work he has led. Nagarkar is the technical and design force behind the Rotimatic. With a flair for engineering and a hands-on approach, she acquired expertise in mechanical engineering and went into Product Design. Before co-founding Zimplistic, she led a team that worked on a robotic
Figure 3. DAK R2D2-style bread maker.
Figure 4. Rotimatic has many internal functions to make rotis.
g{xÇ tÇw aÉã Rotimatic is an evolving kitchen robot with artificial intelligence and IoT capabilities. Once connected to Wi-Fi, it upgrades itself with the latest software updates and provides remote troubleshooting capabilities. Rotimatic gets smarter over time and empowers you to be more creative. Rotimatic could revolutionize kitchens of the future with robotics. Rotimatic is equipped with a 32-bit microprocessor running 10 motors, 15 sensors, and 300 parts in synchrony. Rotimatic automatically measures, dispenses, mixes the ingredients, and kneads one dough ball at a time. With the built-in AI technology, it can mimic human judgment to adjust the proportion of flour and water in real time to create a perfect dough ball every time. While Rotimatic brings in industrial-level power and accuracy to customers, it’s designed to blend in with a modern home. The engineers behind Rotimatic are also proud users and have emphasized a sleek functional design that’s easy to use and clean the attachments, making it the pride of kitchens in homes. Rotimatic is an amazing dough making and baking robot that is available for $999 — a bargain in my opinion.
Robots Assist with Pizza Making
Figure 5. Roti is a popular Indian non-leavened flat bread.
product for a renowned brand, from concept to manufacturing. Here is some paraphrased information from their website:
Rotis may be popular around the world, but pizzas still reign supreme here in the US. A pizza company in Mountain View, CA called Zume Pizza began using robots in several unique ways back in April 2016. You order the pizza you want in the ‘normal’ way — either by Zume’s app or by phone. Behind the scenes, the order is sent to the closest company location where robots and humans begin the process. The pizza dough is first kneaded and spread out by a human, then placed on a conveyer belt. The ‘blank’ pizza arrives at the SERVO 01.2018
61
Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/5/2017 6:42 AM Page 62
first robot (Figure 6) that squirts on the sauce; another robot uses its arm (Figure 7) to spread the sauce around evenly. “We’re going to eliminate boring, repetitive, dangerous jobs, and we’re going to free up people to do things that are higher value,’ stated Zume cofounder Alex Garden, a former Microsoft manager and president of mobile game maker, Zynga Studios. Next up, humans put on the ingredients like cheese, pineapple, and Canadian bacon, then the pizza makes its way to an ovenloading robot shown in Figure 8. It’s a standard ABB industrial robot modified for a commercial food handling application. After the pizza makes its way through the 800 degree oven and is partially cooked, a human unloads it, checks it for quality control, places it in its box, and sends it on its way to the customer in a special way. It’s the delivery process that is one of the most unique parts of this company. According to their website: On top of the super high-tech kitchen at Zume HQ, the company also owns and operates some pretty high-tech trucks — each of which is fully equipped with an iPad for pizza orders and navigation, as well as 56 ovens (Figure 9). The pizzas leave the
brick-and-mortar store in every area. Instead, a fleet of trucks can serve a number of areas, and rather than having to go back to the main kitchen every few hours, pizzas can be cooked onboard and served in the area where they are. Pizza is delivered in a matter of minutes. That saves both time and money.
Pizza Dough Balls Made Automatically Figure 6. On goes the sauce by the first robot.
Figure 7. A second robot spreads the sauce for the Zume pizza.
facility only partially baked, so they finish baking on the way to the customer. This way, they’re nice and hot by the time they arrive. This also means there doesn’t have to be a
Figure 8. An ABB industrial robot places the pizza into an oven.
62
SERVO 01.2018
You may have seen all sorts of pictures of pizza making, but there is much of the process that is sometimes best done by hand. One part is the preparation of the dough balls that are flattened into a disc on which the ingredients are then placed. Turning flour, water, and yeast and sometimes other special additives into a useable dough ball is not as easy as it sounds. The machine shown in Figure 10 drops a carefully measured amount of dough from the hopper above into the revolving circular tray that forms the dough into precise pizza balls.
Handling Food Products is Safer and Faster with Robotics Several years ago, the farm-fresh
Figure 9. The Zume Pizza truck with 56 re-heating ovens for delivery.
Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/5/2017 6:42 AM Page 63
g{xÇ tÇw aÉã egg producer, CMC Food in New Jersey saw the future and made an investment in egg handling robots in their facility by placing robotic egg ‘workers’ on the line with humans. A CNBC article on their website showed how the implementation of a SANOVO Egg palletizer in the CMC facility was able to palletize these fragile items at the rate of 144,000 eggs per hour, as seen on the conveyor belt in Figure 11. Previously, humans dealt with hand placement of feeding 10 dozen eggs at a time into a machine that packed them into large cartons. Another machine — the SANOVO Egg Depalletizer — gently handles plastic trays at a capacity of up to 216,000 eggs per hour. “In what is typically a low-margin industry such as food manufacturing, volume is everything and CMC Food’s move isn’t unique — it’s the only way to keep up with competitors.” As you might imagine, damaging a few eggs in a large container without their discovery before shipment to a good customer can result in a permanent loss of a high
volume buyer. Analysts have seen robots picking croissants off the line and imagine how delicate that task is, but they do it without any need for humans. The CEO of CNS, Rich Cohen, has put his move in kill-or-be-killed terms: If he didn’t invest in this type of automation, a competitor would, and within five years, be ahead. They don’t want to be watching someone steal market share.
Figure 11. Robots can handle fragile eggs faster and safer than humans.
Robot Chef Prepares World-Class Food in Your Home Just imagine a hardworking couple driving home from their two different jobs. They both enjoy topnotch cooking but just want to eat in a casual setting at home. After talking with her husband to coordinate his arrival time, the wife has contacted their home robot chef and ordered a classic meal that one of their favorite New York chefs had prepared for them at his Manhattan restaurant in the past. He had gracefully given the recipe to the couple, and they have downloaded it into their robot chef. Plus, all the ingredients are in the robot’s pantry of supplies. Upon arriving home,
Figure 10. This pizza dough machine can make 1000s of dough balls.
sipping a before dinner glass of wine and relaxing a bit in front of a nice fire in the fireplace, you can just imagine the feeling of pleasure as they wander over to the array of freshly-prepared delicacies and place them on their table. A couple of candles, the lights dimmed and soft music wafting through the air, they begin their classic dinner prepared by their Chef Moley. I’ve taken a bit of artistic license to amplify the capabilities of the Moley system, though I have no doubt that it will grow in popularity and capability in the near future. At present, the cooking process is done in-situ with the homeowner programming in the desired menu. “Moley Robotics’ robotic chef works by users choosing a certain number of portions, type of cuisine, dietary restrictions, calorie count, ingredients, cooking method, chef, etc., from the recipe library first. Once users have
Figure 12. Moley Robotics cooking robot.
SERVO 01.2018
63
Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/5/2017 6:42 AM Page 64
selected their preferences, they then choose a recipe and place washed and cut ingredients — which can be ordered through Moley — in designated areas,” Mark Oleynik, CEO and founder of Moley Robotics, told Fortune Magazine. Moley Robotics has created the world’s first fully automated and intelligent cooking robot shown in Figure 12. As mentioned on their site: “It learns recipes, cooks them, and clears up after itself! It can mimic the actions of a master chef precisely, bringing a variety of delicious dishes, cooked to world-class standards to the domestic kitchen and other food preparation areas. The system comprises a full suite of appliances, cabinetry, safety features, computing, and robotics.”
Shanghai in late 2014. “No matter how you aggravate it, the robot will not get angry. Robots do not need pay raises, bonuses, or welfare. They can work 24/7; they do not need to take vacations or sick leave and will not quit. They will also not have any issue with doing overtime. The robots require maintenance only once a week,” Zhinong commented. Zhinong added that curious customers often touch the robots; fortunately, this has not Figure 13. Robot waiters in a Singapore restaurant. resulted in any damage so far. The battery-operated robots are produced by a Chinese company; the outer shells are made in China while the interior components and sensors are made in Japan. Each robot costs somewhere around $14,000 while waiters are hired for about A new seafood $30,000 per year. restaurant at East Coast Park “Therefore, it is more costin Singapore is thought to effective to go for robots.” be the first restaurant in the I’m sure the cost of country to use robot waiters maintenance and repairs of Figure 14. A McDonald's restaurant in Asia uses a robot to take money (shown in Figure 13) to the robots will climb as the and hand out the bagged food. serve food to customers, novelty of the robots begins according to the Asia One online to diminish, so we’ll have to wait a bit news blog. to see how successful this application “Rong Heng Seafood Restaurant is in a few years. uses robots to meet some of its Waiters in the restaurant manpower needs,” the Chinese appreciate the robot servers as they newspaper, Lianhe Zaobao reported. have lightened their workload and “The eatery hopes to save a third on drawn in more customers. The robots manpower needs via this initiative.” require a 48 inch wide pathway in Restaurant owner, Zhang Zhinong order to traverse the area of the told Zaobao that ‘people are hard to restaurant, so the original furniture hire.’ The eatery needed 15 waiters arrangement had to be changed in but had only hired six so far. However, order to implement the robot waiters. with the three waiter robots, Zhinong There are magnetic strips on the only needed to hire four more. The 39 floor of the restaurant to guide the year old business owner first got the robots on their paths to and from the idea when he saw robots serving food kitchen and tables. Sensors on the Figure 15. Softbank's Pepper robot taking in a restaurant in Kunshan city near robot help ensure a distance of six Pizza Hut orders.
Robot Waiters in Singapore
64
SERVO 01.2018
Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/5/2017 6:45 AM Page 65
g{xĂ&#x2021; tĂ&#x2021;w aĂ&#x2030;ĂŁ inches from any obstacles in its path. Food preparers in the kitchen place the dishes on the robotâ&#x20AC;&#x2122;s trays and press the appropriate buttons to send the machines to the designated tables. Once the robots arrive at the table, a human waiter (or customer) retrieves the food from its trays. First-time customers state that the experience is â&#x20AC;&#x153;far-sightedâ&#x20AC;? and creates a â&#x20AC;&#x153;fresh dining experience.â&#x20AC;? Currently, the robots speak only Mandarin but Zhinong is looking at how to get them to handle English as well.
less than many industrial versions and is able to work around humans without the worry of injury. Does it save the restaurant money? Maybe, but it definitely is more interesting than watching humans. Besides, the fast food industry is going to have to make some changes since the lower-end wages typically earned by fast food workers are rising to $15 an hour. Implementation of robots seems to be the answer. Figure 16. Rethink Robotics' Baxter cooks hamburgers during a demo. Another robot shown in Figure 17 is cooking a style of pancake popular in Japan. The Huis Ten Bosch theme park in Nagasaki created the restaurant with more robots than human employees, and an Robots are being oknomiyaki-flipping robot implemented in several is the star of the show. different aspects of the The two-armed food industry. Many are humanoid chef is used not as a cost-saving designed to coat a griddle measure but as more of a with oil, mix the batter, novelty to draw in and flip pancakes before customers. completing the dish with Iâ&#x20AC;&#x2122;m sure that a drivemayonnaise and dried thru customer would be green seaweed. amused seeing a robot This attraction is a Figure 17. Robot-themed restaurant in Nagasaki, Japan has a pancake cooking robot. hand them their food building off the Dutchfrom the pick-up window themed parkâ&#x20AC;&#x2122;s smart hotel as shown in Figure 14. The very The Baxter robot from Rethink called Henn-na Hotel, which opened popular Pepper robot from Softbank is Robotics shown in Figure 16 is its doors in 2015. In July 2016, Huis shown in Figure 15 acting as a performing a demonstration of a Ten Bosch opened the Henn-na cashier and taking orders at a Pizza collaborative robot cooking Restaurant, which is a buffet-style Hut in Japan. hamburgers. This style of robot costs establishment where robots prepare
Other Uses of Robots in the Food Industry
)
For the finest in robots, parts, and services, go to www.servomagazine. com and click on Robo-Links.
SERVO 01.2018
65
Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/28/2017 10:26 AM Page 66
health and yield quality of the plants.” “Flexible platforms allow rapid deployment in new environments to collect information that we can use to develop lower cost or specialized prototypes specific to the required applications. These platforms are also used for data collection to enable analysis and the development Figure 18. The Shrimp orchard-analyzing robot at work in Australia. of algorithms that food for visitors from all over the solve industry problems. The robots world. can move through an orchard gathering data and developing a comprehensive in-ground and out-ofground model of the entire orchard,” Prof Sukkarieh explained. I’ve written about robots that are “A second stage of this research used in the agriculture industry in the project, which the team will past, but I feel it’s important to commence in the new year, involves discuss how the use of robotics in applying this technology to standard monitoring the growth of certain food farm tractors, so that as well as being products is key to keeping costs under able to perceive their environment and control. identify any operations required, they The ‘Shrimp’ robot shown in will also be able to perform many of Figure 18 has taken over most of the these operations themselves, such as tasks of analyzing a typical orchard. applying fertilizers and pesticides, As you might imagine, growing any watering, sweeping, and mowing,” he sort of food source is certainly more further commented. detailed than placing a seed in the The third and most complex stage ground and hoping rain will keep the will be to enable the devices to carry sprouting plant growing until out harvesting according to Sukkarieh. harvesting. “The devices we’ve developed already The mobile robot shown in the can identify each individual fruit on figure has numerous sensors such as the tree and its degree of ripeness, RADAR, LIDAR, panospheric stereo vision, and thermal cameras that can Actuonix Motion Devices .......................10 monitor situations in this particular almond orchard in Australia. All Electronics Corp. .........................32, 65 According to University of Sydney ExpressPCB ...............................................45 Professor Sukkarieh, “Traditionally it has been necessary for someone to Hitec ............................................................2 actually walk through the orchard, taking and analyzing soil and other PanaVise ....................................................41 samples, and making decisions on the
Robots Assist with Food Production
66
SERVO 01.2018
which is about 80 percent of the job done. But being able to harvest them is our ultimate goal.” As well as developing the technology, the team is working with farmers to determine how small changes to traditional agricultural practices can allow them to make the most of this new technology.
Final Thoughts As you can see, robots employed in the food industry can be quite useful in some areas, and not so applicable in others. From the growing stage in an orchard or field to our dinner plate, robots are making food less costly. Where monotonous steps are required in certain food preparations, a robot can be a great asset. For example, the handling of delicate food products such as the palletization of eggs, or waiting for dough to rise before it can be turned into a pizza. A talented chef can perform certain operations in the preparation of their specialty that would be difficult for a robot; for example, hand forming a pizza dough ball into a flat disc and then spinning it into the air to increase its diameter is best performed by an experienced human. Although, I’m sure that this task will soon be robotized as well. With all of us keenly aware of the increasing cost of our trips to the market, it is only a sensible approach to use robotics to cut costs. SV
Pololu .........................................Back Cover SDP/SI .......................................................32 ServoCity ............................................65, 67 Tormach ......................................................7
Advertiser Index
PWM Meter
Need to know what PWM signal your receiver, robot or servo controller is sending? No need to fuss with an oscilliscope, just plug in our new PWM Meter!
Low Voltage Cutoff Switch
Draining your LiPo batteries below 3V per cell will cause permant damage. Protect againse over discharge with our new Low Voltage Cutoff Switch!
Visit ServoCity.com Today!
Full Page.indd 67
12/4/2017 9:12:04 PM
THIS SIDE UP
Introducing the Balboa 32U4 balancing robot kit from Pololu.
Find out more at www.pololu.com/balboa
5/1/2017 10:38:06 PM
Full Page.indd 68