I am building a TriCopter based on the FEZmini .Net Micro Framework.
I have an ADXL345 triple axis Accelerometer and an ITG3200 triple axis Gyro which I am interfacing via I2C.
I am able to get data from the two sensors and they seem to be working fine. What I am having a hard time with is finding a filter that can successfully fuse the two sensors data together into useful IMU data.
I have converted the Kalman Filter presented by Varesano.net to c# but without any useful results. The filter simply does nothing when the IMU moves.
I also converted the complimentary filter presented by nuclearprojects.com to c# with more success, but not complete success: Although the X and Y values are stable, the Z axis keeps rotating fairly constantly, which means I have no good data for Yaw of my TriCopter.
If you need more background on my project, please let me know or have a look at my project on my site at: http://bit.ly/TriRot
Any help would be much appreciated.
Thanks in advance