Skip to content

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

License

Notifications You must be signed in to change notification settings

mgr098/qgc-mavlink-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages