The DIY Kid-tracking Drone
Building an Arduino-based gyrocopter that can follow a child
Photo: Paul Wallich
On school-day mornings, I walk my grade-school-age son 400 meters down the hill to the bus stop. Last winter, I fantasized about sitting at my computer while a camera-equipped drone followed him overhead.
So this year, I set out to build one. For the basic airframe, I selected a quadcopter design for its maneuverability and ability to hover. Construction was straightforward: You can buy a quadcopter kit with all the pieces or, as I did, get parts separately and spend more time on system integration.
On the mechanical side, there’s a central frame to hold the electronics, spars of aluminum to support the motors and propellers, and legs to cushion the quadcopter’s landing (I made a few extra sets of legs out of foam board for easy replacement).
On the electronics side, there’s a main control board plus sensors, batteries, a power distribution board, power controllers for the motors (which draw tens of amperes, not what you’d manipulate with ordinary microcircuitry) and a radio receiver for standard remote-control flying, plus an RF modem for computerized control—I got both control systems for redundancy.
For the main control board, I chose an ArduPilot Mega, mostly because it integrates everything I needed—the CPU, input/output ports, a three-axis gyroscope and accelerometer, and a barometric altitude sensor. A daughterboard soldered on top holds a thumbnail-size GPS unit, a magnetometer (compass), and a slot for microSD card storage. The whole board is powered by a 5-volt feed from one of the motor controllers. (When programming it on the ground, you can power the board via a USB connection.)
To see the world from the quadcopter’s point of view, you can put together a fancy video-transmission rig, or just do as I did—strap on a smartphone and fire up your favorite video chat app. The motors I got can lift a few kilograms, but my surveillance drone’s total weight comes closer to 1 kilogram, for a good margin of maneuverability.
As for the software, open-source enthusiasts have been working for several years on code that not only keeps a copter stable in flight but also maintains whatever altitude the controller commands (based on barometric sensing or an ultrasonic range finder). It can also fly an autonomous course through whatever GPS waypoints you choose to upload.
On the ground control side, the flight software can connect to a number of PC-based graphical user interfaces that overlay the quadcopter’s position and other data on a map in real time. The Mission Planner Utility, the best-documented ground station software, is Windows only, but others, such as Qgroundcontrol, run on Windows, Mac OS X, or Linux. I installed Mission Planner on a Windows desktop to initialize the ArduPilot Mega’s firmware and calibrate all its sensors and controls. I used Qgroundcontrol on the Linux box in the basement and on my spouse’s MacBook during actual flight.
Getting the quadcopter built and into the air was almost too easy. The hard part was getting it to locate and track its quarry. After looking into long-distance RFID systems, I decided to go with a GPS beacon instead. Reading an RFID tag from meters rather than centimeters takes more amplification and a fancier antenna than I was willing to have my quadcopter carry. And the open-source flight software already has a “follow-me” mode that will keep the copter an arbitrary distance from a GPS position delivered by radio.
So my attention turned to creating a beacon that could fit unobtrusively in my child’s backpack. Initially I thought I would have to tie a GPS chip and radio transmitter together using a microcontroller, but some recent innovations simplified the job.
A conventional RF modem can only pass on data that’s sent to it, but the latest generation (such as the Synapse Wireless RF266 [PDF]) can also run scripts in a tiny-but‑useful subset of the Python programming language, cutting out the separate microcontroller entirely. You can easily program the modem to transmit a GPS position to the copter only when the beacon has moved, and to go to sleep (and send the GPS chip to sleep too) when the beacon hasn’t moved for a few minutes. It makes for a smaller beacon—mine is about the size of a large thumb—powered by a coin-cell battery. Depending on your target’s movement patterns, a single coin cell might last for a week.
So, did it work? Mostly. The copter is skittish when it’s windy, and GPS guidance is good to 10 meters at best. Because my particular front yard is only about 15 meters across, with a long, tree-edged driveway leading to the street, I either have to follow automatically above the treetops—where I can’t really see what’s going on—or else supplement the autopilot with old-fashioned line-of-sight remote control. Which somewhat defeats the original plan of staying warm and dry while a drone does my parenting.
I have fixes in the works: more sonar units for collision avoidance, maybe even an “optical flow” sensor for better position control—some enthusiasts have figured out that the same tiny image array that lets a mouse figure out how fast it’s moving over your desktop surface can be augmented with a longer lens to determine how fast a copter is passing over the landscape. But the hardware and the software are both still in flux, so probably not this flying season.
The other big problem is the quadcopter’s rechargeable battery life. Just hovering in the air requires 2 to 3 amperes; moving around or fighting a breeze expends twice that or more. A typical 2200-milliampere-hour lithium-ion battery gives me just enough time to fly to the bus stop, wait a few minutes for the bus, and fly back, so no following to the school playground. (Attaching more batteries at roughly 200 grams per pack pretty quickly runs into diminishing returns.)
So until the batteries improve by another order of magnitude or so, I’ll have to do most of my watching the old-fashioned way, in person.
This article originally appeared in print as "Arducopter Parenting."
About the Author
Paul Wallich, an IEEE Spectrum contributing editor, frequently writes about his home-brew projects. He says the drone’s four propellers gave him pause: “I am not at all sure I like building devices with sharp, fast-moving parts!”