Terrain Following Missions using Lidar

The upcoming Copter-3.4 release will include terrain following support for mission commands using either Google earth altitude data or a Laser Range Finder.  This is a demonstration video shot at a ski hill near my home in Karuizawa Japan of this new feature.

For this test I used a venerable 3DR IRIS with a PulsedLight Lidar Lite.  This lidar is difficult to find but actually I recommend the sensors from Lightware (like the SF10) which, although they are quite a bit more expensive, are much more reliable and offer a greater range.

With this new feature, the pilot can input a mission with altitudes specified as either Terrain altitudes (i.e. altitude above the terrain), Absolute altitudes (i.e. 1300m) or the regular Alt-Above-Home that we've always supported.

In case you're wondering how we decide whether to use google earth data vs lidar, if the vehicle has a lidar attached it will use it, if not, and the mission specifies terrain altitudes, google earth data will be used (Note: the ground station must support sending the terrain data to the vehicle which Mission Planner and MAVProxy certainly do but I'm less sure about Tower, APPlanner2 and QGroundControl).

This was actually the third or fourth test flight of the feature.  Some of the others are below with varying levels of success :-).

Terrain following with Google earth data

Terrain following with Lidar but crashes because of weak battery

Short mission with straight line waypoints (successful)

Longer mission with spline waypoints (unsuccesful because of tuning...

The changes are under peer review and should end up in master within a few days.

The dataflash log of the flight can be found here.

Special thanks to Leonard Hall and Tridge who helped me at numerous points during the development of this feature.

Views: 3614

Comment by SkyRover on May 14, 2016 at 12:44am

How accurate does the google earth altitude tend to be? Is it pretty accurate, or is there a chance that the margin of error could be greater than set waypoint altitude which would cause it to fly into the side of a hill?  I see you put 10m or less on MP screenshot, does that mean if I were to set waypoints at 11m or 15m it wouldnt use terrain following?

Thanks for all your hard work on this stuff, really appreciate all you guys do!

Comment by Randy on May 14, 2016 at 12:56am


I don't have enough experience yet to say how bad the google earth data is but now that we log both in the dataflash's CTUN message we can figure it out.  In this particular flight it looks like the errors were as large as 35m at the top of the mountain.

One of the problems is just that the google earth data is very coarse.  It arrives in 90m x 90m blocks so very pointing moutains are likely to be quite inaccurate.  Larger flatter areas shouldn't be so bad.

Comment by Randy on May 14, 2016 at 12:59am

.. and before anyone asks, apparently it's possible to provide more accurate terrain maps to mission planner (which in turn can provide that data to the vehicle).  I don't know the exact method but Michael Oborne could fill people in I think on how it can be done.

Comment by Pascal P. on May 14, 2016 at 1:46am

Once again, great job !

A very usefull feature for mapping in auto mode. Google heights are definitely not accurate enough for this type of mission, in particular in remote countries like here in Africa where Google map resolution is rather bad. The additional issue is also vegetation and dense forest, that can easily add 30m to ground level. How the system reacts with isolated tree ? Jump ?

Comment by Andy Little on May 14, 2016 at 2:03am

This is great! My potential use would be for FPV slope soaring FWIW

As for the coarse data, in an ideal world you could be gathering local terrain data as you are flying and sending it back to the map server. In fact OpenStreetMap immediately springs to mind


Comment by Jiro Hattori on May 14, 2016 at 2:11am

@Randy, this very nice demonstration of terrain following. On the  Terrain Following Mission (using Lidar) video, the copter is hit tree top by RTL. Hit something on RTL is very old failure. What do you think to avoid such a thing ? Actually, LIDAR will be top of my wish list, if those fail safe function add on.

Comment by Fnoop on May 14, 2016 at 4:43am

So cool!  Looks like data is available at 30m resolution, would be great to have that added eventually.  From https://en.wikipedia.org/wiki/Shuttle_Radar_Topography_Mission:

"The United States Government announced on September 23, 2014 over a United Nations Climate Summit that the highest possible resolution of global topographic data derived from the SRTM mission will be released to public.[13] And before the end of the same year, a 1-arc second global digital elevation model (30 meters) has been released. Most part of the world has been covered by this dataset ranging from 54 degrees south to 60 degrees north latitude except for the Middle East and North Africa area.[14] MIssing coverage of the Middle East was completed in August 2015"

Might it be possible to 'read ahead' the elevation data based on the direction of flight and pessimistically raise the altitude to be safe?

Comment by benbojangles on May 14, 2016 at 4:45am

Mission Planner is the best planner. I like APMplanner on Ubuntu too as I can run it on almost anything (even pulling an old pc out of a skip/dumpster)

Comment by Gary McCray on May 14, 2016 at 10:19am

Great accomplishment Randy,

It does look like what might be really useful is a forward looking LIDAR.

Perhaps either instead of or in addition to straight down LIDAR.

So that you could climb over vertical obstacles (like trees).

At least with a copter you have the possibility of slowing or stopping horizontally to adjust altitude vertically.

It seems possible that a single lidar pointing forward at a 45 degree angle might provide sufficient information for both altitude and approaching vertical obstacles.

I know the Lidar Lite's limited range would be problematic, but the excellent Lightware ones are available with sufficient range to make this seemingly feasible.

An even more interesting possibility could be a simple servo driven pitch gimbal permitting straight down to straight ahead real time positioning.

What are your thoughts regarding this?

Best regards,


Comment by Paul Meier on May 14, 2016 at 2:28pm

This is the link for the elevation dataset



You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2017   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service