I’d like to have multiple alternate landing areas so that when RTL is triggered, the plane auto-lands at the nearest safe landing area.

Rally Points only seem to allow LOITER at the nearest point, no option to land.

Multiple DO_LAND_START entries looks promising but how can I match a LAND entry with each DO_LAND_START in Mission Planner?

Because I can’t find a way in Mission Planner yet, I’ve started a dronekit script to inject a new mission with DO_LAND_START and LAND entries on mode change to RTL. The script will have a list of alternate landing sites and will calculate the nearest one to use.

This is for a BVLOS mission which should Land back at the Home point but I need to ensure safe emergency landing for the safety case.


That perhaps should be CHOOSE_DIVERSION I have been giving this some thought as well, a database of your known safe landing areas and approach directions would be very handy.

Not sure what “CHOOSE_DIVERSION” is but sound interesting. Do you have any docs please?

My solution is probably total overkill but here’s the first pseudocode version of the script. It’s going to need lots and lots of SITL testing before trying in the field! It does not even compile at the moment.

The list of alternative landing sites would be something like

{ "sites":[ { "id":"Alternative Site - Top of hill", "start":{ "lat":1234.567, "long":9876.432, "alt":233 }, "land":{ "lat":1234.599, "long":9876.499, "alt":203 } }, { "id":"Alternative Site - Field West", "start":{ "lat":1234.567, "long":9876.432, "alt":133 }, "land":{ "lat":1234.599, "long":9876.499, "alt":103 } } ] }
The script is here:

Comments very welcome!

This is high priority for us because the Safety Case depends on how we do emergency landings.

Badly phrased by me, Americans say alternate, I am used to diversion. So a command that tootles the platform off to the best spot to land if there is an issue or the weather is out of limits at the intended landing spot. You would have to know how to approach that spot as a direct flight might put you through a tree.

This is high priority for us because the Safety Case depends on how we do
emergency landings.

You might look at how CanberraUAV handled staying within a predefined
boundary in the face of RTL - using multiple do-land-starts.

Yep - I think I’m becoming less Yorkshire and more American with every wiki page read and every program written! :slight_smile:

Thanks Pete. I’ll have a good look through the cuav code.