I am currently working on a project that is using the Adafruit 9dof IMU for an ahrs system running on an Arduino Nano. The heading values are not as accurate as I need them to be, even after calibration. The values seem fine for about 0 to 150 degrees, from then on are non-linear. I am curious if others have this issue, and if the 10DOF is a more accurate approach.
9DOF:
https://www.adafruit.com/products/1714
10DOF:
https://www.adafruit.com/product/1604
Thanks.
9DOF VS 10DOF IMU Accuracy
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_bill
- Posts: 88093
- Joined: Sat Feb 07, 2009 10:11 am
Re: 9DOF VS 10DOF IMU Accuracy
The only difference between the 9DOF and the 10DOF is the addition of a barometer for altitude sensing.
One limitation of the Euler equations used in the AHRS code is that they are subject to "Gimbal Lock" at certain orientations. This may account for the errors you are seeing. The solution is to use quaternion calculations, but these are quite a bit more complex.
We have a new IMU with the BNO055 sensor. This has a built-in microcontroller that does the quaternion calcuations right in the sensor:
https://www.adafruit.com/product/2472
One limitation of the Euler equations used in the AHRS code is that they are subject to "Gimbal Lock" at certain orientations. This may account for the errors you are seeing. The solution is to use quaternion calculations, but these are quite a bit more complex.
We have a new IMU with the BNO055 sensor. This has a built-in microcontroller that does the quaternion calcuations right in the sensor:
https://www.adafruit.com/product/2472
- Zfensler
- Posts: 8
- Joined: Thu Jul 16, 2015 7:36 pm
Re: 9DOF VS 10DOF IMU Accuracy
hmmm ok,
Do you guys do samples? This is part of a potential product for a customer
Do you guys do samples? This is part of a potential product for a customer
- adafruit_support_bill
- Posts: 88093
- Joined: Sat Feb 07, 2009 10:11 am
Re: 9DOF VS 10DOF IMU Accuracy
We do not do samples. If you can explain a little more detail about exactly which orientations are giving you bad data, we can probably determine if it is a case of gimbal-lock, or a different problem entirely.
- Zfensler
- Posts: 8
- Joined: Thu Jul 16, 2015 7:36 pm
Re: 9DOF VS 10DOF IMU Accuracy
I copied the AHRS example code, and all I am doing is a serial output of the heading. The roll and pitch values work well in the range I need. If I rotate steadily, 180, the reading is off about 70 degrees.
Code: Select all
Serial.println(orientation.heading);
- adafruit_support_bill
- Posts: 88093
- Joined: Sat Feb 07, 2009 10:11 am
Re: 9DOF VS 10DOF IMU Accuracy
gimbal lock typically occurs as the pitch approaches vertical, so that is not the issue here. Is there anything nearby that might be affecting the magnetic field? Magnets, motors, power supplies or anything large made of iron or steel?
Please be positive and constructive with your questions and comments.