Cutting Corners, Without Compromise! Compact convenience and economic efficiency are the hallmarks of our new RDX1 charger. Its space-saving, affordable design fits every workbench and budget. This potent AC/DC charger features a backlit 3.2-inch LCD screen and accessible front panel ports for easy charging of all your batteries. Integrated balancing, microprocessor-control, USB functionality and a PC interface combine to make the RDX1 the obvious solution to your charging needs. FEATURES: • Optimized Operating Software • 10 Battery Memory • Internal Lithium Battery Balancer • Multiple Lithium Battery Charge Modes • Works with Hitec’s “Charge Master” Software • LiPo Battery Meter SPECIFICATIONS: • AC Input Voltage: 100-240V • DC Input: 11-18V • Charge Power: 60W • Charge Current Range: 0.1 - 6.0A • Max. Discharge Power: 5W • Discharge Current Range: 0.1 - 2.0A • Balancing Port Current Drain: 200MA/Cell Hitec RCD USA, Inc. / 12115 Paine St. Poway, CA 92064 / 858.748.6948 / www.hitecrcd.com /
Full Page.indd 2
12/6/2016 2:46:47 AM
Full Page.indd 3
12/6/2016 2:51:27 AM
TOC - Jan 17_TOC SV Mar 15.qxd 12/6/2016 12:03 AM Page 4
01.2017 VOL. 15 NO. 1 Subscription Information
Columns 22 Ask Mr. Roboto with Eric Ostendorff
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 It’s new back Mr. with Rob a oto !
Mr. Roboto returns with answers to questions that involve PID loops, different means of locomotion, and DIY methods to create indoor navigation. PAGE 22
60 Then and Now by Tom Carroll
The People Behind the Evolution of Robotics A discussion on why the evolution of robotics occurred the way it did, and who drove the latest growth activity in robotics with newly-formed companies.
PAGE 60
The Combat Zone 42 The Art of the Bot 44 Builder Tip: Going to Events 45 EVENT REPORT: NERC’s Battle on the Parkway: 10 Years of Fighting in Philly
Departments 30 Bots in Brief
06 Mind/Iron
• Chain Smoking • Walk What Way? • Winging It
14 Events Calendar 14 Showcase
The Robotics Cottage Industry Is Alive and Well
28 57 58 65
New Products RoboLinks SERVO Webstore Advertiser’s Index
SERVO Magazine (ISSN 1546-0592/CDN Pub Agree#40702530) is published monthly for $26.95 per year by T & L Publications, Inc., 430 Princeland Court, Corona, CA 92879. PERIODICALS POSTAGE PAID AT CORONA, CA AND AT ADDITIONAL ENTRY MAILING OFFICES. POSTMASTER: Send address changes to SERVO Magazine, P.O. Box 15277, North Hollywood, CA 91615 or Station A, P.O. Box 54, Windsor ON N9A 6J5;
[email protected]
4
SERVO 01.2017
TOC - Jan 17_TOC SV Mar 15.qxd 12/6/2016 12:03 AM Page 5
In This Issue ... PAGE 08
PAGE 37
08 The Multi-Rotor Hobbyist
37 Symbiont Sensors
by John Leeman Adding Telemetry to the ELEV-8 Pilots of regular aircraft have a panel of instruments that indicate important parameters such as the aircraft altitude, air speed, attitude, and engine system status. So, this month, we are going to add a telemetry kit to the ELEV-8 v3 to get real time aircraft data sent back to our tablet in the field.
by Dave Prochnow Here’s an easy way to add sensors to your robot with no battery, no wires, and no switches, plus you get Bluetooth. Meet the Cypress solar-powered Bluetooth Low Energy (BLE) beacon.
16 Building the KReduCNC by Michael Simpson In this session, we are going to install the clamp table. The clamp table is the surface you use to attach your stock. In addition to the table, we will be mounting the KReduCNC electronics inside the frame. We will also be doing some cable management in order to get our machine ready for action.
32 Animatronics for the Do-It-
48 Nomad: The Evolution of an Autonomous Robot by Jeff Cicolani This is an update to my March 2015 review of the Nomad chassis kit from ServoCity. The project is on-going, and I've learned a lot along the way.
54 Roll Your Own Turtlebot by Alan N. Federman What if you could easily build the equivalent of a Turtlebot for under $300? I’m going to show you how easy it is.
Yourselfer by Steve Koci Power to the Robots Although getting power to your props is not one of the most exciting parts of the building process, it is crucial that it is addressed in order to be sure your characters have the power they need to perform at their best.
07 MaxRoboTech Comics Semi-Autonomous Robotics
SERVO 01.2017
5
Bergeron - Mind-Iron - Jan 17_Mind-Iron - Feb15.qxd 12/6/2016 7:37 AM Page 6
Mind / Iron by Bryan Bergeron, Editor ª
The Robotics Cottage Industry is Alive and Well love visiting the Kickstarter site for inspiration and a glimpse of the worldwide robotics cottage industry. At last count, there were over 1,400 Kickstarter robotics projects listed — mainly from the US, EU, Australia, and Canada. Most are toys with an educational bent, with a focus on teaching some robotic and/or programming skill to kids. Some are quite serious high-end projects, such as sophisticated 3D printers, robotic arms, and underwater tethered drones. Buy-in prices range from $5 for small toy robots to over $3,000 for the underwater drone. If you’re new to Kickstarter, you owe it to yourself to take a look at the site. Individuals or groups pitch a project and estimate a cost for producing a certain number of systems. If you want one of those systems at some future date, you have to pledge the requested amount. If the full pledge amount isn’t received, everyone walks away from the deal and you owe nothing. The especially exciting deals are the ones that receive multiples of their required buy-in — a great sign for the project and the project area. Based on multiples of buy-in, the hottest robotic project on the site the day I looked at it was a table tennis robot at 320% buy-in (100% being fully funded), and over $250K raised. The pledge period wasn’t even finished yet. There are a few dozen projects with zero interest, and a few dozen more hovering around 10%-15% funded. That’s what’s so great about the Kickstarter business model. Why waste time bringing a robot to market only to find that there is little to no interest? Better to know before
I
6
SERVO 01.2017
you start, and rethink the design and start another Kickstarter offering. Of course, raising the funding is just one step in the process. The robot has to be built, tested, and shipped to the customers. The Kickstarter site is also littered with road kill — projects that were funded but for one reason or another never shipped a product. The notes from these projects make for great reading. They’re a practical lesson on what not to do or what to look for in terms of potential potholes. For example, notes on one robotic project reveal that the developers had no idea of the cost or time required for machining titanium parts. After designing and building their first prototype, they realized that the cost for machining each robot was more than they were asking from contributors. That’s a good lesson to learn — as long as someone else is paying for the lesson. Kickstarter is also great for assessing the relative popularity of various microcontrollers. At the time of this writing, the Arduino is in the lead for US robotics projects, closely followed by the Raspberry Pi. The Arduino is hands-down the most popular for robotics in the EU. Kickstarter changes daily; this is just one snapshot. By the time you read this, the mix will likely be different and dozens — if not hundreds — of new projects listed. Who knows, you might find a few worth supporting. SV
FOR THE ROBOT INNOVATOR
ERVO
Published Monthly By T & L Publications, Inc. 430 Princeland Ct., Corona, CA 92879-1300 (951) 371-8497 FAX (951) 371-3052 Webstore Only 1-800-783-4624 www.servomagazine.com Subscriptions Toll Free 1-877-525-2539 Outside US 1-818-487-4545 P.O. Box 15277, N. Hollywood, CA 91615 PUBLISHER Larry Lemieux
[email protected] ASSOCIATE PUBLISHER/ ADVERTISING SALES Robin Lemieux
[email protected] EDITOR Bryan Bergeron
[email protected] VP of OPERATIONS Vern Graner
[email protected] CONTRIBUTING EDITORS Tom Carroll Kevin Berry R. Steven Rainwater Michael Simpson Steve Koci John Leeman Eric Ostendorff Dave Prochnow Jeff Cicolani Matt Spurk Alan Federman Nate Franklin CIRCULATION DEPARTMENT
[email protected] WEBSTORE MARKETING COVER GRAPHICS Brian Kirkpatrick
[email protected] WEBSTORE MANAGER/ PRODUCTION Sean Lemieux
[email protected] ADMINISTRATIVE STAFF Re Gandara Copyright 2017 by T & L Publications, Inc. All Rights Reserved All advertising is subject to publisher’s approval. We are not responsible for mistakes, misprints, or typographical errors. SERVO Magazine assumes no responsibility for the availability or condition of advertised items or for the honesty of the advertiser. The publisher makes no claims for the legality of any item advertised in SERVO. This is the sole responsibility of the advertiser. Advertisers and their agencies agree to indemnify and protect the publisher from any and all claims, action, or expense arising from advertising placed in SERVO. Please send all editorial correspondence, UPS, overnight mail, and artwork to: 430 Princeland Court, Corona, CA 92879.
Gross - Robot Cartoon - Jan 17_Robot cartoon - Feb15.qxd 12/6/2016 7:38 AM Page 7
SERVO 01.2017
7
Leeman - Drones_ELEV8_Telemetry - Jan 17_Blank Rough SV.qxd 12/6/2016 7:45 AM Page 8
Adding Telemetry to the ELEV-8
The Multi-Rotor Hobbyist Introduction In the October 2016 issue of SERVO, we built the Parallax ELEV-8 v3 kit and began to explore its capabilities. The ELEV-8 has since made appearances as an instrument platform for a meteorology package and has other projects planned. One of the first things I wanted to add was the capability to send vehicle data back to the ground. Before we go any farther, I must stress that as the pilot, your first priority is safe operation of the aircraft, but having your spotter glancing at a screen full of vehicle data could be very valuable if you lose your orientation or would like an altitude check. Recording the telemetry data could be useful when performing a post-crash analysis, or trying to measure and improve the vehicle performance. This month, I’ll walk you through the process of adding the ELEV-8 900 MHz Telemetry Kit (Figure 1) (https://www.parallax.com/product/32480) and go through the troubleshooting that occurred when things didn’t work on the first (or second) try. While this article is specifically about using the kit and software from Parallax, the telemetry system is based on XBee radio modules, so there’s something to learn here no matter what kind of multi-rotor or radio system you choose to use.
XBee Introduction XBee is a series of modules from Digi that lets you easily make connected devices in everything from a complex mesh network to a simple “wireless serial port” type configuration. They use the IEEE 802.15.4 networking protocol, and are a really nice and inexpensive way to add a wireless component to many projects. If you want to learn more about using wireless
8
SERVO 01.2017
By John Leeman Post comments on this section and find any associated files and/or downloads at www.servomagazine.com/ index.php/magazine/article/ January2017_MultiRotorHobbyist_Telemetry.
Pilots of regular aircraft have a panel of instruments that indicate important parameters such as the aircraft altitude, air speed, attitude, and engine system status. As multi-rotor pilots, we are often operating by look and feel. We can estimate our altitude through experience and the aircraft attitude through the use of colored propellers or motor struts. This month, we are going to add a telemetry kit to the ELEV-8 v3 to get real time aircraft data sent back to our tablet in the field.
protocols and peripherals in your project, check out the book, Building Wireless Sensor Networks by Robert Faludi (http://amzn.to/2eJ6FMl). The radios used here are the 900 MHz models. This is important as the radio system we are using to control the quad is a 2.4 GHz system. Using multiple 2.4 GHz systems on the same quad would likely result is lots of interference and possibly losing control of the vehicle. I have had no previous experience with the XBee products other than reading articles about projects that had used them in Nuts & Volts and SERVO. This was a good chance to dive in and learn a little bit about how they work. I’m thinking that they could be an even simpler solution than Wi-Fi for sending data from sensor packages down to the ground, but they are slightly more expensive. The kit that we’ll install this month retails for $149. The Pro 900HP modules that we’re using sell for $39 individually.
XBee Configuration We need to set up the parameters the XBee radios will use to communicate. Digi Figure 1: The complete telemetry kit from Parallax includes two XBee radios, antenna, USB adapter, USB cable, zip ties, header, and RPSMA extension cable.
Leeman - Drones_ELEV8_Telemetry - Jan 17_Blank Rough SV.qxd 12/6/2016 7:45 AM Page 9
Figure 3: The “Discover Devices” button is in the upper left-hand side of the XCTU window (circled in red).
Figure 2: Clip one of the radios into the USB adapter, add an antenna, and it is ready to plug into the computer for configuration. Remember that you should never power up an XBee with the antenna removed.
provides a configuration utility Figure 4: Select the appropriate COM called XCTU on their website port for your USB adapter. In my case, (https://www.digi. com/ it was the only device plugged into my products/xbee-rf-solutions/ Microsoft Surface at the time. xctu-software/xctu). Download and install this tool. It is available for Windows, Mac, and Linux systems. Digi has even produced a short introduction to XCTU video that is helpful to watch (https://you tu.be/EA-2Xa5OAY8). Using antenna attached! Powering the radios XCTU, you can easily upgrade without an appropriate antenna connected can the firmware of XBee radios, cause permanent damage to the radio. check the signal strength and RF environment, and So, connect an antenna (included in the kit) to the configure settings of all devices on an XBee network. RPSMA connector and plug in the adapter board with a By now, you probably have the FTDI Virtual COM Port mini USB cable. Open up the XCTU application. Once (VCP) drivers installed on your system, but if you don’t, go inside, click on the “Discover Devices” icon that looks like an ahead and do so. The drivers are available on the FTDI XBee module outline with an hour glass (Figure 3). A website for most operating systems (www.ftdichip.com window will come up asking you to select which COM port /Drivers/VCP.htm). You’ll need this to communicate with to look on — select the port associated with your USB the flight controller and the ground side radio. adapter board (Figure 4). If you’re unsure, disconnect the While you’re dealing with software, go ahead and board, click “Refresh Ports,” then reconnect and click make sure your flight controller and ground station are up “Refresh Ports” again. The port that disappeared and then to date. Just after the publication of the ELEV-8 v3 review reappeared is the one you want. article, the flight controller and ground station received Once done, click “Next” and set the parameters to use updates with the release of version 2.0 of the software. when connecting. With new modules, the defaults will be This software offers some great stability improvements and fine. If you have already configured the modules or are is worth taking the five minutes to upgrade. reusing modules, adding more baud rates to the list could If you need some help uploading the new firmware to be useful. I generally added 57600 and 115200 baud for the flight controller, be sure to check out the instructions in future use (Figure 5). Once done, click finish and XCTU will the October 2016 article. The most recent versions of all of scan for any attached radios. the software can always be downloaded from the Parallax After the scan completes, the module will show up in GitHub repository (https://github.com/parallaxinc/Flightthe left-hand pane of the application. Click the module and Controller). Just click on the “Releases” tab and download wait for the software to load up and display the settings for the most recent set of files. You must be running the same version of the flight controller firmware and ground station software for things to work. It is worth keeping an eye on the repository as there are always changes being made to the software (the ActiveDevelopment branch containing the most bleedingedge versions). There is also an “Issues” section where you can see what bugs are currently reported and what new features are coming down the pipeline. The Parallax forums (https://forums.parallax.com) are also a good place to visit. Most of the ELEV-8 discussions there occur in the Figure 5: Select the search Robotics section of the forum. First, we need to set up the parameters used to discover correct baud rate on each of the two XBee radios. To do devices. I add 57600 and 115200 since those are this, we’ll put each radio in the XBee USB adapter board, common settings used and connect an antenna, and connect it to the computer ones that we will use later. (Figure 2). Never power up an XBee without an SERVO 01.2017
9
Leeman - Drones_ELEV8_Telemetry - Jan 17_Blank Rough SV.qxd 12/6/2016 7:45 AM Page 10
Figure 8: Write the new settings to the radio by clicking on the pencil icon in the upper left of the radio configuration pane. Figure 6: Once the radio is discovered, click on it and wait for all of the settings to be read out and displayed.
keeping a couple of old espresso cups on the bench is perfect for this task.) Remove the panel nut and lock washer from the RPSMA antenna connector since they are not needed for this application. Carefully align the radio with the plug-in headers on the flight controller and insert the module (Figure 9). The direction is marked on the board and the location of the antenna connector makes it relatively obvious as well. I sandwiched a foam block that helps baffle the air around the pressure sensor under the edge of the module to help hold it and to be sure it is indeed covering the sensor. I would hold off on replacing the top cover for now until everything is working, but don’t forget it at the end of the process! The antenna provided is of the “rubber ducky” type, but is relatively rigid. You can attach it directly to the radio’s RPSMA connector, but I would advise against it. When you crash, any force on the antenna will be directed to the RPSMA connector and will very likely break the XBee PCB. If the crash is bad enough, I could even imagine the flight controller PCB becoming damaged. Figure 7: Set the radio baud rate (BD setting) to 57600 baud. Parallax includes a small extension cable with the telemetry kit that provides one possible solution to this problem. You simply connect the cable to the radio and the radio (Figure 6). In the settings, we need to change the route it through the frame of the quad to the edge of the “BD Baud Rate” field to 57600 (Figure 7). (Be sure to read base plate by leg number four. You can then connect the completely through this article before doing this yourself, as antenna to the cable and use zip ties to secure the antenna there are several modifications that we’ll make to this to the landing gear (Figure 10). I think this solution looks procedure.) much cleaner and is more crashOnce you have changed the proof. On the Parallax website, they radio’s settings, click the pencil icon show using a short piece of heat to write the settings to the radio shrink to make the ground side (Figure 8). Unplug the USB cable radio/USB adapter setup more and swap out the radios, then make permanent and eliminate any the appropriate changes to the shorting hazard from use on metal second radio as well. I find it helpful surfaces. While this is a good idea, I to label the radios “G”round and would again hold off until “A”ir to keep things straight when everything is working. If you intend working with them. Doing the to keep up with development of the ground side radio second also software/hardware, it could also be means one fewer swap of the inconvenient as the radios may modules! periodically need to be reconfigured. A small project box is a nice solution or a 3D printed bracket. I designed a 3D printed bracket Installing the hardware on the with a monitor clip that attaches ELEV-8 takes just a few minutes. the radio to your laptop/tablet Remove the smoked acrylic cover Figure 9: Install the air side XBee by inserting it screen. You can download the STL from above the flight controller PCB the headers on the flight controller PCB. Don’t files at the article link. My main (printed circuit board). (Don’t forget into forget the piece of foam below it to provide an air goals were to keep the solder pads to keep track of the screws! I find baffle for the barometric pressure sensor.
Hardware Installation
10
SERVO 01.2017
Leeman - Drones_ELEV8_Telemetry - Jan 17_Blank Rough SV.qxd 12/6/2016 7:45 AM Page 11
accessible, make it easy to pack in a way that it won’t break apart in my field bag, and to keep it simple! A “T” shaped bracket with recessed Figure 10: Route the RPSMA areas for 4-40 nuts extension cable through the seemed like a good frame and install the antenna. Mount the antenna to the solution. I printed one Figure 11: The clip landing gear with zip ties. This is a loose fit so out, press-fit the nuts, is much more resilient in a that it can be crash than having the antenna and installed the XBee easily removed for installed directly onto the USB adapter with some transport and XBee’s antenna connector. storage without 4-40 machine screws. breaking any The clip for the bracket parts. I haven’t had any problems and have used it multiple times when troubleshooting is easily installed for use with it slipping out RF links. I saw some peaks during packet transmission and removed for storage when in use. (Figure 13), so I immediately jumped to this being a (Figure 11). I thought software issue and began a discussion on the Parallax that this added a nice forum. professional touch (Figure 12) and still allows for easy With the help of several people at Parallax and forum changing of the radios for development. It’s also one less moderator, Publison, we determined that there was a bug thing for your spotter to hold or prop up in the field. with the numbering of the COM ports in the Windows ground station software. Changing the COM port number to 5 or higher should solve it. So, I connected the radio, In theory, if you plug in the ground side radio, open up went into the “Devices and Printers” settings of Windows, the ground station software, then power up the ELEV-8; the and found the device. radios should connect and data should start flowing almost In the hardware tab under “USB Serial Port” and instantly. Unfortunately, this didn’t happen for me. I spent Properties, there is a button labeled “Change Settings.” the better part of an afternoon going over all of the steps, After clicking that, a properties window came up; in the verifying that the radios had saved the settings, and didn’t Port Settings tab under Advanced, you can change the port get any leads. It was time to breakout the test equipment number. (Windows is seemingly famous for these and see what was happening. convoluted settings windows — what a pain!) I set my radio The first rule of troubleshooting is “Thou shall check to COM10 and fired everything back up ... Nothing. Still no voltages,” so I did. Everything looked fine. Next, I dug out communication at all. my TI (Texas Instruments) SA430 spectrum analyzer. I I tried sending the “BEAT” command to the setup using picked this up several years ago on special for about $50 a terminal program to ask the quad to send its data. I even wrote a Python script to do this multiple times, but did not receive a response from the quad. We finally decided that it may actually be a hardware problem. So, Publison sent me
Troubleshooting
Figure 12: The clip is designed to fit on pretty much any screen, even with a thick case. It sits nicely on my Surface that I use as a field computer.
Figure 13: At least one of my XBee modules was putting out power during the handshake data transaction, but I couldn’t tell if the handshake was actually taking place.
SERVO 01.2017
11
Leeman - Drones_ELEV8_Telemetry - Jan 17_Blank Rough SV.qxd 12/6/2016 7:45 AM Page 12
Figure 14: Change the ground side radio’s routing/messaging mode to be a “NonRouting Module.”
Figure 15: Set the destination address high and low fields to the serial number high and low fields of the other radio in the pair. This reduces the communication overhead and makes the latency of the telemetry much lower.
Figure 16: Change the retry count from “A” to “3” on the flight controller radio. The ground radio can be left at “A.”
his working XBee radio set to try. By doing some component swapping, we determined that one of my radios in the kit was faulty and sending virtually no signal on transmit. Parallax quickly sent a replacement and I was getting connection between the quad and the ground station in no time. Whew! I thought I was home free, but Publison and I quickly realized that the telemetry was locking up very frequently and may or may not resume after 15-30 seconds. Parallax was just about to release version 2.0 of the flight controller software and the ground station, so we waited for the release. After upgrading, the problem persisted.
After some work, the folks at Parallax and forum members were able to reproduce the problem. It looked like some of the XBee settings needed further modification. The most crucial was changing the “CE Routing/Messaging” setting on the ground side radio to be a “Non-Routing Module” (Figure 14). After saving the settings to the XBee, I once again fired things up and it worked! I was able to maintain a solid connection to the ELEV-8 with no dropouts or other problems. Developer Jason found out that the latency of the system could be greatly reduced by setting the radios up in a pointto-point mode instead of broadcast mode. To do this, you note the DH/DL and SH/SL ID of each radio and set them equal to each other (Figure 15). This makes the XBees only talk to each other and removes some of the overhead associated with each data transmission. He also recommended setting the RR (retry count) on the base station to “A” (10), but setting the flight controller to a lower value, like 3 (Figure 16). This means that we’ll get more current data at the expense of sometimes dropping an older packet — a perfectly reasonable tradeoff. It was also found that the serial data rate of the XBee radios can be set to 115200 baud (this must be done on both radios). If you choose to do this modification, you’ll need to change the line of code in the firmware that sets the serial communication rate of the Propeller microcontroller with the XBee
(Figure 17). This troubleshooting effort really shows how great forums and open source collaboration (and really the GitHub issue tracking) can let companies iterate and problem-solve very quickly. After the changes, things are running pretty smoothly.
Viewing Telemetry
Once you have the XBee radios talking, you can easily view a lot of information in the ground station software. You can even perform tasks like calibrations without the need to connect to the flight controller with a USB cable! Figure 17: Change the XBee baud rate in the flight controller The “Status” tab of the firmware if you decide to use 115200 baud communication. The field to change is highlighted. application shows you the commanded and actual orientation of the quad, power to each axis of rotation, inputs from the radio, battery voltage, and the standard altimeter, virtual horizon, and heading instruments (Figure 18).
12
SERVO 01.2017
Leeman - Drones_ELEV8_Telemetry - Jan 17_Blank Rough SV.qxd 12/6/2016 7:45 AM Page 13
This is the one your spotter will likely be looking at. Holding your quad and tilting it around helps you get a sense of how the instruments work and how much latency there is. The other tab that’s interesting to look at for telemetry is the “Sensors” tab. Here, you can view a time-series graph of whichever sensors are selected on the left side of the window. Scrolling the mouse wheel zooms in time and you can drag the plot around. Viewing everything on one plot is generally too much, but looking at all components of the gyro, magnetometer, or accelerometer (Figure 19) is very useful. An attitude plot can be nice as well (Figure 20). If you’re anything like me, you want to collect data about everything. The more data, the better. There was a request on the GitHub Figure 18: The status tab of the ground station software has all of the essentials page for a way to log the received telemetry in an easy-to-follow layout. Your spotter can read it with a quick glance. data to a file for later analysis. It was implemented in the ActiveDevelopment branch to be available with the next major release. I thought this would be a good opportunity to learn how to build the software from the development branch so we could play with new features. I must stress that this means working with “under development” software that could very well have bugs and cause issues for you. So, experiment at your own risk. Most readers of this magazine aren’t afraid of bleeding-edge software though! I managed to build the ground station from source, but decided that’s a bit beyond where most people would be comfortable working. There has been some discussion on GitHub about ways to improve the telemetry logging, and I hope that it will be in the next release of the software. When that happens, we’ll probably come back to the topic and Figure 19: A plot of the three-axis accelerometer Z component during a very look at ways to plot the large amounts of telemetry short demonstration flight. Notice the takeoff acceleration and slow decent. data from different flight controllers. Tools that many people are familiar with (like Microsoft Excel) won’t handle the large files generated, but there are a plethora of other tools available — many for free!
Closing Thoughts Now you have data flowing from the air to the ground! Your spotter can call out your true heading, altitude, and other information to you in real time. I’m anxious to get my hands on the flight logs because I can think of several really interesting uses for them, including wind speed estimation, improved battery endurance calculations, and black box style investigations of crashes, just to name a few. In the meantime, remember to keep your eyes on the quad, talk with your spotter, and collect lots of great data! SV
Figure 20: The attitude of the quad shows me rolling (cyan) and pitching (purple), but leaving the yaw (yellow) relatively constant.
SERVO 01.2017
13
Rainwater - Events - Jan 17_Events - Aug 15.qxd 12/6/2016 7:47 AM Page 14
EVENTS JANUARY 18-19
26-29
27-29
Singapore Robotic Games Republic of Singapore Events include Picomouse, Sumo, Robot Soccer, Wall Climbing, Pole Balancing, Underwater Robots, Legged Robot Marathon, Robot Colony, and Humanoid Competition. http://guppy.mpe.nus.edu.sg/srg ION Autonomous Snowplow Competition St. Paul, MN Robot snowplow must remove snow along a designated path. www.autosnowplow.com Robotix IIT Khargpur, West Bengal, India Events include Bomb Disposal, BRICKS, and Conquest. www.robotix.in
FEBRUARY 3-5
Quark Roboficial
Stock Drive Products Setting Ideas Into Motion
One-Stop Shop for Mechatronic Components Explore | Design | Buy Online
Over 100,000 small mechanical parts
www.sdp-si.com
no minimum requirement
14
SERVO 01.2017
BITS Pilani KK Birla Goa Campus, Zuarinagar Goa, India Events include RoboKombat, RoboSumo, Line Following, RoboRace, and RoboKick. www.bits-quark.org 4-9
AAAI Mobile Robot Competition San Francisco, CA See website for details on this year's event. www.aaai.org/Conferences/conferences.php
MARCH 10-11
Midwestern Robotics Design Competition University of Illinois at Urbana-Champaign, IL See website for details on this year's event. http://mrdc.ec.illinois.edu
23-26
Apogee BITS Pilani KK Birla Goa Campus, Zuarinagar Goa, India See website for details on this year's events. www.bits-apogee.org
Full Page.indd 15
11/1/2016 8:50:22 AM
Simpson - CNC build - Jan 17_Blank Rough SV.qxd 12/6/2016 7:54 AM Page 16
Building the KReduCNC
By Michael Simpson
Clamp Table In this installment, we are going to install the clamp table. The clamp table is the surface you use to attach your stock. Post comments on this section and find any associated files and/or downloads at www.servomagazine.com/index.php/magazine/article/January2017_ Build-CNC_Clamp-Table.
ou will need your PC connected to your controller and motors to move the Y carriage into favorable positions to make securing the table a little easier. In addition to the table, we will be mounting the KReduCNC electronics inside the frame. We will also be doing some cable management in order to get our machine ready for action.
Y
A better table has 15/16” wide slots that are 3/8” deep as shown in Figure 2. These slots hold mini T-tracks (Figure 3) that will allow you to secure your stock with movable clamps. The mounting holes for the table are countersunk on Figure 2
The Table The table is 15-3/4” wide by 16-1/2” deep. It’s constructed from 3/4” stock and can be made from particle board, plywood, plastic, or MDF (medium-density fibreboard). The basic table (Figure 1) consists of a single sheet of 3/4” material with countersunk holes for securing the table to the Y carriage. In this case, you screw your hold-down clamps into the table to hold your stock while it is being machined.
Figure 1
16
SERVO 01.2017
Figure 3
Simpson - CNC build - Jan 17_Blank Rough SV.qxd 12/6/2016 7:54 AM Page 17
the top so that the 1/4” x 2” carriage bolts don’t interfere with your stock. I have found that .28” deep works well for these. The T-tracks are secured to the table with 19 #6-32 x 5/8” countersunk screws, lock washers, and hex nuts as shown in Figure 4. Most Ttrack does not Figure 4 come with mounting holes, so you must drill and countersink them yourself. Simply clamp the T-track to your table and mark the holes with a marker. On the bottom of the table, the T-track mounting holes will need to be countersunk and the screws cut so that they don’t interfere with the Y carriage. To install the T-track, place them in the slots and insert screws into the holes. Secure with a lock washer and nut. You will have to use a rotary tool to cut the ends of the screws flush with the bottom of the table (Figure 5). The drawing files for both the plain and slotted table will be made available on my website listed later in this article. As an option, you can forgo the metal T-tracks and use a router to mill some T-slots into the table directly.
Attach the Table Start by moving the Y carriage forward as shown in Figure 6. This will make inserting the carriage bolts a little easier. Line the 12 holes in the table with the holes on the Y carriage and then insert 12 1/4” x 2” carriage bolts into each of the holes as in Figure 7.
Figure 5
Figure 6
Turn off the power to the controller and remove the motor connectors. Carefully tip the machine on its side and add a 1/4” washer, lock washer, and hex nut to each of the bolts; see Figure 8. Tighten the nuts. Place the machine upright, reattach the motor connectors, and power up the controller. Move the table all the way to the back of the machine and then back to the front to make sure the table doesn’t contact the sides of the machine.
Figure 7
Figure 8
SERVO 01.2017
17
Simpson - CNC build - Jan 17_Blank Rough SV.qxd 12/6/2016 7:55 AM Page 18
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 15
Figure 14
Mount the Electronics Now that the table is secured, you can mount the electronics inside the KReduCNC frame. Start by removing all the connectors on the controller. Next, reattach the parallel cable to the controller. Drill a 5/32” hole in the position shown in Figure 9, then add a #6 washer to a #6-32 x 1” machine screw and insert it through the hole. Secure with a #6-32 hex nut and lock washer as shown. The actual position of the machine screw in not critical. Secure the cable on the parallel port to the screw with a cable clamp as in Figure 10. Use another #6-32 hex nut
18
SERVO 01.2017
and lock washer to secure the clamp. Here, I am using a 3/8” cable clamp. Cable clamps can be purchased from most home centers, and are available in the electrical section. Attach the board holding the controller to the bottom side of the cleats (Figure 11). Use six #6 wood screws to secure the board. Drill 3/32” pilot holes to make the job easier. On the power supply panel, add two #6-32 x 1” machine screws to the positions shown in Figure 12. As before, add clamps and secure with #6-32 hex nuts and lock washers as shown in Figure 13. Secure the panel to the bottom of the cleats with six
Simpson - CNC build - Jan 17_Blank Rough SV.qxd 12/6/2016 7:55 AM Page 19
Figure 17
Route the controller power leads as in Figure 16 and plug it into the power connector on the controller. Secure the controller power cable as you see fit using some wood screws (Figure 17). Note that you can also use the panel screws to attach clamps as needed. Route the cable from the three motors through the slot in the back of the frame and then connect them to the controller as shown in Figure 18. Don’t worry about the
Figure 16
#6 wood screws; see Figure 14. Route the power cable over the parallel connector and secure it to the machine screw with a clamp (Figure 15).
BOTKITS.COM
7 Colors!
black / red / purple / green / orange / blue / pink
D2
COMBAT ROBOTS
Beetleweight domination at 2016 RoboGames!
Figure 18
+ Battle-tested motors + Spare parts + Electronics + Hardware
+ Arduino educational and R&D chassis kits
SERVO 01.2017
19
Simpson - CNC build - Jan 17_Blank Rough SV.qxd 12/6/2016 7:55 AM Page 20
layout of the cables just yet as we will come back later and secure them. For now, flip the KReduCNC back over, power up the controller, and connect it to your PC. Start Mach3 and test each axis to make sure it’s working properly.
Cable Management
Figure 21
Cable management is very important on CNC machines. Loose cables can be dangerous and cause Figure 19 unexpected shorts and lost connections. On larger machines, we use a cable support system called an Echain or drag chain. Figures 19 and 20 show a couple of these cable transports on some of my larger units. On the KReduCNC, we only need to worry about the movement of the Z axis cable. It’s a short run, so Figure 20 we can get by with a simple system using split loom cable. Start by attaching a piece of 3/8” split loom cable over the Z axis wires as shown in Figure 21. It only needs to be about 34” long as we Figure 23 don’t need to cover the complete length of the wires. Secure the cable to one of the shaft support screws using a cable clamp (Figure 22). You want enough cable between the motor and the clamp so that it can move the full range of motion along the X axis; see Figure 23. Add some split loom cable to the X axis wires. Attach the Z axis A complete bill of materials, as well as additional motor cable to the X axis information can be found on my website at motor cable using some www.kronosrobotics.com/kreducnc. For any small tie wraps as shown in questions or comments, please visit the SERVO Figure 24. Magazine forums at http://forum.nutsvolts.com You can also use a /viewtopic.php?f=49&t=17408. large cable clamp attached to one of the frame bolts as in Figures 24 and 25. Add a small piece of split loom cable to the Y axis motor wires (Figure 25). Slip all the excess motor cable into the slot on the back of the frame. Figure 22 The last step is to secure the wires inside the frame with some tie wraps; refer to Figure 26. Use a cable clamp to secure the wires to the corner machine screw holding the controller in place as in Figure 27.
Conclusion This completes the table assembly,
20
SERVO 01.2017
Simpson - CNC build - Jan 17_Blank Rough SV.qxd 12/6/2016 7:55 AM Page 21
Figure 25
Figure 27
electronics mounting, and cable management. We are just about ready to put the machine to work. Before closing, I just want to re-emphasize that you don’t have to add the slotted table to your machine to start. In many cases, I often just add a slab of particle board or MDF for a quick table to get a new machine up and running. This lets me work out the final table later. Next time, we will look at connecting some spindles to our KReduCNC. SV Figure 26
Personal CNC Mills Shown here with optional stand and accessories.
Shown below is an articulated humanoid robot leg, built by researchers at the Drexel Autonomous System Lab (DASL) with a Tormach PCNC 1100 milling machine. DASL researcher Roy Gross estimates that somewhere between 300 and 400 components for “HUBO+” has been machined on their PCNC 1100.
Figure 24 PCNC 1100 Series 3 starting at:
$8480 (plus shipping)
www.tormach.com/servo SERVO 01.2017
21
Ostendorff - Mr. Roboto - Jan 17_MrRoboto - Sep 15.qxd 12/6/2016 12:13 AM Page 22
Ask Mr. Roboto Tap into the sum of all human knowledge and get your questions answered here! From software algorithms to material selection, Mr. Roboto strives to meet you where you are — and what more would you expect from a complex service droid?
by Eric Ostendorff Our resident expert on all things robotic is merely an email away.
[email protected]
Hi! My name is Eric, but you can call me Mr. Roboto. I’ve been a robot nut my whole life. I grew up playing with toy robots and watching Lost in Space, learning that any mistake can be undone by reversing the polarity. The toy robots I collected in the 1960s were all mechanical: Bump & Go “Mystery Action” robots and “Rotate-O-Matics” which would walk straight, rotate about the waist, and fire light-up machine guns. Since then, my collection of vintage toy robots has grown into a small army you can see online at https://www.youtube.com/watch?v=LMOtGYprBRQ. got my BS in Mechanical Engineering from Virginia Tech in 1982 and promptly went to work for Mattel Toys designing Hot Wheels track sets for the next 30 years. I have a knack for scratch-building and prototyping new electromechanical concepts. I built my first programmable robot in 1994 using a then-new Parallax BASIC Stamp 1 with a whopping 256 bytes of program memory. That ugly old robot in Figure 1 won the very first Robot Firefighting Contest in Connecticut, which later became the Trinity College Home Fire Fighting Robot Contest — still going strong after 20+ years. Highly recommended, contests are lots of fun and you meet some great people.
I
Figure 1.
These days, I’m an independent inventor and freelance designer, and I scratch-build robots and electromechanical gizmos almost every day. I still like and use Parallax products. Some of my minimalist robots use tiny PICAXE chips. I’m “erco” in both of those online forums, swapping ideas and comparing notes
22
SERVO 01.2017
with like-minded robot folks. I’m a compulsive hoarder of all robotic treasures I find online: chassis from China, sensors from Shenzen, Hbridges from Hong Kong, motors from Macau, and transistors from Thailand. I’m into simple clever electromechanical solutions: one servo robots, combining I/O pins, using the odd relay, direct drive, dead reckoning, flamethrowers, and, in general, breaking the rules! I hope you’ll find some useful information here. If you have any specific or general robot questions, email them to me at
[email protected] and I’ll do my best to answer them.
Q
. I have seen the term “PID loop” used in describing motor/sensor relationships. Can you explain what a PID loop is and why it would be needed for robots? Derrick Stuart Birmingham, AL
A
. ‘PID’ is an acronym for Proportional, Integral, and Derivative control. These are three separate components of a closed-loop (feedback) control system, the purpose of which is usually to deliver smooth and stable control to a mechanical system. There are books, websites, and college curriculum on control systems, so I can only scratch the surface here in hopes of whetting your appetite. I’ll play the same ‘get
out of jail free’ card as many of my college textbook authors: “It shall be left as an exercise to the reader to prove that ...” You can watch https://www. youtube.com/watch?v=0vqWyram Gy8 for a helpful tutorial. Everything is better with an Aussie/Kiwi accent! Closed-loop control systems come in many flavors. They are dynamic (always changing) and the output has a desired setpoint. The actual output is measured by one or more sensors, and the error is used by the control system to nudge the output in the proper direction through electrical power adjustments. Mechanical systems have a response time — an indicator of how quickly the output responds to a change in input. Overshoot and oscillation are visible measures of control system effectiveness. In robotics, PID is useful for smooth motion control. One particularly demanding PID application is a balancing robot (inverted pendulum). Gyros, accelerometers, sensor fusion, Kalman filters, the works. That’s a complicated subject worth spreading over several magazine articles. Let’s start with a more graspable application: a line following robot (LFR). There are LFR contests at robot shows where the fastest bot wins. Consider curvy courses instead of straight lines with 90 degree turns. You can find plenty of “Line Follower Competition” videos on the web. It’s not difficult to make a slow
Ostendorff - Mr. Roboto - Jan 17_MrRoboto - Sep 15.qxd 12/6/2016 12:13 AM Page 23
Your robotic problems solved here. Post comments on this article at www.servomagazine.com/index.php/magazine/article/January2017_MrRoboto. Figure 2.
LFR using just two optical sensors straddling the line, banging back and forth. I recently bought just such a kit online for $6. It’s in constant oscillation, alternating power between two drive motors to wiggle along the line, demoed at https://www. youtube.com/watch?v=BcUCDADz ndw. The onboard LM393 comparator functions as a digital (bang-bang) controller, not a PID controller. It’s certainly simple and educational, but not a contender in a speed contest. The particular circuit used limits top speed since only one motor is ever on; the mechanical oscillation is hardwired. The other limiter is that since only two sensors are used, there isn’t enough input to implement a PID system. Competitive LFRs (https://www. youtube.com/watch?v=7omDkur_f k8) use more sensors; often a linear array of five or more sensors spaced widely as shown in Figure 2A. When sensor 3 is triggered, the robot is centered on the line. Clearly, more sensors give a better view of the line and provide more “error” information about how far off we are from center. A Proportional controller would not change its output if sensor 3 was triggered (zero error sensed). It would change the output slightly if either sensor 2 or 4 was triggered (trying to correct a small error). It would change the output more if either sensor 1 or 5 was triggered (trying to correct a large error). Thus, a small error generates a small output signal change, and a large error generates a large output signal change. This simple Proportional control may work at low speeds but will lead to overshoot and oscillation as we move faster. A full PID system examines previous sensor data to determine if the error is changing, in what
direction, and how quickly in order to predict where we’re heading. Consider the sensor/line orientation shown in Figure 2B. The sensor/LFR is headed left off of the line, but the Proportional controller is fat, dumb, and happy at that instant since all it cares about is that center sensor 3 is triggered. It doesn’t know or care that the line is rapidly moving relatively right. Enter the Derivative controller, which looks at the rate of error change. So, when the sensor history indicates that the line is moving left or right, the Derivative controller reacts accordingly. Consider the case when the LFR goes around a curve to the right (Figure 2C). Ideally, sensor 3 is steadily triggered, indicating that we are tracking properly and centered on the line. Proportional and Derivative controls are both happy; no need to change output control to our drive motors. Now consider Figure 2C, when sensor 5 is steadily triggered. Our LFR is measurably left of center but we are tracking properly. Derivative is happy (steady reading), but Proportional wants to steer us to the right to reduce error and get back to center. Experimentation and calibration are required to find the proper balance of control inputs, either from hardware adjustments or software coefficients Kp and Kd. Integral control stores and accumulates sensor data to tally the average error over a time period. In a line follower robot, its main use is to accumulate “line last seen” data. Consider if the LFR in Figure 2C skids left and loses the line completely. While Proportional and
Derivative have no “live” data, Integral informs that the line was consistently last seen (and likely still is) off to the right and will contribute toward steering in that direction. A better way to visualize the usefulness of the Integral control component is to consider the general system of a balancing robot (BR). First, consider adding an off-center weight to a BR previously in equilibrium. The CG changes as well as the angle of equilibrium. The Integral control system detects that the old setpoint no longer works, and accumulates new data to establish a new setpoint. Second, let’s manually push the BR in a given direction. While the Proportional and Derivative control systems work to maintain balance, it is the Integral control system which keeps track of how far the bot was displaced from its original position (setpoint) and will bring it back. As with Kp and Kd, experimentation and calibration are required to determine the best value of Ki for a given system and operating environment. In a nutshell, Proportional control uses the current value of the output. That’s enough for some low speed applications, but when things start moving “fast and furious,” we need Integral to look back at past values and Derivative to know where the values are going. PID’s “three amigos” work together to deliver a stable control solution.
Q
. I have been learning about robotics using “rolling” robots of sorts for the last few years. I started with the typical twoservo “skid steer” desktop offerings and moved up through several iterations to a six-wheel rocker bogie chassis. I now want to explore other means of locomotion. I have looked at SERVO 01.2017
23
Ostendorff - Mr. Roboto - Jan 17_MrRoboto - Sep 15.qxd 12/6/2016 12:13 AM Page 24
Omni wheels, Mecanum wheels, and various numbers of legged robots (from two to six). I can’t determine what would be the next logical step in terms of the learning curve. Suggestions? Dennis Martin Flowery Branch, GA
A
. Much depends on how big a robot you want to build, and where and how you plan to operate it. Indoor, outdoor, tabletop, outdoor, smooth, grass, rocks, and curbs are very different environments. I think dead reckoning using wheel odometry or calibrated timing commands is a great and worthy challenge. It works best indoors on smooth floors with 2WD differentially steered robots. Mecanum wheel robots are amazing and consistently wow the crowds, but they only work properly on smooth flat floors. To improve Mecanum wheel function on less-thanflat surfaces (notice I didn’t say bumpy or offroad), articulate the chassis in the middle (as my video shows at https://www.youtube.com/watch? v=rAgiYtwuWB4) to ensure that all wheels touch the ground. VEX Mecanum wheels are the best value I’ve found. Treaded robots are also visually dramatic, and there are many different chassis types to pick from. Be aware that treads consume much more power than wheels — even driving straight on smooth surfaces. Turning in place scrubs off lots of energy and tread material. Although treads may seem to imply lots of power and all-terrain performance, not all chassis work equally well. Some treads will fall off or jam when even a small pebble wedges under a bogie. Tamiya makes kits for
Figure 3.
some nice small treaded vehicles which can become steerable robots by adding a dual gearbox (as delivered, they have one motor and can’t turn). I just assembled their arm crawler shown in Figure 3, which has some amazing climbing ability. My only complaint is that the bottom-mounted dual gearbox has exposed gears and would wear quickly in a dirty environment. I’d suggest fabricating an enclosure for the gears if you plan to take it outside. Four-wheel drive bots are another option for tackling offroad terrain if the gear ratio is low enough. There is no shortage of inexpensive 4WD bots online using undergeared 48:1 gearmotors which will disappoint in both power and controllability since there is lots of wheel scrub with skid steering. For best control, I prefer 120:1 gearmotors even on indoor robots. Outdoor robots climbing terrain might even benefit from 256:1 gearmotors for big wheels. All these ratios are available in the familiar Vigor/Solarbotics gearmotors shown in Figure 4. However, be aware that online cheapies are likely 48:1 units. Legged bots are a labor of love. How many servos do you want to buy / calibrate / maintain / repair / replace? There are
mind-blowing bipedal humanoid walkers, quadrupeds, hexapods, and octoped spiders with up to 32 servos! Complete kits are plentiful and the selection and availability of robot servos, brackets, and hardware improves every day. One of my favorite bots is the nine-servo PICAXE walker, powered only by four AAA batteries shown at https://www.youtube.com/watch? v=imq0HPXiQmM. Walkers are captivating and beautiful to behold; I can only imagine how many hours of behind-the-scenes labor are required to support one hour of operation. If you have that much passion and time, you command my total respect. Remember, I’m a toy guy and I always gravitate toward the simplest possible solutions yielding the most dramatic results (bang for the buck). Figure 5 shows a pair of my twoservo robots, featured in construction articles right here in SERVO Magazine. Spiderbot (left) made the cover of the March 2014 issue and Theobot (right) appeared in April 2014. In both cases, I hacked $8 toys with fantastic walking mechanism kits into robots which drive and steer just like a wheeled robot, using just a pair of continuous servos. I recently met Dutch inventor, Theo Jansen (Photo 1) and showed him my Theobot robot, which was based on his amazing wind-powered Strandbeest you can see at https:// www.youtube.com/watch?v=99hM P6Dzzgg.
Q
. I have been experimenting with a small robotic mobile platform based on the Parallax Activity board, a digital
Figure 4.
Figure 5.
24
SERVO 01.2017
Ostendorff - Mr. Roboto - Jan 17_MrRoboto - Sep 15.qxd 12/6/2016 12:13 AM Page 25
compass, and a GPS module. Though these work great outdoors, I don’t get GPS signals indoors, and the compass is nowhere near enough data to do a good job navigating around the living room. I recall reading somewhere about a system for indoor navigation that used infrared dots Photo 1. projected on the ceiling and an upward facing sensor on the robot to read those dots for navigation purposes. I can’t seem to find anything like that in my searches. Do you know of a DIY method to create this form of indoor navigation? James Roth Camden, NJ
A
. You are likely referring to Evolution Robotics’ “Northstar” system, which indeed projected an IR “constellation” on the ceiling. The most widespread commercial use of this system was on WowWee’s “Rovio” telepresence robot (Figure 6). I still have one somewhere, but haven’t used (or seen) it in many years. It was an amazing robot and worked very well. You could drive it from your PC and receive streaming video. The Northstar system worked to enable Rovio to reliably return to and dock with its charging base. Each room or hallway required another charger or
Figure 7.
Figure 6.
“True Track” beacon for free roaming. Ultimately not a commercial success, the $299 MSRP robot was eventually discounted to $100. Today, it can be found used for $75-200 on eBay and Amazon. Rovio PC software is no longer supported but available for download from www.wowwee zone.com/kb/faq.php?id=75 and is listed as compatible with Windows XP/2000/Vista/7. I just tried a quick test installation on two different Windows 10 PCs. It loaded on my old 32-bit Acer netbook but not my 64-bit machine, so if you have a 32-bit machine and a sense of adventure, dive right in. I can’t comment on the hackability of the Northstar system, but overall the Rovio system was surprisingly robust and fun to experiment with. My own experiments for indoor robot navigation have used multiple ground-based IR beacons to allow line-of-sight tracking between beacons. Figure 7 shows my schematic to make simple LM556 based pulsing beacons which can be detected by most common 38 kHz IR receivers. Different values of resistors (R) will yield different pulse rates for each beacon, which can be detected by most microcontrollers using a COUNT command to
uniquely identify each beacon. With several beacons spread around, a robot can navigate in the same way an airplane uses VOR stations. I have demo videos at https://www.you tube.com/watch?v=3rHuFFe6HRc and https://www.youtube.com /watch?v=_jKoE_LQ0Iw, so be sure to check them out.
Q
. I would like to add feedback control to a windshield wiper motor so it can be similar to a “giant servo.” I found a couple of online guides but they were either over my head or used parts I couldn’t find. Do you happen to know of a recent example of how to do this with let’s say, an Arduino or a Raspberry Pi? Bill Lopez Phoenix, AZ
A
. What a great project! YouTube has a fantastic servo tutorial at https://www.youtube.com/w atch?v=v2jpnyKPH64 which shows how to do just that. For position feedback, you’ll need to install a rotary potentiometer inline with the output shaft, just like most servos use. That will require some mechanical fabrication on your part. I’d suggest a full-sized 5K or 10K linear taper pot, not a tiny trimpot. While you could build a circuit to SERVO 01.2017
25
Ostendorff - Mr. Roboto - Jan 17_MrRoboto - Sep 15.qxd 12/6/2016 12:13 AM Page 26
Figure 8.
Figure 9.
make it function using standard servo pulses, it sounds like you prefer a quick and straightforward solution, probably using 12V if this is a real wiper motor. If you can use three microcontroller pins, then you can read the potentiometer position using an analog-to-digital converter (one pin to ADC, built into most micros) and use two pins to drive the motor via an H-bridge. You can buy an L298N Hbridge for a few bucks on eBay or roll your own if you like relays as much as I do. Figure 8 shows how to use two SPDT relays in an H-bridge configuration to drive a motor. The right diagram allows power-off motor coasting or dynamic braking. Another approach to making a big powerful servo would be to copy ServoCity’s “power gearbox” format shown in Figure 9. Put a pinion on a servo to drive a much larger output gear. In this case, you would modify the servo to allow 360 degree rotation, and you would connect the servo electronics to an external potentiometer on the output shaft. This would be controlled exactly like a regular servo, but keep your fingers out of those gears! More info is available at https://
www.servocity.com/ bm-805bb-180-servo-gearbox.
Q
. Back when I was in school (I rode my dinosaur up hill, in the snow, both ways!), we had an Apple II computer hooked up with a tether to a small robot called a “Turtle” and it was programmed in a language called “Logo.” I would like to get my grandson such a robot to help his technical education. Is there a Logo programmable Turtle robot you would recommend? Leon Campbell Houston, TX
A
. The Valiant Turtle was a “recent” LOGO based drawing robot, sold from 1983-2011. They turn up on eBay occasionally. I certainly want one for my vintage collection! Honestly for your grandson, you may prefer a more modern expandable PC based robot. Parallax’s line of “Scribbler” robots (Figure 10) is fantastic. They are not kits, but come ready to roll with built-in programs to drive around, avoid obstacles, seek light, flash LEDs, make sounds, follow lines, and more. They can all draw on paper with a marker (Figure 11 — courtesy Figure 11.
Figure 10.
26
SERVO 01.2017
Carol Hazlett) — much like a Turtle robot. Plus, they can do so much more with sensors, LEDs, and sounds. Kids can learn programming in several different languages. Parallax has a fantastic education program. The green S3 is their latest robot and has an entire STEM education course built around it. Check it out at https://www. parallax.com/product/28333. It’s hackable and expandable, and can be programmed using either a drag and drop GUI (great for kids), BlocklyProp, C, or Spin, which is Parallax’s own language for the Propeller processor which runs the S3. Highly recommended, I own one and my seven year old twin girls can use the GUI to drive the S3 around, flash lights, and make sounds. It’s a great value at $179; you’re getting a LOT of robot plus a giant 4,000 mAh rechargeable LiPo battery. The red Parallax S2 is easily found on eBay, and it is also a great Propeller based robot platform which can draw, and has many of the S3’s other features. It can be programmed using a simple GUI or Spin language. I own several. The original blue Scribbler is BASIC Stamp 2 based. Also available on eBay/Amazon, it can be programmed in BASIC or using a GUI. It also draws, but with less accuracy than the S2/S3 since it lacks wheel encoders. Nonetheless, “Old Blue” came first and holds a special place in my heart and collection. I own ... you guessed it ... several.
That’s all for now, folks. Like I said, I’m passionate about robots so ask away if you have questions. If I don’t know, I’ll try to find out. See you next month! SV
Page 27 - Jan 17_Dev Perspectives - ReadFeed Feb15.qxd 12/6/2016 12:29 AM Page 27
FREE
PCB Layout Software & PCB Schematic Software
3 PCBs
41
$
3 PCBs
+ shipping
61
$
3 PCBs
81
$
+ shipping
+ shipping
2-layer MiniBoard
2-layer MiniBoardPro
4-layer MiniBoardPro
(Shipped in 1 business day)
(Shipped in 2 business days)
(Shipped in 3 business days)
1
DOWNLOAD our free CAD software
2
DESIGN your 2 or 4-layer PCB
3
CHECK your design with xCHECK DRC
4
SEND us your design with just a click
5
RECEIVE top quality boards in just days MADE IN THE USA
Now Offering
SMT STENCILS – Nano Coating available–
| www.expresspcb.com
SERVO 01.2017
27
New Products - Jan 17_Mar15 - NewProd.qxd 12/6/2016 8:11 AM Page 28
NEW PRODUCTS Pattern Plates from 2.25”-12”
A
ctobotics’ new pattern plates are identical to a single side of the Actobotics channel (hyperlink to channel). These plates are an excellent addition to an extensive building system as they allow you to box in your channel for added strength; build in spacelimited areas; and save weight and cost where the strength of a full piece of channel is not a necessity. Pricing ranges from $1.39-$3.99.
Clamping D-Hubs
S
ervoCity’s clamping D-hubs are a noteworthy solution for transferring power from a shaft to a hub. While conventional clamping hubs with a cylindrical bore rely solely on clamping force to keep the hub from slipping on the shaft, these new D-hubs have a D-shaped bore to perfectly match a D-shaft of the same diameter. This means that even without tightening the pinch bolt, the hub is prevented from slipping on the shaft. The 6-32 pinch bolt (when tightened) will tighten the hub around the
D-shaft for added security, and to keep the D-hub from sliding up and down the shaft. Price is $6.99.
Set-Screw D-Hubs
N
ew set screw D-hubs from ServoCity also offer a solution for transferring power from a shaft to the hub. While conventional hubs with a cylindrical bore rely solely on the set screw to keep the hub from slipping on the shaft, the new D-hubs have a D-shaped bore to perfectly match a D-shaft of the same diameter. This means that even without a set-screw, the hub is prevented from slipping on the shaft. The 10-32 set-screw, when tightened, will apply pressure to the flat of the D-shaft for added security and to keep the D-hub from sliding up and down the shaft. Since the set screw contacts the flat of the shaft, it makes removal of the hub very easy — no marring of the cylindrical surface which would interfere with the installation/removal of parts such as ball bearings. Price is $5.99. For further information, please contact:
ServoCity
Upgraded 100 MHz Bench DSO
B
&K Precision has replaced their former 2190D bench digital storage oscilloscope (DSO) with the model 2190E. Offering the same measurement capabilities of the previous 2190D, the 2190E continues to add more features to the entry-level 100 MHz DSO. New upgrades include a higher resolution display and standard LAN interface at no additional cost. The 2190E gives technical schools and hobbyists the advantage of buying a higher bandwidth oscilloscope with today’s latest features at a low budget price point.
28
SERVO 01.2017
www.servocity.com
The 2190E’s new 7” widescreen color display increases the previous model’s resolution from 480 x 234 to 800 x 480 pixels, and offers a significantly larger viewing area than 5.7” screens typically found on economy scopes. The DSO provides 100 MHz bandwidth with 1 GSa/s sampling rate, waveform memory up to 40,000 points, pass/fail limit testing, digital filtering, and a waveform recorder. A USB host port is provided on the front panel to quickly save setup and waveform data, screenshots, or CSV files to a USB Flash drive. The newly added LAN interface is another feature not
New Products - Jan 17_Mar15 - NewProd.qxd 12/6/2016 8:11 AM Page 29
typically found in oscilloscopes at this price range, and provides users another method of remote PC connectivity through software or SCPI commands. The DSO continues to offer standard USBTMC-compliant USB and RS-232 interfaces. An optional USB-to-GPIB adapter can also be connected to the USB host port for GPIB connectivity. For educators, the 2190E provides a context-sensitive help feature and the ability to disable the Auto Set button, along with Measure and Cursor menus for training. Additional features include advanced triggering capabilities, 32 automatic measurements, and FFT function along with math functions to add, subtract, multiply, and divide input channels. B&K Precision's 2190E 100 MHz DSO is listed at a price of $399.
MicroVector Flight Controller + OSD
W
hether you’re into FPV racing, freestyling, or serious camshipping, the MicroVector (µV) integrated Flight Controller and OSD from Eagle Tree Systems can be a welcome addition to your small FPV multi-rotor or fixedwing model. This flight controller offers easy configuration. You can fully set up and tune your µV in three convenient ways: • Windows GUI • OSD stick menus at the field • Optional InfoPanel LCD Features include: • Built-in OSD with color graphics and fully customizable screens. • Programmable video power control: Turn on/off your video camera and/or video transmitter using a radio switch, on arm/disarm, etc. • SkyGates Virtual Racing (experimental augmented reality, optional GPS required). • Built-in flight data recorder helps take out the guesswork if something goes wrong. For performance, the µV offers: • Fast 32-bit microcontroller. • DMA enhanced control loop running at up to 8 kHz. • Advanced PID and filter tuning from either the GUI or stick menus at the field. • Oneshot and multishot ESC protocols. The µV offers the following compatibility: • Standard 30.5 mm mounting hole centers. • PWM, SPPM, Spektrum Satellite, and S-BUS receivers are supported, with four types of RSSI.
For further information, please contact:
B&K Precision
www.bkprecision.com
• BLHeli ESC configuration via the µV USB port. • Compatible with most PDBs, including those with built-in current sensors. • Multi-rotor airframes: racing quadcopter, standard quadcopter, tricopter, Y6, hexacopter. • Fixed-wing airframes: traditional, Elevon, V-tail. To expand this system, these are some available options: • Add a dual band GPS module for advanced GPS flight modes, RTH, and waypoints. • Antenna tracking and laptop position display available with the EagleEyes FPV station. • Other accessories include 12V/5V PSU/current sensor, alerter LED/Buzzer, Pitot tube for airspeed, and InfoPanel LCD display. • UART for telemetry, including ET Open Telemetry, DragonLink, and Taranis (pigtail cable included). Each µV is fully tested and undergoes an 18 point hand calibration for best performance. Check the website for current pricing. For further information, please contact:
Eagle Tree Systems
www.eagletreesystems.com
Is your product innovative, less expensive, more functional, or just plain cool? If you have a new product that you would like us to run in our New Products section, please email a short description (300-500 words) and a photo of your product to:
[email protected] SERVO 01.2017
29
Bots in Brief - Jan 17_Bots in Brief Mar15.qxd 12/6/2016 8:13 AM Page 30
bots
IN BRIEF
CHAIN SMOKING
R
esearchers working to discover more about how smoke impacts people's health have developed an artificial human lung "airway on a chip" and a smoking robot to carry out more accurate tests. The work will help further our understanding of conditions like Chronic Obstructive Pulmonary Disease (COPD) — an irreversible inflammatory disease of the lung's small airways — and will aid with investigations into newer smoking-related trends like vaping. "It's like a Gatling gun; a round turret with 10-12 cigarettes mounted in it," is how Dr. Donald Ingber, director of the Wyss Institute for Biologically Inspired Engineering at Harvard University, described the cigarette-smoking bot. "We then use an automated car cigarette lighter to touch the cigarette to light it. The machine puffs the cigarette as a
human would. You can tune its puffing frequency, intensity, and intervals, and then observe what happens as the smoke is fed from the machine and passed through the airspace of the small airway chip." The lung airway chip technology is just the latest in a series of "organs-on-chips" — microengineered cell culture devices that are sweeping the medical research world. These artificial human organs have previously included kidneys, intestines, lungs, and placentas, and allow approximations of specific organs to be created for testing without requiring potentially harmful studies on living animals or people. In the case of the airway on a chip, a hollow microchannel is lined with living human bronchiolar epithelium, taken from either healthy individuals or patients with COPD. As a recent press release about the news stated: "Cell culture medium is continually flowed through a parallel running channel separated from the first by a porous membrane to support the epithelium for up to four weeks, and to create a so-called air-liquid interface similar to that present in [the] actual lung airway." While it's no secret that smoking is bad for you, the new research can help make more accurate personalized evaluations about just how bad it is. "One of the biggest advances is that you can more accurately answer the question of what smoke does to a particular patient," Dr. Ingber continued. "We can use the same patient's chips and see what happens before and after smoke exposure. Previously, clinical studies on smoke exposure simply analyzed a certain number of patients who had a history of smoking and an equal number who didn't. The problem with this is that you're dealing with different people with their own histories, home environments, work environments, and so on. This gives us a much more direct idea about cause and effect."
Blast from the Past: This "Walking Machine" at the National Bureau of Standards tested the wear on shoes in 1937.
30
SERVO 01.2017
Bots in Brief - Jan 17_Bots in Brief Mar15.qxd 12/6/2016 8:13 AM Page 31
bots
IN BRIEF WALK WHAT WAY?
O
ne of the many things that makes humanoid walking tricky is the fact that when we walk, we’re off balance almost all of the time. For some silly reason, our legs are positioned to the left and right when we walk forward, which means we’re constantly rocking sideways while also leaning in the direction we’re going. Most robots don’t try to walk like this, and the few that do tend to be very complex and difficult to manage. At UCLA, Dennis Hong’s Robotics and Mechanisms Laboratory (RoMeLa) has come up with a robot design that’s a novel new take on bipedal walking. By doing away with anthropomorphic design and turning a humanoid robot sideways, they’ve been able to create a stable and agile bipedal design that’s simple and cheap at the same time. “Instead of mimicking human walking,” Hong told us, “we provide an elegant solution by proposing a novel configuration utilizing ‘mechanical intelligence’ for speed, stability, and simplicity, enabling practical and effective robot mobility for real life applications.” Apparently, once Hong and his students (including Sepehr Ghassemi, Jeffrey Yu, and Joshua Hooks) came up with the concept for a sideways walking robot, designing, building, and testing the robot only took two weeks. The robot is called NABiRoS, which stands for “NonAnthropomorphic Bipedal Robotic System,” and its nonanthropomorphicness actually makes it better at navigating some otherwise tricky human environments. Photo courtesy of RoMeLa.
WINGING IT
C
hen Li was a researcher at Berkeley’s Poly-PEDAL Lab and Biomimetic Millisystems Lab, where he gave little legged robots cockroach-inspired shells to help them push through obstacles. Li now has his own lab at Johns Hopkins University: the Terradynamics Lab which studies “movement science at the interface of biology, robotics, and physics.” At IROS 2016, he presented a paper demonstrating a new trick for legged robots with shells: Ground-based dynamic self-righting, or flipping over using wing covers like a real insect does.
Photo courtesy of Terradynamics Lab/JHU.
SERVO 01.2017
31
Koci - Animatronics - Jan 17_Steve Koci Animatronics #1 Parrot.qxd 12/6/2016 8:19 AM Page 32
DIY Animatronics Power to the Robots
By Steve Koci
The famous phrase, “Scotty, we need more power!” seems to pop into my head whenever I am stretching the power envelope on a new creation. Since I don’t have anyone named Scotty (or any other name, for that matter) to come to my aid when called, it falls to me to consider and resolve this issue early in the planning stages. Although this is not one of the most exciting parts of the prop building process, it is crucial that these topics be addressed in order to be sure your characters have the power they need to perform at their best.
What are My Choices?
will remain in a fixed location, then wall warts — also known as AC adapters — become an easy and cost-effective Circuit solution (Figure 1). These items come in regulated or One possible source of power may be available directly unregulated versions, with the regulated models being the from your circuit. Many microprocessors can source very supplies of choice. small loads directly from their GPIO pins. However, most of Be sure to always check the voltage output of your wall our applications will require more power than is available warts with a digital multimeter before plugging them into using this option. This is where it is necessary to add an your valuable electronics. Just because it states on the label additional external power source. Let’s look at some other that it is a certain voltage does not necessarily mean it is methods to get that extra power we need. true. I have seen unregulated wall warts measure out significantly higher when unloaded than the stated voltage. Wall Warts While some components may be more tolerant of higher When a character is in close proximity to AC power and voltages, your sensitive electronics may have more stringent requirements. This is one of those situations where a quick check can save you a lot of time and frustration later. While unregulated supplies are generally less expensive than the regulated models, it is worth the price to stick with the regulated versions. There are also some regulated power supplies that come with multiple voltage regulators at different voltages. This allows a single wall wart Figure 2. to satisfy the needs of your One components if they require power supply different voltages. I use this for two setup for my Frankenstein jobs. boards to supply the 5V and 12V it demands (Figure 2). Many of our projects require different voltages to operate the various devices. Of Figure 1. Plenty of course, it is possible to regulate wall wart choices. the voltage with regulators.
32
SERVO 01.2017
Koci - Animatronics - Jan 17_Steve Koci Animatronics #1 Parrot.qxd 12/6/2016 8:19 AM Page 33
DIY Animatronics Post comments on this section and find any associated files and/or downloads at www.servomagazine.com/index.php/magazine/article/January2017_Animatronics_Power-for-Bots.
RESOURCES RobotShop — http://tinyurl.com/jnvpn9p ServoCity — http://tinyurl.com/zc4ehyp Hitec — http://tinyurl.com/jltbqxh DIY Animatronics Forum — http://tinyurl.com/qjeehjs My Website — www.halstaff.com My YouTube Channel — http://tinyurl.com/nma2doj
However, I prefer to use a power source with the proper voltages required by my individual components. I salvage the wall warts from any device that has one before disposing of it. I quickly check the voltage with a meter and write in down on the side with a silver Sharpie before storing them away for future use. This makes it easy to find the necessary adapter when searching through a box filled with them. It also means I do not need to track down a pair of reading glasses beforehand! Computer Power Supplies These offer another viable alternative. Several hacks are available online to convert your computer supply into something we can utilize in our projects. There are also many breakout boards available. I make my own (Figure 3), but a nice kit is offered by RobotShop (see Resources). Even if these will not fit into your project plans, they do make a great benchtop power supply (Figure 4). I find it very handy to have clean reliable power at hand when working on circuits. This is a good way to reuse a power supply from an otherwise useless and non-functioning computer. I have a box of these that friends have given me before they disposed of old computers and they eventually find a home in one of my creations. Batteries If this will be a stand-alone project, then we are forced to consider battery power (Figure 5). Cost, capacity, convenience, and durability are all important factors to consider when assessing your power requirements. Let’s take a quick look at some of the advantages and disadvantages of using batteries. The primary advantage to this is that you are no longer tethered to a plug. You now have the freedom to install your character wherever they are needed. The remoteness of the placement is no longer a factor! The portability also allows you to make your character mobile. If you are constructing a robot,
Figure 3. My ATX adapter board.
Figure 4. Benchtop computer power supply.
this is really your only option. Adding batteries to your project can, however, significantly increase the cost. You will either need to continually replace batteries or purchase rechargeable
Figure 5. Big or small, take your pick!
SERVO 01.2017
33
Koci - Animatronics - Jan 17_Steve Koci Animatronics #1 Parrot.qxd 12/6/2016 8:19 AM Page 34
DIY Animatronics batteries along with the requisite charger to keep them powered up. If your project uses batteries, they will need to be monitored, which takes some additional time and effort. • NiMH - These are the most widely used batteries in the construction of robots. They offer good value with a high energy density and very little memory effect, making them a very popular choice. • LiPo - It is easy to see why this design is quickly gaining in popularity. They are lightweight and have good capacity. They also offer high discharge rates. The voltages are a bit funky as they come in increments of 3.7 volts. • Li-Ion - The fact that these batteries have no memory effect issues makes recharging a breeze. They have a good power output rate and are lightweight, but are expensive and heat sensitive. If they are completely discharged, they are toast and will need to be replaced. Liion batteries do pose a higher fire danger than other battery types, so some added care should be taken when using them. • NiCd - NiCds are declining in popularity as they have a significant drawback. Improper use and charging can cause a major memory effect. Continual recharging reduces the capacity of the batteries. They should be fully discharged prior to recharging in order to get the most out of them. • Alkaline - We have all had experience using these in a flashlight, toy, or other device. They are low cost but nonrechargeable, so you are required to constantly buy
Figure 7. Pick the size you need.
replacements. The convenience of being readily available virtually everywhere is a plus. • Lead Acid - These are inexpensive considering their high capacity, but they are big and heavy. You need to be sure to keep them charged, and they lack the high discharge rates of other battery choices. Motorcycle batteries are a good option to consider if you are interested in giving them a try. I have also utilized a 12V 6,000 mAh li-ion battery that includes a wall plug charger in some of my projects (Figure 6). It comes in very handy, and is a versatile all-in-one solution to fit many of my power needs (see Resources). Once you decide on a battery type, you then need to consider what capacity you need. There are many choices available, so consider your choice carefully. I am of the belief that more is better here, so I choose the largest capacity possible while still considering my space and weight requirements.
Putting a Charge into Your Batteries It does come with its own challenges. Keeping batteries charged and ready when you need them is an ongoing concern. This is where a quality battery charger can be worth its weight in gold. Well, maybe not gold, but you get the idea! As my battery supported projects have gotten more complex, I have had to continually increase my reliance on a greater number of batteries in ever-increasing capacities. This need for more power has also demanded that I upgrade my charging capabilities. I have had several different models as my needs have changed. Both of my previous chargers are models from Hitec and have served me admirably (Figure 7). However, I once again found myself in the market for an upgraded model.
The New Hitec X4 AC Pro Charger Figure 6. All-inone 12V battery.
34
SERVO 01.2017
I was fortunate enough to get my hands on one of the new Hitec X4 Pro battery chargers (see Resources), so this
Koci - Animatronics - Jan 17_Steve Koci Animatronics #1 Parrot.qxd 12/6/2016 8:19 AM Page 35
DIY Animatronics is the perfect opportunity to do an initial review. I have just started to explore all this unit has to offer and am extremely impressed at what I am discovering so far (Figure 8). This charger is packed with features! It offers the ability to charge up to four batteries of different chemistries on any of the charging ports. Each channel operates independently of the others, allowing you to mix and match battery types. It will accommodate NiMH, NiCd, LiPo, Li-Ion, LiHV, and Pb batteries. All four channels have balance inputs and can accommodate Figure 8. The new Hitec X4 temperature sensors which you can Pro battery charger. purchase separately. It also includes a USB charging port which is another thing I will put to use as Jarvis (see the September 2016 issue of SERVO) incorporates a couple of components that have this charging requirement. It packs plenty of power-charging ability with a total of 200 watts on AC and 300 watts when using DC. Having the capability to use a DC power source to run the charger can be especially useful when away from the availability of a convenient wall plug. I am very impressed on how well designed and built the charger is. Little details such as the use of all four Figure 9. A simple wiring solution. sides of the charger for the various cable connections the most inconvenient times, which is something we want shows how well thought-out the design is. This allows you to do our best to avoid. Remember that battery charging to spread your batteries out when charging — which is takes time, so plan accordingly! especially useful if you are using all four ports. The wireless feature is especially handy as the X4 AC Pro can be controlled by your smartphone. Setup of the app could not have been easier and was completed in a couple of minutes. I think this will be something I take full When troubleshooting a malfunctioning prop, my first advantage of! You can also use the free software to test is of the power supply. It is more often than not the operate and monitor the charger from your computer. culprit! Replacing or recharging dead batteries or switching The charger can store up to 10 separate charging out an inoperable power supply are easy fixes and are profiles for each channel. The ability to access this at any frequently all that is required to get your character up and time can be a valuable time-saver. The box also includes running again. Be prepared and have spares on hand! two balance boards along with the various cables necessary There are a variety of different cable connectors that to get started charging your batteries. are available for attaching your power supply to your circuit. The use of quality components shows the commitment I prefer to use ones that can simply be plugged in which to provide a well constructed product that will hold up to allows for an easy tool-less change-out if I need to quickly some serious use. Considering all the features provided by replace a faulty power supply. If a circuit comes with only a this charger, I feel the price of $199 is extremely screw-in header, I attach an adapter (Figure 9) which reasonable. This unit should satisfy the charging needs and allows for a simple connection. budget of the DIY animatronic builder very well. The Noise in your circuits from your power source can chargers should be on the shelves by the time you read this, create havoc on your otherwise well planned design. This so check it out and consider adding one to your can sometimes be resolved by using separate supplies for workbench. each component. I find that isolating my servo or motor The ongoing chore of having to recharge and power supply is especially helpful in reducing the feedback continually swap out multiple batteries is a never-ending to the rest of my circuit. process. Creating a deliberate charging routine will go a Beware of the danger of improperly storing 9V long way to satisfying the continuous demands of your batteries. Since both the positive and negative contacts are batteries. Components always seem to run out of juice at side by side on the top of the battery, it is easy for a metal
Other Considerations
SERVO 01.2017
35
Koci - Animatronics - Jan 17_Steve Koci Animatronics #1 Parrot.qxd 12/6/2016 8:19 AM Page 36
DIY Animatronics object to bridge them and start a fire. Store them in the original packaging or a specially designed container (Figure 10) until you are ready to install them. Avoid storing them loosely where they can come in contact with other batteries or any metal objects. Taping the posts can provide some added protection if you are required to transport them. Please dispose of your batteries in an environmentallyfriendly manner when they reach the end of their useful life. They contain toxic materials and need to be recycled properly. Check with your local municipality for any available opportunities in your area.
from making the wrong choice when choosing a power source. Carefully consider your options and choose the method best suited to that particular design. Experiment with a method new to you and resist the urge to only use a single type of power supply for all your needs. Using the old and known method may limit your ability to expand your designs in new and exciting ways. The more options you have available in your toolbox, the greater your creations can be! If you have any questions or have ideas on this subject, please share it with the rest of the community on the forum. You can find it at http://tinyurl.com/hu6pxtz.
My Tank is on Empty
Until next month, May the Passion to Build Be with You! SV
Figure 10. A safe way to store 9V batteries.
Do not let your projects suffer due to lack of power or
CNC tools, re-imaned. Pick-up-and-carry-portable! Simply place it directly on your material, whether it’s on a table, the floor, the wall, or even the ceiling. The tool cuts through its base into whatever you’re working on. Revolutionary new control software, FabMo, unleashes new freedoms. You don’t need to work with complex CAD and CAM software; use Handibot apps to make projects and run simple jobs. And you can run the tool from your smartphone, tablet, or laptop. It’s wireless CNC!
Introducing the
Handibot Smart Power Tool ®
v 2.0 Adventure Edition
This is the innovative power tool you can take anywhere and run from any WiFi-enabled device. Use it to perform precise and easily repeatable CNC operations like cutting, carving, machining, and milling. Work with wood, MDF, plastics, foams, and aluminum. All at the press of a button.
36
SERVO 01.2017
Grab your Handibot and your smartphone and go your own route. For full tool specs and to purchase, visit www.Handibot.com
www.handibot.com
Prochnow - Symbiont Sensors - Jan 17_Blank Rough SV.qxd 12/6/2016 8:21 AM Page 37
Symbiont Sensors By Dave Prochnow
Add Sensors to your Bot — NO Battery, NO Wires, NO Switches Needed; Oh, and You Get Bluetooth, Too
W
e all know the drill — and the misery — of trying to add sensors to a motorized project. Motors need big current supplies, while sensors — generally speaking — need modest current supplies. Voltage regulators, buck regulators, wires, and switches serve as unwanted but necessary “guests” inside the robot’s circuitry. There are alternatives to this common scenario,
however. Use two power supplies: one for the motors, and another supply for the data collection system. While this is a workable alternative, now you’ve got the added burden of two battery packs that need separate and distinct charging and maintenance routines. You’d think with the recent advances in energy harvesting technology, solar power efficiency, and supercapacitor charge retention that someone would’ve put all of SERVO 01.2017
37
Prochnow - Symbiont Sensors - Jan 17_Blank Rough SV.qxd 12/6/2016 8:21 AM Page 38
Post comments on this article at www.servomagazine.com/index.php/magazine/article/January2017_Symbiont-Sensors.
Figure 1. Cypress has cracked the code for creating batteryless sensor networks.
these technologies together, and created a “drop-in-place” sensor package that could be easily inserted into any project. Well, that “someone” is Cypress Semiconductor (cypress.com) and they’ve done it! They have a newly released solar-powered sensor solution that enables you to add a pint-sized, low cost, battery-free sensor package anywhere on virtually any robot (see Figure 1). Officially known as the Cypress “solar-powered Bluetooth Low Energy (BLE) beacon” or Solar BLE Sensor, you can see by the name that Cypress added an unbelievable extra to this sensor. Yes, this is a Bluetoothenabled sensor package. Figure 2 shows a couple of assembled sensor packages, along with the sensor PCB (printed circuit board) and enclosure pieces. Not only that, it’s solar powered with an energy harvesting circuit used for charging a capacitor array, giving you unlimited operation while it is within range of an adequate illumination source. Specifically, the solar BLE sensor uses a couple of clever Cypress devices: an Energy Harvesting Power Management IC (PMIC) S6AE103A, and an EZ-BLE Programmable Radioon-Chip (PRoC) module CYBLE-022001-00 for achieving an
38
SERVO 01.2017
Figure 2. The solar BLE sensor by Cypress.
impressive set of specifications. Namely: a 3.6V solar cell; 0.2F super-capacitor; 10-pin GPIO connector (be forewarned, however, this connector is very difficult to access without the Cypress debug board); BLE chip antenna; programmable via the Cypress debug board; and an integrated temperature and humidity sensor IC (see Figure 3 and Figure 4). Incredibly, all of this goodness is housed on a waferthin disc PCB that is about one inch in diameter as shown in Figure 5. And remember, this solar BLE sensor is totally self-contained — just install and forget. In situations where the presence of ambient light might not be sufficient, you can solder an optional CR2032 cell battery to the PCB.
I’m No Node, I’m a Network Studying the size of the solar BLE sensor, it’s hard to believe that it is at the center of its own wireless sensor network (WSN). You can access this portion of the BLE module through an optional debug board as shown in Figure 6 and Figure 7. This board is packaged with one solar BLE sensor in a reference design kit (RDK).
Prochnow - Symbiont Sensors - Jan 17_Blank Rough SV.qxd 12/6/2016 8:21 AM Page 39
Figure 3. This solar cell supplies all of the power needed for running the solar BLE sensor.
Figure 4. The BLE radio is the green PCB and the supercapacitor is the silver disc.
Armed with this kit (CYALKIT-E02), parameters through the WSN PC you can verify the WSN function, as well program. as configure serial parameters on a solar There is still another special chipset BLE sensor (e.g., read/write the on the debug board which is known as transmitter power strength). KitProg. KitProg is used for Furthermore, you can program the programming and debugging the EZ-BLE sensor’s firmware with the debug board, module on the solar BLE sensor. KitProg too. uses a programmable system-on-chip So, having a debug board can be (PSoC) 5LP device for burning hex files pretty handy if you plan on integrating into either the debug board’s PSoC BLE the solar BLE sensor WSN into your or the solar BLE sensor’s EZ-BLE module. projects. Reading and writing the serial configuration parameters with the In addition to the onboard debug board relies on a PC based temp/humidity sensor, you could argue terminal program, such as the Cypressthat the solar BLE sensor has another recommended Tera Term VT. In this “stealth” sensor built into it: an ambient context, the solar BLE sensor PCB is light sensor. Why? Well, according to connected to the debug board via the Cypress, variations in light intensity 10-pin GPIO connector; a toggle switch cause the BLE radio to transmit data at is set on the debug board to EZ-BLE; and specific advertisement time intervals. the board is inserted into an available These light levels and time intervals are: USB port. When you’re ready to start the • 100-200 lux (roughly equivalent to configuration process, a reset button is Figure 5. The solar BLE sensor is a street lamp) with an interval of 50 pressed on the debug board and your about the size of a US quarter. seconds desired parameters are transmitted from • 200-400 lux (subdued interior lighting) with an the PC to the solar BLE sensor with Tera Term VT. The WSN interval of 30-50 seconds does not transmit data during this configuration process. • 400-500 lux (office lighting) advertising at a 15-30 After the parameters have been set, eject the debug board, remove the solar BLE sensor from the debug board, second interval slide the toggle switch to PRoC BLE, and reinsert the debug • > 1,000 lux (cloudy day and brighter) transmitting board into the PC. You can now verify the changed data at 3-15 second intervals
Let There Be Light
SERVO 01.2017
39
Prochnow - Symbiont Sensors - Jan 17_Blank Rough SV.qxd 12/6/2016 8:21 AM Page 40
Figure 6. The main toggle switch has six silver legs along the right-hand edge on the debug board.
Figure 7. The underside of the debug board.
capacitor. • In timer mode, it transmits data at five minute intervals in variable light levels. If the supercapacitor is not fully charged, it will be charged during this mode of operation. • In timer mode, data is transmitted for approximately 30 hours — even in total darkness — after the super-capacitor is fully charged. The super-capacitor can also be charged via the 10-pin GPIO connector on the solar BLE sensor. Figure 8 shows the sensor PCB plugged into this connector. The sensor is plugged into the debug board and then the board is connected to a USB charger. In this configuration, the super-capacitor will be fully charged in about 10 minutes. Alternatively, you can also use the USB port on your computer for charging the super-capacitor.
Of Course, There’s an App for It Granted, you don’t want to be tethered to your PC while receiving telemetry from your symbiont sensor-equipped bot. Luckily, Cypress is a couple of steps ahead of you and your wandering robot. There is both an Android and iOS app for receiving and logging data from the solar BLE sensor. Once you’ve downloaded and installed the requisite app for your Figure 8. A solar BLE sensor attached to the debug board via the 10-pin GPIO mobile device, just flick the connector. This configuration will charge the super-capacitor when plugged into a USB Bluetooth toggle in your Settings, port. and launch the app. If you’re using So, measure the time interval and you can get a rough the iOS version of Cypress BLE Beacon, you will have to idea of the ambient light level that is powering the sensor. additionally enable the Location toggle inside Settings -> This mode of operation is called demo mode (labeled Privacy. DM on the sensor enclosure). There is also timer mode Up to 10 solar BLE sensors can be read at the same (TM). These modes are selected via a switch on the solar time. Likewise, up to 10 sensors can be logged at the same BLE sensor PCB. Basically, the difference between these time. These logs are saved in a CSV format file consisting of modes include: up to a maximum size of 50 MB. This size limit is comprised of up to five log files, with each file limited to 100,000 • In demo mode, the solar BLE sensor transmits data at entries. The logs are added to the device in a rollover file the previously mentioned light level governed time intervals. system fashion where the oldest file is replaced by the Also, demo mode does not charge the onboard supernewest file. Therefore, run tests of your data stream before
40
SERVO 01.2017
Prochnow - Symbiont Sensors - Jan 17_Blank Rough SV.qxd 12/6/2016 8:22 AM Page 41
you release your symbiont sensor system into the wild, or you could lose the data that you’re trying to capture.
Buy Two Kits There are two relevant solar BLE sensor kits from Cypress. The CYALKIT-E02 Solar-Powered BLE Sensor Beacon Reference Design Kit (RDK) contains one solar BLE sensor and one debug board. This kit costs $45. The other kit is the CYALKIT-E03 Solar-Powered BLE Sensor Beacon 5Pack which comes with — you guessed it — five solar BLE sensors. This kit costs $99. You can read more about each kit at cypress.com/CYALKIT-E02 and cypress.com/CYALKIT-E03.
That’s a Wrap By using these solar BLE sensors inside your next (or existing) robot project, you will be able to just “add and forget” without all of the muss and fuss that is typically associated with incorporating a sensor package into a motorized bot. No batteries, no wires, no problem; a dropin package that pays for itself with simplicity and convenience. SV
The Five Second Project So, you’ve got a solar BLE sensor. Let’s make a quick project with it. One of the more popular network projects is a remote weather station. Here’s how long it takes to “build” a fully functional data-logging remote weather station: about five seconds. Basically, all you really have to do is ensure that the solar BLE sensor is operating in demo mode and you’re good to go. Just find a location with adequate sunshine (try to avoid direct sunlight, it’ll skew your data and could melt the sensor’s enclosure) that is sheltered from precipitation, and your new weather station project will start broadcasting meaningful results within a couple of minutes. The photo here shows an impromptu weather station “built” on top of a watering can sitting under a covered deck. You can also install the Cypress app on every family member’s smartphone so that weather conditions can be checked without wasting cellular data. You could even take this project one step further by uploading your weather logs to a cloud service for the whole family to share. Likewise, you can email this project’s data to anyone in your contacts directly from within the app.
SERVO 01.2017
41
Combat Zone - Jan 17_Combat Zone - Aug 15.qxd 12/6/2016 8:36 AM Page 42
Post comments on this section and find any associated files and/or downloads at the specific article link for each feature.
The Art of the Bot his month, Combat Zone debuts a new feature. To us gearheads, we know the art in a well machined shaft, a greasy bearing, or the delicate curve of a perfectly tensioned #30 roller chain glistening with oil in the glare of a bare 60 watt bulb. To fans and builders who still have some shred of non-metallic awareness, there is another form of art in our sport: the decorations we slather, draw, or sometimes carefully craft on our precious machines. At this year’s BattleBots™ tournament,
T
Featured This Month: 42 The Art of the Bot by Kevin M. Berry
44 Builder Tip: Going to Events by Matt Spurk
45 EVENT REPORT: NERC’s Battle on the Parkway: 10 Years of Fighting in Philly by Nate Franklin
42
SERVO 01.2017
two bots stood out for their creative paint schemes. As a guy who just spray paints his bots one primary color (Which one’s mine? The red one, you idiot!), the composition on these two bots are truly works of art. I asked the artists to comment on their creations, as we present “the gallery of shiny objects” for your viewing pleasure. The Editor
● by Kevin M. Berry Bot: Overhaul Team: Equals Zero Artwork done by: Cynthia Lu As described by the team: Our team knew going into Season 2 that we wanted a mascot for Overhaul. There already exists a big fanbase revolving around the anthropomorphism of inanimate objects, so we thought, why not
Combat Zone - Jan 17_Combat Zone - Aug 15.qxd 12/6/2016 8:36 AM Page 43
www.servomagazine.com/index.php/magazine/article/January2017_Bot-Art.
create a kickass, scythe-wielding, cat-ear-headphones-wearing female for our robot? We took elements of both the bot (like the curved grabbing arm) and our team captain, Charles (cat ears, fondness of Vocaloid Miku), and meshed them together to create 'Haru-chan.' This female representation of Overhaul also donned an outfit that would fit our team dress code of teal and black, and sported the actual set of Axent Wear cat ear headphones that our team wore on TV. Haru-chan, of course, had to dress like the team to be on the team. I sketched out the character on paper first, then scanned it in to finish inking and coloring it digitally. The image was then printed out on an adhesive vinyl sheet and applied like a decal on the back of the robot. There are plans of making Haru-chan a mech suit for Season 3 if it's announced.
Bot: Witch Doctor and Shaman Team: Busted Nuts Artwork done by: Andrea Suarez and Michael Gellatly As described by the team: We wanted the robot to be
memorable. We designed it to be an effective BattleBot, but also look playful and relatable. Most of the paint job was done with spray paint and brushed-on details. All of the artwork is done by hand. I painted Shaman, and Witch
Doctor was painted by Michael Gellatly — a local artist who is a sponsor for the team. SV
SERVO 01.2017
43
Combat Zone - Jan 17_Combat Zone - Aug 15.qxd 12/6/2016 8:36 AM Page 44
www.servomagazine.com/index.php/magazine/article/January2017_Event-List.
Builder Tip: Going to Events ● by Matt Spurk oing to events is always one of the best experiences available to builders. You get to pit your bots against others, hang out with friends, and see all the cool creations very creative people have built. I learn new skills or tricks every single time. One of the bad things about going to events is showing up and forgetting that key part or tool you really need. This can really put a damper on an otherwise amazing experience. Most builders are more than happy to loan out tools or parts, but I prefer having everything I need to quickly get my machine back in order without hunting for it. In order to keep track of all the tools and parts I take to events, I have put together a little spreadsheet with all the items I commonly use. As I’m building the bots, I’ll often find I’m using a tool that wasn’t on my original list, so it gets added. I also started taking my list to competitions, so if I realize I needed a certain tool it can be added for future events. It may not help me this time, but repeating the same mistake is significantly more frustrating. It also speeds up the process of getting everything ready. Just go through the list and check it off once it’s packed. Hopefully this list will help all the builders out there (new or old) in those frantic moments packing just before the event. SV
G
BRING IT List Primary Items
Robots Controllers Battery Charger(s) Controller Batteries Controller Charger LiPo Charging Bags
Spare Parts
Receivers Wheels Batteries Drive/Weapon Motors Speed Controllers Belts
Tools
Soldering Iron Solder Solder Bulb Helping Hands Drill/Driver Drill Bits (Standard and Metric) Drill Charger Wrenches / Crescent Wire Strippers Allen Wrenches Scale Screwdrivers Hardware (Nuts, Bolts, etc.) Tapes (Duct, Electrical, Double-stick) Glues (Hot, Super, Epoxy, etc.) Safety Glasses
Multimeter Heat Shrink Tap and Die Set Zip Ties Dremel Tool Files Hammers Scissors Snap Ring Pliers Pliers Jigsaw Angle Grinder Heat Gun/Lighter
Random Stuff
Camera Trash Can Chairs Power Strip Extension Cord Spare plastic or metal to make a wedge Pencil/Sharpie
Stuff to Bring Next Time
This List
CE Robots 8-12-2016
44
SERVO 01.2017
Combat Zone - Jan 17_Combat Zone - Aug 15.qxd 12/6/2016 8:36 AM Page 45
www.servomagazine.com/index.php/magazine/article/January2017_NERC-Battle-on-the-Parkway.
EVENT REPORT: NERC’s Battle on the Parkway: 10 Years of Fighting in Philly
● by Nate Franklin
ast October marked the 10th the same, but fell short of glory after year of the Northeast Robotics it ate its own pulley, giving lifter Club’s event at the Franklin Ferocious Mk 4 a spot in the final. Institute in Philadelphia, PA. An The final consisted of Physique unprecedented combined total of 80 Black delivering hit after hit, with bots signed up for this event — almost Ferocious Mk 4 fighting on. However, twice the amount as last year. Also it was not enough, and the drum present was Jerry Clarkin from Team spinner claimed first place. Hammertime, with his BattleBots™ The Beetleweights were filled with entry, SubZero on display. many deadly spinners and fast Due to the massive increase in wedges. Silent Spring, Mondo Bizarro, numbers, changes were made to the BEST KOREA, and a new and schedule in order to accommodate all improved Weta returned to the event, of the bots. First, every bracket would along with new spinners like Bagel run modified double elimination Bite, Recoil, and Event Horizon. (winner-take-all final). Second, all The new spinners put on a great Beetleweight fights were reduced to show, but suffered from new bot two minutes. Third, there would be no bugs that will hopefully be fixed in the postponements. If a bot wasn’t ready future. Reigning champion, Speed to fight in time, there would be an Wedge 3 had a rough day, winning automatic forfeit. Competitors were two fights but losing to Trilobite and cooperative with the changes, and Weta (driven by Jeremy Butler, a very were able to get their bots ready to experienced drumbot driver). fight on time. Silent Spring went on a rampage The Antweight division featured in the winner’s bracket, while Weta some heavy-hitting spinners such as and Trilobite proved to be formidable DDT, Physique Black, and The Cuban, foes. The impressive new Weta was along with wedges like Slim Pickens, stopped in the loser’s bracket by Cornerstone, and FireArrow. One of Chuck, a vicious vertical spinner the Ants this author found interesting whose driver won the “Best Rookie was Ubersaw: a miniature version of the iconic BattleBot, Nightmare. It tore through a 3D-printed drum spinner with ease, but unfortunately emulated Nightmare’s greatest weakness: being unable to self-right. Physique Black made quite an impression, taking out robot after robot through the Physique Black. SubZero on display. winner’s bracket. DDT did
L
Driver” award. Trilobite lost to Silent Spring in the winner’s bracket final, after nearly losing its wedge thanks to a damaged frame rail. In its next match, Trilobite went up against the undercutter Scorpius, and managed to win the fight despite nearly losing in the same manner. Without any more spare frame rails, Trilobite’s wedge was supported with duct tape, zip ties, and hope. Silent Spring had no problem taking the final. In the Hobbyweight division, horizontal spinner Butcher proved to be a force to be reckoned with. Team Conn Bots’ carved a path of destruction, reaching the final with ease. In the loser’s bracket, drum spinner Odin worked its way through despite suffering issues with its weapon. However, it was stopped in its tracks by the wedge of Freshies, who made it to the final. After taking several hits from Butcher, it stopped moving, and Butcher took first place. Two words can only describe the Featherweight tournament: Big Ripto. With heavy-hitters Triggo and Glasgow Kiss absent this year, Kyle Singer’s
The Cuban.
SERVO 01.2017
45
Combat Zone - Jan 17_Combat Zone - Aug 15.qxd 12/6/2016 8:36 AM Page 46
monstrous vertical spinner was out for blood. Its first victim was flipper Imperial Entanglements, who was dispatched with ease. Meanwhile, a scaled down version of everyone’s BattleBots dream fight took place. Charles Guan brought the latest version of his 30 lber Uberclocker, but rebuilt for the Featherweight class and named "I Can't Believe it's Not Overhaul," while Jamison Go brought a miniature SawBlaze, MegatRON.
The two fought an intense battle, with MegatRON coming out on top. MegatRON went up against Big Ripto, who took a chunk out of its saw blade and tore its wedge off, hitting the ceiling. I Can’t Believe it’s Not Overhaul fought its way through the loser’s bracket, beating vertical spinner Duck Yeah, wedge Melvin, and MegatRON. However, it was Big Ripto who took home the win. The Sportsman class featured many impressive bots. Alex Horne of
Wedge Industries brought True Grit, a bot inspired by Yeti from ABC’s BattleBots with a sanding drum. There were also hammers like Iron Golem and Jaeger (the spiritual successor to Blacksmith on ABC’s BattleBots), but lifters Translationally Inconsistent (which featured mecanum drive, allowing the bot to move side to side like a crab) and Heracross dominated. However, the real star of the Sportsman class was CLOMP, a bot inspired by Mega Tento from
DDT.
Ubersaw. FireArrow.
Silent Spring.
Ferocious Mk 4.
Chuck and Bagel Bite.
Scorpius.
Weta and Trilobite.
Event Horizon.
46
SERVO 01.2017
Freshies.
Butcher.
Recoil launches Best Korea.
Combat Zone - Jan 17_Combat Zone - Aug 15.qxd 12/6/2016 8:36 AM Page 47
BattleBots. Built by Centre County 4-H Robotics, it used a plastic bucket to smother its opponents, and won the hearts of the audience and builders. In its fight against Jaeger, the powerful hammer dealt blow after blow, puncturing the bucket and Antweight Beetleweight Hobbyweight Featherweight
1st Physique Black Silent Spring Butcher Big Ripto
Sportsman
Dorno
reducing it to scrap. Thankfully, the team brought a spare bucket. In their fight against True Grit, they drove on top of the lifter/sander hybrid, and managed to yank out its power link with its wheel. In the end, it came down to Dorno and Heracross, with
2nd Ferocious Mk 4 Trilobite Freshies I Can’t Believe It’s Not Overhaul Heracross
the former taking the win. Once again, the Northeast Robotics Club put on a great event in the Franklin Institute. Thanks to all who helped run the event, and to the builders who put on a good show. SV
3rd DDT Scorpius Odin MegatRON Translationally Inconsistent
I Can't Believe It's Not Overhaul.
Duck Yeah. Big Ripto.
Odin attacks 911 with its drum.
MegatRON (before).
MegatRON (after).
Melvin. True Grit takes on Lil Bale Kicker. Translationally Inconsistent.
Clomp.
Heracross easily lifts Iron Golem.
Jaeger.
SERVO 01.2017
47
Cicolani - Nomad 2 - Jan 17_Blank Rough SV.qxd 12/6/2016 12:37 AM Page 48
NOMAD
The Evolution of an Autonomous Robot
This is an update to my March 2015 review of the Nomad chassis kit from ServoCity. The project is on-going, and I've learned a lot along the way. As usual, I got myself in way over my head. Fortunately, through persistence and a little help from time to time, I've made some real progress. I really have enjoyed working with this kit and modifying it with other parts from the Actobotics® line. At the end of my initial review, I declared it a very robust chassis that would be great for use in Magellan competitions. he original plan was to use an old Android phone as the main processor, interfaced with an Arduino to collect sensor data and communicate with the motor controller. In the end, I decided not to use the phone. I had started to read about the Robot Operating System (ROS): a middleware package for controlling robots. What enticed me about ROS was the fact that it is open source, used by researchers and companies around the world, and a lot — if not all — of the functionality I wanted to use was already written. In fact, it was already written by people a lot smarter and with a lot more experience than I have. Whereas there are builds of ROS for Android, at the time they were rather unstable and seeing as the learning curve was already pretty steep, I decided to find a more suitable platform for what I was now calling the Nomad Project.
T
Intel Edison Fast forward a few months when a friend from The Robot Group in Austin, TX was divesting himself of parts he’d been collecting. Among them
48
SERVO 01.2017
was an Intel Edison with the Arduino compatible breakout board. I had heard some great things about the Edison board; it was pretty fast, ran on Linux, and it had that Arduino compatible breakout board. It was a perfect candidate for this project. Or, so I thought. My goal was to get ROS installed on the Edison board and load a simple program that would allow me to control Nomad with a wireless game controller. I had developed the program for another platform I put together as a test/learning system called BARB (Big Autonomous Robotic Base). BARB was a 24” diameter circular robot built on a Power Wheels® drive train. It uses a laptop as its controller which allowed me to develop the test program that I wanted to port to Nomad. To accommodate the addition of the Edison, I had to reconfigure Nomad. The battery came out of the box to make room for the electronics. With the battery out, I could lay the Roboclaw motor controller flat as opposed to mounted on the side. I created a system of plates for mounting the electronics using acrylic cut on the laser cutter at ATX Hackerspace and offsets. This allows me to When last we saw Nomad, it looked like this.
Cicolani - Nomad 2 - Jan 17_Blank Rough SV.qxd 12/6/2016 12:37 AM Page 49
By Jeff Cicolani
Post comments on this article at www.servomagazine.com/index.php /magazine/article/January2017_Nomad-Evolution.
remove the electronics as one unit. I often refer to this as the “stack.” I replaced the 12V SLA brick with an 11.4V 3s LiPo battery pack that I could mount in the aluminum channel from the kit. The Edison runs on a version of Linux called Yocto, which I had never heard of before. ROS, however, is built to operate with Ubuntu and other Debian derivatives. There was not an install path for Yocto Linux. However, there was some success using UbiLinux which is, supposedly, a light version of Ubuntu. So, I installed UbiLinux on the Edison and then ROS applying the same build instructions used for the Raspberry Pi. The installation was successful and I had ROS running. However, when I went to install the test program, I could not get the gamepad to work. It turns out the joystick drivers are not in UbiLinux. On top of that, the package needed to install the drivers was not part of UbiLinux. With no community support for that application and after spending two weeks looking for answers that simply didn’t exist, I abandoned the Edison board.
Raspberry Pi What did have a strong and growing community was the Raspberry Pi. I happened to have a couple of model B+s on hand. I knew I could get the test code to run on the Pi since I had just done it on a project for some film makers in San Antonio. To simplify the I/O with the sensors, etc., I decided to also include an Arduino Mega. There were several reasons for this, not the least of which was the separation of signal processing from the main program. I would be able to manage the sensors on the Arduino and just send the consolidated information as a serial stream to the Pis. With this, the stack took on a new form with the Roboclaw on the bottom, followed by two Pis, and the Arduino with a sensor shield on top. It was also at this point I decided to add an Xbox Kinect for vision. At some point, I was further inspired by Actobotics’ Mantis platform. In particular, I was enamored by the independent suspension which, of course, Nomad had to have. So, I spoke to the good folks at ServoCity and soon
Roboclaw at the bottom of the "stack.”
Nomad with the Intel Edison board and sensor shield.
received the parts for the conversion. The idea behind the two Raspberry Pis was to — again — split the processing. Vision processing is intensive, as is navigation. With two boards, I could dedicate one to processing the input from the Kinect and the other to navigation, or as I learned during this process, SLAM (Simultaneous Localization And Mapping). ROS installed nicely and I was able to get the test program running without a hitch. At that point, I started adding the sensors. Using a package for ROS called ROSSerial, I was able to read the PING))) sensors through the Arduino. These were configured to act as a bumper to avoid any obstacles the Kinect may have missed. The Kinect itself, however, proved a bigger challenge. I could simply not get the drivers to work. Others had great success with this, but at the time I was not one of them.
Enter Nvidia By now, I was a year into the project. I was trying to get the Kinect working right up to the next big show for The Robot Group: South by Southwest (SXSW). For those of you who aren’t familiar with SXSW, it is a large festival in Austin, broken into three parts: interactive, film, and music.
Nvidia Jetson TX1 unboxing.
SERVO 01.2017
49
Cicolani - Nomad 2 - Jan 17_Blank Rough SV.qxd 12/6/2016 12:37 AM Page 50
Interactive is all about new technologies. As part of Interactive, there is a show called Create which is free and open to the public. The Robot Group had a sizable display there that year, and I really wanted to be able to show off Nomad with working sensors and collecting vision information from the Kinect. Alas, it was not to be. However, directly across from our booth was one for Nvidia: the makers of video cards. Nvidia has an embedded system called the Jetson and they had just come out with their newest version: the TX1. The Jetson TX1 runs their latest Tegra processor which consists of a 64-bit quad core ARM processor and 256 Cuda GPU cores. This setup allows for massive parallel processing. In short, this little board is a video processing powerhouse. In their booth, they were demonstrating how their Jetson TX1 could be incorporated into a robot with a stereo camera system to perform SLAM activities. To take it a step further — thanks to the Cuda cores — they were able to build a neural network on the robot so it would learn as it went. My amateur hobby robotics mind was blown. This was one of those, “stop talking and take my money” moments. The engineer that was there gave me his contact information should I have any questions and directed me to
their embedded developer page. Two weeks later, my Jetson TX1 Evaluation Kit arrived in the mail. A week after that, the Zed stereo camera system from StereoLabs was on my porch. The evaluation kit is significantly larger than the Raspberry Pi, which meant yet another reconfiguring of the chassis. This time, I had to build a larger box in which to house the Jetson and associated electronics. While I was at it, I added dedicated space for the power switch, an external Ethernet port, power jack, HDMI port, and two cooling fans. For the Zed camera, I also ordered a nice pan/tilt assembly from ServoCity. At this point, I have to say how thankful I am to have found the local hacker space here in Austin. This place has been an amazing resource for building Nomad and so many other projects. Between the laser cutters, 3D printers, and all of the other tools available here, there is very little that can’t be done. We’re even adding a CNC plasma cutter. So, once the design is finalized, I might even cut a new chassis altogether out of aluminum. And it’s not just the tools. The people and talent is fantastic. Without some of the expertise from the ATX Hackerspace, I don’t know that Nomad would have made it anywhere near as far as it has. If you haven’t already availed yourself of your local maker or hacker space, do so. You will be astounded at what you can get done.
Prepping the Jetson With the majority of the physical build done (because, let’s face it, you’re never really 100% done with any part of a project like this), it was time to get the OS and software started. Nvidia provides a pre-assembled package of OS, drivers, and software called Jetpack. This package is optimized by the engineers and developers for this board. The installation for someone new to this process is not necessarily a straightforward one. There were some obstacles I had to work around that weren’t obvious. Hopefully, my experiences will help you avoid some of the same hurdles. These issues started right at the beginning ... Cutting the new box on the laser.
Initial Hardware Problems
Nomad’s new box, fresh off the laser cutter.
50
SERVO 01.2017
Right at the beginning, I was having challenges in just seeing what was happening. When I received my TX1, it wasn’t blank. There was an initial OS installed. I didn’t play around with it enough to see if a version of Jetpack was already Flashed. I wanted to get it updated quickly to make sure it had all of the proper drivers. So, I tried to connect the board to a spare monitor I had lying about. The monitor did not have an HDMI input which is needed for connecting to the Jetson. Using an HDMI to DVI adapter, I connected the monitor to the TX1 with no results. It turns out the HDMI out from the Jetson is not compatible with converters — at least not natively. So, next I tried connecting it to a television with an HDMI input.
Cicolani - Nomad 2 - Jan 17_Blank Rough SV.qxd 12/6/2016 12:37 AM Page 51
This time, I was able to get video, but it was cropped around all the edges significantly. I was unable to see the first five or six characters of the text that was streaming during bootup. The issues with the converter and the television led to my first unexpected expense: a new monitor with HDMI input. Fortunately, Fry’s had one on sale. It was a little larger than I was hoping for, but it was less than $100, so I went ahead and bought it. While I was there, I went ahead and picked up a USB3 hub knowing I would need it for use with the Zed camera later. With the new monitor, I was able to see the output properly. While on the topic of hardware issues, there is also the matter of the keyboard/mouse. This is probably not related to the actual install since it was not an issue with the re-Flash (more on that later). The Logitech wireless keyboard/touchpad did not initially work with the board. I had to use a wired mouse and keyboard through the aforementioned USB hub. So, something to keep in mind.
Installing Jetpack Jetpack is not installed directly onto the Jetson board. It is actually installed through another host machine onto the TX1. To install Jetpack, you will need to do so from a full independent installation of Ubuntu 14.04. And by independent I mean you can’t install it from a VM (virtual machine). It has to be an actual machine. I spent several hours trying to get it to run within a VM, including installing Virtualbox on my Windows 10 machine but, in the end, it was nothing but frustration. So, next I turned to my laptop running Ubuntu 12.04. There I had many of the same frustrations. I just could not get the installer to run. I put a fresh install of Ubuntu 14.04 onto the machine and had the same issue. It turns out the problem was me and my very poor understanding of Linux. In order to run the Jetpack installer, you have to precede the filename with a dot-slash ( ./ ) in the execute line. I am not going to go over the whole installation process here since it is well covered on several websites. The instructions I used are available at the URL listed below. However, there are some things you will need to know going into it:
Installing the Jetson Jetpack.
you’re going to be playing around in this more advanced robotics space, you’re going to have to learn Linux anyway. Bite the bullet, get a cheap refurbished laptop, and install Ubuntu on it. • Be sure you are connecting both the host system and the Jetson board via Ethernet cable to the same router/network. Jetson installation will fail if you try to use Wi-Fi. • Make sure the version of Jetpack is compatible with your chosen hardware. You’re going to find — at least at the time of this writing — the newest bleeding-edge version may not have the driver and software support you need. I ended up having to roll back from JetPack 2.2 for L4T to JetPack 2.1 for L4T because 64-bit support just wasn’t where it needed to be. The latest version may have fixed this, but at the time it was an issue. During the setup, I ran into an issue where the host system could not find the Jetson on the network. Jetpack installation is a multi-stage process. Once it has Ubuntu installed, it will restart the board and attempt to connect to it via Ethernet. For some reason, on my first pass, the host failed to capture the IP for the Jetson. If this happens to you, reset the Jetson and boot it into the GUI. The user is “ubuntu” and the password is “ubuntu” by default. Once in, connect to your router as normal, then use: ~$: sudo ifconfig
• You will need a developer account to download the package. These are free. Nvidia just wants to know who is accessing their files. • The Jetpack is not installed directly on the Jetson board. You will instead be installing the Jetpack on a host Ubuntu Linux 14.04 host system. In my case, I was using a laptop which I have set aside specifically for my robotics experiments and development. • As stated above, you cannot install Jetpack from a VM. For you Windows users, it’s a bit of a pain, but if
to find your IP address. Back on the host machine, run the installation again. It will skip everything that was done and take you to the point it tried to connect to the Jetson. When the system fails to find the IP address, select to manually set it. This will bring up a new dialog box where you enter the target’s IP, user, and password. It may take a couple minutes to connect, so let it do what it’s going to do. Once it finds it, the installation will continue. Now, with all my warnings and life lessons out of the SERVO 01.2017
51
Cicolani - Nomad 2 - Jan 17_Blank Rough SV.qxd 12/6/2016 12:37 AM Page 52
way, follow directions at http://docs.nvidia.com/jetpackl4t/index.html#developertools/mobile/jetpack/l4t/2.2.1 /jetpack_l4t_install.htm.
Installing ROS The next step in the process for Nomad is the installation of ROS. This installation is probably the most straightforward of any of them simply because you’re installing onto a full version of Ubuntu. Because the version of Ubuntu in this selected version of Jetpack is 14.04, I needed to install ROS Indigo. Like any other ROS install, make sure you match the version of ROS to your version of Linux. Each version is optimized to the most recent stable version of Ubuntu at the time it was released. Mismatching the versions will cause countless issues that can otherwise be avoided. The Jetson platforms use ARM processors; therefore, you’ll need to install the appropriate version of ROS for ARM. The official instructions for doing so can be found on the official ROS.org wiki at http://wiki.ros.org /indigo/Installation/UbuntuARM. Again, I’m not going to list out all of the instructions here. Finally, I was in a position to load the test program I wrote so long ago for BARB and the earlier iteration of Nomad. The nice thing about getting familiar with and using ROS is how little code it actually takes to make something happen. All of this source code is available on GitHub at: • https://github.com/jcicolani/Nomad/blob/master/ src/nomad/nomad_control.py • https://github.com/jcicolani/Nomad/blob/master/ src/nomad/nomad_drive.py • https://github.com/jcicolani/Nomad/blob/master/ src/nomad/roboclaw.py These are the pieces of custom code and the modified sample file from ION Motion Control that I'm using as a driver. There are four modules needed to get Nomad driving, three of which are in the Git repository: roboclaw.py,
Resources Nomad's blog: http://nomadrobot.info Nomad's source code on GitHub: https://github.com/jcicolani /Nomad Nvidia Jetpack installation guide: http://docs.nvidia.com/ jetpack-l4t/index.html# developertools/mobile/jet pack/l4t/2.2.1/jetpack_l4t_ install.htm
52
SERVO 01.2017
ROS for Ubuntu on ARM processesors: http://wiki.ros.org/indigo/ Installation/UbuntuARM ATX Hackerspace: http://atxhs.org ION Motion Control: www.ionmc.com ServoCity: www.servocity.com
nomad_control.py, and nomad_drive.py. The first is the custom driver script for the Roboclaw from the sample Python program provided by ION Motion Control: the makers of the Roboclaw motor controller. The second file (nomad_control.py) subscribes to the JoyCommand message of the Joy node and publishes the axes signals as a Twist message — which is the standard movement message used in ROS. Lastly, nomad_drive.py is the node that interacts with the motor controller. It leverages the Roboclaw driver to send movement commands as well as read pertinent information provided by the driver, such as battery voltages, operating temperature, and any errors generated by the motor controller. The fourth module is the standard joystick package. To get the joystick package installed for ROS, I followed the instructions at http://wiki.ros.org/joy/Tutorials/ ConfiguringALinuxJoystick. To get Nomad moving, I have to start up each of these nodes. Generally, you would put each node call into an ROS launch file and simply use roslaunch to start all of them at the same time. However, at the time of this writing, I have been experiencing some issues with nomad_drive.py starting up properly. While I diagnose the issue, I am starting each of the nodes separately. Each node has to be started in its own terminal window on the Jetson board, starting with the core processes: ~$: ~$: ~$: ~$:
roscore rosrun joy joy_node rosrun nomad nomad_control.py rosrun nomad nomad_drive.py
The night I got Nomad configured, loaded, and running was our Robot Group meeting at ATX Hackerspace. I cannot express how good it felt to have Nomad driving around the classroom and shop there. Two years of build, rebuild, and rebuild again, and Nomad was alive and moving.
Current State Of course, like any project, once you have it working is when you start to find other issues. Right from the beginning, there were three issues that had to be addressed. The first was a physical issue; the wheels I was using were those from the original Nomad kit. These weren’t intended to support the 16 lb Nomad now weighed. The other two were electrical: There was too much pressure on the USB connector to the Roboclaw, and I had an intermittent power problem going to the Jetson board. Both of these issues resulted in the motor controller losing signal with the main board. Without changing the profile of Nomad, I essentially have two solutions to the wheel problem. The first is to replace them with air filled rather than the standard foam filled tires. The other is to simply remove the foam insert
Cicolani - Nomad 2 - Jan 17_Blank Rough SV.qxd 12/6/2016 12:37 AM Page 53
and fill tires with expanding construction foam. Obviously, I went with the more eloquent and complicated air filled solution. I ordered bead lock hubs and air fill valves used in volleyballs. The USB connection was an easy fix. I simply replaced the cable I was using with one that has a smaller plug end. The plug is no longer pressing against the side wall of the box and the Nomad systems block diagram. pressure is released. The electrical problem is still plaguing me, however. My initial thought was the barrel last of which will be the Roboclaw. plug assembly was interfering with other components and Once power is applied to the main board, the Arduino was being knocked loose. The solution for this was simply Mega will be powered up and it will begin sending a signal moving things around a little bit. The offending component to the Uno via connected pins. The pins will need to share a was the main power switch attached to one of the rear ground and will have a protective resistor on the jumper panels. Fortunately, I designed the panels to be flipped. So, between them for protection. Once the Uno begins the power switch is now on the other side of the box and receiving this signal, it will turn on the motor controller. As there is no more interference with the barrel jack. long as the Uno receives the signal, the motor controller In the end, I have a pretty substantial hardware stack. will remain powered. If serial connection is lost between At the root of everything is the Jetson TX1 board. Directly the Mega and the main board, the signal will be stopped attached to that is the HDMI port, USB2 OTG cable, USB3 and the motor controller shut down. hub, and Ethernet, wireless, and Bluetooth connectivity. I While the power control system is being built, other may also add an SATA SSD for extra storage, though I could development will also continue. Next, I will be attaching the do the same thing with an SD card. The USB3 hub is sensors to make sure I can capture signals from them. connected to the Roboclaw, Zed camera system, and the Then, I am anxious to get the Zed stereo camera powered Logitech wireless keyboard and mouse. The USB2 OTG and working. I am excited to pull image and point cloud cable terminates in the dongle for the Logitech wireless data, and start working with navigation. gamepad. I discovered in a past project you cannot power To assist in all of this, I am building a base station for your Arduino through an external source while connected to USB. So, the Arduino is connected to the Jetson board Nomad. The base station consists of a laptop outfitted with via the I/O pins on the Jetson. a wireless hub. The wireless hub runs on five volts and less Power is supplied to Nomad using four 11.4V LiPo than one amp, so it can be powered by the laptop’s USB battery packs. These are broken into two banks: one for the port. The plan is to bind Nomad to the wireless router and motors and the other for all of the electronics. A 5V DC then share the Internet connection from the laptop to the regulator is supplying extra power to the USB3 hub, and a hub. In that way, Nomad and the base station will always second one supplies 6V to the Arduino’s sensor shield. Both be connected to the same network and when I’m working circuits can be powered by an external power supply when off-site, I only have to connect the laptop to local Wi-Fi. It Nomad is on the bench. will also allow me to use remote desktop access on Nomad to work without having to set up a separate monitor, keyboard, and mouse. The base station includes a box to elevate Nomad off One of the issues that needs to be addressed is the the table while on the bench. This will allow me to test the power control. Allowing Nomad to go careening off out of entire system without worrying about the robot driving off control when there’s an interruption in communication the table. A 12V power supply is built into the bench box between the main board and the motor controller is that can be used to power Nomad on the bench without unacceptable. using the batteries. All of this is contained in custom boxes In order to address this, I am building a power control for transport, protection, and to provide a platform on and watchdog system using an Arduino Uno and a couple which to work. There is a separate toolbox. The boxes are relay boards. The main switch will become a power selector, stackable on a custom cart to allow for easy transportation. allowing me to choose to power Nomad by the onboard I’m planning on entering Nomad into the battery packs or through an external power supply. A RoboMagellen competition at the next RoboGames. It’s a second smaller switch will control the power to the Arduino tight deadline at this point, but an achievable goal. So, with Uno board. The Uno — when powered up — will a little luck and a lot of work, the next update will include a systematically turn on each of the systems in Nomad — the performance report from RoboGames! SV
Next Steps
SERVO 01.2017
53
Federman - Roll Own Turtlebot - Jan 17_Blank Rough SV.qxd 12/6/2016 12:43 AM Page 54
Roll Your Own Turtlebot
By Alan N. Federman (Dr. Bot)
Several years ago, I wrote an article for SERVO showing how you could convert an old Roomba vacuum cleaner and a Microsoft Kinect into a robot training platform capable of teaching yourself ROS: the Robot Operating System from Willow Garage. Willow Garage has now closed, and Clearpath Robotics can sell you a complete brand new Turtlebot for about $2,100. Recently, OSRF and Robotis have announced a less expensive Turtlebot, but this is still a bit out of the range for most serious amateurs.
W
hat if you could easily build the equivalent of a Turtlebot for under $300? I’m going to show you how simple it is to convert a Neato robotic vacuum cleaner into a fully functional training platform in less than a day. Very little hardware skill or special tools are needed. Everything is available COTS (commercial off-the-shelf), and the software is all open source. Let’s get started! Here’s what you need to get, if you don’t already have them: • A laptop or Wi-Fi connected desktop running Unbuntu. This should be at least 14.04 and running ROS Indigo, but it would be better to upgrade to the same versions if running cross platform. ROS versions are usually matched to Ubuntu releases. • A Neato Botvac or equivalent (I have seen used XV-12s for under $200, and new basic models for under $300). • A Raspberry Pi 3 (camera is optional but highly recommended) ~$50. • 6 gig SD card for Pi ~$10. • Rechargeable 5V power pack (the kind for recharging cell phones is fine) ~$20. • USB cables for battery pack to Pi (micro) and Pi to Botvac (can be mini or micro, depending). • Small scraps of aluminum or tin from a can. • Small scraps of flat plywood or acrylic. • Velcro™, double-sided tape, or other easy-to-remove adhesives.
brushes, the dust bin, and used a strip of metal to disable the bin detector switch.
Step 2: Preparing the Pi and attaching to the Botvac. Artfully arrange the Pi, battery pack, and optional camera on a 6” by 6” flat piece of wood or plastic. Attach with double-sided tape. On the bottom of the assembly, attach a piece of Velcro or similar quick release fastener. Attach the matching Velcro to the top of the Botvac’s LIDAR unit. Lastly, plug in the USB cables. You might want to charge your batteries. It would be a shame to have all the software loaded and then have to wait to test it.
Step 3: Loading the software onto the Pi. At the time of this writing, an official version of Ubuntu 16.04 was not available for the Pi 3. I used the Ubuntu Mate (pronounced “ma tay”) version. Instructions for
Step 1: Modifying the Botvac. Depending on your model, you may choose to ignore any hardware modifications entirely. Then, if you mess up, you can just use it to clean your house! I removed the
54
SERVO 01.2017
XV-12 dustbin removed.
Federman - Roll Own Turtlebot - Jan 17_Blank Rough SV.qxd 12/6/2016 12:43 AM Page 55
Post comments on this article at www.servomagazine.com/index.php/magazine/article/January2017_Build-Own-Turtlebot.
loading Mate are available at https://ubuntumate.org/download. Follow the instructions for 16.04 — Raspberry Pi 2/3. You can use an HDMI TV and attached keyboard to initially set up the Pi, using the graphical environment. It also helps to have a direct Ethernet connection when doing the initial setup because you need to load a lot of software initially. Using a desktop, it’s pretty easy to get Wi-Fi working. I suggest creating an 8 gig image on a 16 gig SD card. After the initial software is on and you can bring up a graphical desktop, follow the intro screen and click on Raspberry Pi info — it will enable you to expand the image to 16 gig. It also will allow you to configure your Wi-Fi. I suggest you still use the Ethernet connection, but at this point you can open a terminal, type sudo graphical disable, and then use SSH over Wi-Fi to complete the installation. Once Ubuntu is working, continue loading ROS onto the PI. You may have to maintain your Ubuntu distributions; the following commands are useful: sudo apt-get update sudo apt-get upgrade (must run both in sequence)
Sometimes to clear dpkg errors: sudo dpkg –configure -a )
Summary:
XV-12 name plate.
setup.bash. It also helps to add the following line if the Pi is hosting the robot: export ROS_MASTER_URI=http://$HOSTNAME.local:11311
where “$HOSTNAME” is the name you have in the /etc/hostname file. Your /etc/hosts file should look like this: 127.0.0.1 127.0.1.1
localhost “your hostname”
sudo sh -c ‘echo “deb http://packages.ros.org/ ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’ sudo apt-key adv —keyserver hkp://ha.pool.skskeyservers.net:80 —recv-key 0xB01FA116
sudo apt-get update sudo apt-get install ros-kinetic-desktop-full
(if full is not available, just get ros-kinetic-desktop) sudo rosdep init rosdep update echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc source ~/.bashrc sudo apt-get install python-rosinstall
ROS Catkin Workspace installation: mkdir ~p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd .. catkin_make
Next, edit .bashrc to change the source /opt/ros/kinetic/setup.bash to ~/catkin_ws/devel/
XV-12 brush removed.
SERVO 01.2017
55
Federman - Roll Own Turtlebot - Jan 17_Blank Rough SV.qxd 12/6/2016 12:43 AM Page 56
ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Raspberry Pi 3 mounted. # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet
This will support ROS networking. You also may wish to install “chrony” to synchronize the time different ‘nodes’ are running at. This is because the Pi doesn’t have a real time clock, and if your Wi-Fi is not connected to the Internet, the Pi will have the wrong time. Next, I suggest you load the following ROS packages into your catkin_ws/src workspace: ROS by Example Part 1 (RBX1) from Patrick Goebel; https://github.com/pirobot/ rbx1 (this should go on both your laptop and the Pi); and the SV-ROS Botvac nodes (courtesy of mostly Mr. Ralph Gnauck) at https://github.com/SV-ROS/intro_to_ros. Follow the instructions in the README files to install and test. For example: cd ~/catkin_ws/src git clone https://github.com/SV-ROS/intro_to_ros
Listing 1.
/catkin_ws/src/intro_to_ros/bv80bot/bv80bot_node /launch/include/bv80bot_njoy.launch
no joystick launch from pi, joystick or keyboard on remote ps3 xbox360 keyboard logitech -->
56
SERVO 01.2017
Federman - Roll Own Turtlebot - Jan 17_Blank Rough SV.qxd 12/6/2016 12:43 AM Page 57
(this also should go on both)
Listing 2.
cd ..
Terminal output from launching startup nodes.
catkin_make
roslaunch bv80bot_node bv80bot_njoy.launch & rostopic list
Testing On the laptop, type: roscd teleop
If nothing is found, type: sudo apt-get install ros-kinetic-teleop-twistkeyboard
On the Botvac, turn on the Pi, and sign on via a terminal window from the laptop. I like to launch a custom base only node on the Pi: roslaunch bv80bot_node bv80bot_njoy.launch (refer to the code listings)
You should hear the Neato LIDAR unit start to spin. On the laptop, open up another terminal window and set up the ROS_IP and ROS_MASTER_URI environment variables via the ‘export’ command. Test to see if you are getting topics (rostopic list) and scans (rostopic echo /scan). Finally, launch teleop: rosrun teleop_twist_keyboard teleop_twist_keyboard.py
You should now be able to drive your robot. If you open RVIZ in another window, you should see the LIDAR returns.
What Next? With just this simple robot, you can begin to learn how to accomplish advanced robotics tasks and begin to learn
/button /cmd_vel /cmd_vel_mux/active /cmd_vel_mux/parameter_descriptions /cmd_vel_mux/parameter_updates /joint_states /mobile_base_nodelet_manager/bond /odom /raw_cmd_vel /robot_cmd_vel /rosout /rosout_agg /scan /sensor /smoothed_cmd_vel /teleop_velocity_smoother/parameter_descriptions /teleop_velocity_smoother/parameter_updates /tf /tf_static
the subtleties of autonomous navigation. Because of the Neato’s XV-11 LIDAR unit, you can simultaneously accomplish localization and obstacle avoidance. Support for webcams and the Raspberry Pi camera are available through ROS nodes. I have gotten teleop via a Bluetooth joystick to work through the laptop, but not directly on the Pi. Please note that though the Pi has four USB slots, there is seldom enough power to run more than the Botvac interface and a Wi-Fi dongle. A typical USB webcam will draw too much current and crash the Pi. With a Wi-Fi connected phone and some ingenuity, you should be able to issue voice commands. This way, you can call up your home robot from the office and ask it to find the cat. The Botvac is a little underpowered for bringing you a snack from the kitchen, but when the next more powerful platform is available, you’ll know just how to program it. SV
)
For the finest in robots, parts, and services, go to www.servomagazine. com and click on Robo-Links.
Wanna read about electronics? Check out our book selection at
store.nutsvolts.com SERVO 01.2017
57
SV Webstore - Jan 17 working_SV Webstore May 16 working.qxd 12/6/2016 12:46 AM Page 58
The SERVO Webstore CD-ROM SPECIALS
01.2017 FEATURED
ROBOTICS Arduino Robot Bonanza by Gordon McComb Create high-tech walking, talking, and thinking robots. "McComb hasn’t missed a beat. It’s an absolute winner!" Breathe life into the robots of your dreams — without advanced electronics or programming skills. Arduino Robot Bonanza shows you how to build autonomous robots using ordinary tools and common parts. Learn how to wire things up, program your robot's brain, and add your own unique flair. $29.95
Robot Builder's Sourcebook Fascinated by the world of robotics but don’t know how to tap into the incredible amount of information available on the subject? Want the names, addresses, phone numbers, and web sites of companies that can supply the exact part, plan, kit, building material, programming language, operating system & computer system? Robot Buider’s Sourcebook is just what you’ve been looking for! $36.00
58
SERVO 01.2017
Making Things Move: DIY Mechanisms for Inventors, Hobbyists, and Artists by Dustyn Roberts
In Making Things Move: DIY Mechanisms for Inventors, Hobbyists, and Artists, you'll learn how to successfully build moving mechanisms through non-technical explanations, examples, and do-it-yourself projects — from kinetic art installations to creative toys to energy-harvesting devices. Photographs, illustrations, screenshots, and images of 3D models are included for each project. $29.95
Build Your Own Humanoid Robots by Karl Williams GREAT 'DROIDS, INDEED! This unique guide to sophisticated robotics projects brings humanoid robot construction home to the hobbyist. Written by a well-known figure in the robotics community, Build Your Own Humanoid Robots provides step-by-step directions for six exciting projects, each costing less than $300. Together, they form the essential ingredients for making your own humanoid robot. $24.95
Build Your Own Teams of Robots with LEGO® MINDSTORMS® NXT and Bluetooth® Plan, design, assemble, and program robot squads that communicate and cooperate with each other to accomplish together what they can’t do individually. Inside the authors show you how to construct a team capability matrix (TCM) and use the Bluetooth RoboticOriented Network (BRON) so your robot teams can share sensors, actuators, end effectors, motor power, and programs.$30.00
Robotics Demystified by Edwin Wise YOU DON'T NEED ARTIFICIAL INTELLIGENCE TO LEARN ROBOTICS! Now anyone with an interest in robotics can gain a deeper understanding — without formal training, unlimited time, or a genius IQ. In Robotics Demystified, expert robot builder and author Edwin Wise provides an effective and totally painless way to learn about the technologies used to build robots! $19.95
To Order Call 800 783-4624 or visit our webstore
SV Webstore - Jan 17 working_SV Webstore May 16 working.qxd 12/6/2016 12:46 AM Page 59
Order online www.servomagazine.com SPECIAL OFFERS
Build Your Own Quadcopter: Power Up Your Designs with the Parallax Elev-8 by Donald Norris Build a custom multirotor aircraft! Build and customize radio-controlled quadcopters that take off, land, hover, and soar. Build Your Own Quadcopter: Power Up Your Designs with the Parallax Elev-8 features step-by-step assembly plans and experiments that will have you launching fully functioning quadcopters in no time. Reg $50.00 Sale Price $39.95
The SERVO Buddy Kit
PROJECTS 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 control a servo without a microcontroller.
For more information, please check out the May 2008 issue or go to the SERVO webstore.
Includes an article reprint.
$39.55
This kit shows you how to build a really cool 3D cube with a 4 x 4 x 4 monochromatic LED matrix which has a total of 64 LEDs. The preprogrammed microcontroller that includes 29 patterns that will automatically play with a runtime of approximately 6-1/2 minutes. Colors available: Green, Red, Yellow & Blue. Jig and plastic cases also available.
This kit accompanied with your own PlayStation controller will allow you to control up to six servomotors. Includes all components and instruction manual. For more information, please see the February 2011 edition of SERVO Magazine. Assembled units available! $79.95
$57.95
SERVO 01.2017
59
Carroll - Then & Now - Jan 17_Then & Now - Sep15.qxd 12/6/2016 8:45 AM Page 60
a n d
g{xÇ Now
by Tom Carroll
[email protected]
The People Behind the Evolution of Robotics I have written about the evolution of robotics several times in this column. There has been some amazing growth in the field of robotics in these few years. Exciting news articles and videos about the advances in robotics are on TV and other media almost daily. I've also tried to cover the history of past advances in the science of robotics, but history and evolution describe two different facets of the growth and implementation of robotics. The history covers what has occurred in robotics whereas evolution covers why it occurred the way that it did and who were the key individuals responsible for the steps to the changes. ooking back in time, these two studies are quiet often intermeshed, but I find the evolutionary studies a bit more interesting. I won’t start with the earliest industrial robots or even Honda’s amazing Asimo. I just want to cover the backgrounds of the individuals who drove the latest growth activity in robotics with newlyformed companies. Robot evolution is far more than a succession of companies developing a series of newer robots. It is people with dreams who form the companies, using insight and intuition to recognize and hire talented innovators. Education and experience are important, but it the rare ability to innovate that is most important. These individuals then go forth and bring their dreams to fruition. In the first part of this article, I’ll discuss some of these unique individuals who drove the evolutionary advances in robotics. Most started with advanced degrees in computer science, but ended up as key players in robotics. I’d like to present several robot startup companies by these people and their spinoffs that were composed of some of the brightest entrepreneurs in recent robot development history. It is quite interesting to visualize just how these people interact and interface through similar interests to form common bonds that evolve into
L
60
SERVO 01.2017
amazing startup companies. I’ll start with one very familiar company as an example and continue with a short history of a series of Silicon Valley startups that began with that company, Willow Garage. This robotics company has a most unique history and evolutionary path in its background.
Scott Hassan’s Willow Garage Launches a Series of Startups Scott Hassan was the founder of the list-archiving service email company called eGroups in 1997. Hassan later sold it to Yahoo in 2000 for $432 million in stock. He previously was the key software architect and codeveloper of Google, Alexa Internet, and the Stanford Digital Library while working at Stanford University. Hassan met fellow post-grad students and Google founders, Larry Page and Sergey Brin. He ended up programming much of the original search engine that eventually became the number one location for many Internet users to find information. Hassan had long been interested in open source software and has been a force behind introducing ROS (Robot Operating System) to robot developers. ROS was first created at Stanford University’s AI laboratory, SAIL, under the name of “switchyard.” He used his own funds to start Willow
Garage in late 2006: a privately-funded research company aimed at advancing the state of robotic technology in autonomous devices, with the goal of using ROS in their robots. The Willow Garage ‘evolution’ along with Hassan offers a great tale of how unique and driven entrepreneurs with minds focused on the future accomplish amazing things. The evolution of a certain technology does not always start with a specific need to accomplish a task. Quite often, it begins with an individual who has a long range vision and that dream need not be aimed at a specific goal. Hassan hired Steve Cousins as President and CEO of Willow Garage (refer to Figure 1). As I have read in several publications, Hassan had instructed Cousins to “fill the building” that he just bought on Willow Road in Menlo Park, CA “with interesting stuff.” It is noteworthy that Hassan
Figure 1. Scott Hassan and Steve Cousins — the force behind Willow Garage.
Carroll - Then & Now - Jan 17_Then & Now - Sep15.qxd 12/6/2016 8:45 AM Page 61
Advances in robots and robotics over the years. Post comments on this article at www.servomagazine.com/index.php/magazine/article/ January2017_ThenandNow_People-Behind-Robot-Evolution.
used to work for Cousins. I briefly had the chance to meet Hassan when Cousins introduced us on one of my trips to WG. I could certainly see why the both of them have become so successful. The first products of Willow Garage were the $400K PR2 robot and the Kinect sensor-based TurtleBot robot — all based on ROS. Fifty PR2s were built and 11 were given away at no cost to major robotics research labs. The 11 university recipients of the donated PR2 robots are shown in Figure 2 with their new robots. A test platform PR2 is shown in Figure 3. It is easy to see why this expertly-crafted and machined robot cost $400K. Of course, if your company was on a budget, you could buy a one arm PR2 SE for a mere $285K, and the cheaper robot had a nice updated sensor suite. PR2’s 7-DOF arm wrapped around me in Figure 4 at Willow Garage’s booth at RoboGames illustrates the dexterity of the arms. What is more important than arm dexterity is WG’s emphasis on ROS, telepresence, and the amazing PR2, as seen in the posters and the two robots on display.
Willow Garage Evolves into Many Startups In February 2014, Hassan shocked the robotics world by announcing the closure of Willow Garage. News reports were not very clear on the decision, but it is thought that Hassan felt that WG had served its purpose to develop open source robotic software that would meld seamlessly with a variety of robotic platforms. After all, he had invested over $20 million of his own money that resulted in eight successful spinoffs and an entirely new force in the robotics field. In a later interview for Robotics Business Review, Cousins spoke of
Figure 3. PR2 is a complex and wellcrafted research robot.
Figure 2. Eleven PR2 robots and the researchers from their new homes.
Figure 4. Willow Garage’s PR2 and Texai telepresence robot at RoboGames. Figure 6. Tully Foote and Melonee Wise with a TurtleBot. (Photo by Jimmy Sastra.)
their development of a much simpler robot: “Even at Willow Garage, we went from a PR2 with two 7-DOF arms designed for a much broader set of tasks to basically move around human environments and perform human tasks, down to a one-armed robot called Platform Bot (shown in Figure 5). The concept was later spun off as Unbounded Robotics, headed by Melonee Wise, WG’s second employee. I will write about her company later. The TurtleBot shown in Figure 6 was developed as an educational tool using the ROS language. The
Figure 5. Willow Garage platform bot.
Figure 7. Willow Garage’s Texai telepresence robots.
processor for the Microsoft Kinect’s data and the iRobot Create base was a netbook, shown folded on a lower platform. Wise (intern program manager and later Manager of Robot Development) was the codeveloper of the robot and spent half a day instructing me in ROS, as well as showing me how the robot utilized the Kinect’s images for navigation. Another project at WG involved building telepresence robots (shown in Figure 7) that the WG team called Texai; the technology was later used in SERVO 01.2017
61
Carroll - Then & Now - Jan 17_Then & Now - Sep15.qxd 12/6/2016 8:45 AM Page 62
we imagined what effortless smart presence would look like, and set to work creating it.” The Texai concept became a successful product. Figure 8. Suitable Technologies’ Beam 'smart presence system.'
a Willow Garage spinoff: Suitable Technologies. The spinoff’s product — the Beam robot shown in Figure 8 — is the conference intermediary device in the remote interview below.
The Beam from Scott Hassan’s Suitable Technologies At the dissolution of Willow Garage as a ‘parent company,’ Hassan took his concept of a simple standalone robot from the prototype Texai robots for the Beam smart presence system described earlier. A simple control system allows reliability and better performance — a goal that Hassan realized after designing, building, and using the complex and software-laden PR2s. On the Suitable Technologies’ site, Hassan words are mirrored under ‘Our Story:’ “Beam began as a solution to our own frustrations with remote work. Despite the variety of existing technologies like email, chat, and videoconferencing, we found that our remote team members felt isolated, things got lost in translation, and calling multiple meetings for daily work was disruptive. Then, it hit us: What if our distributed team could just be together?” “Collaboration would be so much easier, and our team would be much more efficient and culturally cohesive. We thought, surely if we felt this pain, others were feeling it, too. Inspired,
62
SERVO 01.2017
Mark Mann Interviews Scott Hassan via Telepresence In May 2016, Mark Mann interviewed Hassan via Suitable Technologies’ Beam ‘smart presence system,’ as reported on the site Vice.com. Mann was interviewing Hassan via a Beam robot that was in Hassan‘s office and under control the control of Mann. Hassan told Mann how he was amazed at what Willow Garage’s previous robot, the autonomous PR2 was able to accomplish. Mann stated: “I beamed into Hassan’s office in Palo Alto, where Suitable Technologies, Inc., is based. I found him there waiting for me, gazing intently into the camera of the Beam I was manipulating. Hassan is extremely alert and attentive, and comes across as an over-caffeinated genius: generous with his ideas, but also impatient that you keep up. He rarely does interviews, though he’s one of the most important figures in modern robotics.” During the interview, Hassan emphasized: “Impact first and return on capital second.” The first new employees were student interns who were told to blaze new paths in the field of robotics. These students grew to about 60 in number before Hassan decided to close Willow Garage and allow his employees to go out and start their own companies. It was not a ‘going out of business’ closing, just a change in direction in the evolution of his robotics endeavors. Hassan said, “Creating a robot that accurately and quickly responds to voice instructions and performs simple tasks is still extremely difficult.” He illustrated this by asking me to nudge a wastebasket under a chair with my Beam, which I was able to do by
driving into it. “It would take hundreds and hundreds of PhDs in computer science, electrical engineering, and mechanical engineering to build a system that does that.”
Do Robots Need Ultimate Autonomy? Despite all those accomplishments, Hassan ultimately became disillusioned with autonomous robots; he felt they are too expensive to build. “Although AI can now beat humans at Go and perform other impressive feats, these robots are still not as smart as real people. Computers are fabulous, but they’re nothing compared to the human brain,” he told Mann. “There are billions of people on the planet, so why not do it with people as the intelligence, instead of an artificial system?” These thoughts set him on the path to develop robots that are human controlled — a sensible evolutionary step from his advanced PR2. The closing of WG was a sensible action towards his goals.
A Personal Robot Could Operate with Minimal Autonomy Hassan’s beliefs are also a similar train of thought that has directed my ideas of controlling a personal assistant robot to allow millions of seniors to live independently. Instead of a sensor-loaded, fully autonomous robot with complex manipulative, visual, and speech recognition capabilities, I have proposed a mobile robot with a pair of simple arms that can assist a senior from a floor after a fall. These arms could also assist them onto and off of a bed, chair, and/or a toilet. These are just a few of the capabilities that I learned about after visiting seniors at an elder care facility a while back. Hassan has said that “Here” is a funny word,” referring to a request to a robot to “come here.” I feel that the word can easily be translated into:
Carroll - Then & Now - Jan 17_Then & Now - Sep15.qxd 12/6/2016 8:45 AM Page 63
Figure 10. Relay delivers a towel to a hotel guest.
Figure 9. Steve Cousins and the Relay from Savioke.
“That is my command to go to the location of the spoken words ‘come here;’ stop and wait for further instructions. It is also the preparation command to perform a task for a human being at their request. The command steps of ‘moving’ are then a series of coordinated individual spoken words to allow an elderly person to be lifted or lowered in a safe manner. This might sound like a simple robot design project, but the FDA Code of Federal Regulations under part 890, “Physical Medicine Devices” has many sections to protect users and patients from potential injury by such a machine. FDA approval and certification can be a lengthy process. It is easier to build a robot that has many movements than it is to design the same robot so that it cannot injure a user in any way. I’m not sure if Asimov’s Three Laws of Robotics can be applied at this early stage of development as advanced AI would have to be implemented for a robot to not only recognize a human but to understand what would cause harm to a human. Cousins was curious about uses of the PR2 with elderly and disabled persons, and asked me to give a presentation on my concept of a personal assistant robot for the elderly to him and some of his staff at Willow Garage five years ago, as he had been interested in similar applications for his company. This type of robot has been a holy grail for designers to create, but a stumbling block for safety concerns due
Figure 11. UBR-1 from Melonee Wise's Unbounded Robotics.
to the robot’s physical interaction with humans.
Cousins Starts Savioke Cousins took a different approach and developed a robot called Relay, shown in Figure 9. He set the company that he formed, Savioke (pronounced “savvy oak”) on the path to design and produce a robot that does one thing and does it very well: a robot to serve guests in hotels. Now, I’m not talking about a waiter or personal servant in a guest’s room, but a delivery robot, much the same as a bellboy. Figure 10 shows the robot delivering a towel to a guest. Yes, this robot has more autonomy than a remotely-guided telepresence robot like the Beam, as it has multiple sensors to utilize SLAM or similar navigational techniques to find its way around a hotel with multiple floors.
Melonee Wise Starts Two Different Robot Companies When I first met Melonee at WG, it was obvious that this inventive woman would either soon be the Chief Technical Officer of some huge robotics company or the founder of a new and soon-to-be-large robot company. She had all the attributes of success: education (a PhD in Mechanical Engineering), robotics knowledge, and computer and electrical expertise to develop a world-
class robot. After leaving WG, she co-founded Unbounded Robotics and developed the UBR-1 shown in Figure 11. Considering all of its capabilities as a research platform, the price of $35K to $50K was a bargain. I felt that this robot took all of the best qualities of the very expensive PR2 without the extreme cost. For certain legal “spinoff’ wording agreements with Willow Garage and Unbounded that were confusing, she had to close her company. Soon after, she began Fetch Robotics An article in the MIT Technology Review about “35 Innovators Under 35” best describes her: “Melonee Wise imagines that all homes will have autonomous robots — something like The Jetsons’ Rosie, the robot maid, minus the apron and Brooklyn accent. Just one problem: Wise, chief executive of the year-old startup Fetch Robotics, thinks it won’t happen in her lifetime because the challenges in hardware and software are too big.’ I’m probably one of the most pessimistic roboticists you’ll ever meet,’ she admits.” Fetch Robotics is going after one promising area: warehouses and ecommerce fulfillment centers, which are plagued with high turnover, injuries, employee theft, and a chronic shortage of workers who require sleep and time off during a day’s shift. Her first product, Fetch (shown in Figure 12) is one of the most sensibly designed robots I’ve seen. The main feature of the robot is the back-drivable 7-DOF SERVO 01.2017
63
Carroll - Then & Now - Jan 17_Then & Now - Sep15.qxd 12/6/2016 8:45 AM Page 64
company — iRobot have found great acceptance with — formed by three small and large police departments as well as the military. associates who Greiner left iRobot in 2008 and met at MIT: two as founded CyPhy Works that year — a students and the company devoted to the development other as their of small multi-rotor drones for the professor. Professor consumer and military markets. Her Rodney Brooks was born and raised in unique tethered design allows for Adelaide, Australia. unlimited flying time, reliable drone control, secure communications, and He immigrated to high quality video feedback. The the US and Persistent Aerial Reconnaissance and received his PhD in Communications (PARC) drone shown Computer Science Figure 14. Helen Greiner and in Figure 15 allows constant multi-day in 1981 from the iRobot PackBot. surveillance in military battlefield Stanford University. conditions. He was professor of Robotics at MIT and was the director of the Computer Science and Artificial Intelligence Laboratory at MIT. One of Brooks’ students, Colin Angle, has a BS in Rodney Brooks also left iRobot in Electrical Engineering and an MS 2008 to form Heartland Robotics to in Computer Science — both focus on industrial and workplace from MIT. Angle has stayed with robots with the aim of boosting US iRobot and is the CEO and competitiveness. In mid 2012, he Chairman of the Board. The changed the name to Rethink other student, Helen Greiner Robotics. Figure 13. The two Fetch Robotics robots; Fetch was born in London, UK and her As the home page on their site and Freight work together. family came to the US when she states: “When Rethink Robotics arm that is capable of lifting over 13 was five years old. Inspired by the founder, Rodney Brooks was producing pounds. The 250 pound Fetch can the Roomba vacuum at iRobot in the robots in the film, Star Wars, she went adjust its height from 3’7” to 4’10”. on to MIT and received an MS in both 2000s, he saw first-hand how It has a SICK obstacle avoidance Computer Science and Electrical challenging and inefficient the offlaser scanner with a 25 meter range Engineering. Both Greiner and Angle shore manufacturing process could be. and a PrimeSense 3D sensor in its had signed up for the PhD program at By the end of that decade, he founded head that can pan and tilt. There is a MIT, but didn’t start it due to their Rethink Robotics, with the intent of bunch of mounting points available for desire to begin iRobot with Professor providing an entirely new type of additional sensors also. Fetch’s base Brooks. automation to manufacturers. One includes a charging dock. The vision that was safe to work next to without system cannot recognize actual cages; easily and manually trainable by objects but can perceive spaces and non-engineers; flexible enough to object sizes to grasp, Wise says. Wise move quickly from job to job without has also produced a companion robot an integrator; and affordable for Greiner was a strong to the Fetch called Freight. Figure 13 shows how the two different robots force behind the designs of work in collaboration with each other. all iRobot’s products, but Freight’s purpose is to follow and work especially the military robots beside Fetch and its articulated arm to such as the PackBot shown receive and carry items “fetched” from with her in Figure 14. The 24 shelves. pound robot can cost as low as a little bit over $100K or as much as $200K, so you won’t find them in your local hobby shop. With over 6,000 sold around the world, they I’d like to look at another Figure 15. CyPhy Works’ PARC drone for the military. Figure 12. Melonee Wise and Fetch.
Rod Brooks Forms Rethink Robotics
Greiner and Brooks Leave iRobot, Form Own Companies
iRobot Formed from MIT Threesome 64
SERVO 01.2017
Carroll - Then & Now - Jan 17_Then & Now - Sep15.qxd 12/6/2016 8:45 AM Page 65
companies of all sizes.” “That vision was realized with the introduction of Baxter in 2012. For the first time, manufacturers had a cost-effective and easily adoptable alternative to off-shoring. And the market had a new category of automation called collaborative robotics.” The $25K to $40K Baxter is three feet tall and extends to 5’10” to 6’3” with its adjustable pedestal. It weighs 165 pounds (306 pounds with the pedestal). It was designed for simple and dull jobs on a production line or the loading, sorting, and handling of materials. It was designed with small to mid-sized companies in mind. Baxter and Brooks are shown in Figure 16. The robot is what the industry calls a collaborative robot — a recent category for the industrial robot industry as mentioned. So many industrial robots of the past were dangerous in their operations around humans that protective screens surrounding the robot and its operations were a must. Sensors were installed that quickly disabled the robot if a human entered the work space. A collaborative robot not only does not have the quick movements and power of a large ‘industrial’ robot, its compliant joints can allow its ‘back drivable’ arms to be struck and moved without solid resistance. Baxter’s happy face and roving eyes do a lot to make the operator feel at ease. Simplicity of programming and use has given Brooks’ robot a home in many small businesses.
Computer Science Education is a Key to Robot Evolution There are many robotics companies that have paved the way for the evolution of robots. I just
Advertiser Index Actuonix Motion Devices ........................27 All Electronics Corp. .................................14 BotKits ........................................................19 EarthLCD ....................................................14
Figure 16. Rodney Brooks and Baxter.
and microcontrollers as one giant step in the evolution of modern automotons. There were some amazing ‘robots’ constructed as early as the 1770s, such as the Writer shown in Figure 17 built by Pierre Jaquet-Droz with over 6,000 handmade components. ‘Programming’ the automaton’s mechanical ‘computer’ was done by careful filing of many brass cams and gears, and re-programming was accomplished by replacing these components with new carefully-filed cams. Even the early Unimation industrial robots of the ‘60s used rotating magnetic drums for program memory. We’ve come a long way since then.
Final Thoughts Figure 17. The Writer by Pierre Jaquet-Droz.
wanted to highlight the two ‘parent’ companies that many of you are most likely familiar with and the ambitious entrepreneurs behind them. I do find it so unique that almost all of these people have advanced computer science degrees. Melonee Wise has a PhD in Mechanical Engineering, but I found her to be just as competent in advanced coding and programming of ROS, as well as client libraries of C++, Python, LISP, and Ubuntu Linux. Helen Greiner also has a degree in Electrical Engineering, and both of these women were key co-designers of most of the robot products in their companies.
Robot Evolution: From Gears and Cams to Microprocessors
No matter what robot we might stare at with absolute amazement, it is not the robot itself that is amazing. It is the many people who have trod the long path in the development of the technology behind the robot’s creation. Most of the people responsible for that technology had no idea that they were contributing to the creation of a robot. Curiosity on Mars, Elon Musk’s Tesla self-driving cars, Larry Page and Sergey Brin’s self-driving cars, IBM’s Watson supercomputer, and many others of today’s amazing technological feats took the minds and efforts of many thousands of people working for individual goals. Others took the results of those goals and created absolute magic. Scott Hassan’s Willow Garage spun off eight startups and foundations such as Industrial Perception and Redwood Robotics — both of which were snatched up by Google. SV
I look at the use of computers ExpressPCB ................................................27 Hitec .............................................................2 Maxbotix ................................................3, 57 PanaVise .....................................................41 Pico Technology ........................................66 Pololu ..........................................Back Cover
Routakit ......................................................15 SDP/SI ........................................................14 ServoCity .............................................57, 67 ShopBot Tools ...........................................36 The Robot MarketPlace ............................41 Tormach .....................................................21 SERVO 01.2017
65
Full Page.indd 66
12/6/2016 3:28:07 AM
The new starting point for robotics
Find out more at www.pololu.com/romi Full Page.indd 68
10/3/2016 6:19:47 PM