mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-17 14:30:35 +08:00
ekf2: send airspeed data to ekf backend regardless of sign
On ground the airspeed can sometimes be slightly negative but the ekf should still know that airspeed data is flowing regularly
This commit is contained in:
@@ -2076,14 +2076,19 @@ void EKF2::UpdateAirspeedSample(ekf2_timestamps_s &ekf2_timestamps)
|
||||
if (_airspeed_validated_sub.update(&airspeed_validated)) {
|
||||
|
||||
if (PX4_ISFINITE(airspeed_validated.true_airspeed_m_s)
|
||||
&& PX4_ISFINITE(airspeed_validated.calibrated_airspeed_m_s)
|
||||
&& (airspeed_validated.calibrated_airspeed_m_s > 0.f)
|
||||
&& (airspeed_validated.selected_airspeed_index > 0)
|
||||
) {
|
||||
float cas2tas = 1.f;
|
||||
|
||||
if (PX4_ISFINITE(airspeed_validated.calibrated_airspeed_m_s)
|
||||
&& (airspeed_validated.calibrated_airspeed_m_s > FLT_EPSILON)) {
|
||||
cas2tas = airspeed_validated.true_airspeed_m_s / airspeed_validated.calibrated_airspeed_m_s;
|
||||
}
|
||||
|
||||
airspeedSample airspeed_sample {
|
||||
.time_us = airspeed_validated.timestamp,
|
||||
.true_airspeed = airspeed_validated.true_airspeed_m_s,
|
||||
.eas2tas = airspeed_validated.true_airspeed_m_s / airspeed_validated.calibrated_airspeed_m_s,
|
||||
.eas2tas = cas2tas,
|
||||
};
|
||||
_ekf.setAirspeedData(airspeed_sample);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user