Paul Riseborough
951c8b77af
EKF: Improve wind state reset logic
...
Enables wind estimation without an airspeed sensor and enables synthetic sideslip to be used with an airspeed sensor for improved wind state estimation.
Wind states and covariances are reset differently depending on whether airspeed is available.
8 years ago
Paul Riseborough
352b4ca177
EKF: Allow sideslip fusion with airspeed fusion
8 years ago
CarlOlsson
a9182259a5
fixed bug in beta fusion
8 years ago
CarlOlsson
e1d9d503e3
updated logic of when to fuse beta. Now synthetic sideslip measurements are fused after 5 seconds of cruise flight with airspeed sensor activated
8 years ago
CarlOlsson
dec686afd7
updated parameters
8 years ago
CarlOlsson
5205a8198b
added function to control when to fuse beta
8 years ago
Paul Riseborough
8aee45dd96
EKF: Fix bug causing repeated resets if GPS sensor disconnected
8 years ago
Paul Riseborough
968cfae632
EKF: Fix bug preventing fallback from GPS mode if GPS is lost
8 years ago
Roman
63cf3d50be
ekf gps reset: do not bother checking for need of reset if gps is not
...
available
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Roman
c5f750dcca
ekf reset: more granular reset / timeout strategy for gps fusion
...
- if both gps position and velocity measurements are rejected for 7 seconds
do a reset
- if only gps position measurements are rejected then wait for 14 seconds
as we still have velocity measurements to constrain the drift in position
- introduced ecl internal parameter for the timeout
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Roman
f80b3481a4
reset the newest output sample for all possible resets
...
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
CarlOlsson
51c8715638
fixed issue with airspeed never fused
9 years ago
Paul Riseborough
d1d56d9e5e
EKF: Add logic to to control wind state estimation
9 years ago
Roman Bapst
df0f8fed45
fixed wrong condition on which gps height would be fused ( #180 )
...
- this solves the issue where height innovations would jump
between two regimes
Signed-off-by: Roman <bapstroman@gmail.com>
9 years ago
Paul Riseborough
eb2afc522d
EKF: fix bug preventing use of baro as a backup height source
9 years ago
Paul Riseborough
573f252b73
EKF: fix bug preventing GPS use as a backup height source
9 years ago
Paul Riseborough
5f9752cac8
EKF: Improve function names
9 years ago
Paul Riseborough
7bc9217f00
EKF: Clean up control of observation fusion
...
All the decision for a sensor are made within a specific function for that sensor and when there is data to process at the fusion time horizon.
Information and warning messages are improved.
9 years ago
Paul Riseborough
081e17729c
EKF: delay commencement of 3D mag fusion until clear of ground
...
Wait until enough height has been gained to be clear of ground based magnetic anomalies. Failure to do so can result in incorrect earth field initialisation.
9 years ago
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