2020-08-10 08:47 AM
Hi,
I'm trying to use multiple VL53L1X sensors to detect objects. I successfully interfaced them with a Raspberry Pi 4B, and tried to tune a bunch of parameters to get good detection.
When the sensors point to an object, within the sensor range (0.4 - 4.0 m), the detection is quite accurate, with small fluctuations in the detection (2 - 4 cm). However, I'm facing a problem when operating in strong ambient light environments, and especially when the sensor is pointing to the infinite (i.e the object is farther than 4.0 m). The detection here is really unstable, and vary a lot (sometimes 1m difference between two ranges). That makes it really hard to exploit.
I tried different distance modes, especially the short distance mode, which should be the less sensible to the ambient light, according to the documentation. However, I can still observe instabilities. Then I tried to set a different Timing Budget value, and set it to 20 ms, 33 ms, 100 ms, without observing any noticeable change.
I am wondering if adding a cover glass, like this one: https://www.gilisymo.com/14-cover-glass-vl53l1x would help, as it seems that software tuning doesn't have any significant impact... or maybe I'm missing something.
If you have any suggestion, that would really help!
Many thanks,
Cheers
2020-08-10 04:44 PM
did you see the limited range in strong light in the datasheet ? attached
maybe your project budget is too tight for an upgrade,
but I would suggest that you look at the intel realsense products.
82635DSD455 (indoors and outdoors) 9M range
and look at the LiDar too, (indoor only) L515 https://www.youtube.com/watch?v=O8uNxaJPAoU
the DS435 and DS415 are cheaper but the range is less to far less
2020-08-11 12:46 AM
Hi, and thanks for your answer @Community member!
Yes, I know that the range is limited in strong light. But I don't want to detect anything farther than 1-2 m, maybe this was unclear in my initial question. When I said pointing to the infinite, I would rather say that not aiming to detect any object, just ranging to the infinite. The range should be stable, and at the maximum value, ie something around 3-4 m, am I right? The final objective is to develop an algorithm that detects an obstacle, so let's say if there is something detected at 1m, the robot should stop. The problem is that when there's nothing detected (pointing to the infinite) the range is so unstable it can says there is something at 1m, causing the robot to stop, for nothing...
I tried another solution: I tilted the sensor to make it see the ground, at 1.5m. The ground is some grey concrete. The sensor can detect it, but the problem is the same: the range is really unstable.
It really seems that the range stability depends on the material it reflects on: if I try the same experiment, pointing to the ground at around 1.5m, and there is a white wall close from it, at around 2m, here the ground is well detected at 1.5m and the output range is stable.
Thanks for the suggestion about the Realsenses, but the aim is really to qualify the possibility to use the ST sensors ;)
Cheers
2020-08-18 06:09 AM
Hi,
The cover-glass won't help. Adding some convergent lens will certainly help but it will modify the optical characteristic of the sensor and also the laser class 1 will no more be guaranteed.
In outdoor under high ambient sun light the device can range maximum ~30 cm. The short ranging mode is better than the long mode under ambient but will not make a miracle. Julien
2020-08-19 05:09 AM
Hi Julien,
Thanks for your comments! Indeed I did change the ranging mode from long to short, as you suggested, and detection seem more accurate.
By the way, I did a simple test by reading the RangeStatus info each time a data is received, and it kind of solved my problem. In fact, each time the problem occurs (false detection and oscillations), the range status is "Signal_Fail". So what I did is check whether or not the range status is "Ok" ("Range_valid") before publishing the range message; however it is dismissed. I forgot this aspect from the API...
And now, the detection is correct, and I don't have this issue anymore.
Cheers. Thibaud
2020-10-12 10:55 AM
Hi Thibaud
I'm having a similar problem ranging in daylight with a raspberry pi. What language and module did you use?
cheers
Dan