Programming drones to fly in the face of uncertainty
14 February 2018
A team from MIT have developed NanoMap, a system that allows drones to consistently fly 20 miles per hour through dense environments like forests and warehouses.
Companies like Amazon have big ideas for drones that can deliver packages right to your door. But, even putting aside the policy issues, programming drones to fly through cluttered spaces (particularly cities) is difficult.
Being able to avoid obstacles while traveling at high speeds is computationally complex, especially for small drones that are limited in how much they can carry on-board for real-time processing.
Many existing approaches rely on intricate maps that aim to tell drones exactly where they are in relation to their obstacles, which is not particularly practical in real world settings with unpredictable objects. If their estimated location is off – by even just a small margin – they will likely crash.
Developed by Massachusetts Institute of Technology’s Computer Science and Artificial Intelligence Laboratory, NanoMap's key insight is a surprisingly simple one: the system considers the drone's position in the world over time to be uncertain, and acts accordingly – modelling and accounting for that uncertainty.
"Overly confident maps won't help you if you want drones that can operate at higher speeds in human environments," says graduate student Pete Florence, lead author on a new related paper. "An approach that is better aware of uncertainty gets us a much higher level of reliability in terms of being able to fly in close quarters and avoid obstacles."
NanoMap uses a depth-sensing system to stitch together a series of measurements about the drone's immediate surroundings. This allows it to not only make motion plans for its current field of view, but also anticipate how it should move around in the hidden fields of view that it has already seen.
"It's kind of like saving all of the images you've seen of the world as a big tape in your head," says Florence. "For the drone to plan motions, it essentially goes back into time to think individually of all the different places that it was in."
The team's tests demonstrate the impact of uncertainty. For example, if NanoMap was not modelling uncertainty and the drone drifted just five percent away from where it was expected to be, the drone would crash more than once every four flights. Meanwhile, when it accounted for uncertainty, the crash rate reduced to two percent.
Florence describes NanoMap as the first system that enables drone flight with 3D data that is aware of "pose uncertainty": this means that the drone considers that it doesn't perfectly know its position and orientation as it moves through the world. Future iterations might also incorporate other pieces of information, such as the uncertainty in the drone's individual depth-sensing measurements.
NanoMap is particularly effective for smaller drones moving through smaller spaces, and works well in tandem with a second system that is focused on more long-horizon planning. (The researchers tested NanoMap last year in a program tied to the Defense Advanced Research Projects Agency, or DARPA.)
The team says that the system could be used in fields ranging from search-and-rescue and defense to package delivery and entertainment, and can also be applied to self-driving cars and other forms of autonomous navigation.
"The researchers demonstrated impressive results avoiding obstacles and this work enables robots to quickly check for collisions," says Scherer. "Fast flight among obstacles is a key capability that will allow better filming of action sequences, more efficient information gathering and other advances in the future."
Contact Details and Archive...