Paul Riseborough
13c3a95bc1
EKF: Add missing line returns
9 years ago
Paul Riseborough
b985e58333
EKF: clean up control function
...
With the addition of new observation types, the control function has become too large and needed be broken up into separate functions
9 years ago
Paul Riseborough
f4a0f69f6e
EKF: print to console when starting EV fusion
9 years ago
Paul Riseborough
ac9b7a3df6
EKF: Ensure use of EV aiding inhibits use of other height sources
9 years ago
Paul Riseborough
e917d6c7f2
EKF: Add fusion of external yaw data
9 years ago
Paul Riseborough
37a09c61bc
EKF: Don't use delayed data to start EV aiding
9 years ago
Paul Riseborough
81469d6621
EKF: Add position, height and velocity reset for EV aiding
9 years ago
Paul Riseborough
481c624975
EKF: Remove use of vehicle arm status
...
Use single externally set in-air status for all decisions
9 years ago
Paul Riseborough
161ac2e051
EKF: ensure position co-variances are reset
...
When transitioning into optical flow nav from a non-aiding condition during ground operation, ensure position covariances are reset as they could be invalid.
9 years ago
Paul Riseborough
724280fd1f
EKF: move calculation of optical flow observation variance into a function
...
Allows it to be used when calculating initial state variance
9 years ago
Paul Riseborough
25682dce91
EKF: Prevent badly conditioned covariance calculation when starting or resetting to optical flow
9 years ago
Paul Riseborough
da9d894441
EKF: Improvements to covariance reset
9 years ago
Paul Riseborough
a7d08d08fc
EKF: Relax tilt alignment check
9 years ago
Paul Riseborough
727a43764f
EKF: update initial angle alignment check
9 years ago
Paul Riseborough
fe9f88a8b4
EKF: test new derivation
...
Use direct attitude parameterisation
Discard scale factors
Add accel bias
9 years ago
Paul Riseborough
3e81b86280
EKF: improve height reset logic
...
Don't use failed sensors unless necessary and handle case where not height sensor is available for reset
9 years ago
Paul Riseborough
874558d194
EKF: improve detection of bad vert accel data
...
Improve ability to detect if bad vertical accel data has caused loss of height accuracy by using historical data.
9 years ago
Paul Riseborough
e3365525c2
EKF: rework height reset logic
9 years ago
Paul Riseborough
a7417657c3
EKF: ensure fusion timeout counters are reset when required
9 years ago
Roman Bapst
99fc61c27c
ekf2 airspeed fusion:
...
- finished logic for fusion
- fixed bug where previous control status was set in the wrong location
9 years ago
Paul Riseborough
006b6b58e4
EKF: fix bug in status print statement
9 years ago
Lorenz Meier
f86ef34782
EKF: Fix error message which lied
9 years ago
Paul Riseborough
6b2e2dba90
EKF: Add GPS height option and improve height recovery
9 years ago
Paul Riseborough
d2407c3463
EKF: code style updates
9 years ago
Paul Riseborough
c58ab3e256
EKF: Enable fallback to baro alt when using range finder for height
9 years ago
Paul Riseborough
370f643f42
EKF: Enable use of range finder for primary height source
9 years ago
Paul Riseborough
109e0e6dfc
EKF: When commencing GPS aiding, don't reset local position and velocity if using optical flow
9 years ago
Paul Riseborough
d97d308ca7
EKF: Add control of optical flow and range finder fusion
9 years ago
Roman Bapst
b2744f965d
use in_air flag from land detector to determine if we are on the ground
9 years ago
Paul Riseborough
d8627c6aaf
EKF: Reset the vertical position states if height fusion times out
9 years ago
Paul Riseborough
d5e47d21db
EKF: miscellaneous comment and format changes
9 years ago
Paul Riseborough
7c83ac4b6d
EKF: Use heading fusion as default for startup and ground operation
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
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
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
7da40a45a4
EKF: Add control mode for wind state estimation
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
5ea0ef39cd
EKF: Update declination fusion logic
...
We do not need to run declination fusion if 3-axis mag fusion is not being used.
9 years ago
Paul Riseborough
47ab5ebcdd
EKF: Make PR comply with project convention for indenting
9 years ago
Paul Riseborough
cdc42c1de0
EKF: Add simple control logic for magnetic declination constraint
9 years ago
bugobliterator
d79e12dfa1
EKF: fix code style
9 years ago
Paul Riseborough
466a104534
EKF: additional GPS check logic
...
Improve naming of NED origin initialisation status
Add check for GPS solution type
Use GPS checks when regaining GPs in-flight
9 years ago
Paul Riseborough
46b0e9654c
Add filter control logic
9 years ago