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.

TDA3: radar_objectdetect_null

Part Number: TDA3

Hi,

I have a AR1243+RVP platform from D3 and would like to test the radar_objectdetect_null use case. I have made an AppImage with this option enabled in the tda3xx_rvp_bios_radar uc_cfg.mk. This option will stream the object detection data out to the Ethernet.

My questions are:

1. What is the format of this data stream?

2. Do you have Host PC UI (or not UI) software to receive this data stream from RVP?

Thanks,

--Khai

  • Hi Khai,

    The format on the network is an RGB565 1920x1080 image which has a sector on which the objects are drawn.

    The tool to capture the data is the network_rx.exe tool in vision_sdk\apps\tools\network_tools\bin.

    The command to invoke it is 

    For TFDTP : network_rx --host_ip <PC ipaddr> --target_ip <Board ipaddr> --usetfdtp --files <file>

    For TCP/IP : network_rx --host_ip <PC ipaddr> --target_ip <Board ipaddr> --files <file>

    Thanks and Regards,

    Piyali

  • Hi Piyali,

    Thanks for the pointers.  There are great commands to communicate back and forth with the TDA3 over Ethernet from an external PC. There isn't a command, however, to request Range/Dppler MaP (RDM) and Agnle data of detected objects for further processing such as object classification.

    What we want from the TDA3 is the complex values output of the RDM. Do you think this is possible even if we have to extend the existing API in the set of commands. We also want to the raw I&Q from the received RX channels.

    My other question is in regard to the set of existing commands. Assuming the TDA3 is configured with an IP address and connected to the Host PC over Ethernet. The TDA3 needs to be running a use case before it can respond to the commands requested from the Host PC. Is that how I understand it? Assuming that's true, however, not all radar use case is able to respond to all the commands send to it (ie: some radar use cases are not applicable to respond to the same defined set of commands from the Host PC). Is my understanding correct?

    Can the command set be extended and easily customized?

    Thanks,

    --Khai 

  • Hi Khai,

    The default example Usecase chain which the Processor SDK Radar Provides is:

    IssCapture -> Alg_RadarProcess_fft (DSP1) -> Alg_RadarProcess_pkDetect (DSP1) -> Alg_RadarProcess_beamForm (DSP1) -> Alg_RadarProcess_drawObjs (DSP1) -> NetworkTx (IPU1_1)

    The Alg_RadarProcess* are hosted on the DSP and the final compute happens on the EVE.

    The network commands are generic for supporting read data blob from the TDA3x or write data blob to the TDA3x. The contents of the blob are usecase specific and you can enhance them based on your usecase requirement.

    For starters, you can first start by removing from the usecase the Alg_RadarProcess_drawObjs (DSP1) piece and then regenerating the usecase.

    The steps to create a new usecase are given in vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_UsecaseGen.pdf

    This would give you the output of beam forming to be sent out over network. The output of beam forming is an array of the following structure:

    For the RDM, you would need to redirect the RDM output to the Network output, you would need to further modify the usecase to have below structure:

    IssCapture -> Alg_RadarProcess_fft (DSP1) -> Dup_fft (DSP1) -> Alg_RadarProcess_pkDetect (DSP1) -> Alg_RadarProcess_beamForm (DSP1) -> Alg_RadarProcess_drawObjs (DSP1) -> Merge (DSP1) -> Sync (DSP1) -> NetworkTx (IPU1_1)

    Dup_fft (DSP1) -> Merge (DSP1)

    This would make the RDM output of the FFT to also be part of the output via network.

    Thanks and Regards,

    Piyali

  • Hi Piyali,

    Thank you so much for the detail info. This is going to be a great help for me.

    I am a little confused about your explanation about the RDM part. The RED RadarProcess items below are what I have question about.

    IssCapture -> Alg_RadarProcess_fft (DSP1) -> Dup_fft (DSP1) -> Alg_RadarProcess_pkDetect (DSP1) -> Alg_RadarProcess_beamForm (DSP1) -> Alg_RadarProcess_drawObjs (DSP1) -> Merge (DSP1) -> Sync (DSP1) -> NetworkTx (IPU1_1)

    Dup_fft (DSP1) -> Merge (DSP1)

    1. Are you sure we still need drawObjs in the chain?

    2. What is the rest of the Dup_fft(DSP1)->Merge(DSP1) after NetworkTx(IPU1_1) for? are these just typo?

    3. I haven't had a chance to look at the UseCaseGen.pdf. Maybe it describes where the use case scripts are in the Vision SDK source tree. Can you tell me where to look in the source tree?

    Thanks,

    --Khai

  • Also, currently the Vision SDK available use cases for the 1243+RVP are one display for Range/Angle Map and one for Range/Doppler Map in the form of a heat map. They are two different use cases shown thru the console which can be called out. WE need to show both the RDM and Angle on the same screen. Can that be done?
    Thanks,
    --Khai
  • Hi Khai,

    IssCapture -> Alg_RadarProcess_fft (DSP1) -> Dup_fft (DSP1) -> Alg_RadarProcess_pkDetect (DSP1) -> Alg_RadarProcess_beamForm (DSP1) -> Merge (DSP1) -> Sync (DSP1) -> NetworkTx (IPU1_1)

    Dup_fft (DSP1) -> Merge (DSP1)

    The Draw was a typo in my earlier post. The draw Objs is not required.

    The Dup_fft (DSP1) -> Merge (DSP1) is required if you want to output the radar and doppler FFT output via ethernet as the output of Alg_RadarProcess_beamForm is just the final object list.

    I would recommend you to look at training.ti.com/start-development-processor-sdk-vision for a tutorial on vision SDK usecase generation. Around the 17th minute of this video you would see a short tutorial of the vision sdk use case generation tool.

    For showing both the angle and the heat map you would need to make some modifications to the usecase to either use mosiac view of the two outputs or modify the link to show both in the same buffer.

    Thanks and Regards,
    Piyali