Using LiDAR for terrain survey?

Hi, I’m new here. I’ve built a hexcopter hoping to be able to do some amateur land mapping (DTM sort of thing). I couldn’t find anything (except ads) in the forum on this topic in my searching though…

I realise I can do largely the same thing using photogrammetry, and I intend to have a go at that too, but I find the LiDAR option compelling to try. I got into this starting at the other end working with public-source LAS/LAZ file import into GIS software like QGIS.

At this stage I have a LIDAR-Lite v3 (on I2C), an Ardusimple simpleRTK2B (RTK GPS), and a Chinese Pixhawk clone attached to a Pi Zero. It’s all built and flying nicely!

After quite a bit of searching, I haven’t found any pre-rolled way to export surface point cloud data using the LiDAR though, or create a LAS file.

If nothing else, I feel my plan would be to just tail the MAVLink telemetry with a script (or plugin to mavproxy?) keeping note of position and rangefinder distance (and with the rangefinder max set lower than the survey altitude to prevent it being used for altitude control). I can record the lat/long along with the delta between the (barometer/EKF) altitude estimate and the distance reading from the rangefinder, and that should yield me reasonable X/Y/Z points of the ground underneath. I imagine I’ll end up with reasonably high frequency rangefinder data, though perhaps less precision on the X and Y axis as the drone is probably not really capable of flying say 20cm wide tracks reliably. I might just make it repeat the survey mission several times for better coverage?

Have I completely missed any existing solution in the ecosytem that attempts to do this? It feels like the terrain following code in Ardupilot is internally doing something quite a lot like this, as a stand-in for SRTM data when using a rangefinder.

If DIY is the route, I guess I’ll put the resulting code up somewhere so other people can make use of it too.

Thanks for any pointers!