diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/10042_sihsim_xvert b/ROMFS/px4fmu_common/init.d-posix/airframes/10042_sihsim_xvert index 1409d90094..c09d24a8bf 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/10042_sihsim_xvert +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/10042_sihsim_xvert @@ -11,6 +11,8 @@ PX4_SIMULATOR=${PX4_SIMULATOR:=sihsim} PX4_SIM_MODEL=${PX4_SIM_MODEL:=xvert} +param set-default EKF2_FUSE_BETA 0 # side slip fusion is currently not supported for tailsitters + param set-default SENS_EN_GPSSIM 1 param set-default SENS_EN_BAROSIM 1 param set-default SENS_EN_MAGSIM 1 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1041_gazebo-classic_tailsitter b/ROMFS/px4fmu_common/init.d-posix/airframes/1041_gazebo-classic_tailsitter index 454ff8b8b2..efcff63995 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1041_gazebo-classic_tailsitter +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1041_gazebo-classic_tailsitter @@ -9,6 +9,8 @@ param set-default MAV_TYPE 20 +param set-default EKF2_FUSE_BETA 0 # side slip fusion is currently not supported for tailsitters + param set-default CA_AIRFRAME 4 param set-default CA_ROTOR_COUNT 4 diff --git a/ROMFS/px4fmu_common/init.d/airframes/1102_tailsitter_duo_sih.hil b/ROMFS/px4fmu_common/init.d/airframes/1102_tailsitter_duo_sih.hil index 9ba9822367..9003e546cb 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/1102_tailsitter_duo_sih.hil +++ b/ROMFS/px4fmu_common/init.d/airframes/1102_tailsitter_duo_sih.hil @@ -17,6 +17,8 @@ . ${R}etc/init.d/rc.vtol_defaults +param set-default EKF2_FUSE_BETA 0 # side slip fusion is currently not supported for tailsitters + param set UAVCAN_ENABLE 0 param set-default VT_ELEV_MC_LOCK 0 param set-default VT_MOT_COUNT 2 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter b/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter index 8e0ca8e0b6..fccaee8cf5 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter +++ b/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter @@ -12,6 +12,8 @@ . ${R}etc/init.d/rc.vtol_defaults +param set-default EKF2_FUSE_BETA 0 # side slip fusion is currently not supported for tailsitters + param set-default CA_AIRFRAME 4 param set-default CA_ROTOR_COUNT 2 param set-default CA_ROTOR0_KM -0.05 diff --git a/src/modules/ekf2/EKF2.cpp b/src/modules/ekf2/EKF2.cpp index f7fefd4412..129c4bfdcf 100644 --- a/src/modules/ekf2/EKF2.cpp +++ b/src/modules/ekf2/EKF2.cpp @@ -2360,6 +2360,12 @@ void EKF2::UpdateSystemFlagsSample(ekf2_timestamps_s &ekf2_timestamps) // let the EKF know if the vehicle motion is that of a fixed wing (forward flight only relative to wind) flags.is_fixed_wing = (vehicle_status.vehicle_type == vehicle_status_s::VEHICLE_TYPE_FIXED_WING); + + if (vehicle_status.is_vtol_tailsitter && _params->beta_fusion_enabled) { + PX4_WARN("Disable EKF beta fusion as unsupported for tailsitter"); + _param_ekf2_fuse_beta.set(0); + _param_ekf2_fuse_beta.commit_no_notification(); + } } // vehicle_land_detected diff --git a/src/modules/ekf2/ekf2_params.c b/src/modules/ekf2/ekf2_params.c index 6f58740372..0e3e21b3ea 100644 --- a/src/modules/ekf2/ekf2_params.c +++ b/src/modules/ekf2/ekf2_params.c @@ -1073,6 +1073,7 @@ PARAM_DEFINE_FLOAT(EKF2_EV_POS_Z, 0.0f); * value will determine the minimum airspeed which will still be fused. Set to about 90% of the vehicles stall speed. * Both airspeed fusion and sideslip fusion must be active for the EKF to continue navigating after loss of GPS. * Use EKF2_FUSE_BETA to activate sideslip fusion. +* Note: side slip fusion is currently not supported for tailsitters. * * @group EKF2 * @min 0.0