Merge pull request #2136 from UAVenture/filter_choice2

Attitude filter for multirotors: Let users choose between filters, default to old one
This commit is contained in:
Lorenz Meier
2015-05-06 11:58:33 +02:00
3 changed files with 28 additions and 5 deletions

View File

@@ -4,11 +4,21 @@
# att & pos estimator, att & pos control.
#
# previously (2014) the system was relying on
# INAV, which defaults to 0 now.
# The system is defaulting to INAV_ENABLED = 1
# but users can alternatively try the EKF-based
# filter by setting INAV_ENABLED = 0
if param compare INAV_ENABLED 1
then
attitude_estimator_q start
# The system is defaulting to EKF_ATT_ENABLED = 1
# and uses the older EKF filter. However users can
# enable the new quaternion based complimentary
# filter by setting EKF_ATT_ENABLED = 0.
if param compare EKF_ATT_ENABLED 1
then
attitude_estimator_ekf start
else
attitude_estimator_q start
fi
position_estimator_inav start
else
ekf_att_pos_estimator start

View File

@@ -94,6 +94,19 @@ PARAM_DEFINE_FLOAT(EKF_ATT_V4_R1, 10000.0f);
*/
PARAM_DEFINE_FLOAT(EKF_ATT_V4_R2, 100.0f);
/**
* EKF attitude estimator enabled
*
* If enabled, it uses the older EKF filter.
* However users can enable the new quaternion
* based complimentary filter by setting EKF_ATT_ENABLED = 0.
*
* @min 0
* @max 1
* @group Attitude EKF estimator
*/
PARAM_DEFINE_INT32(EKF_ATT_ENABLED, 1);
/* magnetic declination, in degrees */
PARAM_DEFINE_FLOAT(ATT_MAG_DECL, 0.0f);

View File

@@ -291,8 +291,8 @@ PARAM_DEFINE_INT32(CBRK_NO_VISION, 0);
/**
* INAV enabled
*
* If set to 1, use INAV for position estimation
* the system uses the combined attitude / position
* If set to 1, use INAV for position estimation.
* Else the system uses the combined attitude / position
* filter framework.
*
* @min 0