Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Low distance measurement #41

Open
FloVesuv opened this issue Feb 3, 2025 · 3 comments
Open

Low distance measurement #41

FloVesuv opened this issue Feb 3, 2025 · 3 comments

Comments

@FloVesuv
Copy link

FloVesuv commented Feb 3, 2025

Hello,

I am using the AFBR-S50MV85I sensor for measurements within a range of 50 to 150mm (black surface to be measured).

I get good results around calibration, however, when I move away from it, I can have significant offsets (for example, with calibration at 100mm and a measurement at 60mm, I measure 70mm) with the measurement provided by the pixel binning algorithm.

Is this due to the sensor's limitations at short distances?

I am trying to work with the raw values of each pixel independently to weight them; some are quite close to the result (60mm), while others are completely out of tolerance.
My goal is not to redo the pixel binning algorithm but to develop my own in order to get more relevant results with the actual measurement.

What data could be useful for performing this weighting?
Can the amplitude res->Pixels[i].Amplitude be useful to me?
I saw that it is used in the PBA, but some information is missing, such as the "AbsoluteMinimumDistanceThreshold".

Regards

@goetzfrv
Copy link
Contributor

goetzfrv commented Feb 4, 2025

Hello FloVesuv,
thanks for your information. It is true that the sensor's absolute distance shows some offsets on the near ranges below 150mm. This is due to the parallax effect and the associated transition to other illuminated pixels. Even though there is a default offset table for the single pixel offsets there are some deviations which need to be compensated for highest accuracy needs.

For pixel-to-pixel offset calibration it is advisable to perform the see https://broadcom.github.io/AFBR-S50-API/group__argus__meas.html#gabfbc2d139e090be5e06930814c4bf48e (Argus_ExecuteRelativeRangeOffsetCalibrationSequence())

For highest accuracy needs you may need to create a look-up table and collect all offsets of all ranges for each device under test.

For near range measurements we usually suggest the 85G variant which has a decent trade-off between limited number of illuminated pixels and enough pixels to compensate pixel-to-pixel offsets.

Best regards!

@FloVesuv
Copy link
Author

FloVesuv commented Feb 4, 2025

Hello goetzfrv,

Thanks for your quick feedback.

I've tried both pixel to pixel calibrations :

  • Argus_ExecuteRelativeRangeOffsetCalibrationSequence() : I have offset issues - find below the distance to the target measurement and the sensor measurement (target distance during calibration was 50mm) :
    - target distance : 50mm : sensor measurement : 48mm
    - target distance : 70mm : sensor measurement : 62mm
    - target distance : 90mm : sensor measurement : 78mm
    - target distance : 110mm : sensor measurement : 93mm
    - target distance : 130mm : sensor measurement : 109mm
    - target distance : 150mm : sensor measurement : 123mm

  • Argus_ExecuteAbsoluteRangeOffsetCalibrationSequence() : I have offset issues when I - find below the distance to the target measurement and the sensor measurement (target distance during calibration was 100mm) :
    - target distance : 100mm : sensor measurement : 100mm
    - target distance : 110mm : sensor measurement : 107mm
    - target distance : 120mm : sensor measurement : 116mm
    - target distance : 130mm : sensor measurement : 123mm
    - target distance : 140mm : sensor measurement : 130mm
    - target distance : 150mm : sensor measurement : 137mm
    - target distance : 90mm : sensor measurement : 92mm
    - target distance : 80mm : sensor measurement : 84mm
    - target distance : 70mm : sensor measurement : 77mm
    - target distance : 60mm : sensor measurement : 70mm
    - target distance : 50mm : sensor measurement : 62mm

So I need to use individual pixels values, and maybe use a look-up table.

Can the 85G variant compensate all theses offsets ?

Best regards,

@goetzfrv
Copy link
Contributor

Yes, for highest absolute accuracy for these close ranges you may need to have a look-up table.
Even though the 85G is the best option, you still may need a look-up table for these ranges.

Regards,
ToF support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants