Recommended use of BIAS when using DMP

By rover_shie , 30 April 2014

Simple question, I hope!

We're using DPM. We want to calibrate and store fresh bias values.

Should we be pushing fresh bias values to DPM e.g

dmp_set_gyro_bias

or using the overarching bias regs , e.g.

mpu_set_gyro_bias_reg (new in Motion Driver 5.1.2 API)

?

The example self test code in inv_mpu_dmp_motion_driver.c uses the mpu bias regs rather than the DMP bias regs.


My understanding is that there are a set of factory bias value held in OTP (One Time Programmable EEPROM). There are then a set of A&G bias registers and then DMP has a set.

The "MPU Hardware Offset Registers Application Note" says Gyro bias regs are zero on startup and Accell bias regs contain factory bias values. So I see why any bias adjustment has to account for the pre-loaded accel bias.

But, which is the best calibration route for using DMP ?

Cheers

Rob J

emmanuelsantiago

11 years 8 months ago

Hi,

Just to give my own experience, in my app I am pushing the biases from the self-test to the accel and gyro bias registers and the 6DOF quaternions are working out nicely from the DMP. I'm not touching the DMP biases (at least not directly through my own code).

inv_set_accel_bias(&accelBias[0], 3);
inv_set_gyro_bias(&gyroBias[0], 3);

I'm also pushing the mag (compass) biases but that's because I'm using eMPL 5.1 with mag support.

In the description for both of the functions above it says "these biases will be added to the factory-supplied values". I assume the self-test is performed with the factory supplied biases already applied to the sensor data such that the self-test is calculating any additional biases.

Regards,
Mark

phpbb Post ID
24966
phpbb Topic ID
16110