Drone Cooperative System for Humanitarian Missions

Agni Rajinikanth, Alan Bao, Nohl Abdelhadi, Imam Majed Alayeh
UC Berkeley | EECS/ME 106a: Introduction to Robotics | Fall 2025
Abstract

We propose a cooperative two-drone system designed for humanitarian missions such as search-and-rescue and critical payload delivery. The system consists of a Parent Drone (DJI Tello) that transports and delivers payloads at low altitude while avoiding obstacles, and a Helper Drone (Parrot AR.Drone 2.0) that scouts ahead at high altitude to identify optimal paths. The Helper Drone scouts using grid search patterns and ArUco marker detection, then communicates path information to the Parent Drone. The Parent Drone flies lower while detecting and avoiding obstacles using YOLOv8 real-time object detection and a PID controller for precise landing (±10cm accuracy). Using vision-based sensing, path planning algorithms, and semantic communication modules, both drones coordinate to ensure safe travel and accurate payload drops. The project demonstrates multi-agent collaboration, environment-aware planning, and autonomous mission safety for UAV-based humanitarian operations.

System Demonstration

Figure 1: Complete autonomous navigation demonstration showing cooperative two-drone system with obstacle avoidance and precision landing

1. Introduction

End Goal

The end goal of this project is to develop a fully autonomous cooperative two-drone system capable of executing humanitarian missions in complex environments. The system enables a high-altitude scout drone (AR Drone) to identify optimal paths and target locations, while a low-altitude delivery drone (Tello) navigates obstacles and delivers payloads with precision (±10cm accuracy). This cooperative approach combines the strengths of different UAV platforms to achieve safer, more efficient mission completion than single-drone systems.

Why This Is Interesting

This project addresses several challenging robotics problems:

Real-World Applications

The techniques developed in this project have broad applicability to real-world robotics challenges:

Problem Statement

Humanitarian missions in disaster zones, remote areas, and search-and-rescue operations require autonomous aerial systems that can navigate complex environments, avoid obstacles, and deliver payloads with precision. Traditional single-drone systems face limitations in balancing high-altitude reconnaissance with low-altitude obstacle avoidance and payload delivery.

Motivation

By employing a cooperative two-drone approach, we can leverage the complementary capabilities of different UAV platforms:

Approach

Our system employs two drones with distinct roles: the AR Drone (Helper) performs grid-based search patterns at high altitude using ArUco markers for localization, while the Tello Drone (Parent) navigates at low altitude with YOLOv8 object detection, pinhole camera distance estimation, and PID-controlled precision landing. The drones communicate transform data to coordinate their missions.

2. System Overview

AR Drone (Helper/Scout)

Parrot AR.Drone 2.0

Role: High-altitude scout for path reconnaissance

Key Technologies:

  • ArUco marker detection (OpenCV)
  • Grid search algorithm (snake pattern)
  • Transform computation (body → world frame)
  • Optical centering (proportional control)
  • IMU positional centering

Capabilities:

  • 5×5 grid search (0.5m cells)
  • Dual camera system (bottom + front)
  • ±10cm localization accuracy
  • Velocity-based dead reckoning

Tello Drone (Parent/Payload)

DJI Tello Drone

Role: Low-altitude carrier with obstacle avoidance

Key Technologies:

  • YOLOv8 object detection (real-time)
  • Pinhole camera distance estimation
  • Threat assessment (3-level system)
  • Obstacle circumvention (lateral/vertical)
  • PID controller (precision landing)

Capabilities:

  • 10-15 FPS detection (89.7% mAP)
  • 80+ object classes recognized
  • ±10cm landing accuracy
  • Mathematically balanced dodges

System Architecture

System Architecture Diagram

System Workflow

  1. AR Drone Takeoff: Launches and performs grid search at target altitude
  2. ArUco Detection: Identifies Marker 0 (origin) and Marker 1 (target)
  3. Transform Computation: Calculates world-frame position relative to markers
  4. Communication: Transmits target coordinates to Tello Drone
  5. Tello Navigation: Flies to target using hybrid path planning (Linear Interpolation + Bresenham)
  6. Reactive Obstacle Avoidance: YOLOv8 detection with dodge maneuvers and path replanning
  7. Precision Landing: PID controller achieves ±10cm accuracy at target

3. Results & Achievements

AR Drone (Helper) Performance

ArUco Detection

✓ Success

Reliable marker detection and tracking with ±2cm accuracy at 1m distance

Grid Search

✓ Complete

5×5 cell coverage with snake/boustrophedon pattern

Transform Accuracy

✓ ±10cm

World-frame position estimation via velocity integration

Optical Centering

✓ Achieved

Proportional control for tag alignment

Tello Drone (Parent) Performance

YOLOv8 Detection

✓ 10-15 FPS

Real-time object detection with 89.7% mAP accuracy

Distance Estimation

✓ ±20% @ 5m

Monocular depth using pinhole camera model

Obstacle Avoidance

✓ Zero Drift

Balanced maneuvers preserve target endpoint

PID Landing

✓ ±10cm

Precision control in 2-3 iterations

Figure 4: AR Drone optical centering demonstration using ArUco markers
Figure 5: Tello Drone self-centering and precision landing sequence

System Integration

4. Challenges & Solutions

Challenge 1: Dual Camera Limitation

Problem: AR Drone cannot stream both cameras (bottom + front) simultaneously, limiting simultaneous ArUco detection and obstacle avoidance.

Solution: Implemented intermittent camera switching every 2 seconds, alternating between bottom camera for ArUco detection and front camera for obstacle monitoring. Frame buffering maintains visual continuity.

Challenge 2: Dead Reckoning Drift

Problem: Position estimation errors accumulate during flight (±30cm per 3m traveled), affecting landing accuracy.

Solution: Implemented PID controller for final approach correction, reducing error from ±30cm to ±10cm through iterative position feedback (typically 2-3 correction cycles).

Challenge 3: Real-time Detection Performance

Problem: YOLOv8 must achieve 10-15 FPS on Tello's limited computational resources for safe reactive avoidance.

Solution: Selected YOLOv8-nano model (3.2M parameters, 6MB) and implemented frame skipping (process every 2nd frame) to maintain real-time performance while preserving 89.7% mAP accuracy.

Challenge 4: Computer Vision Latency

Problem: Object detection and distance estimation introduce processing delays that affect reactive navigation.

Solution: Implemented asynchronous pipeline with frame buffering and predictive threat assessment, allowing drone to begin maneuvers while processing completes.

Challenge 5: Wind & Drift Compensation

Problem: External disturbances (wind, blade wash) cause unmodeled position drift during flight.

Solution: Combined IMU-based velocity integration with PID integral term to correct for constant disturbances and maintain position accuracy.

Challenge 6: Camera Calibration

Problem: Distance estimation via pinhole camera model requires accurate focal length calibration for each drone platform.

Solution: Performed empirical calibration by measuring known objects at fixed distances, achieving focal length estimate of 700 pixels with ±20% error at 5m.

Challenge 7: Cross-Platform Development

Problem: Codebase must support both Mac and Windows development environments with different drone SDK implementations.

Solution: Used platform-agnostic libraries (pyardrone for AR Drone, djitellopy for Tello) and abstracted platform-specific code into wrapper classes.

5. Conclusion

Summary of Achievements

This project successfully demonstrates a cooperative two-drone system for autonomous humanitarian missions. The AR Drone (Helper) performs high-altitude reconnaissance using ArUco markers and grid search patterns, while the Tello Drone (Parent) executes low-altitude navigation with real-time YOLOv8 obstacle detection and PID-controlled precision landing. Key achievements include:

Future Work

Potential improvements and extensions to this system include:

Team Photo

Team 14 Group Photo
Figure 6: Team 14 (left to right): Agni Rajinikanth, Alan Bao, Nohl Abdelhadi, Imam Majed Alayeh

Acknowledgments

We would like to thank the UC Berkeley EECS/ME 106a course staff for their guidance and support throughout this project. Special thanks to our instructors and TAs for providing the necessary resources and feedback.

Interested in Technical Details?

For comprehensive algorithm documentation, mathematical formulations, implementation details, and code examples, visit the Technical Details page.

Topics covered include: YOLOv8 detection pipeline, pinhole camera distance estimation, PID control theory, dead reckoning, Bresenham's algorithm, ArUco pose estimation, grid search patterns, and more.