Introduction

Currently available 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 release a new modular 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 from each other. 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) an integration with a virtual-reality headset for interaction with the simulated environment. Flightmare can be used for various applications, including path-planning, reinforcement learning, visual-inertial odometry, deep learning, human-robot interaction, etc.

If you like this project, don't forget to support us on GitHub. Star

Video

Features

  • Flexible sensor suite, including RGB images, IMU, depth, segmentation, etc.
  • Point Cloud Extractor
  • Parallel computing for multi-agents simulation.
  • OpenAI Gym-style python wrapper.
  • Model-free Reinforcement Learning baselines (stable-baselines).
  • ROS integration, including interface to the popular Gazebo-based MAV simulator (RotorS).
  • Interface to Model-based quadrotor control.

Applications

  • Reinforcement Learning, Deep Learning
  • Path Planning, Model-based Control
  • Visual-inertial Odometry, Simultaneous Localization and Mapping
  • Virtual-Reality, Human-robot Interaction

Reference

If you use this code in a publication, please cite our paper.
          
            @article{yunlong2020flightmare,
            title={Flightmare: A Flexible Quadrotor Simulator},
            author={Song, Yunlong and Naji, Selim and Kaufmann, Elia and Loquercio, Antonio and Scaramuzza, Davide},
            journal={arXiv preprint arXiv:2009.00563},
            year={2020}}