Cosys-AirSim

Cosys-AirSim is a simulator for drones, cars and more, with extensive API support, built on Unreal Engine. It is open-source, cross platform, and supports hardware-in-loop with popular flight controllers such as PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped into any Unreal environment.

This fork is based on last public AirSim release from Microsoft's GitHub. Cosys-Lab made extensive modifications to the AirSim platform to support multiple projects and research goals. Please contact a Cosys-Lab researcher to get more in depth information on our work or if you wish to collaborate. The original AirSim MIT license applies to all native AirSim source files. Please note that we use that same MIT license as which applies to all changes made by Cosys-Lab in case you plan to do anything within this repository. Do note that this repository is provided as is, will not be actively updated and comes without warranty or support. Please contact a Cosys-Lab researcher to get more in depth information on which branch or version is best for your work.

Associated publications

@inproceedings{cosysairsim2023jansen,
  author={Jansen, Wouter and Verreycken, Erik and Schenck, Anthony and Blanquart, Jean-Edouard and Verhulst, Connor and Huebel, Nico and Steckel, Jan},
  booktitle={2023 Annual Modeling and Simulation Conference (ANNSIM)}, 
  title={COSYS-AIRSIM: A Real-Time Simulation Framework Expanded for Complex Industrial Applications}, 
  year={2023},
  volume={},
  number={},
  pages={37-48},
  doi={}}

You can also find the presentation of the live tutorial of Cosys-AirSim at ANNSIM '23 conference here together with the associated videos.

@inproceedings{lidarsim2022jansen,
  author={Jansen, Wouter and Huebel, Nico and Steckel, Jan},
  booktitle={2022 IEEE Sensors}, 
  title={Physical LiDAR Simulation in Real-Time Engine}, 
  year={2022},
  volume={},
  number={},
  pages={1-4},
  doi={10.1109/SENSORS52175.2022.9967197}}
}
@Article{echosim2021schouten,
  author={Schouten, Girmi and Jansen, Wouter and Steckel, Jan},
  title={Simulation of Pulse-Echo Radar for Vehicle Control and SLAM},
  JOURNAL={Sensors},
  volume={21},
  year={2021},
  number={2},
  article-number={523},
  doi={10.3390/s21020523}
}

Cosys-Lab Modifications

  • Added support for Unreal up to 5.4 (Note that Unreal 5.3/5.4 breaks camera scene rendering by default in custom environments)
  • Added multi-layer annotation for groundtruth label generation with RGB, greyscale and texture options. Extensive API integration and available for camera and GPU-LiDAR sensors.
  • Added Instance Segmentation.
  • Added Echo sensor type for simulation of sensors like sonar and radar.
  • Added GPU LIDAR sensor type: Uses GPU acceleration to simulate a LiDAR sensor. Can support much higher point density then normal LiDAR and behaves more authentic and has realistic intensity generation.
  • Added skid steering SimMode and vehicle type. ClearPath Husky and Pioneer P3DX implemented as vehicle types using this new vehicle model.
  • Added Matlab API Client implementation as an easy to install Matlab toolbox.
  • Added various random but deterministic dynamic object types and world configuration options.
  • Added BoxCar vehicle model to the Car SimMode to have a smaller vehicle to use in indoor spaces.
  • Updated ComputerVision mode: Now has full API and Simulation just like other vehicle types. It mostly means it can now have sensors attached (outside of IMU). Improved handling and camera operation.
  • Updated LIDAR sensor type: Fixed not tracing correctly, added ground truth (point labels) generation, added range-noise generation. Improved API pointcloud delivery to be full scan instead of being frame-rate dependent and partial.
  • Updated the camera, Echo and (GPU-)LiDAR sensors to be uncoupled from the vehicle and be placed as external world sensors.
  • Updated sensors like cameras, Echo sensor and GPU-LiDAR to ignore certain objects with the MarkedIgnore Unreal tag and enabling the "IgnoreMarked" setting in the settings file.
  • Updated cameras sensor with more distortion features such as chromatic aberration, motion blur and lens distortion.
  • Updated Python ROS implementation with completely new implementation and feature set.
  • Updated C++ ROS2 implementation to support custom Cosys-AirSim features.
  • Dropped support for Unity Environments.

Some more details on our changes can be found in the changelog.

How to Get It

How to Get It

Download and run from packaged binary - Windows/Linux

Download and install from precompiled plugin - Windows/Linux

Install and use from source - Windows

Install and use from source - Linux

How to Use It

Documentation

View our detailed documentation on all aspects of Cosys-AirSim.

Original AirSim Paper

More technical details are available in AirSim paper (FSR 2017 Conference). Please cite this as:

@inproceedings{airsim2017fsr,
  author = {Shital Shah and Debadeepta Dey and Chris Lovett and Ashish Kapoor},
  title = {AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles},
  year = {2017},
  booktitle = {Field and Service Robotics},
  eprint = {arXiv:1705.05065},
  url = {https://arxiv.org/abs/1705.05065}
}

License

This project is released under the MIT License. Please review the License file for more details.