New download firmware has just been added to the repository http://code.google.com/p/ardu-imu/downloads/list
The v1.5 firmware includes:
- ADC oversampling which increases the effective resolution of the gyros and accelerometers
- Drift correction gain de-weighting and speed filtering
- Support for binary output messages as well as human readable
- Support for both hardware types
- Ground and Air start modes
- Other improvements and bug fixes
The binary output messages and air start modes have been added to support use of Ardu_IMU with ArduPilot. Complementary ArduPilot firmware will be coming soon. Interested alpha testers can PM me.
The Labview viewer software is still messed up. If someone with Labview would like to fix it please let me know and I'll tell you what needs to be done.
Comments
You didn't see much activity in the repository but Jose, Andrew and I worked for quite a while to find the bug in the gps parser and for a long time we thought it was a problem in the DMC algorithm code, so lots of changes were made. I don't remember that one in particular or what the corresponding change would be.
All of the angles should have a range of -180 to 180. I think we had an error in an earlier revision that had a range of 0-360 on one or more, but you really want -180 to 180 for the range.
I based my code on an earlier version (v14 I believe) and am just now looking into merging in some of the latest updates. One thing I've noticed is that the order of the parameters being passed to the Vector_Cross_Product call in roll_pitch_drift have been swapped.
I have:
Vector_Cross_Product(&errorRollPitch[0],&DCM_Matrix[2][0],&Accel_Vector[0]); //adjust the ground of reference
but it appears at some point later it has been changed to:
Vector_Cross_Product(&errorRollPitch[0],&Accel_Vector[0],&DCM_Matrix[2][0]); //adjust the ground of reference
Now my roll angle (haven't checked the others yet) at startup quickly increments up to 179.xx degrees instead of converging on zero. It also appears that instead of going past 180.0 degrees it becomes negative on the other side of 180.0.
Was there another change that accompanied changing the cross product direction? I'm thinking perhaps my sensor signs need to be adjusted to reverse the direction of the cross product result?
Any thoughts?
Thanks,
Dave