Relative waypoints with height above terrain

I would like to develop a copter mission to photograph several points using a sampling design so that each waypoint is calculated on-the-fly based on bearing and distance from the launch or previous point. The copter’s altitude should be based on height above ground based on lidar input. I want to be able to fly many of these missions without having to calculate and load each mission separately.

From what I can tell creating waypoints on the fly is fairly simple using dronekit-python but I don’t think they have support for controlling height above terrain. The terrain following in ardupilot looks great but I’m at a loss if it’s possible or sensible to create waypoints on the fly without a companion computer.

Any thoughts on how to implement this sampling protocol would be appreciated.

Ned

1 Like

Hi Ned,

I have a similar application where I want to always fly the same (dynamically calculated) path above terrain.

I went for dronekit-python with a companion computer.

It is true that dronekit does not offer an explicit API call for terrain waypoints. Yet it allows you to create custom MAVlink messages - which then can be used to send terrain waypoints.

You can take a look at my code for it here https://github.com/moobsen/beacon_search/blob/754b34d544952c0523f5fd5743360e5feb551700/beacon_search.py#L47

It is a work in progress, but with Copter-3.6.0-dev it works OK.

Cheers

Hi - Thanks for the link to your code. I was distracted for a while but
hope to get back into this next week. I’m new to dronekit so this is all
new to me. In a few week I hope to add a lidar altimiter.

All the best,

Ned