/anafi-ai-survival-kit

Survival kit for the ANAFI Ai Parrot Drone for GroundSDK Flightplans πŸ—ΊοΈ

Primary LanguagePython

ANAFI AI Survival Kit ✈️

Survival kit for the ANAFI Ai Parrot Drone, contains scripts to manage GroundSDK Flightplans.

Repository Structure πŸ—ƒοΈ

β”œβ”€β”€ src
|   β”œβ”€β”€ /flightplans                Folder containing GroundSDK Flightplans
|   β”œβ”€β”€ /olympe-scripts             Folder containing Parrot Olympe python scripts
|   |   └── gimbal.py               Moves the ANAFI Ai gimbal    
|   |   └── move.py                 Takeoff, move and land ANAFI Ai    
|   β”œβ”€β”€ convert.py                  Converts QGC JSON .plan to .mavlink
|   β”œβ”€β”€ Dockerfile                  Parrot Olympe Dockerfile
|   β”œβ”€β”€ README.md                   Contains instructions on how to manage GroundSDK missions
|   └── upload.py                   Uploads GroundSDK mission to ANAFI Ai and activates it    
└── README.md                       This README

Prerequisites βœ”

Setup βš™οΈ

Clone the project and navigate to the /src folder

git clone https://github.com/mgr098/anafi-ai-survival-kit.git
cd src

Usage πŸ–₯

Converter ♻️

To convert QGC plan to mavlink file, run this in your terminal

python3 convert.py /plans/qgc.plan
Optional Arguments
python3 convert.py --help

Output

usage: convert.py [-h] [--out OUT] [--version VERSION]
               [--takeoff TAKEOFF]
               filepath

Convert QGC .plan to .mavlink format

positional arguments:
  filepath           Usage: python3 convert.py </path/to/file/>

optional arguments:
  -h, --help         show this help message and exit
  --out OUT          MAVlink filename
  --version VERSION  MAVlink version
  --takeoff TAKEOFF  Add takeoff at start of mavlink

Example usecase of optional arguments

python3 convert.py qgc.plan --out output.mavlink --version 120 --takeoff True

Upload ⬆️

To upload a .mavlink file to the drone and activate the GroundSDK flightplan, run this in your terminal

python3 upload.py /plans/flightplan.mavlink

Olympe Dockerfile πŸ‹

The Dockerfile creates a Docker image running Parrot Olympe. Run this in your terminal to build it

docker build -t olympe:latest .

Run the olympe dockerfile

docker run --network host olympe:latest

About

This repository was used in the context of the Telenor Start5G, where one of the goals of the project was to view applications of 5G edge data centers. One of these applications was autonomously controlling drones over the 5G network from an edge data center.