ntnu-arl / aerial_gym_simulator

Aerial Gym Simulator - Isaac Gym Simulator for Aerial Robots
https://ntnu-arl.github.io/aerial_gym_simulator/
BSD 3-Clause "New" or "Revised" License
279 stars 43 forks source link

License Code style: black

Aerial Gym Simulator

Welcome to the Aerial Gym Simulator repository. Please refer to our documentation for detailed information on how to get started with the simulator, and how to use it for your research.

The Aerial Gym Simulator is a high-fidelity physics-based simulator for training Micro Aerial Vehicle (MAV) platforms such as multirotors to learn to fly and navigate cluttered environments using learning-based methods. The environments are built upon the underlying NVIDIA Isaac Gym simulator. We offer aerial robot models for standard planar quadrotor platforms, as well as fully-actuated platforms and multirotors with arbitrary configurations. These configurations are supported with low-level and high-level geometric controllers that reside on the GPU and provide parallelization for the simultaneous control of thousands of multirotors.

This is the second release of the simulator and includes a variety of new features and improvements. Task definition and environment configuration allow for fine-grained customization of all the environment entities without having to deal with large monolithic environment files. A custom rendering framework allows obtaining depth, and segmentation images at high speeds and can be used to simulate custom sensors such as LiDARs with varying properties. The simulator is open-source and is released under the BSD-3-Clause License.

Aerial Gym Simulator allows you to train state-based control policies in under a minute:

Aerial Gym Simulator

And train vision-based navigation policies in under an hour:

RL for Navigation

Equipped with GPU-accelerated and customizable ray-casting based LiDAR and Camera sensors with depth and segmentation capabilities:

Depth Frames 1 Lidar Depth Frames 1

Seg Frames 1 Lidar Seg Frames 1

Features

[!IMPORTANT] Support for Isaac Lab and Isaac Sim is currently under development. We anticipate releasing this feature in the near future.

Please refer to the paper detailing the previous version of our simulator to get insights into the motivation and the design principles involved in creating the Aerial Gym Simulator: https://arxiv.org/abs/2305.16510 (link will be updated to reflect the newer version soon!).

Why Aerial Gym Simulator?

The Aerial Gym Simulator is designed to simulate thousands of MAVs simultaneously and comes equipped with both low and high-level controllers that are used on real-world systems. In addition, the new customized ray-casting allows for superfast rendering of the environment for tasks using depth and segmentation from the environment.

The optimized code in this newer version allows training for motor-command policies for robot control in under a minute and vision-based navigation policies in under an hour. Extensive examples are provided to allow users to get started with training their own policies for their custom robots quickly.

Citing

When referencing the Aerial Gym Simulator in your research, please cite the following paper

@misc{kulkarni2023aerialgymisaac,
      title={Aerial Gym -- Isaac Gym Simulator for Aerial Robots}, 
      author={Mihir Kulkarni and Theodor J. L. Forgaard and Kostas Alexis},
      year={2023},
      eprint={2305.16510},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2305.16510}, 
}

If you use the reinforcement learning policy provided alongside this simulator for navigation tasks, please cite the following paper:

@misc{kulkarni2024reinforcementlearningcollisionfreeflight,
      title={Reinforcement Learning for Collision-free Flight Exploiting Deep Collision Encoding}, 
      author={Mihir Kulkarni and Kostas Alexis},
      year={2024},
      eprint={2402.03947},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2402.03947}, 
}

Quick Links

For your convenience, here are some quick links to the most important sections of the documentation:

Contact

Mihir Kulkarni     Email   GitHub   LinkedIn   X (formerly Twitter)

Welf Rehberg      Email   GitHub   LinkedIn

Theodor J. L. Forgaard     Email   GitHb   LinkedIn

Kostas Alexis      Email   GitHub   LinkedIn   X (formerly Twitter)

This work is done at the Autonomous Robots Lab, Norwegian University of Science and Technology (NTNU). For more information, visit our Website.

Acknowledgements

This material was supported by RESNAV (AFOSR Award No. FA8655-21-1-7033) and SPEAR (Horizon Europe Grant Agreement No. 101119774).

This repository utilizes some of the code and helper scripts from https://github.com/leggedrobotics/legged_gym and IsaacGymEnvs.

FAQs and Troubleshooting

Please refer to our website or to the Issues section in the GitHub repository for more information.