- Blog/
Litchi & Google Earth: Flying Virtual Waypoint Missions
Table of Contents
… Where science and art become one – and allow the creative process to soar!
Waypoint: “A waypoint is an intermediate point or place on a route or line of travel, a stopping point or point at which directional course can be changed.”
The concept of using waypoints probably originated in one form or another from the very first human travelers.
The actual term “waypoints”, however, is a modern entry from the beginning of the computer era usually coupled with the first GPS applications (global positioning systems), mostly used for navigation of one type or another (land, sea, or air).
In this article, I will lay out the 3 basic steps required for the moderate to experienced drone operator to conduct UAV missions on a computer with a web browser (virtual missions) before actually operating the drone in real-time and space.
Why would one want to do that you might ask?
Well, the power, flexibility, autonomy of mission design challenges, and ease of use can provide an important margin of public safety, help protect your flying investment using credible precision, and a way to apply reusable flight operations to your flying goals.
Also, it’s just a heck of a lot of fun with a lot of gratification! Your creativity will be in the spotlight!
This is the holy grail – where science and art meet – and allow the creative process to soar!
There are several companies producing drone software that provide an interface to create waypoint missions:
- DJI native drone software (DJI Go or DJI Go 4 and more)
- Auto Flight Logic’s Autopilot for DJI Drones
- Freeflight for Parrot drones
- Litchi
All these programs provide a handy interface that will allow pilots to design, edit, test, and reuse waypoint-based missions – handier than a shirt pocket!
Most owners of a DJI drone for instance will begin their UAV education using the DJI native apps shipped with their particular drone.
These apps provided by DJI are actually quite good all things considered. They all can provide a new pilot the platform to begin to develop solid basic flying skills, habits, and safe operational skills.
DJI also, in most cases, provides an array of flight modes called “intelligent flight modes” which basically allow the pilot to unleash the computing power of the aircraft through the use of pre-programmed autonomous flight maneuvers.
To be clear, by autonomous flight I’m referring to “hands-off flying” or automatic flight operations.
Here the drone might fly in a 360-degree circle, or perhaps just a straight line, or a flight that flies to and from specific points (waypoints) without input from the pilot and the controller.
We’ll save the discussion of “intelligent flight modes” for another time perhaps.
Which brings me to the very crux of this article – flying and planning waypoint missions for the purpose of taking photographs, geographic visual exploration, and/or aerial videography (and all its many uses and applications).
We will learn how to fly these missions virtually (on a computer), allowing for refinement, corrections, and miscalculations through terrain discovery just to name a few.
I am a devout Litchi user.
I will go into just why that happens to be the case in a moment (not a sponsor by the way), but I use Litchi with my Android tablet for planning and executing about 95% of the time – not only for waypoint missions, but most other types of flying I might undertake also.
DJI Go also provides a waypoint interface but it is a shortcut as you must fly a waypoint mission PRIOR to actually saving and reusing one – quite a defeat of the purpose in my opinion.
I keep well away from DJI Waypoints for that reason. I suspect at some point DJI will change this implementation in the future but we shall see.
Note: It should go without saying that it is important to develop and maintain your manual stick skills – don’t mistake autonomous flying with a total lack of need to use flight sticks. You will usually be flying manually at the start and completion of your autonomous missions. Staying sharp with sticks will always be a requirement for safe and rewarding operations.
A few important notes about the Litchi platform:
- Litchi is not free – It’s $22.99 (iOS) or $24.99 (Android); It can be downloaded from the Play Store, the App Store, or the FlyLitchi website. Once familiar with the Litchi platform, you will see the app as a bargain in my opinion.Download Litchi for AndroidDownload Litchi for iOS
- The app is platform-specific. The iOS version of Litch will not work on an Android device and vice-a-versa. You must purchase separate system copies if you want to use Litchi on both Apple and Android devices.The interfaces are mostly the same but do have a slightly different look and feel. Some folks are not happy about having to “pay twice”. The software has to be written and resourced twice, so frankly I’m on board with that business model. No biggie!
- Litchi requires DJI Fly/Go or GO 4 to be installed on the same device, as it uses the DJI SDK for its implementation.This explains when DJI (or other vendors) release a new drone or a new piece of firmware, it might take some time for Litchi to “catch up”, waiting for DJI to publish the upgrade to its SDK and APIs, and Litchi to produce its own update based on those changes – keeping Litchi users (like me ) on hold with the idea of a shiny new Mavic 3 or Mavic 3 Mini Pro in the hangar with a fresh Litchi install on the controller.
- Litchi Mission Hub will run on Windows or Macs using common web browsers. The Litchi VM browser extension required will work with Google Chrome or Firefox browsers. More on that later.
As of this writing, Litchi supports the following Drones/Controllers:
- Mini 2
- Mini SE
- Air 2S
- Mavic Mini 1
- Mavic Air 2
- Mavic 2 (Zoom/Pro)
- Mavic (Air/Pro)
- Phantom 4 (Standard/Advanced/Pro/ProV2)
- Phantom 3 (Standard/4K/Advanced/Professional)
- Inspire 1 (X3/Z3/Pro/RAW)
- Inspire 2
- Spark
- DJI RC Pro
- DJI Smart Controller
- Crystalsky
Enterprise drones (M300 RTK, M2EA, etc) have some level of support but are not officially supported and tested.
Drones not supported yet:
- Mini 3 Pro: We are waiting for support in the DJI SDK
- Mavic 3: We are waiting for support in the DJI SDK
Litchi Waypoint Mission Design #
I find designing (and then of course flying) a waypoint mission using Litchi to be a very enjoyable part of owning a drone.
To be sure, I’m not necessarily talking about Part 107 contract work where you might have a deadline and/or a nervous client to satisfy.
Deciding when, where, and what to film can be an arduous process.
I live in a coastal area that has many terrific opportunities for aerial photo/videography.
I combine my own local knowledge with sessions spent scouring Google Earth looking for possible fight design ideas. Once I find a bit of an idea about a flight, I sometimes then make a personal trip (if it’s not prohibitively far to the site).
As great as Google Earth or Maps Satellite view can be, there is no substitute for actually visiting the site and taking stock of what you actually are contending with.
Only the keenest eye will pick up phone or power lines from satellite views on your computer/tablet or smartphone for instance. This has caused more than a couple of back-to-the-drawing-board mission edits!
Seasoned mission designers know to look for shadows cast by telephone poles or cell phone towers in satellite views when concerned about these obstructions lurking in rather poor satellite image resolutions.
The Mission Hub #
Using Google Chrome (or Firefox) you can get started designing a waypoint mission by going to Mission Hub on the Litchi website.
If you’ve already purchased and installed Litchi, you will have created an account for yourself and will use this same information to log into Litchi’s “Mission Hub”.
You don’t have to log into the Mission Hub to use it, but you will not be able to save and edit the missions you’ve created.
Even just practicing with the interface can help you form an opinion of the application and whether or not you want to take the plunge to become a paying customer.
Eventually, you will need to install the Chrome Litchi Virtual Extension at Chrome Litchi Virtual Extension (link).
For Windows users, you can find an extension here.
This will add the mission export functionality to Litchi Mission Hub so you can load and fly your missions right from Google Earth. Oh yeah!
After deciding on your first location to shoot or film, with the Mission Hub open, find the spot just as you would using Google Earth (you actually are Using Google Earth by the way).
The interface is very straightforward.
Your 1st waypoint should be very near where you will be while the mission is flying. If you’re using a DJI drone, this will most likely be your default Home Point – good to know!
By clicking on the satellite view map, your 1st waypoint is created with a green pin marker showing the waypoint number and the default altitude.
The waypoint settings screen will appear – that provides you with way(s) to configure the waypoint however you see fit.
You can customize things like:
- Altitude
- Speed
- Compass heading
- Camera behavior, etc.
Other properties will give you the ability to control the UAV’s behavior and express what happens from one waypoint to the next using the waypoint setting screen(s).
The Litchi Help website does a good job of explaining all the bells and whistles you’ll find on this setting screen (Fig 3.) and it pays to take a moment and understand the various things on it.
It is unlikely that you will always want to accept the default values for these settings and knowing the effects of changing them is, to say the least, very useful and often important.
Your missions could either be video-based missions or ones that take 1 or more still photos along your waypoints.
A simple, typical Mission Hub screen might look like this:
If you are logged in to the Mission Hub, you can save and edit your missions as much as you like.
At this point, you will hopefully begin assessing your design – making sure that you have not overlooked some geographical feature or other obstacles that will result in you and your drone parting company permanently!
You should now realize two very important things:
- Visiting a flight location prior to mission design can be extremely helpful for refining and working out issues that might tend to ruin a great session of flying, and
- The amazing value of being able to fly this mission VIRTUALLY without loss or damage to your drone, other humans, and objects, and affirmation that your drone can fly that far, that long, that fast without issue **.
The weather is an important reason for the asterisks which I will discuss in a bit.
This, of course, is the very theme of this article!
Other important considerations: #
While it is certainly not a requirement, it makes the best sense to design missions to start and finish at roughly the same point, for obvious reasons (drone recovery made simple!).
It is certainly possible to design a mission that starts at a given point but flies to the last waypoint that is nowhere near the starting waypoint, but this poses several difficult and risky notions.
- First, you in all likelihood will be breaking current FAA law by flying your drone beyond visual line of sight (BVLOS).This is completely illegal in all 50 states here in America, and in Canada, unless you have a waiver from the FAA (not very likely).
- Second, you will have to make sure your drone has landed safely and will be where it is supposed to be when it comes time to fetch it.You could configure it to merely hover at a select altitude when it reaches the last waypoint, but you’d better have enough battery power left for it to do that as it will try to land wherever that last waypoint is located (like over water? Or trees? Or a parking lot?) while you are on your way to the drone.
- Lastly, if something goes terribly wrong, and I mean terribly wrong, you’ll want your drone to RTH (return to home) and that might very well be where the mission started.A lot can happen between where the drone happens to be and the home point set at the mission’s start!
Note: To fly a Litchi mission on a DJI Phantom x or Inspire x, the controller must always be switched to the “F” toggle position – very easy to forget. If not, the mission will fail to load. Also, there is a setting that will start the video recording automatically upon takeoff in the Litchi settings screens. I keep my setting to OFF which requires me to remember to tap the record button when I’m ready to start filming. Of course, I’ve never flown a complete or partial mission only to realize that I’ve forgotten to hit the record button, now have I ! Ahem … Don’t do that!
Weather & Altitude ** #
With some rather alarming frequency, it’s amazing how many drone pilots, amateurs and professionals alike, do not pay enough attention to all things weather.
One of the biggest “gotchas” concerning small drones is understanding how wind affects your drone’s flight performance.
This is a topic that deserves a lot more attention than I’ll provide here – especially as it seems that small UAV technology will continue to get smaller, more sophisticated, more expensive, and more powerful.
» MORE: Can a Drone Fly in Strong Winds? (With Flight Tips)
1. Wind #
At a minimum, you should know that a drone’s battery will drain much faster when the machine is asked to struggle into a headwind.
Just as important to understand, the winds might be blowing out of a 20-degree heading, calm and quiet at 80 feet AGL (above ground level) but may suddenly change to a 244-degree heading at 45 mph or more at 90 feet AGL or higher.
Generally, the greater the increase in altitude, the greater difference in speed, direction, and variation you will see from winds aloft.
Many apps exist that can detail winds aloft and are great for planning purposes.
As a last resort (and not always reliable), you can conduct some test flying and make actual observations about wind behaviors and attitudes that you might be flying in.
Send your drone up into different altitudes and observe wind effects (speed and direction if possible).
Having a fantastic waypoint mission begin its inbound flight back to your location with 13% battery (at the limits of line of sight of course) directly into a 25-knot headwind will start a deep sweat and some shaky knees to say the least.
All this being said, after you edited, tweaked, saved, modified, and finalized a waypoint mission in the Litchi Mission Hub, that top center bar as depicted in Fig. 4 will show the total waypoint mission distance from start to finish as well as the flight time.
The latter is computed based on the speeds you’ve set in each of the individual waypoint settings and the “cruising speed” you set in the settings menu (see the settings button and the bottom left of Fig 4.).
Litchi has no idea whatsoever about the wind and/or weather conditions for where your mission has been planned so don’t let this be your drone’s last flight!
2. Altitude #
Litchi does utilize terrain altitude data as published (approximated) by Google Earth and also has a feature that will show the difference between a given waypoint’s altitude as compared to the altitude at the first waypoint’s position above the ground.
Regardless of the obstacle avoidance sensors you may have available, you must take the following into account, most importantly, Google Earth imagery is:
- Often out of date; and
- We are only talking about ground terrain.
This does NOT include obstacle heights of trees, forests, buildings, cell towers, wind turbines, buildings large and small, telephone poles, wires, and recent changes to the terrain.
As the mission designer, you must take these into account when you are planning your mission.
You are the obstacle avoidance sensor, not your drone!
This is explained in far greater detail on the Litchi Help web page so I would strongly suggest gobbling that up! Not taking this seriously has cost many pilots a shiny new drone, I can assure you.
I tend to be a bit conservative when it comes to deciding to actually execute a planned mission.
The weather, wind, time of day, light conditions, and other factors all go into my decision to Go or No Go.
On some occasions, the tools I normally use for wind and weather information are often far from being accurate, learned only after arriving at the shoot location. I may end up scrubbing the mission(s) erring on that side of (rather conservative) caution.
As a freelance videographer, I have that luxury while other professionals may be in a different situation with (contract) obligations for instance.
There have been a few places that I’ve traveled to (not far really) only to cancel on more than 3 or 4 attempts to fly that mission! I consider that part of the territory.
End of Mission Settings #
Litchi’s end-of-mission behavior has several options, including doing nothing. It will merely hover at the last assigned altitude and waypoint longitude and latitude.
I usually chose this setting as I can then take manual control of the drone after the mission has finished and land it in the fashion best suited for the situation.
I also may decide to keep flying manually and filming if I’ve got enough battery energy remaining.
Fly the Mission! #
Although somewhat out of scope for this article, understand that once you’ve finished designing a mission and are certain it is safe to fly, do so!
Arrive at your flight site, and set up your controller with a tablet or phone, your drone (props, lens filters, sun shades, navigation lighting if any, speaker volume, etc.).
Power up your equipment, click on the Litchi app on your phone and wait for connection and a camera view on your devices.
Make sure your camera settings are what you’d like them to be.
You should ideally have at least a basic checklist to use before any kind of flight you make. They will save your drone and/or your legal ability to fly it one day.
» MORE: What to Check Your Drone for Before a Flight
Not starting a flight with a 100% (ok – maybe 98%) fully charged battery on a hot summer day may completely ruin your experience with unpleasant surprises.
Don’t ask me how I know this, but it is a fact that you can “take to the bank” as they say. No fun, none.
Why Litchi? #
I think that the Litchi people have done a nice job of using the DJI SDK to produce their user interface.
As I write this, I’m not sure I can name something that I’d like to add or feel that is missing.
In my opinion, the very most important aspect Litchi has over competitors, though, is this: when you start a saved Litchi mission, the mission data is transferred automatically to the memory allocations and processing spaces that are on the physical drone.
In other words, once the mission starts, it is no longer dependent at all on the pilot or the controller.
Unless it suffers from a collision, the battery dies, or some other unforeseen catastrophe happens to the drone itself, the mission will be flown to its completion (usually the last waypoint of course).
You can turn off your controller, your tablet, or your phone and go home and the mission will still fly to completion.
There are no connectivity dependencies once the mission has started. Period.
Litchi will ultimately inform you that the mission has been completed.
It should be noted that you certainly can pause a mission or further, interrupt a mission, and acquire manual control over the drone if you wish.
Note: Do not forget that you are probably in “F” mode on your controller and need to set it back to the “P” mode in order to manually stick fly your drone.
In all fairness, Flight Logic Autopilot is an excellent piece of software. However, it depends on controller-to-drone connectivity as its implementation model.
Losing the connectivity between the two can result in some rather unpleasant consequences during mission flight, better left for another discussion.
Lastly, the Litchi Mission Hub is a dynamic online community with a user forum and includes an easy method to share designs and ideas with other pilots at almost all levels.
The “Global” button at the top left of the Mission Hub page shows all the Litchi users who have chosen to share their missions on the global satellite map.
You can download, copy or modify and/or drill down into their mission design, and then, if they’ve uploaded a result, see the YouTube version of their videography for that mission.
Keep in mind, that the authors choose IF and WHAT they upload to the hub. This means that it might be a heavily edited or crafted video based on a Litchi mission they presumably have flown and want to share with the Litchi public.
The Mission Hub interface will provide users with the option of publishing their videographies or not.
Should you decide to add to the global content with one of your videos, you will see a pin marker based on the longitude and latitude of your shoot location. Pretty keen.
Next Steps #
Now that you’ve got a basic sense of how to create a waypoint mission using the Litchi Mission Hub, it’s time for the next part of the process that will lead us to Virtual Mission flying.
In Fig. 2 above, I’ve instructed: “Obtain and install the Chrome Litchi Virtual Extension at Chrome Litchi Virtual Extension (link).”
After installing, you can confirm the installation by going to the extensions settings page in Chrome or Firefox and see the extension list, version number, etc.
If you have a mission on your screen (new or saved), at the bottom of the missions context menu, you will now see, in red usually, the option “Export to VLM” as shown in Fig. 5 above.
Click the “Export to VLM“ button – you will then be asked to save (and name if you so choose) the file (__mission name__.kml).
Make sure you understand the file location and name of this file as you will need to find it for the next step.
Each time you modify your waypoint mission, you will need to re-export the mission for those edits to be included in the newest version of that virtual flight. Easy to click, easy to forget!
It’s worth a reminder here that the Google Earth screens, even in 3D, are only approximations of the surface elevations of terrain.
They do not provide height or altitude data/information that you will need to take into account in order to have your machine avoid collisions with all manner of objects on the surface of the earth!
If you find yourself having to guess at things like tree or building heights, make very conservative guesstimations or find some other suitable means for getting altitude information.
In the past, I’ve positioned myself as close as practical to the base of a large tree and sent my drone straight up with a level camera, and noted the reported altitude on my flight app screen as a way of understanding height and/or clearances.
This can be a bit time-consuming and not 100% accurate but is very helpful to create an elevation estimate of objects that might possibly need to be flown around or over safely.
Object avoidance will always be your responsibility.
The obstacle avoidance systems on today’s most modern UAVs are awesome but not bulletproof by any stretch of the imagination.
Another issue I’ve seen that has resulted in disastrous collisions happens when a pair (or more) of waypoints are assigned over rapidly rising terrain.
If the terrain height increases severely enough over a short distance, the drone will need to slow enough to make that altitude change and safely arrive at the next waypoint.
If the drone is traveling at high enough speeds, it may never make it to the following waypoint without drilling itself into the ground or what might happen to be on it!
If you do not have LOS (line of sight) when this happens, it can be a rather disconcerting event and can make drone recovery/location a difficult chore.
It is a necessary part of your mission planning to become aware of a trap such as this and accommodate the situation with both speed and altitude settings between waypoints.
The virtual mission that you are endeavoring to make will show you when this might happen and may very well save your drone before you go out and try to defy the laws of physics.
As for the rest of our task – creating and flying our virtual mission for our drone – is pretty much downhill now.
Here’s a summary of the steps to take (I like checklists!):
- Purchase a copy of Litchi App (for iOS or Android) and create an account.
- Visit the Fly Litchi Mission Hub website and log into it with your new Litchi account.
- Download and install the VLM extension for Chrome or Firefox
- Create your first waypoint mission using the Mission Hub.
- Spend some time familiarizing yourself with the Litchi app on your tablet or smartphone, whichever you usually prefer to fly with. Phone screens were always too small for the amount of information I needed to see. Remember, you can install paid-for Litchi on many devices as long as they are using the same operating system. Otherwise, you have to purchase cross-platform instances.
- Export your mission using the “Export as VLM” in the mission hub (“Missions” button).
- Open Google Earth: you can use either the desktop Google Earth Pro app or the browser version of Google Earth. These missions will load and run differently depending on which of the above you’d like to use so I will break the following instructions into 2 sets.
Google Earth Pro (Desktop Application):
- Make sure the Google Earth sidebar is visible and from the Google Earth menu, select “File” then “Open”, then find and select your waypoint mission file (xxxxx.klm).
- On the Google Earth sidebar, look under “Temporary Places”. You will see waypoint Mission name.
- Double click it. You should then see: Virtual Mission and below that, Diagnostics.
- Double click the virtual mission name.
- Google Earth will take you to Waypoint #1 and begin flying the mission.
- You will see a screen control widget at the bottom left of the screen where you can pause, restart or control the flight, etc.
Google Earth (Browser Edition):
- Once the web version of Google Earth is open, click on the top left menu bar’s triple bar button.
- Select Projects from the left list of options.
- If it’s your first virtual flight, click on the New Projects button.
- From the drop-down context menu, select “Import KML file from computer”.
- You should now see a “Virtual Mission” folder under the new Project Title (Mission name).
- Double click it to begin flying the mission.
- You will see a screen control widget at the bottom center of the display.
Sit Back and Enjoy the Flight! Loading and Flying the Virtual Mission #
Check out this YouTube video (sped up) of a virtual mission being flown, having been created using the steps outlined in this article.
This is really the crown jewel of what seems like a lot of extra work. However, once you’ve done a few of these you will see it really is not that complicated at all.
You should also begin to see how valuable it can be to fly a mission you’ve designed in this virtual space, before heading out into the field and flying it in the real world.
After seeing a mission, you may very well have many ideas about how to improve the mission design or maybe even scrap it altogether. This will depend on your own personal decisions and the operatives you’ve had for the mission in the first place.
The following are items you most likely will want to check into with good focus to get the best results from your mission plan:
- Discover likely problem areas where the drone or human safety needs to be addressed.
- The mission proceeds too slowly or the drone is flying too quickly.
- The waypoint altitudes need to be adjusted (too high, too low, etc.).
- The flight path camera angles need to be changed.
- The camera interactions with POIs (Points of Interest) need to be changed.
- The starting and ending waypoints are not positioned properly.
- The mission extends too far (remember, VLOS is always required) or the distances and speeds tally up to make the mission too long to trust to one battery. Again, remember Litchi has calculated this assuming zero wind and moderate temperature readings. Real conditions may make time and distance calculations quite another story.
- An overall assessment of the mission’s look and feel, purpose, or level of satisfaction.
After going through this list (or your own criteria), simply fire up the Litchi Mission hub, select the saved mission from the Missions button and begin to make the changes you’ve identified.
I suggest saving a new set of edits to a new file by changing the name and adding a version number to its title, thereby preserving your development history for that mission e.g. CooperCanyon_v1, CooperCanyon_v2.
You can always remove unwanted or duplicate missions from the Mission Hub as you need at a later time.
Personal Experience #
Finally, I will tell you that I don’t usually produce an aerial video without a great deal of effort modifying the video obtained from my mission. It does happen, however.
While it is nice to create a “story” while creating the mission in the mission hub, being proficient with modern video editing tools ultimately determines the quality of your finished product in most cases.
» MORE: Tips for Shooting & Editing Drone Videos (Guide for Beginners)
This technique and these tools along with your flying machines are merely a means to an end.
The uninitiated audiences don’t usually consider for instance that drones do not carry microphones and might never wonder where all the sounds titles, transitions, and music comes from while ooohing and ahhhing at your latest creation or piece for a movie, broadcast, or website.
Not so long ago, I was listening, at a conference, to some Part 107 pilots/business owners who boasted hours of flights and income using the best small UAVs.
They made it clear that their stick skills would always surpass what automated flight using programs like Litchi or Auto Pilot, etc, could ever do and that the latter could simply not produce the (and I’m quoting here) “buttery smooth movements that come from hours of practice with the sticks”.
I did state at the outset of this article that stick skills are vital to be sure.
Computers only do what humans program them to do and will always do it with a precision that we decide upon and could not usually enact ourselves in real-time. Heck, that’s why we invented them in the first place for Pete’s sake!
In closing, the work of UAV waypoint mission creation is usually a highly iterative process that provides a healthy degree of satisfaction, safety and stress relief when out in the world capturing images not otherwise possible whilst ambling around down here on the ground.
For more examples of waypoint mission flights using these techniques, visit Kestrel Solutions UAV and head into the portfolio section.