I’ve recently been working on a project called Flockwork, an open-source decentralized drone swarm controller in ROS 2 Jazzy and Gazebo Harmonic. Instead of leaning on PX4/ArduPilot, the whole control stack is written from scratch in C++.
For context each drone runs its own controller, so it holds a formation slot relative to its neighbors, and avoids obstacles without stalling.
I really had fun working on this project and learning how to handle implementation.

Six X3 drones take off, split around three pillars in wind, and re-form their grid at the destination.

Top-Down
Trajectory Graph
It is still early in development of course and I am hoping to add many more features, optimization and efficient path algorithms so I would appreciate any feedback on how to improve the system even more.
The full write-up on how it works is given in the repo.
