How i remove drift of accelerometer

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How i remove drift of accelerometer

7,874 Views
prekop
Contributor II

Hello,

I am working on project with using acclerometer MMA8451 and gyroscope. I need measure vertikal position of general movement with maximal velocity to 10m/s in path to 2m. I have problem with removal drift ( after integration) of accelerometer. It exist any other technique except use Kalman filters? I dont use ZUPT algorithm - detection zero velocity. The drift of gyroscope is possible remove in complementary filter (gyro + acc) only in slow motion. Can You help me? What should be process calculation? Very thanks!
Labels (1)
6 Replies

2,774 Views
michaelestanley
NXP Employee
NXP Employee

We don't usually see noticeable drift in our accelerometers.  We do see post-board mount offsets.  These can be corrected using the precision accelerometer trim function in the Version 7.00 sensor fusion library.  I suggest you read section 2.8 (Inertial navigation - truth or fiction?) in the Version 7.00 User Guide.  You can download this from nxp.com/sensorfusion.

Regards,

Mike

0 Kudos

2,774 Views
prekop
Contributor II

Thank you for response. It means that i must constanty correct unstable bias (subtraction right value of g)? Bias is random value. I tried use hipass filter (MATLAB), but my motion is in very low frequencies. Filter was useless. I must  reducte drift  likely with absolute sensors as magnetometer, but it is difficult calculation.

Regards, Juraj.

0 Kudos

2,774 Views
michaelestanley
NXP Employee
NXP Employee

J.P.

You misunderstand.   The one-time calibration of the accels does a nice job of subtracting out offsets.  You should not have to constantly update the offset values.  You DO have to update the magnetic calibration, but that function is already included in our fusion library.

Neither of the above addresses random noise.  There's nothing you can do about that other than apply a low pass filter.  If you are using our fusion library, you should NOT do that.  We already include a low pass filter into the eCompass algorithm, and the Kalman filter already assumes random noise in the input (in fact, Kalman mathematics depend upon it).  As noted elsewhere, I am not a believer in pure (unassisted) inertial navigation using commercial grade sensors.  The calculations WILL blow up, it's just a question of when.

Mike

0 Kudos

2,774 Views
j_perezdelarray
Contributor III

Mike,

Then, you do not recommend to make use of the internal filter functions in the sensors when using NXP fusion library? FXAS21002 has an Internal low-pass & high-pass filters with programmable cut-off frequency.

How are the sensor filters preset in the evaluation kit?

regards,

0 Kudos

2,774 Views
michaelestanley
NXP Employee
NXP Employee

Javier,

Correct.  Don't use the internal low-pass & high-pass filters.  it's better if the Kalman filter deals with the raw signals.  the FXAS21002_Initialization structure in sensorfusion/sources/driver_FXAS21002.c is documented with register settings that we used.

Regards,

Mike

2,774 Views
prekop
Contributor II

Thank You very much for answers. I know already, that i need to use Kalman filter.

0 Kudos