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.

IWR1843: Traffic vehicle monitoring

Part Number: IWR1843

Hi team,

Here's an issue from the customer may need your help:

Test demo for medium_range_radar and demo for Traffic_Monitoring with IWR1843 development board. Medium_range_radar was observed with a little cloud data, clustering target output, but the target was not assigned ID and tracking management through the visualizer. However, Traffic_Monitoring has an ID assigned to the target and tracking management.

Is it possible to port the assigned target ID and trace management functions for Traffic_Monitoring to medium_range_radar for similar functions? Is there another way to do assigning IDs to targets and tracking management?

When testing demo for medium_range_radar, the visualizer does not display the same number of targets when there are many targets in the vehicle. Is the target detected missing or is it limited by the associated code? Is there any way to increase the number of targets? And also when testing demo for Traffic_Monitoring, the Visualizer will get stuck if the vehicle has many targets.

Could you help check this case? Thanks.

Best Regards,

Cherry

  • Hello, 

    Yes it would be possible to port the tracker portion of traffic monitoring code to the medium range radar source. The four TLVs you would need to port over is Spherical Coordinates, TargetID, TargetList, and Target Height. Can you give an example or screenshot of what you are seeing when there is a mismatch between number of targets? Also are you getting an error when the visualizer gets stuck? Its possible that the sensor is crashing due to sensitivity being too low which causes too many detections, but I would need a better idea of what you're seeing.

    Best Regards,

    Pedrhom

  • Hi Pedrhom,

    Thanks for your support.

    1) radar_toolbox_1_00_01_07 is used. 

    2) It found that medium_range_radar implements point cloud clustering and trajectory tracking on the DSP (but no ID is assigned to the target). Is it possible to add code on the base of medium_range_radar to enable ID assignment to targets and trace management? 

    3) The tracker function of Traffic_Monitoring is implemented in ARM, and if the tracker portion of traffic monitoring code is ported to medium range radar, is it also ported to arm? If they want to detect and output 128 automotive targets at the same time, does ARM meet the requirement?

    4) Regarding assigning IDs to targets and tracking management, which method is easier and better for the above 2) and 3)?

    5) 

    Can you give an example or screenshot of what you are seeing when there is a mismatch between number of targets?

    Test medium_range_rada target number mismatch, meaning that when 2 or more cars are coming, some vehicle targets do not have prism, square clustering, and tracking target markers on the visualizer and only one point is moving. 

    6)

    Also are you getting an error when the visualizer gets stuck?

    No, no error happens.

    It works when the number of cars is low and the number of point clouds increases when the number of cars is high or there are large trucks and at this time it is easy to get stuck with the visualizer. If restart the visualizer, it will still work.

    As shown in the left Figure above, the left vehicle displays the tracking target marker and the right vehicle shows only one point.

    As shown in the right Figure above, the truck at a distance shows only one point, and the trolley at the near end has tracking marks.

    If set not to display point-cloud data on the Visualizer, only the tracking target will be displayed, it will result in missed detection of the vehicle. How to fix this?

    Thanks and Regards,

    Cherry

  • Hello,

    I will start with a little bit of detail on the tracker in Traffic Monitoring. I am almost 100% certain that with the tuning of tracker CFG parameters you will be able to have better range resolution to distinguish two different cars from each other, and allow cars that are farther way with a lower SNR to still be considered a track. The tracker algorithm used is the same that is used for 3D People Counting. That lab is for 6843 only, however the documentation covering the tracker layer parameters is still identical so I would start by going there. I would try changing stateParam and allocationParam in order to make the tracker more sensitive and better fit your environment. The default configuration is for tracking vehicles around 70 meters away and we can see with the current configuration it struggles to track a vehicle at 120 meters.

    When the visualizer gets stuck, is the device still chirping? You would be able to ascertain this via serial communication through an application like PuTTY or TeraTerm. I need more information in order to know if it is the device crashing or if it is just the visualizer.

    With regards to "Is it possible to add code on the base of medium_range_radar to enable ID assignment to targets and trace management?", it is possible but would require some work. The tracker could potentially run on the DSP core if all the point cloud processing is done on it in MRR demo. Is there a reason you want to change medium range radar to add tracking rather than just using Traffic Monitoring?

    Best Regards,

    Pedrhom

  • Hi Pedrhom,

    1) If the tracker from traffic monitoring is ported to medium_range_radar, in addition to the four TLV (sphere coordinate, TargetID, TargetList, and Target Height) mentioned above that need to be ported, what functions and parameters also need to be take care of for migration to match data and interfaces? 

    2) 

    Is there a reason you want to change medium range radar to add tracking rather than just using Traffic Monitoring?

    It is used in traffic monitoring to assign an ID to the monitored vehicle, the same ID keeps track of the same vehicle until the vehicle disappears in the radar detection range. As shown in the figure below, the customer wants ID:1 and ID:2 to follow the same vehicle at all times. Currently MRR demo can export detected vehicles. If they want to add an ID to the vehicle and track the vehicle until the vehicle disappears, is it possible? If so, how to implement it?

    Thanks and Regards,

    Cherry

  • Hello,

    1. You will need to move over the tracking algorithm itself which includes the trackingproc files and gtrack files.

    2. Tracker algorithm in Traffic Monitoring already gives a track id (tid) per track, it is just not being visualized. You can get an idea of everything that can be outputted in the Understanding UART Output TLV guide

    (https://dev.ti.com/tirex/explore/node?a=1AslXXD__1.00.01.07&node=A__AB9hZpEHkevINfCz6VJgQw__radar_toolbox__1AslXXD__1.00.01.07)

    The link covers the industrial demo TLVs and does not have the MRR ones but there are four and work in the same way. You can see MRR's TLVs in the mss_main.c. "CAN_MESSAGE_MMWDEMO_TRACKED_OBJECTS" will have the values listed in the MRR user guide and for every TLV that comes in you can give it an index.

    I will add the MRR and Traffic monitoring although similar in end result are built very differently from each other, so there is no easy way of turning one into the other, it will require porting of code. The tracking algorithms are different between the two demos as well.

    Best Regards,

    Pedrhom

  • Hi Pedrhom,

    So you would prefer to port the tracer for Traffic_Monitoring to medium_range_radar instead of adding code to medium_range_radar for ID and trace, right? 

    And the 2 tracking algorithms used for Traffic_Monitoring and medium_range_radar, which is better? 

    As this thread mentioned:

    Is the above way possible to implement? If so, how?

    Thanks and regards,

    Cherry

  • Hello,

    Detailed algorithm implementation is outside of the scope of the mmWave E2E forums support team. I will however suggest to use Traffic Monitoring's tracker. It is still being supported, expanded upon, and is being used across multiple mmWave Sensors. I personally would suggest starting from Out of Box Demo and adding tracker to that. This is partially due to you being able to use the open source visualizer "Industrial Visualizer" in the tools folder of the Radar Toolbox, so you can add all sorts of information to the visualization based off of the sensor's output as you'd like.

    Best Regards,

    Pedrhom Nafisi

  • Hi Pedrhom Nafisi,

    (https://dev.ti.com/tirex/explore/node?a=1AslXXD__1.00.01.07&node=A__AB9hZpEHkevINfCz6VJgQw__radar_toolbox__1AslXXD__1.00.01.07)

    The link covers the industrial demo TLVs and does not have the MRR ones but there are four and work in the same way. You can see MRR's TLVs in the mss_main.c. "CAN_MESSAGE_MMWDEMO_TRACKED_OBJECTS" will have the values listed in the MRR user guide and for every TLV that comes in you can give it an index.

    Just want to confirm, if the tracer for Traffic_Monitoring is ported to MRR, is it required to match the data format of the TLV required for the tracer and the TLV for MRR? Is it possible to match the data? 

    Thanks and regards,

    Cherry

  • Hi Cherry,

    Pedrhom is out of office for 2 days. Please give him some time to respond. Thank you for your patience.

    Best,

    Nate

  • Hello,

    The tracker algorithm expects the point cloud TLV in a certain format. If the point cloud were to have any alterations then the tracker would output incorrect tracking data. You can confirm the proper point cloud TLV structure by looking at the one in Traffic Monitoring and comparing it to the MRR one. My biggest suggestion is to get familiar with TrackerProc and all of its functions found within trackerproc .h and .c. This is where radar data is fed in and tracking data comes out as output.

    Best Regards,

    Pedrhom