I have an Oak-D Pro Wide and I'm trying to use the IMU to determine the roll, pitch, and yaw for a project to be able to map the real world depth data into a database. I'm using the ROTATION_VECTOR IMU method to get a quaternion that is referenced to north and gravity, as the documentation explains. This is the command I am using:

imu.enableIMUSensor(dai.IMUSensor.ROTATION_VECTOR, imu_samp_rate)

However, it seems like that no matter what I try the quaternion it gives me appears to be setting North (i.e. yaw=0 or 360) at whatever direction the camera was pointing when the pipeline was initialized.

I have checked the camera using the depthai viewer, and verified that the gyro, accelerometer, and magnetometer are all getting actual data values and respond to changes in orientation. I have even tried using GEOMAGNETIC_ROTATION_VECTOR instead to cut out the gyros but it seems to have the same issue.

I apologize in advance if this is something really simple that I overlooked.

    Hi silo
    This shouldn't happen if you use standard rotation vector. I'll check at the office to see if I can pinpoint the issue.

    Thanks for reporting.

    Jaka