Hi i tried to align IMU coordinate to Unity coordinate. What i want to do is
- IMU coordinate(right hand) to Unity coordinate (left hand)
- IMU is attached to my hand so get the hand orientation(quaternion) using IMU (quaternion)
- IMU is attached to my hand so get the hand acc data using IMU acc
First I convert the IMU coordinate to unity coordinate
(x,y,z,w)_IMU -> (y,-z,-x,w)_Unity
and
(initial) * (y,-z,-x,w)
(initial is quaternion of hand when hand is showing up)
I think (y,-z,-x,w) represent the angle change in unity coordinate and multiply it with hand orientation so it algin well with hand rotation.
And this process works well when I check my real hand and fake hand in unity coordinates.
Next I want to convert IMU acceleration to unity acceleration
(x,y,z)_IMU -> (-y,z,x)_Unity
right hand to left hand
(IMU coordinate get from top) * (-y,z,x) * (IMU coordinate get from top)^-1
So i think this process can align IMU acceleration data to unity global coordinate.
But I am not sure this process is correct. So any help or comment about this is very thankful for me!
Unity coordinate:

IMU coordinate

Verify that the math process that i used is correct