How to Setup SwarmBox

This document provides step-by-step instructions for setting up the SwarmBox framework on your local machine. Please follow the instructions carefully to ensure a successful installation.

  • Operating System: Ubuntu 24.04 LTS
  • ROS 2 Distribution: Jazzy
  • Python Version: 3.12 or later

Installation Steps

1. Install Dependencies

A. ROS 2 Jazzy

Please refer to the official ROS 2 Jazzy installation guide for Ubuntu 24.04: ROS 2 Jazzy Installation

B. MicroXRCE-DDS

Currently, SwarmBox only supports MicroXRCE-DDS as the underlying middleware for communication between swarm components. Please follow the instructions in the MicroXRCE-DDS documentation to install it on your system: MicroXRCE-DDS Installation

2. Clone SwarmBox Repository

You can clone the SwarmBox repository using the following command:

git clone https://github.com/postech-compsec/swarmbox.git --recursive

Notice for Zenodo Artifact / Ubuntu 22.04 Users
If you are looking for the original artifact published on Zenodo (Ubuntu 22.04 / ROS 2 Humble / PX4 v1.15), please refer to the SETUP.md of v0.1.0.

3. Install SwarmBox and Dependencies

We provide a setup script to automate the installation of SwarmBox and its dependencies. Run the following command in the root directory of the cloned repository:

./scripts/setup.sh

This will also run autopilot/setup-px4.sh, which clones PX4-Autopilot (release/1.17) into autopilot/PX4-Autopilot/ and applies the SwarmBox-specific patches from autopilot/PX4-patches/.

PX4-Autopilot is intentionally not vendored as a submodule anymore; instead, it will be cloned during the setup process. Once the installation is complete, you can try the following command to verify that everything is set up correctly:

./scripts/functionality_check.sh