我在几个地方都读过关于错误状态卡尔曼滤波器的信息,但我很难理解这些概念。有人可以逐步说明此过滤器的概念吗?我当然看过方程式,但是每个方程式在做什么,为什么?下面的Matlab代码用于尝试通过IMU测量来估计方向。
%%Update
y = [acc_x(i); acc_y(i); acc_z(i)]; % IMU measurement
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);
http://www.iri.upc.edu/people/jsola/JoanSola/objectes/notes/kinematics.pdf。 感谢您的任何评论!