MIT’s New Algorithms Could Stop Catastrophic Drone Crashes

We’re still in the early days of commercial drones, but MIT is already working to end crashes for good.

Drones. They crash. A lot. Right now, they’re only as good as their pilots, which often means “not very.” As for so-called autonomous drones, they’re fine in well-documented open spaces, but have a tendency to cataclysmically fail when you throw unexpected obstacles at them. And that’s a problem, because if Jeff Bezos is ever going to make a drone delivery to your doorstep, it’s going to need to know how to dodge a bird or an oncoming frisbee without blowing up.


MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) thinks it has a couple of killer algorithms that could help. One is an algorithm that helps automated drones detect and navigate complicated “forests” full of obstacles; the other is a sophisticated software library of pre-canned flight maneuvers that drones can endlessly string together to pull off the kind of aerodynamic acrobatics for which you’d usually need an Iceman or Maverick.

“Over the last few years, there’s been massive growth in the development of drones, with lots of companies and startups investing in them, like Amazon” says Anirudha Majumdar, a PhD student at CSAIL who developed one of the algorithms. “The problem with these systems, though, is they lack guarantees on a drone’s behavior, and therefore, its safety. And unexpected wind gust, or sudden obstacle, can make a drone go down.” Being able to guarantee that a drone that goes into the air stays in the air is the biggest thing standing in the way of drones going truly mainstream.

To tackle the problem, CSAIL split it in two parts: to avoid colliding with objects, an autonomous drone first needs advanced detection methods to make sense of the world around it. Second, it needs the skills to actually dodge the obstacles it identifies, in a way that guarantees the safety of the drone and anyone near it.

The first task was handled by an algorithm created by recent master’s graduate Benoit Landry to tackle drones’ inherent sampling problems. Unlike most collision-detection algorithms, Landry’s solution works by scanning not for obstacles, but for zones of free space. “Rather than plan paths based on the number of obstacles in the environment, it’s much more manageable to look at the inverse: the segments of space that are ‘free’ for the drone to travel through,” he says. “Using free-space segments is a more ‘glass-half-full’ approach that works far better for drones in small, cluttered spaces.”

Using motion-capture optical sensors, Landry’s algorithm can calculate regions of free space in a busy obstacle course. But to optimally drive a drone through them, you need Majumdar’s algorithm, which chooses flight maneuvers based upon a drone’s current position, its destination, and variables like the surrounding environment and windspeed. Each of these flight maneuvers is pre-programmed and relatively short–maybe just a few seconds long–but by stringing them together, Majumdar’s software makes it possible for a drone to safely navigate large distances, as long as it has enough data about what surrounds its flight path to choose a maneuver.

Right now, both Majumdar and Landry’s algorithms are computationally expensive. Landry’s might allow a drone to navigate a complicated obstacle course without mishap, but it needs to think about how it’s going to it for 10 minutes first. As for Majumdar’s, it can make flight decisions in just 0.02 seconds, which is almost real-time. Still, for now, it only has about 40 moves to choose from–because searching through a larger library slows the algorithm down.


Thanks to both Moore’s Law and refinement, though, these two promising algorithms will probably get a lot faster in relatively short order. And according to Majumdar, both have possible applications that run the gamut from drone-delivered pizza to autonomous search-and-rescue UAVs that navigate burning buildings and collapsed tunnels for survivors. Even for your run-of-the-mill UAVs that depend on human pilots, these algorithms could help a system’s software know when to “take the wheel.” Eventually, this technology could end drone crashes for good–at least the ones that aren’t caused by human error.

You can read more about CSAIL’s advancements in autonomous drones here.