Orientation lectures

Hi,

This is like the 3rd or 4th post I open about this topic, and still not finding the problem.

I am trying to measue slopes with a ZED 2i, to do that i mount that on a e-scooter with a FIXED POSITION (which is facing the floor in 20º, the imu lectures are X:-20º Y:0 Z:0 while measuring them on a flat surface).
So, to properly obtain values in the point cloud I need to correct this initial inclination. Also, we have the IMU lectures at every frame, but i just notice they are just a nonsense, with your last update i can see the Zed Sensor Viewer SVO playback and i just notice this.

I recorded a video at a known slope. What I did was measure the slope, walk around the block, and return to the exact starting point. And i just dont understand this measurements.

At t=0 in this point i obtain this values:

X=167 Y=148 Z=.25º

Then at t=1 i obtain these ones:

X=144 Y=130 Z=-47,8

I can undestand the difference in Y and Z axis, but the X AXIS? How is this possible? There is a difference of 23º in THE SAME EXACT POSITION.

This is the first problem, how can the values be so different in the same position at different times?

The second question is, i am using this python code to extract to laz that “oriented” pointclouds.

main.py (10.7 KB)

At frame 1312 (t=0 previously mentioned) i obtain this values

At frame 2515 (t=1 previously mentioned) i obtained this others

Note a 8cm difference in the height. know that the points may not be exactly the same, that the cloud has a possible error and so on, but at such short distances (1 to 3 metres) and in something so clear, it seems to me that the difference in height is too great, which also means a difference of 3% more slope. I think there is something strange here.

Here is a OneDrive with the frames isolated on different svo2 and even their laz files.

Stereolabs

What am i doing wrong? How is this possible?

See also the euler angles at those frames, they are so differente

Frame 1312 CAMERA euler (deg)=(-8.605,2.378,-5.893)

Frame 2515 CAMERA euler (deg)=(-2.179,1.123,-2.304)

Hi @CristianViSa

There seems to be an issue with your comprehension of the Euler angle.
In the getEulerAgles() function, we apply the Y, Z, X rotation in this order.
With these high values on the other axis, you cannot compare the X angles difference alone because you apply the other axis before the X.

On the two images you linked, it is not the “THE SAME EXACT POSITION”. There is a big yaw difference, and the tilt looks like it changed a bit.
Your conclusion is wrong because of the way the Euler angles apply.

It’s not the same frame.

We tried to apply “your angles” to a placeholder gravity in the image frame. There is no component linked to an X tilt; the two other axes are too different.

A better way to compare the angles could be to convert them to quaternions.