Multisensor Data Fusion Multiple sensors provide complementary/redundant info Fusion improves accuracy, reliability, robustness Sensor 1 Sensor 2 Sensor 3 Data Fusion Engine Improved Estimate
What is Kalman Filter? Let us look at the Kalman Filter as a black-box which has inputs and outputs. The inputs are noisy and sometimes inaccurate measurements. The outputs are less noisy and sometimes more accurate estimates. The estimates can be system state parameters that were not measured or observed. The Kalman Filter estimates system parameters that are not observed or measured.
Kalman Filter Applications Kalman Filter as an algorithm that can estimate observable and unobservable parameters with great accuracy in real-time. Estimates with high accuracy are used to make precise predictions and decisions. For these reasons, Kalman Filters are used in robotics and real-time systems that need reliable information Kalman Filter is a generic algorithm that is used to estimate system parameters. It can use inaccurate or noisy measurements to estimate the state of that variable or another unobservable variable with greater accuracy.
Object Tracking feature extraction algorithms like FAST, SURF, SIFT, and ORB . After extracting features from the target object, you can try to track these features for each frame - create simple object tracker. But, what about predicting an object's motion? You might want to know where is going to be the target object after 1 second. You cannot do it by only using feature extraction algorithms, but don't worry; Kalman Filter is a perfect fit for motion prediction tasks.
Track objects and predict object's motion with the Kalman Filter and FAST Algorithm. Use the measured position of an object to more accurately estimate the position and velocity of that object.
Filter the Noise with Bayesian Probability Since noise is a gaussian distribution of known mean (zero) and covariance (you can find sigma on the spec sheet of the sensor), we can filter the noise with filtering algorithms like EKF and its variants which are based on Bayesian probability. Bayesian probability determines what is likely to be true based on past information.
Guidance, Navigation, and Control we need to have recorded some initial angle theta_0 at timestep_0. This is a discrete approximation for computing the integral so there would be some epsilon error added on but let’s ignore that for now. So in your autopilot you might have some angle calculator where you’re tracking the measured angle over time: Navigation that is dependent solely on inertial measurements like the above is called navigation by dead reckoning and is highly susceptible to drift even if you know the uncertainty of the measurement . Drift accumulates and gets worse over longer periods of time which is why these measurements need to be corrected every so often.
Sensor Fusion Since there is a drift in IMU measurement we need other sensors like GPS which is much slower but is not susceptible to drift. We fuse the data from IMU together with the GPS on a lower refresh rate, for example 10Hz, whereas the IMU measurements may come at 200Hz.
Complimentary Filter An EKF is not always necessary. A complimentary filter is much simpler and easier to compute. a weighting of the two sensors, weighted based on how much you trust the error of each measurement. This is an example of a complimentary filter for attitude using roll and pitch IMU measurements.
Advantages of Kalman Filter The real power of the Kalman Filter is not smoothing measurements. It is the ability to estimate system parameters that can not be measured or observed with accuracy. Estimates with improved accuracy in systems that operate in real time, allow systems greater control and thus more capabilities.
x state variable n x 1 column vector Output P state covariance matrix n x n matrix Output z measurement m x 1 column vector Input A state transition matrix n x n matrix System Model H state-to-measurement matrix m x n matrix System Model R measurement covariance matrix m x m matrix Input Q process noise covariance matrix n x n matrix System Model K Kalman Gain n x m Internal
Taxonomy of Fusion Algorithms By processing level Data-level (raw) fusion Feature-level (attributes) fusion Decision-level fusion By architecture Centralized (all raw data to fusion center) Decentralized (local estimates & tracks) Hierarchical / distributed By uncertainty model Gaussian (KF/IF/UKF/EKF) Non-Gaussian (PF, DS theory)
Use expert rules, AI, fuzzy logic, NN Encodes domain knowledge Handles uncertainty & nonlinear systems Knowledge-Based Fusion Expert System AI/ML Rules Fuzzy Logic Fusion Decision
Alternative to Kalman filter Uses information matrix instead of covariance Sensor contributions can be summed Data Information Filter Sensor Info 1 Sensor Info 2 Summation Filtered State Estimate
Each sensor runs local KF Sends local estimates to fusion node Reduces communication load Decentralized Estimation Node 1 Local KF Node 2 Local KF Node 3 Local KF Consensus Estimate
Deals with faulty/conflicting sensors Consensus algorithms ensure agreement Ignores or downweights faulty sensors Sensor Fusion & Approximate Agreement Good Sensor 1 Good Sensor 2 Faulty Sensor Consensus Algorithm Reliable Estimate
Handle large-scale sensor data Examples: KD-trees, R-trees, Hash tables Enable real-time fusion in robotics, AVs High-Performance Data Structures Trees Graphs Hash Tables Efficient Fusion