# microsoft/AirSim

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-airsim).**

17,956 stars · 4,849 forks · C++ · other

## Links

- GitHub: https://github.com/microsoft/AirSim
- Homepage: https://microsoft.github.io/AirSim/
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-airsim.md

## Topics

`ai` `airsim` `artificial-intelligence` `autonomous-quadcoptor` `autonomous-vehicles` `computer-vision` `control-systems` `cross-platform` `deep-reinforcement-learning` `deeplearning` `drones` `pixhawk` `platform-independent` `research` `self-driving-car` `simulator` `unreal-engine`

## Description

AirSim is a high-fidelity simulation platform designed for the development and testing of autonomous vehicles. Built as a plugin for game engines, it provides a physics-based environment that models vehicle dynamics and sensor data, serving as a foundation for robotics research, computer vision training, and reinforcement learning.

The platform distinguishes itself through its support for hardware-in-the-loop and software-in-the-loop testing, allowing developers to validate control logic and firmware against real-world signals or concurrent processes. It offers extensive programmatic control via remote procedure call interfaces, enabling users to command vehicles, retrieve sensor data, and orchestrate multi-agent simulations across various programming languages.

Beyond core navigation, the system includes comprehensive tools for synthetic data generation, such as capturing RGB, depth, and thermal imagery, as well as creating point clouds and segmentation maps. It also provides robust infrastructure for environmental configuration, telemetry logging, and cloud-based deployment, facilitating the creation of diverse datasets and scalable simulation pipelines.

## Tags

### Hardware & IoT

- [Hardware-in-the-Loop Simulators](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/hardware-in-the-loop-simulators.md) — Serves as a hardware-in-the-loop testing tool for validating flight controller firmware against simulated dynamics.
- [Vehicle Control Interfaces](https://awesome-repositories.com/f/hardware-iot/integration-performance/automotive-software-systems/vehicle-control-interfaces.md) — Provides a high-fidelity simulation environment for testing and validating autonomous vehicle navigation and control algorithms.
- [Software-in-the-Loop Simulators](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/hardware-in-the-loop-simulators/software-in-the-loop-simulators.md) — Runs external flight control stacks as concurrent processes to test autonomous algorithms without physical hardware.
- [Vehicle Sensor Processing](https://awesome-repositories.com/f/hardware-iot/integration-performance/automotive-software-systems/automotive-systems/vehicle-sensor-processing.md) — Provides mathematical representations of hardware sensors including GPS, IMU, and lidar to generate realistic environmental data for autonomous systems. ([source](https://microsoft.github.io/AirSim/code_structure))
- [Integrations](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/robotics-middleware/integrations.md) — Exposes vehicle sensor data and state information to robotics operating systems. ([source](https://microsoft.github.io/AirSim/airsim_tutorial_pkgs/))
- [Sensor Processing](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/sensor-processing.md) — Generates synthetic data from onboard hardware components like IMUs, GPS, and barometers to provide environmental feedback to algorithms. ([source](https://microsoft.github.io/AirSim/sensors/))
- [Physics Model Integrations](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-integration/device-sensors/external-integrations/physics-model-integrations.md) — Connects third-party physics models to the simulation environment to leverage custom flight logic while maintaining access to native sensor data. ([source](https://microsoft.github.io/AirSim/gazebo_drone/))
- [Vehicle Connection Managers](https://awesome-repositories.com/f/hardware-iot/integration-performance/automotive-software-systems/vehicle-control-interfaces/vehicle-connection-managers.md) — Creates communication links to remote vehicles using serial ports or network sockets for reliable data exchange. ([source](https://microsoft.github.io/AirSim/mavlinkcom/))
- [Telemetry Bridges](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-interfacing/serial-communication-interfaces/serial-hardware-bridges/telemetry-bridges.md) — Proxies data between flight controllers and remote monitoring tools to enable real-time telemetry. ([source](https://microsoft.github.io/AirSim/custom_drone/))
- [Firmware Management](https://awesome-repositories.com/f/hardware-iot/firmware-management.md) — Builds real-time operating system images and sensor drivers for deployment onto physical flight controller hardware. ([source](https://microsoft.github.io/AirSim/px4_build/))

### Scientific & Mathematical Computing

- [Physics Simulations](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/physics-simulations.md) — Provides a high-fidelity simulation platform for testing and training autonomous vehicles using physics-based rendering.
- [Environmental Physics Simulators](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/physics-simulations/environmental-physics-simulators.md) — Applies wind forces in the world frame to influence vehicle physics and flight dynamics during the simulation. ([source](https://microsoft.github.io/AirSim/settings))

### Artificial Intelligence & ML

- [Reinforcement Learning Environments](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/reinforcement-learning-environments.md) — Provides a reinforcement learning training environment that exposes vehicle state and sensor data via APIs.
- [Synthetic Data Generators](https://awesome-repositories.com/f/artificial-intelligence-ml/synthetic-data-generators.md) — Acts as a computer vision data generator for capturing synthetic imagery and segmentation maps.
- [Multi-Agent Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/multi-agent-systems.md) — Simulates and manages multiple autonomous vehicles to test swarm behaviors and interaction algorithms.
- [Training Data Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/training-data-generation.md) — Logs vehicle pose and sensor data to generate synthetic datasets for deep learning research. ([source](https://microsoft.github.io/AirSim/))
- [Segmentation ID Initializers](https://awesome-repositories.com/f/artificial-intelligence-ml/segmentation-building-blocks/segmentation-mask-definitions/segmentation-id-initializers.md) — Assigns object identifiers to environment meshes to generate segmentation views, with options for random assignment or manual configuration. ([source](https://microsoft.github.io/AirSim/settings))
- [Spatial Grid Environments](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-processing-operations/spatial-processing-operations/spatial-grid-environments.md) — Tests line-of-sight between points and retrieves collision data or world boundaries to inform path planning and obstacle avoidance. ([source](https://microsoft.github.io/AirSim/apis/))
- [Simulation Client Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/artificial-intelligence-tooling/agent-and-tool-integrations/api-servers/api-client-connectivity/simulation-client-interfaces.md) — Configures network addresses and firewall ports to allow virtualized flight controllers to communicate with simulation engines. ([source](https://microsoft.github.io/AirSim/px4_sitl_wsl2/))
- [Object Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-detection-tracking/object-detection.md) — Identifies and tracks objects within a camera view by specifying object names and proximity thresholds to generate detection data. ([source](https://microsoft.github.io/AirSim/object_detection/))

### Game Development

- [Simulation Engines](https://awesome-repositories.com/f/game-development/simulation-engines.md) — Functions as an Unreal Engine-based robotics simulator providing realistic physics and sensor modeling.
- [Vehicle Physics Engines](https://awesome-repositories.com/f/game-development/vehicle-physics-engines.md) — Calculates movement and dynamics for autonomous vehicles using a modular engine designed for extensibility across different vehicle types. ([source](https://microsoft.github.io/AirSim/code_structure))
- [Physics Engines](https://awesome-repositories.com/f/game-development/physics-engines.md) — Uses a high-fidelity game engine to calculate real-time vehicle dynamics and environmental interactions.
- [Environmental Simulation Configurations](https://awesome-repositories.com/f/game-development/environmental-simulation-configurations.md) — Provides programmatic control over weather and lighting to test system robustness under varying environmental conditions. ([source](https://cdn.jsdelivr.net/gh/microsoft/AirSim@main/README.md))
- [Multi-Vehicle Simulation Environments](https://awesome-repositories.com/f/game-development/multi-vehicle-simulation-environments.md) — Runs multiple independent flight controller instances in parallel to control separate simulated vehicles within a single environment. ([source](https://microsoft.github.io/AirSim/px4_multi_vehicle/))
- [Simulation Loops](https://awesome-repositories.com/f/game-development/simulation-engines/simulation-loops.md) — Changes the simulation clock relative to real-time to accelerate data collection or slow down execution for precise physics calculations. ([source](https://microsoft.github.io/AirSim/settings))
- [Flight Path Execution Tools](https://awesome-repositories.com/f/game-development/flight-path-execution-tools.md) — Commands an autonomous vehicle to fly in a smooth circular orbit around a target point. ([source](https://microsoft.github.io/AirSim/orbit/))
- [Object Appearance Modifiers](https://awesome-repositories.com/f/game-development/object-appearance-modifiers.md) — Swaps textures or materials on simulated objects during runtime to support domain randomization and visual variation for training. ([source](https://microsoft.github.io/AirSim/retexturing/))

### Networking & Communication

- [Remote Procedure Call Interfaces](https://awesome-repositories.com/f/networking-communication/remote-procedure-call-interfaces.md) — Exposes a network-accessible API that allows external programs to command vehicles and query simulation state.
- [Traffic Proxying](https://awesome-repositories.com/f/networking-communication/traffic-proxying.md) — Forwards messaging traffic between nodes, ground control stations, and simulation environments. ([source](https://microsoft.github.io/AirSim/mavlinkcom/))

### Development Tools & Productivity

- [Simulation](https://awesome-repositories.com/f/development-tools-productivity/command-interfaces/simulation.md) — Provides remote procedure call interfaces to command vehicles and query the simulated world state. ([source](https://microsoft.github.io/AirSim/code_structure/))
- [Simulation API Surfaces](https://awesome-repositories.com/f/development-tools-productivity/ide-extension-features/platform-api-exposures/simulation-api-surfaces.md) — Provides programmatic access to the simulator via remote procedure calls to control vehicles and environment state. ([source](https://microsoft.github.io/AirSim/code_structure))
- [Data Acquisition Tools](https://awesome-repositories.com/f/development-tools-productivity/data-acquisition-tools.md) — Extracts camera feeds and ground truth data for training and testing computer vision models. ([source](https://microsoft.github.io/AirSim/unity_api_support/))
- [Visual Capture Tools](https://awesome-repositories.com/f/development-tools-productivity/visual-capture-tools.md) — Provides utilities for capturing visual data including RGB, depth, and segmentation maps from the simulation environment. ([source](https://microsoft.github.io/AirSim/image_apis))

### Graphics & Multimedia

- [Synthetic Thermal Imaging](https://awesome-repositories.com/f/graphics-multimedia/synthetic-thermal-imaging.md) — AirSim calculates thermal digital counts based on object temperature and emissivity to produce simulated infrared images for testing. ([source](https://microsoft.github.io/AirSim/InfraredCamera/))
- [Point Cloud Processing Tools](https://awesome-repositories.com/f/graphics-multimedia/point-cloud-processing-tools.md) — Converts depth images captured from a simulated environment into three-dimensional point clouds using projection matrices for spatial analysis. ([source](https://microsoft.github.io/AirSim/point_clouds/))

### Security & Cryptography

- [Vehicle Control Access](https://awesome-repositories.com/f/security-cryptography/security/policies/access-control/vehicle-control-access.md) — Requests and verifies API-based control of autonomous vehicles to override manual operator inputs and enable programmatic navigation. ([source](https://microsoft.github.io/AirSim/apis/))

### Software Engineering & Architecture

- [Simulation Flow Controllers](https://awesome-repositories.com/f/software-engineering-architecture/execution-flow-control/simulation-flow-controllers.md) — Allows users to pause, resume, or execute simulation steps for specific durations to synchronize environment progression with external computational tasks. ([source](https://microsoft.github.io/AirSim/apis))
- [Aerial Survey Path Planners](https://awesome-repositories.com/f/software-engineering-architecture/aerial-navigation-simulations/aerial-survey-path-planners.md) — Creates grid-based flight paths for autonomous drones to capture systematic imagery over specific geographic areas. ([source](https://microsoft.github.io/AirSim/drone_survey/))
- [Message Bus Architectures](https://awesome-repositories.com/f/software-engineering-architecture/message-bus-architectures.md) — Streams sensor data and vehicle state information to external robotics frameworks using standardized messaging protocols.
- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Allows the simulation to be integrated into existing game engine projects as a modular component.
- [Asynchronous Task Execution](https://awesome-repositories.com/f/software-engineering-architecture/concurrency-models/asynchronous-task-execution.md) — Performs long-running vehicle operations as non-blocking tasks to allow concurrent computation. ([source](https://microsoft.github.io/AirSim/upgrade_apis/))

### System Administration & Monitoring

- [Vehicle Telemetry](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/vehicle-telemetry.md) — Records real-time flight data from hardware sensors and controllers into files for later analysis or playback. ([source](https://microsoft.github.io/AirSim/custom_drone/))
- [Flight Log Replayers](https://awesome-repositories.com/f/system-administration-monitoring/execution-logs/flight-log-replayers.md) — Executes recorded high-level flight commands from external log files to compare real-world drone performance against simulated flight paths. ([source](https://microsoft.github.io/AirSim/playback/))
- [Performance Visualization](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/performance-visualization.md) — Displays real-time telemetry and communication streams through a dedicated interface to monitor drone performance during active simulation. ([source](https://microsoft.github.io/AirSim/px4_logging/))
- [Log Analysis](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/log-analysis.md) — Imports and compares multiple flight data files to inspect historical vehicle behavior and sensor readings through interactive charts. ([source](https://microsoft.github.io/AirSim/log_viewer/))
- [Celestial Time Synchronizers](https://awesome-repositories.com/f/system-administration-monitoring/time-synchronization/celestial-time-synchronizers.md) — Adjusts sun position based on geographic coordinates and time, allowing for accelerated celestial movement independent of the simulation clock. ([source](https://microsoft.github.io/AirSim/settings))

### Data & Databases

- [Simulation Clock Synchronizers](https://awesome-repositories.com/f/data-databases/clock-synchronization-protocols/simulation-clock-synchronizers.md) — Coordinates simulator and flight controller clocks to ensure consistent behavior regardless of processing delays or debugging pauses. ([source](https://microsoft.github.io/AirSim/px4_lockstep/))
- [Occupancy Grid Generators](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/array-tensor-manipulation/array-filtering/grid-generation/occupancy-grid-generators.md) — Discretizes 3D environments into occupancy grids to represent occupied space for navigation. ([source](https://microsoft.github.io/AirSim/voxel_grid/))
- [Geographic Origin Configurators](https://awesome-repositories.com/f/data-databases/geospatial-data-services/geographic-information-systems/geographic-origin-configurators.md) — Sets the latitude, longitude, and altitude of the simulation start point to align coordinate systems with real-world geographical data. ([source](https://microsoft.github.io/AirSim/settings))

### Operating Systems & Systems Programming

- [Firmware Management](https://awesome-repositories.com/f/operating-systems-systems-programming/os-development-distributions/firmware-management.md) — Uploads compiled firmware binaries directly to connected flight controller devices via USB to update onboard software. ([source](https://microsoft.github.io/AirSim/px4_build/))

### Programming Languages & Runtimes

- [Rendering Randomizers](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/core-conceptual-frameworks/programming-language-concepts/random-number-generation/animation-randomizers/random-value-generators/rendering-randomizers.md) — Provides programmatic control over lighting, weather, and object materials to generate diverse synthetic datasets.

### Web Development

- [Custom API Endpoints](https://awesome-repositories.com/f/web-development/custom-api-endpoints.md) — Extends the simulation interface by defining new remote procedure call handlers that allow external clients to trigger custom logic. ([source](https://microsoft.github.io/AirSim/adding_new_apis/))

### DevOps & Infrastructure

- [Application Behavior Configurations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/application-behavior-configurations.md) — Adjusts flight parameters to manage transitions between control commands or to permit autonomous operation. ([source](https://microsoft.github.io/AirSim/px4_sitl/))

### User Interface & Experience

- [Camera Stabilization Controllers](https://awesome-repositories.com/f/user-interface-experience/camera-systems/camera-stabilization-controllers.md) — Applies gimbal-like stabilization to cameras to maintain fixed pitch, roll, or yaw angles regardless of the vehicle's body orientation. ([source](https://microsoft.github.io/AirSim/settings))
- [Camera Configuration](https://awesome-repositories.com/f/user-interface-experience/camera-configuration.md) — Defines how cameras track vehicles or remain fixed, including options for manual control, chase views, and headless rendering. ([source](https://microsoft.github.io/AirSim/settings))
