DSPRelated.com
Forums

Kalman Filter Post processing of IMU data

Started by Kiwi23 July 21, 2008
Hello All

I'm quite a newbie to the Kalman Filter. I'm using a 3 axis accelerometer
and gyroscope data to calculate angle, and from this 3D position (I also
have a magnetometer, but its outputs are too unreliable). I'm still trying
to understand how to apply the data I'm getting to the filter equations (if
you feel like explaining that it would be great :D).  

Anyway, I have the advantage in my application that the processing is done
after all the data has been logged.  With this in mind, is there a
different filter I should use? Any advice / resources would be greatly
appreciated.

Cheers

Cameron



On Mon, 21 Jul 2008 07:19:58 -0500, Kiwi23 wrote:

> Hello All > > I'm quite a newbie to the Kalman Filter. I'm using a 3 axis > accelerometer and gyroscope data to calculate angle, and from this 3D > position (I also have a magnetometer, but its outputs are too > unreliable). I'm still trying to understand how to apply the data I'm > getting to the filter equations (if you feel like explaining that it > would be great :D). > > Anyway, I have the advantage in my application that the processing is > done after all the data has been logged. With this in mind, is there a > different filter I should use? Any advice / resources would be greatly > appreciated. > > Cheers > > Cameron
How far have you gotten? You need to write the equations of motion for a free body that's sitting one Earth's diameter (assuming you're doing this in the gravity well) away from the center of the earth. You'll find that your equations have an undamped resonant mode with a period of 84 minutes (which is, not coincidentally, the period of a satellite orbiting earth at sea level). Then you'll find that your gyros and accelerometers, unless they're _really_ expensive, aren't good enough to help you much without external input, and those magnetometer inputs may start looking attractive. In just what way is the magnetometer "not good enough"? If it has a lot of noise but has a good average reading then it _is_ going to add value, and a properly constructed Kalman filter will tell you how to extract that value. -- Tim Wescott Control systems and communications consulting http://www.wescottdesign.com Need to learn how to apply control theory in your embedded system? "Applied Control Theory for Embedded Systems" by Tim Wescott Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
Tim Wescott wrote:

   ...

> You'll find that your equations have an undamped resonant mode with a > period of 84 minutes (which is, not coincidentally, the period of a > satellite orbiting earth at sea level).
Which is also the period of a pendulum one earth radius long working in a gravity field equal to the surface gravity. (2pi*sqrt[L/g]) That, in fact, is why that undamped (and unexcited) resonance is needed. ... Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Jerry Avins wrote:
> Tim Wescott wrote: > > ... > >> You'll find that your equations have an undamped resonant mode with a >> period of 84 minutes (which is, not coincidentally, the period of a >> satellite orbiting earth at sea level). > > Which is also the period of a pendulum one earth radius long working in > a gravity field equal to the surface gravity. (2pi*sqrt[L/g]) That, in > fact, is why that undamped (and unexcited) resonance is needed. > > ... >
Well, unexcited for a little while, unless you have really expensive sensors. In not-too-long of an interval, cheap (hence noisy) inertial sensors will have that resonance ringing right along. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" gives you just what it says. See details at http://www.wescottdesign.com/actfes/actfes.html