cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L4CD - readings dependent on target

dimitarkunchev
Associate II

Hi

I have been messing around with VL53L4CD for the last few months, and I recently realized that my readings differ significantly, depending on the target color/texture.

Here is my setup: The sensor is set on its side, and directly in front of it, at the 20cm mark, I place a few different gray-level cardboard boxes, ranging from black to white, mostly gloss-textured.

The sensor readings vary by about 10mm (222 shortest, 233 longest) depending on the box.

Performing offset calibration helps to have an accurate reading on a gray target, but the error persists for other colors.

I have tried performing cross-talk calibration, although I don't have a cover glass for this test, but that doesn't seem to help either.

My question is - do we have to know the target reflectivity in advance and calibrate for it? Am I wrong to expect more consistent readings against various targets?

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

This behavior is the reason the accuracy spec is not better. 

Specular (mirror-like) targets are the worst. It's because if the target is normal to the sensor, the return signal is absolutely huge, and if the target is a few degrees tilted, the return signal is almost non-existent. Matte finish (or Lambertian) surfaces do not have similar issues.

The sensor is based on a statistical algo. After all, photons move at 3pico seconds per millimeter.  6 if you count the out-and-back nature of the ToF sensor. 

But an inexpensive sensor is not that fast. That leaves statistics.

The algo really wants 20Million photon strikes per second. If we have more, we turn off the SPADs (photon detectors). We can go as low as 0.5M or so and still be accurate to the spec sheet, but below that, the Sigma goes up quite a bit.

Too many photons is also a problem. There is a limit to how many SPADs we can turn off. 

So, a close specular target will saturate our sensor. And again, the accuracy suffers. 

The solution is to get the range and look at the number of photons (signal strength) and number of SPADs. Use these 3 pieces of information and see if you can create a tuning algo. 

- john

 

 


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

View solution in original post

4 REPLIES 4
John E KVAM
ST Employee

This behavior is the reason the accuracy spec is not better. 

Specular (mirror-like) targets are the worst. It's because if the target is normal to the sensor, the return signal is absolutely huge, and if the target is a few degrees tilted, the return signal is almost non-existent. Matte finish (or Lambertian) surfaces do not have similar issues.

The sensor is based on a statistical algo. After all, photons move at 3pico seconds per millimeter.  6 if you count the out-and-back nature of the ToF sensor. 

But an inexpensive sensor is not that fast. That leaves statistics.

The algo really wants 20Million photon strikes per second. If we have more, we turn off the SPADs (photon detectors). We can go as low as 0.5M or so and still be accurate to the spec sheet, but below that, the Sigma goes up quite a bit.

Too many photons is also a problem. There is a limit to how many SPADs we can turn off. 

So, a close specular target will saturate our sensor. And again, the accuracy suffers. 

The solution is to get the range and look at the number of photons (signal strength) and number of SPADs. Use these 3 pieces of information and see if you can create a tuning algo. 

- john

 

 


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.
dimitarkunchev
Associate II

Hi,

Thanks for the reply.

I have always thought the accuracy specified in the datasheet is part-to-part deviations, not target-to-target. Doesn't make sense, coming to think about it! What you say about the light travel time and the statistical nature of the algorithms does make a lot of sense. I had not thought about the time intervals the sensor has to work with. Helps a lot to understand the issue at hand.

I don't think it is about the specularity in this case - I retested it with mat surfaces (various papers) and it's still the same. Signal rate does change between targets between 2000 and 8000, depending on color, SPADs range between 80 and 200 quite randomly, ambient rate is around 300. I assume that's a good S/N ratio and condition.

What confuses me is that the reported sigma is 1mm with almost any target. But I suppose that's what it is.

Anyway, in my project, the target should be consistent enough, so I am pretty sure I can work around the limitations. My analysis indicates the deviations are repeatable, given identical targets and conditions, so that's OK. I don't have a large enough sample size to confirm consistency between sensors, but I'll need to calibrate them individually anyway.

Cheers

John E KVAM
ST Employee

Everything you have said makes sense. But I want to argue with the ambient rate of 300 being good. You obviously have a window office. Might want to collect some data away from that window. 

(I might be wrong 300 counts is low, but some of our code reports Killi counts. And if so 300 is getting really high. 

20M counts is what we are trying for. If your target is dull and farther away, you will have more SPADS. Bright, near targets can be as low as 4 SPADS. 

Signal per SPAD is a good way of comparing relative brightness of target.

- john


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.
dimitarkunchev
Associate II

Yes, you are correct about 300 being in a relatively well-lit office. That's ok - final use case is in dark vessel with AR about 20. These numbers are totals, not per SPAD.

I will think about all this, armed with the new information about the inner workings. I might be able to use the number of SPADs in some way, not sure yet.

Cheers