Roman Bapst
9192ced7bb
do not reset output attitude state after heading reset to avoid jumps in attitude
9 years ago
Paul Riseborough
f55a0bff53
EKF: Fix code style
9 years ago
Paul Riseborough
5b5bddebea
EKF: Always reset yaw and mag field states on entry into 3-axis mag fusion mode
9 years ago
Paul Riseborough
2d09a5f3ac
EKF: Don't reset yaw and mag field states when not necessary
9 years ago
Paul Riseborough
380db7ebef
EKF: Reset angle error covariance after yaw and mag field reset
...
The yaw angle could have changed by a significant amount making the correlations invalid.
Setting angle variances to zero prevents the initial kick in angles due to 3D fusion starting
9 years ago
Paul Riseborough
0ad5329caf
EKF: Update comments in heading fusion to clarify calculation of magnetic heading
9 years ago
Paul Riseborough
36affe3cd8
EKF: Fix bug causing incorrect initial roll when inverted
9 years ago
Paul Riseborough
016695fc3e
EKF: Reduce startup transients
...
Update initial state variance values
9 years ago
mcsauder
6613335937
Added constexpr back from const var type.
9 years ago
mcsauder
342010c113
Update c style array initialization to attempt to pass Travic CI build tests.
9 years ago
mcsauder
48e80e9e3e
Correct C style array initialization.
9 years ago
mcsauder
f9f00fa52b
Remove unnecessary include.
9 years ago
mcsauder
ccb5736353
Spaces to tab.
9 years ago
mcsauder
a4cecb1704
Match variable initialization order difference with upstream.
9 years ago
mcsauder
79d07c831f
Convert spaces to tabs to match upstream.
9 years ago
mcsauder
6c96f45f08
Remove whitespace differences with upstream for pull request.
9 years ago
Paul Riseborough
a711632017
EKF: Add method to fuse horizontal magnetometer data
...
This method is more suitable than a raw heading measurement because it works across a full range of pitch angles.
It has been made the default for ground operation.
9 years ago
mcsauder
4ce4724105
Added variable initializations back into EstimatorInterface() constructor to resolve a runtime error that occurs with uninitialized variables.
9 years ago
Paul Riseborough
6df6ac0023
EKF: Fix sign error in heading innovation calculation and clean up
9 years ago
Paul Riseborough
90e1bd3e36
EKF: wrap compass yaw estimate
9 years ago
Paul Riseborough
7d6226eb45
EKF: Improve efficiency of yaw angle fusion
...
Use direct calculation of Kaman gains with optimised algebra
9 years ago
Paul Riseborough
7f121e81e4
EKF: Update yaw innovation calculation to match revised derivation
...
The new derivation does not use magnetic field measurements in the observation model and instead fuses in a heading measurement directly.
9 years ago
mcsauder
72243c4a84
Resolve tab/space differences with upstream master.
9 years ago
mcsauder
437f6ca5fb
Moved initialization to object constructors to allow C99 compiler compatibility.
9 years ago
bugobliterator
ba7f0fc9ff
EKF: add licensing information for mathlib header and src
9 years ago
bugobliterator
80632cc12c
EKF: add comments and licensing information to builder files
9 years ago
bugobliterator
a40eb7cf37
EKF: add check for existence of matrix submodule
9 years ago
bugobliterator
263c48d089
EKF: remove dependecies and allow ekf to be built as standalone shared lib
9 years ago
bugobliterator
2096e24c06
EKF: fix time of sample receive setting
9 years ago
Paul Riseborough
a679cdf1fb
EKF: Change parameter default to not fuse declination when aiding
...
Ground and flight testing has shown declination drift to not be a problem with current tuning and realistic vehicle motion.
9 years ago
Paul Riseborough
abf9476853
EKF: miscellaneous formatting and typo updates
9 years ago
Paul Riseborough
ffe1d30864
EKF: Set covariances to zero for un-used states
9 years ago
Paul Riseborough
294aca8609
EKF: Improve variance limiting for stationary states
...
Turn off the process noise if they grow too large and use the hard variance limit as a backup. This is numerically more stable than relying on a hard variance limit which does not deal with the covariances.
9 years ago
Paul Riseborough
1d40507af8
EKF: Set Kaman gains to zero for un-used states
...
This is a defensive programming technique. In theory this should not be necessary if the corresponding covariance entries are zero.
9 years ago
Paul Riseborough
69b8982043
EKF: Initialise variances to zero for un-used states
...
Setting these variances to zero makes it less likely that these states will be modified by fusion processing.
9 years ago
Paul Riseborough
d9bf4e9870
EKF: Enable control mode transitions to be detected
...
Save the previous value of the filter control modes
9 years ago
Paul Riseborough
402206a305
EKF: Fix critical bug in fusion of yaw and declination observations
...
This bug was in the derivation and resulted from use of a tan instead of an atan operator. The derivations have been reworked and the updated auto-code has been imported as part of this patch.
9 years ago
Paul Riseborough
7da40a45a4
EKF: Add control mode for wind state estimation
9 years ago
Paul Riseborough
de02aebafd
EKF: Reset covariance matrix when doing a yaw and magnetic field reset
...
The correlation terms in the covariance matrix will be incorrect after a reset, so should be zeroed
9 years ago
Paul Riseborough
dba58aa4c6
EKF: Add control logic for fusion modes
9 years ago
Paul Riseborough
22c177c951
EKF: Re-align yaw and magnetic field states when changing into GPS aiding mode
9 years ago
Paul Riseborough
c089079321
EKF: Split tilt and yaw align
9 years ago
Paul Riseborough
020cc5978e
EKF: Move calculation of declination into a separate function
9 years ago
Paul Riseborough
aa58b3e98c
EKF: Split angular alignment into tilt and yaw and use yaw and magnetic field alignment function
9 years ago
Paul Riseborough
2bbe7f9a1c
EKF: Update magnetometer fusion to use declination from the specified source
9 years ago
Paul Riseborough
83945581ed
EKF: Add function to calculate the magnetic declination to use
9 years ago
Paul Riseborough
9017e077f8
EKF: Publish the magnetic declination we wish to save for next startup
9 years ago
Paul Riseborough
0308f2f796
EKF: Add parameters to control declination source and fusion type
9 years ago
Paul Riseborough
6140d4b21f
EKF: Add function to reset yaw and magnetic field states
9 years ago
Roman
ad978c642f
estimator interface:
...
added flag for in_air status of vehicle
9 years ago