Measuring a brown cardboard box favors the HC-SR04. In my master's dissertation I use the VL53L1X, HC-SR04 and TF Mini Plus for experiments with pasture. The VLs are designed for indoor use and are sensitive to sunlight (850nm infrared component), while the HC suffers from 40khz noise and uneven surface. The datasheet for configuring and using the VL53L1X is very complex because it is an integrated circuit that performs statistical processing, has ROM, RAM, allows you to sectorize a 16x16 ROI and restrict the FOV, informs the signal quality by SPAD. It has calibration functions for gain, protection glass and another one that I don't remember right now. Another feature is the short distance mode (1.3m) which slightly improves the light sensitivity issue. The Datasheet presents the measurement capability and error according to distance, ambient light and material reflectance.
Very well done. One of my robots has only a VL530X, another has both the VL530X and a Grove Ultrasonic (HC-SR04). In my home environment there are a number of very black obstacles (trash can, UPS, Chairs, Table legs) that the VL530X will only “see” normal to the surface or not at all. Would be very interested to see a similar report on Inertial Measurement Units. I am frustrated by my robot’s wheel encoders giving equal or better heading accuracy than my BNO055 IMU (in 9DOF or 6DOF modes - 6DOF being better but no better than encoders).
1. Do you have any experience for really close range (5-20 mm)? I'm currently looking for a accurate sensor. 2. I would love to see the reading filtered over a time. A Basic AVG or EXP filter over maybe 100ms. This way the polling speed of the sensor also comes into play.
It might be interesting to see how the tof sensors work with a retroreflective target? A reflective tape would be easy to apply...of course, this is not suitable for ranging for arbitrary targets, but could be applicable in some applications. If the error is caused by s/n drop-off, maybe you could dramatically improve the range/uncertainty?
Yes, that would be a good idea. From what I've read simply using white paper will help. I can think of applications where something like that could be introduced to improve the results. I was actually pretty irritated when I made this video because the sensors worked worse than I expected, so I cut the video editing and experiments short. Maybe in the future I'll try again if I hit a project where these could actually be useful (they didn't work at all for the project I was working on).
Good analysis of accuracy, I expect the sharp sensor might work better if you used some front end processing, maybe using stats and discarding bad points. The ultrasonic sensor has some advantages but if your surface doesn’t reflect the sound back (angle the box a bit) then the range is reduced. Ultrasonic sensors have a wide beam which may be an advantage but reduces its ability to discriminate close targets. IR project a spot that reflects well off some targets regardless of angle but, as already mentioned, the ambient light and the surface colour may be a problem (clear bottles?). So accuracy is almost irrelevant until you account for other implementation issues, its a whole package of issues and focussing on accuracy is not enough. Other aspects (not mentioned) are update rate, ability to see past near targets, discriminating between 2 targets close to each other, target movement, dust and spray, power consumption, missing off beam targets (do you need a scanner), and many more that are application specific
Hi! We are from Instituto La Salle Florida, a school in Argentina. At this moment we're building a sumobot in order to compete in our national robot league. We need to know which are the best laser sensor for sumobot. The sumobot will be affected by: - mechanical vibrations - natural light indoor - impacts - ambient sound (pitch diameter: 154cm) We were considering using vl53l0x, vl53l3cx or vl53l5cx. but we need hear opinions from a experimented. Thanks in advance, Sumo La Salle PD: Great Video :)
I mistakenly bought the VL53L3CX thinking it was compatible with an arduino. Now I have an Nucleo board (STM32F401) but have zero experience programming it, and it seems like a fairly steep learning curve. Do you know any tutorials you suggest? I only need the board to send simple distance measurements over serial to a PC. Thank you in advance!
Have you tried the examples from the library github.com/stm32duino/VL53L3CX yet? I don't think the learning curve for running a basic example should be too bad. In general, these other microcontrollers function mostly the same way as an arduino once you install their firmware. If you don't have the board running yet, start with something like this: www.instructables.com/Quick-Start-to-STM-Nucleo-on-Arduino-IDE/ and then try the example from the library. I haven't tried that tutorial, but I have run other boards and usually it's not too bad. Let me know how it goes.
The nucleo board with TOF plug in will have a GUI available on the ST website. Run this , see how it works, if you like it there might be an API and you can use this in your own code.
Thanks a lot for this video, I'm a French student and I work on these sensors for a scholar project so is it possible to recover programs and especially which we allow a graphic plot?
Hi Ali, you can create the basic plots in the serial plotter. For the other ones you can use something like matlab or python. Is that what you're thinking of? Maybe I'll make a video about how to collect data and create plots.
Hi there, the content is much appreciated! Very in-depth. I have project where I need to capture dance movements. I need a sensor that is fast, captures 3D topography of the human body, and can sense a range of ~5m/16ft. Of course, lastly integration with arduino IDE would be a plus. Any recommendations? Thanks!
That's a pretty tall order. These cheap sensors are definitely not going to cut it. I've never tried the more expensive lidar sensors, but you're going to need to head in that direction if you expect to get something decent. You know for your application you're probably better off using photogrammetry (unless you have cash to burn). Only done a little of it, but from what I hear the latest tools are pretty good at this. You might want to at least try it. blog.prusaprinters.org/photogrammetry-2-3d-scanning-simpler-better-than-ever_29393/
I do not think calibration will help with these cheap sensors, mostly the limitations are simply inherent in the amount of reflected light and the sensitivity. At large distances there simply isn't enough signal left.
I'm not exactly sure I understand the question but I'll make a couple comments and you can let me know if I missed your point. :) In the histogram plot (which shows the spreads at 178 mm) the VL53L3CX is more accurate and has a tighter spread than the ultrasonic sensor. The ultrasonic sensor was, on the other hand, more accurate at ranges > 0.5 meters. I think this was because (1) the ultrasonic sensor was able to pick up the box well because it's a big target and (2) the TOF sensors didn't perform that great because the box isn't reflective enough for them to perform at their "rated" distances. In general, I was surprised/disappointed with the performance of the TOF sensors in this test. But, on the other hand, if I used a smaller/more reflective target, maybe the TOFs would perform better.
@@curiores111 Thank you so much for the clarification...u really helped me a lot...I was reaching for this comparison and had a sleepless night 😂 and found it in the morning...U are a God sent angel...have a blessed life 😀😁
That is what I was looking for. I did not find it out of these modules. You will probably have to look for a more expensive sensor or use a ultrasonic one at longer distances.
I'm dumbfounded by these sensors. I can't understand how these sensors are capable of polling the sensor so rapidly. Is it possible only because of the reduced resolution when compared to visual spectrum sensors? I ask because of how quickly photons travel. At those relatively minute distances, even a tiny amount of inaccuracy or lack of measured precision should, mathematically speaking, create massively significant errors in the sensor's overall accuracy. Modern consumer chipsets run at, at most, 6ghz. Mobile chips top out around 3ghz and there are people using these sensors with extremely inexpensive arduinos and the likes of the raspberry pi. It just doesn't add up when you consider how quickly a photon would travel between one CPU cycle and the next. Is there a methodology by which these sensors actively hone their accuracy during the imaging process?
The time of flight principle works irregarding processor clock speed. It is usually a small capacitor, which is being charged between start and stop events, with all analog front end. Then the capacitor voltage is being measured some way (slow).
Very useful test ! Cleared a lot of doubts I had. Thanks a lot ! :D
Good, hopefully my wasted time is your saved time ;)
A very concise video with some good empirical data.
Measuring a brown cardboard box favors the HC-SR04. In my master's dissertation I use the VL53L1X, HC-SR04 and TF Mini Plus for experiments with pasture. The VLs are designed for indoor use and are sensitive to sunlight (850nm infrared component), while the HC suffers from 40khz noise and uneven surface. The datasheet for configuring and using the VL53L1X is very complex because it is an integrated circuit that performs statistical processing, has ROM, RAM, allows you to sectorize a 16x16 ROI and restrict the FOV, informs the signal quality by SPAD. It has calibration functions for gain, protection glass and another one that I don't remember right now. Another feature is the short distance mode (1.3m) which slightly improves the light sensitivity issue. The Datasheet presents the measurement capability and error according to distance, ambient light and material reflectance.
My issues with the VL53L1X start at 500 lux of solar light.
Cool info. Maybe make a video about it.
Thanks for this detailed comment. Were you able to find a sensor adequate for your use case?
Great video, nice to have resources like this available
Thanks so much for this Its very useful data! I was looking for something like this to avoid dud sensors
How much better is VL53L8 (Pixel 8 Pro) over the VL53L1 (Pixel 8)?
The ultrasonic sensor seems the way to go. Linearity looks excellent and it is within the variability of TOF sensors. Good video.
Ultrasound sensors usually have lower rate
Very well done. One of my robots has only a VL530X, another has both the VL530X and a Grove Ultrasonic (HC-SR04). In my home environment there are a number of very black obstacles (trash can, UPS, Chairs, Table legs) that the VL530X will only “see” normal to the surface or not at all.
Would be very interested to see a similar report on Inertial Measurement Units. I am frustrated by my robot’s wheel encoders giving equal or better heading accuracy than my BNO055 IMU (in 9DOF or 6DOF modes - 6DOF being better but no better than encoders).
Thanks for sharing. This is very useful information, subscribed!
Great video, I have ordered some VL53L3CX sensors after watching this video, hope that they will be able to do want I want to do with them!
Thank you and good luck!
Great test, thank you for detailed overview. Please, consider using better readable font for your videos, this is really difficult at some points ,-)
1. Do you have any experience for really close range (5-20 mm)? I'm currently looking for a accurate sensor.
2. I would love to see the reading filtered over a time. A Basic AVG or EXP filter over maybe 100ms. This way the polling speed of the sensor also comes into play.
How do these differ from a solid state LIDAR tof sensor?
It might be interesting to see how the tof sensors work with a retroreflective target? A reflective tape would be easy to apply...of course, this is not suitable for ranging for arbitrary targets, but could be applicable in some applications. If the error is caused by s/n drop-off, maybe you could dramatically improve the range/uncertainty?
Yes, that would be a good idea. From what I've read simply using white paper will help. I can think of applications where something like that could be introduced to improve the results.
I was actually pretty irritated when I made this video because the sensors worked worse than I expected, so I cut the video editing and experiments short. Maybe in the future I'll try again if I hit a project where these could actually be useful (they didn't work at all for the project I was working on).
Good analysis of accuracy, I expect the sharp sensor might work better if you used some front end processing, maybe using stats and discarding bad points. The ultrasonic sensor has some advantages but if your surface doesn’t reflect the sound back (angle the box a bit) then the range is reduced. Ultrasonic sensors have a wide beam which may be an advantage but reduces its ability to discriminate close targets. IR project a spot that reflects well off some targets regardless of angle but, as already mentioned, the ambient light and the surface colour may be a problem (clear bottles?). So accuracy is almost irrelevant until you account for other implementation issues, its a whole package of issues and focussing on accuracy is not enough. Other aspects (not mentioned) are update rate, ability to see past near targets, discriminating between 2 targets close to each other, target movement, dust and spray, power consumption, missing off beam targets (do you need a scanner), and many more that are application specific
Phenomenally done video. Thanks on all the information.
I need to sense a black plastic object at 6-8 mm from the sensor. Do you have any experience doing this. I'm planning to use the VL6180X
But did you do 2-point calibration on all the sensors? With that, one that seems "off" may be the most accurate of all.
Thank you for this, great information and presentation.
Hi!
We are from Instituto La Salle Florida, a school in Argentina. At this moment we're building a sumobot in order to compete in our national robot league.
We need to know which are the best laser sensor for sumobot.
The sumobot will be affected by:
- mechanical vibrations
- natural light indoor
- impacts
- ambient sound
(pitch diameter: 154cm)
We were considering using vl53l0x, vl53l3cx or vl53l5cx. but we need hear opinions from a experimented.
Thanks in advance,
Sumo La Salle
PD: Great Video :)
how to do calbiration
Have you tried the VL53L1CB which is supposed to work out to 8m?
Be nice to see the AMS parts with histograms
I mistakenly bought the VL53L3CX thinking it was compatible with an arduino. Now I have an Nucleo board (STM32F401) but have zero experience programming it, and it seems like a fairly steep learning curve. Do you know any tutorials you suggest? I only need the board to send simple distance measurements over serial to a PC. Thank you in advance!
Have you tried the examples from the library
github.com/stm32duino/VL53L3CX
yet? I don't think the learning curve for running a basic example should be too bad. In general, these other microcontrollers function mostly the same way as an arduino once you install their firmware. If you don't have the board running yet, start with something like this:
www.instructables.com/Quick-Start-to-STM-Nucleo-on-Arduino-IDE/
and then try the example from the library. I haven't tried that tutorial, but I have run other boards and usually it's not too bad. Let me know how it goes.
@@curiores111 Oh perfect, i didn't know about stm32duino. It's working already!!! Thank you
@@Diogopfonseca Great! Yeah most of the common microcontrollers have some kind of port to the arduino IDE.
The nucleo board with TOF plug in will have a GUI available on the ST website. Run this , see how it works, if you like it there might be an API and you can use this in your own code.
Thanks a lot for this video, I'm a French student and I work on these sensors for a scholar project so is it possible to recover programs and especially which we allow a graphic plot?
Hi Ali, you can create the basic plots in the serial plotter. For the other ones you can use something like matlab or python. Is that what you're thinking of? Maybe I'll make a video about how to collect data and create plots.
@@curiores111 Ok!! Nice, I didn’t see this mode in Arduino app and yes, it’s a good idea for a new video. Thank u very much !
Hi there, the content is much appreciated! Very in-depth. I have project where I need to capture dance movements. I need a sensor that is fast, captures 3D topography of the human body, and can sense a range of ~5m/16ft. Of course, lastly integration with arduino IDE would be a plus. Any recommendations? Thanks!
That's a pretty tall order. These cheap sensors are definitely not going to cut it. I've never tried the more expensive lidar sensors, but you're going to need to head in that direction if you expect to get something decent. You know for your application you're probably better off using photogrammetry (unless you have cash to burn). Only done a little of it, but from what I hear the latest tools are pretty good at this. You might want to at least try it. blog.prusaprinters.org/photogrammetry-2-3d-scanning-simpler-better-than-ever_29393/
Sir , how can we calabrite our sensors to give more accurate results?
I do not think calibration will help with these cheap sensors, mostly the limitations are simply inherent in the amount of reflected light and the sensitivity. At large distances there simply isn't enough signal left.
I do have a small doubt...In histogram plot..ultrasonic sensor seams a bit far but gives a better measurement than the VL53L3CX...how is that possible
I'm not exactly sure I understand the question but I'll make a couple comments and you can let me know if I missed your point. :) In the histogram plot (which shows the spreads at 178 mm) the VL53L3CX is more accurate and has a tighter spread than the ultrasonic sensor.
The ultrasonic sensor was, on the other hand, more accurate at ranges > 0.5 meters. I think this was because
(1) the ultrasonic sensor was able to pick up the box well because it's a big target and
(2) the TOF sensors didn't perform that great because the box isn't reflective enough for them to perform at their "rated" distances.
In general, I was surprised/disappointed with the performance of the TOF sensors in this test. But, on the other hand, if I used a smaller/more reflective target, maybe the TOFs would perform better.
@@curiores111 Thank you so much for the clarification...u really helped me a lot...I was reaching for this comparison and had a sleepless night 😂 and found it in the morning...U are a God sent angel...have a blessed life 😀😁
@@maggieb9269 you are too kind. :)
Good comparison
Thank you so much....
Sir I was searching for a sensor which is perfectly accurate till 2 to 3 meters distance. Please suggest any sensor which will work best 🙏
That is what I was looking for. I did not find it out of these modules. You will probably have to look for a more expensive sensor or use a ultrasonic one at longer distances.
you voice has changed? are you the same person ?
Yes and yes. There's more than one of us that work on the videos. :)
Thanks.....Awesome content................
Thank you, friend. :)
I'm dumbfounded by these sensors. I can't understand how these sensors are capable of polling the sensor so rapidly. Is it possible only because of the reduced resolution when compared to visual spectrum sensors?
I ask because of how quickly photons travel. At those relatively minute distances, even a tiny amount of inaccuracy or lack of measured precision should, mathematically speaking, create massively significant errors in the sensor's overall accuracy.
Modern consumer chipsets run at, at most, 6ghz. Mobile chips top out around 3ghz and there are people using these sensors with extremely inexpensive arduinos and the likes of the raspberry pi. It just doesn't add up when you consider how quickly a photon would travel between one CPU cycle and the next. Is there a methodology by which these sensors actively hone their accuracy during the imaging process?
The time of flight principle works irregarding processor clock speed. It is usually a small capacitor, which is being charged between start and stop events, with all analog front end. Then the capacitor voltage is being measured some way (slow).