Skip to content

Setup OS

Till Beemelmanns edited this page Oct 16, 2024 · 24 revisions

In this unit, we will describe the requirements that need to be met in order to execute the Robot Operating System tasks and the Jupyter Notebook tasks of this course.

Contents

Operating System Overview

Depending on your operating system, there are several possibilities how to set up the ACDC programming exercises. The following chart should give you an overview about the possibilities and current limitations. The setups which are easiest to work with are the native Ubuntu or dual boot Ubuntu. If you have the chance to choose one of these, we would recommend them.

Ubuntu

If you already have Ubuntu installed on your computer, follow these steps. Otherwise, skip to the section on this page that applies to you.

A Linux operating system with sudo rights is the recommended way to work on the programming exercises of this course. The ROS exercises and the Jupyter Notebook exercises are tested on the following distributions:

  • Ubuntu 22.04
  • Ubuntu 20.04
  • Ubuntu 18.04

Install packages on Ubuntu

In Ubuntu, you can install and update software packages via the terminal (Tutorial), which is called bash in our case. The "Advanced Package Tool" apt is called from the terminal. Download information and updates about new packages from remote package-hosting repositories now:

sudo apt update

Now, install the latest package versions.

sudo apt upgrade

Now that you have an up-to-date Ubuntu distribution, you can install additional packages that might be required to clone our repositories or to execute Docker.

  • Git (package git) is a version control system, which we use for
    • exchanging source code in between tutors and students
    • tracking changes in the source code during development
    • creating different so-called branches of the code, e.g. for individual exercises
    • If needed, check out this cheat sheet for the most important git commands.

Install git on Ubuntu using the following command:

sudo apt install git-all

Install Docker on Ubuntu

If you have a Ubuntu system running, you can directly proceed with installing Docker on Ubuntu.

Install Docker-run-cli

The docker-run-cli is necessary to execute our docker container in a very convinient way. Please install the pip package with the following command

pip install docker-run-cli

Warning
Outside of a virtual environment, pip may default to a user-site installation of executables to ~/.local/bin, which may not be present in your shell's PATH. If running docker-run errors with docker-run: command not found, add the directory to your path. (More information)

echo "export PATH=\$HOME/.local/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

Windows

If you have Windows installed on your computer, follow these steps. Otherwise, skip to the section on this page that applies to you.

Windows Subsystem for Linux (WSL)

We support the usage of WSL2 for the ACDC ROS exercises and the ACDC notebook exercises. WSL2 basically integrates a Linux environment into your running Windows system. Please read through the instructions how to setup WSL2 on Windows: Setup Coding Environment using WSL2

Install Ubuntu with Dual Boot or with Virtual Machine

If you use Windows but do not want to use WSL2 or your computer does not support WSL2, follow these steps:

Alternatively, you can install a complete Ubuntu OS on your machine. Either natively as Dual Boot or using a Virtual Machine:

  1. Dual boot: Linux lives natively next to your existing operating system (Tutorial).
    • requires a bit more experience since there is more you can destroy
    • better computation performance
  2. Virtual machine: Linux lives inside your existing operating system.

Make sure to have at least 80 GB free hard disk space for the Dual Boot or Virtual machine environment !

MacOS

If you have MacOS installed on your computer, follow these steps. Otherwise, skip to the section on this page that applies to you.

Intel Chip

If you use a Mac with an Intel chip you have two choices to setup the coding environment:

Silicon Chip

Silicon Chip denotes the newer ARM64 chip architectures which are also known as M1/M2/... chips.

We provide a docker image with limited support for the ACDC programming exercises. Unfortunately, some packages and software that we use in this course do not support the ARM64 architecture for M1/M2/... Apple chips. Hence, our image for M1/M2 chips can only be used for a limited set of exercises. The current limitations are:

  1. RVIZ is not supported. Visualizations with RVIZ are currently not possible.
  2. The package control-toolbox contains case-sensitive files, but the default macOS file system is case-insensitive. Hence, the following, packages won't compile: ct_models, ct_doc, trajectory_planner. Affected exercises are
    • Section 4 Vehicle Guidance - ROS Trajectory Planning
    • Section 4 Vehicle Guidance - ROS Trajectory Control

We are currently working on solving the above mentioned problems in order to give full support for silicon chips!

Note that Docker will automatically download the correct docker image for your architecture. In our dockerhub repository, we provide a multi-architecture image for linux/arm64 and linux/amd64.