Quadcopter drones can fly fast and make quick, agile maneuvers with ease. But to do so, they need to be expertly piloted. This can be done by humans, but it typically takes a person years to fully exploit the capabilities of a high performance quadcopter. Computational algorithms can also step in and take the controls, but existing systems commonly take a two step approach in which on-board sensor data is first used to create a map of the environment, after which trajectories can be planned within that map. Because these steps take time and significant computational power to complete, high speed flight is not possible.
A group of researchers at the University of Zurich and Intel have developed a new technique that teaches computers to pilot drones at high speeds by reducing the computational complexity of the approach.
To achieve this goal, the team developed a simulated environment in which a drone could fly through a real world-like space that is filled with obstacles. Data on the state of the drone, and readings from the on-board sensors, was also available in the simulation. Data from these simulations was used to train a convolutional neural network how to expertly pilot drones in real world environments. While training this network is computationally expensive, and requires significant time to complete, running inferences on the pre-trained model is a lightweight operation that can be done quickly with a drone’s on-board processing capabilities.
A quadcopter equipped with this navigation system requires only a single step—raw sensor data is fed directly into the neural network. The network uses that data to provide the optimal trajectories. Drones controlled by the new system were shown to be capable of independently navigating through a forest at speeds near 25 miles per hour.
In theory, this approach is not limited to piloting drones. It may also be adaptable to autonomous cars, and to other areas of machine learning in which data collection is challenging or impossible.
The researchers are currently looking at ways to allow the control system to learn over time to continually improve its performance. They are also investigating incorporating faster sensors into the process to allow for even faster drone speeds.