Litchi Waypoint Mission to DJI Waypoint Mission Converter
Instructions
Instructions
This web application can be used to convert a Litchi mission CSV file into a
DJI Fly (all models) of DJI Pilot 2 (all models) waypoint KMZ file. The
instructions below were created after reading how others have uploaded
missions to DJI Fly for their Mavic 3 / Air 3 / Mini 4 Pro. If you see any
details that are not correct or incomplete, please let me know so that I can
refine these instructions.
Create a mission using Litchi's Mission Hub
A mission can be created like any other Litchi mission then exported as a CSV file.
Note that some parameters (Mission speed, Path mode, Finish action, et.) are not stored in the CSV file. As a result, they must be manually set here or in the DJI Fly app.
In page one of the Litchi Waypoint Mission to DJI Fly Waypoint Mission page:
Set the desired "Signal Lost Action" to either continue the mission or to execute the normal "Signal Lost" action.
Set the mission flight speed in meters per second.
Use the file chooser to upload your Litchi CSV file.
Generate the mission and review the resulting parameters.
In page two of Litchi Waypoint Mission to DJI Fly Waypoint Mission:
Connect your flying device (iPhone, iPad, controller) to your computer via a USB cable, WiFi, or Bluetooth.
Note: Existing waypoint KMZ files are stored in:
Files/DJI Fly/wayline_mission (IOS)
Android/data/dji.go.v5/files/waypoint (Android)
An existing Mavic 3 mission will be needed. This mission will be overwritten. If transferring many missions, create one (in DJI Fly) specifically for transfer purposes and use it each time you transfer a misstion.
Note: Mavic 3 mission folders and KMZ files use a GUID for both the folder name and as the KMZ file name. GUIDs look something like this: 9C93523B-E002-4378-8732-0B016C3F82A3.kmz.
Note: Your waypoint folder structure may look like this:
waypoint
9C93523B-E002-4378-8732-0B016C3F82A3 <-- a mission folder
9C93523B-E002-4378-8732-0B016C3F82A3.kmz <-- a waypoint mission KMZ file
Select a mission folder (a folder named as a GUID as shown above) that can be overwritten.
Hint: Use the creation date to identify the mission to be overwritten.
Rename the KMZ file created with this web application so that it matches the name of the mission file on your device that you will be replacing.
Upload the new KMZ file to this folder which will replace the one that is already there.
Note: On IOS devices (iPhone, iPad, MacBook), Airdrop can be used to copy and transfer files.
Back-up existing waypoint folder prior to copy and transfer.
Do not delete any files.
In DJI Fly:
Start DJI Fly and enter the Waypoints menu.
Open the newly imported mission.
Note: When initially opened, your current location will be displayed instead of the mission location.
Navigate to the mission location on the map and then choose "Save As" to create a new mission. This new mission will have the corrrect preview image.
Optional: Delete the imported mission. You may also choose to retain it for future imports.
Examine all waypoints to be sure they are configured as expected.
Adjust the Waypoint mission parameters (such as speed) as desired.
Go fly!
DJI Fly Waypoint Mission Created From Litchi
This web application can be used to convert a Litchi mission CSV file into a
DJI Fly (all models) or DJI Pilot 2 (all models) waypoint KMZ file.
Once created, the KMZ file must be uploaded to the "waypoint" folder on the
device running DJI Fly. If using DJI Pilot 2, the import function can be used
to upload the KMZ file. Detailed instructions are available from the
"Instructions" button above.
Things you should know about this application
DJI Fly was not designed for mission uploads. Therefore, some extra steps
must be performed to upload missions. This process may be too complicated for
the casual user.
Differences between Litchi Missions and DJI Fly Missions:
Mission Path: It is important to understand that the resulting DJI Fly waypoint mission
will not follow the exact path of the Litchi waypoint mission. This is
because Litchi and DJI use different methods to generate a curved mission
flight path. The differences between Litchi and DJI flight paths are
described here.
Waypoint Actions: DJI's implementation of waypoint actions in DJI Fly is very limited. Like
Litchi, the WPML language does support multiple actions at one waypoint and
allows them to be specified sequentially. However, when one waypoint has
multiple actions (like are used in my Panorama Mission), DJI Fly continues to
execute those actions sequentially as the drone flies away from that waypoint.
Headings: Litchi has two ways to define the heading and gimbal pitch angles at a waypoint:
Heading and Gimbal Pitch (Focus POI or Interpolate) settings
Rotate aircraft and Tilt Camera waypoint actions
DJI Fly has one way to define heading or gimbal pitch angles using "action groups" and "actions". Converting between the Litchi method and the DJI Fly method is not always well-defined and may produce unexpected results.
Large Missions: It has been reported that the DJI RC or RC2 can become
sluggish when working with large missions. This is due to the DJI Fly map
display. If you experience sluggishness, minimize the map display. Once the
map display is minimized, DJI Fly will become responsive again.
NOTE: If you encounter any abnormalities flying a
converted Litchi mission, please let me know.
Google Elevation API Key
If your Litchi mission uses the "Above Ground" option, a call to the Google
Elevation API must be made to convert the input heights into above ground
(above take off) heights. These utilities use a shared Google Elevation API
key which is limited to 5,000 free elevation API calls per month (roughtly 150
API calls per day. When the limit of 150 per day is reached, a Google
Elevation API call error will be displayed. To prevent this from happening,
you may obtain and provide your own Google
Elevation API key so that you are not dependent on the shared API key. If
you use Virtual Litchi Mission, this would be the same API key used with that
application.
Allow Straight Lines
Litchi allows the path mode of waypoint missions to be set to either "Curved
Turns" or "Straight Lines". The WPML language used in DJI Fly also allows
either curved turns or straight lines to be specified. However, for unknown
reasons, DJI's implementation of waypoints in DJI Fly does not allow one to
specify straight lines and all waypoint missions created in DJI Fly are
executed using curved turns. Therefore, by default, this converter will
convert all missions to use curved turns no matter what path type is
configured.
This checkbox has been added to override this default behavior. If the
mission has straight lines, this checkbox can be used to set the appropriate
straight-line parameters in the KMZ file. However, doing so may cause the
waypoint mission to be displayed incorrectly (wonky like a spiderweb [example 1, example 2]) in DJI Fly. Despite this,
the mission will be executed correctly with straight lines even though DJI
Fly's display of the mission is incorrect.
Convert Intervals to Waypoints
In Litchi, either time or distance intervals can be specified at a waypoint.
These are commonly used in mapping missions to capture photos without stopping
the drone. DJI Fly does not support time or distance intervales. This option
can be used to convert any photo capture intervals to additional waypoints.
This will allow Litchi mapping missions to be converted and executed using DJI
Fly.
Heading Mode
When 'Toward POI or Interpolate' is selected, the existence of a POI for any
waypoint will result in the heading mode being set to "toward POI" at that
waypoint. Otherwise, the heading mode is set to "smooth transition" and the
specified heading angle is used at that waypoint.
When 'Follow Wayline' is selected, every waypoint will have its heading mode
set to "follow wayline" regardless of the existence of either a POI or heading
angle defined at any waypoint.
When 'Manual' is selected, manual control of the aircraft heading will be
allowed throughout the flight regardless of the existence of either a POI or
heading angle defined at any waypoint.
Updates
2023-02-06: Reworked the Google Elevation API code that handles "Above Ground" waypoint heights.
This converter can now read a CSV file created with semi-colons used as delimiters instead of commas. This enables it to be able to read a file created by Grid Mission Designer (ancient.land).
In addition to Litchi CSV files, one can now upload and convert KML files
containing a 3D path.