I am trying to combine rotation information from two system in a VR/AR scenario, one is a computer vision solution/ visual SLAM coordinate, initializing the first frame as the world origin as position[0,0,0] and rotation[0,0,0]. the other one is a IMU coordinate, always gives the roll, yaw and pitch Euler angle with respect to the physical environment coordinate.

I think I can represent the rotation in the visual SLAM coordinate by the difference from the IMU coordinate.

In frame 0: visual SLAM system initialized, visual SLAM coordinate as origin with zero position and zero rotation; IMU gives a Quaternion: q_imu_zero, with respect to IMU coordinate.

In frame 1: IMU gives current Quaternion: q_current; the transform from frame 0 to current: q_imu_transform: q_imu_zero(-1) * q.

Question: Can I use the q_imu_transform to rotate in the visual SLAM coordinate system?

In my experiment in Unity editor, some of the axis rotation is meshed up and always wrong. when I rotate around y axis of my device, IMU gives the right rotation in the IMU coordinate, but visual SLAM system is rotated around z axis.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.