Line data Source code
1 : #include "AP_NavEKF3_core.h" 2 : #include <AP_DAL/AP_DAL.h> 3 : 4 : // reset the body axis gyro bias states to zero and re-initialise the corresponding covariances 5 : // Assume that the calibration is performed to an accuracy of 0.5 deg/sec which will require averaging under static conditions 6 : // WARNING - a non-blocking calibration method must be used 7 14 : void NavEKF3_core::resetGyroBias(void) 8 : { 9 14 : stateStruct.gyro_bias.zero(); 10 14 : zeroStatesVarCov(10, 12); 11 : 12 14 : P[10][10] = sq(radians(0.5f * dtIMUavg)); 13 14 : P[11][11] = P[10][10]; 14 14 : P[12][12] = P[10][10]; 15 14 : } 16 : 17 : /* 18 : sensor specific initial gyro bias 1-sigma uncertainty in deg/sec 19 : */ 20 5866 : ftype NavEKF3_core::InitialGyroBiasUncertainty(void) const 21 : { 22 5866 : return dal.ins().get_gyro_bias_init_dps(imu_index); 23 : } 24 : 25 : /* 26 : get the gyro bias state clamp (rad/s) for this core's IMU 27 : */ 28 19965274 : ftype NavEKF3_core::getGyroBiasLimit(void) const 29 : { 30 19965274 : return dal.ins().get_gyro_bias_limit(imu_index); 31 : } 32 :