Hi Nao, You are doing a rotation transformation on the "userAcceleration" data? Are you using any "deviceMotion" data? I have not found any documentation on what these different data sources mean. Not from Synapse and not on the iPhone websites I have perused. I concur that an example "test" case would be useful for "algorithm alignment"... e.g., with this toy example (userAcceleration = p_phone), you should get p_world as follows. If you have an example of such you want to share, I would appreciate it. Extracting "features" from a wrong scale won't benefit anyone.

Thanks Thanneer! After playing around with the data, I realized that you can validate if your transformation is correct by rotating your gravitational acceleration and making sure it points face down. I hope this could be useful to someone:) Nao

Yes, x and y are horizontal to the ground after rotation. The rotations are zero if you place your phone on a flat surface facing screen upwards. And the coordinates are computed with the top-left corner as reference.

Hi @nhiranuma You are correct (assuming the multiplication is a cross product between R rotation matrix and p_phone).

Also, how are the world's coordinates set up? Can we assume that x and y are horizontal to ground?

About the rotation matrix.page is loading…