LIDAR-Lite 3 Laser Rangefinder questions

Hi, I need a rangefinder to use with a Raspberry Pi to measure the distance to the surface of a column of water moving up and down in a 15cm diameter 3m long perspex tube, in an indoors environment. The rangefinder would be positioned above the tube. I could either measure the distance to the surface of the water or put a reflective float on top. I need to capture about 5 measurements per second, and ideally I need it to be accurate to +/- a few mm.

The LIDAR-Lite 3 Laser Rangefinder looks to be a good option.

The spec says it has a resolution of 1cm, does this mean it will not return any values between whole numbers of cm?

The spec says the accuracy is +/- 2.5cm, is that for one individual reading or for multiple readings averaged over a second?

Could I expect much better accuracy than this over short distances in a controlled environment?

Are there any blogs/tutorials on how to read the data with a Raspberry Pi? I’ve hooked up sensors before but some example Python code would be useful.

Thanks!

Hi,

Here are answers to your questions & comments:

We strongly recommend to place a reflective float on top for more consistent results/better accuracy.

Actually, it seems like it would not fit your use case since its resolution and accuracy are both too low for your stated needs. It should also be mentioned that this device is intended for long range measurements and does perform as well < ~0.5-1 m (depends on production). Therefore, you would probably be better having the sensor a few more meters away from the 3 m tube. Just note that with the sensor aimed at the middle of the tube, it should not be placed more than 9 m from the bottom otherwise the spot size may become too big for your 15 cm diameter tube.

That is exactly what it means. A better resolution would not be useful since the accuracy would not match up regardless.

It is for individual readings, which themselves are a special signal analysis working from the aggregation of multiple signals to a certain threshold.

You can improve the accuracy by removing noise sources, ensuring the sensor is perpendicular to your target surface and having a IR reflective surface the target surface. That being said, you will not get anything better than 1 cm in resolution, so your accuracy gains cannot be any better than this. Therefore all reported values will at best be ±1 cm.

You can have a look here for an example from the community. We are considering creating a tutorial for using this device with the RPi since there seems to not be much in Python available currently. When it is ready it will be posted here.

You may also be interested in the RB-Pol-633 for your project. It uses a VL53L1X sensor and can do 1 mm resolution at ranges of 4-400 cm. It has an average accuracy of ±20 mm. Again, using a reflective floating target would be best and is highly recommended.

We hope this helps.

Sincerely,

Thank you, that’s a very helpful reply.

What about the Benewake TFMINI Micro LIDAR Module, how does that compare?

robotshop.com/uk/benewake-t … -12-m.html

Hi,

As you can see in the RB-Ben-03’s documentation (under Useful Links) on page 7, the accuracy in the range you would use (30-600 cm) is ±4 cm. Actually, it also does not work at distances below 30 cm so you would need to place it above the tube by at least 30 cm above the highest water level expected. Since the transmitting half angle is 1.5 °, it would probably have a spot size that is too large for your tube (~17 cm diameter @ 3.3 m).

Sincerely,

P.-S.: The one we recommended is the only product we currently carry that is both affordable and is the closest to matching your requirements.

Ok thank you, I will try the RB-Pol-633. Do you have any links to rPi projects that use it, or example Python code? Thanks.

There does not seem to be official Python code for the RPi for this board from the manufacturer, only stuff about Arduino (library, the official doc for the chip, API details and Arduino implementation).

We did find a few external sources, though, so these may be a good starting point for you:

]github.com/pimoroni/vl53l1x-python/:m]
]pypi.org/project/VL53L1X/:m]
Please note we did not test any of these, so if you have any specific questions please contact the maintainers of these examples/libraries.

Sincerely,

That’s great, thanks :slight_smile: