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 high- resolution, 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 • Sizes Ranging From 13mm ~ 33mm • Wide Voltage Operation • Precise Repeatability • High-Resolution Programmability • 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 Experimenters!

SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE SERVO MAGAZINE 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 16 06 Mind/Iron 32 Showcase Bots in Brief Robot Lies 50 SERVO Webstore • Pick-and-Place for Groceries 07 Events Calendar 65 RoboLinks • Atlas has Flipped 18 New Products 66 Advertiser’s Index • 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. POST MASTER: Send address changes to SERVO Magazine, P.O. Box 15277, North Hollywood, CA 91615 or Station A, P.O. Box 54, Windsor ON N9A 6J5; [email protected] 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 52 Helping Educators Teach Stimulating Robot Tidbits by Jeff and Jenn Eckert Robotics • Things Looking Up for Assemblers by Ken Gracey • Man vs. Moto Appetizer: Guest-hosted column with different • Robot Drive Innovation perspectives and opinions on all things robotic. • Win Big Bucks! Celebrating their 20th year in education, Parallax is making • Say “Cheese” a much deeper commitment in 2018 with free Professional Development courses for up to 500 educators in 12 11 Drone Delivery — Part 2 locations across the US. The Multi-Rotor Hobbyist by John Leeman 54 New Kids on the ServoBlock Last month, we gave our drone hands with a servo Twin Tweaks: Twin brothers hack whatever’s put in controller gripper. We could fly around and drop off front of them, then tell you about it. packages on command, but I’m a big fan of automation. It by Bryce and Evan Woolley was hard to judge when I was in the vicinity where I See how to supercharge your standard servos so they can wanted to open the gripper. This month, we’ll experiment better handle significant lateral loads. with adding GPS into the system to automatically open the gripper when we are within range of our target. 60 Robots that Cook and 28 A Time to Plow Handle Food by Elyse Colihan Then & Now: Advances in robotics from the past up For the past seven years, robotics teams from all over the through today. United States and Canada have been travelling to Saint by Tom Carroll Paul, MN during the brutal Minnesota winter to showcase One task that seems to take a lot of time is cooking and their creation of autonomous vehicles able to plow snow handling foods. Automation and the application of robotic from designated paths. operations is quickly becoming a viable option for those in the food industry. 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 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. 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

FOR THE ROBOT Mind / Iron INNOVATOR ERVO Published Monthly By by Bryan Bergeron, Editor ª T & L Publications, Inc. 430 Princeland Ct., Corona, CA 92879-1300 (951) 371-8497 Robot Lies FAX (951) 371-3052 Webstore Only 1-800-783-4624 oftware chatbots and more Law. Finally, a chatbot that lies may www.servomagazine.com recently real robots can be violate the Third Law, depending on S Subscriptions programmed and even self-evolve to the nature of the lie. A white lie, for Toll Free 1-877-525-2539 lie. As such, just as with human- example, would likely not violate the Outside US 1-818-487-4545 human conversations, human- law. P.O. Box 15277, N. Hollywood, CA 91615 machine interactions aren’t Science fiction aside, there are PUBLISHER necessarily informative, helpful, or myriad moral, ethical, and — most Larry Lemieux [email protected] even fact-based. That said, sometimes importantly — legal issues surrounding ASSOCIATE PUBLISHER/ lying is necessary. chatbots and robots that lie. What ADVERTISING SALES Imagine the difficulty you’d have should be the consequences, for Robin Lemieux if your chatbot assistant is incapable example, when an Alexa-like chatbot [email protected] of saying you’re away from your desk announces “Your order is shipping EDITOR when you simply don’t want to be now,” when — in reality — the Bryan Bergeron [email protected] disturbed. product you ordered online is Or, when the AI assistant in an backordered a few days? CONTRIBUTING EDITORS intelligent tutoring program says that True, the chatbot is responding Tom Carroll Kevin Berry R. Steven Rainwater John Leeman you’re “doing great” when, in fact, faithfully to orders from the other John Blankenship Theron Wierenga you are bombing a course. online vendor, but in so doing, is lying Bryce Woolley Evan Woolley Jeff Eckert Jenn Eckert Or, when a medical robot about to the customer. Ken Gracey Camp Peavy to give an injection with a long large- What if this behavior isn’t Elyse Colihan April Baker bore needle announces “Now, this programmed by the vendor, but self- James Baker Max Gruebner Don Miles Aaron Nielsen won’t hurt a bit.” evolves through machine learning? Is Chris Seyfert As a point of reference — even if the creator of the algorithm legally at only in science fiction — where does fault? CIRCULATION DEPARTMENT lying (or not) fit in with Asimov’s Humans lie to save face, to [email protected] three laws? If you recall: smooth negotiations, and even to WEBSTORE MARKETING COVER GRAPHICS provide better outcomes for all Brian Kirkpatrick I. A robot may not injure a parties. For example, regardless of [email protected] human being or, through inaction, how terrible the surgery is going, WEBSTORE MANAGER/ allow a human being to come to when physicians around the operating PRODUCTION harm. table repeatedly congratulate each Sean Lemieux [email protected] II. A robot must obey orders other on the success of their surgery, ADMINISTRATIVE STAFF given it by human beings except the patient does better. Re Gandara where such orders would conflict Apparently, the subconscious of Copyright 2018 by with the First Law. the anesthetized patient responds T & L Publications, Inc. III. A robot must protect its own positively to the good news. All Rights Reserved All advertising is subject to publisher’s approval. existence, as long as such protection I suspect that the same positive We are not responsible for mistakes, misprints, does not conflict with the First or banter would be helpful during or typographical errors. SERVO Magazine assumes Second Law. robotic surgery, even if between two no responsibility for the availability or condition of advertised items or for the honesty of the surgical robots, or a surgical robot advertiser. The publisher makes no claims for the Clearly, a chatbot that lies may and a support robot. legality of any item advertised in SERVO. This is the cause injury to a human, thereby To my knowledge, this hasn’t sole responsibility of the advertiser. Advertisers and their agencies agree to indemnify and protect the violating the First Law. Similarly, a been put to practice, and robotic publisher from any and all claims, action, or expense chatbot may affirm that an order was surgery tends to be cold, sterile, and arising from advertising placed in SERVO. Please send carried out when it — in fact — silent. Clearly, there’s room for all editorial correspondence, UPS, overnight mail, and artwork to: 430 Princeland Court, Corona, wasn’t, thereby violating the Second experimentation. CA 92879. 6 SERVO 01.2018 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 If you’re new to chatbots, then a good place to start is mind a robot incapable of lying and deceiving humans is the Chatbots Journal — especially the article on chatbot also incapable of true AI. Think of the robots in the Alien platforms, including open source platforms that are perfect series, or the David robot in Prometheus. The robots are for experimentation. Go to https://chatbotsjournal.com/ capable of lying and deception — capabilities that make 25-chatbot-platforms-a-comparative-table-aeefc932eaff. them seem human. SV EVENTS

JANUARY www.aaai.org/Conferences/conferences.php

19-21 Robotix IIT Khargpur, West Bengal, India MARCH Events include Stax, Fortress, Antivirus, and PolesApart. www.robotix.in 9-10 Greater Philadelphia SeaPerch Challenge Temple University, Philadelphia, PA 24-25 Singapore Robotic Games Tethered underwater ROV missions. Republic of Singapore www.phillynavalstem.com Events include Sumo, Legged Robot Marathon, Picomouse, Underwater Robot Competition, Robot 9-10 Midwestern Robotics Design Competition Colony, Wall Climbing Robot Race, Robot Soccer, and University of Illinois at Urbana-Champaign, IL Humanoid Robot Competition. See website for this years event information. http://guppy.mpe.nus.edu.sg/srg 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 smallmachine information. www.kurukshetra.org.in BIGRESULTS FEBRUARY x Design New Ideas

2-7 AAAI Mobile Robot x Prototype Without Competition the Wait New Orleans, LA See website for this year’s event information. x Cut Real Metal

CNC Mill x 120VAC - Plug in Starting at: Anywhere $4950

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. A Ford assembly worker employs the EksoVest device. Ekso notes that, on average, a worker extends about 15 lb per arm in upward pressure, so the EksoVest is “There are no batteries to deal with, no sensors. The designed to “take that 30 lb of upward force and transfer it EksoVest just cancels out the effect of gravity” to reduce down to the user’s hips.” The most remarkable part is that strain and fatigue. Ford intends to expand the trial into the vest is completely unpowered. factories in Europe and Latin America as well.

Man vs. Moto turn corners. Far exceeding these goals, Motobot If you’re a achieved a top speed of 229 KPH (142 MPH) last year. motorcycle racing On top of that, it lapped the track at California’s fan, you probably Thunderhill Raceway (www.thunderhill.com) a mere are familiar with 30 seconds behind the record time set by the Valentino Rossi, an aforementioned Sig. Rossi. A fairly comfortable margin, Italian racing pro. yes, but Valentino would be well advised to keep If not, be advised looking over his shoulder. 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 Motobot has achieved track speeds up to 142 MPH.

8 SERVO 01.2018 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 “geared neutral” mode in which it would take an infinite A fairly common drive mechanism used in robotic and number of input revolutions to cause one output aerospace applications is the Harmonic Drive®: a strain revolution), the transmission can actually reverse itself wave gear trademarked by the Harmonic Drive Company without reversing the motion of the input motor. (www.hds.co.jp). Unfortunately, at a basic price of €1000 SRI’s explanation of how it works will probably leave (about $1,180) each, the device is beyond the budget of you scratching your head and muttering, “Huh?” If you most roboticists in home workshops, as well as in many watch a YouTube presentation by SRI’s Alexander industrial endeavors. However, a revolutionary (pun Kernbaum several times (www.youtube.com/watch?v=0- intended) prototype developed by SRI International uSUrcRsyw), you may be less confused. But maybe not. (www.sri.com) is expected to be far cheaper and energy Several details still remain to be worked out before a efficient. marketable product emerges, but the device has the The company describes its newly introduced Inception potential to make robots safer, cheaper, and more energy Drive as “an ultra-compact, infinitely variable transmission efficient. 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

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/rules- information.

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 aerosol- driven 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, UCC device automates annatto, cheese culture, and enzymes without so much as picking up a can. spray cheese deposition. Bon appétit, mon amie! SV

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, Figure 1: Our gripper from last month, mounted onto the Parallax etc., but since libraries and devices were out there to make ELEV-8 quad. 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 Regional Navigation Satellite System (IRNSS), and Japan’s about how it works so we can understand some of the Quasi-Zenith system. error sources we’ll need to deal with. The general concept of satellite location is that a When we say GPS, we are generally referring to ground receiver can receive coded packets from multiple satellite based geo-location, but GPS (Global Positioning satellites. Each satellite can constrain the problem of System) is really just the name of the American location location and timing until the approximate location and time satellite system. There are other systems such as the Russian are found. Given that there are four unknowns (latitude, GLObal Navigation Satellite System (GLONASS), the longitude, elevation, time), there is a minimum of four European Galileo system, ’s BeiDou, India’s Indian 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 To effectively solve the equations, each packet contains each line of latitude on the globe. At the equator, one the time of transmission (according to atomic clocks on the degree of longitude is 111.2 km. As we follow lines of satellites), the satellite’s position in space, and a longitude to the poles, they converge; meaning that at 89 pseudorandom code used to find the time of arrival. degrees latitude, the distance covered by one degree of Satellite position is given as an ephemeris longitude is only 1.941 km. That means that using our (https://en.wikipedia.org/wiki/Ephemeris). The tolerance of 0.001 degrees makes the drop point location encoding of the timing is beyond the scope of this article, wiggle room vary from 111 m at the equator to 1.9 m at but from this information the location and time can be 89 N latitude! That’s not good because we want to specify solved for with surprising accuracy. a tolerance that is location invariant. Handheld consumer grade GPS receivers that sell for Enter the haversine formula! This formula allows us to $15 in single piece quantities can find your position to calculate the distance between two coordinates; so, we can within ±3 meters (Figure 2) with no external information, specify a tolerance of 10 meters. Plus, it’s the same distance Internet, monthly fees, or other limitations. Amazing! everywhere on the spherical Earth. This brings us to our first problem. Say we want to The haversine formula is really a specific application of drop our payload at 40.234 N, 130.234W. The naïve way to the law of haversines in the weird world of spherical code this would be: trigonometry. If we know the radius of the Earth (r), the 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(); } j2 — j1 l2 — l1 -1 2 j j 2 d = 2 r sin Ö sin (()) + cos( 1) cos ( 2) sin If you were to try such a snippet, you’d find that the ( 22) 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. While that looks like a ton of “fun” to program and First, the precision issue. If you specify a certain set of deal with all of the strange edge cases, luckily there is an drop coordinates and sit exactly on those coordinates, it is implementation already in the TinyGPS++ library. It’s always unlikely that the GPS will show those exact numbers. (How nice to know how things are done, though, so we can far down can you trust the position estimate? Three meters understand the limitations and what to do if they break. is the best on most non-differential GPS units!) If you leave the GPS in one position and watch the position estimates, Hardware you can get an idea of what to expect. While this may seem “inaccurate,” remember that at The hardware hookup on this project is relatively simple 300 million meters per second, the timing of the signals and just requires an Arduino Uno, breadboard, GPS must be resolved to within about 9 ns to get that precision. module, pushbutton, and your gripper servo. I chose an Pretty phenomenal for a network of satellites whizzing Uno because it’s what wasn’t occupied with other projects around the Earth and a $15 receiver! at the moment, but a similar board such as the Wildfire The second issue is that we are checking for equality would work as well. 12 SERVO 01.2018 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 pull-up resistors. You can see the final setup in Figure 3. Looking at the requirements, I see a setup state, the I highly advise testing the circuit on a walk around the main loop, a function to toggle the gripper state, and a neighborhood before mounting it onto your quad. Once shutdown state that effectively stops all action. Let’s quickly everything is working properly, then mount it to your go through how we’ll do each of these. 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 Figure 5: The setup function runs at PWM signal. startup and gets everything to a known Figure 6: The toggle gripper function is a verbose but easy to follow way to switch the state of the gripper. We’ll then start up the initial state. serial port at 4800 baud for Figure 7: The shutdown function spins the GPS receiver. Finally, we’ll start with the gripper at the 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 Figure 9: A simple test sketch that can be used to ensure that external pull-up resistor, but instead I’ve elected to activate your GPS is working is always a good idea. 14 SERVO 01.2018 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 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 Figure 10: The final test sketch lets us make sure that we are using the distance calculation method properly, and makes sure a bit, letting the GPS trigger do the precise targeting for we didn’t make a mistake when typing in the coordinates. you! distance to the target using the distanceBetween method in Closing Thoughts 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 botsIN BRIEF

PICK-AND-PLACE FOR GROCERIES

cado Technology, a division of OOcado — 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. system where crates of products are delivered to a picking The robotic system uses a vacuum cup as the gripping point. Once the storage crates arrive at the pick station, the device attached to the end of an articulated arm. The arm is job of the robot system is to transfer however many items equipped with a pipe running to an air compressor which is are needed from the storage crates into the delivery crates capable of lifting items regardless of their deformability and destined for the customer. shape, as long as they are within the weight restriction and Go to the suction cup can create an airtight seal with the item’s https://ocadotechnology.com/blog/experimenting- surface. with-robots-for-grocery-picking-and-packing for more The system is designed to be easily integrated with the details. There’s a video at pick stations present in Ocado's highly automated Customer https://www.youtube.com/watch?v=amOQGc-Cxyo Fulfillment Centres. These pick stations use an assembly line that shows a concept design of a robot-based pick station. ATLAS HAS FLIPPED tlas — the hulking humanoid robot from Boston ADynamics — 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.

16 SERVO 01.2018 Bots in Brief - Jan 18_Bots in Brief Mar15.qxd 12/5/2017 6:18 AM Page 17 IN BRIEFbots

GOING SOFT IS STRONGER oft robotics let machines move in ways that mimic Sliving 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 The muscles are scalable (the team built them at sizes of the bag initiates the muscle's movement, creating tension ranging from a few millimeters up to a meter) and cheap to that drives the motion. No power source or human input is produce. A single muscle can be made in under 10 minutes needed to direct the muscle since it's guided purely by the for less than a dollar. Even the research team itself was composition of the skeleton. surprised by how effective the technology is. In experiments, the researchers created muscles that "We were very surprised by how strong the muscles can lift a flower off the ground, twist into a coil, and were. We expected they'd have a higher maximum functional contract down to 10 percent of their original size. They even weight than ordinary soft robots, but we didn't expect a made a muscle out of a water-soluble polymer, which means thousand-fold increase," said CSAIL director, Daniela Rus. the technology could be used in natural settings with "It's like giving these robots superpowers." Visit minimal environmental impact. https://www.engadget.com/2017/11/27/origami-like- Other potential applications include deep-sea research, soft-robot-can-lift-1000-times-its-weight for more minimally invasive surgery, and transformable architecture. details.

BA BY BOT? he robot that was granted citizenship by Saudi Arabia recently hopes to Tone 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 ervoCity is now offering both a 24- Stooth (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 lso available from ServoCity is their Acascading 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 X- Rail 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 The 1.25" winch pulley available for $4.99 from ServoCity works well with string Tor 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. For further information, please contact: ServoCity www.servocity.com 18 SERVO 01.2018 New Products - Jan 18_Mar15 - NewProd.qxd 12/5/2017 6:20 AM Page 19

Multiple New Products CIM with its identical output shaft and mounting geometry. Available PG Gearmotors: This is the ndyMark, Inc., announces the release of popular PG188 and PG71 series of Aseveral new products and upgrades to gearmotors available now with 1/2” existing popular products. or 3/8” hex output shafts. These planetary gearboxes are designed to Motors and Gearboxes attach directly to hex parts such as RedLine Motor: A fast 775-class wheels, sprockets, and gears. motor, capable of delivering immense power in a small lightweight package. This Wheels ball-bearing supported/air cooled motor is 4” Performance Wheels: These best used in high-speed applications where popular 4” wheels have gone through a the motor will not be stalled for long design modification to be as solid as ever. periods. Made from extrusions, the new 4” RedLine Motor with Pinion: This performance wheels are now available in variation of the RedLine comes with a 12- 1/2” hex bore and 1.125 bearing bore tooth 32 DP pinion already pressed on. This versions. reduces the risk of damaging the motor 6” SR Mecanum Wheels: AndyMark during pinion installation. Pinion gears are has offered Mecanum wheels for years, but sold separately. with customer feedback and a desire to Vent Plate Spacer: This product is make the best Mecanum wheel offered, designed to be placed between a 775 motor they have re-vamped the 6” Mecanum or 550 motor and the mount plate of a wheel product line. The 6” SR Mecanum gearbox. It allows air to enter from the side wheels provide a smooth ride for and pass through the motor via the vent competitive and education robots. holes in the face of the motor. Allowing this airflow typically requires Sprockets machine time and customization of Single Roller Chain Sprockets, 3/8 gearboxes. This simple lightweight spacer is and 1/2 Hex: These are new 18 and 24 an ideal solution for motor preservation. tooth sprocket options for use with motors BaneBots Planetary Gearboxes: and gearboxes. Lightweight, strong, and reliable, the 57 For further information, please Sport and CIM Sport are the latest contact: innovation in high performance planetary gearboxes from BaneBots and AndyMark. AndyMark www.andymark.com 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 Extra 330SC Indoor competition robots. The gears are larger, but the housing's size has been optimized to not Edition 3D Flyer use any unnecessary material. ou can now bring flight indoors with This means you get more reliability Ythe Extra 330SC Indoor Edition 3D without sacrificing precious space. This Flyer from Hitec MULTIPLEX. Replicating housing is also one solid piece of the Gernot Bruckmann Extra 330SC design aluminum, ensuring that there is no and “shades of blue” color scheme, this possibility for misalignment of the stages indoor version is a stylish aerobatic unit for during assembly or use. intermediate to advanced pilots. DeCIMate: This gearbox comes with Made of resilient EPP carbon two AndyMark RedLine motors, providing construction with reinforced wings and an output geometry and weight similar to fuselage, this high-performance aerobat the popular CIM motor, but with almost can handle creative and challenging twice the power. Use this anywhere you would utilize a 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, The rest of the design concept Warhammer Team GlitterBomb had been came from the reasons for our failure 40K. Fasked — as were all the teams — at Series 1 and the feedback we had to evolve their robots and bring received on social media. There would something new or improved. As team be no single point failures in the new captain, even though I loved robot, as we had lost in Series 1 due GlitterBomb, I wasted no time in to a single silly failure. deciding that we would be building a I wanted to have two of brand new machine. So, I presented everything, and I did mean that the team with my vision of the new literally. The sensible engineering version of GlitterBomb. solution would be to have secondary The first design decision was the or back-up systems for drive and name. We would not call this weapons, but I wanted two complete GlitterBomb 2. We would keep the robots wrapped in a single layered name as-is, and work out how to titanium skin. differentiate between the robots at a Furthermore, I was really quite later date. 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 Featured was. Determined to overcome the implied weakness that glitter-pink This Month: paint brings, the new GlitterBomb was designed to have the following 20 GlitterBomb: The (somewhat unrealistic) primary goals: Greatest Robot We’ve has two axes. There is a reason why 1. She would have two huge full pressure systems are almost Never Fought titanium axes, each bigger than exclusive to mega-flippers. There is a by April and James Baker anything I had seen before. reason why there have been only one 23 Auckland University 2. She would have a separate full or two robots in Robot Wars televised pressure CO2 pneumatic system for history with full pressure rams larger Robotics Association each axe. than 100 mm x 160 mm. However, 10 Holds Inaugural 3. Each pneumatic system would year old girls do not want to hear be as powerful as even the biggest your excuses. So, he built it. Competition flipper systems. GlitterBomb has two 1,200 mm by Max Gruebner 4. There would be two separate (four foot) long axes, which were drive systems; each at least as waterjet cut from a one inch thick 24 More than Fun and powerful as the best we saw at Robot piece of “special grade” titanium. The Games: Serious Wars, with four motors, four speed exploding GlitterBomb logo in the controllers, and two separate sets of axehead depicts the radiating Lessons from a Work batteries. shockwaves travelling outwards and Party 5. There would be more glitter, down the axe arm, transforming into more bling, and new outfits. a sine wave as they leave the axe by Don Miles head. I designed this to be functional 26 Boomzilla If you’re thinking to yourself that but also pretty. these goals are ridiculous, imagine The large unsharpened teeth are by Aaron Nielsen and Chris how my daddy felt when he first saw in homage to my love of the Seyfert them. There is a reason that nobody Warhammer 40K franchise and the

20 SERVO 01.2018 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 COMBAT ZONE downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.

chainsword weapon it is synonymous within the timescale, however, with with. The axe was designed, 24 volt Ampflow motors the only modelled, and stress-tested using available option in the UK right there Autodesk Fusion 360 before being and then, and no time to develop a sent for cutting. reliable brushless system from a The pneumatic system consists of standing start. two identical double-acting rams. Both A decision to use two separate are 100 mm internal bore, and a little systems based around the short case over 160 mm overall stroke — easily Ampflows was made, and then among the largest in Robot Wars’ changed as a sponsor offered us two history. Each has three half inch inlets of their speed controllers, allowing us for extension and two for retraction, to run two of the larger Ampflows at with a dedicated Burkett 5404 silly voltages, and stopping us from solenoid valve for each inlet. These using the dual drive system concept. valves feed unregulated gaseous CO2 We had our first single point failure in from the enormous buffer tank at the the robot, but the sponsorship was back of the robot. seductive. In retrospect, turning down Two large CO2 bottles feed the the sponsorship and running the four buffer tank with a total of 4 kg of smaller motors would have been a CO2. The reasons for this particular better choice. configuration are quite simple. The April designed GlitterBomb It didn’t matter though, as first GlitterBomb had a very powerful with colored pens first, then running 24 volt Ampflows at 42 volts Autodesk Fusion 360. axe, which we could run at a pressure gave us all a big smile, and a burst of as high as 13 Bar with the regulator speed that made us forget the torture we had. We knew that we would be happening inside the robot at full happy at this lower pressure, with the throttle. Daddy joked the robot would robot able to self-right with just 5 Bar use brushed motors for most of the in the tank, but I wanted us to use fight, and would have ended the the full pressure of the CO2 bottle to from a 10 year old are refreshingly fights with brushless motors as they avoid possible regulator failures. clear. “I want as much power as ...” were eaten up so quickly. So, we had Anticipating much lower was the normal quantitative measure, the brushed/brushless drive after all. temperatures at Series 2 (which filmed as I selected the most powerful What do you do when you have a in Scotland), we knew that by having flippers and pushers in the robot that is overpowered in every huge rams and high pressures, the competition as our benchmark. way: right up against the weight limit robot would work extremely well even It would have been easy to dial with fairly light armor (multiple layers at low temperatures, being at least as that expectation back and give me of titanium); tires that spin at 1/4 powerful as we were in Series 1 even less with a white lie covering daddy’s throttle; and a weapon so insane it while other robots struggled. compromises, but with the unique will lift the whole robot a good few Our problems would start if the selling point of Team GlitterBomb feet into the air if unchecked? temperatures were higher, and we being that our lead designer is the We had no weight left for the were able to make use of the full kid, it would be dishonest to do electromagnets we had built to hold bottle pressure. This concern led to anything other than build a cartoon of us on the ground when firing the the need for a very strong frame a robot. axes, and give grip to the tires. The within the robot, designed to take the The drive system was therefore huge neodymium magnet we had as 16,000 lbs of force that firing both equally silly. We planned to combine a back-up plan could not be switched axes would generate. the flagship large 48 volt Ampflow off if we were pushed on our side With the timescales involved, it motors with a Scorpion brushless into a wall (as we were in Series 1) or meant that this strong welded steel secondary “supercharger” drive if we got the math wrong, it might chassis weighed 50 lbs when system. Working together, we would lock us to the floor. In fact, our only complete, which is twice the weight it far exceed anything seen before, and option was to exercise restraint and would have been with a longer lead in the event of a failure of any motor, go easy on the controls — especially if time, but you work with the controller, or battery, either system it was warm on the day. limitations you have. can move the robot well enough. As I control the weapons myself (I My daddy says that design briefs This plan could not be realized have been known to get carried

SERVO 01.2018 21 Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 22

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. The GlitterBomb logo is a Our hired vehicle broke down, structural part of both axes. 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 away), we rewired one inlet valve on to see GlitterBomb in the workshop, technical checks on time was each side of both rams to be backup as I’m not able to use the welder and complicated by needing to fit some only, giving us reduced flow to the big tools yet due to my age. I worked parts for the first time. This is a very rams. We also altered the drive on the electrical system at home, and quick and easy job when you have transmitter stick to give better control Daddy did the fabricating. At the time, but not so easy when rushing and longer movement, hoping the workshop, I was surprised to see the for a deadline, as things tend to fight madness of combat does not restore robot clad in thick welded-on Hardox you. my brain to “bang-bang” control steel. It turned out that — in a We missed the deadline, and my defaults, if I chose to drive. moment of madness — Daddy robot lost her place on the show. As the date approached, I went thought he had extra weight available 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 Two giant rams form the the last. heart of the robot. 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

22 SERVO 01.2018 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 issues, or Daddy helped them. already designed the new option if we were called up on short It was sad that my new robot has GlitterBomb, and will try to enter it notice. never fought, but I think it was just into Robot Wars again. We had a plan to remove one set the way it was meant to be. We I think the second version of of batteries from each pack, as well as messed up, did not leave time for GlitterBomb — the best robot we have the backup valves and redundant mistakes, left ourselves open to bad ever built — needs to be retired, even pipework after our first fight, saving luck, and we were bitten by it. I am though it has never fought. SV the weight needed to put the second proud of the work the team did, and axe back on, but it never happened. of what we built; maybe the most We did have a few opportunities powerful pneumatic robot in Robot The original article on GlitterBomb appeared in the June 2017 Combat to replace robots, but the other teams Wars history, but we need a new Zone section. either did a great job of fixing their robot. A more sensible robot. I have Auckland University Robotics Association Holds

Inaugural Competition ● by Max Gruebner

fter the Auckland University competition. and engage in marketing and Robotics Association (AURA) Unfortunately, as we are a promotion. Atook out first and second place student organization, constructing a One of our members works at a in the 2016 Australian RoboWars safe arena was well outside of our trailer maker (Reid Trailers), so we Nationals, we were left wondering budget. We began reaching out to were fortunate enough to be able to what to do. New Zealand had no organizations as part of our ongoing use their workspace to fabricate the combat robotics scene — although we sponsorship efforts, and were arena, with AURA working nights clearly had the talent for it — so we delighted when Vodafone responded. while the business was shut down. began planning our own competition. With their support, we were able Building the arena turned out to We wanted to target high school to build a 2.4 x 2.4 meter arena with be a bigger task than anticipated, students, since we had plenty of 6 mm polycarbonate shielding and a with the group pulling an all-nighter experience working with this age steel frame, weighing well over 300 just two days before the competition group from our time spent kg. We were also able to source kits to ensure it was ready. The field volunteering for the VEX robotics and provide them at cost to teams, included a pit mechanism, so teams competition. that only built push robots That meant the robots without active weapons — would need to be small or robots with active enough to be built easily; weapons that broke — could not require access to still have exciting dynamic dangerous and complicated matches. machinery like welding Someone came up with equipment; and they would the genius idea of using car need to be cheap enough jacks to power the pit for high school teams to mechanism. We hooked reasonably buy parts for and them up to a couple of drill produce. motors, a VEX joystick, and We decided that a 1.36 cortex so we could remotely kg (three pound) control the pit, and it Beetleweight class was ideal, worked a treat. The pit is and began planning the 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 of weapons on show, including a saw borrowed from their sister, then went Most Destructive: Wingus & Dingus blade robot and some kinetic on to win their next three fights. Best Dressed: Team Cuddles spinners. Congratulations to our top three In the downtime between rounds teams, who won phones courtesy of capable of lifting 2,000 kg. while teams repaired their robots, we Vodafone, and the top team who won The University of Auckland was ran a couple of exhibition matches: a 3D printer from 3D Printing Systems. kind enough to let us take over a one between Vodafone and AURA; Now that we have an arena, we study space for the competition, and one between our 13.6 kg robots, look forward to running more which lasted a whole Saturday. The Dreamcrusher and Undertaker, which competitions in the future. competition itself was a great success. served to keep the audience engaged. If you’re keen to build some We had 13 teams initially, A special shout-out to Southern fighting robots, or would just like to although we lost a couple along the Warrior, who — when the belt get more information, visit us at way due to irreparably damaged powering their weapon snapped mid- minirobotrumble.com. We hope to robots. There was an impressive array fight — repaired it with a hair tie they 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 However, it wasn’t just about overkill equipped with some armor or just MyLifter, Jerome Miles decided on the arena for the robots or the fun decorations, depending on the budget Fto build a battle box for three that came from the competition. The and seriousness of the entrant. Some pound robots, and put on a employees learned a lot about of the “contestants” were small clones competition for the workers and their engineering from these contests, of the heavyweights from the popular families. along with the inner workings of series, BattleBots®. The battle box was eight feet robots and even more about remote The simpler entrants were mostly square and four feet high, with control. eliminated in the first round of the quarter inch polycarbonate walls and The bots entered in the MyLifter winner’s bracket, but there was one ceiling, and two inch square steel event ranged from “real” robots to fight worth noting between the tubing for the frame. The floor was plastic remote control cars that were spinner, Ring of Terror, built by Austin plywood with a fiberglass cover Carlson, and RC Car-i-nator, a for traction. The box was way plastic remote control car. overbuilt for three pound robots. Car-i-nator won the first half At the party, there were 16 of the fight by out-driving Ring of robots that fought in a double- Terror and not letting the spinner elimination tournament, and the make a direct or solid hit. Ring of winners got tools for prizes. Terror was actually a very nasty Really cool tools! The prize for spinner, with most of the weight third place was a $500 set of in a doughnut ring on the power tools from Ridgid, and the outside of the robot. It didn’t prizes went up from there to have a lot of control in its driving about $800 worth of tools. For a ability, however. It wobbled small company, the battle arena slowly as it made its way around and the prizes were both pretty the arena. high dollar. Car-i-nator, on the other The workers and families had hand, was very quick and a great time at the event. controllable. Had the driver been

24 SERVO 01.2018 Combat Zone - Jan 18_Combat Zone - Aug 15.qxd 12/5/2017 6:23 AM Page 25

COMBAT ZONE

able to stay away from winner’s bracket but the spinner the entire fought their way match, he might have through the loser’s won. bracket to fight each In the second half other. of the fight, Ring of Mr. Plow, which Terror finally got a hit looked like it sounds — a on the car, which sturdy squarish box with severely disabled it. The a snow plow–type blade maneuverability was on the front to absorb then closer to the same, hits — took out War Tek so Ring of Terror got by simply taking hits more hits, inflicting and “plowing” forward, enough damage to take pushing War Tek into the car out of the fight. the bumpers of the However, the plastic remote control For aggression, War Tek only had arena. car came very close to beating the power to one wheel to drive, so its Mr. Plow did the same thing to Ring. control was not great. On the other Twister. It simply absorbed all the By the time the third round of the hand, Twister drove remarkably well. damage in the blade, suffered no real winner’s bracket was underway, only Twister was Miles’ robot, and he’s a damage to its tires or motors, and stronger built robots were left to very aggressive driver. So, he kept outlasted everyone in the loser’s compete. In one match, War Tek (a after War Tek the entire match. bracket to make it to the final clone from BattleBots) was pitted War Tek did drive over Twister championship battle with Ring of against Twister, a low wedge with a several times, but since Twister was Terror. spinner on top like a helicopter blade. the one underneath, he was Ring of Terror — with most of its Twister had some trouble with its considered the aggressor and so the weight and weaponry in the outside spinner, however. winner of that scoring. Since Twister blade — didn’t break when it hit Mr. War Tek, built by Kevin Rees, had also initiated most of the contact with Plow’s snow plow. With little weight its spinning bar on a strong arm out some superior handling and an in the drive mechanism, it had in front. It was basically a “T” with the aggressive approach, Twister also won problems driving, but Mr. Plow was spinner at the bottom of the T and control of the match, so obviously got not maneuverable either. It couldn’t the drive wheels in the cross of the T. those points as well, winning the dodge the spinning ring. War Tek appeared menacing and contest. The extra weight in the ring hit was a tough robot, but its spinner Some folks didn’t like that Twister the plow and did inflict damage, and was too high and it couldn’t get a was declared the winner. War Tek tossed the plow around the arena. direct hit on Twister. As the match functioned well and really had no progressed, Twister drove very quickly serious damage inflicted. Plus, it and aggressively at War Tek, which looked like the better-built robot. had no malfunctions and really Scoring, as mentioned, was not given appeared to be the better and to a robot because it looked good or tougher of the two bots. appeared to be the better robot. It However, scoring didn’t go to the had to outscore the opponent in the robot that looked the best or fight, and War Tek simply failed to do appeared to be the best. Scoring in that in this particular bout. this competition was based on three In the final winner’s round, Ring factors: aggression, damage, and of Terror hit Twister more than Twister control of the fight. hit back. The trouble Twister had with Since War Tek didn’t get any hits its spinner in this fight was a deciding on Twister, it couldn’t win that part of factor, and so Ring of Terror won. the fight. Twister didn’t do much Back in the loser’s bracket, the damage to War Tek since its weapon same four robots that were the top had problems, but it did connect on four in the winner’s bracket emerged hits, so the advantage again went to as the top “winners” overall. Mr. Plow Twister for damage. and War Tek lost in round 3 of the

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 maneuverability is much more They got very serious about fixing robot enough times with enough important than looks or appearance, flaws, improving on lessons learned, weight to do damage and control the the best lesson learned was that and proving to themselves and their fight. That made the judging easy, battles can turn on the smallest coworkers they had evolved. and Ring of Terror won the problems and the tiniest design flaws. Competition brings out serious competition undefeated. All problems and flaws — no approaches to fixing problems, and all While the competition was fun matter the size — are exposed much of these lessons apply to the and the families and kids had a great more quickly in battle than on the mechanical, electrical, and time (plus, the prizes were awesome), regular shop floor. They also learned programming problems the workers the true winner was the company big flaws need serious or even “start- face every day. This was a tremendous since the employees gained so much over” remedies. educational experience for them. knowledge. The employees ended up After all, isn’t learning while While they discovered one drive challenging each other to grudge having fun the best way to gain wheel is not enough and matches during the next few weeks. knowledge? SV

Boomzilla ● by Aaron Nielsen and Chris Seyfert

ach year — presumably sense meticulously plotting because we’re allergic out our bots. We eye the Eto 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 spring- place 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 wedge was to keep opponents from sliding off before we say nothing about drive, control board that was a could flip/kick them. battery, and electronics — 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

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 and technical and intimidating, but aluminum piece normally used by if you’ve read this far in the article, the infamous D2 kitbot (a four- you know we have no idea what wheel drive wedge known for we’re doing, and we still figured it general invincibility) — has brackets out in about half an hour. that allow said wedge to flop up The brushless conversion adds a and down to stay as close to the whole lot of speed and power, and floor as possible. actually reduces both the weight Under that wedge, we put a and the physical size of the second wedge (or, more accurately, motor/gearbox, which is a long and foot) that was directly hooked to convoluted way of saying Boomzilla the Bimba cylinder and that — when had speed and torque in abundance fired — kicked the black wedge so it while also getting a little bit of would flip whatever was on top of weight for aluminum mesh top it. If it helps, think of croquet when armor. you hit someone else’s ball. The trick with the brushless There’s a litany of problems conversion is getting the pinion to with the design: It’s mechanically stay on the brushless motor, as that inefficient, as pneumatics impart is the notorious point of failure. A most of their force at the beginning lot of teams at the Bot Brawl used of the stroke. The tiny air gap Loctite Green, and I dare say almost between the foot and the front all of them had their pinion(s) come wedge represented a huge loss in loose. We used Loctite Red, and all force/flipping potential. our pinions stayed on. I’m not sure We also encountered a problem Those four screws on the white “foot” that if we should be gloating about our in that there was nothing to stop we didn’t finish putting in? Way more adhesive choice or marveling at our the foot from twisting when fired, important than you’d think. remarkable luck. which cost us one match because In closing, Boomzilla (a name it our wedge ended up jammed on the around 100 pounds per square inch could never hope to live up to) placed side of said foot. (We came up with a (PSI). The threaded 12 gram CO2 fourth at the 2017 Bot Brawl and battlefield fix of adding four partially cartridge provided a respectable 30 spent far more time using its “foot” to installed screws to the foot to shots. kick things that came too close than discourage it from twisting.) Ultimately, when it came time to using its black wedge to flip things. Finally, while you might expect a put this together, we opted for one of This was far better (and far more pneumatic flipper bot to be able to our time-tested methods of bot entertaining) than we expected for a flip itself over, the brutal truth is this manufacturing: stick everything in a build featuring all sorts of tech we’ve design could not. Worse, all the funny 7” ring of HDPE tube and cut access never tried before. pneumatic components made it so it ports where needed. If we decide we like the design couldn’t drive upside down either. The regulator fit into a recessed enough to repeat it next year, Bimba Speaking of the funny pneumatic hole in the front plastic and was held makes cylinders with Delrin ends, components, here is a brief rundown in place with zip ties. The solenoid which are significantly lighter than the of the rest of the robot’s weapon valve mounted directly to the now aluminum monster currently in our system. structural air cylinder with a 1/8" pipe bot. In addition to a cylinder, nipple. We would also benefit from a pneumatics require a regulator For drive, we opted for what has weaker return spring in said cylinder, (controls the flow of gas so your bot come to be known as the “five minute as it has almost six pounds of force, doesn’t turn into a bomb) and a brushless motor,” which is essentially which is no doubt cutting into the solenoid (directs the regulated a cheap brushless motor connected to power of the robot’s flips. amount of gas to where you want it, a cheap eBay gearbox (taken off a Finally, there’s always the outside i.e., the cylinder, when you want it). similar sized motor) and a cheap chance we’ll stop putting our wheels We used a 16 gram "Micro Rock" brushless electronic speed control on the outside of our bots, too; but regulator and a Clippard MME-31PES- Flashed with SimonK software to then again, that just might cause that W012 solenoid. Both worked well, enable reverse. victory allergy to flare up. Better not and the system operated at right It all sounds really complicated, risk it. SV

SERVO 01.2018 27 Colihan - Autonomous Snowplow Competition - Jan 18_Blank Rough SV.qxd 12/5/2017 6:29 AM Page 28

A Time to Plow

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.

o participate in the Autonomous Snowplow Toro Company; Nuts & Volts Magazine ; SERVO Magazine ; Competition, the teams build a completely ANSYS, Inc.; Douglas Dynamics LLC; Left Hand Robotics; automated and independently guided SICK, Inc.; US Bancorp; and Achievement Rewards for programmable robot that will plow snow absent of College Scientists Foundation (ARCS). human control. Students must apply state-of-the-art On January 25-28, 2018, spectators, competitors, and nTTavigation and control technology in the programming of volunteers will again converge on Rice Park in St. Paul to robots to enable them to clear paths of snow rapidly, watch the events unfold for the upcoming eighth year of accurately, and safely. the competition. The 2018 competitors will include: Case The competition is organized by the Institute of Western Reserve University with the robots “OTTO XL” and Navigation, Inc.’s North Star Section, and is sponsored by a “Sno Jok;” Dunwoody College of Technology with the variety of external companies and organizations that help robots “Snow Devils 1000 2” and “Wendigo 2018;” Iowa fund and operate the event each year. At the time of this State University Robotics Club with the robot “Cyplow;” writing, the 2018 sponsors included: Honeywell Marquette University with the robot “Arnold;” New Jersey International, Inc.; ASTER Labs, Inc.; Orbital ATK, Inc.; The 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 Minnesota- Twin 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 0111 2 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 the course. This meant that the robot could not plan for future commercialization blueprint for their vehicle. In 2017, the obstruction beforehand and had to be able to recognize the President of the local ARCS Foundation chapter, Barb it wherever the sign appeared — a necessary function for a Goergen, gave a short presentation on the function and robot in the real world that may be coming in contact with support by their STEM-based scholarship organization for unexpected obstacles such as people or cars. the Autonomous Snowplow Competition. When the stop sign appeared, the vehicles were On Friday of the competition week, the teams attend required to make a full stop — determined by no vehicle the Final Qualifying Review. This process involves stringent wheels turning — in front of the sign and keep still until the testing and verification of each vehicle to ensure that it sign was removed, without touching the sign at any point. meets all of the competition requirements, including size, If any part of the vehicle hit the stop sign, the team would control, and safety. During Saturday and Sunday of the lose points accordingly. competition week, all qualified vehicles participate in the A newer element of the Autonomous Snowplow actual snowplowing portions of the competition. Competition (also introduced at the 2017 event) involved In each dynamic snowplowing event, the teams are more cooperation between the teams and interaction presented with additional challenges including obstacle between the robots. The new event — dubbed the avoidance. Colorful poles are placed throughout the Collaborative Operational Challenge — was organized last snowfield that the robots must be programmed to avoid. year by Snowplow committee member, Dr. Demoz Gebre- The most recent competition featured two fixed posts: one Egziabher from the University of Minnesota-Twin Cities. The inside the path representing a parking meter, and one event places two separate autonomous vehicles in a outside of the snow path representing a tree trunk. If any snowfield together, encouraging them to work with one part of a vehicle hits any of the obstacles, a deduction is another to quickly and accurately clear the snow. The made to the vehicle’s final score. vehicles must also avoid hitting one another, although some A new obstacle that was introduced in the 2017 spectators cheered for the robots to tackle each other in a competition was a moving stop sign, which the teams had more “battle bots”-esque scenario. Four robots competed in to prepare for by stopping when the sign was introduced at this challenge in 2017, and this event is expected to expand any time on the course. The moving stop sign was attached in the 2018 competition. to a pole and controlled from outside the field, and was Every year, students introduce new and innovative presented for a short amount of time at a random point in 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 Dunwoody College of Technology’s Wendigo. 30 SERVO 01.2018 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 University of Michigan Dearborn’s Yeti 7.0. the run, and return to at the end of a run. Measurement Unit (IMU), and wheel encoders to localize This mimics the function that these vehicles would itself within the area, along with a combination of cameras need to possess in a real world marketplace to return to the and LIDAR for obstacle detection and identification. owner’s garage or place of storage, so the robot can Their Snow Jok team will build a snowplow vehicle with operate completely autonomously without the help of the a four-wheel skid steer platform and 24V gear motors user. driven by low-cost embedded electronics. An active beacon There are three ways that teams can potentially lose system will allow their robot to determine its position, and points during their run. The first is an outer zone boundary inertial measurements will allow the estimation of its infraction which occurs if the team’s vehicle passes the orientation. They also noted that Snow Jok will be outer boundaries set in the Single-I and Triple-I fields. The specifically programmed to enjoy the cold weather. teams would also receive a point deduction if they were to Dunwoody College of Technology’s Snow Devils Team declare a restart, in which they would stop a run and will utilize a two-wheel drive chassis and magnetic strip manually reposition the vehicle back in the garage zone. navigation system. The goal this year will be to interface an Finally, points are lost if vehicles hit or move either a Allen Bradley PLC controller to both the magnetic sensor fixed or moving obstacle positioned on the course. The final and Roboteq motor controller. This will allow more team scores determine the winners of the competition and who members to take part in code development and debugging. the recipients of the many awards available are. Additionally, a secondary ultra-sonic sensing system is The 2018 competition will take place in conjunction planned for moving obstacle detection. with the Saint Paul Winter Carnival as it usually does, but Dunwoody College of Technology’s second team, will also be a precedence to the NFL Superbowl happening Wendigo will utilize a four-wheel drive chassis that weighs a week later at the US Bank Stadium in Minneapolis. approximately 1,500 pounds. The goal this year will be to Because of this, the event this year is expected to attract interface an Allen Bradley PLC controller to a vision-based higher traffic than previous years, and will likely spread navigation system and obstacle detection sensors. public interest in the event and the innovative spirit it Iowa State University’s Cyplow will be a skid steer robot carries. with a computer vision system to detect obstacles, and a This year’s event will have many returning teams secondary system on the side of the field to perform sporting new and improved vehicles. The teams have been localization with OpenCV’s ArUco module. putting countless hours into the construction of their robots Marquette University’s Arnold will be a hydraulically for the 2018 competition, and many have already sent in powered vehicle with all-wheel drive, skid steering, UTV their vehicle design approaches to the judges. tires, and fixed angle UTV plow. The vehicle is powered by Last year’s First Place winner, Case Western Reserve a 35 HP internal combustion engine and weighs University’s OTTO XL team is planning to build a differential approximately 600 pounds. drive robot that utilizes a beacon system, an Inertial 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 Go to www.servomagazine.com/index.php/magazine/issue/2018/01 to comment on this article. for Mechatronic Components rotating auger that collects the snow rely on ultra-wide band for localization into a centralized heating chamber. and LIDAR for obstacle avoidance. Explore | Design | Buy Online The snow will then be liquefied until it University of Michigan at is a fluid, and will then be pumped Dearborn’s Yeti 8.0 will be an out to a drain or external location. autonomous vehicle that uses a LIDAR THUNDAR 3.0 from North Dakota and a camera for vision and obstacle State University will build an detection. Localization of the robot approximately 300 pound will be achieved using LIDAR assisted autonomous skid steered snowplow by a set of landmarks. The robot will robot with actuated plow motors to use preplanned waypoints to navigate control pitch and elevation of the across the course. plow. There will be a SICK LIDAR Finally, University of Minnesota- sensor for comprehensive obstacle Twin Cities will build a track driven detection at the front of the robot. vehicle with a steel base and plow, Over 100,000 Positioning and localization will be aluminum frame, plastic body panels, small mechanical parts achieved by running a Kalman filter of and the ability to plow snow by odometrically-processed data from the autonomously mapping and www.sdp-si.com LIDAR, wheel encoders, and IMU, navigating an environment. It will do no minimum requirement along with GPS coordinates. The this by taking in data on its navigation is done through a path surroundings with LIDAR and a planner subsystem of the autonomous camera, and translating them into an software. The software also has a optimal path for plowing. Game Evaluator for high-level decision To learn more about the making. competition, check out the event Samuel O’Blenes’ Plowerwheels website at www.autosnowplow robot will be a differential drive .com , or visit Rice Park in Saint Paul, vehicle based on a Power Wheels™ MN on January 27-28, 2018 to see Wild Thing chassis. The vehicle will 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 ith the usability of six-axis hexapods increasing in Specifications: research and industry applications, PI introduces a • Length: 36.22 in (920 mm) Wnew medium load six-axis precision motion platform: the H- • Wingspan: 32.26 in (845 mm) 825 hexapod. The H-825 provides a self-locking load • Weight: 6.17 oz (175g) capacity up to 30 kg (66 lbs). The motion range is up to 55 • Controls: Ailerons, Elevator, Throttle, and Rudder mm (linear) and up to 38 degrees (rotation). High system Recommended Equipment: precision is guaranteed by absolute encoders and an • ROXXY® BL Outrunner C27-13-1800Kv Motor with actuator resolution of eight nanometers — with excellent ROXXY BL Control 712 Speed Control position repeatability of ±0.1 µm and ±2 µrad, respectively. • Two Hitec HS-40 Servos and One HS-65HB Servo The parallel-kinematic design of the hexapod makes it • Two-Cell 450 mAh LiPo Battery smaller and stiffer than traditional six-axis positioning • Minima 6 Lite Hitec Receiver systems while providing a higher dynamic range. The parallel kinematic design (all actuators working in parallel The Extra 330SC is available exclusively at on one moving platform) does away with issues caused by www.weekenderwarehouse.com . For further moving cables — an advantage in terms of reduced friction information, please contact: and reliability. The brushless servo motors employed in all six hexapod Hitec MULTIPLEX www.hitecrcd.com 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 Is your product innovative, less expensive, during power-up. Absolute encoders also ensure that any operation can be continued seamlessly in case of a power more functional, or just plain cool? If you interruption. PI hexapods come with state-of-the-art controllers and software tools based on 25 years of hexapod R&D, resulting have a new product that you would like us to in fast solution implementation to a plethora of applications. All six axes can be commanded simply as run in our New Products section, please email Cartesian coordinates, and the center of rotation can be changed on-the-fly with a software command. a short description (300-500 words) and a To get a quote or for further information, please photo of your product to: contact: [email protected] 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

To post comments on this article and find any associated files By Theron Wierenga 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 Figure 1. The four inch PCB with all components soldered and partially breakout board was included. This uses the SPI lines on the assembled. 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. Figure 2. The four inch PCB mounted in the 6 x 6 x 4 inch Cantex box. 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 and hung from four small rubber bands connecting the necessitate installation on the bottom of the PCB. holes on the board to size 4-40 stainless machine screws 5. The Adafruit 9-DOF board is installed upside down installed in holes just outside the outline of the Adafruit 9- SERVO 01.2018 35 Wierenga - Underwater Quad - Part 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:26 AM Page 36

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 Figure 3. Mounting the the tether wire. These solve the problem of loose Adafruit 9- connections causing intermittent serial signals. These DOF sensor. 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. DOF. The 9-DOF sensor can be further isolated from vibrations by raising and separating it from the PCB with a PID Controllers piece of foam rubber. See Figure 3 for details. Some additional mass attached to the bottom of the 9-DOF board Quadcopters employ PID controllers in their software to can also help reduce vibrations. implement the necessary fly-by-wire system. A quadcopter 6. There are six-pin header jumpers installed between has four degrees of freedom — pitch, roll, yaw, and height the Adafruit 9-DOF and a six-pin header on the PCB, and — and the Quad_ROV replaces height with depth. It’s the servo driver board and another six-pin header on the impossible for a human to smoothly control all four of these PCB. The plug to the servo driver board is the one closer to variables using two joysticks manually. the Teensy 3.1/3.2. There is a four-pin header jumper When the two joysticks are allowed to go to their installed between the servo driver board output pins 0-3 neutral position, the Quad_ROV should hover in place with and a four-pin header on the PCB next to the 74LS157 the software reading the sensors and maintaining multiplexer. Be sure to check for the correct orientation of equilibrium. PID stands for Proportional, Integral, and these plugs. Derivative, and is basically a feedback loop system to insure 7. Small 1/4 inch square pieces of plastic or other that changes in the motor’s speed are done smoothly. suitable material will need to be cut to mount the servo The cruise control in a car is operated by a PID driver board. A piece one inch long will work for this driver mechanism. If your cruise control is set for 70 MPH and you board that mounts vertically on end. A 1-1/4 inch long slow to 45 MPH, when you re-engage the cruise control it piece of 1/4 inch plastic is needed for the video camera rapidly accelerates up to 70 MPH. However, just before it mounting; the height is determined by the camera size and gets to 70 MPH, it slows down the acceleration so that it window size made in the box. The two hole placement for will not overshoot the 70 MPH limit. This is the function of mounting the video camera is for a wide angle model I a PID controller. had, and is mounted on a small 1-1/4 inch PCB. Other For a full treatment of PID controllers, check out the cameras may be larger and require a work-around for using Wikipedia article at https://en.wikipedia.org/wiki the two mounting holes. It’s possible to mount an inverted /PID_controller. L-shaped piece of plastic with the two mounting holes that Another good reference is Chapter 7 in the book Pro 36 SERVO 01.2018 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. Wikipedia article has some good animations that help to Fortunately, we don’t have to write our own software clarify this subject. for this complex algorithm. There is an Arduino library After some experimenting, it was found that Kp = 3.0, available that does this. It can be found at Ki = 0, and Kd = 0.3 for depth, and Kp = 2.5, Ki = 0, and http://playground.arduino.cc/Code/PIDLibrary. Kd = 0.5 for roll and pitch was workable. I didn’t implement A nice description of this library — although a bit heavy yaw in my prototype. No doubt these gains could be on the math — is at http://brettbeauregard.com/blog improved with finer tuning. /2011/04/improving-the-beginners-pid-introduction. The Teensy 3.1 software for controlling the Quad_ROV Using this library is pretty straightforward. Here’s a very will need four PID controllers: one each for pitch, roll, yaw, basic example from the author of the library: and depth. The program to control the Quad_ROV will be a large loop that will: /************************************************ * PID Basic Example * Reading analog input 0 to control analog PWM 1. Read the current joystick positions to get the desired * output 3 setPoints for roll, pitch, yaw, and depth PIDs. ***********************************************/ 2. Read the sensors to determine the current input #include values of the roll, pitch, yaw, and depth PIDs. 3. Feed these values to the four PID controllers and //Define Variables we’ll be connecting to double Setpoint, Input, Output; have them compute new output values. 4. Combine and scale the values output by the PID //Specify the links and initial tuning //parameters controllers, and send the values as servo signals to the ESCs PID myPID(&Input, &Output, &Setpoint,2,5,1, that will drive the motors. DIRECT); void setup() Figure 4 is a basic flowchart of the software { controlling the Quad_ROV. The complete software for both //initialize the variables we’re linked to Input = analogRead(0); Setpoint = 100; //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 Figure 4. milliseconds, which produces 100 Hz updates. Flowchart The direction parameter in the PID object is normally of the controller set to DIRECT. However, for the depth PID, this must be set software. 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 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. mySerialEvent(); if (stringComplete) { Serial3.println(inputString); Controller Software Notes // Echo command back to the joystick controller Serial.println(inputString); Following are some of the more important software String subStr = inputString.substring(0, 1); fragments from the controller program. // Get the letter int len = inputString.length() - 1; In Setup(), the ESCs need to initialize normally. First, String temp = inputString.substring(1, len); the 74LS157 multiplexer is immediately set to send the 555 float val = temp.toFloat(); // Get the value timer signal to the ESCs. Next, the Adafruit servo driver inputString = “”; board is started and the minimum signal (minus a little) is stringComplete = false; output. It’s important that the MIN_SIGNAL value is set so if (subStr == “R”) { rollSetpoint = val * 2.0; that the motors will always be turning. } If MIN_SIGNAL allows the motors to turn off, the result if (subStr == “P”) { pitchSetpoint = val * will be an uncontrolled wobble of the Quad_ROV. This is 2.0; } if (subStr == “Y”) because there is some inertia to overcome when the motors { restart, causing a delay in response. After the ESCs have yawSetpoint = yawSetpoint + val; if (yawSetpoint > 360.0) { yawSetpoint -= had a delay of eight seconds to start up, the multiplex 360.0; } signal is set low to allow the signals from the servo driver if (yawSetpoint < 0.0) { yawSetpoint += board to connect to the ESCs for normal operation: 360.0; } } #define MULTIPLEX 2 if (subStr == “D”) // For switching servo signal into ESCs { #define MAX_SIGNAL 325 // = 1737 uSec depthSetpoint = depthSetpoint + val; #define MIN_SIGNAL 208 // = 1112 uSec if (depthSetpoint < 510) { depthSetpoint = 510; }// surface about 520 // Allow ESCs to initialize if (depthSetpoint > 1150) { depthSetpoint = pinMode(MULTIPLEX, OUTPUT); 1150; } // 50 feet digitalWrite(MULTIPLEX, HIGH); // Make sure 555 timer is going to ESCs } // Setup PWM The portion of the main loop() that actually controls pwm.begin(); pwm.setPWMFreq(50); the movement of the Quad_ROV is next. // Analog servos run at ~50 Hz updates The sensors are read from both the Adafruit 9-DOF and pwm.setPWM(0, 0, MIN_SIGNAL - 5); the pressure sensor, and then each value is sent to the // Turn them all off pwm.setPWM(1, 0, MIN_SIGNAL - 5); smoothing functions. pwm.setPWM(2, 0, MIN_SIGNAL - 5); These functions contain a circular buffer which pwm.setPWM(3, 0, MIN_SIGNAL - 5); averages the last 30 sensor reads. This helps in smoothing delay(8000); out the sensor values, which tend to vary slightly. With the // Wait for ESCs to initialize new averaged sensor readings, the four PIDs compute a digitalWrite(MULTIPLEX, LOW); new output value. These values are then used to generate a // ESCs should be powered up so switch input new thrust value for each motor. This next fragment shows the basics of the main loop(). Note that the depthOutput is added to all four motors. The first section checks for any serial commands If only the depth needs to be changed, these four motors coming from the joystick controller. If something is received, will all run at the same speed, and increase or decrease it is first echoed back to the joystick controller to indicate it their speed depending on whether the Quad_ROV needs to has been received correctly. Then, using the first character go up or down. With the rollOutput variables, the two in the received string (which is a letter), it determines what motors on either the right or left are increased in speed setpoint must be changed, and with the extracted value while the opposite motors are decreased in speed. This will changes that setpoint. roll the Quad_ROV to the right or left. The values for the roll and pitch setpoints are multiplied The same happens with the pitch and yaw output by 2.0; this can be adjusted to determine how aggressive values, but the + and - signs differ on specific motors to the roll and pitch will be. The yaw setpoint goes from 0 to create the pitch or yaw motion. After the four motor values 360 degrees, so overflow and underflow are dealt with if are computed, they are checked and truncated if needed to necessary. stay within our MIN_SIGNAL and MAX_SIGNAL limits. The same is done for the depth setpoint which insures Note that the divisor variable can be adjusted to the Quad_ROV will not go below 50 feet: change the overall thrust of the brushless motors. This may 38 SERVO 01.2018 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 the Quad_ROV goes into the yellow RCA jack on the are used. The motor[] values are then sent to the motors by adapter. This model also has a red and white jack for audio, assigning them in the four servo driver pwm.setPWM() and a black jack for S-Video input, which are not used. methods:

readSensors(); Thoughts on Improvements // Read roll, pitch and yaw values temp = analogRead(A0); The Quad_ROV that I built is really a prototype. Here // Read the depth pressure sensor are some thoughts on changes I would make for depthInput = double(smoothdepthSensorReadings (temp)); improvements: rollInput = smoothrollSensorReadings(orientation. roll); 1. The number one problem I had with this project was pitchInput = smoothpitchSensorReadings (orientation.pitch); vibration, causing the 9-DOF sensor to give bad readings. yawInput = My solution was neoprene rubber pads between the motors smoothyawSensorReadings(orientation.heading); and the end of the arms. Note that four holes in the rollPID.Compute(); neoprene mount the motor to the neoprene, and another pitchPID.Compute(); four mount the neoprene to the arm. This is not the same depthPID.Compute(); yawPID.Compute(); as just sandwiching a layer of neoprene between the arm and motor with screws through the arm to the motor. motors[0] = (int)(((depthOutput + rollOutput + Neoprene pads were also used between the arm structure pitchOutput + yawOutput) / divisor) * range + min_double); and the Cantex box. The Adafruit 9-DOF is also suspended motors[1] = (int)(((depthOutput - rollOutput + with rubber bands as described below in number 6 of the pitchOutput - yawOutput) / divisor) * range + min_double); new PCB. It’s important to check the output values of the motors[2] = (int)(((depthOutput - rollOutput - 9-DOF sensor while running the motors in a static test out pitchOutput + yawOutput) / divisor) * range + of the water. The pitch and roll angles should not vary by min_double); motors[3] = (int)(((depthOutput + rollOutput - more than a fraction of a degree. pitchOutput - yawOutput) / divisor) * range + 2. The waterproof box for the controller circuit board is min_double); big, adding to the amount of ballast needed; this could be if (motors[0] > MAX_SIGNAL) { motors[0] = made smaller. With a well designed PCB, a 4 x 4 x 4 box MAX_SIGNAL; } should be possible as discussed earlier. It might be just as if (motors[1] > MAX_SIGNAL) { motors[1] = MAX_SIGNAL; } easy to create your own box out of something like 1/2 inch if (motors[2] > MAX_SIGNAL) { motors[2] = thick Plexiglas, which would allow you to set specific MAX_SIGNAL; } dimensions. A custom designed box could also be made if (motors[3] > MAX_SIGNAL) { motors[3] = MAX_SIGNAL; } with a 3D printer. This would need to be tested for what if (motors[0] < MIN_SIGNAL) { motors[0] = MIN_SIGNAL; } if (motors[1] < MIN_SIGNAL) { motors[1] = MIN_SIGNAL; } if (motors[2] < MIN_SIGNAL) { motors[2] = MIN_SIGNAL; } if (motors[3] < MIN_SIGNAL) { motors[3] = MIN_SIGNAL; } pwm.setPWM(0, 0, motors[0]); pwm.setPWM(1, 0, motors[1]); pwm.setPWM(2, 0, motors[2]); pwm.setPWM(3, 0, 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 Figure 5. NTSC to USB use. There are several small video adapters available on video Amazon or eBay that make this task easy. adapter. 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 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. connectors would be placed on the PCB. Larger bullet A smaller box should also be more resistant to pressure and connectors were used for the power connections from the allow for greater depths. tether. This worked well. 3. While I originally soldered the ESC power wires 6. It’s a real nuisance to have to remove the cover from directly onto the PCB, I later installed 3.5 mm gold plated the waterproof box to make a change in the software for bullet connectors. This allows you to easily replace an ESC the Teensy 3.1. It shouldn’t be too difficult to make access by simply plugging in a new one. This also allows for to a USB jack on the outside of the waterproof box. My separation of the 12 volt power lines from the PCB for thought is to take a six inch micro USB extension cord and calibration. Some ESCs come with bullet connectors already embed the female end in waterproof epoxy inside half of a installed. 1/2 inch female threaded PVC coupling. The opposite end is 4. I found that a set of 20 amp ESCs overheated very plugged into the Teensy 3.1 USB connector. The threaded easily with continuous use, so I changed to 30 amp models. coupling end is then epoxied into a hole in the waterproof 5. The 0.1 inch header connectors used on small box wall. Because the USB connecter is inside the threaded boards like the Adafruit 9-DOF and servo driver boards can coupling, you only need to screw in a 1/2 inch PVC cause problems. Many hours of time were spent finding threaded plug on the outside to make it waterproof. loose connections! I also used these header pins to connect Removing the plug temporarily allows access to the USB the signals from the tether and the pressure sensor to the connector embedded inside. PCB. The header pins — used with mating female jumpers — 7. Larger and higher quality joysticks would be more are prone to intermittent failure. This can be very frustrating ergonomic, although the small ones worked fine for me. since when this happens, the waterproof box must be taken This will increase the box size if an LCD panel is included. apart to get at the wiring inside. In the future, I would use Another possibility is a much larger box that would not be small 2 mm bullet connectors. These should also be used handheld, but could contain additional circuitry. A digital for the connections from the signal lines from the tether readout of current being delivered to the Quad_ROV would and the pressure gauge. Small bullet connectors could also be a nice feature. be used on the two Adafruit boards by soldering them to 8. A circuit breaker would also be a good addition. It wires connected to the board pads instead of using the might be placed inside the Quad_ROV, but topside would header pins that come with these boards. Mating bullet be more convenient.

Gasket rubber sheet for Plexiglas window and pressure Parts List sensor Quadcopter frame kit 1/4 and 1/2 inch thick Plexiglas Brushless motors with M4 threaded shafts (4) Headers with 0.1 inch spacing and various mating three-, Traxxas propellers, number 1533 (2) four-, and six-pin, 4-6 inch long jumper cables Traxxas propellers, number 1534 (2) 30 amp ESCs (4) 50 foot extension cord Cantex junction box, number 5133710 Small battery clamps 12 volt sealed lead-acid battery 60 foot Cat 5 cable Teensy 3.1 or 3.2 microcontroller Printed circuit board Adafruit 9-DOF board General-purpose sealed lead-acid battery, 12 volt/5 amp- Adafruit servo driver board hours NTSC 12 volt mini video camera Pressure sensor, Honeywell type with 1/4 inch pipe For the joystick controller: thread, PX2AN1XX050PAAAX Plastic project box, 200 x 120 x 75 millimeters 555 timer Mini joysticks (2) 74LS157 quad two-input multiplexer 2 74LS245 octal bus transceiver LCD display, four-line x 20 character, with built-in I C 1N4001 diode (2) interface 2K ohm 10-turn trimmer, 0.1 inch pin spacing Toggle switch 5K ohm 10-turn trimmer, 0.1 inch pin spacing RCA style panel mount jack 20K ohm 10-turn trimmer, 0.1 inch pin spacing Arduino Nano 220 ohm resistor, 1/4 watt Printed circuit board or perforated board to mount 510 ohm resistor, 1/4 watt Arduino Nano 1K ohm resistor, 1/4 watt Headers with 0.1 inch spacing and various mating three-, 4.7K ohm resistor, 1/4 watt (4) four-, and six-pin, six inch long jumper cables Red, Green, Blue LED Mini stereo phone jack and mating plug 4.7 μF, 6.3 volt electrolytic capacitor 2,700 μF, 6.3 volt electrolytic capacitor AA batteries (6) and battery holder 4,700 μF, 16 volt electrolytic capacitor 0.1 μF disk capacitor (4) Various bullet connectors, screws, washers, spacers, and 1/8 and 1/4 inch expanded PVC board nuts (stainless steel and nylon), hookup wire, solder, Soft neoprene rubber sheet 1/4 inch thick small rubber bands, 1/4 inch Plexiglas, ceramic tile Hard rubber sheet 1/8 inch thick for box gasket squares, duct tape, bungee cords, marine epoxy. 40 SERVO 01.2018 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 in place, this would make entering the Cantex box easier, as for different variables once the Quad_ROV is in the water. well as the ballast would not need to be removed. SV 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 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.

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 Trequired 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’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 Figure 1. need to be made to the robot. The new robot is shown in 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 The program in Figure 3 moves the robot forward until it’s five inches from an obstacle (the units returned by rRange() are 1/2 inch). After initialization, a while-loop Figure 2. continually moves the robot forward in tiny increments, while 42 SERVO 01.2018 Blankenship - RobotBASIC Beginners Part 2 of 2 - Jan 18_Blank Rough SV.qxd 12/5/2017 6:29 AM Page 43

for Beginners By John Blankenship To post comments on this article and find any associated files and/or downloads, go to www.servomagazine.com/index.php/ Part 2: Adding Sensors magazine/issue/2018/01.

#include “RROScommands.bas” main: gosub InitCommands xs=400 PortNum = 5 // set to your Bluetooth Port ys=300 rLocate xs,ys main: rectangle 70,100,300,200,red,gray gosub InitDCrobot circle 550,50,750,250,red,gray while rRange()>10 //gosub InitDCrobot rForward 1 rTurn -90 wend angle = -90 for i=1 to 10 end Figure 3. r = rRange() x=xs+r*cos(DtoR(angle-90)) InitDCrobot: y=ys+r*sin(DtoR(angle-90)) rCommport PortNum line 400,300,x,y rLocate 10,10 angle+=20 rCommand(MotorSetup, SMALLDC) if i<10 rCommand(SetSpeed,17) rTurn 20 rCommand(SetReducForwRight,5) else rCommand(SetMoveTime,34) rTurn -90 // original position rCommand(SetRotationTime,33) endif rCommand (SensorSetup, PING) next return end Figure 4.

the range reading is greater than 10. the beginning of a program that maps the robot’s Refer to last month’s article for additional details about environment, so it can formulate a path to avoid objects. programs like this. Scans with the Real Robot Reducing Development Time This same program can be used to control a real robot. One of the great things about using an RROS-based All we need to do is initialize the actual robot as previously robot is that you can reduce your development time using demonstrated. This is easily done by replacing the original RobotBASIC’s robot simulator. Figure 4 shows a program three lines that located the simulated robot and drew the that demonstrates how this works. two obstacles with gosub InitDCrobot. It locates the simulated robot in the center of the The real robot was placed on the floor in my office screen and draws two obstacles within the environment. with a chair and two cases serving as obstacles, as shown The robot then rotates to the left 90° before turning right in Figure 6. When the modified program was run, it in 20° increments. At each position, it takes an rRange() produced the output in Figure 7. Notice the scan shows reading and draws a line whose length is proportional to the distance measured, extending Figure 5. 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 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.

manual outlines many sensor options supported by Figure 8. 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. the chair further away than the two cases, and the two Notice that we are now using the servo-powered robot. openings (front and right) are obvious. When properly initialized, the RROS will control either robot If your application needs a tighter beam, you could use using the same commands and programs. an IR ranger rather than the ultrasonic PING))). The RROS 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. If you are intrigued by RROS-based robots, watch for my new book RobotBASIC Robots for Beginners on Amazon. 44 SERVO 01.2018 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. transcendental super intelligence or civilization collapses.” In the button-pushing interview, the humanoid also said Last month, Saudi Arabians were up in arms over Sophia robots may one day have better ethics than humans. because she doesn’t “cover up,” or abide by the country’s “It will take a long time for robots to develop complex strict dress code for women. emotions, and possibly robots can be built without the more She was granted citizenship at a tech conference in problematic emotions like rage, jealousy, hatred, and so on. It Riyadh in late October 2017. 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

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 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: 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).

didn’t really fall for ROS until the “Neato” package put and the track width, and now software developed for a together by Mike Ferguson came out in 2010 $400,000 robot works on your $400 robot vacuum cleaner http://wiki.ros.org/neato_robot. As you may or (Neato). This includes a mapping routine (gmapping); a may not know, ROS was developed on a $400,000 navigation stack (move base [path planning] and amcl robot called the PR2 (Personal Robot 2). PR2’s claims [localization]); a visualization tool (Rviz); standardized to fame were that it could plug itself in (an important messaging (publish and subscribe); logging (bag files); and featureI for a mobile robot); it could fetch a beer from the distribution (GitHub). Oh, and it’s open source. Yep, the refrigerator (the holy grail of mobile robotics); and it could original source code is made freely available and may be also fold clothes (20 minutes per towel, but by the end of redistributed, modified, and potentially commercialized. the day the laundry was folded). Before you jump headlong into ROS, a word of One of the many cool things about ROS (which is more warning: ROS is hard! ROS doesn’t have a learning curve. It of an architectural framework than an operating system) is has a learning cliff! that it scales. That is, you change the wheel parameters It assumes a high level of expertise in Linux among other things, and it’s so all- encompassing 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 cones (protruding from Botvac model). You basically select a goal anywhere on the and reliably get from one place to 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 robot can allow you to do just that. These This is a map of the shop with me looking into the camera. You can see where 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 SV- and 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

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). I've found it better to use a portable phone charger to power The way I like to do it is as follows: (This is a checklist the Pi. That way, you can put in or remove the whole system without permanently modifying the robot. Here, I’ve plugged or cheat sheet for mapping and navigating with ROS and into a local Wi-Fi router rather than depend on whatever Wi-Fi the Neato robot. I’m using my IP addresses. The robot is might be available. The “bin” can be pried off the lid with a 192.168.43.51 and the remote “Host” computer is wide flat-head screwdriver so you can keep the robot covered. Extra bins can be found on eBay so you still have a 192.168.43.20, so you’ll have to change the IP addresses to vacuum cleaner. Be sure and specify “XV” or “Botvac.” match your system): 1. Ping the Pi (or computer) in (or on) the robot with https://cse.sc.edu/~jokane/agitr. your remote “host” to verify connection and speed. If you I would suggest starting with a laptop (most any old have problems, check back to make sure your robot and one will do) and formatting it with Ubuntu. Install ROS and remote workstation are still talking, and the latency isn’t install the Botvac package. Go through the ROS tutorials too great (>100 ms). ROS depends on IP connectivity. and also the tutorials from A Gentle Introduction. 2. ssh to the robot and sudo ntpdate 192.168.43.20 to Eventually, create the micro SD card as described in the synchronize the remote computer and Pi. There’s no intro_to_ros repository. This will be used to boot and run mention of this on GitHub, but I find it necessary. Steps 2, the same stack on a RaspPi (I’m currently using the RP2). 3, and 4 are run from the robot terminal. The IP address is The exercises you have been going through on the laptop that of your remote workstation. Others use “chrony.” (turtlesim, in particular) can now be applied to a physical 3. sudo chmod 666 /dev/ttyACM0 gives rights to robot. attach to the robot. First, you’ll be driving the robot around with either the 4. roslaunch bv80bot_node bv80bot_base_only.launch keyboard or joystick; mapping or creating a drawing of the ... launch base_only ... run gmapping and nav stack on room. I prefer the keyboard since the goal will be to get a remote computer.* map on the screen, and the last thing you need is another 5. On the remote workstation, open a terminal session device of which to keep track of (the joystick). and run roslaunch bv80bot_node The goal simply is to get a good chart on the screen. bv80bot_map_gui.launch. This is the grid-mapping routine Once you’ve got your map, stop! While it’s better to end (gmapping). up where you started (i.e., close the loop), you can always 7. Open another terminal session on the remote “set” the pose when you run the navigation stack. workstation and launch rosrun teleop_twist_keyboard The reason it’s best to close the loop and be facing the teleop_twist_keyboard.py. This is the teleoperation node for same way (pose) is because this is the navigation stack’s the keyboard. There is more than one configuration of this. starting point. The robot will be “pre-localized.” The reason I prefer the one designed for the Turtlebot. I say stop when you get a good enough map is from 8. At this point, with teleop_twist in the foreground personal experience, where many a “good enough” version and Rviz (should have launched with got ruined by going for a perfect one. bv80bot_map_gui.launch) one level below, you should be The goal should be to chart out the perimeter of the able to drive the robot around with the i, m, j, l, and k keys. room. If it’s too large or parts are not navigable, map out a On the screen, you will see a map emerge that will look like corner or side of the room and just navigate back and forth *If you have a lot of trouble with ROS communication in that area. between the robot and the remote computer, it could be The real core of the package is the neato.py and environmental variables or the “./bashrc” file neato_driver.py Python files that you can find at (http://wiki.ros.org/ROS/NetworkSetup). 48 SERVO 01.2018 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 This is a map of about 10,000 square feet of office space. You can click anywhere on the map and the robot will # example entry for “host” autonomously navigate to that spot. export ROS_MASTER_URI=192.168.43.51 export ROS_HOST=192.168.43.20 *****************************

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 Making Things Move: Robots and Robotics: Principles, by Gordon McComb DIY Mechanisms for Inventors, Systems, and Industrial Create high-tech Hobbyists, and Artists Applications walking, talking, and by Dustyn Roberts by Rex Miller and Mark Miller thinking robots. Written by a pair of "McComb hasn’t In Making Things Move: technology experts and missed a beat. It’s an DIY Mechanisms for accomplished absolute winner!" Inventors, Hobbyists, and Artists, you'll learn educators, this how to successfully build comprehensive Breathe life into the moving mechanisms resource provides a robots of your dreams through non-technical solid foundation in — without advanced explanations, examples, applied industrial electronics or programming skills. Arduino and do-it-yourself robotics and robot Robot Bonanza shows you how to build projects — from kinetic art installations to technology. You will get straightforward autonomous robots using ordinary tools and creative toys to energy-harvesting devices. explanations of the latest components, common parts. Learn how to wire things up, Photographs, illustrations, screenshots, techniques, and capabilities along with program your robot's brain, and add your and images of 3D models are included for practical examples and detailed illustrations. own unique flair. each project. $90.00 $29.95 $29.95 Robotics Demystified Build Your Own by Edwin Wise Robot Builder's Sourcebook YOU DON'T NEED Fascinated by the world of robotics but Humanoid Robots by Karl Williams ARTIFICIAL don’t know how to tap into the INTELLIGENCE TO incredible amount of information GREAT 'DROIDS, INDEED! LEARN ROBOTICS! available on the This unique guide to Now anyone with an subject? Want the sophisticated robotics interest in robotics names, addresses, projects brings can gain a deeper phone numbers, and humanoid robot understanding — web sites of construction home to without formal training, companies that can the hobbyist. Written by unlimited time, or a genius IQ. In Robotics supply the exact a well-known figure in part, plan, kit, Demystified, expert robot builder and author the robotics community, building Edwin Wise provides an effective Build Your Own material, and totally painless way to learn about the Humanoid Robots programming technologies used to build robots! $19.95 language, operating system & provides step-by-step directions for six computer system? Robot Buider’s exciting projects, each costing less than Sourcebook is just what you’ve been $300. Together, they form the essential To Order Call 800 783-4624 looking for! ingredients for making your own humanoid or visit our webstore $36.00 robot. $24.95 50 SERVO 01.2018 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 ! $50.00

PROJECTS The SERVO Buddy Kit 3D LED Cube Kit PS2 Servomotor Controller Kit From the article “Build the 3D LED Matrix Cube” as seen in the August 2011 issue of Nuts & Volts Magazine. An inexpensive circuit you can build to This kit accompanied with your own control a servo without a microcontroller. This kit shows you how to build a really PlayStation controller will allow you to cool 3D cube with a 4 x 4 x 4 control up to six servomotors. For more information, monochromatic LED matrix which has a Includes all components and please check out the total of 64 LEDs. The preprogrammed instruction manual. May 2008 issue microcontroller that includes 29 patterns For more information, please see the or go to the that will automatically play with a runtime February 2011 SERVO webstore. of approximately 6-1/2 minutes. edition of SERVO Magazine. Colors available: Green, Red, Yellow & Blue. Assembled units available! Jig and plastic cases also available. Includes an article reprint. $79.95 $39.55 $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 confidence to lead a class. They get to hands and let them explore. Students Professional Development meet our Parallax team and make want to learn by doing; to discover courses entirely free was connections with other teachers in new interests from an educator who Tsimple, really. We love their region. shared, rather than be instructed. what we do, and the reward of Back at school, educators would Do you remember your favorite enthusiastic teachers and students put the robot kits in the student’s high school course? Did it have to do 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

52 SERVO 01.2018 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 University- Tandon 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 [email protected]. 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

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 W 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? AN HSR-2645CRH SERVO FROM HITEC. There was only one way to find out.

Pain is Weakness Leaving the resistance encountered in a gravity defying aerial Servo maneuver, the forces involved in actuating an elevator are not that extreme. So, even though the PWM control on Most RC servos were originally meant for use in RC servos made them a natural fit for robotics applications, airplanes, where simple and affordable position control is unmodified servos were not originally intended to handle needed to control things like the ailerons, elevators, and the forces encountered in a lot of robotics projects such as the rudder on the tiny aircraft. An RC aircraft elevator is heavy weights at the end of a long lever arm, or even the extremely lightweight, and even with all the wind 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. THE DISASSEMBLED HUB SHAFT SERVOBLOCK. We’ve often found ourselves working on 54 SERVO 01.2018 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 berserker in battle. What sorcery was this? YOU VERSUS THE SERVO SHE TOLD YOU NOT TO WORRY ABOUT. It was our favorite type of sorcery: physics. The ServoBlock is a 6061-T6 aluminum frame that acts as an specifications of the units, including technical drawings exoskeleton to isolate the servo spline from the forces that with their dimensions and even a STEP file for those that seek to do it harm. want to include the ServoBlocks in their 3D CAD models. An aluminum hub attaches to the servo spline through We have a lot of servos strewn about Robot Central a bearing, with the bearing and frame taking the force that have accumulated over the years of Twin Tweaking instead of the vulnerable spline. So, was this sorcery as and other roboting, but many of them are modified to easy to implement as it looked? The ServoCity paint can varying degrees (and varying degrees of success). video inspired us to put some ServoBlocks to the test. We wanted some fresh servos to equip with the ServoBlocks, and ServoCity made it easy to find a 24-tooth A Walk Around the ServoBlock spline continuous rotation servo (the Hitec HSR-2645CRH) and a standard partial rotation servo (the Hitec HS- The 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 24- exoskeleton 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, 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 6- 32 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. AN HS-5485HB SERVO FROM HITEC. LIKE IF IRON MAN WAS A SERVO. Assembling the 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 6- humble 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

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. THE DISASSEMBLED PLAIN SHAFT SERVOBLOCK. Viking axes in particular were designed to 56 SERVO 01.2018 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. OUR WEAPON OF CHOICE. 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 FABRICATING A LEVER ARM. 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 BUILDING A 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

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 blade- swinging 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. READY FOR LATERAL LOADING. So, chop up what? After considering everything from a Batman action figure to a big stuffed bear, accommodate the servo. Without the axe fastened to the we settled on a target that would be more of a known arm, the assembly stood upright proudly like a victorious quantity when it comes to chop-ability: a fresh firm Viking champion. cucumber. We would be chopping some salad, just like the We realized it would be best to do our initial testing Vikings used to do. Maybe. of the servo without a very sharp axe attached to it. We We wanted to behead our cucumber with a horizontal debated trying to control the servo with a programmed blow — more like what might happen in the heat of battle Arduino or Adafruit board, but we opted for something rather than the vertical strike of an execution. A horizontal that would give us a bit more manual control. strike would also provide the best test of the ServoBlock We selected our trusty VEX Robotics control system, by maximizing the lateral load on the servo. which would give us safe remote control over the spinning We fashioned a support for our condemned cucumber axe of death. by using a few blocks of wood that we could lash the The VEX controller is a little strange in that the PWM prisoner to upright. connections are all female, while most standard PWM To achieve the correct head chopping height for the leads on servos are also female. axe, we put our servo assembly on top of a large 4 x 6 Fortunately, we’ve wanted to connect standard non- chunk of wood that we actually screwed the robotic axe VEX servos to the controller many times before, so we had directly to. We weighted down the 4 x 6 with a few 14 lb Frankensteined a male/male PWM cable for exactly this plates. The stage was set for our vegetable execution. sort of situation. We wired up the servo, stood a safe distance away, Chopped Salad and let it rip. The ServoBlock-equipped servo spun the plate with ease, but that was expected — the plate alone We painted a face on the cucumber and lashed it to was not very heavy. Even a servo without a ServoBlock 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 THE VIKINGS WOULD BE PROUD. had worked like a charm. 58 SERVO 01.2018 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 ROCK, PAPER, SCISSORS, CUCUMBER, AXE. 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 Tetsujin- style 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 OFF WITH HIS HEAD! 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

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 [email protected]

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 , 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 the amount of water needed for sizes Today, most washing machines Aissue of Wired, entitled, “Invasion of loads; times to add detergent and use a microcontroller and an LCD of the Bots” highlighted six fabric softeners; spin times after panel to indicate states in the washing interesting applications of robotics in rinsing; and other considerations. Early process, with membrane switches to food preparation. One was Zume washing machines used a series of ‘program’ a desired washing cycle. A Pizza that I’ll detail later, but others mechanical cams as shown in Figure microcontroller is not only very low included a salad making robot called 1 to sequence different leaf switches cost and easy to manufacture, it’s Green Goddess; a burger maker called to key motors and solenoid valves. more reliable than rotating cams Burgermeister; and an espresso Another type of switch/programmer triggering a row of leaf switches. machine called Cafe X, among others. unit is shown in Figure 2. Robotics is finding useful applications Robots Help in Home throughout the home and commercial Food Preparation food industry. Washing machines and Robots in Modern dishwashers are not the only ‘robotic’ devices that can be found in homes. Homes Automatic bread makers were quite Before delving into commercial popular in the mid ‘70s and are still robotics applications, let’s take a look sold today. There are hundreds of at home uses first. Robots have been different models on the Internet. helping us with home tasks longer I have a great weakness for bread than we might imagine. — especially for bread right out of the One very prevalent ‘robot’ in our oven. That wonderful aroma Figure 1. Cam drum 'programs' early washing homes is the washing machine. machines. permeating the house as it is sitting Frequently, definitions of a on the kitchen counter cooling robot include clothes and is just too much for me to dishwashers since they have resist! many programmable cycles and The first bread maker that provide different motions with I bought for my wife, Sue was different water applications for made by DAK; a similar model either clothes or dishwashing is shown in Figure 3. The processes. Turbo-Baker II is a much later Today’s machines are model than the one we had, programmable to give a but it still looks a lot like R2D2 specific set of clothes washing with a glass-domed head. steps such as lengths of time The inner baking pan is for each cycle; the force cylindrical, which is different required for delicate fabrics from most other models that versus work clothes; water use a rectangular pan. temperatures from cold to hot; Figure 2. Programmer timer in washing machine. (Personally, I think the round 60 SERVO 01.2018 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 g{xÇ tÇw aÉã associated files and/or downloads, go to www.servomagazine.com/index.php/magazine/issue/2018/01.

shape makes for better mixing.) Rotimatic is an evolving kitchen All you need to do is add the robot with artificial intelligence and special bread flour, water, milk, sugar, IoT capabilities. Once connected to salt, butter, and the all-important Wi-Fi, it upgrades itself with the latest yeast, then simply push a button. software updates and provides remote After an initial mixing of the troubleshooting capabilities. ingredients and several hours of rising, Rotimatic gets smarter over time the machine begins the baking and empowers you to be more process. You will soon be rewarded creative. Rotimatic could revolutionize with a hot and delicious present from kitchens of the future with robotics. your robotic servant — after you Rotimatic is equipped with a 32-bit remove the mixing paddle baked into microprocessor running 10 motors, 15 the bottom of the bread, of course. sensors, and 300 parts in synchrony. Rotimatic automatically measures, A Roti-Making Robot dispenses, mixes the ingredients, and kneads one dough ball at a time. I recently came across a news With the built-in AI technology, it can article on another home bread-making Figure 3. DAK R2D2-style bread maker. mimic human judgment to adjust the machine called the Rotimatic shown proportion of flour and water in real in Figure 4 that makes rotis (there time to create a perfect dough ball are some very interesting videos of every time. their design process on their While Rotimatic brings in website). industrial-level power and accuracy to What is a roti, you might ask? customers, it’s designed to blend in Roti (shown in Figure 5) — which is with a modern home. The engineers also known as chapati — is a behind Rotimatic are also proud flatbread originating from India that users and have emphasized a sleek is made from stone ground whole functional design that’s easy to use meal flour. It is also traditionally and clean the attachments, making it known as atta. Its defining the pride of kitchens in homes. characteristic is that it is unleavened. Another popular Indian bread Rotimatic is an amazing dough called naan is a yeast-leavened making and baking robot that is variety. Billions of roti are eaten every Figure 4. Rotimatic has many internal functions to available for $999 — a bargain in my day; not just in India, but all around make rotis. opinion. the world. However, it’s not the easiest food item to prepare, so Robots Assist with there’s a need for some automation in its production in a homeowner’s Pizza Making kitchen. Rotis may be popular around the The two co-founders of Zimplistic world, but pizzas still reign supreme (the makers of the Rotimatic) are CEO here in the US. A pizza company in Rishi Israni and CTO Pranoti Nagarkar. Mountain View, CA called Zume Pizza Israni wrote the first version of the began using robots in several unique Rotimatic firmware and has authored ways back in April 2016. six patents from technology work he You order the pizza you want in has led. the ‘normal’ way — either by Zume’s Nagarkar is the technical and app or by phone. Behind the scenes, design force behind the Rotimatic. the order is sent to the closest With a flair for engineering and a Figure 5. Roti is a popular Indian non-leavened company location where robots and hands-on approach, she acquired flat bread. humans begin the process. The pizza expertise in mechanical engineering product for a renowned brand, from dough is first kneaded and spread out and went into Product Design. concept to manufacturing. Here is by a human, then placed on a Before co-founding Zimplistic, she some paraphrased information from conveyer belt. led a team that worked on a robotic their website: 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 brick-and-mortar store in every on the sauce; another robot uses area. Instead, a fleet of trucks can its arm (Figure 7) to spread the serve a number of areas, and sauce around evenly. “We’re going rather than having to go back to to eliminate boring, repetitive, the main kitchen every few hours, dangerous jobs, and we’re going pizzas can be cooked onboard and to free up people to do things that served in the area where they are. are higher value,’ stated Zume co- Pizza is delivered in a matter of founder Alex Garden, a former minutes. That saves both time and Microsoft manager and president money. of mobile game maker, Zynga Studios. Pizza Dough Balls Next up, humans put on the ingredients like cheese, pineapple, Made Automatically and Canadian bacon, then the You may have seen all sorts of pizza makes its way to an oven- pictures of pizza making, but there loading robot shown in Figure 8. Figure 6. On goes the sauce by the first robot. is much of the process that is It’s a standard ABB sometimes best done by hand. modified for a commercial food One part is the preparation of the handling application. dough balls that are flattened into After the pizza makes its way a disc on which the ingredients are through the 800 degree oven and then placed. Turning flour, water, is partially cooked, a human and yeast and sometimes other unloads it, checks it for quality special additives into a useable control, places it in its box, and dough ball is not as easy as it sends it on its way to the customer sounds. in a special way. It’s the delivery The machine shown in Figure process that is one of the most 10 drops a carefully measured unique parts of this company. amount of dough from the hopper According to their website: above into the revolving circular tray that forms the dough into Figure 7. A second robot spreads the sauce for the On top of the super high-tech Zume pizza. precise pizza balls. kitchen at Zume HQ, the company also owns and operates some pretty facility only partially baked, so they Handling Food high-tech trucks — each of which is finish baking on the way to the fully equipped with an iPad for pizza customer. This way, they’re nice and Products is Safer and orders and navigation, as well as 56 hot by the time they arrive. This also Faster with Robotics ovens (Figure 9). The pizzas leave the means there doesn’t have to be a Several years ago, the farm-fresh

Figure 9. The Zume Pizza truck with 56 re-heating ovens Figure 8. An ABB industrial robot places the pizza into an oven. for delivery. 62 SERVO 01.2018 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 volume buyer. Jersey saw the future and made an Analysts have seen investment in egg handling robots in robots picking croissants off their facility by placing robotic egg the line and imagine how ‘workers’ on the line with humans. delicate that task is, but A CNBC article on their website they do it without any need showed how the implementation of a for humans. The CEO of SANOVO Egg palletizer in the CMC CNS, Rich Cohen, has put facility was able to palletize these his move in kill-or-be-killed fragile items at the rate of 144,000 terms: If he didn’t invest in eggs per hour, as seen on the this type of automation, a conveyor belt in Figure 11. competitor would, and Previously, humans dealt with within five years, be ahead. Figure 11. Robots can handle fragile eggs faster and safer hand placement of feeding 10 dozen They don’t want to be than humans. eggs at a time into a machine that watching someone steal packed them into large cartons. market share. sipping a before dinner glass of wine Another machine — the SANOVO Egg and relaxing a bit in front of a nice Depalletizer — gently handles plastic Robot Chef Prepares fire in the fireplace, you can just trays at a capacity of up to 216,000 imagine the feeling of pleasure as eggs per hour. World-Class Food in they wander over to the array of “In what is typically a low-margin Your Home freshly-prepared delicacies and place industry such as food manufacturing, Just imagine a hardworking them on their table. A couple of volume is everything and CMC Food’s couple driving home from their two candles, the lights dimmed and soft move isn’t unique — it’s the only way different jobs. They both enjoy top- music wafting through the air, they to keep up with competitors.” notch cooking but just want to eat in begin their classic dinner prepared by As you might imagine, damaging a casual setting at home. After talking their Chef Moley. a few eggs in a large container with her husband to coordinate his I’ve taken a bit of artistic license without their discovery before arrival time, the wife has contacted to amplify the capabilities of the shipment to a good customer can their home robot chef and ordered a Moley system, though I have no doubt result in a permanent loss of a high classic meal that one of their favorite that it will grow in popularity and New York chefs had prepared capability in the near future. for them at his Manhattan At present, the cooking process is restaurant in the past. He done in-situ with the homeowner had gracefully given the programming in the desired menu. recipe to the couple, and “Moley Robotics’ robotic chef works they have downloaded it into by users choosing a certain number of their robot chef. Plus, all the portions, type of cuisine, dietary ingredients are in the robot’s restrictions, calorie count, ingredients, pantry of supplies. cooking method, chef, etc., from the Upon arriving home, recipe library first. Once users have

Figure 10. This pizza dough machine can make 1000s of dough balls. 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, in late 2014. they then choose a recipe “No matter how you and place washed and cut aggravate it, the robot will ingredients — which can be not get angry. Robots do ordered through Moley — in not need pay raises, designated areas,” Mark bonuses, or welfare. They Oleynik, CEO and founder of can work 24/7; they do not Moley Robotics, told Fortune need to take vacations or Magazine. sick leave and will not quit. Moley Robotics has They will also not have any created the world’s first fully issue with doing overtime. automated and intelligent The robots require cooking robot shown in maintenance only once a Figure 12. As mentioned on week,” Zhinong their site: “It learns recipes, commented. cooks them, and clears up Zhinong added that after itself! It can mimic the curious customers often actions of a master chef touch the robots; precisely, bringing a variety fortunately, this has not of delicious dishes, cooked Figure 13. Robot waiters in a Singapore restaurant. resulted in any damage so to world-class standards to far. the domestic kitchen and The battery-operated other food preparation robots are produced by a areas. The system comprises Chinese company; the outer a full suite of appliances, shells are made in China cabinetry, safety features, while the interior computing, and robotics.” components and sensors are made in Japan. Each Robot Waiters robot costs somewhere around $14,000 while in Singapore waiters are hired for about A new seafood $30,000 per year. restaurant at East Coast Park “Therefore, it is more cost- in 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 and hand out the bagged food. the robots will climb as the 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 Figure 15. Softbank's Pepper robot taking kitchen and tables. Sensors on the in a restaurant in Kunshan city near Pizza Hut orders. robot help ensure a distance of six 64 SERVO 01.2018 Carroll - Then & Now - Jan 18_Then & Now - Sep15.qxd 12/5/2017 6:45 AM Page 65

g{xÇ tÇw aÉã

inches from any obstacles less than many industrial in its path. versions and is able to Food preparers in the work around humans kitchen place the dishes without the worry of on the robot’s trays and injury. press the appropriate Does it save the buttons to send the restaurant money? machines to the Maybe, but it definitely is designated tables. Once more interesting than the robots arrive at the watching humans. table, a human waiter (or Besides, the fast food customer) retrieves the industry is going to have food from its trays. to make some changes First-time customers since the lower-end state that the experience wages typically earned by is “far-sighted” and fast food workers are creates a “fresh dining rising to $15 an hour. experience.” Currently, the Implementation of robots robots speak only seems to be the answer. Figure 16. Rethink Robotics' Baxter cooks hamburgers during a demo. Mandarin but Zhinong is Another robot shown looking at how to get in Figure 17 is cooking a them to handle English as style of pancake popular well. in Japan. The Huis Ten Bosch theme park in Other Uses of Nagasaki created the restaurant with more Robots in the robots than human Food Industry 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’m sure that a drive- mayonnaise and dried thru customer would be green seaweed. amused seeing a robot Figure 17. Robot-themed restaurant in Nagasaki, Japan has a pancake This attraction is a hand them their food cooking robot. building off the Dutch- from the pick-up window themed park’s smart 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

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 which is about 80 percent of the job quality of the done. But being able to harvest them plants.” is our ultimate goal.” “Flexible As well as developing the platforms allow technology, the team is working with rapid deployment farmers to determine how small in new changes to traditional agricultural environments to practices can allow them to make the collect information most of this new technology. that we can use to develop lower cost Final Thoughts or specialized prototypes specific As you can see, robots employed to the required in the food industry can be quite applications. These useful in some areas, and not so platforms are also applicable in others. From the growing used for data stage in an orchard or field to our collection to dinner plate, robots are making food enable analysis and less costly. Figure 18. The Shrimp orchard-analyzing robot at work in Australia. the development Where monotonous steps are of algorithms that required in certain food preparations, food for visitors from all over the solve industry problems. The robots a robot can be a great asset. For world. can move through an orchard example, the handling of delicate food gathering data and developing a products such as the palletization of Robots Assist with comprehensive in-ground and out-of- eggs, or waiting for dough to rise ground model of the entire orchard,” before it can be turned into a pizza. Food Production Prof Sukkarieh explained. A talented chef can perform I’ve written about robots that are “A second stage of this research certain operations in the preparation used in the agriculture industry in the project, which the team will of their specialty that would be past, but I feel it’s important to commence in the new year, involves difficult for a robot; for example, hand discuss how the use of robotics in applying this technology to standard forming a pizza dough ball into a flat monitoring the growth of certain food farm tractors, so that as well as being disc and then spinning it into the air products is key to keeping costs under able to perceive their environment and to increase its diameter is best control. identify any operations required, they performed by an experienced human. The ‘Shrimp’ robot shown in will also be able to perform many of Although, I’m sure that this task will Figure 18 has taken over most of the these operations themselves, such as soon be robotized as well. tasks of analyzing a typical orchard. applying fertilizers and pesticides, With all of us keenly aware of the As you might imagine, growing any watering, sweeping, and mowing,” he increasing cost of our trips to the sort of food source is certainly more further commented. market, it is only a sensible approach detailed than placing a seed in the The third and most complex stage to use robotics to cut costs. SV 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 monitor situations in this particular Actuonix Motion Devices ...... 10 Pololu ...... Back Cover almond orchard in Australia. According to University of Sydney All Electronics Corp...... 32, 65 SDP/SI ...... 32 Professor Sukkarieh, “Traditionally it ExpressPCB ...... 45 ServoCity ...... 65, 67 has been necessary for someone to actually walk through the orchard, Hitec ...... 2 Tormach ...... 7 taking and analyzing soil and other PanaVise ...... 41 Advertiser Index samples, and making decisions on the

66 SERVO 01.2018

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 5/1/2017 10:38:06 PM

Introducing the Balboa 32U4 balancing robot kit from Pololu.

Find out more at www.pololu.com/balboa Full Page.indd 68