commander: Add preflight checking for EKF health and IMU sensor consistency

This commit is contained in:
Paul Riseborough
2016-11-19 15:12:08 +01:00
committed by Lorenz Meier
parent 55bf6b4974
commit 983cfb8fdd
3 changed files with 275 additions and 2 deletions
+96
View File
@@ -472,3 +472,99 @@ PARAM_DEFINE_INT32(COM_FLTMODE5, -1);
* @value 12 Follow Me
*/
PARAM_DEFINE_INT32(COM_FLTMODE6, -1);
/**
* Maximum EKF position innovation test ratio that will allow arming
*
* @group Commander
* @unit m
* @min 0.1
* @max 1.0
* @decimal 2
* @increment 0.05
*/
PARAM_DEFINE_FLOAT(COM_ARM_EKF_POS, 0.5f);
/**
* Maximum EKF velocity innovation test ratio that will allow arming
*
* @group Commander
* @unit m/s
* @min 0.1
* @max 1.0
* @decimal 2
* @increment 0.05
*/
PARAM_DEFINE_FLOAT(COM_ARM_EKF_VEL, 0.5f);
/**
* Maximum EKF height innovation test ratio that will allow arming
*
* @group Commander
* @unit m
* @min 0.1
* @max 1.0
* @decimal 2
* @increment 0.05
*/
PARAM_DEFINE_FLOAT(COM_ARM_EKF_HGT, 1.0f);
/**
* Maximum EKF yaw innovation test ratio that will allow arming
*
* @group Commander
* @unit rad
* @min 0.1
* @max 1.0
* @decimal 2
* @increment 0.05
*/
PARAM_DEFINE_FLOAT(COM_ARM_EKF_YAW, 0.5f);
/**
* Maximum value of EKF accelerometer delta velocity bias estimate that will allow arming
*
* @group Commander
* @unit m/s
* @min 0.001
* @max 0.004
* @decimal 4
* @increment 0.0005
*/
PARAM_DEFINE_FLOAT(COM_ARM_EKF_AB, 2.0e-3f);
/**
* Maximum value of EKF gyro delta angle bias estimate that will allow arming
*
* @group Commander
* @unit rad
* @min 0.0001
* @max 0.0007
* @decimal 5
* @increment 0.00005
*/
PARAM_DEFINE_FLOAT(COM_ARM_EKF_GB, 3.5e-4f);
/**
* Maximum accelerometer inconsistency between IMU units that will allow arming
*
* @group Commander
* @unit m/s/s
* @min 0.1
* @max 1.0
* @decimal 2
* @increment 0.05
*/
PARAM_DEFINE_FLOAT(COM_ARM_IMU_ACC, 0.7f);
/**
* Maximum rate gyro inconsistency between IMU units that will allow arming
*
* @group Commander
* @unit rad/s
* @min 0.02
* @max 0.2
* @decimal 3
* @increment 0.01
*/
PARAM_DEFINE_FLOAT(COM_ARM_IMU_GYR, 0.09f);