How does a Kalman Filter work?
It's nearly impossible to grasp the full meaning of Kalman Filter by starting from definitions and complicated equations (at least for us mere mortals). For most cases, the state matrices drop out and we obtain the below equation, which is much easier to start with.
What is it?
You can use a Kalman filter in any place where you have uncertain information about some dynamic system, and you can make an educated guess about what the system is going to do next. Even if messy reality comes along and interferes with the clean motion you guessed about, the Kalman filter will often do a very good job of figuring out what actually happened. And it can take advantage of correlations between crazy phenomena that you maybe wouldn’t have thought to exploit!
Kalman filters are ideal for systems that are continuously changing. They have the advantage that they are light on memory (they don’t need to keep any history other than the previous state), and they are very fast, making them well suited for real-time problems and embedded systems.
The math for implementing the Kalman filter appears pretty scary and opaque in most places you find on Google. That’s a bad state of affairs because the Kalman filter is actually super simple and easy to understand if you look at it in the right way.
A Quick Insight
As I mentioned earlier, it's nearly impossible to grasp the full meaning of Kalman Filter by starting from definitions and complicated equations (at least for us mere mortals). For most cases, the state matrices drop out and we obtain the below equation, which is much easier to start with.
Remember, the k's on the subscript are states. Here we can treat it as discrete time intervals, such as k=1 means 1ms, k=2 means 2ms. Our purpose is to find, the estimate of the signal x. And we wish to find it for each consequent k's. Also here, is the measurement value. Keep in mind that, we are not perfectly sure of these values. Otherwise, we won't be needing to do all these. And is called "Kalman Gain" (which is the key point of all these), and is the estimate of the signal on the previous state.
The only unknown component in this equation is the Kalman gain. Because, we have the measurement values, and we already have the previously estimated signal. You should calculate this Kalman Gain for each consequent state. This is not easy of course, but we have all the tools to do it.
On the other hand, let's assume be 0.5, what do we get? It's a simple averaging! In other words, we should find smarter coefficients at each state.
The bottom line is :
Kalman filter finds the most optimum averaging factor for each consequent state. Also somehow remembers a little bit about the past states.
Applications
The applications of a Kalman filter are numerous:
- Tracking objects (e.g., missiles, faces, heads, hands)
- Fitting Bezier patches to (noisy, moving, ...) point data
- Economics
- Navigation
- Many computer vision applications – Stabilizing depth measurements – Feature tracking – Cluster tracking – Fusing data from radar, laser scanner, and stereo-cameras for depth and velocity measurements – Many more
Reference: Kalman Filter for Dummies
Next: Maths behind Kalman Filter
Passionate Control Theorist with deep understanding of adaptive and optimal control | Innovator and automobile enthusiast| 10+ patents filed | Senior Technical Lead @ ZF group
4 年Also traditionally it wants the propagation model to be linear, although EKF can work on localized nonlinear models. In navigation and stuff, you need to fuse euler angle information coming from gyroscope and accelerometer and also estimate the rate biases for each axes. This is very important as without the bias estimation , you would get horrible drift
Passionate Control Theorist with deep understanding of adaptive and optimal control | Innovator and automobile enthusiast| 10+ patents filed | Senior Technical Lead @ ZF group
4 年They are optimal state observer for stochastic systems, where it tries to minimize the error covariance matrix of the final estimated state via kalman gain.
Senior SWE - Amagi | Ex-Amazon
4 年Kalman filter is nota a filter:( It's an algorithm:). Amazing ??
Looking for the Job opportunities| | AI Master thesis student| Roboticist | RWTH Robosys Grad |Autonomous Vehicle Engineer | Deep Reinforcement Learning | Computer Vision |Model Based Development|
4 年Kalman filters are basically designed to estimate an average value of two Gaussian distributions( i.e. predicted output & measured output) with the aim to minimize the error between them to the lowest minimum possible(zero eventually) & variance to be a more peaked or with zero spread or towards high confidence in the estimate of updated output:)
Technical Team Lead at Asteria Aerospace Limited specializing in Perception and Autonomy
4 年Understanding the important mean innovation, innovation covariance and ratio related to Kalman gain that what all you need.