Understanding the Error state (indirect) kalman filter

27 views (last 30 days)
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)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!