save significant IMU bias changes learned by the EKF

* ekf2: make publishing of learned accel biases more robust
* ekf2: reset accel bias if calibration updated
* msg: add separate accel and gyro calibration counters
* ekf2: use separate accel and gyro calibration counters
* ekf2: rework logic to reset biases when calibration counters increment
* sensors: add saving of learned accel biases
* ekf2: generalized saving accel/gyro/mag in flight sensor calibration
* boards: holybro kakutef7 disable systemcmds/perf and systemcmds/top to save flash

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
This commit is contained in:
Daniel Agar
2021-11-07 15:34:27 -05:00
committed by GitHub
co-authored by Paul Riseborough
parent 5969508fa7
commit 68026eadeb
10 changed files with 406 additions and 50 deletions
@@ -84,6 +84,12 @@ public:
return _rotation * matrix::Vector3f{(data - _thermal_offset - _offset).emult(_scale)};
}
// Compute sensor offset from bias (board frame)
matrix::Vector3f BiasCorrectedSensorOffset(const matrix::Vector3f &bias) const
{
return (_rotation.I() * bias).edivide(_scale) + _thermal_offset + _offset;
}
bool ParametersSave();
void ParametersUpdate();
+6
View File
@@ -88,6 +88,12 @@ public:
return (_rotation.I() * corrected_data) + _thermal_offset + _offset;
}
// Compute sensor offset from bias (board frame)
matrix::Vector3f BiasCorrectedSensorOffset(const matrix::Vector3f &bias) const
{
return (_rotation.I() * bias) + _thermal_offset + _offset;
}
bool ParametersSave();
void ParametersUpdate();