This algorithm is key to space travel, GPS, VR and more, and it is over 50 years old
Earlier this week, MIT Technology Review published an article “How an Inventor You’ve Probably Never Heard of Shaped the Modern World” which described Rudolf Kálmán’s contribution to modern-day science and technology, a recursive estimation algorithm that accurately predicts variables such as direction, speed, and location even in noisiest of environments.
Rudolf Kálmán first described the Kalman filter in technical papers in 1960, a mere 2 years after NASA was founded. One of the first applications of the Kalman filter was the navigation for the Apollo Project. It was used to estimate the trajectories of manned spacecraft taking the first astronauts to the Moon and back. Since then, it has been used in many technologies that affect our daily lives, or will in the near future.
Here’s a list of some of the modern technologies that use Kalman filters:
The entire satellite-based global positioning system (GPS) was described as “one enormous Kalman filter” in the engineering textbook Global Positioning Systems, Inertial Navigation, and Integration. According to an IEEE article on the applications of the Kalman filtering in aerospace, “This Kalman filter has a large system state vector, including the trajectories of the 24+ satellites, the drift rates and phases of all system clocks, and hundreds of parameters related to atmospheric propagation delay as a function of time and location.”
Green technology is the focus of much research and commercial investment. In Europe, wind energy is rapidly gaining in adoption and Kalman filters are helping improve the efficiency of this technology.
Phys.org recently shared an article called “A software ‘detective’ for wind power generation” in which they described a new approach for prolonging the life of wind turbines by detecting wind anomalies such as wind shear and extreme gusts. The smart control software for the Windtrust project utilizes an extended Kalman filter for regression analysis.
In April, the Washington Post reported the United States’ National Weather Service is working on two improvements to their Global Forecast System (GFS) forecast model. The first establishes a time stamp on the data points used to run the model, removing the assumption that the data points were collected simultaneously. The second upgrade makes use of a variation on the Kalman algorithm. “The second addition was an ensemble Kalman filter, or EnKF, which essentially throws out bad data that would result in a poor forecast.”
Advanced Driver Assistance Systems (ADAS)
While self-driving cars top many newsfeeds, a simplified view of ADAS is a navigation system for our roads similar to the system Apollo used in space. ADAS systems will eventually be responsible for providing navigational guidance for autonomous vehicles. According to Paul Whytock’s article Why should car drivers love Kalman filtering, “The reason why drivers should love it is simple enough, it increases the efficiency of advanced driver assistance systems (ADAS) and makes vehicle control operations like blind spot detection, stability and traction control, lane departure detection and automatic braking in emergency situations a lot safer and more effective.”
Virtual Reality (VR)
In VR, predictive tracking is used to forecast the position of an object and its trajectory. Kalman filters are a common choice for this application. An MIT Press Journal article that tracks the history of using Kalman filters in VR applications states, “In recent years there has been an explosion in the use of the Kalman filter in VR/AR. In fact, at technical conferences related to VR these days, it would be unusual to see a paper on tracking that did not use some form of a Kalman filter, or draw comparisons to those that do.”
MATLAB and Kalman Filters
Kalman filters have many applications, and there are multiple MATLAB resources available to show you how to use them in your designs.
- Computer vision systems regularly rely on Kalman filters for object tracking, particularly when tracking multiple objects are required. Here is a short video on the topic.
- Here’s an example that shows how to perform automatic detection and tracking from a moving camera. This example contains several additional algorithmic steps including people detection, customized non-maximum suppression, and heuristics to identify and eliminate false alarm tracks.
- Kalman filters are commonly used in GNC systems, such as in sensor fusion, where they synthesize position and velocity signals by fusing GPS and IMU (inertial measurement unit) measurements. A case study using Kalman filters for controls systems can be seen here.
- Here’s an example of using Kalman filters to estimate the position and velocity of a vehicle in that can move freely in the two-dimensional space without any constraints.
There are many more examples using Kalman filters. Please post a comment and let us know how you’ve utilized Kalman filters in your design.
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.