We're struggling to understand Rotation Vector returned by the IMU. We currently have several different models of Oak cameras (Oak-D-POE, Oak-D-Pro-POE, Oak-SR-POE), which should all have the BNO086 IMU, albeit all mounted in different orientations. The depthai-ros URDFs do not seem to support all the current models (PoE support is especially patchy). After carefully checking the circuit board CAD files, we've created URDFs based on depthai-ros so our TF tree should correctly handle the IMU orientations of all our camera types.
After carefully reading the BNO08X datasheet, "The rotation vector provides an orientation output that is expressed as a quaternion referenced to magnetic north and gravity", when enabling the ROTATION_VECTOR sensor, we expected to get a quaternion that expressed the rotation from a NED frame to the IMU frame. However, in testing one of our Oak-D-PoEs we get an identity quaternion returned only when the X axis of the IMU points toward magnetic North, the Y axis points West (not East) and the Z axis of the IMU points UP (not down, as we expected). This would imply the IMU is referencing a North-West-Up (or Forward-Left-Up, FLU) frame. Has anyone had this same result?
Also, does Luxonis enable any dynamic calibrations of the IMU sensors? What data (if any) is written to the FRS records on the IMU? In particular, does Luxonis intentionally write any orientation into the IMUs "system orientation" field? Is there anyway as a user for us to trigger the camera to command the IMU to persist the dynamic calibration data (DCD) to the FRS record (as mentioned in section 3.4 of the Datasheet)?