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.

IWR1642BOOST: people counting demo - azimuthal angle and velocity

Part Number: IWR1642BOOST
Other Parts Discussed in Thread: IWR1642

Hi all, 

I am working on people count demo using IWR1642 boost. I created boxes as shown in demo video. I want to know whether the person is coming in or going out of the box without the GUI. I am trying to find this out with the help of velocity parameters.

Is there any judgments in velocity parameters like, 

i. If a person is moving towards the sensor, will the velocity be in positive? and vice versa

ii. Will the velocity sign (+/-) will help in finding the movement of the people towards or away from the sensor? 
If not, suggest some parameters which i can look into for finding the motion of people towards or away from the sensor.

Also , i want to know what are the best range of azimuth angle tilt values we can keep the sensor to get the best accuracy of people count in a room of about 6 meters.


Thanks in advance,
Ha An

  • Hi Ha An,

    1) Velocity of the tracked object is split into two components - x velocity and y velocity. When X position or Y position are increasing, the respective velocity values are said to be positive. So positive Y is moving away from the sensor, and positive X is moving to the right of the sensor (when facing same direction as sensor). 

    2) The Sensor is positioned at (0,0) in Cartesian space.  The target is approaching the sensor if position + (velocity*time_step) are approaching zero.  For example, assume the target is at (2,3) and has velocity (-0.5, -1). In the default configuration, each frame is 50 ms. Not accounting for acceleration, next position of the person is X = 2 + (0.05*-0.5) = 1.975 and Y = 3 + (0.05*-1) = 2.95. So new position will be (1.975, 2.95), which is closer to the sensor, so you can say the target is moving towards the sensor.  However, if velocity was the same but original position was (-2,-3), the new position would be (-2.025, -3.05), which would be farther from the sensor so the target would be moving away from the sensor.

    3)  The recommendation is to always have the sensor at 2-2.5 m with an down-tilt of about 15 degrees.  When placed in a square or rectangular room, I recommend putting the device in a corner, as the devices field of view is 120 degrees, and when in the corner, the whole room can be covered with a 90 degree field of view. I recommend starting with the default configuration, then changing the scenery parameters to meet the dimensions of the room. Remember to change the angle in trackingCfg as well - trackingCfg 1 2 150 20 200 50 90 - the bolded 90 will need to be changed to 45 or 135, depending on the direction of turn, explained in the Customization guide, page 7.

    Regards,

    Justin

  • Thanks a lot Justin. I hope i can use your suggestions to meet my expectations

  • Hi Justin,

    While working with the mmwave sensor tilt positions , as you mentioned in #3, i need to change the trackingCfg with respect to the tilt of the sensor.

    My objective is i need the room co-ordinates to be constant irrespective of the tilt of the sensor.

    1. Initially , kept the sensor parallel to the wall i.e., 0 degrees and obtained some positions of the room like (0,1),(0,2)...(0,5)
    2. I made the sensor to a tilt of +45degrees (sensor facing slightly down from the wall). So in the trackingCfg parameter i changed it to 135 degrees (90+45). Then i tested the same positions of the room,but obtained a different set of x and y co-ordinates.
    3. But i could see a rotation in the co-ordinates. So i tried to obtain the mathematical proof of the obtained values. I used rotation matrices formula to find the rotated point with the tilt angle value as theta in matrices. But if i am keeping the sensor at +45, i need to give theta value as -45 in matrices. I don't know why! but then only i am getting the co-ordinates value equal to my matrices value. But however i am in need of the theta value or the angle value.

    Is there any way to keep the co-ordinates constant even when there is a tilt in the sensor hardware?
    Also when i kept the trackingCfg constant to 90 and changed the tilt of the sensor to some angle, i obtained the co-ordinates different from when i changed the trackingCfg.
    So can you say what exactly happens when i am not changing the trackingCfg and changing the tilt of the sensor? or whether i can do this way? Is this a correct way?


    Thanks in advance,
    Ha An
  • Hi Ha An,

    The sensor should always be tilted slightly down - about 10 - 15 degrees. The parameter in trackingCfg is so you can turn the sensor left or right without experiencing a change in coordinates. Each value is passed to the tracking software with a range and azimuth, the trackingCfg value is used to normalize the azimuth value. Please confirm that you have been testing changing the horizontal angle of the board.

    If the sensor is tilted too far downwards, people in the room will not be in the field of view, and instead you will receive returns from multi path reflections. These will have incorrect range, and possibly incorrect angle. If the board is tilted down 45 degrees, you will have multipath reflections.

    Regards,
    Justin
  • Hi Justin,

    Thanks for the reply.

    But i am bit confused. If I am keeping the sensor with 15 degrees of downward tilt what should be the trackingCfg parameter and the azimuth angle field in GUI?

    Also if am changing the horizontal angle of the board to say 30 degrees along with the downward tilt what should be the trackingCfg parameter and the azimuth angle field in GUI?

    Can you please explain this?

    What i am doing so far is ,
    1. I have kept the trackingCfg to 90 in the config file.
    2. I will be keeping the sensor parallel to the wall. And changing tilt of the sensor horizontally towards left or right. That corresponding tilt which i made to the sensor is given as an input in GUI(i.e., in azimuth angle parameter field) . say if it is 20 towards right wall, i will be giving +20 in the azimuth angle parameter field of GUI and i will not be changing the trackingCfg ( It will be 90 always).

    Is my way of doing is correct?

    Thanks in advance,
    Ha An.
  • Hi Ha An,

    The GUI will overwrite the tracking config parameter in the config file automatically when you send the configuration.   So your method is correct.

    Please note that this really just changes where the sensor bore-sight (0 degree azimuth) appears in the GUI. If you change the angle to be 20 degrees, the bore-sight will move by 20 degrees.  The goal with this feature is to allow you to better visualize the room.

    For example:

    Put the device in a corner, at 45 degrees to either wall. Set the angle to 45 degrees, and set the Scenery parameters to reflect the position of the sensor.  Now the graph in the GUI will better represent the area.

    Regards,

    Justin

  • Yeah thanks a lot Justin.