This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Questions about Lens Calibration

Other Parts Discussed in Thread: OPT8241

Hi TI,

I am doing a design incorporating OPT8241 3DToF sensor, a manufacturing problem just came to me.

1) How did TI set the original intrinsic coefficient values to every single ToF sensor? Was the lens calibration done  by manufacturer or TI team did it themselves after receiving CDK boards?

2)If factory did the lens calibration, then how can it be done efficiently for let's say 5000 ToF sensors? According to the lens calibration section, the checkerboard-pattern way to calibrate the intrinsic values is a tough task for factory to perform.

3)Where will the calibrated coefficient values be stored? In EEPROM or another terminal which can store them properly matching with its board serial number?

4)Is there any other way to get the correct intrinsic values for each ToF sensor instead of the checkerboard-pattern way?

Sorry, too many questions wrapping around my head. Any guidance will be highly appreciated.

Thanks,

Justin Liu

  • 1. Calibration was done by the contract manufacturer who built the boards.
    2. TI's method for lens calibration is not necessarily the best calibration. TI method is only a reference. You can try more advanced methods that can do the calibration using single image. Meanwhile, we are trying to improve the TI method and may have an update in month or so.
    3. Calibrated coefficients are stored in the FX2 EEPROM on the board.
    4. In general, some pattern will be needed (Checkerboard/dots pattern etc.). TI is not the authority on the subject and there is plenty of literature available on the web.

    Regards
  • Hi Bharath,

    Thank you for your reply, it's really helpful. But I have some other questions about it.

    According to another query by the link below.

    https://e2e.ti.com/support/sensor/optical_sensors/f/989/p/486015/1752904#1752904

    There are 4 calibrated profiles called "Metrilus Lens Only (HW)", "Metrilus Long Range (HW)", "Metrilus Short Range (HW)", and "Metrilus High Ambient (HW)" stored in the EEPROM which I think they should be the calibration done by contract manufacturer as you mentioned above.

    So, I gather that theoretically each CDK will have its own calibrated profiles stored on board. But, the profiles by the same name on different CDK board should be at least slightly different to each other? Is there any way to read out the intrinsic coefficient values from the existing profiles? If there is, I really like to read out the coefficients data from EEPROM and compare them.

    Thanks,

    Justin Liu

    e2e.ti.com/.../1752904

  • Justin,

    If you have compiled Voxel-SDK or installed Voxel-SDK separately (apart from VoxelViewer), you will have the CameraSystemConfigTest executable in the Voxel-sdk bin directory.

    Using this binary, you can perform the following operations on calibration profiles -

    - inspect,

    - save to host

    - save to EEPROM / remove from EEPROM (not recommended operations)

    Once you save a config to host, you can take a look at %HOME%/.Voxel/conf or $HOME/.Voxel/conf directory for the calibration details.

    For more details, you can refer to the code -

    . Take a look at the argumentSpecifications Vector.

    Regards