Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

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

...

More information on autonomous systems in general: Autonomous Systems

System

Drawio
mVer2
zoom1
simple0
inComment0
custContentId2544435218
pageId2261909721
lbox1
diagramDisplayNameairsideSystem.drawio
contentVer5
revision5
baseUrlhttps://uwarg-docs.atlassian.net/wiki
diagramNameairsideSystem.drawio
pCenter0
width438
links
tbstyle
height689

...

  • Red: Perception

  • Orange: Tracking

  • White: Decision

  • Green: Control (also perception from drone telemetry)

  • Blue: Not the responsibility of the system

Workers

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 global 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

...