Browse Source

EKF: Fix bug in calculation of terrain observation variance

master
Paul Riseborough 9 years ago
parent
commit
172f4be594
  1. 2
      EKF/terrain_estimator.cpp

2
EKF/terrain_estimator.cpp

@ -99,7 +99,7 @@ void Ekf::fuseHagl() @@ -99,7 +99,7 @@ void Ekf::fuseHagl()
_hagl_innov = pred_hagl - meas_hagl;
// calculate the observation variance adding the variance of the vehicles own height uncertainty and factoring in the effect of tilt on measurement error
float obs_variance = fmaxf(P[8][8], 0.0f) + sq(_params.range_noise / _R_to_earth(2, 2));
float obs_variance = fmaxf(P[9][9], 0.0f) + sq(_params.range_noise / _R_to_earth(2, 2));
// calculate the innovation variance - limiting it to prevent a badly conditioned fusion
_hagl_innov_var = fmaxf(_terrain_var + obs_variance, obs_variance);

Loading…
Cancel
Save