cancel
Showing results for 
Search instead for 
Did you mean: 

Extracting distance data from VL53L8CH --> CNH histogram data

koch
Associate II

Hello Community,

I had a doubt and wanted an explanation to it relating to a document published by STM electronics, 
https://www.st.com/resource/en/application_presentation/26oct2023-artificial-intelligence-enabler-time-of-flight-sensors-with-cnh-data.pdf

In this document on Pg 22, when you were trying to calculate the Cup's height:

Given: Sensor height from the base of the cup.

Process: You said that because the rays will get reflected inside the cup, you are considering the FSB, i.e the First Significant Bin, which is the nearest bin from the left in the CNH histogram of Signal Value vs Bins. 

Then it was mentioned that the rim that is getting detected in CNH but not being shown in the zone_data (distance) is because of the fact that it is not creating the signal peak value. But then you mentioned this besides the histogram,

• Thanks to the CNH and histogram shape, we can deduct all light path.
• Using the FSB method (First Significant Bin), we easily extract the distance from the sensor to the cup rim.
• Subtract the measured distance by the height to obtain the cup height.
• Using CNH data and FSB method, we extract 72 mm and higher accuracy.

 

My Question is how did you exactly derive such a perfect number? What calculation went in on the CNH data.

From what I know, I can only get the 'Distance_mm_zXX', where this column represents the distance at zone XX, where XX being the zone number, and "cnh_hist_bin_K_aXX", where this column represents the CNH data for a bin number K at zone/aggregate (if applies) number XX. Did you just take the bin distance i.e if the rim is at bin 3 and as we know bin width is 37.5mm or ~38mm, therefore the rim is at 38 + 38 + 19 = 95mm??

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

I've been holding off on this reply - but only because the answer is difficult to put into words. But I'm going to try. 

The VCSEL (laser) puts out a 2-nano second burst. This means that a good half dozen bins (8) will return the full number of photons as they were exposed for the entire bin time. 

The bins represent 3.75 cm. But for simplicity I'm going to round that to 4. 

So in the ideal case a target at the bin boundary would light up for the entire bin time. So a target at 40cm would light up bins 10, 11, 12 and so on. The laser does not turn off as fast as it turns on, so one sees a tail at the end. 

But a target in the middle of a bin only contains a half-height portion of photons. It is this ratio you are looking for. 

So in ideal case you are there - find the tallest bin, use the ratio of that and the prior bin to determine where in the prior bin the object resides. A target in the middle of the bin will return half the number of photons as the full bin. As the object gets closer it will return more and more photons. 

Now we have to talk about reality...

There is noise in the system. So instead of finding the tallest bin, one has to go with an average of the tallest bins, then look for one that is just prior to that group to do your ratio. 

But this is getting far too complicated. I added some training slides below. Download those. 

And also download the python scripts contained in "STSW-IMG043_PY"

It will show you how to "Read a MZ-AI data log and extract target range from CNH data."

 


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

2 REPLIES 2
John E KVAM
ST Employee

I've been holding off on this reply - but only because the answer is difficult to put into words. But I'm going to try. 

The VCSEL (laser) puts out a 2-nano second burst. This means that a good half dozen bins (8) will return the full number of photons as they were exposed for the entire bin time. 

The bins represent 3.75 cm. But for simplicity I'm going to round that to 4. 

So in the ideal case a target at the bin boundary would light up for the entire bin time. So a target at 40cm would light up bins 10, 11, 12 and so on. The laser does not turn off as fast as it turns on, so one sees a tail at the end. 

But a target in the middle of a bin only contains a half-height portion of photons. It is this ratio you are looking for. 

So in ideal case you are there - find the tallest bin, use the ratio of that and the prior bin to determine where in the prior bin the object resides. A target in the middle of the bin will return half the number of photons as the full bin. As the object gets closer it will return more and more photons. 

Now we have to talk about reality...

There is noise in the system. So instead of finding the tallest bin, one has to go with an average of the tallest bins, then look for one that is just prior to that group to do your ratio. 

But this is getting far too complicated. I added some training slides below. Download those. 

And also download the python scripts contained in "STSW-IMG043_PY"

It will show you how to "Read a MZ-AI data log and extract target range from CNH data."

 


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.

Hello Sir, apologies for my late reply. I really appreciate your answer. And thank you for all the resources you have mentioned and attached. 

 

Have a good day!