Calculating height over floor

Can someone please post working code for calculating the sensor high over floor?

What exactly are a trying to achieve ? The location of the device should not have any real effect on how the sensor operates - it will provide you with a depth space.

Are you talking about some form of matrix transform to rotate the space maybe so that the depth space is aligned to the world ?

Westa

Our detection software is calibrated assuming that the origin of coordinate system is placed on the floor under the sensor. I was trying to move and rotate the Orbbec coordinate system using floor pane equation as we do it with Kinect, but I’m confused because the D coefficient of the equation which should be distance of the sensor to the floor along the normal (height over floor) seems to be very unstable and mostly incorrect. In my setup I place the sensor almost exactly 1,5 meter over ground and this is the value spread i get for the of the floor coefficients

1: A: 0.0, B: 1.0, C: 0.2, D: -527.719
2: A: 0.0, B: 1.0, C: 0.2, D: -2617.719

the first show 0.5 meter, second 2.6 meter but the proper height is as I said 1.5 meter.

Which device were you testing with - the Astra or the Astra S ?

How are you currently determining the D value ?

I would start by looking at the depth value of the center (320,240) pixel of the depth map.
And then the outer pixels:

(0,0)
(0,640)
(640,480)
(0,480)

What do these look like in your co-ordinate system?
This would to me be a fairly reliable matrix for rotation IMHO

Westa

I’ve have tested both versions Astra and Astra S. The D coefficient I get from the body frame bodyFrame.floor_plane(), but the problem is as I already wrote that during my tests the value of it is very unstable and incorrect as I have my sensor placed 1,5 m over the floor. Taking depth from those points you suggested want help my because what I need is to hook the coordinate system to the floor. The use case is that when the person stand on the floor his feet y position should be almost 0 of course with some threshold to compensate inaccuracy but the difference around 1 m is not acceptable. I’m attaching 2 screenshot showing the problem, the sensor is almost in the same position on both screenshots.

It sounds like it’s something that needs to be fixed in the SDK with the floor plane values.

I’d be curious to know if you have similar results when the floor is more fully visible by camera.

To workaround the issue, perhaps you could try estimating the floor height dynamically via feet positions + an offset. Or just try to rely on relative joint positions as much as possible. Good luck.

@pdondziak any progress regarding the height over floor issue?