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.