My question is similar to Changing the coordinate system of the sensor in android
I want to be able to compare user movements with each other regardless of device orientation. So when users reach out the phone in portrait orientation and bend their arms, the acceleration readings are the same as when they reach out their phone in the landscape, and then bend their arms in the same direction.
This is what I call the "custom" coordinate system. It differs from the world coordinate system, because it does not matter which direction the wind belongs to. It differs from the coordinates of the device, since it does not matter how the user holds his device.
In my application, it is permissible to perform a calibration step before each movement, so that the base / rest orientation matrices can be determined. Perhaps this is just a matter of multiplying the matrix of the first motion with the inverse to the second (and then with the new values?)
The answer to the question posed seems correct, but I need a more specific explanation, real code samples would be ideal.
Note: remapCoordinateSystem is not enough, it only accepts right angles. I need to be able to work with small deviations, since the device is tied to the wrist, which may not always be at right angles to the hand.
source
share