← projects

project

BlackBee Challenge - 2026 - Mission 1 - Mapping

with Felipe Barros

at Black Bee Drones

Black Bee Challenge 2026 — Autonomous Aerial Mapping

A drone that takes off on its own, maps 100% of a competition arena, and identifies targets by itself.

What it is

Built for Mission 1 of the Black Bee Challenge, an autonomous aerial robotics competition. The goal: a drone takes off with no human intervention from the center of a 14x14 meter arena, sweeps the entire area following a grid flight plan, locates up to 5 ground "bases" (targets marked with shapes and numbers), photographs each one making sure it's fully framed, computes its GPS coordinate, and generates a report with the photos as proof — exactly as required by the competition's official rules.

How it works

The system is a finite state machine running on ROS2: takeoff, coverage planning, photo capture at each waypoint, base detection, and landing. All the camera-geometry and computer-vision math (field-of-view calculation, ground footprint size, coverage grid, pixel-to-GPS conversion) lives in modules completely independent from ROS, so they can be tested without a real drone. Base detection can run either through classic image processing (OpenCV) or a YOLO model trained specifically for the target, interchangeable without touching the rest of the pipeline.

Tech stack

  • Python + ROS2 (rclpy)
  • YASMIN (finite state machine)
  • OpenCV and YOLO/Ultralytics for detection
  • MAVROS/MAVLink for real drone control
  • Gazebo for simulation

Technical highlights

  • Fixed a real optics bug: the camera's field of view is diagonal, not horizontal — the correct trigonometric conversion changed the number of required waypoints from 6 to 8
  • Coverage algorithm verified numerically by sweeping a fine grid of points to confirm 100% arena coverage
  • Two-stage pixel-to-GPS projection pipeline, with optional tilt compensation (roll/pitch) for the drone
  • Deduplication of targets detected across overlapping photos, with mosaic composition when no single photo shows the whole target
  • Entire mission configuration centralized in one file, with profiles that switch between simulation and real flight

This site uses essential cookies (theme, preferences) and, with your permission, analytics cookies (Google Analytics) to understand how the site is used. learn more