fix a bug in EKFUpate

This commit is contained in:
liqiang 2022-10-31 20:48:49 +08:00
parent 7b92124871
commit fa56ea3e2c

View File

@ -385,8 +385,11 @@ void GIEngine::EKFUpdate(Eigen::MatrixXd &dz, Eigen::MatrixXd &H, Eigen::MatrixX
Eigen::MatrixXd I;
I.resizeLike(Cov_);
I.setIdentity();
I = I - K * H;
dx_ = dx_ + K * dz;
I = I - K * H;
// 如果每次更新后都进行状态反馈则更新前dx_一直为0下式可以简化为dx_ = K * dz;
// if state feedback is performed after every update, dx_ is always zero before the update
// the following formula can be simplified as : dx_ = K * dz;
dx_ = dx_ + K * (dz - H * dx_);
Cov_ = I * Cov_ * I.transpose() + K * R * K.transpose();
}