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.

AWR1843BOOST: Doubts while parsing the data

Part Number: AWR1843BOOST
Other Parts Discussed in Thread: AWR1843

Hi,

I was trying to parse the data coming from the eval board over UART .....

02 01 04 03 06 05 08 07 //BARKER
EB D9 00 00 //crc
C0 00 00 00 //MSG LENGTH
42 16 0A 00 //Platform
FB 49 00 00 //Frame number
FD 38 A2 56 //CPU time
07 00 00 00 //No. of deteted objects
02 00 00 00 //no. of TLV
00 00 00 00 //subframe header

01 00 00 00 //tlv type
4A 00 00 00 //length
07 00 //no. of objects
07 00 //xyzQformat

00 07 3A 14 86 01 F8 27 00 00 //data1
80 04 68 10 C0 FE E4 17 00 00
00 00 8F 10 29 CE E8 FF 00 00
00 00 00 00 F8 CD 06 00 00 00
80 1C 00 00 60 FC E6 D7 00 00
80 22 00 00 4D FC 16 D8 00 00
00 E7 00 00 6D FC F5 27 00 00 //data7

03 00 00 00 //tlv type
34 00 00 00 //length
02 00 //no. of objects
07 00 //xyzQformat

FE FF D2 FD 01 00 01 02 01 00 01 00 02 00 00 00 00 00 00 00 00 C0 DF 44 //data1
93 FE C7 19 00 00 84 04 01 00 01 00 00 00 00 00 00 00 00 00 00 20 E0 44 //data2
So I got few question regarding the same...

1)the xyzQformat has to be inversed and multipled or do we have to take  2^ power of the xyzQformat bytes and then take inverse and then multiply it with all the values except peak...


2)As I understand detected objects are all the reflections of the radar and the tracked objects are the objects relevant to our application .so tracked objects are always a subset of detected object but sometime I am getting the number of tracked objects is greater than detected objects....how is this possible


3)And again how to classify between stationary object and moving object

and could you also provide some reference documents that I can refer regarding the data format

Thanks 
Regards

  • Hi Tanoop,

    Which application are you using on the AWR1843? Is it the OOB demo or some TI-REX application?

    Regards,

    Kaushik

  • I am trying to track objects for my Collision Avoidance System

  • Hi Tanoop,

    I am going to assume that your are using the MRR example as a base for your application. You can find the details of UART TLV here.

    {radar_toolbox_<ver>}/source/ti/examples/ADAS/medium_range_radar/docs/Medium_Range_Radar_users_guide.html

    This should provide you with the info you need.

    Regards,

    Kaushik

  • I have gone through that documentation, but it has not mentioned my main doubt that 

    Q)As I understand detected objects are all the reflections of the radar and the tracked objects are the objects relevant to our application .so tracked objects are always a subset of detected object but sometime I am getting the number of tracked objects is greater than detected objects....how is this possible

    like this 

    g_uc_Radar_Buffer[0]=2  //barker
    g_uc_Radar_Buffer[1]=1
    g_uc_Radar_Buffer[2]=4
    g_uc_Radar_Buffer[3]=3
    g_uc_Radar_Buffer[4]=6
    g_uc_Radar_Buffer[5]=5
    g_uc_Radar_Buffer[6]=8
    g_uc_Radar_Buffer[7]=7


    g_uc_Radar_Buffer[8]=b3 //crc
    g_uc_Radar_Buffer[9]=71
    g_uc_Radar_Buffer[10]=0
    g_uc_Radar_Buffer[11]=0


    g_uc_Radar_Buffer[12]=80  //total packet length
    g_uc_Radar_Buffer[13]=0
    g_uc_Radar_Buffer[14]=0
    g_uc_Radar_Buffer[15]=0


    g_uc_Radar_Buffer[16]=42  //platform 
    g_uc_Radar_Buffer[17]=16
    g_uc_Radar_Buffer[18]=a
    g_uc_Radar_Buffer[19]=0


    g_uc_Radar_Buffer[20]=9a   //frame number
    g_uc_Radar_Buffer[21]=ce
    g_uc_Radar_Buffer[22]=0
    g_uc_Radar_Buffer[23]=0


    g_uc_Radar_Buffer[24]=22 //cpu time 
    g_uc_Radar_Buffer[25]=8c
    g_uc_Radar_Buffer[26]=a1
    g_uc_Radar_Buffer[27]=7b


    g_uc_Radar_Buffer[28]=1 //no .of detected objects
    g_uc_Radar_Buffer[29]=0
    g_uc_Radar_Buffer[30]=0
    g_uc_Radar_Buffer[31]=0


    g_uc_Radar_Buffer[32]=2 // no. of tlv
    g_uc_Radar_Buffer[33]=0
    g_uc_Radar_Buffer[34]=0
    g_uc_Radar_Buffer[35]=0


    g_uc_Radar_Buffer[36]=0  //subframe
    g_uc_Radar_Buffer[37]=0
    g_uc_Radar_Buffer[38]=0
    g_uc_Radar_Buffer[39]=0


    g_uc_Radar_Buffer[40]=1 //tlv type one .... detected objects
    g_uc_Radar_Buffer[41]=0
    g_uc_Radar_Buffer[42]=0
    g_uc_Radar_Buffer[43]=0


    g_uc_Radar_Buffer[44]=e  //length
    g_uc_Radar_Buffer[45]=0
    g_uc_Radar_Buffer[46]=0
    g_uc_Radar_Buffer[47]=0


    g_uc_Radar_Buffer[48]=1 //no . of detected 
    g_uc_Radar_Buffer[49]=0


    g_uc_Radar_Buffer[50]=7 //xyzQformat
    g_uc_Radar_Buffer[51]=0


    g_uc_Radar_Buffer[52]=0 //data
    g_uc_Radar_Buffer[53]=0
    g_uc_Radar_Buffer[54]=aa
    g_uc_Radar_Buffer[55]=11
    g_uc_Radar_Buffer[56]=2b
    g_uc_Radar_Buffer[57]=3
    g_uc_Radar_Buffer[58]=1e
    g_uc_Radar_Buffer[59]=fb
    g_uc_Radar_Buffer[60]=0
    g_uc_Radar_Buffer[61]=0


    g_uc_Radar_Buffer[62]=3    //tlv type 3 ----tracked object
    g_uc_Radar_Buffer[63]=0
    g_uc_Radar_Buffer[64]=0
    g_uc_Radar_Buffer[65]=0


    g_uc_Radar_Buffer[66]=34   //length
    g_uc_Radar_Buffer[67]=0
    g_uc_Radar_Buffer[68]=0
    g_uc_Radar_Buffer[69]=0


    g_uc_Radar_Buffer[70]=2   // no. of tracked objects
    g_uc_Radar_Buffer[71]=0


    g_uc_Radar_Buffer[72]=7   //xyzQformat
    g_uc_Radar_Buffer[73]=0


    g_uc_Radar_Buffer[74]=b1   //data1
    g_uc_Radar_Buffer[75]=ff
    g_uc_Radar_Buffer[76]=23
    g_uc_Radar_Buffer[77]=fb
    g_uc_Radar_Buffer[78]=0
    g_uc_Radar_Buffer[79]=0
    g_uc_Radar_Buffer[80]=dd
    g_uc_Radar_Buffer[81]=ff
    g_uc_Radar_Buffer[82]=1
    g_uc_Radar_Buffer[83]=0
    g_uc_Radar_Buffer[84]=1
    g_uc_Radar_Buffer[85]=0
    g_uc_Radar_Buffer[86]=0
    g_uc_Radar_Buffer[87]=0
    g_uc_Radar_Buffer[88]=0
    g_uc_Radar_Buffer[89]=0
    g_uc_Radar_Buffer[90]=d2
    g_uc_Radar_Buffer[91]=b8
    g_uc_Radar_Buffer[92]=8f
    g_uc_Radar_Buffer[93]=3e
    g_uc_Radar_Buffer[94]=0
    g_uc_Radar_Buffer[95]=80
    g_uc_Radar_Buffer[96]=85
    g_uc_Radar_Buffer[97]=43


    g_uc_Radar_Buffer[98]=ad   //data2
    g_uc_Radar_Buffer[99]=2
    g_uc_Radar_Buffer[100]=11
    g_uc_Radar_Buffer[101]=fa
    g_uc_Radar_Buffer[102]=0
    g_uc_Radar_Buffer[103]=0
    g_uc_Radar_Buffer[104]=dd
    g_uc_Radar_Buffer[105]=ff
    g_uc_Radar_Buffer[106]=1
    g_uc_Radar_Buffer[107]=0
    g_uc_Radar_Buffer[108]=1
    g_uc_Radar_Buffer[109]=0
    g_uc_Radar_Buffer[110]=0
    g_uc_Radar_Buffer[111]=0
    g_uc_Radar_Buffer[112]=0
    g_uc_Radar_Buffer[113]=0
    g_uc_Radar_Buffer[114]=d2
    g_uc_Radar_Buffer[115]=b8
    g_uc_Radar_Buffer[116]=8f
    g_uc_Radar_Buffer[117]=3e
    g_uc_Radar_Buffer[118]=0
    g_uc_Radar_Buffer[119]=80
    g_uc_Radar_Buffer[120]=86
    g_uc_Radar_Buffer[121]=43


    g_uc_Radar_Buffer[122]=f
    g_uc_Radar_Buffer[123]=f
    g_uc_Radar_Buffer[124]=f
    g_uc_Radar_Buffer[125]=f
    g_uc_Radar_Buffer[126]=f
    g_uc_Radar_Buffer[127]=f


    like here where no. of tracked objects is greater than no. of detected objects..

  • Hi Tanoop,

    There is no necessity for the tracked objects to be a subset of the detected objects. The tracked object list is both a function of current frame's detection list and detections from the previous frame. 

    That being said, it is highly unlikely that you end up with more tracked outputs than actual list of detections. Can you share some screenshots across frames that describe this behavior so that the same can be looked at in detail?

    Also, can you mention any changes you might have done on the example or the configuration?

    Regards,

    Kaushik