iamaisim/ProjectAirSim

Project AirSim is Microsoft's evolution of AirSim, an advanced simulation platform for building, training, and testing autonomous systems in high-fidelity virtual environments

Project AirSim – What It Is

Project AirSim is an open‑source, engine‑independent simulation platform for autonomous systems such as drones, fixed‑wing aircraft, and unmanned ground vehicles (UGVs). It builds on Microsoft’s original AirSim and Project AirSim code‑bases, now maintained by IAMAI Consulting. The core simulation libraries and APIs can run without a 3D engine (the lightweight Project AirSim Runtime), or they can be hosted inside Unreal Engine 5 for full 3D worlds, rendered sensors, and complex environments.


Core Capabilities (as of the main branch / 1.0.0 release)

Capability Details
Vehicle Types Configurable single‑ or multi‑vehicle scenes; drones, fixed‑wing aircraft (JSBSim Cessna 310, Skywalker X8), UGVs (SimpleDrive SUV Blueprint).
Physics Engines Fast Physics (C++), JSBSim, Simulink (MATLAB) – extensible via custom C++ layers.
Flight Controllers SITL/HITL support for PX4, ArduPilot, plus manual control.
Sensors Cameras, LiDAR (GPU 360°), radar, IMU, GPS, barometer, magnetometer, airspeed, etc. (non‑rendered sensors also available in Runtime).
Multi‑Vehicle & Swarm Run many vehicles together in a shared simulation, with configurable sensor suites.
API Access Python and C++ client libraries; ROS 2 C++ bridge.
Execution Modes • Unreal host – full rendering, mesh collisions, dynamic cities.
• Runtime host – headless, no rendering, fast physics; limited to flat ground collisions.
Cross‑Engine Reference Experimental Unity host (reference only, not supported).

Typical Use‑Cases

  • Perception‑guided control – e.g., autonomous landing with live camera feed.
  • Environmental testing – adjustable weather, wind, lighting while the vehicle flies.
  • Infrastructure inspection – wind‑turbine or renewable‑energy asset inspection in large Unreal worlds.
  • Swarm research – simulate dozens of fixed‑wing or rotary‑wing vehicles together.
  • Air‑taxi and urban mobility – test autonomous air‑taxi operations in dense city models.
  • Robotics integration – connect ROS 2 stacks, PX4, or custom controllers via the provided bridges.

Getting Started

  1. Quick evaluation – Download a pre‑built environment from the latest GitHub release and follow the pre‑built environment guide to launch a scene and control a vehicle with Python.
  2. Full build – Install Unreal 5.2/5.7/5.8, set UE_ROOT, run setup_linux_dev_tools.sh (or Windows equivalents), then build the simulation libraries (./build.sh simlibs_debug). Generate project files and open the workspace in VS Code/Visual Studio.
  3. Headless mode – Run a packaged Unreal build with -RenderOffScreen or completely disable rendering with -nullrhi for cloud or CI workloads.
  4. Runtime only – Use the lightweight Project AirSim Runtime to run physics and non‑rendered sensors without Unreal (useful for controller development or large‑scale batch runs).

Architecture Overview

Client Libraries (Python / C++ / ROS2)  <--->  Simulation Host
   |                                         |
   |   • Runtime (headless)                  |   • Simulation Libraries (core physics, robot definitions, sensor models)
   |   • Unreal Engine Plugin (rendered)      |

Both hosts share the same core libraries, ensuring that code written for the Runtime works unchanged with the Unreal host.


Platform Support

  • Linux – Ubuntu 22.04 (primary), with Clang 13 or Unreal’s packaged toolchain.
  • Windows – Windows 11, Visual Studio 2022 (MSVC 14.37/14.44).
  • macOS – Apple Silicon (ARM64) for headless builds and library tests.
  • Unreal Engine – 5.2, 5.7, 5.8.
  • Python – ≥ 3.10 (below 4).
  • ROS 2 – Humble on Ubuntu 22.04.

Community & Support

  • GitHub – Issues, Discussions, and Pull Requests for bugs, features, and contributions.
  • Discord – Real‑time community chat.
  • Professional services – IAMAI offers consulting for simulation readiness, PX4/ROS 2 integration, custom Unreal environments, and validation pipelines.

Licensing

The core simulation code, APIs, and configuration system are released under the MIT License. Third‑party components (e.g., JSBSim aircraft definitions, Unreal assets) retain their original licenses; see NOTICE.txt and thirdparty/Licenses/ for details.


Bottom line: Project AirSim provides a flexible, modular simulation stack for autonomous vehicle research and development, usable with or without a heavyweight 3D engine, and integrates directly with popular robotics tools like ROS 2, PX4, and ArduPilot.

Related

  • Project
  • Project
  • Project
  • Project
  • Project