mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-27 10:17:45 +08:00
EKF: Restore protection from extreme innovation values
This commit is contained in:
committed by
Paul Riseborough
parent
efb78deef9
commit
b919f3ddf4
@@ -108,6 +108,10 @@ bool Ekf::fuseHorizontalPosition(const Vector3f &innov, const Vector2f &innov_ga
|
|||||||
const bool innov_check_pass = test_ratio(0) <= 1.0f;
|
const bool innov_check_pass = test_ratio(0) <= 1.0f;
|
||||||
|
|
||||||
if (innov_check_pass || inhibit_gate) {
|
if (innov_check_pass || inhibit_gate) {
|
||||||
|
if (inhibit_gate && test_ratio(0) > sq(100.0f / innov_gate(0))) {
|
||||||
|
// always protect against extreme values that could result in a NaN
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (!_fuse_hpos_as_odom) {
|
if (!_fuse_hpos_as_odom) {
|
||||||
_time_last_hor_pos_fuse = _time_last_imu;
|
_time_last_hor_pos_fuse = _time_last_imu;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user