IMU with Dynamic Pitch

I am building a device (running on an Arduino and Raspberry Pi) that will be experiencing forward motion at 2-4 m/s and I need to determine the roll and pitch as accurately as possible (at least at 0.5 degrees of accuracy). The current IMUs I’ve been using dont have accurate pitch reading when the device is moving/accelerating. I’ve found some IMUs, that appear to have more accurate dynamic roll and pitch readings, but this come at a very steep price. Does anyone have any recommendations on any other IMU/inclinometers I should look into?

Thank you

Normally the three absolute angles are determined by the accuracy of the accelerometer detecting the direction of gravity. The accuracy is based on the resolution (ex. 12 bit, 14 bit). High accuracy / faster chips command a higher price. Using two IMUs and a Kalman filter might help a bit.

If it helps others - roll, pitch and yaw provide angular acceleration, which can be integrated to get angular velocity, and if the chip is fast enough, integrated again to get angle. However with this approach, there is always drift in the value since it’s all based on relative motion, whereas gravity is absolute. You need to find an IMU which as closely matches the project’s conditions to get as high an accuracy as possible. For example if an application needs 2g (linear acceleration), and you choose an accelerometer which is 200g, then the useful number of readings between -2g to +2g is a very small and quite useless. However if the closest is a 3g accelerometer, you’ll get 66% of the useful readings / accuracy.

1 Like