Watch This Drone Fly Almost 50 km/h While Avoiding Obstacles

Watch This Drone Fly Almost 50 km/h While Avoiding Obstacles

This post is also available in: heעברית (Hebrew)

One of the main issues facing drones these days is obstacle avoidance. “Everyone is building drones these days, but nobody knows how to get them to stop running into things,” says Andrew Barry, a PhD candidate at MIT’s Computer Science and Artificial Intelligence Lab (CSAIL).

Barry, working with professor Russ Tedrake, has developed a novel obstacle detection algorithm for drones that brings us one step closer to autonomous flying through obstacles in the real world.

The algorithm, developed as part of Barry’s PhD thesis, allows drones to fly  and avoid obstacles in real world conditions at over 48 kilometers an hour.

“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 says.

Barry’s eureka moment came when he realised that traditional algorithms were trying to compute too much. Until now, on-board computers would use images from dedicated cameras to perform depth-of-field obstacle searches at multiple distances: 1 meter, 2 meters, 3 meters, and so on.  Such approaches are very computationally intensive and limit the drone’s top speed to 10 kilometers an hour.

Barry realised that this intensive search was simply not necessary. At the speeds he was aiming for only a fraction of the computation was required. He focused on a subset of measurements – obstacles at distances of 10 meters away from the drone.

“You don’t have to know about anything that’s closer or further than that,” Barry says. “As you fly, you push that 10-meter horizon forward, and, as long as your first 10 meters are clear, you can build a full map of the world around you.”

The software can quickly correct for missing depth information by utilising data from the drone’s odometer and previously recorded distance data.

This approach makes Barry’s algorithm fast – very fast. Running 20 times faster than current algorithms and at 120 frames per second the software – which has been open-sourced – extracts information at 8.3 milliseconds per frame.

For now the software is limited to environments with no thick obstacle coverage, but Barry hopes to further improve the algorithm to allow drones to fly quickly through obstacle environments as dense as a thick forest.

“Our current approach results in occasional incorrect estimates known as ‘drift,’” he says. “As hardware advances allow for more complex computation, we will be able to search at multiple depths and therefore check and correct our estimates. This lets us make our algorithms more aggressive, even in environments with larger numbers of obstacles.”