mikeshub / Pololu_Open_IMU

24 stars 19 forks source link

use of Magdwick algorithm ? #5

Open jgastonraoul opened 8 years ago

jgastonraoul commented 8 years ago

Hello,

Quickly comparing Pololu_Open_IMU code with your OpenIMU generic library I don't find the code issued from Madgwick algorithm... Am I wrong or you've removed it for now ? Maybe it is what you want to say in your TODO at the beginning of the file...

Can you clarify me on this point ?

Regards,

Jérémie

mikeshub commented 8 years ago

I plan on adding that in once I put in defines or whatever I'm going to do to check for the 32 bit versions of arduino. The so called "Mahoney" algorithm uses the cross product of the measured vector and the estimated vector to adjust the gyroscope measurements which are then integrated to determine the estimated angle. The "Madgwick" algorithm takes the Jacobian of equation for the error between the vectors to directly adjusts the quaternion estimate in a way similar to what Kalman filters do, but the gains are fixed. In matlab I added the drift feedback as shown in figure three of

http://www.x-io.co.uk/res/doc/madgwick_internal_report.pdf

Anyway what I am getting at is the Madgwick filter doesn't run very well on 8 bit systems because of all the floating point operations. But it is coming back. I recently bought an ALT IMU v3 and v5 and soon intend to add in altimeter functionality as well as verify that the automatic detection works properly.

jgastonraoul commented 8 years ago

These are very promising improvements : can't wait to test them ! I'm using a Teensy 3.2, which is a 32 bits platform, so floating point operations shouldn't be a problem...