Understanding the Error state (indirect) kalman filter
Show older comments
I have read about the error state kalman filter several places, but I have a hard time understanding the concepts. Can someone please give a step by step explanation of the concept of this filter? I have seen the equations of course, but what are each equation doing and why? Matlab code below is for trying to estimate orientation with IMU measurements.
%%Update
y = [acc_x(i); acc_y(i); acc_z(i)]; % IMU accelerometer measurements
K = P * H' * inv(H * P * H' + R);
delta_x_hat = K * (y - y_hat);
P = (I - K * H) * P * (I - K * H)' + K * R * K';
%%Prediction
% delta_x_hat = F*delta_x_hat; // not necessary according to link below
P = F * P * F' + G * Q * G';
%%Error injection
phi = phi + delta_x_hat(1); // roll
theta = theta + delta_x_hat(2); // pitch
b_b_ars = b_b_ars + delta_x_hat(3:5); // angular rate sensor biases
%%ESKF reset
delta_x_hat = zeros(5,1);
Thanks for any comments!
Answers (0)
Categories
Find more on State Estimation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!