68b6f19 | Paul Riseborough | 04 July 2021, 21:42:53 UTC | EKF: Fuse GSF yaw if no other source available | 04 July 2021, 21:42:53 UTC |
772571c | Paul Riseborough | 04 July 2021, 02:12:16 UTC | EKF: Reduce horizontal speed required to declare a yaw failure Checking horizontal velocity state vector length against it's uncertainty can be problematic due to error covariance growth increase when doing inertial dead-reckoning, so check against GPS uncertainty instead. Reduce the threshold from 4-sigma to 2-sigma. Set a minimum required horiozontal measured velocity of 1.0 m/s. | 04 July 2021, 02:12:16 UTC |
33bf4e0 | Daniel Agar | 29 June 2021, 14:17:11 UTC | EKF: set uninitialized vel/pos/hgt test ratios to NAN - ensure valid min is numerically larger than 0 (float32) | 30 June 2021, 13:30:44 UTC |
3beb5bc | Paul Riseborough | 15 June 2021, 10:29:09 UTC | EKF: Fix momentum drag density altitude scaling and update comments | 22 June 2021, 08:50:56 UTC |
97b5ae1 | Paul Riseborough | 15 June 2021, 10:26:42 UTC | EKF: Fix derivation comments for drag fusion | 22 June 2021, 08:50:56 UTC |
58d376e | Paul Riseborough | 10 June 2021, 09:20:50 UTC | EKF: prevent /0 and use pre-computed inverses | 22 June 2021, 08:50:56 UTC |
de8625d | Paul Riseborough | 10 June 2021, 07:52:08 UTC | EKF: fix sign error in bluff body drag fusion | 22 June 2021, 08:50:56 UTC |
73d1e51 | Paul Riseborough | 08 June 2021, 21:58:21 UTC | EKF: Extend drag fusion to include propeller momnetum drag | 22 June 2021, 08:50:56 UTC |
91808f7 | BazookaJoe1900 | 21 June 2021, 07:56:02 UTC | Update EKF/common.h Set non-zero default value for airspeed threshold to enable it by default Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com> | 22 June 2021, 08:30:47 UTC |
9c0a52d | Bazooka Joe | 18 June 2021, 06:17:52 UTC | delay time: potentially reduce delay time if baro/aux velocity/airspeed is not used | 22 June 2021, 08:30:47 UTC |
611ace0 | bresch | 17 June 2021, 12:44:20 UTC | EV_yaw: reset ev_to_ekf to identity when yaw is reset to EV Otherwise, the old rotation matrix is used and not updated anymore because the EKF is fusing EV yaw data. | 22 June 2021, 08:25:55 UTC |
804c356 | bresch | 16 June 2021, 10:06:55 UTC | heading_fusion: fix yaw gyro bias oscillation on ground When the mag is pulled away before takeoff, the EKF can end up learning a bad yaw gyro bias. This bad gyro bias makes the estimated heading spin and even if the bias continues to be learned, it can end up being stuck in limit cycle due to the innovation changing its sign every time the heading estimate overshoots the measurement. To prevent this, the Z gyro bias variance is reset when the mag heading fusion test ratio fails on ground. | 22 June 2021, 06:45:26 UTC |
0ef5d7d | bresch | 16 June 2021, 12:14:46 UTC | test_replay: remove setting read-only parameter | 16 June 2021, 13:38:17 UTC |
71fc1b8 | bresch | 20 May 2021, 13:46:18 UTC | airspeed fusion: use yaw from 312 sequence when pitch is close to 90deg This caused bad initialization of the wind estimate on tailsitters | 23 May 2021, 05:58:50 UTC |
e57af44 | Bazooka Joe | 18 May 2021, 17:06:32 UTC | set parameters that doesn't change with const attribute, for clearification | 20 May 2021, 08:19:33 UTC |
85f5a93 | bresch | 11 May 2021, 15:42:11 UTC | [AUTO COMMIT] update change indication | 11 May 2021, 22:33:07 UTC |
f7c687e | bresch | 11 May 2021, 15:38:41 UTC | GNSS yaw unit test: test fallback to non yaw aiding mode | 11 May 2021, 22:33:07 UTC |
a4fe2b1 | bresch | 11 May 2021, 10:21:05 UTC | yaw_align: let the mag control logic do the alignement and resets | 11 May 2021, 22:33:07 UTC |
2cc0230 | bresch | 11 May 2021, 10:06:32 UTC | mag control: select mag mode before doing the reset | 11 May 2021, 22:33:07 UTC |
fe943cf | bresch | 11 May 2021, 10:04:00 UTC | mag reset: force align in MC custom mode (aka. indoor mode) Checking the parameter is enough to decide if we want to force the yaw alignment or not | 11 May 2021, 22:33:07 UTC |
cadcc58 | bresch | 11 May 2021, 10:02:18 UTC | mag reset: do not stop the fusion from inside the reset function The start/stop is already handled in the dedicated mag control logic The early return is not required as this case is handled just below | 11 May 2021, 22:33:07 UTC |
6248646 | bresch | 11 May 2021, 09:59:08 UTC | EV yaw: move EV yaw reset out of resetMagHeading function Also remove the unnecessary 2nd "manual reset" done in the start function | 11 May 2021, 22:33:07 UTC |
48722a2 | bresch | 07 May 2021, 14:14:49 UTC | control: inhibit EV yaw from restarting when GPS aid wants to start | 11 May 2021, 22:33:07 UTC |
a685987 | bresch | 07 May 2021, 13:29:53 UTC | GNSS yaw: unset yaw_align if fusion stops before takeoff We do not want to rely on a potentially badly initialized heading as it could lead to a flyaway directly after takeoff Also remove the resetMagHeading() call from the GPS fusion control logic as this is properly handled in mag_control. | 11 May 2021, 22:33:07 UTC |
7ee6970 | bresch | 04 May 2021, 12:12:19 UTC | GNSS yaw: add test case when measurement jumps | 11 May 2021, 22:33:07 UTC |
7a11871 | bresch | 04 May 2021, 09:34:05 UTC | GNSS yaw tests: adjust timing the starting condition needs more than 1 sample to determine if the data comes regularly the timeout on "no data" is defined by the fusion reset timeout parameter (7 seconds) | 11 May 2021, 22:33:07 UTC |
51197a5 | bresch | 03 May 2021, 13:17:12 UTC | GNSS yaw selection logic refactor | 11 May 2021, 22:33:07 UTC |
29243ac | bresch | 05 May 2021, 08:36:58 UTC | yaw_reset: reduce minimum vector length to compute yaw error A value of 1m/s was too conservative and the EKF takes too much time to trigger a yaw reset. The value can be safely reduced because the threshold is computed using the accuracy of the measurement and estimate before being limited by this value. | 06 May 2021, 09:13:54 UTC |
aad4840 | Kabir Mohammed | 02 May 2021, 20:56:21 UTC | EKF: increase allowed difference between flow and gyro ODRs In the normal and lowlight mode for the PAW3902/3 sensor, the ODR is 66Hz, while in super lowlight mode it is 50Hz. The IMU ODR vs flow ODR mismatch threshold was too conservative for the 66Hz ODR, since https://github.com/PX4/PX4-ECL/pull/928. The EKF would keep waiting for the data to line up and never fuse measurements. | 03 May 2021, 09:08:16 UTC |
a7b8afe | Eike | 30 April 2021, 18:17:39 UTC | Allow rangefinder fusion in vision height mode (Fix for #994) (#999) Co-authored-by: Daniel Agar <daniel@agar.ca> | 30 April 2021, 18:17:39 UTC |
4ac57d3 | Daniel Agar | 25 April 2021, 21:05:09 UTC | EKF: increase fault flags value size to fit current flag bits (> 16) | 25 April 2021, 21:05:09 UTC |
5d34d7a | Eike | 31 March 2021, 12:24:38 UTC | Height source vision: Fallback to rangefinder if available (#994) | 31 March 2021, 12:24:38 UTC |
da06f25 | PX4BuildBot | 28 March 2021, 11:49:49 UTC | [AUTO COMMIT] update change indication | 29 March 2021, 01:22:25 UTC |
85fcf93 | PX4 BuildBot | 28 March 2021, 11:48:06 UTC | Update geo_lookup WMM to latest Sun Mar 28 11:48:06 UTC 2021 | 29 March 2021, 01:22:25 UTC |
6f2dec7 | bresch | 04 March 2021, 10:35:12 UTC | gps sacc: apply same minimum for EKF2 and yaw estimator | 25 March 2021, 08:54:30 UTC |
e3d1ade | Daniel Agar | 12 March 2021, 22:10:07 UTC | EKF: use flow for vel test ratio if only active source of horizontal aiding | 23 March 2021, 14:56:22 UTC |
bb950a1 | Morten Fyhn Amundsen | 10 March 2021, 15:52:20 UTC | Expose terrain vpos reset counter | 18 March 2021, 13:25:07 UTC |
ab69681 | Morten Fyhn Amundsen | 10 March 2021, 15:52:10 UTC | Add parameter for terrain timeout | 18 March 2021, 13:25:07 UTC |
4df0054 | Daniel Agar | 15 March 2021, 18:14:20 UTC | geo: purge old globallocal_converter | 15 March 2021, 18:43:53 UTC |
b3c1bd6 | Paul Riseborough | 09 March 2021, 09:32:35 UTC | EKF: Remove un-used code | 09 March 2021, 10:23:38 UTC |
4bad2a2 | Paul Riseborough | 11 February 2021, 09:11:25 UTC | EKF: Use debug prints for NuttX builds | 06 March 2021, 00:06:59 UTC |
0f47cae | Daniel Agar | 08 January 2021, 22:36:00 UTC | remove ECL_{INFO,WARN,ERN}_TIMESTAMPED macros - we already have mechanisms to print these messages timestamped | 06 March 2021, 00:06:59 UTC |
c1f1415 | Paul Riseborough | 02 March 2021, 08:55:21 UTC | EKF: Add usage warning comment | 06 March 2021, 00:06:59 UTC |
c2b86cd | Paul Riseborough | 02 March 2021, 08:52:51 UTC | EKF: Provide external reset of event records | 06 March 2021, 00:06:59 UTC |
9d51ab0 | Paul Riseborough | 02 March 2021, 08:51:59 UTC | EKF: Remove duplicated event recording | 06 March 2021, 00:06:59 UTC |
140ca3f | Paul Riseborough | 23 February 2021, 06:01:57 UTC | EKF: Add external monitoring of warning and information events | 06 March 2021, 00:06:59 UTC |
90a445d | Paul Riseborough | 21 February 2021, 10:12:58 UTC | EKF: upgrade some events from into to warning status | 06 March 2021, 00:06:59 UTC |
cb83670 | bresch | 03 March 2021, 10:51:04 UTC | [AUTO COMMIT] update change indication | 04 March 2021, 08:43:01 UTC |
93dd4e5 | bresch | 03 March 2021, 10:48:48 UTC | fix unit tests | 04 March 2021, 08:43:01 UTC |
5d441d6 | bresch | 02 March 2021, 13:58:52 UTC | Accelerate tilt fine alignment by reducing obs noise when at rest Fine tilt alignment is accomplished by fusing fake position data after a coarse tilt leveling. The observation noise can be reduced if the vehicle is at rest to speed up the process. | 04 March 2021, 08:43:01 UTC |
098d5ce | Daniel Agar | 22 February 2021, 16:55:56 UTC | EKF allow range aid without horizontal aiding - skip range aid velocity check when horizontal aiding isn't active | 22 February 2021, 16:55:56 UTC |
29943a2 | Nicolas MARTIN | 22 February 2021, 14:22:45 UTC | EKF test ratio status return current height source test ratio | 22 February 2021, 14:22:45 UTC |
164e53b | mcsauder | 12 February 2021, 18:20:08 UTC | Add unit tests and update ekf_helper setEkfGlobalOrigin() method to allow for condition when current position is unitialized. | 19 February 2021, 13:59:47 UTC |
63f64b5 | Daniel Agar | 12 January 2021, 23:33:00 UTC | EKF: set global origin method EKF: add convergence after global origin reset test | 19 February 2021, 13:59:47 UTC |
8193737 | bresch | 18 February 2021, 08:47:14 UTC | [AUTO COMMIT] update change indication | 18 February 2021, 09:11:51 UTC |
04844a0 | bresch | 16 February 2021, 14:21:36 UTC | ekf control: move time_last_in_air/on_ground out of GPS control logic | 18 February 2021, 09:11:51 UTC |
b00d4a9 | bresch | 16 February 2021, 14:01:25 UTC | mag fusion: improve on ground forced mag fusion logic While a yaw test ration > 1 rejects the mag data in air, the fusion is forced with a limited innovation on ground to fix gyro bias and local magnetic effects problems pre-takeoff. However, the same logic is applied after landing and immediately after the land detector detects landing. In some cases, this can disturb the other EKF states which can lead to a state change of the land detector. To avoid such a loop, the start of this forced yaw fusion is delayed by 5 seconds after landing. | 18 February 2021, 09:11:51 UTC |
310f415 | Daniel Agar | 16 February 2021, 15:33:43 UTC | EKF add const state reset status access | 16 February 2021, 15:33:43 UTC |
0c5291d | isidroas | 16 February 2021, 13:37:34 UTC | Heading reset to magnetometer from GPS or EV (#969) | 16 February 2021, 13:37:34 UTC |
d4258cc | Mathieu Bresciani | 15 February 2021, 09:31:16 UTC | yaw emergency: check angle between vel observation and estimate (#975) use thresholds based on state and obs variance * [AUTO COMMIT] update change indication | 15 February 2021, 09:31:16 UTC |
ffab483 | Loic Dubois | 11 February 2021, 17:05:21 UTC | Waiting for the filter to be initialized to set global origin | 11 February 2021, 17:55:25 UTC |
602e651 | Paul Riseborough | 05 February 2021, 07:41:17 UTC | EKF: Remove unnecessary initialisation | 09 February 2021, 08:55:32 UTC |
6f664ab | Paul Riseborough | 20 July 2020, 08:33:40 UTC | EKF: Non functional changes arising from review | 09 February 2021, 08:55:32 UTC |
b87778e | Paul Riseborough | 30 June 2020, 09:11:58 UTC | EKF: Make clip detection logic easier to follow | 09 February 2021, 08:55:32 UTC |
9aa8d93 | Paul Riseborough | 30 June 2020, 08:55:30 UTC | EKF: Use isRecent function | 09 February 2021, 08:55:32 UTC |
e948b35 | Paul Riseborough | 29 June 2020, 06:53:43 UTC | EKF: Don't reject vertical aiding data if inertial solution is bad Also reduce clipping count threshold | 09 February 2021, 08:55:32 UTC |
c566318 | Paul Riseborough | 23 June 2020, 09:21:27 UTC | EKF: misc improvements to handling of accel clipping | 09 February 2021, 08:55:32 UTC |
9c89fa3 | Paul Riseborough | 02 June 2020, 10:38:49 UTC | EKF: Use IMU clipping to adjudicate bad accel data check | 09 February 2021, 08:55:32 UTC |
cd38621 | bresch | 08 February 2021, 15:32:24 UTC | flow terrain: use dedicated variable for last fusion time This avoids confusion with the flow "for velocity" fusion in the main EKF | 09 February 2021, 04:26:33 UTC |
9521e81 | PX4BuildBot | 08 February 2021, 11:49:51 UTC | [AUTO COMMIT] update change indication | 08 February 2021, 14:43:53 UTC |
ae0c054 | PX4 BuildBot | 08 February 2021, 11:48:14 UTC | Update geo_lookup WMM to latest Mon Feb 8 11:48:14 UTC 2021 | 08 February 2021, 14:43:53 UTC |
5aaa6c6 | bresch | 28 January 2021, 09:32:27 UTC | lpos accuracy: bump variance if deadreckon time exceeded | 08 February 2021, 14:01:51 UTC |
46251db | Daniel Agar | 05 February 2021, 21:16:08 UTC | geo: explicitly link libm | 06 February 2021, 00:00:53 UTC |
b919f3d | Paul Riseborough | 20 January 2021, 23:13:28 UTC | EKF: Restore protection from extreme innovation values | 21 January 2021, 09:55:42 UTC |
efb78de | Paul Riseborough | 20 January 2021, 23:10:35 UTC | EKF: Set position fusion gate option false by default | 21 January 2021, 09:55:42 UTC |
556a195 | Paul Riseborough | 19 January 2021, 10:04:52 UTC | EKF: Improve handling of non position mode large position innovations These changes fix a bug that allowed IMU gyro errors that cause large tilt errors prior to start of aiding not resulting in large innovation test ratios. | 21 January 2021, 09:55:42 UTC |
99575d7 | Paul Riseborough | 08 January 2021, 21:18:18 UTC | EKF: Add bad accel bias checking for EV and range finder height use cases | 09 January 2021, 16:03:31 UTC |
ff3c0a6 | Paul Riseborough | 08 January 2021, 10:40:03 UTC | EKF: Fix bug preventing recovery from bad delta velocity bias estimates | 09 January 2021, 16:03:31 UTC |
c25c97f | priseborough | 08 January 2021, 00:10:39 UTC | [AUTO COMMIT] update change indication | 09 January 2021, 16:03:31 UTC |
9641810 | Paul Riseborough | 08 January 2021, 00:08:52 UTC | test: Allow for larger vel variance growth due to dvel bias variance | 09 January 2021, 16:03:31 UTC |
1b1c049 | Paul Riseborough | 07 January 2021, 22:09:32 UTC | test: Update unit test to match expected behaviour | 09 January 2021, 16:03:31 UTC |
dd259a2 | Paul Riseborough | 07 January 2021, 08:28:09 UTC | EKF: Don't modify accel bias states and variances when inhibited | 09 January 2021, 16:03:31 UTC |
3e1f2d8 | Paul Riseborough | 07 January 2021, 08:23:49 UTC | EKF: Set dvel bias variance to stored value when state is inactive | 09 January 2021, 16:03:31 UTC |
c212975 | bresch | 06 January 2021, 10:53:52 UTC | rng height: reset to baro using common logic The failsafe from rng height to baro height should occur after a reset to baro triggered by the controlHeightSensorTimeouts function and not in the fusion selector. Until now, the EKF was fusing baro measurements between rng updates if the range finder ODR was slower than the EKF update rate. This is not the case anymore as the height reset occurs after 5 seconds. The unit test has been extended to show this behavior. | 07 January 2021, 09:07:57 UTC |
03fed32 | Paul Riseborough | 05 January 2021, 09:46:14 UTC | EKF: Fix formatting | 05 January 2021, 10:08:28 UTC |
31fca9c | Paul Riseborough | 05 January 2021, 09:36:47 UTC | EKF: Update GPS loss message | 05 January 2021, 10:08:28 UTC |
c65cf13 | Paul Riseborough | 15 December 2020, 09:51:28 UTC | EKF; Treat combined sideslip and airspeed as a horizontal aiding source | 05 January 2021, 10:08:28 UTC |
211c84c | bresch | 04 January 2021, 10:18:17 UTC | Rng finder unit test: cover "un-stuck" logic | 05 January 2021, 09:04:17 UTC |
78ce46f | Kamil Ritz | 19 December 2020, 10:34:18 UTC | Removing Matlab derivation | 01 January 2021, 19:29:11 UTC |
18f334f | Mathieu Bresciani | 25 December 2020, 08:47:14 UTC | flow: add unit test for yaw motion (#950) | 25 December 2020, 08:47:14 UTC |
df7f261 | Kamil Ritz | 20 December 2020, 08:51:53 UTC | Add missing const modifier | 20 December 2020, 13:04:29 UTC |
a8e0e82 | Daniel Agar | 08 December 2020, 21:49:52 UTC | EKF: update mag LPF immediately | 17 December 2020, 09:46:04 UTC |
398fe15 | Daniel Agar | 02 November 2020, 22:13:14 UTC | EKF: allow initialising without mag depending on configuration - reduce initial number of required mag and baro samples before init | 17 December 2020, 08:55:51 UTC |
1237087 | Daniel Agar | 16 December 2020, 18:55:59 UTC | AlphaFilter add constructor that takes alpha and use in EKF | 16 December 2020, 18:55:59 UTC |
37e84b7 | Daniel Agar | 16 December 2020, 15:33:12 UTC | README: fix zenodo badge (rename ecl -> PX4-ECL) | 16 December 2020, 15:47:21 UTC |
5ccb8b4 | Mathieu Bresciani | 15 December 2020, 09:09:01 UTC | fakePosFusion: reset _last_known_posNE to current state when starting (#943) * [AUTO COMMIT] update change indication | 15 December 2020, 09:09:01 UTC |
9d22f14 | bresch | 10 December 2020, 11:34:31 UTC | gps_alt: constrain var using 1.5 as a typical ratio of vacc/hacc | 13 December 2020, 03:39:50 UTC |
b0cf45e | bresch | 10 December 2020, 11:33:52 UTC | gps_alt: rename getGpsAltVar -> getGpsHeightVariance | 13 December 2020, 03:39:50 UTC |
62f2e26 | bresch | 10 December 2020, 09:28:36 UTC | gps_alt: reset GPS alt variance usign helper function | 13 December 2020, 03:39:50 UTC |
f7bddda | bresch | 10 December 2020, 09:17:15 UTC | gps_alt: do not scale up reported gps vertical accuracy The comment said that the horizontal accuracy needs to be scaled up using the typical epv/eph ratio but the epv (vacc) is already available, so no scaling is required. | 13 December 2020, 03:39:50 UTC |