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.

OPT8241-CDK-EVM questions

Other Parts Discussed in Thread: OPT8241

Hi,

I would like to ask you some questions about the EVM as below.

Q1) Calibration

I think the EVM has 3 calibration profiles (Long Range, Short Range, High Ambient).

These are factory calibrated and we can use it for evaluation, correct?

If yes, could you tell me, how accurate is the depth measurement?

Q2) High Ambient profile

I think that his profile is for outside use, correct?

Do you have something relation data between "light strength (lux)" and "usable range, accuracy", for example 100K lux, 1.5m etc?

Q3) How to get all pixel data (320*240 dots)

We can get the data by points from "watch list" and "point cloud window".

But I would like all pixel data at a time, for example excell CSV file.

Could you tell me how to get the CSV data file of 320*240 dots?

Q4) "Z" data of watch list

The data "watch list" display is "point cloud" data, right?

Or depth map data??

Because I have a Z data as 1.5108 m on watch list although the actual distance is 0.65m.

I do not understand why the distance is 1.5m.

I used "Short Range" profile then.

Q5) Difference between "Depth map data" and "Point cloud" data

What is the difference between depth map data (u, v, d) and point cloud data (x, y, z)?

(u, v, d) is not the same as (x, y, z)? Sorry very basic question.

Q6) Changing wave length

Is it possible to use 940nm light to reduce the influence of ambient light?

OPT8241 can accept the wavelength of 940nm?

And do you have a sensitivity data in case of 940nm?

Q6) Operating temperature

About OPT8241, the temperature range is 0 to 70℃.

Is it possible for you to provide wider range (for example, -25 to 85℃) product?

Sorry to ask you many questions, thanks so much in advance.

Best Regards,

  • A1) Calibration:

    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. These are the factory calibrated profiles that should be used for evaluation, and the best one would be "Metrilus Long Range (HW)".

    The other profiles ("Short Range", "Long Range", "High Ambient", "Lens Only", "No Calibration") are base profiles that are used as parent profiles during calibration. These are not calibrated profiles.

    We have an accuracy (1 sigma repeatability of measurement) of about 1cm at 2m range and 3cm at 4m range on the Tintin CDK, for a 63% reflective standard target.


    A2) High Ambient profile

    This profile uses higher frame rates and shorter integration times and is suitable for use in higher ambient conditions.

    You can use our 3DToF Estimator tool to model the range and accuracy for your use case. This is available from the following location:
    www.ti.com/.../sbac124


    A3) How to get all pixel data:

    You can capture frames to a .vxl file (using the 'Save/Record' button on the toolbar) and export the desired data for all frames using the Voxel Exporter tool. This export feature is available from the 'File -> Export Raw Stream' menu item in Voxel Viewer.

    The exported data will be a raw binary file that can be read in any program.
    The exported binary fileSize is (numFrames * numCols * numRows * bytes-per-pixel).
    where bytes-per-pixel is:
    = 1 for ambient data (unsigned integer)
    = 2 for phase and amplitude (unsigned integer)
    = 4 for depth (float32)

    The data is in (cols-before-rows) format. (i.e., when you reshape the raw binary file, you will do (numFrames, numCols, numRows)

    We do not currently support direct export to .csv, but it is very easy to convert the raw binary files to a .csv if needed.


    Alternatively, you can also interface to the camera or to .vxl files using VoxelSDK. This will allow you to programmatically control the camera parameter and acquire frames.

    VoxelSDK is available here:
    github.com/.../voxelsdk


    A4) Z data of watch list

    The Z data in the watch list is the Z from the point cloud. It is not from the depth map.

    Your 1.5m (measured) vs 0.65m (actual) difference is probably because the profile was an uncalibrated profile. You can set one of the 'Metrilus * (HW)' profiles to check. (i.e., use 'Metrilus Short Range (HW)' instead of just 'Short Range')


    A5) Difference between depth map and point cloud

    The d from the depth map (u, v, d) gives the radial distance measured at pixel (u, v).
    The point cloud is reconstructed from the depth map by using the lens intrinsic and extrinsic parameters and provides world coordinates for each point. This reconstruction also corrects for effects of lens distortion.

    If the camera is facing a flat wall and is parallel to the flat wall, the Z number from the point cloud will be about the same for all pixels, but the d number will be different. The pixels near the optical center will have a smaller d than the pixels at the edge of the sensor.


    A6) Different wavelengths

    The OPT8241 sensor already has a narrow band optical filter around 850nm to improve the ambient performance. This filter will not allow 940 nm light to pass through.


    A7) Operating temperature

    I'm afraid the current products do not support the -25 to 85 C range at this time.
  • Hi Anand-san,

    Thank you very much for your kind reply !
    I understood well but let me ask you some additional questions as below?

    Q-A6) Is it possible to change the 850nm optical filter to 940nm one?
    Or do you plan to develop 940nm version?

    Q-A7) Do you plan to make the device which support -25 to 85C?
    If yes, how is the schedule to RTM?

    Best Regards,
  • Takumi-san,

    These are roadmap related questions and they can be answered only under NDA. Can you please mail us at ti-3dtof@list.ti.com?

    Regards
  • Bharath-san,

    Thank you for your reply.
    I understood.

    Regards,
  • could you tell me how to convert the raw binary file to .csv .thanks.
  • Hi,

    Thank you for your question.

    To my regret, as a result, I did not use CSV file...sorry.

    Probably you can find some free-application softs on some web sites.

    Regards,

  • Q1) I want to know what is the format of "the data is in (cols-before-rows) format." could you give me an example?

    Q2) I use matlab to read the raw depth(z) data and use the reshap funvtion to convert the data to matrix, then polt the data in the 3D surface ,but the figure is not what i want. so can you tell me where is the problem? thanks very much.
    the MATLAB code is

    clear all
    clc
    fid=fopen('xinxinde.bin','r');
    orignaldata=fread(fid,'float32');
    pixelarray=reshape(orignaldata,81,320,240);
    pixelface=pixelarray(50,:,:);
    a=reshape(pixelface,320,240);
  • thanks for your reply.
  • Could you tell how to get the standard deviation of the depth,the formula?
  • Hi Anand-san,

    could you tell me what's the frmat of the piont cloud data?
    I export the piont cloud piont data from the 'Export Raw Stream' ,how can i reshape the data to get the piont cloud data of one frame?
    is it the same as 'numFrames, numCols, numRows'?

    Best Regards,
    Carrie Lin
  • hi, Anand Gadiyar. I run voxelsdk on ubuntu successfully with OPT8241-CDK-EVM connected. But i want to run on ARM-Cotex A9 based linux(not ubuntu) development board. Does it support? If it support, any instructions can help? Thank you very much!
  • Hi,

    Please raise a separate query on this topic as it is not related to the question in this thread.

    Best Regards,
    Anand
  • TI Linux SDK supports A8 and A9 class Sitara processors that has Voxel SDK ported. TI Linux SDK runs on a variant of Yocto distribution. So, yes, it is possible to run Voxel SDK on other embedded Linux. The key is to make sure your Linux distro supports libusb and libudev. Point Cloud Library support is not necessary if you do not build PCL related app in the App folder. Since every distro has different package manager, how you get those libraries in your environment will have to depend on you.