Table of Contents

Robot Operating System (ROS)

On Linux

Follow http://wiki.ros.org/ROS/Installation. We will use ROS Kinetic in the course, nevertheless, ROS Melodic should mostly be compatible.

You can also use the Singularity image provided for labs, or modify the Singularity recipe to build your custom image.

On Windows

At Labs

At labs (e.g., E130, E132), Robot Operating System (ROS) is available through Singularity containers. For Ubuntu 16.04 + ROS Kinetic, run:
singularity shell --nv /opt/ros-kinetic-desktop-full.simg
(--nv is needed for graphical output, e.g. RViz)

Then a catkin workspace has to be sourced, e.g. the system one:
source /opt/ros/kinetic/setup.bash
or your own workspace:
source ~/workspace/aro/devel/setup.bash

All images from Docker Hub are available too, e.g.:
singularity shell --nv docker://ros:kinetic-robot-xenial
singularity shell --nv docker://ros:melodic-robot-bionic
Note however that the images are quite large and download to your home (with limited space) by default: So one may need to switch the cache directory somewhere else, e.g.:
mkdir -p /tmp/$USER/singularity
ln -s /tmp/$USER/singularity ~/.singularity

On GPU Servers

There are GPU servers available via remote access (ssh). Log in via one of these commands (use your faculty username):
ssh -X username@cantor.felk.cvut.cz
ssh -X username@taylor.felk.cvut.cz
Singularity images may also be located under /local/singularity_images. You can follow, more or less, the instructions for labs once you are there.

Also, please read the instructions on GPU usage. Most notably, use at most one GPU at once. Select GPU to use via environmental variable CUDA_VISIBLE_DEVICES, e.g.
CUDA_VISIBLE_DEVICES=2 my_command
Prevent using any if you don't need it:
CUDA_VISIBLE_DEVICES= my_command
You can export it to stay in effect for all the following commands:
export CUDA_VISIBLE_DEVICES=2
my_command