mc_hover_thrust_estimator: validity flag and other small improvements/fixes

- track and publish validity based on hover thrust variance, innovation test ratio, and hysteresis
 - only publish on actual updates or becoming inactive
 - fix dt (previous timestamp wasn't being saved)
 - use local position timestamp (corresponding) to accel data rather than current time to avoid unnecessary timing jitter
 - check local position validity before using
 - mc_hover_thrust_estimator: move from wq:lp_default -> wq:nav_and_controllers to ensure the hover thrust estimator runs after the position controller and uses the same vehicle_local_position data
 - land_detector: check hover thrust estimate validity and adjust low throttle thresholds if hover thrust is available
 - mc_pos_control: only use hover thrust estimate if valid
This commit is contained in:
Daniel Agar
2020-08-03 10:30:52 -04:00
committed by GitHub
parent 958d5a36ec
commit ba640acfcc
7 changed files with 103 additions and 36 deletions
@@ -435,7 +435,9 @@ MulticopterPositionControl::poll_subscriptions()
hover_thrust_estimate_s hte;
if (_hover_thrust_estimate_sub.update(&hte)) {
_control.updateHoverThrust(hte.hover_thrust);
if (hte.valid) {
_control.updateHoverThrust(hte.hover_thrust);
}
}
}
}