ekf2: Add new mag fusion mode

Adds a mode where mag fusion is only used update the field estimates
This commit is contained in:
Paul Riseborough
2017-10-12 14:50:23 +11:00
parent 9c65968c3d
commit 7b4c957ad4
3 changed files with 11 additions and 1 deletions
+9
View File
@@ -163,6 +163,15 @@ void Ekf::fuseMag()
return;
}
/*
When flying as a fixed wing aircraft, a misaligned magnetometer can cause an error in pitch/roll and accel bias estimates.
When MAG_FUSE_TYPE_AUTOFW is selected and the vehicle is flying as a fixed wing as detected by the use of wind estimation
and current airspeed estimates, then magnetometer fusion is only allowed to access the magnetic field states.
*/
_control_status.flags.update_mag_states_only = (_params.mag_fusion_type == MAG_FUSE_TYPE_AUTOFW)
&& _control_status.flags.wind
&& (_time_last_imu - _time_last_airspeed < 1E7);
// update the states and covariance using sequential fusion of the magnetometer components
for (uint8_t index = 0; index <= 2; index++) {