  Biological sensing and processing is asynchronous and sparse, leading to
low-latency and energy-efficient perception and action. In robotics,
neuromorphic hardware for event-based vision and spiking neural networks
promises to exhibit similar characteristics. However, robotic implementations
have been limited to basic tasks with low-dimensional sensory inputs and motor
actions due to the restricted network size in current embedded neuromorphic
processors and the difficulties of training spiking neural networks. Here, we
present the first fully neuromorphic vision-to-control pipeline for controlling
a freely flying drone. Specifically, we train a spiking neural network that
accepts high-dimensional raw event-based camera data and outputs low-level
control actions for performing autonomous vision-based flight. The vision part
of the network, consisting of five layers and 28.8k neurons, maps incoming raw
events to ego-motion estimates and is trained with self-supervised learning on
real event data. The control part consists of a single decoding layer and is
learned with an evolutionary algorithm in a drone simulator. Robotic
experiments show a successful sim-to-real transfer of the fully learned
neuromorphic pipeline. The drone can accurately follow different ego-motion
setpoints, allowing for hovering, landing, and maneuvering
sideways$\unicode{x2014}$even while yawing at the same time. The neuromorphic
pipeline runs on board on Intel's Loihi neuromorphic processor with an
execution frequency of 200 Hz, spending only 27 $\unicode{x00b5}$J per
inference. These results illustrate the potential of neuromorphic sensing and
processing for enabling smaller, more intelligent robots.
