Hi all — we open-sourced a ROS 2–based autonomous drone swarm, and thought the coordination architecture might be of interest here.
We built a 5-drone swarm for the Swarm Drone Challenge 2026 (a capture-the-flag scenario) and finished 4th of six finalists. The whole thing is coordinated from a ROS 2 ground station:
- A deterministic commander node assigns each drone a role (Executor / Seeker / Leader) and streams waypoints to per-drone control topics (
/gcs/drone_<id>/control) in the arena frame. - Onboard, each drone runs micro-ROS on an ESP32-S3 as the bridge into the ROS 2 graph, then talks MAVLink to a PX4 flight controller in offboard mode.
- A second MCU — an ESP32-P4 — handles onboard vision (ArUco marker detection at 320×240 plus ToF obstacle sensing), with no companion SBC.
So the ROS 2 side owns coordination and tasking; the MCUs own real-time comms and perception.
Technical Report: drone-swarm-challenge-2026/docs/Technical Report for Finals Submission.pdf at main · machmind-dev/drone-swarm-challenge-2026 · GitHub
Everything’s open — ROS 2 ground station, firmware, hardware, development photos/videos:

