Simulation-AirSim Reference

As an alternative to Gazebo simulator, Virtual Skynode also supports Microsoft AirSim simulation platform. AirSim is an open-source simulator built on Unreal Engine; 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.

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:

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 and to the Auterion SDK. To get the app, login into Auterion Suite, download airsim2ros from here and install it on Virtual Skynode.

Usage

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

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

--environment

Blocks

A string that specifies the desired simulation world. The available environments are: "AbandonedPark", "Africa", "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.

--headless

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.

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

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.

To create a custom simulation environment using Unreal Engine, please refer to AirSim documentation: https://microsoft.github.io/AirSim/unreal_custenv/

Last updated