IMU gyro values dont' seem right

I’m reading out an OS0 rev 6 with the 0.8.1 SDK and I’m seeing some odd values, even with the unit at rest. The acceleration is close to (0,0,1) as expected, but the gyroscope is reporting values near (0.5, 0.1, 1.5) degrees per second, which seems much larger than I would expect from the IMU spec sheet.

Does the IMU need some kind of zeroing or calibration that I’m missing?

Yes, you need to detect the IMU bias upon start while the sensor is in stand still then subtract the bias from the imu reading. You can establish the IMU bias for both the accelermator and gyroscope by taking the average over a sample size of 10-100 imu readings, which translates to about ~1 second or less.

Note that you need to establish this bias on a per session basis (i.e. at the start of sequence), since the bias can be affected by the environment and temperature.

Generally you should re-estimate this bias any time you know your platform is stationary to account for temperature and environmental drift over time.