Uncategorized

9DOF IMU sensor filtering for 3D orientation determination

Wow! That title is a mouthful.

The chip is a Sparkfun SEN-10724 9DOF IMU breakout board

The library I used to read the chip is a collection of other sensor libraries. It talks to the chip using the i2c interface of the Arduino Wire library. Note! Arduino Mega 2560 uses different default pins for i2c. I wasted two hours before I caught that mistake.

The next challenge is that the filters produce a lot of noise and do not, by themselves, produce really meaningful data. The accelerometer and gyroscope have to be combined to get orientation information. The smoother the filter, the slower the results change, so a happy balance has to be “massaged” out of the system. Some filters:

Click to access filter.pdf

http://en.wikipedia.org/wiki/Kalman_filter
http://code.google.com/p/9dof-orientation-estimation/

Here’s an example of what results SHOULD look like.