In an earlier posting I described the RPLidar scanner and claimed that, on paper at least, you could use it for mapping.
To survey a piece of ground, turn the scanner on its side and mount it under a drone. Divide the ground into strips, say two metres wide each. Run the drone backwards and forwards along the strips, making a series of scans as it moves. Each scan will include part of the ground below it and the sky above it, plus maybe bits of the drone too. You are only interested in the part which runs along the ground within the strip:
drone
/\
/ \
/ \
/ \
/ \
/ ----------------- ground
/ |
-----------------
<---- 2m --->
Each scan produces a line of points across the ground. If you know the scanner’s map reference and height above sea level, you can calculate the map reference and height of each point. If the scanner is pointing vertically downwards, as in the left-hand picture below, it’s very simple. Just figure out the position of the point relative to the scanner, then subtract its height above ground.
sensor sensor
vertical
tilted
| \
^ | \
|
| \
|
| \
10m | \
| | \
| | \
v | \
| \
------- |------- --------|--------|--------------
ground
target sensor target
position position position
The right-hand picture above shows the more likely situation. As the drone moves, it’s buffeted by the wind and it wobbles, so the scanner points in a different direction on each scan. To calculate where that points are, you need to know which direction it was pointing (its heading) and correct for that. The accuracy of the result depends on the accuracy of all of the inputs to that calculation.
Lidar systems intended for mapping take care of all this. They either incorporate devices to find very accurate position and heading values, or they hook up to the aircraft’s positioning system. If you use a scanner meant for some other purpose, you will have to get hold of those data and massage the results coming out of the scanner. You can buy a pretty powerful single-board computer for a few dollars that are quite capable of doing this. Assuming that the measurements are accurate enough, the problem just becomes a matter of writing some software.
You only get single return from this device so you can only create a Digital Surface Model (DSM). To create a Digital Terrain Model (DTM) you need the first and second return, but if those data are collected at all, they are lost inside the electronics.
With cheap equipment, accuracy of measurements could be a problem. If you do a complicated calculation, any errors in the input data accumulate, so you want those data.to be as accurate as possible. This is one reason why the specialist mapping scanners are so expensive. However, a drone can fly much closer to the ground than a plane, so you may be able to get away with less accuracy – 1% of 5m is a lot less than 0.1% of 500m.
A typical drone flight controller figures out its position and heading using all sorts of methods including GPS and the more accurate GNSS system, plus devices like an accurate barometer that can detect small changes in height as the drone moves. Position sensors these days can find their position accurate to a few centimetres IF they stay in the same place for several seconds. Something which is fixed to a drone can’t do that. One way to deal with that problem is to use a base station on the ground in radio contact with a receiver in the drone. The base station figures out exactly where it is and feeds corrections to its friend in the air using a Real Time Kinematics (RTK) protocol.
Base stations vary in accuracy and price. You can easily pay $5,000 or more. A lot of Lidar scanners assume that you have a base station, which is something else to consider when you’re looking at prices.
Emlid sell their Reach M+ for $265 (https://emlid.com/reach/). It’s two bits of electronics each powered through a USB connection, providing a base station and a receiver for the drone. The system claims to provide position data accurate to within 2cm in the horizontal and 5cm in the vertical. You can power the base station part using a backup phone charger. Put the whole thing in a plastic sandwich box to keep the rain out and you have a working base station.
Emlid also sell a ready-made base station, the Reach RS+ for $800 (https://emlid.com/reach/). It’s basically a sturdy case with a ground spike, a battery and some electronics. It may be the same electronics as the base station from the M+, but it looks more professional than a sandwich box.
Emlid’s position sensors work well with their Navio (https://emlid.com/navio/), an adjunct board that turns a Raspberry Pi into a flight controller, the central control unit of a drone.
My concept is to mount an RPLidar scanner in a drone, run a series of scans and write some software to use the position and heading data from the Navio to merge the scans and produce a point cloud. You would need a computer to run the software and store the results. You could use a second Raspberry Pi for that. Assuming this setup could be made to work, it would be much cheaper than any commercial Lidar system I’ve seen so far. It would also be fairly light so you could carry it on a cheaper drone.
The accuracy of the result would depend on the accuracy of the scanner and the positioning system. most of the UK Environment Agency’s data is only accurate to 1m, and to be useful this solution has to do better than that.
The RPLidar claims accuracy in the distance measurement of 1%. Assuming it runs 5m above ground, that’s 5cm. If the drone uses the Emlid M+ as its position sensor, it will also know its position to within 5cm, so your readings will be out by at least 10cm. In truth, it will be worse than that. The height, position and heading data will be fed into a calculation and that will amplify the errors. I think it will be more accurate than 1m, but we will have to see.
This article discusses the same issue: https://lidarnews.com/articles/drone-lidar-present-challenges/. As the author says, you can’t just stick a scanner on a drone and hope it will be accurate enough. You have to do the sums.
Actually, my main criticism of the RPLidar for this application is that I don’t think it’s robust enough. Its high-precision spinning platform looks too delicate to respond well to being shaken up in a drone, or crashing into the ground. However, it’s only one of many small cheap Lidar devices and the ideas described here apply to all of them. It’s an interesting proof of concept and I will continue to experiment with it.