robjames66 Posted April 11, 2014 Report Share Posted April 11, 2014 Hi Folks, I've been using the I2C MPU-6050 libs as a basis for an arduino based orientation tracker. All working well but I'm now delving deeping into the Invensense docs and examples and they differ in how calibration is handled. Do I have the following right ? The gyro/accel offset registers used by the I2Cdevlibs (setXGyroOffset etc) appear to be undocumented by invensense and used for factory calibration. I can see these are useful if re-calibration is needed as they're non-volatile and automatically used by DMP. The invensense motion driver code/examples recalibrate by pushing bias values calulated by the host (from raw gyro/accel data) down to the DMP using dmp_set_gyro_bias, etc. This is volatile so needs to be stored by the host somewhere such as additional EEPROM. The DMP can also be configured to perform 'self calibration' of gyro data after 8 seconds of no motion. Using the I2Cdevlib calibration I get good results. To combat yaw drift I add a drift compensation to the values which works very well as yaw drift seems to be consistent and stable even with lots of motions. Cheers, Rob Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.