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.

IWR6843ISK-ODS: How to Detect 3D Point Cloud Data of Object Surface Shape?

Part Number: IWR6843ISK-ODS

hi!

If I use IWR6834ISK-ODS to detect the box, I need to get the 3D point cloud data of the whole box surface shape, but at present I can only get some scattered 3D point cloud data. I can not reconstruct the 3D model of the box based on these 3D point cloud data. What is the solution?

  • Hi User,

    Would you be able to post a picture of your scene and a screenshot of your visualizer? We'll need more information in order to assist you.


    Cheers,
    Akash
  • hi

    In this scenario, the sensor should detect a cup and a speaker, but after exporting the DAT file and analyzing it as shown in the figure below, only a small part of the point cloud can be obtained. In this experiment, I want to restore the 3D image of cup and speaker through the 3D point cloud data, so I don't know whether the analysis of 3D point cloud data is incorrect or Out. Of Box demo can only get so little point cloud data.

    Next is the code for analyzing 3D point cloud data:

    dataFile.open("test_3D_profile.dat",ios::binary);
    if (dataFile)
    {
    MmwDemo_output_message_header header;
    MmwDemo_output_message_tl_t tlv;
    DPIF_PointCloudCartesian pcc;
    int seekIndex = 0;

    while(dataFile.peek() != EOF){
    memset((void*)&header, 0, sizeof(MmwDemo_output_message_header));
    memset((void*)&tlv, 0, sizeof(MmwDemo_output_message_tl_t));

    dataFile.read((char*)&header, sizeof(MmwDemo_output_message_header));
    dataFile.read((char*)&tlv, sizeof(MmwDemo_output_message_tl_t));


    uint32_t length = sizeof(DPIF_PointCloudCartesian) * header.numDetectedObj;
    for (int i = 0; i < header.numDetectedObj; i++)
    {
    memset((void*)&pcc, 0, sizeof(DPIF_PointCloudCartesian));
    dataFile.read((char*)&pcc, sizeof(DPIF_PointCloudCartesian));

    point_3D.x = pcc.x;
    point_3D.y = pcc.y;
    point_3D.z = pcc.z;

    printf("X:%.3f Y:%.3f Z:%.3f\n",pcc.x,pcc.y,pcc.z);

    pointcloud->push_back(point_3D);
    }

    seekIndex = seekIndex + header.totalPacketLen;
    dataFile.seekg(seekIndex);
    }
    dataFile.close();

  • This questions has been addressed in the following thread:

    Compiler/IWR6843ISK-ODS: Is IWR6843ISK-ODS able to do 3D imaging

    Regards

    -Nitin