mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-10 18:41:35 +08:00
Airspeed Selector: enable airspeed_validated in control modules (#12887)
* FW attitude controller, FW position controller and VTOL attitude controller subscribe to airspeed_validated topic * add possibility to switch off the airspeed valid checks * remove airspeed valid checks from commander * clean up of VTOL transition logic * Airspeed Selector: remove dynamic allocation of airspeed validators (depending on number of connected sensors) but do it statically for the maximum number allowed. Check for number of connected sensors not only during start up, but always when vehicle is disarmed. * Airspeed Selector: change work queue from lp to att_pos_ctrl as this module is safety-critical * add airspeed selector to px4_fmu-v2 defaults
This commit is contained in:
committed by
Daniel Agar
parent
a46581987c
commit
ebdc29bc5f
@@ -848,95 +848,6 @@ PARAM_DEFINE_INT32(COM_OBS_AVOID, 0);
|
||||
*/
|
||||
PARAM_DEFINE_INT32(COM_OA_BOOT_T, 100);
|
||||
|
||||
/**
|
||||
* Airspeed failsafe consistency threshold (Experimental)
|
||||
*
|
||||
* This specifies the minimum airspeed test ratio as logged in estimator_status.tas_test_ratio required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Start with a value of 1.0 when tuning. When estimator_status.tas_test_ratio is > 1.0 it indicates the inconsistency between predicted and measured airspeed is large enough to cause the navigation EKF to reject airspeed measurements. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the COM_TAS_FS_INTEG parameter. The subsequent failsafe response is controlled by the COM_ASPD_FS_ACT parameter.
|
||||
*
|
||||
* @min 0.5
|
||||
* @max 3.0
|
||||
* @group Commander
|
||||
* @category Developer
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(COM_TAS_FS_INNOV, 1.0f);
|
||||
|
||||
/**
|
||||
* Airspeed failsafe consistency delay (Experimental)
|
||||
*
|
||||
* This sets the time integral of airspeed test ratio exceedance above COM_TAS_FS_INNOV required to trigger a failsafe. For example if COM_TAS_FS_INNOV is 100 and estimator_status.tas_test_ratio is 2.0, then the exceedance is 1.0 and the integral will rise at a rate of 1.0/second. A negative value disables the check. Larger positive values make the check less sensitive, smaller positive values make it more sensitive. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.
|
||||
*
|
||||
* @unit s
|
||||
* @max 30.0
|
||||
* @group Commander
|
||||
* @category Developer
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(COM_TAS_FS_INTEG, -1.0f);
|
||||
|
||||
/**
|
||||
* Airspeed failsafe stop delay (Experimental)
|
||||
*
|
||||
* Delay before stopping use of airspeed sensor if checks indicate sensor is bad. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.
|
||||
*
|
||||
* @unit s
|
||||
* @group Commander
|
||||
* @category Developer
|
||||
* @min 1
|
||||
* @max 10
|
||||
*/
|
||||
PARAM_DEFINE_INT32(COM_TAS_FS_T1, 3);
|
||||
|
||||
/**
|
||||
* Airspeed failsafe start delay (Experimental)
|
||||
*
|
||||
* Delay before switching back to using airspeed sensor if checks indicate sensor is good. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.
|
||||
*
|
||||
* @unit s
|
||||
* @group Commander
|
||||
* @category Developer
|
||||
* @min 10
|
||||
* @max 1000
|
||||
*/
|
||||
PARAM_DEFINE_INT32(COM_TAS_FS_T2, 100);
|
||||
|
||||
/**
|
||||
* Airspeed fault detection stall airspeed. (Experimental)
|
||||
*
|
||||
* This is the minimum indicated airspeed at which the wing can produce 1g of lift. It is used by the airspeed sensor fault detection and failsafe calculation to detect a significant airspeed low measurement error condition and should be set based on flight test for reliable operation. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.
|
||||
*
|
||||
* @group Commander
|
||||
* @category Developer
|
||||
* @unit m/s
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(COM_ASPD_STALL, 10.0f);
|
||||
|
||||
/**
|
||||
* Airspeed fault detection (Experimental)
|
||||
*
|
||||
* Failsafe action when bad airspeed measurements are detected. Ensure the COM_ASPD_STALL parameter is set correctly before use.
|
||||
*
|
||||
* @value 0 disabled
|
||||
* @value 1 log a message
|
||||
* @value 2 log a message, warn the user
|
||||
* @value 3 log a message, warn the user, switch to non-airspeed TECS mode
|
||||
* @value 4 log a message, warn the user, switch to non-airspeed TECS mode, switch to Return mode after COM_ASPD_FS_DLY seconds
|
||||
* @group Commander
|
||||
* @category Developer
|
||||
*/
|
||||
PARAM_DEFINE_INT32(COM_ASPD_FS_ACT, 0);
|
||||
|
||||
/**
|
||||
* Airspeed fault detection delay before RTL (Experimental)
|
||||
*
|
||||
* RTL delay after bad airspeed measurements are detected if COM_ASPD_FS_ACT is set to 4. Ensure the COM_ASPD_STALL parameter is set correctly before use. The failsafe start and stop delays are controlled by the COM_TAS_FS_T1 and COM_TAS_FS_T2 parameters. Additional protection against persistent airspeed sensor errors can be enabled using the COM_TAS_FS_INNOV parameter, but these addtional checks are more prone to false positives in windy conditions.
|
||||
*
|
||||
* @min 0
|
||||
* @max 300
|
||||
* @unit s
|
||||
* @group Commander
|
||||
* @category Developer
|
||||
*/
|
||||
PARAM_DEFINE_INT32(COM_ASPD_FS_DLY, 0);
|
||||
|
||||
/**
|
||||
* User Flight Profile
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user