We need to estimate the position and orientation of differential drive robot by using encoders and imu sensor. For this specific case, is there any advantage of using Kalman filter than taking the average of encoder data and imu data. What I mean by taking the average is finding position at each sampling step by using encoders and imu seperately and taking our estimate at that time instant as the weighted average of encoders and imu. For next time step use this estimate as previous position value for both encoders and imu and then again calculate the individual estimates and take again the weighted average as final estimate. And continue this way.

If Kalman filter would do a better job than this simple weighted averaging, could you please explain intuitively why.


It seem that your are missing some intuition about the function of a Kalman filter type filtering method. To a large degree the working principle of the Kalman filter is combining information from different sources in order to create estimates greater than the measurements from either individual sensor.

The advantage of the Kalman filter is that it offers a very mathematically "correct" way of doing so in addition to having the capability to filter away some measurement noise simultaneously, which a pure averaging type approach may not.

This is an extremely brief overview, for more information I have found that this book is a very nice resource. That being said it may not be as mathematically rigorous as some others, e.g. Optimal and Robust Estimation or Introduction to Random Signals and Applied Kalman Filtering or other such textbooks.

TLDR: Yes a Kalman filter would very likely perform better at the cost of effort/complexity. "Explain a Kalman filter" is a very non-trivial task, for which I refer you to some texts.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.