Understanding the Error state (indirect) kalman filter

30 ビュー (過去 30 日間)
Sindre Hodneland
Sindre Hodneland 2020 年 5 月 6 日
編集済み: Sindre Hodneland 2020 年 5 月 6 日
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!

回答 (0 件)

カテゴリ

Help Center および File ExchangeState-Space Control Design and Estimation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by