Skip to content

Installation

danielduberg edited this page Aug 13, 2025 · 20 revisions

Installation

Next, we will go through how to install all the software you need for the course. At the bottom you will find videos where we go through the steps on Linux, Mac, and Windows. If you have any problems during the installation of any of the software or want to follow the official guide, we also include them at the bottom.

Ubuntu 22.04 and 24.04

Install Multipass:

snap install multipass

Install Webots R2025a:

curl -L -O https://github.com/cyberbotics/webots/releases/download/R2025a/webots_2025a_amd64.deb
sudo apt install ./webots_2025a_amd64.deb

Install Foxglove:

curl -L -O https://get.foxglove.dev/desktop/latest/foxglove-studio-latest-linux-amd64.deb
sudo apt install ./foxglove-studio-latest-linux-amd64.deb

Mac

Install Multipass:

  1. Download the Multipass installer.
  2. Run the downloaded installer and follow the guided procedure.

Install Webots R2025a:

curl -L -O https://github.com/cyberbotics/webots/releases/download/R2025a/webots-R2025a.dmg
open webots-R2025a.dmg

Install Foxglove:

  1. Download Foxglove.
  2. Double click to install.

Windows 10 and 11

Install Multipass:

  1. Download the Multipass installer.
  2. Run the downloaded installer and follow the guided procedure.

Install Webots R2025a:

  1. Download webots_R2025a_setup.exe.
  2. Double click on the file.
  3. Follow the installation instructions.

Install Foxglove:

  1. Download Foxglove.
  2. Double click to install.

Official Instructions

Installation instructions for Multipass.

Installation instructions for Webots.

Installation instructions for Foxglove.

Post-Installation

Now that all the software is installed, we need to create and configure the VM. After this step you should be ready to do the assignments.

Create Ubuntu 24.04 VM with ROS 2 Jazzy and Course Packages (Using Multipass)

We have prepared a Cloud-init file that will install and setup everything you need inside the VM/instance. To setup the VM/instance you first need to create a shared directory. This directory will be accessable from both the host (your OS) and the guest (the VM/instance). We will use this directory for Webots communication and to share a couple of Rosbags.


NOTE: In the VM we have enabled SSH password authentication to make it easier for you to get started. It is not recommended to have password authentication enabled (especially without a root password). If you want to disable SSH password authentication you can change the cloud-init file and set ssh_pwauth: false and remove the whole chpasswd block. Then after having setup the VM you can add your SSH key (that you need to generate if you have none) by running the command:

multipass exec wasp -- bash -c "echo `cat <KEY_ON_HOST>.pub` >> ~/.ssh/authorized_keys"

So fist step, create a directory somewhere on your computer that will be the shared directory. We will refer to this directory (the absolute path to it) as <SHARED_DIR>. Second, run the following command to setup the VM and make sure to change the <SHARED_DIR> with the absolute path to the directory that you just created:

multipass launch 24.04 --name wasp --cpus 4 --memory 4G --disk 10G --timeout 1800 --cloud-init https://raw.githubusercontent.com/KTH-RPL/wasp_autonomous_systems/refs/heads/ht25/wasp.yaml -v --mount <SHARED_DIR>:/home/ubuntu/shared

This will create a VM using Ubuntu 24.04 as base, with name wasp, 4 CPUs, 4 GB of memory, 10 GB of disk, maximum initialization time of 30 minutes (1800 seconds), using the Cloud init wasp.yaml file, with more verbose output (can increase the output by changing -v to -vv, -vvv, and -vvvv for more verbose output, or remove for minimum output), and mount the host directory <SHARED_DIR> (make sure the directory already exists) to the guest (VM/instance) directory /home/ubuntu/shared. You can of course change these values. We recommend at least 10 GB of disk.

It is possible to change number of CPU(s), memory, and disk afterwards as well. As well as add or delete mounts.

Verify the VM Setup is Completed

You can check the state of the VM by running the command:

multipass info wasp

You can check to make sure all ROS packages (last step of the setup) have been built and installed by running the command:

multipass exec -d ros2_ws/install wasp -- ls

if the output is:

COLCON_IGNORE             local_setup.bash  setup.zsh
_local_setup_util_ps1.py  local_setup.ps1   wasp_autonomous_systems
_local_setup_util_sh.py   local_setup.sh    wasp_autonomous_systems_interfaces
assignment_1              local_setup.zsh   webots_ros2_control
assignment_2              setup.bash        webots_ros2_driver
assignment_3              setup.ps1         webots_ros2_importer
assignment_4              setup.sh          webots_ros2_msgs

then everything is as it should and you can continue. Otherwise, you should wait or perhaps something went wrong. The important part here is that you see the four packages assignment_1, assignment_2, assignment_3, and assignment_4.

Make Webots use Shared Directory

To enable ROS inside the VM to communicate with the natively running Webots simulator, we need to tell Webots where the shared directory is located. To do this, run:

# Create a Webots directory inside the shared directory
multipass exec wasp -- sh -c "mkdir /home/ubuntu/shared/webots"
# Export the directory mapping so Webots know about it
multipass exec wasp -- sh -c "echo 'export WEBOTS_SHARED_FOLDER=<SHARED_DIR>:/home/ubuntu/shared/webots' >> ~/.bashrc"

using the same absolute path to the host shared directory <SHARED_DIR> as during the installation.

Restart the VM

During the setup of the VM a lot of packages was installed. To ensure all of them work as expect it is recommended to restart the VM. You can do this by running the command:

multipass exec wasp -- sudo reboot

When it has booted up again, you can run:

multipass exec wasp -- cloud-init status

If everything is as it should, you should see the output:

status: done

Videos

Linux

TODO: Video showing the steps using Ubuntu 24.04.

Mac

TODO: Video showing the steps using macOS 15.

Windows

TODO: Video showing the steps using Windows 11.

Clone this wiki locally