Beat Küng
07c6aabd98
EKF: reduce KH to only the elements that are really needed, and merge the loops
2016-11-02 10:26:40 +01:00
Paul Riseborough
1b59a89a18
EKF: save some stack memory
2016-11-02 09:06:06 +01:00
Beat Küng
f472324ae8
DataValidatorGroup: remove the assert
...
(avoid crashes in flight)
2016-11-01 22:49:20 +01:00
Beat Küng
25cb400da9
EKF: remove Ekf::KHP and move KHP to the methods where it's used
...
Everywhere where KHP is used, it is first completely reset, thus making
it unnecessary to keep it as a class member.
This saves 2.3KB RAM.
Stack sizes don't need changing, since there is already a function
Ekf::predictCovariance(), which needs around 3KB of stack and is called
close to where the fuse* functions are called.
2016-11-01 22:49:20 +01:00
Beat Küng
227938d263
DataValidatorGroup: add add_new_validator() to dynamically add new validators
2016-11-01 22:49:20 +01:00
Beat Küng
ded3b1a690
DataValidatorGroup: fix memory leak, delete all DataValidator's in destructor
2016-11-01 22:49:20 +01:00
Beat Küng
b870f92e1c
DataValidator: use 32bit timeout instead of 64bit, saves memory
2016-11-01 22:49:20 +01:00
Paul Riseborough
d07692e87e
Merge pull request #204 from PX4/pr-gpsReset
...
ekf reset: more granular reset / timeout strategy for gps fusion
2016-10-26 06:52:10 +11:00
Paul Riseborough
79df7e8889
EKF: Reduce effect of bad airspeed when other aiding data available
2016-10-25 08:34:41 +02:00
Paul Riseborough
968cfae632
EKF: Fix bug preventing fallback from GPS mode if GPS is lost
2016-10-25 08:32:01 +11:00
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>
2016-10-24 11:45:36 +02:00
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>
2016-10-24 11:40:12 +02:00
Roman Bapst
65de4962b5
Merge pull request #203 from PX4/pr-ekfVibeReporting
...
EKF: Add IMU vibration calculation and reporting
2016-10-19 13:32:53 +02:00
Paul Riseborough
b10b0184c5
EKF: Add IMU vibration calculation and reporting
...
Add calculation and reporting of IMU delta angle and velocity coning and high frequency vibration
2016-10-19 21:46:55 +11:00
Roman
17c195d1cd
ekf2 height reset: do not apply height change to height state twice (bug)
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-18 07:58:19 +02:00
Paul Riseborough
1093e6d789
EKF: fix documentation error
2016-10-13 22:37:14 +02:00
Roman
f80b3481a4
reset the newest output sample for all possible resets
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-12 08:54:38 +02:00
Roman
238d947239
proper handling of position and velocity reset
...
- position reset method was returning before the actual delta values
were written and applied to the output buffer
- apply reset delta also to the output sample which was already taken out
from the output buffer, otherwise the complementary filter solution is
offset from the ekf solution
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-12 08:54:38 +02:00
Paul Riseborough
79b1d3018d
EKF: Fix magnetometer innovation test ratio reporting bug
2016-10-12 08:51:45 +02:00
Lorenz Meier
394bfdc935
Update README.md
...
Fix prerequisites.
2016-10-08 11:00:52 +02:00
Daniel Agar
0d02bb2612
ecl attitude_fw fix excessive body fixed turn offset
...
-limit body fixed turn offset contrained roll to possible
roll setpoint range
-fixes #181
2016-10-06 09:03:48 +02:00
James Goppert
7dbb43f2cd
Update matrix.
2016-10-06 09:03:10 +02:00
Paul Riseborough
352750e5d1
EKF: publish ekf solution status summary data
2016-10-06 09:02:29 +02:00
Paul Riseborough
007e73379f
EKF: Improve reporting of position error
2016-10-06 09:02:29 +02:00
Paul Riseborough
744b79c1b2
EKF: Publish innovation test ratios
2016-10-06 09:02:29 +02:00
Paul Riseborough
5ab90048e1
Merge pull request #184 from PX4/pr-rngDelayFix
...
fixed computation of range measurement timestamp
2016-10-04 09:13:19 +11:00
Paul Riseborough
b29174d86b
Merge pull request #193 from PX4/pr-haglInit
...
Pr hagl init
2016-10-04 08:21:15 +11:00
Paul Riseborough
5702c2d51b
Merge pull request #186 from priseborough/pr-ekfOutputPredictor
...
EKF: Improve Output Predictor Tracking
2016-10-04 07:47:34 +11:00
Paul Riseborough
b5ba4f280f
EKF: reduce output predictor velocity time constant
2016-10-03 14:13:07 +11:00
Paul Riseborough
65762e5998
EKF: publish output predictor tracking errors
2016-10-03 14:13:07 +11:00
Paul Riseborough
c81f9f1dba
EKF: Reduce output predictor tracking errors
...
Implements a PI tracking loop
2016-10-03 14:13:07 +11:00
Julian Oes
4fefe5c6c6
cmake: stack size args cleanup
2016-09-28 08:23:18 +02:00
Julian Oes
616aeb9ad7
ekf_helper: fix forgotten return value
2016-09-27 16:36:29 +02:00
Julian Oes
fd403b733d
CMakeLists: don't always optimize for size
...
Going forward the optimization flags should be set for a platform,
rather than for each individual module.
2016-09-27 16:35:35 +02:00
Roman
c6e1d97176
terrain estimator: initialise with projection
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-20 14:09:42 +02:00
Roman
cc05db4985
terrain estimator: pass initialisation return value correctly
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-20 14:07:50 +02:00
Roman
d53f532079
fixed computation of range measurement timestamp
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-17 11:41:12 +02:00
Paul Riseborough
7240fc78fe
Merge pull request #183 from CarlOlsson/cont_wind_estimation
...
Fix wind state and wind variance initialization
2016-08-23 19:55:22 +10:00
James Goppert
eab57b0187
Merge pull request #189 from PX4/revert-188-matrix_update
...
Revert "Update matrix."
2016-08-18 12:29:41 -04:00
James Goppert
e5b74f511f
Revert "Update matrix."
2016-08-18 12:29:31 -04:00
James Goppert
90f6bd7f3d
Merge pull request #188 from PX4/matrix_update
...
Update matrix.
2016-08-18 12:06:20 -04:00
James Goppert
1daea6c1a3
Update matrix.
2016-08-18 11:58:31 -04:00
CarlOlsson
8d60da1442
removed old wind initialization
2016-08-11 15:26:21 +02:00
CarlOlsson
51c8715638
fixed issue with airspeed never fused
2016-08-11 15:26:21 +02:00
Paul Riseborough
d1d56d9e5e
EKF: Add logic to to control wind state estimation
2016-08-11 15:26:21 +02:00
Paul Riseborough
75bec44b94
EKF: add function to initialise wind states
2016-08-11 15:26:21 +02:00
Paul Riseborough
6dff2df28e
EKF: Add method to reset wind state covariances
...
Set variances in polar coordinates and rotate into cartesian frame
2016-08-11 15:26:21 +02:00
Paul Riseborough
eff9af549f
scripts: derive conversion from polar to cartesian wind state covariance
2016-08-11 15:26:21 +02:00
Paul Riseborough
a9894d7e8c
EKF: improve efficiency of airspeed fusion
...
Don't compute array entries where the result will be zero
2016-08-11 15:26:21 +02:00
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>
2016-08-05 14:45:48 +02:00