2023-2024 Airside System Architecture

Overview

The airside system is an autonomous perception-decision-control system that runs on the drone. The airside system implements the multiprocessing worker model: Python multiprocessing worker model

All worker use the local space coordinate system except for Flight interface worker: Unit and Coordinate Conventions

More information on autonomous systems in general: Autonomous Systems

System

Key:

  • Red: Perception

  • Orange: Tracking

  • White: Decision

  • Green: Control (also perception from drone telemetry)

  • Blue: Not the responsibility of the system

Workers

Worker

Description

Task

Worker

Description

Task

Flight interface worker

Interfaces with the flight controller. The output of the worker is used for perception and decision making; the input is used for controlling the drone.

Task:

  • Telemetry:

    • Polls the common flight controller for drone telemetry

    • Converts the telemetry position from world to local

    • Timestamps the telemetry and sends it to the appropriate worker(s)

  • Commands:

Video input worker

Interfaces with the camera device.

Task:

  • Gets frames from the common camera and timestamps them

Detect target worker

Detects objects (if any) in images.

Task:

  • Gets images and detect objects to create bounding boxes

    • There may be 0 object detections and therefore 0 bounding boxes in the list

  • Sends the bounding boxes and with forwarded timestamp

Data merge worker

Synchronizes telemetry and detected objects.

Task:

  • Gets telemetry data and bounding boxes along with their corresponding timestamp

  • Merges the telemetry data to the bounding boxes by closest timestamp

Geolocation worker

Finds out where the detected object is in the world.

Task:

  • Gets telemetry data and bounding boxes

  • Converts bounding boxes to locations in the world

Cluster estimation worker

Estimates the location of objects in the world based on groups of detections.

Input list length is the number of simultaneous detections in a single frame.

Task:

  • Collects a scatter plot of locations of detected objects in the world

  • Estimates the location of each object

Decision worker

Builds a model of the world and takes action.

Input list is sorted in descending order of confidence (i.e. index 0 is best, 1 is next best, etc.).

Task:

  • Maintain model of world

  • Decide which landing pad to investigate

    • Search if there is no landing pad: TODO Write documentation

Â