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: Generating and optimizing point cloud data with mmWave sensors

Part Number: IWR6843ISK

Hi Experts,

We have been working with a few of the mmWave sensors (including the IWR6843ISK, IWR6843ISK-ODS and IWR6843AOP-EVM). So far our current approach is to flash the device with the Area Scanner Demo and then use a python script to extract the point cloud to display. Based on this work flow and plans to adopt a more robust work flow we have a few questions (All questions will be based on the IWR6843ISK but may also apply to other sensors in our fleet).

  • We attempted to adjust a few configuration parameters to achieve static object detection. However, when dynamic objects enter the field of view, there is too much noise (many cloud points uncorrelated with any objects of interest) in the image.  How do we suppress such noise? What are the best ways to reduce noise or points coming from reflections associated with static objects?
  • What signal processing algorithms are used (if any) to determine the location of objects? Is it the same for static and dynamic objects?
  • If multiple people are moving close together, how can one accurately determine if more than one person is in the group that is moving? 
  • Are there any reading materials for beginners that can help users pick up the concept of signal processing in FMCW mmWave sensing quickly (i.e. Quick start guide for code composer)? For example a very scaled down guide that demonstrates the signal flow to send out a single chirp, receive the reflected signal, obtain a point cloud and process it. The demo will also emphasize the function of the MSS, DSS and memory types with the most minimalistic code. Or a document that follows the flow in this document but shows the module(s) of the SDK that help one achieve each step.
    • Hi,

      1. There are a few knobs you can look at.
        1. If this is operating in an enclosed area, you may get fewer reflections by applying some txBackoff in order to lower the TX power. This is part of the profilecfg CLI command, and it is formatted as a bitmask for each of the three antennas, and txBackoff must be applied in 3 db steps. Some example values are below
          . Please note, this can result in fewer detections, so you may have to try a few values to find one which minimizes false detections without overly reducing the real detections.
          1. 197379= 0x00030303 which indicates a backoff of 3db on each tx Antenna
          2. 394758=0x00060606 which indicates a backoff of 6db on each tx Antenna
        2. You can increase the CFAR threshold, which is part of the cfarCfg cli command
      2. The area scanner demo is an evolution of the Out of Box Demo, which utilizes Bartlett beamforming. I would recommend you first review the documentation on the algorithm used for the Out of Box Demo, which is provided in the mmWave SDK. For Area Scanner, the static detection processing and group tracking processing is then added on top.
        1. The group tracker documentation can be found at <SDK_Install_Dir>/mmwave_sdk_03_05_00_04\packages\ti\alg\gtrack\docs
        2. Some additional description of the static detection processing can be found at <toolbox_install_dir>\mmwave_industrial_toolbox_4_11_0\labs\Area_Scanner\docs\static_detection_cli_commands.html
      3. This is tricky. If you are referring to them being close enough that group tracking is clumping them together, you can try to tune the group tracker by referring to the documentation in the people counting folder of the industrial toolbox, or you can add logic to your application which pays attention to how many people enter/exit the clump.
      4. I would say this sort of depends on what view you are looking for, depending on the background of you/your team.  
        1. If you are looking to understand the algorithm side of things, I would recommend you take a look at the videos here: https://training.ti.com/mmwave-training-series
        2. If you are looking to understand the software side of things, the documentation for the Out of Box Demo is the best place to start, as it has some detailed flowcharts for how the processing is done. This can be found at <SDK_Install_Dir>/packages/ti/demo/xwr68xx/mmw/docs/doxygen/html/index.html

      Let me know if you have further questions.

      Best Regards,
      Alec

    • Thank you so much Alec.

      The answer you have given is very comprehensive. Once I get a confirmation from my team by COB that they have no further questions, I will mark this as resolved. Please in the mean time I have one more question. Is there any virtual training course offered by TI that someone who wishes to learn to program TI sensors with code composer studio + SDK can take? I know there are some recorded training on the TI website but we will appreciate something a little more interactive.

    • Hi,

      We do not offer any interactive courses online, but this is really good feedback as it is something that we are considering going forward. Additionally, your local TI field representative should be able to offer hands on assistance when it makes sense.

      Best Regards,
      Alec

    • Hi,

      This will be really nice when such courses become available, looking forward to this. We do not have a local TI field representative. Is there a dedicated process in order for us to be assigned one?

    • Hi,

      I'm actually not certain on this, perhaps the TI Customer Support Center may be able to assist on this.

      Best Regards,
      Alec

    • Okay thanks Alec. Appreciate the information and help. Cheers.