Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Run ROS locally

At Labs

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

On Your Computer

Use Singularity in your Linux OS. You can either download a prebuilt image or you can build the image yourself.

Using prebuilt image

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
 

Building your image

An alternative to downloading the prebuilt image is to build the image yourself according to the following description (can take several tens of minutes).

  1. You need to first install the singularity container system. You can use the script for Ubuntu 20.04
     git clone https://gitlab.fel.cvut.cz/robolab/deploy.git
     ./deploy/scripts/install_singularity 
    , or you can install the Singularity manually.
    Follow the Quick Start Guide https://sylabs.io/guides/3.5/user-guide/quick_start.html
    and use version 3.5.3 https://github.com/hpcng/singularity/releases/tag/v3.5.3 (download command: 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/.
  2. Build the Singularity image with script:
     ./deploy/scripts/build_singularity_aro 
  3. Run the Ubuntu 20.04 + ROS Noetic Singularity image with the script:
    ./deploy/scripts/start_singularity_aro 
    which 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)
  4. 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

Local installation on Ubuntu 20.04

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

If you encounter error message 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

courses/aro/tutorials/ros.txt · Last modified: 2023/02/28 11:52 by penicrob