# Simulation-AirSim Reference

{% hint style="info" %}
AirSim simulation is only available for [virtual AOS 4.1.2](https://suite.auterion.com/api/releases/files/711?token=01JWWSWZCGHYYD4T12DEW62GA5) and higher or alternatively versions with virtual FMU app 1.4.0 or higher.
{% endhint %}

As an alternative to Gazebo simulator, Virtual Skynode also supports [**Microsoft AirSim**](https://microsoft.github.io/AirSim/) simulation platform. AirSim is an open-source simulator built on [Unreal Engine](https://www.unrealengine.com/en-US); due to its high graphical fidelity, it is ideal for testing and training applications that rely on computer vision pipelines.

Auterion offers a meta debian package for Ubuntu called **simulation-airsim** that simplifies the setup required to start an AirSim simulation. This is meant to be run in conjunction with Virtual Skynode.

<figure><img src="https://3329189600-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFW1Ge1p1f6WHyiYCb146%2Fuploads%2Fgit-blob-527f3c2b0afa3204c2d6a634865404ef02600ebe%2FScreenshot%20from%202025-06-04%2010-40-22.png?alt=media" alt=""><figcaption><p>Auterion Countryside world</p></figcaption></figure>

## Description

**simulation-airsim** handles the fetching of pre-compiled AirSim environments and starts the simulation with the desired configuration.

## Installation

The **simulation-airsim** package can be installed through the package manager:

```sh
curl -1sLf 'https://dl.cloudsmith.io/public/auterion/public/setup.deb.sh' | sudo -E bash
sudo apt update
sudo apt install simulation-airsim
```

Additionally, we need the airsim2ros Auterion app in order to make the onboard camera video feed available to [AMC](https://docs.auterion.com/vehicle-operation/auterion-mission-control) and to the [Auterion SDK.](https://docs.auterion.com/app-development/auterion-sdk) To get the app, login into Auterion Suite, download airsim2ros from [here](https://suite.auterion.com/store/software?productId=154) and install it on Virtual Skynode.

## Usage

Here are the steps to simulate a quadcopter with camera using the AirSim simulator:

* [Launch Virtual Skynode](https://docs.auterion.com/app-development/virtual-skynode#launching-the-virtual-skynode)
* Launch **simulation-airsim** with (see [Available launch arguments](#available-launch-arguments) section for customizing the simulation experience):

```
simulation-airsim [ARGUMENTS]
```

* From the Virtual FMU app "Configure" page, select `Microsoft AirSim - Iris` as "Simulation mode" and click on "Reload Simulation"
* Change the "Camera Topic" setting of "gst-ros-bridge" app to `/camera/airsim/image_raw` to have the video feed in AMC

### Available Launch Arguments

The user can provide any of the following optional arguments to **simulation-airsim:**

| Argument                                                | Default                | Description                                                                                                                                                                                                                       |
| ------------------------------------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><code>--environment</code></p><p><code>-e</code></p> | `Blocks`               | A string that specifies the desired simulation world. The available environments are: "AbandonedPark", "Africa", "Auterion\_Countryside", "Blocks", "Building", "CityNeighborhood", "Mountains", "SoccerField" and "ZhangJiajie". |
| `--px4_ip`                                              | `10.41.200.1`          | A string that sets the IP of the outgoing network interface where PX4 is running.                                                                                                                                                 |
| <p><code>--headless</code></p><p><code>-s</code></p>    | `False`                | A boolean that disables the main camera in the simulator so to save some computational resources (vehicle attached cameras are still rendered).                                                                                   |
| `--config_file`                                         |                        | A string specifying a path with the user desired AirSim configs (if the user needs to specify advanced configuration files).                                                                                                      |
| `--env_store`                                           | `~/.simulation-airsim` | A string specifying a path where the AirSim environments will be downloaded and stored.                                                                                                                                           |

{% hint style="info" %}
For a comprehensive list of all available settings that can be specified in the `config-file` refer to AirSim docs: <https://microsoft.github.io/AirSim/settings/#available-settings-and-their-defaults>
{% endhint %}

### AirSim Environments

**simulation-airsim** offers the user a convenient way to access the several pre-built environments available for AirSim, ranging from the simple 'Blocks' environment, featuring a flat world with cube obstacles, to more intricate scenarios like the 'Africa' scenario, which includes uneven terrain and animated animals. The 'Auterion Countryside' offers a 2x1 km sized cerntal european environment with moving vehicles.

{% hint style="info" %}
To create a custom simulation environment using Unreal Engine, please refer to AirSim documentation: <https://microsoft.github.io/AirSim/unreal_custenv/>
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.auterion.com/app-development/simulation/virtual-skynode/simulation-airsim-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
