Flexible Drones is an open source ROS 2 framework for coordinating heterogeneous drone swarms through shared action, service, and status interfaces. The stack centers on a modular orchestrator that launches and supervises one manager per drone, while each manager exposes consistent commands and structured feedback that higher-level behaviors can react to during execution.
The workspace is organized as a family of focused flexible_drones*
packages. flexible_drones_core provides the orchestrator, registry parsing,
process supervision, and abstract manager API. flexible_drones_msgs defines
the common ROS 2 messages, services, and actions used across the stack.
flexible_drones_deployment owns the project roster, named deployment
setups, and example trajectories, while flexible_drones_description provides
shared URDF/xacro assets, meshes, gates, and RViz launch support.
Backend packages connect the common orchestration layer to specific runtimes:
flexible_drones_crazyflie brings up real Crazyflie hardware,
flexible_drones_gazebo provides a kinematic multi-drone simulation, and
flexible_drones_optitrack publishes motion-capture poses for external
tracking workflows. Supporting packages include flexible_drones_tools for
monitoring, logging, trajectory utilities, and one-shot ROS clients, plus
flexible_drones_flexbe for reusable FlexBE states and behaviors built on top
of the core swarm interfaces.
This repository is currently a public landing page and coordination point for the Flexible Drones workspace. The implementation packages are being prepared for consolidation here, with the public release planned for May 2026.
flexible_drones_msgs- Shared actions, services, and messages for drone and swarm control
flexible_drones_core- Orchestrator, manager supervision, registry loading, and generic manager base classes
flexible_drones_description- URDF/xacro models, meshes, gates, RViz configs, and shared description launch helpers
flexible_drones_deployment- Canonical drone roster, named deployment setups, and project trajectories
flexible_drones_crazyflie- Crazyflie hardware managers, launch flows, and Crazyflie-specific defaults
flexible_drones_gazebo- Kinematic Gazebo simulation backend for mixed drone fleets
flexible_drones_optitrack- OptiTrack/NatNet pose publishing for motion-capture-backed workflows
flexible_drones_tools- Monitoring, logging, trajectory, plotting, and command-line client utilities
flexible_drones_flexbe- FlexBE states, behaviors, and behavior-expansion utilities for autonomous workflows
E. R. Faith, A. B. Kooiker, A. J. Farney, S. Fox, E. Grimes and D. C. Conner, "Flexible Drones: ROS 2 Action-Based Coordination of Multiple Heterogeneous Drones," SoutheastCon 2026, Huntsville, AL, USA, 2026, pp. 1-6, doi: 10.1109/SoutheastCon63549.2026.11476332.
@inproceedings{FlexibleDrones2026,
author = {Faith, E. R. and Kooiker, A. B. and Farney, A. J. and Fox, S. and Grimes, E. and Conner, D. C.},
title = {Flexible Drones: ROS 2 Action-Based Coordination of Multiple Heterogeneous Drones},
booktitle = {SoutheastCon 2026},
address = {Huntsville, AL, USA},
year = {2026},
pages = {1--6},
doi = {10.1109/SoutheastCon63549.2026.11476332}
}Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University
- E. R. Faith
- A. B. Kooiker
- A. J. Farney
- S. Fox
- E. Grimes
- D. C. Conner
This project is released under the Apache License 2.0. See LICENSE.