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-ODS: Chirp configuration stateParam definition

Part Number: IWR6843ISK-ODS
Other Parts Discussed in Thread: TIDEP-01000

Hi,

I'm working with IWR6843ISK-ODS to get the 3D people counting demo more sensitive to still subjects. I'm using mmwave industrial toolbox 4.2.0 and mmwave people counting gui.

I noticed the default chirp configuration (ODS_6m_default.cfg) has defined state transition parameters as follows:

stateParam 3 3 10 40 5 600

There is 6 parameters. In the documentation (pplcount_customization_guide.pdf and TIDEP-01000 People Tracking and Counting Reference Design Using mmWave Radar Sensor), there is only 5 parameters. Something has been added, but not documented. :)

Moreover, it would be very helpful to have all the chirp parameters explained in one document. Now the information is scattered in different documents. Also, so definitions I have found only on this forum. Thus, it's rather hard to get a complete picture of all the chirp parameters affecting my task.

Thanks!

  • Hi Mari,

    Thank you for pointing this out, did you have specific questions about the parameters?

    Cheers,

    Akash

  • Hi Akash,

    Yes! How should I interpret stateParam that has 6 values? Which of the 6 values is for example static2freeThre? And what is the new added parameter?

    In the documentation stateParam values are described as follows: det2activeThre, det2freeThre, active2freeThre, static2FreeThre, exit2freeThre. In total, this is 5 parameters.

    -Mari

  • Hi Mari,

    The last parameter is the new one - this is called sleep2Free threshold. When a track is only associated with points from the static point cloud (i.e. no movement is detected but an object is detected) then the track will be maintained, and a timer will start. If this timer reaches the sleep2free threshold, the track will be dropped. If the track is associated with a dynamic (moving) point, then the timer will be reset.

    Regards,

    Justin

  • Hi Justin,

    Thanks for the fast answer! I'm happy to see that sleep applications are taken into consideration. Now everything makes sense.

    What is the rule for entering into sleep state? Will this parameter have an effect on 3D people counting demo or is it only functional in some sleep/respiration monitoring demo?

    Thanks!

    -Mari

  • Hi Mari,

    Sleep state refers to an internal tracker state. This state occurs when:

    1. An active track is not associated with any dynamic points
    2. The active track is associated with static points

    If a person is still, they will not create active points, but will still generate static points. However, non human objects can still  create static points, so we have the timer incase there is a track is accidentally placed on a nonhuman object, like a chair or wall. The expectation is that people will move enough to occasionally reset the timer.

    Regards,

    Justin

  • Hi Justin,

    Thanks for the answer! However, I'm still a little confused.

    My understanding with detailed questions is now as follows:

    1) So there are 4 internal tracker states: FREE, DETECT, ACTIVE, and now also SLEEP. Does SLEEP state actually refer to a person sleeping in a bed or a nonhuman object generating static points?

    2) Then, "Once per frame, the instance can get HIT (have non-zero points associated to a target instance) or MISS (no points associated) event." Does non-zero points refer non-zero _number_ of points or points with non-zero power value?

    3) As you described, the points may be either DYNAMIC, STATIC, or ACTIVE. What is the difference between DYNAMIC and ACTIVE points? Also does DYNAMIC/ACTIVE refer to points moving in x/y/z-plane, power value higher than threshold, or non-zero value in Doppler domain?

    4) What is the difference between the transition from ACTIVE to FREE and the transition from ACTIVE to SLEEP?:

    ACTIVE -> FREE rule:

    " When in ACTIVE state, the handling of the MISS (no points associated) is as follows: • If the target is in the static zone and the target motion model is _ close to static_ ...  ...use the static2free threshold..."

    compared to ACTICE -> SLEEP rule:

    "1. An active track is not associated with any dynamic points. 2. The active track is associated with static points."

    I think this is highly important for developers to really understand the internal state transitions. A state transition diagram picture would help.

    Thanks!

    -Mari

  • Hi Mari,

    It is important to understand that we are discussing points, which are radar detection in the point cloud, and tracks, which are clusters of points tracked over time by the tracking software

    1. Sleep refers to a track that is only associated with static points. Tracker does not know what the object being tracked is.

    2. Non-zero means any number of points besides zero.

    3. Points are dynamic or static. Dynamic points have non-zero doppler, static points have zero doppler. Tracks are

    1. Free
    2. Detect
    3. Active

    Sleep and Static are subsets of the Active state. A Free means the track isn't tracking anything. This is used because we preallocate all of the tracks in memory. Detect means the track has recently been detected, and detected tracks can't be static or sleep. Detect tracks also have a different counter to be freed. Active means the track has been around for a bit. It can be static or sleep. 

    When a track is allocated, it goes to Detect state. If we continue to see the track, it will transition to Active. If we don't see it, it will transition to Free. Once Active, it can also be tagged as Sleep or StaticActive, Sleep, and Static  all have different release timers. A transition to Free is a release of the track. (You don't report tracks in Free state). Static means we think the track is still but have no detected points, Sleep means we think the track is still and have detected static points. Active tracks are moving, and may or may not have points associated with them (but will only be associated with dynamic points). 

    4. Each threshold is used to determine a state change. (Free, Detect, Active). Active tracks have 3 thresholds, which are selected based on the behavior of the track:

    1. Active2Free
    2. Static2Free
    3. Sleep2Free

    Behavior is described in 3. Detect tracks have 2 thresholds, one to become Active and one to become Free

    1. Det2Active
    2. Det2Free

    Regards,

    Justin

  • Justin,

    Excellent! Thank you so much for explaining everything! This is very informative!!!

    -Mari