A neural network is a type of artificial intelligence system inspired in part by that most powerful of computing engines – the human brain. Though there are many different algorithms that can use and interpret neural networks in different ways, they’re all typically based on connected units or nodes (the “neurons”) that are used to learn to perform tasks from a large number of real-world examples. You know those Google captchas that ask you to identify which images have cars and which don’t? Those are used to train neural networks.
These powerful computing systems are being used in applications across many industries, from robotics to medical diagnosis to geoscience and coastal engineering. Now, neural networks have finally made their way to the drone industry thanks to Boston University graduate student Wil Koch. Koch’s new “Neuroflight” drone controller uses such a network to adapt instantly to changing conditions, providing better controls and a lower rate of crashing.
“Imagine you’re driving a car on the road and one tire goes flat,” says Koch’s faculty advisor Azer Bestavros, founding director of the Hariri Institute and senior author of the Neuroflight team’s first public paper. “You, as the driver, wouldn’t do the same things you would do if you were driving the car with all four wheels. You’d steer and accelerate differently.”
“Wil and I confirmed the value and potential of this line of work, thinking about control of autonomous vehicles and how you might use AI and machine learning to do that.”
Most quadcopters use a proportional integral derivative controller, also known as a three-term or PID controller. This straightforward mechanism – which also controls the cruise control in your car, among other everyday electronics – means that the drone will interpret any command given to it literally. Move the stick left and the drone flies to the left.
But PID can’t adapt to changing conditions. If the wind picks up, you as the pilot have to push the stick harder, because the controller won’t autocorrect. If a propeller breaks (heaven forbid), there’s no way to regain control. This is the problem the Neuroflight controller purports to solve. The neural network used in the controller is first trained in a dynamic and ever-changing computer simulation to adapt to a wide range of different flying conditions. Its goal: keep the drone flying smoothly at all costs. After this training, the educated network is used to send signals to the drone motors, telling them how to react to commands in a given situation.
As Kock says: “PID is a linear control system, but the environment is nonlinear.”
After three months of simulation testing, the Neuroflight controller was used to take a real drone to the skies in November 2018. It was an immediate sensation in the drone racing community, which is always looking for ways to improve performance. Bestavros actually commented on the racing potential in an interview with Futurity – “Just like the progression of technology in Formula 1 racing has created technologies we see in our own vehicles,” his hope is to push past the extremes of drone racing.