At labs (e.g., E130, E132), Robot Operating System (ROS) is available through Singularity containers.
Open terminal and run singularity image with Ubuntu 20.04 + ROS Noetic:
singularity shell --nv /opt/singularity/robolab/noetic
(--nv
is needed for graphical output, e.g. RViz)
Then source common ARO catkin workspace:
source /opt/ros/aro/setup.bash
or, your own workspace (if you have any):
source ~/workspace/aro/devel/setup.bash
Use Singularity in your Linux OS. You can either download a prebuilt image or you can build the image yourself.
To use a prebuilt Singularity image you need to execute the commands below.
They first clone our repository which contains both the singularity recipes and useful scripts.
Then, with install_singularity
script you install the singularity container system similar to this guide.
Afterward you can download the prebuilt image (has 2.1GB) using download_singularity_aro
script and run it using start_singularity_aro
script.
git clone https://gitlab.fel.cvut.cz/robolab/deploy.git ./deploy/scripts/install_singularity ./deploy/scripts/download_singularity_aro ./deploy/scripts/start_singularity_aro
An alternative to downloading the prebuilt image is to build the image yourself according to the following description (can take several tens of minutes).
git clone https://gitlab.fel.cvut.cz/robolab/deploy.git ./deploy/scripts/install_singularity, or you can install the Singularity manually.
wget https://github.com/apptainer/singularity/releases/download/v3.5.3/singularity-3.5.3.tar.gz
). For other systems, refer to https://sylabs.io/guides/latest/user-guide/.
./deploy/scripts/build_singularity_aro
./deploy/scripts/start_singularity_arowhich starts the built image
deploy/images/robolab_noetic.simg
. The image can be also started manually with command singularity shell --nv path/to/robolab_noetic.simg
--nv
is needed for graphical output with NVIDIA graphic card, e.g. RViz)source /opt/ros/aro/setup.bash
source ~/workspace/aro/devel/setup.bash
Installing the whole system is more complicated so we do not encourage you to do it, yet if you want you can follow the below instructions.
http://wiki.ros.org/noetic/Installation/Ubuntu
If you don't use Singularity and the provided image, all dependencies and parent workspaces must be installed manually. Scripts in repository https://gitlab.fel.cvut.cz/robolab/deploy can help with that.
Install dependencies:
git clone https://gitlab.fel.cvut.cz/robolab/deploy.git sudo xargs -a deploy/config/robolab_noetic.apt apt-get install
Configure required workspaces (robolab, aro, lar, mkr) in a selected parent directory, e.g. ~/workspace/ros
:
ws_parent=~/workspace/ros rosdep=y sudo deploy/scripts/setup_noetic_workspaces
error: option –install-layout not recognized
, you may need to purge incompatible libraries installed via pip, or install a compatible version, see
the issue.
Then, your student's workspace, e.g. ~/workspace/aro
, should extend your local ~/workspace/ros/aro
workspace instead of /opt/ros/aro
used with Singularity image.
catkin config --extend ~/workspace/ros/aro