Drones are dumb, and they have a habit of crashing into things, whether it be the White House lawn or an infant girl. But a new self-flying drone built by a Massachusetts Institute of Technology student may fix these problems.
Adam Barry, a Ph.D. student at MIT’s Computer Science and Artificial Intelligence (CSAIL) lab, developed a drone that autonomously dips and evades obstacles while flying at 30 miles per hour using stereo-vision to detect dangers several feet ahead and evade them. CSAIL released a video of the drone in action in a forest, including the drone’s point of view in highlighting the dangers in red.
Barry built the algorithm because lidar sensors—which measure distances by shooting lasers—used in self-driving cars were too heavy for a lightweight craft like a drone.
“Everyone is building drones these days, but nobody knows how to get them to stop running into things,” Barry says. “Sensors like lidar are too heavy to put on small aircraft, and creating maps of the environment in advance isn’t practical. If we want drones that can fly quickly and navigate in the real world, we need better, faster algorithms.”
Barry’s drone, which was built as a part of his thesis with MIT professor Russ Tedrake, is rudimentary enough to be replicated by any experienced do-it-yourself drone makers. The drone cost about $1,700 to build with off-the-shelf components, with a camera on each wing to help detect obstacles and two processors no more complicated than what powers a simple cellphone to make the decisions.
Because of the basic, inexpensive materials, Barry’s algorithms are more simplistic compared to more traditional ones in detecting obstacles. Most traditional algorithm search for objects at multiple distances simultaneously, making the computing process very intensive and limiting the flight speed to about 6 miles per hour.
Barry’s algorithm is fixed at searching for objects about 33 feet away from the drone, easing the processors from doing too much computation in a rapid amount of time. Barry believed that at speeds of up to 30 miles per hour, any surprises that may crash into the drone will be extremely rare.
And when the cameras miss something in the periphery during its flight, the drone is able to recover using results from the drone’s odometry—which estimates the object’s change in position over time—and previous distances.
Barry hopes to continue working on the algorithm to make the drone more robust in computing and versatile in various environments.
“As hardware advances allow for more complex computation, we will be able to search at multiple depths and therefore check and correct our estimates,” Barry says. “This lets us make our algorithms more aggressive, even in environments with larger numbers of obstacles.”