Skip to content

2. Setting up your environment

Imad Issafras edited this page Jul 21, 2024 · 22 revisions

Getting Ubuntu 22.04 LTS

Considered approaches

We want a way to have our system run the simulation smoothly to make development enjoyable, this requires GPU accelerated graphics. In the case of a graphics card that is within the same chip as the CPU, all the approaches below should work. The issue arises when the computer has a dedicated GPU, thus making it complicated for the simulator to access the GPU from a virtual machine. Without a hypervisor type 1, only one OS can use the GPU at a time, meaning only the host OS uses the GPU, meaning no GPU for our virtual machine. Ideally, we would run gazebo natively, ensuring direct access to the GPU.

  1. Dual booting
    • - Non-trivial to set up
    • - Not universal, notably, complicated on Mac.
    • - Trickier to restart from 0 than virtual machines
    • + Bare metal performance
  2. Docker for tool set + Gazebo ignition running natively
    • + Can easily share an image with all the tools needed for development
    • Supported platforms for gazebo
    • - Gazebo's Windows support doesn't include the GUI at the time of writing
    • - Untested on Mac
  3. Docker for tool set + AirSim running natively
    • + Can easily share an image with all the tools needed for development
    • + Runs on top of Unreal Engine, making it ideal for realistic computer vision
    • - AirSim doesn't work on MacOS
    • - Microsoft, AirSim's developers, have stopped working on it since 2022
      • Colosseum is a successor to AirSim which supports PX4, sadly only for multi rotors as well
    • - Only supports PX4 multi rotor, no VTOL
  4. WSL by itself
    • - Requires Windows machine
    • - Doesn't work with some GPUs, notably Intel Iris Xe GPU
    • + Supports most GPUs
    • + As easy to experiment with as any virtual machine, can always scrap it and restart from new
  5. Virtual machine by itself
    • Doesn't work with GPUs at all
  6. Docker for tool set + Gazebo-classic (PROMISING!!!)

Getting Git, ROS 2, Gazebo simulator, PX4 firmware, QGroundControl, Tmux

Optional tools

Clone this wiki locally