AP_NavEKF: use intuitive units for imu bias process noise parameters

This commit is contained in:
Paul Riseborough 2016-05-08 23:46:06 +10:00 committed by Andrew Tridgell
parent 8c374fd679
commit 46a2993a0d
2 changed files with 7 additions and 7 deletions

View File

@ -350,11 +350,11 @@ const AP_Param::GroupInfo NavEKF2::var_info[] = {
AP_GROUPINFO("ACC_PNOISE", 25, NavEKF2, _accNoise, ACC_PNOISE_DEFAULT), AP_GROUPINFO("ACC_PNOISE", 25, NavEKF2, _accNoise, ACC_PNOISE_DEFAULT),
// @Param: GBIAS_PNOISE // @Param: GBIAS_PNOISE
// @DisplayName: Rate gyro bias process noise (rad/s) // @DisplayName: Rate gyro bias stability (rad/s/s)
// @Description: This state process noise controls growth of the gyro delta angle bias state error estimate. Increasing it makes rate gyro bias estimation faster and noisier. // @Description: This state process noise controls growth of the gyro delta angle bias state error estimate. Increasing it makes rate gyro bias estimation faster and noisier.
// @Range: 0.0000001 0.00001 // @Range: 0.00001 0.001
// @User: Advanced // @User: Advanced
// @Units: rad/s // @Units: rad/s/s
AP_GROUPINFO("GBIAS_PNOISE", 26, NavEKF2, _gyroBiasProcessNoise, GBIAS_PNOISE_DEFAULT), AP_GROUPINFO("GBIAS_PNOISE", 26, NavEKF2, _gyroBiasProcessNoise, GBIAS_PNOISE_DEFAULT),
// @Param: GSCL_PNOISE // @Param: GSCL_PNOISE
@ -366,11 +366,11 @@ const AP_Param::GroupInfo NavEKF2::var_info[] = {
AP_GROUPINFO("GSCL_PNOISE", 27, NavEKF2, _gyroScaleProcessNoise, GSCALE_PNOISE_DEFAULT), AP_GROUPINFO("GSCL_PNOISE", 27, NavEKF2, _gyroScaleProcessNoise, GSCALE_PNOISE_DEFAULT),
// @Param: ABIAS_PNOISE // @Param: ABIAS_PNOISE
// @DisplayName: Accelerometer bias process noise (m/s^2) // @DisplayName: Accelerometer bias stability (m/s^3)
// @Description: This noise controls the growth of the vertical accelerometer delta velocity bias state error estimate. Increasing it makes accelerometer bias estimation faster and noisier. // @Description: This noise controls the growth of the vertical accelerometer delta velocity bias state error estimate. Increasing it makes accelerometer bias estimation faster and noisier.
// @Range: 0.00001 0.001 // @Range: 0.00001 0.001
// @User: Advanced // @User: Advanced
// @Units: m/s/s // @Units: m/s/s/s
AP_GROUPINFO("ABIAS_PNOISE", 28, NavEKF2, _accelBiasProcessNoise, ABIAS_PNOISE_DEFAULT), AP_GROUPINFO("ABIAS_PNOISE", 28, NavEKF2, _accelBiasProcessNoise, ABIAS_PNOISE_DEFAULT),
// @Param: MAG_PNOISE // @Param: MAG_PNOISE

View File

@ -669,8 +669,8 @@ void NavEKF2_core::CovariancePrediction()
// use filtered height rate to increase wind process noise when climbing or descending // use filtered height rate to increase wind process noise when climbing or descending
// this allows for wind gradient effects. // this allows for wind gradient effects.
windVelSigma = dt * constrain_float(frontend->_windVelProcessNoise, 0.0f, 1.0f) * (1.0f + constrain_float(frontend->_wndVarHgtRateScale, 0.0f, 1.0f) * fabsf(hgtRate)); windVelSigma = dt * constrain_float(frontend->_windVelProcessNoise, 0.0f, 1.0f) * (1.0f + constrain_float(frontend->_wndVarHgtRateScale, 0.0f, 1.0f) * fabsf(hgtRate));
dAngBiasSigma = dt * constrain_float(frontend->_gyroBiasProcessNoise, 0.0f, 1.0f); dAngBiasSigma = sq(dt) * constrain_float(frontend->_gyroBiasProcessNoise, 0.0f, 1.0f);
dVelBiasSigma = dt * constrain_float(frontend->_accelBiasProcessNoise, 0.0f, 1.0f); dVelBiasSigma = sq(dt) * constrain_float(frontend->_accelBiasProcessNoise, 0.0f, 1.0f);
dAngScaleSigma = dt * constrain_float(frontend->_gyroScaleProcessNoise, 0.0f, 1.0f); dAngScaleSigma = dt * constrain_float(frontend->_gyroScaleProcessNoise, 0.0f, 1.0f);
magEarthSigma = dt * constrain_float(frontend->_magProcessNoise, 0.0f, 1.0f); magEarthSigma = dt * constrain_float(frontend->_magProcessNoise, 0.0f, 1.0f);
magBodySigma = dt * constrain_float(frontend->_magProcessNoise, 0.0f, 1.0f); magBodySigma = dt * constrain_float(frontend->_magProcessNoise, 0.0f, 1.0f);