A ROS 2 Jazzy + Gazebo Harmonic based multi-drone surveillance simulation. The system implements a swarm of three modified X3 quadcopters equipped with cameras and onboard object detection using YOLOv11.
- Three surveillance drones (
X3_1,X3_2,X3_3) modeled in Gazebo. - Custom onboard cameras for live video feeds.
- YOLOv11 TFLite-based object recognition via
object_recognizer.py. - Centralized swarm planner for multi-drone coordination.
- GUI (
drone_gui.py) to monitor and interact with drones. - ROS 2 ↔ Gazebo bridge for control and sensor integration.
- Predefined environment objects (car, horse, man, zebra, etc.).
military_drones/
├── LICENSE # License file
├── military_drones_bringup # Launch and configs
├── military_drones_control # Control nodes, GUI, object recognition
│ └── resources # YOLO model + dataset configs
├── military_drones_description # Drone and environment models
├── military_drones_gazebo # Gazebo plugins and worlds
└── README.md # Project documentation
Tested on Ubuntu 24.04 (Noble Numbat) with ROS 2 Jazzy on Gazebo Harmonic.
# Clone the repository
cd ~/ros_ws/src
git clone github.com/Manohara-Ai/Military_Drones military_drones
# Install dependencies
sudo apt update
rosdep install --from-paths src --ignore-src -r -y
# Build workspace
cd ~/ros_ws
colcon build
source install/setup.bashLaunch the full system:
ros2 launch military_drones_bringup military_drones.launch.pyThis will:
- Spawn the 3 X3 quadcopters in Gazebo.
- Start swarm control nodes (
central_planner,flight_controller). - Run YOLOv11 object recognition (
object_recognizer). - Open the GUI and RViz visualization.
- Establish ROS 2 ↔ Gazebo bridges.
- Launch files & configs.
- RViz visualization setup.
central_planner.py→ swarm mission coordination.flight_controller.py→ per-drone control.object_recognizer.py→ YOLOv11 inference.drone_gui.py→ live monitoring GUI.resources/→ contains YOLO model & dataset labels.
- Models of drones & environment objects.
- Textures, meshes, SDF configs.
- Gazebo world (
world.sdf). - Plugins for system simulation.
- Enhance multi-drone autonomy with reinforcement learning.
- Implement SLAM-based navigation.
- Add real-time communication between drones.
- Improve GUI with mission planning tools.
Developed by Manohara B M & Vibhashree Vasuki.
This project is licensed under the MIT License. See LICENSE for details.