Skip to main content

Installation

Blue is currently supported on Linux and is available for the ROS distributions Humble and Iron. Blue can be installed from source or using one of the provided Docker images. If you plan to use Blue for simulation and have a system with limited compute power, we recommend installing Blue from source. For all other cases, we recommend installing Blue using Docker.

Docker installation

Prior to installing Blue using Docker, make sure that Docker is installed on your system and that you are logged into the GitHub Container Registry. If Docker is not installed, you may follow the instructions provided here. If you are not already logged into the GitHub Container Registry, please do so by following the instructions provided here. Once you have successfully installed Docker and logged into the GitHub Container Registry, you can install Blue by pulling one of the provided Docker images. A complete list of the provided images is documented below (where * should be replaced with the desired ROS distribution, e.g., humble-robot):

Supported ROS VersionsImage TagBuild ArchitecturesDescription
Humble, Iron*-robotamd64, arm64A bare-bones image that includes all dependencies without simulation or visualization features. This can be used to deploy Blue to hardware.
Humble, Iron*-desktopamd64Image that includes all dependencies, including simulation and visualization features. This can be used for development, testing, and top-side deployment.
Humble, Iron*-desktop-nvidiaamd64Extension of the *-desktop image that provides support for NVIDIA GPU drivers. This image is strongly recommended for systems that have an NVIDIA GPU, and requires the NVIDIA Container Toolkit.

If you plan to use either the *-desktop or *-desktop-nvidia images, you may use the provided Docker Compose scripts to install and run Blue. For instance, to pull and run the iron-desktop image, first run the command:

wget https://raw.githubusercontent.com/Robotic-Decision-Making-Lab/blue/iron/.docker/compose/nouveau-desktop.yaml && \
docker compose -f nouveau-desktop.yaml up

then in a new tab, enter the container by running

docker exec -it <image-name> /bin/bash

where <image-name> should be replaced with the name of the container that was created.

Development container

We recommend using one of the provided Visual Studio Code development containers to implement and test your own packages. These containers use the *-desktop and *-desktop-nvidia images as base images. To use the development containers, first verify that you can run Visual Studio Code inside a Docker container by following the tutorial provided here. Once you have successfully verified that you can run Visual Studio Code inside a Docker container, open the Blue repository in Visual Studio Code and select the option to reopen the folder inside a container when prompted. This will automatically build the development container and install all necessary dependencies. Once the container is built, you can start developing your own packages!

Source installation

We recommend using the project Dockerfile (beginning at the robot stage) for complete source installation details. This installation may be customized according to your specific needs. For example, if you do not plan to use the simulation environment, you may forego installing Gazebo and its dependencies.