I saw this story on the BBC and I just couldn't resist sharing this because I think it's absolutely amazing. Basically it's a drone that can fly at speed from point A to point B through unpredictable environments (like a forest) without crashing!
This drone, or rather the mathematical models that make this possible has been developed by the Massachusetts Institute of Technology's Computer Science and Artificial Intelligence Laboratory (CSAIL).
The way it works is quite complicated and as you might expect there's a lot of maths involved. The algorithm is called NanoMap and if you're mathematically minded, you can read the ins and outs in the paper. Alternatively, here's an explanation in plain English.
How the algorithm works
The NanoMap system works on a principle of uncertainty where the drone's position in the world is considered to be uncertain at any single point in time. In fact, the system models and accounts for this uncertainty when it considers the drone's next move.
NanoMap takes the data from the depth sensors and stitches together a series of measurements about it's immediate surroundings. Not only does it take its immediate surroundings into consideration, it also looks back in time to see where it has been previously to plan motions whilst minimizing any uncertainty.
When looking at its immediate surroundings, if it can't find anything useful from historic observations that could help it make a decision, then it slows the drone down and assesses the area. If it does find something useful from previous observations, then it carries on flying and avoids any obstacles.
This algorithm is very different to existing collision avoidance algorithms such as SLAM (Simultaneous Localization and Mapping) which construct maps of the unknown environment whilst simultaneously keeping track of an agent's location within it. The problem with this type of algorithms is that they don't deal very well with things like the wind which cause state estimation errors (and can cause it to crash) and they are also prohibitively computationally expensive. I.e. you can't strap a computer powerful enough (yet) to be able to crunch through all the necessary data.
The NanoMap algorithm is a step above existing collision avoidance algorithms because uncertainty of the 3D depth sensor data is baked into it's motion planning and the system can update poses (i.e. calculate where it should go next) with minimal computational effort.
So what is the result of all these clever algorithms? Well the CSAIL team have managed to prevent drones from crashing nearly every time. The team also showed that when the algorithm didn't model uncertainty, and the drones drifted five percent off course, they crashed 28 percent of the time. But by improving the algorithm and modelling uncertainty, they managed to reduce the crash rate significantly to just two percent.
Check out these awesome drone's on Amazon!
Applications of the collision avoidance drone
The immediate application that comes to mind is drone deliveries and companies such as Amazon have plans to deliver parcels to your door using drones.
The problem is, is that it is extremely difficult to program drones to fly through cluttered environments that are also unpredictable, not least because of the computational complexity involved in the real-time processing of sensor data.
This technology is not just applicable to drones and the problem that it tries to solve is a problem that is central to robotics as a whole and could benefit self-driving cars and UAVs. Though having said that, The Verge reports that the technology wouldn't be suited to applications that need high-quality maps of their surroundings like drones doing surveying work in agriculture or helping with search-and-rescue missions.
This is a very exciting development in my opinion because collision avoidance technology (along with legislation and other things) is holding back drone delivery.
I'm not sure we'll see this technology built into self-driving cars which are more suited to SLAM type algorithms - they can also transport reasonably powerful computers too. But now thanks to the CSAIL team, we could start to see Amazon drones take to the skies sooner rather than later. I dare say though, that this technology could also be used for more nefarious purposes such as making missiles sensitive to interception, like in the news recently regarding Russia's unstoppable nukes.
What do you guys think? Let me know in the comments!