AeroSim Linux installation

This guide demonstrates how to setup and build AeroSim in Ubuntu 22.04. (AeroSim on Linux requires Ubuntu version 22.04 or higher)


Set up accounts

Before you start, you should set up the necessary accounts needed to gain access to assets needed by AeroSim:

  • GitHub: AeroSim is hosted on GitHub
  • Epic Games: To use Unreal as a renderer for AeroSim, an Epic account is required download an Unreal Engine 5.3 installed-build or build from source
  • NVIDIA: To use Omniverse Kit as a renderer for AeroSim, an AeroSim Omniverse Kit 105.1 App example is provided through the AeroSim installation process but in order to access the full Omniverse ecosystem or do Kit app development, an NVIDIA developer account is required
  • Cesium: AeroSim uses 3D map tile assets from Cesium

Using Unreal as a renderer

To use Unreal as a renderer, download Unreal Engine 5.3 or clone and build it from source.

Download Unreal Engine 5.3

Download Unreal Engine 5.3 for Linux from this link and install it following the instructions. Alternatively, you can follow the instructions in the next section to build from source.

Clone and build Unreal Engine 5.3 from source

In order to authorise the download of the Unreal Engine 5.3 repository, you must link your GitHub account with Epic Games. Follow this guide to link your accounts. You will need to provide your GitHub credentials (username and token) to authorise the download. You may also wish to authorize to GitHub through SSH.

git clone -b 5.3 --depth=1 git@github.com:EpicGames/UnrealEngine.git

Now build Unreal Engine 5.3, this process could take up to 3 hours.

./Setup.sh && ./GenerateProjectFiles.sh && make

Create an environment variable to locate the root folder of the Unreal Engine 5.3 repository, you may want to add this to your .bashrc profile.

export AEROSIM_UNREAL_ENGINE_ROOT=/path/to/UnrealEngine

Set up Cesium token

To access Cesium 3D tile assets, you will need to set up an access token. Log in to your Cesium account and go to the Access Tokens tab. If you don't already have a token, click on Create Token and create a new token with the default settings. Copy the token into an environment variable named AEROSIM_CESIUM_TOKEN in the shell where you will execute the launch script:

export AEROSIM_CESIUM_TOKEN=<cesium_token>

You may want to add this to your .bashrc profile to persist.


Install and build AeroSim

First, clone the main AeroSim repository:

git clone https://github.com/aerosim-open/aerosim.git

Once the repository is cloned, enter the root directory of the repository and run the pre_install.sh script to check and install the pre-requisites:

cd aerosim
bash ./pre_install.sh

After this is complete, run the install_aerosim.sh script to install AeroSim:

bash ./install_aerosim.sh

The install script will notify you of several environment variables that are set up for AeroSim to run. Add these environment variables in your .bashrc file to persist them in new terminal instances. Please check the expected output if you encounter problems.

To build AeroSim, run:

bash ./build_aerosim.sh

Alternatively, you can run the following commands for more control over the steps and build options:

rye sync
source .venv/bin/activate
rye run build

Verify installation

Once AeroSim has been built successfully and the related environment variables are set, launch AeroSim with the launch script. Open a terminal in the repository root directory:

# For using Unreal rendering in native Editor mode
./launch_aerosim.sh --unreal-editor

# For using Omniverse rendering in native Kit app mode
./launch_aerosim.sh --omniverse

This should launch the AeroSim project in the Unreal Editor or Omniverse Kit app. Add a Google Photorealistic 3D Tile asset from the Cesium ion Assets menu (sign into Cesium ion if necessary) then press the green play control at the top of the Unreal Engine or Omniverse interface. This will start the renderer ready for a simulation.

Next, open a new terminal in the repository root directory and activate the AeroSim virtual environment, which has all the Python dependencies installed:

source .venv/bin/activate

Then run the first_flight.py Python script from within the examples folder:

cd examples
python first_flight.py

In the Unreal Editor or Omniverse Kit app viewport you should see an interior view of an aircraft taking off from a runway:

first_flight

If this example runs successfully, your installation has been successful!