I need to impement a 9 DOF IMU to measure pose (x,y,z,roll,pitch,yaw). What's the easiest to use chip that I can implement that provides quality data

I am working on my final project for my four year bachelor's course and I need to implement a 9 DOF IMU to measure pose (x,y,z,roll,pitch,yaw). Essentially If I am able to read the quaternions from the IMU, that would be enough. I am using arduino as an MCU at the moment.
I have read multiple articles with issues with the yaw angle from the MPU9250 due to many fakes being on the market.
I have also read that calibration is a not an easy process for most chips. I am willing to put hours into this, but I am no expert in MCU programming but I need to get this to work. I would greatly appreciate all your help and comments : ))

You can forget about x, y and z, as it is not possible to estimate position using consumer grade IMUs.

Avoid obsolete chips like the MPU-6050 and the MPU-9250. Modern IMUs purchased from responsible western distributors and reliable hobby suppliers like Adafruit, Sparkfun, Pololu, etc. are guaranteed to be authentic.

Since the market is competitive, the modern IMUs have similar performance characteristics.

3 Likes

Thank you jremington for your quick response and help. I literally made this post hoping that you would comment as I have analysed many of your finding with regards to this issues with the MPU9250, especially with the calibration of the magnemometer and the issues with some of the code libraries publicly available. My mistake about the x,y,z, did not know what I was thinking. All I need is the roll, pitch, and, yaw. Using the MPU6050 last year I succesfully managed to acquire farly accurate data by reading the raw data, and then feeding that data into a Madgwick filter to get the quaternions. From the quaternions I then calculated the roll and pitch. The issue is that now I require the yaw too. That means I need a magnemeter (heading sensor).
If you had a suggest 2/3 IMU's that would allow me to do this (find the roll pitch and yaw), which are preferably easy to use/ calibrate/ documented, which ones would you suggest please? Any ready made arduino libraries would be a massive bonus :wink:

I believe that AHRS libraries are available for all the modern 9DOF IMU modules sold by Sparkfun, Pololu and Adafruit.

Code for sensor calibration continues to vary in quality, especially with the Bosch sensors (BNO series) so avoid those.

1 Like

Once again thank you for your respone, I am extremly grateful.
From the following sensors, which one would would you suggest for a simple implementation and easiest calibration as time is of essence for my thesis:

  1. ICM20948
  2. LSM9DS1
  3. BNO055

If there is some other chip that would be better, please do let me know. The scope of what I require is a chip that will provide me the qauternions such that i can find the roll, pitch, and yaw to a suitable level of accuracy.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.