Back to Projects

PROJECT 03

AI-Driven Autonomous Surveillance Drone

Custom quadcopter running YOLOv7 on-board, autonomous navigation on PX4, and low-latency MAVLink telemetry.

91.2%

mAP@0.5 (YOLOv7)

23 FPS

On-Pi inference

93%

Mission success

550 m

Telemetry range

Overview

A custom quadcopter platform engineered for security and surveillance workloads that would traditionally require an operator in the loop and a ground processing pipeline. The airframe carries an on-board AI companion computer running YOLOv7 for real-time object detection, license-plate reading and face recognition directly against the camera feed.

A PX4-based flight controller handles autonomous mission execution and obstacle avoidance, while a MAVLink telemetry link streams position, video and system state back to a Mission-Planner-based ground control station.

The design goal was operational autonomy: the drone plans and flies its own missions, makes perception decisions on-board without a cloud round-trip, and continues to operate meaningfully in GPS-degraded conditions using visual/inertial cues. The platform was built end-to-end — mechanical frame, avionics integration, perception stack and ground software — and validated in both simulation and outdoor field trials.

System Architecture

Camera Front End

Runcam Thumb

On-Board AI Engine

Raspberry Pi 5 · YOLOv7 · TensorRT-optimised inference

Flight Controller

Cube Orange · PX4 firmware · EKF sensor fusion

Sensor Suite

Neo-M8N GPS · IMU · barometer · ultrasonic obstacle sensing

Telemetry Link

MAVLink over 433 MHz radio + Wi-Fi video, < 200 ms latency

Ground Control Station

Mission Planner + custom Python/OpenCV dashboard

Hardware

SubsystemSelection & Role
AirframeCustom 550 mm carbon-fibre quadcopter; CAD-designed and CNC-machined for precise motor/sensor placement and structural stiffness
PropulsionBrushless DC (BLDC) motors, KV720, with foldable composite propellers; sized for the target thrust-to-weight and endurance envelope
Flight controllerCube Orange running PX4 firmware — open-source autopilot with EKF-based state estimation
AI companionRaspberry Pi 5 (8 GB) running YOLOv7 inference locally; connected to the flight controller over MAVLink
CameraRuncam Thumb module streaming real-time video to the AI companion for object detection, tracking and recognition
SensorsNeo-M8N GPS, IMU and barometer for state estimation; ultrasonic sensors for close-range obstacle detection (~4 m)
Power4S 5200 mAh Li-Po pack feeding both propulsion and computation; sized for full-mission continuous inference
Fig 3.1 — Fully assembled and powered-up prototype on demonstration day
Fig 3.1 — Fully assembled and powered-up prototype on demonstration day

Software & AI

The perception stack runs a custom-trained YOLOv7 model on the on-board Raspberry Pi, targeting surveillance-relevant classes (people, vehicles, bags, intruders) via transfer learning from COCO weights. Training-time augmentation covered rotation, brightness normalisation and motion blur to reflect real airborne footage. The deployed model is optimised with TensorRT to hit the frame-rate budget required for live detection during flight.

A SORT (Simple Online and Realtime Tracking) layer maintains identity across frames for smoother tracking of moving subjects.

Autonomous flight combines A*-based waypoint planning against the mission map, fuzzy-logic obstacle avoidance fed by IR and ultrasonic sensor data, and an EKF that fuses IMU, barometer and GPS into a robust pose estimate. The GCS was implemented as Mission Planner alongside a custom Python + OpenCV dashboard that overlays live YOLOv7 detections onto the video feed.

Key Engineering Work

  • End-to-end airframe engineering — SolidWorks-based design, CNC-machined carbon-fibre parts, and full mechanical / avionics integration into a flight-ready platform
  • Custom YOLOv7 training pipeline (transfer learning from COCO, targeted augmentation) for surveillance classes, and TensorRT-optimised deployment on the Raspberry Pi 5
  • SORT-based multi-object tracker layered on top of the detector to hold identity across frames during airborne motion
  • Autonomous mission stack on PX4 with A* planning, fuzzy-logic obstacle avoidance and EKF-based state estimation fusing IMU, GPS and barometer
  • Custom GCS dashboard combining Mission Planner with a Python/OpenCV overlay that unifies live detections, telemetry and mission state in one operator view
  • Simulation-first validation strategy: MATLAB dynamic modelling, Simulink + PX4 software-in-the-loop, and hardware-in-the-loop testing before every outdoor flight

Results & Validation

Perception Performance

mAP @ 0.5 (YOLOv7, custom set)91.2%
Precision90.4%
Recall88.7%
Field-test accuracy (varied light)90.87%
On-Pi inference throughput23 FPS (TensorRT)

Flight & Telemetry

Autonomous mission success rate93%
Average navigation deviation1.0 m
Obstacle-avoidance success rate93%
Battery use per 10-min mission~17%
Telemetry range (stable)550 m
End-to-end telemetry latency< 200 ms

Simulation results (MATLAB + Simulink + PX4 SITL + HIL) tracked field results within expected margins, giving high confidence that the on-board control loop matched the modelled dynamics prior to outdoor flight.

Technical Stack

Hardware

  • Custom 550 mm carbon-fibre airframe
  • Cube Orange flight controller
  • Raspberry Pi 5 AI companion
  • Runcam Thumb camera
  • Neo-M8N GPS · IMU · barometer
  • Ultrasonic obstacle sensors
  • BLDC motors + foldable props
  • 4S 5200 mAh Li-Po pack

Firmware & AI

  • PX4 (C/C++) autopilot firmware
  • YOLOv7 object detection
  • SORT multi-object tracker
  • TensorRT inference optimisation
  • OpenCV pre/post-processing
  • A* path planning
  • Fuzzy-logic obstacle avoidance
  • EKF sensor fusion

Ground & Sim

  • Mission Planner GCS
  • Custom Python + OpenCV dashboard
  • MAVLink telemetry protocol
  • 433 MHz radio + Wi-Fi video
  • MATLAB dynamic modelling
  • Simulink + PX4 SITL
  • Hardware-in-the-loop rig
  • SolidWorks + CNC toolchain