ekf2: allow sideslip fusion to always start with airspeed fusion

This allow sideslip fusion to start during VTOL front transition or even
on a multirotor with a vertical stabilizer and an airspeed sensor for example.
This commit is contained in:
bresch
2025-01-22 09:33:16 +01:00
committed by Mathieu Bresciani
parent 1900d2c98f
commit caaae6ed51
3 changed files with 6 additions and 9 deletions
@@ -50,7 +50,7 @@
void Ekf::controlBetaFusion(const imuSample &imu_delayed)
{
_control_status.flags.fuse_beta = _params.beta_fusion_enabled
&& _control_status.flags.fixed_wing
&& (_control_status.flags.fixed_wing || _control_status.flags.fuse_aspd)
&& _control_status.flags.in_air
&& !_control_status.flags.fake_pos;
+3 -6
View File
@@ -573,12 +573,9 @@ private:
#endif // CONFIG_EKF2_AIRSPEED
#if defined(CONFIG_EKF2_SIDESLIP)
(ParamExtFloat<px4::params::EKF2_BETA_GATE>)
_param_ekf2_beta_gate, ///< synthetic sideslip innovation consistency gate size (STD)
(ParamExtFloat<px4::params::EKF2_BETA_NOISE>) _param_ekf2_beta_noise, ///< synthetic sideslip noise (rad)
(ParamExtInt<px4::params::EKF2_FUSE_BETA>)
_param_ekf2_fuse_beta, ///< Controls synthetic sideslip fusion, 0 disables, 1 enables
(ParamExtFloat<px4::params::EKF2_BETA_GATE>) _param_ekf2_beta_gate,
(ParamExtFloat<px4::params::EKF2_BETA_NOISE>) _param_ekf2_beta_noise,
(ParamExtInt<px4::params::EKF2_FUSE_BETA>) _param_ekf2_fuse_beta,
#endif // CONFIG_EKF2_SIDESLIP
#if defined(CONFIG_EKF2_MAGNETOMETER)
+2 -2
View File
@@ -6,8 +6,8 @@ parameters:
description:
short: Enable synthetic sideslip fusion
long: 'For reliable wind estimation both sideslip and airspeed fusion (see
EKF2_ARSP_THR) should be enabled. Only applies to fixed-wing vehicles (or
VTOLs in fixed-wing mode). Note: side slip fusion is currently not supported
EKF2_ARSP_THR) should be enabled. Only applies to vehicles in fixed-wing mode
or with airspeed fusion active. Note: side slip fusion is currently not supported
for tailsitters.'
type: boolean
default: 0