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.

IWR1843BOOST: ROS point cloud

Part Number: IWR1843BOOST

Hello,

I am using IWR1843BOOST and TI's ROS package to generate a 3D point cloud on my laptop.

I would like to know what kind of signal processing is done by the on-chip processor for generating this point cloud. For example is it a 3D FFT based approach? Or some other method?

An elaborate answer would be appreciated!

Thanks,

Srayan Sankar Chatterjee

  • Hello Srayan,

    We have plenty of documentation and flowcharts on how the signal processing is done. You are correct that it is a FFT based approach.

    I heavily recommend you download our most recent SDK for mmWave Sensors (https://www.ti.com/tool/MMWAVE-SDK) and post installation go to the documentation folder as so:

    C:/ti/mmwave_sdk_03_06_00_00-LTS/packages/ti/demo/xwr18xx/mmw/docs/doxygen/html/index.html

    Here you will find a lot of details about the data paths and how we acquire all the data needed to create a point cloud. This includes many charts including the one shown above.

    Best Regards,

    Pedrhom Nafisi

  • Hello,

    Thank you for your response.

    Let's say I acquire the raw data from ADC using DCA1000 EVM. Then I perform some FFTs on that data for generating a point cloud.

    How will that point cloud be different from the point cloud obtained from ROS?

    Are there any distinct advantages of using DCA1000 board and generating point cloud using the raw I/Q data?

    Best Regards,

    Srayan Sankar Chatterjee

  • Hello Srayan,

    The point cloud you would generate from your FFTs would lack any post processing that we do such as the CFAR detection step. This means you will have a lot of noise but this can be filtered out with extra steps using certain algorithms. The distinct advantage of generating your own point cloud from raw data would be you being able to write your own custom algorithms which gives you more control over the final output.

    Best Regards,

    Pedrhom Nafisi

  • Hello,

    Thank you for the response.

    Will it be possible to develop a system that generates point cloud in real time while using the DCA1000 board?

    Or is that only possible by using the TI's ROS package?

    Which one would you recommend/prefer?

    Best Regards,

    Srayan Sankar Chatterjee

  • Hello Srayan,

    So if you are familiar with our Out of Box Demo within the Industrial Toolbox for mmWave Sensors on TI Resource Explorer (https://dev.ti.com/tirex/explore/node?a=VLyFKFf__4.12.0&node=APR4NbV00IeYkywyV9UT7g__VLyFKFf__4.12.0) the binary used here is exactly the same as what is used for the ROS Driver. This means everything outside of tuning via cfg file is exactly the same between the two. This code here is what does the actual point cloud generation and calculations shown in the diagram earlier in this thread. All the ROS driver does is pull this data from the sensor properly, no post-processing or calculations are done within ROS itself in the default ROS Driver.

    With that elaborated, the DCA1000 board will allow you to see raw data before any post-processing is done which is essentially a very crude and unrefined pointcloud. This allows you to create your own algorithms and see the results in the lowest level. My recommendation is unless you are a radar fundamentals expert and want to spend the time to create your own low level algorithms, it would be best to just use the Out of Box Demo binary as a starting point with the TI ROS Driver package for communication and Robotics cfg for tuning.

    Best Regards,

    Pedrhom Nafisi

  • Thank you for your detailed response.

    I get a feeling that it is not feasible to develop real-time point cloud generation system if we use the DCA1000 board. Am I right?

    If it is possible could you please explain how?

    From my experience we have to wait till the binary file is generated from the DCA1000 board which is exactly the reason why I feel real time point cloud generation while using the DCA1000 board is not possible.

    Best Regards,

    Srayan Sankar Chatterjee

  • Hello Srayan,

    This is correct and it is not feasible for the development of the point cloud in real time. The DCA1000 is generally used to write very low level algorithms via tools such as MATLAB, where a person would only need to record data once and manipulate it, rather than constant re-recording of data with high level tuning in between recording acquisitions.

    Best Regards,

    Pedrhom Nafisi

  • Thank you for your response