Paul Riseborough
f08aee0a7d
EKF: Fix covariance index bug
9 years ago
Julian Oes
b8e2f79005
EKF: correct include paths
9 years ago
Julian Oes
ecfd8c867a
EKF: use ECL printfs everywhere
...
- Changes all printfs to ECL printfs
- Add ECL_ERR.
- Include ecl.h where needed.
- Add forgotten pragma once.
9 years ago
Paul Riseborough
6a55d908c5
EKF: replace reset event times with event counters
...
Using a 64bit integer was unnecessary given it was only being used to detect a new reset event.
9 years ago
Paul Riseborough
3ec9221c18
EKF: update output observer and capture reset event for EV yaw resets
9 years ago
Paul Riseborough
9f81b8f09e
EKF: provide reset protection for external vision height
9 years ago
Paul Riseborough
1b6c5bbafd
EKF: Enable height source to be selected independent of EV aiding
9 years ago
Carl Olsson
0fafc49a49
fixed typos ( #147 )
9 years ago
Paul Riseborough
c1b02eaa91
EKF: Don't use 3-axis magnetometer fusion until the tilt is aligned
9 years ago
Paul Riseborough
aaac867da8
EKF: Adjust tilt alignment threshold
9 years ago
Paul Riseborough
1540e937b1
EKF: Improve tilt alignment monitoring
...
Convert quaternion covariances into an angular alignment variance vector and discard the z component so that yaw uncertainty does not affect the result.
9 years ago
Paul Riseborough
920d83d68c
EKF: Fix bugs preventing use of external vision yaw data
9 years ago
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