cancel
Showing results for 
Search instead for 
Did you mean: 

About the histogram data of VL53L8

Licx
Associate III

As shown in the figure is a ball, the depth difference of one pixel is less than 3.7mm. But as shown in the histogram, the depth difference is more than 15mm. I would like to know if this is caused by noise or some other reasons?

 

depth.pnghis.png

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

The laser emitter sends out a flash of light covering the entrire region. Logically we have an array of SPADs that is divided up into 16 regions. To get the 64 zones, we do 4 of these, slightly offset each time. That's why when you do a 4x4 you can run at 60 frames per second and are limited to 15 frames when doing 16x16.

I'm guessing that at the edge of your ball, one zone is seeing the ball AND the wall behind the ball. If those two targets are within 60cm of each other, the photons will be averaged. And the result of the average is based on the number of photons returned by each target. 

Try your experiment again with nothing behind your ball (for 60cm) and if you could dangle it out in space, that would make the problem easier as well.

- 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

10 REPLIES 10
John E KVAM
ST Employee

When you take a picture like that using the GUI, change the max distance to something like 500. This way the full spectrum of color will be used in a smaller distance, creating more color contrast. it doesn't change the sensor in any way, just the colors in the plot.

Within one 'zone' - calling them pixels leads to all kinds of issues - we have to decide what to do if your target is other than a flat object. Consider the edge of the ball. We have some photons coming from the close bit of the ball, some coming fom the edge which is farther away, and perhaps some coming from the table below the ball.

All of those get averaged. We can separate the ball from the wall behind the ball, but only if the distance is greater than 60cm. 

and what do we do if only a little bit of signal comes from the edge of the ball? Do we return the value or is the distance to the object behind more useful. (That's the reason for the 'sharpener'. It tells us what to do.)

The histogram, on the other hand, is the raw data. Our theory is that you can gain some insight into your target that we cannot. Perhaps a bit of AI could be applied to the histogram to determine the diameter of the ball? We use the 'first signficant bin' to determine the height and diameter of a coffee cup for instance. 

To be honest, I didn't quite see the issue you are trying to point out, but if you chance you bin size to one, and carefully look at the histogram data, you should see more. 

And consider putting that ball on a thin post and getting it away from your table. Might see more that way.

 


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.

Thanks for your reply. For example, for an area of the ball, the real depth is 460mm to 470mm, but in the corresponding histogram, if the x-axis of the histogram is converted into depth, the corresponding depth span is more than 100mm, not 10mm(470mm-460mm). Is this because of multi path?

Licx_0-1704349402140.png

 

 

John E KVAM
ST Employee

A ball is a hard object to start with. Try a flat wall. Measure the distance from the sensor to the wall.

Then try to work out which is the correct bin. Might have to have a few distances to see what the histogram does as you move in and out. (Keep in mind that you get the distance data along with the histogram data - and it's all stored in the log file.) 

It was our assumption that people who just wanted a distance would use the normal stuff and use the histogram data for A/I. 

We are working on a better document to explain how to obtain distance from histogram, but it's slow to come out. 

One note, examine the histogram setting an insure you are using a bin averaging of 1. Unfortunately 2 is the default. 

Knowing the start bin and the first bin above 50% of the max height bin, you should be able to work out an approximate distance. Using the ratio of the 50%+ bin and the max bin will fine-tune your result. 

- 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.

Thanks for your explain, currently, I am trying to figure out what cause this depth span rather than find the correct depth. I am thinking if it contains more information of different depth in this area, although the difference of depth is smaller than the resolution of the histogram(37mm) . 

 

Besides, I would like to know whether the spad is used to count photons in different areas at the same time during ranging, or whether the photons are counted in different areas separately. For the infrared emitter, does it illuminate the entire FOV during this period, or does it illuminate different areas separately?

John E KVAM
ST Employee

The laser emitter sends out a flash of light covering the entrire region. Logically we have an array of SPADs that is divided up into 16 regions. To get the 64 zones, we do 4 of these, slightly offset each time. That's why when you do a 4x4 you can run at 60 frames per second and are limited to 15 frames when doing 16x16.

I'm guessing that at the edge of your ball, one zone is seeing the ball AND the wall behind the ball. If those two targets are within 60cm of each other, the photons will be averaged. And the result of the average is based on the number of photons returned by each target. 

Try your experiment again with nothing behind your ball (for 60cm) and if you could dangle it out in space, that would make the problem easier as well.

- 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.

Thanks for your answer, Could you please provide more information about the ranging process of VL53L8? Or is there any datasheet which explain more about the ranging process. Because I don’t seem to find the information you mentioned in the datasheet.

Besides, I would like to know if the SPAD array starts counting after the IR emitter stops illuminating, or does it count while it starts illuminating. Because if the SPAD counting is performed at the same time that the infrared emitter starts to illuminate, it may be possible to explain why multiple adjacent bins receive photons.

John E KVAM
ST Employee

The Clock actually starts just prior to the laser being turned on. Each bin of the histogram represents 3.75 cm of distance. The VCSEL (laser) in on for 2microseconds. That is several bins. And as much as we tried, it does not turn off instantly. You can see a bit of a tail in the data. Generally when looking for the object it is the first bin above 50% of the max height you are looking for. You distance in within that 3.75cm. To decide where compare the height to the max height and use a ratio. If the target is near the start of the bin, it will be larger than if the target is near the back of the bin. 

- 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.

Thanks for your reply, if the VCSEL (laser) in on for 2microseconds which is 2e-6 seconds, it is 10000 times bigger than the 250ps which is the time width of every bin, not several bins. Is there anything wrong?