Skip to content

Setup OS

[email protected] edited this page Apr 5, 2023 · 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 setup the ACDC programming exercises. The following chart should give you an overview about the possibilities and current limitations.

Ubuntu

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

  • Ubuntu 22.04
  • Ubuntu 20.04
  • Ubuntu 18.04

Install software packages via apt 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 (terminal=command line interface). Download information and updates about new packages from remote package-hosting repositories:

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.

Windows

Windows Subsystem for Linux (WSL2)

Setup ROS Coding Environment using WSL2

Ubuntu on Dual Boot or Virtual Machine

You have two options to install a Linux distribution, coming from Windows:

  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.
    • no risk when installation fails
    • less performance because host and guest OS run simultaneously, but usually enough for this course
    • For Windows as a host system, we recommend VMware (Installation Tutorial).
    • If possible, do not use VirtualBox! It might work, but we know some unresolvable issues with VirtualBox.

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

MacOS

Intel Chip

Silicon Chip

M1/M2 MAC ARM64 Architecture

We also 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 is not supported by macOS (packages that do not compile: ct_models, ct_doc, trajectory_planner). Affected exercises are
    • Section 4 Vehicle Guidance - ROS Trajectory Planning
    • Section 4 Vehicle Guidance - ROS Trajectory Control

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. You can download the image with

docker pull rwthika/acdc:latest