Installation from Source with Docker (Containerized ROS 2)

This guide explains how to install Ufil using Docker with a containerized ROS 2 environment. This approach avoids modifying your host ROS installation and keeps all dependencies isolated.

Prerequisites

Before installing Ufil, ensure Docker is installed on your system.

Follow the official installation guide for your platform:

After installation, verify Docker is working:

docker --version

Building Ufil from Source

1. Clone the Ufil Workspace

Clone the Ufil workspace repository:

git clone <link-to-ufil-workspace-git> ufil_ws
cd ufil_ws

2. Build the Docker Image

The repository provides a development Docker image.

You can either use the VS Code Dev Container integration or build the image manually:

./docker/create_image.bash

3. Build the Ufil Workspace

Build the workspace inside the container:

./docker/build_workspace.bash

4. Verify the Installation

Start a container shell and verify that the Ufil packages are available:

./docker/run_terminal.bash
source install/setup.bash
ros2 pkg list | grep ufil

If Ufil packages are listed, the installation was successful.

You’re Done

Your containerized development environment is now ready.

You can start developing new features, running simulations, or contributing to the Ufil ecosystem.

If you encounter issues, refer to the Troubleshooting Guide.

Helpful Commands

Debug Build

To build Ufil in debug mode (useful for development or troubleshooting), clean the workspace first:

make clean
make debug

Build Specific Components

You can build specific parts of Ufil:

  • Core functionality

    make core
    
  • Inroad sensing

    make ssl
    

Clean the Workspace

To remove build artifacts:

make clean