This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Attitude sensor experiment has inverted euler angles
#3
(09-06-2023, 04:28 PM)Jens Noritzsch Wrote: Hm, if I hold my iPhone in landscape orientation with the display facing to me, the angles are exactly as expected. This is the difficulty with Euler angles: the axes could be arbitrary — and they quickly start to mix…

If you would like to have different labels, you could simply exchange these with a text editor in the .phyphox file (“views” block).

Hallo Jens, thanks for replying! I might be wrong, but according to Android's notes here:

,%20float[])]SensorManager  |  Android Developers

the output of the experiment doesn't agree with that. 

As far as I know, with the phone flat and screen facing up, roll is defined about the phone's y-axis (the long axis), pitch is about the x-axis (short axis) and yaw is about the z-axis (out of the screen). As these angles defines the rotation of the phone's axes with respect to the global reference frame (i.e., gravity and magnetic North), with the phone kept vertical then roll is around the phone's z-axis, pitch around the phone's x-axis and yaw around the phone's y-axis. Basically, pitch and roll are about the horizontal axes and yaw is around gravity irrespectively of the phone's orientation (either flat or vertical).

I had a look to the xml code (thanks for the hint!) and it looks like euler angles are derived from a quaternion/rotation vector (rather than directly  from SensorManager.getOrientation)...which is fine!
But, assuming that the scalar part of the quaternion in the code is referred to as "q1" (as it is used for compute the variable named "direct" that should be the magnitude of the 3D rotation), then the formulas that output Euler angles look wrong. Quaternion multiplication formulas look wrong too. I tried to fix it according to standard math and what I got is some much conistent angles except for the fact that now rotation about the phone's y-axis is pitch and about x-axis is roll, which is strange as android tells the opposite. I could solve this just replacing roll with pitch as output name in the formula but I'd like to understand.
.phyphox   Attitude-euler_mod.phyphox (Size: 9.87 KB / Downloads: 1,129)
I'm attaching the xml I modified (using Notepad++). I wish I could contact the developer of the experiment but I couldn't find any reference.
Thanks for the support Jens!
Reply


Messages In This Thread
RE: Attitude sensor experiment has inverted euler angles - by pietropicerno - 09-06-2023, 11:40 PM

Forum Jump: