Question

I am looking for a way to combine data from a compass and gyro in order to determine attitude after the fact. I will be working with a complete data set in which the 3D compass and gyro readings have been recorded at regular intervals, but I want to recover an estimate of attitude in post-processing.

I've considered simply using a Kalman filter, since they are so well documented, but would rather use something more appropriate to a case where the complete data set is known. I have a feeling the solution is "simply" a least squares problem, but I'm hoping someone here can point me in the direction of a paper or two dealing with this problem (or problems like it).

At this point, I'm not even sure what this filter would be called, so I'm having a hard time finding useful search terms. Any help would be appreciated.

Thanks so much!

Was it helpful?

Solution

If you understand the Kalman filter in details, you can also implement the so-called Kalman smoother which operates on the complete data set.

However, let me warn you about one thing. There is no such thing as Kalman Filter for programmers. Kalman filter is difficult to understand. You won't be able to implement and use it correctly if you do not understand it.

My implementation is almost what you are looking for. I used accelerometer and gyroscopes but no compasses. It is based on this manuscript, read it first. The most detailed description I have at the moment is slides 29-32 in my presentation on sensor fusion. It is an open source project, and I plan to release an updated version of the solver in the upcoming weeks.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top