Ultra Low Power Deep-Learning-powered Autonomous Nano Drones

A team of computer scientists have built the smallest completely autonomous nano-drone that can control itself without the need for a human guidance. Although computer vision has improved rapidly thanks to machine learning and AI, it remains difficult to deploy algorithms on devices like drones due to memory, bandwidth and power constraints.

But researchers from ETH Zurich, Switzerland and the University of Bologna, Italy have managed to build a hand-sized drone that can fly autonomously and consumes only about 94 milliWatts (0.094 W) of energy. Their efforts were published in a paper on arXiv earlier this month.

At the heart of it all is DroNet, a convolutional neural network that processes incoming images from a camera at 20 frames per second. It works out the steering angle, so that it can control the direction of the drone, and the probability of a collision, so that it know whether to keep going or stop. Training was conducted using thousands of images taken from bicycles and cars driving along different roads and streets.

In the older model the researchers worked on, the drone had to be in radio contact with a laptop running DroNet on a high-powered processor. Now, all the number crunching is done directly on the PULP (Parallel Ultra Low Power) platform developed by ETH Zurich and the University of Bologna, using GAP8, a chip based on the architecture of RISC-V open-source processors, about the size of a 50 cent coin.

“Computation is fully on-board, from state-estimation to navigation controls. This means, nano-drones are completely autonomous. This is the first time such a small quadrotor can be controlled this way, without any need of external sensing and computing. The methodology remains however almost unchanged using steering angle and the collision probability prediction [in DroNet],” Loquercio told The Register.

DroNet is deployed by performing the most computationally intense kernels of the algorithm in parallel across eight of the RISC-V cores. The newer system is slightly smaller and performs fewer computations to reach roughly the same performance.

The architecture of an GAP8 processor. Image credit: Palossi et al.

But it suffers from some of the same setbacks as the older model. Since it was trained with images from a single plane, the drone can only move horizontally and cannot fly up or down.

Autonomous drones are desirable because if we’re going to use drones to do things like deliver packages, it would be grand if they could avoid obstacles instead of flying on known-safe routes.