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.

  • TI Thinks Resolved

CCS/IWR6843ISK-ODS: Overhead People Counting Demo for detected target message

Prodigy 180 points

Replies: 12

Views: 486

Part Number: IWR6843ISK-ODS

Tool/software: Code Composer Studio

I traced Overhead People Counting Demo souce code, and found something strange for below cases:
1. target info about accX/accY/accZ are assigned with dimension info (ex:targetList->target[n].accX = targetDescr[n].dim[0];)
2. No elements in MmwDemo_output_message_target struct to store dimensions info:depth, width, [height], doppler
3. However, TLV still have the output data for dimx/dimy/dimz     
Task_app.c
MmwDemo_appTask()
{
      for(n=0; n<tNum; n++) {
            targetList->target[n].tid  = (uint32_t)targetDescr[n].uid;
            targetList->target[n].posX = targetDescr[n].S[0];
            targetList->target[n].posY = targetDescr[n].S[1];
            targetList->target[n].posZ = targetDescr[n].S[2];
            targetList->target[n].velX = targetDescr[n].S[3];
            targetList->target[n].velY = targetDescr[n].S[4];
            targetList->target[n].velZ = targetDescr[n].S[5];
            targetList->target[n].accX = targetDescr[n].dim[0]; //refer to Gtrack.h & Mmw.output.h
            targetList->target[n].accY = targetDescr[n].dim[1]; //refer to Gtrack.h & Mmw.output.h
            targetList->target[n].accZ = targetDescr[n].dim[2]; //refer to Gtrack.h & Mmw.output.h
#ifndef ShortTarget
            memcpy(targetList->target[n].ec, targetDescr[n].EC, sizeof(targetDescr[n].EC));
            targetList->target[n].g = targetDescr[n].G;
#endif
        }
}
Gtrack.h
typedef struct
{
 /**  @brief   Tracking Unit Identifier */
 uint8_t uid;
 /**  @brief   Target Identifier */
 uint32_t tid;
 /**  @brief   State vector */
 float S[GTRACK_STATE_VECTOR_SIZE];
 /**  @brief   Group covariance matrix */
 float EC[GTRACK_MEASUREMENT_VECTOR_SIZE*GTRACK_MEASUREMENT_VECTOR_SIZE];
 /**  @brief   Gain factor */
 float G;
 /**  @brief   Estimated target dimensions: depth, width, [height], doppler */
 float dim[GTRACK_MEASUREMENT_VECTOR_SIZE];
} GTRACK_targetDesc;
Mmw.output.h
typedef struct MmwDemo_output_message_target_t
{
    /*! @brief   tracking ID */
    uint32_t    tid;
    /*! @brief   Detected target X coordinate, in m */
    float  posX;
    /*! @brief   Detected target Y coordinate, in m */
    float  posY;
    float       posZ;
    /*! @brief   Detected target X velocity, in m/s */
    float  velX;
    /*! @brief   Detected target Y velocity, in m/s */
    float  velY;
    float       velZ;
    /*! @brief   Detected target X acceleration, in m/s2 */
    float       accX;
    /*! @brief   Detected target Y acceleration, in m/s2 */
    float       accY;
    float       accZ;
#ifndef ShortTarget
    /*! @brief   Target Error covarience matrix, [3x3 float], in row major order, range, azimuth, doppler */
    float  ec[16];
    float       g;
#endif
 
} MmwDemo_output_message_target;

For the document -Overhead_People_Tracking_and_Stance_Detection_users_guide.pdf, it says dimx/dimy/dimz are the target size in x/y/z dimension.
Seems need to update overhead People Counting Demo sample code for such issue..
  • In reply to Justin Curewitz:

    Hi Justin,

    For below case, could you please explain more about "Obscured SNR Threshold"? 

    How does it be used in the case when a potential target is behind another target?

    =>

    AllocationParam 50 120 0.01 5 1 20

    Thanks.

    BRs

    Bruce

  • In reply to Bruce Hu:

    Hi Bruce,

    In the configuration you have given above:

    Case 1: Potential cluster for allocation is not obscured - cumulative SNR of the points associated with the target must be greater than or equal to 50.

    Case 2: Potential cluster for allocation is behind another tracked object (obscured). I.e.: There is a tracked target between the radar sensor and the cluster that is being considered for allocation. In this case, the cumulative SNR must be 120 or above.

    Regards,
    Justin

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.