gyro, accelerometer, magnetometer and Kalman filter

khatarat picture khatarat · Mar 15, 2011 · Viewed 23.5k times · Source

I want to use gyro, accelermeter and magnetometer to get a full smooth rotation in 3 axis.

The first problem is that my outputs individualy has very noise and I want to know how can I remove it.

The second problem is the gyro drift that I think it should solve with Kalman filter.

The third problem is the accelerometer. If I combine the gyro and accelermeter when I move the device without rotating the device the output will change. Is Kalman filter can remove the moving effect from output too?

Answer

Ali picture Ali · Mar 15, 2011

the first problem is that my outputs individualy has very noise and i want to know how can i remove it.

Yes, that is natural, do not worry, you can remove the noise.

the second problem is the gyro drift that i think it should solve with kalman filter.

Yes, Kalman filter is one way to go. You may find these answers useful:

Sensor fusioning with Kalman filter
Combine Gyroscope and Accelerometer Data

the third problem is the accelerometer.if i combine the gyro and accelermeter when i move the device without rotating the device the output will change.

I am not sure I understand that correctly. If you have magnetometer Kalman filter can remove the gyro drift even if you are not rotating the device. Is that what you are asking?

EDIT: Depending on your application, you can assume that the acceleration is zero on average. Read this, especially page 24:

http://gentlenav.googlecode.com/files/DCMDraft2.pdf

I use this assumption in my application for human motion sensing and it works perfectly.