Paul Riseborough
63f093a10a
EKF: Update upper limits for state variances
...
This limiting is a last resort measure and the limiting for normal operation should be achieved by modification in the covariance prediction
9 years ago
Paul Riseborough
26a51c667d
EKF: Improve robustness to initial gyro bias errors
...
Allows for ~6 deg/sec of startup bias
9 years ago
Paul Riseborough
7530e30012
EKF: Improve IMU data collection
...
Use IMU driver published delta angle integration time to determine when enough data has been accumulated.
Perform basic first order sculling corrections on delta velocity data
Comment steps to make make method clearer
9 years ago
Paul Riseborough
f23f0b1035
EKF: fix bugs in stationary process model covariance prediction
...
Noise variance for stationary states was being overwritten by the covariance prediction operations for the kinematic states
Unwanted states could end up with non-zero covariance values
The forced symmetry operation was being applied too late to be effective
9 years ago
Paul Riseborough
a373ada858
EKF: explicitly define floating point type in hardcoded constants
9 years ago
Paul Riseborough
a189c60d33
EKF: update code fragment text files
9 years ago
Paul Riseborough
f4e84a2234
EKF: fix axis label error in comments
9 years ago
Paul Riseborough
57d3036ee7
EKF: update derivation files
9 years ago
Paul Riseborough
82da832816
EKF: tidy up Kalman gain calculations
...
Inhibiting of states is controlled via zeroing rows and columns in the covariance prediction so conditional logic in gain calculations is unnecessary.
9 years ago
Paul Riseborough
311d046a26
EKF: Enable optional activation of XY delta velocity bias estimation
9 years ago
Paul Riseborough
572c2280bd
EKF: tidy up covariance prediction
9 years ago
Paul Riseborough
54e713969d
EKF: Fix rebase error
9 years ago
Paul Riseborough
67d23948b5
EKF: preliminary re-tune
9 years ago
Paul Riseborough
03c35266ef
EKF: remove unused parameter
9 years ago
Paul Riseborough
fe9f88a8b4
EKF: test new derivation
...
Use direct attitude parameterisation
Discard scale factors
Add accel bias
9 years ago
Daniel Agar
22d18d638c
enable Wshadow
9 years ago
Paul Riseborough
c6775b5bf2
Merge pull request #118 from PX4/fix_member_init
...
ekf: initialize _terrain_var
9 years ago
Beat Küng
f2dda3c183
ekf: initialize _terrain_var, fixes access to uninitialized value
...
in PX4 Firmware, Ekf::get_terrain_vert_pos depends on it. This is the
valgrind output:
==15439== Thread 14 ekf2:
==15439== Conditional jump or move depends on uninitialised value(s)
==15439== at 0x5610087: sqrtf (in /usr/lib64/libm-2.22.so)
==15439== by 0x4D1AF0: Ekf::get_terrain_vert_pos(float*) (terrain_estimator.cpp:135)
==15439== by 0x46641F: Ekf2::task_main() (ekf2_main.cpp:655)
==15439== by 0x42BF3D: entry_adapter(void*) (px4_posix_tasks.cpp:103)
==15439== by 0x4E3C609: start_thread (in /usr/lib64/libpthread-2.22.so)
==15439== by 0x5BF7A4C: clone (in /usr/lib64/libc-2.22.so)
9 years ago
Paul Riseborough
0a6d95c6c2
Merge pull request #116 from PX4/pr-covReset
...
after a height reset zero the cross covariances for height and vertical
9 years ago
Roman
0c77ebf6bd
EKF: Reduce likelihood of bad covariance values after height resets
...
The cross terms (covariances) are now reset before the variance variance is set.
The vertical velocity state variance following a reset without GPS has been reduced.
9 years ago
Paul Riseborough
6c57bea1c3
EKF: fix bug in IMU error application timing patch
9 years ago
Paul Riseborough
6ecbefd7e4
EKF: add matlab script to test complementary filter gains
9 years ago
Paul Riseborough
15df20831a
EKF: improve output complementary filter tracking
...
Optimise for height tracking and adjust gains automatically with changes in time delay.
9 years ago
Paul Riseborough
4fa1e9c651
EKF: Fix timing errors in state prediction
...
IMU corrections were being applied at the wrong time horizon to the EKF states
IMU downsampling rotates the delta velocities into the orientation produced by the last delta angle, but this wasn't consistent with the way the state prediction was using the delta velocity data.
9 years ago
Paul Riseborough
4c9c102597
Merge pull request #115 from PX4/fix_isfinite_again
...
ekf: another stab at fixing isfinite for all
9 years ago
Julian Oes
f8a48f9cc5
ekf: now it should even compile for NuttX
9 years ago
Julian Oes
12f4d6f703
ekf: another stab at fixing isfinite for all
...
The previous solution did not work for Snapdragon, so I needed to copy
what is used in px4_defines.h.
9 years ago
Paul Riseborough
22ad87599c
Merge pull request #112 from PX4/fix_ubuntu1604_2
...
ekf: compile fix for Ubuntu 16.04
9 years ago
Julian Oes
46e207106b
ekf: use `std::isfinite` instead of `isnan`
9 years ago
Lorenz Meier
7b702ee37e
Merge pull request #105 from georgehines/matlab-log-import
...
fix a field name that I missed last time
9 years ago
Lorenz Meier
7c7945961e
Merge pull request #107 from dagar/l1_init
...
L1 initialize everything
9 years ago
Daniel Agar
fe5a337c99
l1 initialize everything
9 years ago
George Hines
9994aa7fdb
fix a field name that I missed last time
9 years ago
Paul Riseborough
42635903cd
Merge pull request #102 from priseborough/pr-ekf2HeightReset
...
EKF: Improve height reset behaviour
9 years ago
Paul Riseborough
4fcbfb5d42
EKF: correct error in comment
9 years ago
Paul Riseborough
13814681d7
Merge pull request #104 from georgehines/matlab-log-import
...
Matlab log import
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
469a7d1711
EKF: rework height reset
...
calculate and save the amount that the vertical states have changed and the time of the change
apply the change delta to the output observer states and buffer
9 years ago
Paul Riseborough
e3365525c2
EKF: rework height reset logic
9 years ago
Paul Riseborough
421703c267
EKF: rework initialisation of height state and offsets
9 years ago
Paul Riseborough
a7417657c3
EKF: ensure fusion timeout counters are reset when required
9 years ago
Paul Riseborough
10bf05e9a6
EKF: publish the vertical position offset
9 years ago
Paul Riseborough
0de15b1b20
EKF: Add variables to monitor vertical position and height offset
9 years ago
Paul Riseborough
62c6d40f1f
EKF: Add methods to ring buffer to access specific indices
9 years ago
George Hines
59df1a3552
rename log GUI consistent with its assumptions
9 years ago
George Hines
62bdcf3e9b
supports APM dataflash logs
9 years ago
Paul Riseborough
b295f9050c
EKF: ensure GPS check status is correctly initialised
9 years ago
Lorenz Meier
9487eac505
Merge pull request #98 from priseborough/pr-ekf2StatusReporting
...
EKF: improve reporting of filter status
9 years ago
Roman Bapst
6344fa0e8c
limit maximum rates of all measurement at which they are stored into the buffers
9 years ago