/qgc-mavlink-converter

Convert QGroundControl JSON .plan file to Parrot compatible MAVlink file ♻️

Primary LanguagePythonMIT LicenseMIT

QGroundControl Plan to MAVlink Converter ♻️

Convert QGroundControl (QGC) JSON .plan file to Parrot compatible MAVlink file used for AirSDK Flight missions.

Requirements ✔

Setup ⚙️

Clone the project and navigate to the /src folder

git clone https://github.com/mgr098/qgc-mavlink-converter.git
cd qgc-mavlink-converter/src

If you haven't created a qgc plan do so with QGroundControl.

Usage 🖥

In your terminal run

python3 convert.py /path/to/qgc.plan

This converts your qgc.plan to a mavlink plan.

View 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

Limitations 🚨

The converter does not support conversion of item type "complexItem" because it does not have a MAVlink standard. This means that the converter can't convert qgc plans containing: geofence, rally points, parameters etc. There is a discussion about standardising file formats in Issue #989 and I've opened up an an issue to support the conversion in Issue #10342.

It seems like GroundSDK flightplans also require a Mavlink WAYPOINT item in order to run. The converter will therefore give a warning if this is not included. However, TAKEOFF is not required.

About 📝

This project was created in order to upload QGC plans to the ANAFI AI drone. It also contains a script that uploads and starts an AirSDK mission on a Parrot drone using a mavlink file. Read the documentation on how to to run both scripts.

If you want to learn how to use Mavlink Flightplans on a real mission, check out the ANAFI Ai Survival Kit. This project contains scripts and guides that can help you when you're testing in the field.