Convert Mission Planner (ArduCopter) Waypoint Missions to Litchi CSV Format to execute on DJI Drones

Overview

Mission Planner to Litchi

Convert Mission Planner (ArduCopter) Waypoint Surveys to Litchi CSV Format to execute on DJI Drones

Litchi doesn't support Survey mode yet, but here is a workaround! You will need Mission Planner installed in order to plan your mission.

Warning: This script was tested successfully 3 times, should work pretty stable. I'm not responsible for any damage of your drones.

Click here to Download for Windows

Mac version not available

Here's how to use it:
  1. Open Mission Planner
  2. Go to the Plan tab in Mission Planner

  1. Click the Polygon Icon --> Draw a Polygon

  1. Using clicks on the map, select the area you want to map

  1. Right-click inside the polygon, select Auto WP --> Survey (Grid)

  1. Adjust Settings like Altitude and Speed, also enable Advanced Options

  1. In the Camera Config Tab, Set your camera settings, make sure the FOV values are correct after inputing all camera settings. You can save your camera preset by using the Save button. Also make sure the CAM_TRIGG_DIST is selected!

  1. Go back to the Simple Tab, and click Accept

  1. Make sure the layout on the map is correct. Example:

  1. Save this mission as .waypoints file. Recommended save location is Desktop!

  1. Place the mission file and exe file on your Desktop

  1. Open the script and type the name of the mission file (ending with .waypoints) then press Enter

  1. The converted file (.csv) should be saved on your Desktop. Click Enter to exit the script.

  1. Go to Litchi Mission Settings and make sure that the selected in red settings (in the screenshot below) are set to desired values. Path Mode must be set to Straight Lines, otherwise the Auto-Photo mode will not work!

  1. Open Litchi Mission Hub and go to File --> Import

  1. Select file and click Import to new mission

  1. Review mission!

  1. Save Mission!

Comments
  • 7 stay for and take photo actions

    7 stay for and take photo actions

    What has been added?

    • utilization of litchi_wp package
    • Mission Planner command list in docs folder (command with the id)
    • enum class to handle Mission Planner commands more easily

    What has been changed?

    • code was rewritten to be more self-explanatory
    • code was prepared to support more Mission Planner commands
    • documentation has been updated
      • select absolute height in MP so litchi can handle the AGL part
      • explanation how the capture interval is set

    Review

    • The changes are fairly extensive, so I would appreciate tests of the application prior to the merge.
    enhancement 
    opened by JoeKae 17
  • Unable to convert

    Unable to convert

    I have followed your steps to creat a mission in mission planner then convert the .mission file to .csv using the tool how ever the script is closing prematurely without generating a result . could you please help . thanks Rohit

    opened by rohitmalhotra2203 11
  • Mission Planner to Litchi crashing on win11

    Mission Planner to Litchi crashing on win11

    I open MPTL on desktop and the .waypoints is on desktop too.

    I input the filename include .waypoints and the exe closes out everytime.

    Could this be a win11 issue perhaps?

    I have reinstalled and tried a few files from mission planner with the same issue.

    opened by Nguyentunnel 6
  • "Stay for" and "Take photo" actions

    Hi, I've noticed that "Mission Planner" and your "MissionPlanner-to-Litchi" converter doesn't include the actions for the drone to take photos in pre-determined spots. How this "auto-photo" mode you mentioned in the README works? How do Litchi knows the correct place to take the photos? I've set the path to Straight Lines.

    Also the "Above Ground" fields should be checked by default in the CSV creation (conversion) process so Litchi can calculate the correct height for each location when importing the mission.

    documentation 
    opened by brunoaduarte 4
  • api-ms-win-core-path-l1-1-1.ddl is missing

    api-ms-win-core-path-l1-1-1.ddl is missing

    Hi. Thanks for this coverter. I have an issue: When trying to start the script, a pop-up windows appears saying: The program can't start because api-ms-win-core-path-l1-1-1.ddl is missing from your computer. I searched and found the .dll file on the computer so I don't know what the problem is. I also checked it on another computer and the message was the same. Any thoughts?

    opened by av1444 4
  • AGL not set

    AGL not set

    If set to terrain relative height in mission planner, the kml output from mission planner is using agl heights. But the converted waypoints by this script are not set to agl.

    • Check if whis can be set in a waypoint file
    • add this feature
    bug 
    opened by JoeKae 2
  • Gimbal control (DO_MOUNT_CONTROL) Ignored

    Gimbal control (DO_MOUNT_CONTROL) Ignored

    I inserted a mount control waypoint in the MP interface to set the gimbal to -90deg, but that is dropped in the conversion process. (As are the takeoff and RTL commands)

    image

    enhancement 
    opened by WarrenSchultz 2
  • adds file selector gui

    adds file selector gui

    What has been added?

    GUI

    This PR adds a simple tkinter file selection GUI. You can select a single file or multiple files for conversion. The converted files are saved to the same directory that the source file is located in.

    What has been changed?

    README

    The Readme.md was changed to reflect the added GUI.

    Structure of the project

    The mp_to_litchi.py was put in a python package and is used as an import in the run.py. The filename of mp_to_litchi.py and the package as well was shortened to mp2litchi and mp2litchi.py respectively.

    opened by JoeKae 1
  • Update mp_to_litchi.py

    Update mp_to_litchi.py

    Allow to user script with arguments for process multiple files in batch. Save result to original file folder with original filename and csv extension.

    opened by VladimirPobedinskiy 1
  • Doc: Mission Planner survey modes

    Doc: Mission Planner survey modes

    There are different parameters for the survey generator in mission planner.

    We should split the main Readme and put a manual for each supported Mission Planner survey workflows in a seperate documentation.

    documentation 
    opened by JoeKae 0
  • gui pitch

    gui pitch

    What is this?

    This draft PR is intended to have a discussion with active collaboration regarding the new gui.

    This is a pitch for a gui. The framework used is Pyside6. I did watch some tutorials on youtube and made this mockup using the Qt designer.

    image

    Menu structure idea

    The idea is to have 3 main screens.

    1. Home: How to use (Maybe ? icon is better)
    2. List: List of all dropped files with buttons to convert all, convert single file, change settings for file
    3. settings: The default settings for all files that are dropped into the app

    The app should show the second screen on startup.

    Everything is subject to change.

    How to use this?

    Prerequisites

    • Python >=3.10
    • Pyside6
    pip install pyside6
    

    Run

    Run the gui_v2.py file.

    Edit gui

    Use the Qt designer, located in your virtual environment directory: Lib\site-packages\PySide6\designer.exe After doing changes run make gui in a terminal.

    Code documentation

    The code is not well documented yet, as frequent major changes are to be expected.

    enhancement 
    opened by JoeKae 4
  • Feat: improve mission time with DO_DIGICAM_CONTROL and Delay at WP

    Feat: improve mission time with DO_DIGICAM_CONTROL and Delay at WP

    When Mission Planner is creating a survey utilizing the DO_DIGICAM_CONTROL Trigger Method and a Delay at WP > 0, then Mission Planner is not only creating a delay at photo waypoints but at all waypoints.

    While this might be desirable in some cases, it usually is not. Removing the delay from non photo waypoints could improve the mission time.

    I suggest a checkbox that triggers removing those unnecessary delays. Before adding this, there should be the new gui.

    enhancement 
    opened by JoeKae 2
Releases(Alpha)
Owner
Yaros
Launchpadder, programmer, Youtuber!
Yaros
ROS Basics and TurtleSim

Waypoint Follower Anna Garverick This package draws given waypoints, then waits for a service call with a start position to send the turtle to each wa

Anna Garverick 1 Dec 13, 2021
The source codes for TME-BNA: Temporal Motif-Preserving Network Embedding with Bicomponent Neighbor Aggregation.

TME The source codes for TME-BNA: Temporal Motif-Preserving Network Embedding with Bicomponent Neighbor Aggregation. Our implementation is based on TG

2 Feb 10, 2022
Learning-Augmented Dynamic Power Management

Learning-Augmented Dynamic Power Management This repository contains source code accompanying paper Learning-Augmented Dynamic Power Management with M

Adam 0 Feb 22, 2022
Human motion synthesis using Unity3D

Human motion synthesis using Unity3D Prerequisite: Software: amc2bvh.exe, Unity 2017, Blender. Unity: RockVR (Video Capture), scenes, character models

Hao Xu 9 Jun 01, 2022
Deep learning models for classification of 15 common weeds in the southern U.S. cotton production systems.

CottonWeeds Deep learning models for classification of 15 common weeds in the southern U.S. cotton production systems. requirements pytorch torchsumma

Dong Chen 8 Jun 07, 2022
NeuralForecast is a Python library for time series forecasting with deep learning models

NeuralForecast is a Python library for time series forecasting with deep learning models. It includes benchmark datasets, data-loading utilities, evaluation functions, statistical tests, univariate m

Nixtla 1.1k Jan 03, 2023
Test-Time Personalization with a Transformer for Human Pose Estimation, NeurIPS 2021

Transforming Self-Supervision in Test Time for Personalizing Human Pose Estimation This is an official implementation of the NeurIPS 2021 paper: Trans

41 Nov 28, 2022
NAACL2021 - COIL Contextualized Lexical Retriever

COIL Repo for our NAACL paper, COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List. The code covers learning

Luyu Gao 108 Dec 31, 2022
Compare GAN code.

Compare GAN This repository offers TensorFlow implementations for many components related to Generative Adversarial Networks: losses (such non-saturat

Google 1.8k Jan 05, 2023
Official implementation for the paper: "Multi-label Classification with Partial Annotations using Class-aware Selective Loss"

Multi-label Classification with Partial Annotations using Class-aware Selective Loss Paper | Pretrained models Official PyTorch Implementation Emanuel

99 Dec 27, 2022
Universal Adversarial Triggers for Attacking and Analyzing NLP (EMNLP 2019)

Universal Adversarial Triggers for Attacking and Analyzing NLP This is the official code for the EMNLP 2019 paper, Universal Adversarial Triggers for

Eric Wallace 248 Dec 17, 2022
This is an example implementation of the paper "Cross Domain Robot Imitation with Invariant Representation".

IR-GAIL This is an example implementation of the paper "Cross Domain Robot Imitation with Invariant Representation". Dependency The experiments are de

Zhao-Heng Yin 1 Jul 14, 2022
Implementation of popular SOTA self-supervised learning algorithms as Fastai Callbacks.

Self Supervised Learning with Fastai Implementation of popular SOTA self-supervised learning algorithms as Fastai Callbacks. Install pip install self-

Kerem Turgutlu 276 Dec 23, 2022
A JAX-based research framework for writing differentiable numerical simulators with arbitrary discretizations

jaxdf - JAX-based Discretization Framework Overview | Example | Installation | Documentation ⚠️ This library is still in development. Breaking changes

UCL Biomedical Ultrasound Group 65 Dec 23, 2022
用opencv的dnn模块做yolov5目标检测,包含C++和Python两个版本的程序

yolov5-dnn-cpp-py yolov5s,yolov5l,yolov5m,yolov5x的onnx文件在百度云盘下载, 链接:https://pan.baidu.com/s/1d67LUlOoPFQy0MV39gpJiw 提取码:bayj python版本的主程序是main_yolov5.

365 Jan 04, 2023
🐥A PyTorch implementation of OpenAI's finetuned transformer language model with a script to import the weights pre-trained by OpenAI

PyTorch implementation of OpenAI's Finetuned Transformer Language Model This is a PyTorch implementation of the TensorFlow code provided with OpenAI's

Hugging Face 1.4k Jan 05, 2023
An open source implementation of CLIP.

OpenCLIP Welcome to an open source implementation of OpenAI's CLIP (Contrastive Language-Image Pre-training). The goal of this repository is to enable

2.7k Dec 31, 2022
Unofficial pytorch-lightning implement of Mip-NeRF

mipnerf_pl Unofficial pytorch-lightning implement of Mip-NeRF, Here are some results generated by this repository (pre-trained models are provided bel

Jianxin Huang 159 Dec 23, 2022
Model Quantization Benchmark

Introduction MQBench is an open-source model quantization toolkit based on PyTorch fx. The envision of MQBench is to provide: SOTA Algorithms. With MQ

500 Jan 06, 2023
Unofficial Alias-Free GAN implementation. Based on rosinality's version with expanded training and inference options.

Alias-Free GAN An unofficial version of Alias-Free Generative Adversarial Networks (https://arxiv.org/abs/2106.12423). This repository was heavily bas

dusk (they/them) 75 Dec 12, 2022