  Quadrotors are agile. Unlike most other machines, they can traverse extremely
complex environments at high speeds. To date, only expert human pilots have
been able to fully exploit their capabilities. Autonomous operation with
on-board sensing and computation has been limited to low speeds.
State-of-the-art methods generally separate the navigation problem into
subtasks: sensing, mapping, and planning. While this approach has proven
successful at low speeds, the separation it builds upon can be problematic for
high-speed navigation in cluttered environments. Indeed, the subtasks are
executed sequentially, leading to increased processing latency and a
compounding of errors through the pipeline. Here we propose an end-to-end
approach that can autonomously fly quadrotors through complex natural and
man-made environments at high speeds, with purely onboard sensing and
computation. The key principle is to directly map noisy sensory observations to
collision-free trajectories in a receding-horizon fashion. This direct mapping
drastically reduces processing latency and increases robustness to noisy and
incomplete perception. The sensorimotor mapping is performed by a convolutional
network that is trained exclusively in simulation via privileged learning:
imitating an expert with access to privileged information. By simulating
realistic sensor noise, our approach achieves zero-shot transfer from
simulation to challenging real-world environments that were never experienced
during training: dense forests, snow-covered terrain, derailed trains, and
collapsed buildings. Our work demonstrates that end-to-end policies trained in
simulation enable high-speed autonomous flight through challenging
environments, outperforming traditional obstacle avoidance pipelines.
