Flightmare: A Flexible Quadrotor Simulator

Abstract

State-of-the-art quadrotor simulators have a rigid and highly-specialized structure: either are they really fast, physically accurate, or photo-realistic. In this work, we propose a paradigm shift in the development of simulators: moving the trade-off between accuracy and speed from the developers to the end-users. We use this idea to develop a flexible quadrotor simulator: Flightmare. In this work, we propose a novel quadrotor simulator: Flightmare. Flightmare is composed of two main components: a configurable rendering engine built on Unity and a flexible physics engine for dynamics simulation. Those two components are totally decoupled and can run independently of each other. This makes our simulator extremely fast: rendering achieves speeds of up to 230 Hz, while physics simulation of up to 200,000 Hz on a laptop. In addition, Flightmare comes with several desirable features: (i) a large multi-modal sensor suite, including an interface to extract the 3D point-cloud of the scene; (ii) an API for reinforcement learning which can simulate hundreds of quadrotors in parallel; and (iii) integration with a virtual-reality headset for interaction with the simulated environment. We demonstrate the flexibility of Flightmare by using it for two different robotic tasks: quadrotor control using deep reinforcement learning and collision-free path planning in a complex 3D environment.

Cite

Text

Song et al. "Flightmare: A Flexible Quadrotor Simulator." Conference on Robot Learning, 2020.

Markdown

[Song et al. "Flightmare: A Flexible Quadrotor Simulator." Conference on Robot Learning, 2020.](https://mlanthology.org/corl/2020/song2020corl-flightmare/)

BibTeX

@inproceedings{song2020corl-flightmare,
  title     = {{Flightmare: A Flexible Quadrotor Simulator}},
  author    = {Song, Yunlong and Naji, Selim and Kaufmann, Elia and Loquercio, Antonio and Scaramuzza, Davide},
  booktitle = {Conference on Robot Learning},
  year      = {2020},
  pages     = {1147-1157},
  volume    = {155},
  url       = {https://mlanthology.org/corl/2020/song2020corl-flightmare/}
}