Pathing
WIP
Below is the sequence of actions the Pathing code will perform on the ground station.
The mission will be commincated to the drone through Mission Planner
The drone will proceed to fly to the given altitudes at the waypoints described in the mission. There are a total of 10 waypoints, and the altitude specifications are yet to be provided.
The drone will then proceed to fly towards Landing Zone B, and it will hover above this point. The mission will end here and will be followed by the Airside/Autonomy code execution.
LTE
Below is the sequence of actions the Autonomy code will perform on the onboard Raspberry Pi on Pegasus. The Autonomy code will start when the Raspberry Pi boots up.
The Autonomy code will periodically poll the Flight Controller to see if the mission sent from the Pathing repository is complete.
Once the mission is complete, the Autonomy code will start to take pictures with the $200 CV Camera at a frequency of 1 Hz.
The picture from the camera will be compressed into an image format. TODO: Find optimal image format.
Send compressed image to the ground where it will be consumed by Autonomy Airside.
Autonomy Airside
Below is the sequence of actions the Airside code will perform on the ground station. This code starts when the mission sent from the Pathing repository is complete. Each worker passes their data to the next worker.
The Airside System takes Telemetry and Image data and outputs commands to land the drone autonomously.
Telemetry and Detection data is collected and merged by Data Merge worker
Periodically poll Flight Interface worker for telemetry data.
Video Input worker collects image data and passes it to Detect Target worker which deploys the YOLOv8 model to detect landing pads.
Data Merge worker, aligns Telemetry and Detection data based on timestamps.
Geolocation worker determines the coordinates of landing pads on the ground based on the drone’s telemetry and the landing pad’s detected position in the image
Cluster Estimation worker determines the probable location of landing pads by clustering the points and removing outliers
Decision Worker, which determines which prospective landing pad location to investigate
Decision Worker passes its decision back to Flight Interface worker, which sends the command to Flight Controller