ekf2: consolidate and simplify gnd effect logic

This commit is contained in:
Daniel Agar
2021-12-16 14:58:46 -05:00
parent 1d7791dad6
commit d6d529539d
9 changed files with 609 additions and 612 deletions
+4 -3
View File
@@ -47,10 +47,11 @@ void Ekf::fuseBaroHgt()
// Compensate for positive static pressure transients (negative vertical position innovations)
// caused by rotor wash ground interaction by applying a temporary deadzone to baro innovations.
const float deadzone_start = 0.0f;
const float deadzone_end = deadzone_start + _params.gnd_effect_deadzone;
if (_control_status.flags.gnd_effect && (_params.gnd_effect_deadzone > 0.f)) {
const float deadzone_start = 0.0f;
const float deadzone_end = deadzone_start + _params.gnd_effect_deadzone;
if (_control_status.flags.gnd_effect) {
if (_baro_hgt_innov < -deadzone_start) {
if (_baro_hgt_innov <= -deadzone_end) {
_baro_hgt_innov += deadzone_end;