Converting IMU coordinate to Unity Coordinate

37 views Asked by At

Hi i tried to align IMU coordinate to Unity coordinate. What i want to do is

  1. IMU coordinate(right hand) to Unity coordinate (left hand)
  2. IMU is attached to my hand so get the hand orientation(quaternion) using IMU (quaternion)
  3. 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:

enter image description here

IMU coordinate

enter image description here

Verify that the math process that i used is correct

0

There are 0 answers