Development Container

The project ships a dev container (.devcontainer/) that provides the full toolchain — ROS2 Jazzy, Gazebo Harmonic, colcon and all Python dependencies — on any OS (Linux, macOS, Windows). It replaces the old ROS Noetic Docker images.

Usage

Open the repository in VS Code (or any editor supporting the dev-container spec) and choose “Reopen in Container”. The image is built from .devcontainer/Dockerfile and the workspace is built automatically by .devcontainer/post-create.sh.

Image contents

  • ros:jazzy-ros-base plus the apt packages listed in init/packages.txt (ROS2 Jazzy desktop, Gazebo Harmonic / ros-gz, build tools).

  • uv installs the Python dependencies declared in pyproject.toml (locked in uv.lock) into /opt/venv. The venv is created with --system-site-packages so ROS2’s rclpy and the generated message modules stay importable alongside the project’s own dependencies (shapely, numpy, …).

The same image is built and pushed by the GitLab CI pipeline (see .gitlab-ci.yml, job build-devcontainer-image) and reused as the image: for the CI jobs.

Native install

On Ubuntu 24.04 you can install everything directly with ./init/init.sh instead of using the container (see the project README).