AP_NavEKF : adjust default values for accelerometer process noise

Slows down estimate and allows for smaller values to be set
This commit is contained in:
priseborough 2014-04-05 17:03:50 +11:00 committed by Andrew Tridgell
parent 95764f4d78
commit 95c83255d7
1 changed files with 5 additions and 5 deletions

View File

@ -35,7 +35,7 @@
#define GYRO_PNOISE_DEFAULT 0.015f
#define ACC_PNOISE_DEFAULT 0.25f
#define GBIAS_PNOISE_DEFAULT 1E-07f
#define ABIAS_PNOISE_DEFAULT 0.0002f
#define ABIAS_PNOISE_DEFAULT 0.00015f
#define MAGE_PNOISE_DEFAULT 0.0003f
#define MAGB_PNOISE_DEFAULT 0.0003f
#define VEL_GATE_DEFAULT 2
@ -56,7 +56,7 @@
#define GYRO_PNOISE_DEFAULT 0.015f
#define ACC_PNOISE_DEFAULT 0.25f
#define GBIAS_PNOISE_DEFAULT 1E-07f
#define ABIAS_PNOISE_DEFAULT 0.0002f
#define ABIAS_PNOISE_DEFAULT 0.00015f
#define MAGE_PNOISE_DEFAULT 0.0003f
#define MAGB_PNOISE_DEFAULT 0.0003f
#define VEL_GATE_DEFAULT 2
@ -77,7 +77,7 @@
#define GYRO_PNOISE_DEFAULT 0.015f
#define ACC_PNOISE_DEFAULT 0.25f
#define GBIAS_PNOISE_DEFAULT 1E-07f
#define ABIAS_PNOISE_DEFAULT 0.0002f
#define ABIAS_PNOISE_DEFAULT 0.00015f
#define MAGE_PNOISE_DEFAULT 0.0003f
#define MAGB_PNOISE_DEFAULT 0.0003f
#define VEL_GATE_DEFAULT 5
@ -188,7 +188,7 @@ const AP_Param::GroupInfo NavEKF::var_info[] PROGMEM = {
// @Param: ABIAS_PNOISE
// @DisplayName: Accelerometer bias state process noise (m/s^2)
// @Description: This noise controls the growth of the vertical acelerometer bias state error estimate. Increasing it makes accelerometer bias estimation faster and noisier.
// @Range: 0.0002 - 0.001
// @Range: 0.0001 - 0.001
// @User: advanced
AP_GROUPINFO("ABIAS_PNOISE", 11, NavEKF, _accelBiasProcessNoise, ABIAS_PNOISE_DEFAULT),
@ -912,7 +912,7 @@ void NavEKF::CovariancePrediction()
// this allows for wind gradient effects.
windVelSigma = dt * constrain_float(_windVelProcessNoise, 0.01f, 1.0f) * (1.0f + constrain_float(_wndVarHgtRateScale, 0.0f, 1.0f) * fabsf(hgtRate));
dAngBiasSigma = dt * constrain_float(_gyroBiasProcessNoise, 1e-7f, 1e-5f);
dVelBiasSigma = dt * constrain_float(_accelBiasProcessNoise, 2e-4f, 1e-3f);
dVelBiasSigma = dt * constrain_float(_accelBiasProcessNoise, 1e-4f, 1e-3f);
magEarthSigma = dt * constrain_float(_magEarthProcessNoise, 1e-4f, 1e-2f);
magBodySigma = dt * constrain_float(_magBodyProcessNoise, 1e-4f, 1e-2f);
for (uint8_t i= 0; i<=9; i++) processNoise[i] = 1.0e-9f;