Paul Riseborough
48d83f3bcb
EKF: Fix vulnerability to ground level mag anomally when using heading fusion ( #544 )
...
Previously, the reset of the yaw when climbing above 1.5m was not performed until 3-axis fusion was enabled. This could result in loss of navigation depending on the value of EKF2_MAG_TYPE and the flight profile.
2019-01-03 09:41:55 -05:00
Paul Riseborough
35f628e68f
EKF: Add interface to enable logging of GPS drift metrics ( #490 )
...
* EKF: Add interface to enable logging of GPS drift metrics
* EKF: Fix bug affecting rate of GPS drift publication
Also fix variable name.
2018-08-03 13:24:31 +10:00
Paul Riseborough
1cba257bac
Merge branch 'master' into pr-ekfOptFlowGyro
2018-06-18 09:36:16 +10:00
Paul Riseborough
1a1106878d
EKF: Prevent timestamp jitter failing GPS data arrival check ( #462 )
...
This fixes a error condition that occurs if _time_last_gps is greater than _time_last_imu.
By checking time stamps at the fusion time horizon, we guarantee that this cannot happen because all observations must have a time stamp smaller or equal to _imu_sample_delayed.time_us before they are retrieved from the buffers.
2018-06-15 16:03:54 +10:00
Paul Riseborough
1bd1809d6e
EKF: Fix bug causing simultaneous range and baro height fusion ( #429 )
2018-05-03 13:24:33 +10:00
Paul Riseborough
02055acee2
EKF: Fix non GPS aiding data reset logic ( #418 )
...
* EKF: Move optical flow specific state reset to helper functions
* EKF: Ensure loss of optical flow aiding is handled correctly
If data is only source of aiding and has been rejected for too long - reset using flow data as a velocity reference.
If flow data is unavailable for too long - declare optical flow use stopped.
Use consistent time periods for all resets
* EKF: Ensure loss of external vision aiding is handled correctly
If data is only source of aiding and has been rejected for too long - reset using data as a position.
Don't reset velocity if there is another source of aiding constraining it.
If data is unavailable for too long, declare external vision use stopped.
Use consistent time periods for all resets.
* EKF: Update parameter documentation
Make the distinction between the no_gps_timeout_max and no_aid_timeout_max parameters clearer
* EKF: make class variable units consistent with documentation
* EKF: Don't reset states when optical flow use commences if using external vision
* EKF: Stop optical flow fusion when on ground if excessive movement is detected.
* EKF: fix terrain estimator vulnerabilities
Reset estimate to sensor value if rejected for 10 seconds
Protect against user motion when on ground.
Fix unnecessary duplication of terrain validity check and separate validity update and reporting.
* EKF: remove unnecessary Info console prints
Optical flow use information can be obtained from the estimator_status.control_mode_flags message
* EKF: fix inaccurate comment
* EKF: remove duplicate calculation from terrain validity accessor function
2018-04-09 18:35:15 +10:00
Paul Riseborough
1bb4c17c0e
EKF: Allow use of large GPS position observation noise when using other aiding sources ( #403 )
2018-03-27 11:31:37 +11:00
Paul Riseborough
8a012436f9
EKF: Fix reversion from GPS to no-aiding mode ( #412 )
...
* EKF: Do not delay reversion to no-aiding mode if parameter initiated
* EKF: Move no-aid reversion resets to helper functions
* EKF: Prevent unwanted fusion of velocity data during no aiding mode
2018-03-22 22:39:00 +11:00
Paul Riseborough
78e983073a
EKF: Fix bug in use of gps velocity noise parameter ( #401 )
...
This fixes a bug introduced by an earlier feature request PR. The parameter is supposed to define the lower limit on the observation noise.
2018-02-28 11:48:53 +11:00
Paul Riseborough
a2d6a4dded
EKF: fix indexing bug ( #387 )
...
Should use index 9 for vertical position.
2018-01-29 08:09:55 +11:00
Paul Riseborough
f016e66ff8
Revert "EKF: Release flow speed limit with altitude gained" ( #382 )
...
* Revert "EKF: Release flow speed limit with altitude gained"
This reverts commit e70206f74b .
* Revert "fix code style"
This reverts commit 76bf70121c .
* Revert "Reverse the linked list of data_validator_group and maintain a first node"
This reverts commit 32482e7644 .
2018-01-24 20:46:48 +11:00
Paul Riseborough
76763adb5c
Merge pull request #374 from PX4/pr-ekfInitFix
...
EKF: Prevent possible /0 due to incorrect initial values
2018-01-04 08:15:08 +11:00
Paul Riseborough
bdbc05cf91
Merge pull request #372 from PX4/pr-tecs_init
...
TECS initialize throttle integrator at cruise if in air
2017-12-28 09:09:14 +11:00
Paul Riseborough
a39c376c26
Merge pull request #371 from CarlOlsson/pr-push_beta_test_ratio
...
ekf: return beta test ratio in get_innovation_test_status
2017-12-28 08:29:15 +11:00
Paul Riseborough
22a6abbca2
Merge pull request #365 from PX4/pr-ekfBugFix
...
EKF: Fix vel pos innovation handling bug
2017-11-24 14:46:11 +11:00
Paul Riseborough
882f4d44e5
Merge pull request #362 from PX4/pr-ekfAuxVelFuse
...
EKF: Add additional velocity interface to use landing beacon data
2017-11-21 11:55:43 +11:00
Paul Riseborough
bd8f30752a
Merge pull request #351 from PX4/ekfGndEffectComp-wip
...
EKF: Protect against ground effect induced static pressure rise
2017-11-20 09:14:26 +11:00
Paul Riseborough
c8d459eecd
Merge pull request #360 from dagar/pr-ekfObsBufAlloc
...
EKF RingBuffer allocation minor improvements + print memory usage
2017-11-17 08:38:57 +11:00
Paul Riseborough
3479542ae5
Merge pull request #359 from PX4/pr-ekfObsBufAlloc
...
EKF: Reduce memory usage
2017-11-17 08:09:37 +11:00
Paul Riseborough
f54f1d467f
Merge pull request #358 from PX4/pr-ringbuffer_copies
...
EKF RingBuffer avoid unnecessary copying
2017-11-16 13:37:36 +11:00
Paul Riseborough
44eaa076db
Merge pull request #356 from PX4/pr-ekfMiscUpdate
...
EKF: Remove redundant code
2017-11-16 07:05:18 +11:00
Paul Riseborough
cc651ac472
Merge pull request #354 from PX4/ekfMagYawReset-wip
...
Prevent loss of navigation accuracy after in-flight mag yaw alignment
2017-11-13 07:32:23 +11:00
Paul Riseborough
7852c0ed03
Merge pull request #312 from PX4/pr-ekfExtVisQuat
...
EKF: Enable operation with arbitrary External Vision reference frame
2017-11-12 08:35:39 +11:00
Paul Riseborough
f921b2de5c
Merge pull request #348 from PX4/pr-ekfAddImuBiasReset
...
EKF: Add method to enable the IMU bias states to be reset externally
2017-10-30 15:55:52 +11:00
Paul Riseborough
cd2ca57ec2
Merge pull request #339 from PX4/ekfPosCtrlLimits-wip
...
Ekf pos ctrl limits wip
2017-10-23 06:57:23 +11:00
Paul Riseborough
afa8844eb7
Merge pull request #341 from CarlOlsson/fix/fw_yaw_align2
...
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-20 14:05:52 +11:00
Paul Riseborough
61e0c04811
Merge pull request #338 from CarlOlsson/fix/fw_pos_reset
...
EKF: Fix bug when resetting position and velocities for fw due to som…
2017-10-18 07:02:34 +11:00
Paul Riseborough
410697cb0c
Merge pull request #337 from CarlOlsson/fix/comment
...
EKF: fixed comment
2017-10-17 21:15:06 +11:00
Paul Riseborough
a34bba87fc
Merge pull request #322 from PX4/pr-ekfMagFusionMode
...
EKF Add mag fusion mode for VTOL
2017-10-13 07:27:54 +11:00
Paul Riseborough
9c65968c3d
Merge pull request #334 from PX4/pr-ekf_minor_flow_fix
...
ekf: fix optical flow bugs
2017-10-12 09:14:29 +11:00
Paul Riseborough
68bad48598
Merge pull request #330 from CarlOlsson/pr-add_get_wind_vel_var
...
EKF: added get_wind_velocity_var function
2017-10-12 09:12:54 +11:00
Paul Riseborough
705f93d0bf
Merge pull request #327 from CarlOlsson/parameterize_max_rng_tilt
...
EKF: Parameterize maximum angle for rng fusion
2017-10-02 17:08:34 +11:00
Paul Riseborough
160e4d69c1
Merge pull request #323 from PX4/pr-ekfQuatMultOrder
...
EKF: use hamiltonian convention for quaternion multiplication order
2017-09-21 07:49:35 +10:00
Paul Riseborough
4411c7fd1c
Merge pull request #325 from PX4/pr-ekfFlowGyroBias
...
EKF: Fix bug in accumulation of IMU data for flow sensor gyro bias
2017-09-14 18:47:46 +10:00
Paul Riseborough
3b3326e250
Merge pull request #326 from TSC21/fix_travis
...
travis: install python3.5 for trusty in order to run pip3
2017-09-14 18:32:31 +10:00
Paul Riseborough
1531269f92
Merge pull request #319 from PX4/pr-attitude_fw-cleanup
...
attitude_fw delete unused and cleanup
2017-08-28 09:48:49 +02:00
Paul Riseborough
fac292fef9
Merge pull request #321 from dagar/pr-ekf_formatting
...
EKF trivial code style cleanup
2017-08-26 18:17:23 +10:00
Paul Riseborough
3983ac23fa
Merge pull request #316 from PX4/pr-ekfTrueAirspeed
...
EKF: Add true airspeed accessor
2017-08-11 08:18:04 +10:00
Paul Riseborough
967720a9d7
Merge pull request #313 from PX4/pr-ekfYawReset
...
EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing
2017-08-08 20:59:49 +10:00
Paul Riseborough
c230663b68
Merge pull request #309 from PX4/pr-ekfYawFusion
...
EKF: Improve efficiency of yaw fusion for External Vision
2017-07-31 19:37:15 +10:00
Paul Riseborough
ba5de96fcb
Merge pull request #311 from PX4/pr-ekfExtVis
...
EKF: Add ability to use EV and GPS data together
2017-07-29 16:29:53 +10:00
Paul Riseborough
74d1955dfa
Merge pull request #310 from PX4/pr-ekfFixComments
...
EKF: Correct units in comments
2017-07-26 16:28:44 +10:00
Paul Riseborough
df34b43c00
Merge pull request #308 from PX4/pr-ekfDoxygen
...
EKF: Update documentation and make compatible with Doxygen
2017-07-21 10:55:18 +10:00
Paul Riseborough
627f8184b3
Merge pull request #307 from PX4/pr-constrain_vpos
...
constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance …
2017-07-20 17:35:35 +10:00
Paul Riseborough
9b6e1ab2a7
Merge pull request #306 from PX4/revert-305-revert-303-pr-get_terr_valid
...
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:54:18 +10:00
Paul Riseborough
e1fe5b2229
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:52:35 +10:00
Paul Riseborough
13f8d949bd
Merge pull request #305 from PX4/revert-303-pr-get_terr_valid
...
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:34:03 +10:00
Paul Riseborough
c887b02f21
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:33:48 +10:00
Paul Riseborough
18e81eba31
Merge pull request #300 from nicolaerosia/ekf2-dt
...
sensor_combined stores deltas in usec instead of seconds
2017-07-17 07:25:27 +10:00
Paul Riseborough
d69cc3d7c8
Merge pull request #293 from PX4/pr-fixExtVisionFallback
...
EKF: Allow fallback to non-aiding mode if external vision fusion is lost
2017-07-13 20:45:24 +09:00
Paul Riseborough
7a17f74910
Merge pull request #297 from ursa-drone/vispos_fix
...
Fixed vision position fusion bug
2017-07-12 22:15:54 +09:00
Paul Riseborough
48a42dfb5b
Merge pull request #288 from PX4/pr-ekfDelVelBiasFix
...
EKF: Improve protection against covariance instability in delta velocity bias states
2017-07-04 08:57:32 +10:00
Paul Riseborough
eb1e73ec81
Merge pull request #283 from PX4/ekf_matrix_cleanup
...
EKF matrix typedef cleanup
2017-07-03 21:02:24 +10:00
Paul Riseborough
ae118940b1
Merge pull request #292 from PX4/pr-use_baro_align
...
use baro for the ekf alignment if range finder is primary height source
2017-07-03 20:31:16 +10:00
Paul Riseborough
dfbc9de48e
Merge pull request #291 from PX4/pr-ekfWindEstBugFix
...
EKF: Fix bug affecting wind estimation for planes
2017-07-01 11:06:58 +10:00
Paul Riseborough
73ef95b37f
Merge pull request #289 from PX4/pr-height_fixes
...
Pr height fixes
2017-06-30 12:31:26 +10:00
Paul Riseborough
7f1cca5b28
Merge pull request #244 from PX4/pr-rangeAid
...
Pr range aid
2017-06-16 17:47:21 +10:00
Paul Riseborough
d6decb3c84
Merge pull request #277 from PX4/pr-ekfBufferParam
...
EKF: Add a parameter to enable setting of a minimum buffer length
2017-06-15 07:34:21 +10:00
Paul Riseborough
c48b879843
Merge pull request #276 from CarlOlsson/feature/only_update_mag_states
...
EKF: Add feature to use the mag to only update the mag states
2017-06-14 11:04:14 +10:00
Paul Riseborough
97eb17a62f
Merge pull request #265 from PX4/pr-ekfOutputObserver
...
EKF: add option to output velocity as time derivative of position
2017-06-12 19:01:54 +10:00
Paul Riseborough
8a2c5c1ad2
Merge pull request #266 from dagar/valgrind
...
ekf2 initialization fixes
2017-04-25 17:38:17 +10:00
Paul Riseborough
c62bdcbdb2
Merge pull request #264 from PX4/pr-ekfBuildErrorFix
...
EKF: remove clang build error message
2017-04-18 19:29:16 +10:00
Paul Riseborough
d47c372872
Merge pull request #263 from PX4/pr-ekfBuildErrorFix
...
EKF: Fix travis clang build error
2017-04-18 17:12:51 +10:00
Paul Riseborough
b07acd8cf3
Merge pull request #254 from PX4/pr-ekfAccelErrorHandling
...
EKF: improve recovery from bad IMU accel data
2017-04-12 21:39:14 +10:00
Paul Riseborough
a1a5734443
Merge pull request #259 from PX4/pr-ekfBugFix
...
EKF: Protect against covariance prediction and update errors
2017-04-06 16:30:07 +10:00
Paul Riseborough
8f6c51e10e
Merge pull request #257 from PX4/pr-ekfBugFix
...
EKF: Do not move EKF origin when performing GPS checks
2017-04-01 08:07:49 +10:00
Paul Riseborough
6d9b556b04
Merge pull request #255 from PX4/pr-ekfBugFix
...
EKF: fix bugs preventing preflight checks passing
2017-03-21 07:27:43 +10:00
Paul Riseborough
879ad1fd2c
Merge pull request #231 from pickledgator/ev_hgt_counter_fix
...
height counter update for ev primary height source
2017-03-10 14:18:35 +11:00
Paul Riseborough
092cc52838
EKF: Remove out of date comment
2017-03-10 14:18:13 +11:00
Paul Riseborough
6e5a9aabe1
Merge pull request #234 from PX4/pr-optFlowUpdates
...
EKF: optical flow improvements
2017-02-22 09:00:48 +11:00
Paul Riseborough
283c328c23
Merge pull request #212 from PX4/pr-ekfCriticalBugFix
...
EKF: Fix bug causing repeated resets if GPS sensor disconnected
2016-11-05 09:43:24 +11:00
Paul Riseborough
2bc50489fd
Merge pull request #210 from PX4/remove_KH
...
EKF: reduce KH to only the elements that are really needed, and merge the loops
2016-11-05 09:24:13 +11: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
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
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
Paul Riseborough
a2d866520a
EKF: perform innovation check in all axes before fusing 3D mag data ( #171 )
...
Perform the innovation consistency check on all axes first and exit if any axis fails. Reduces the likelihood of bad magnetometer data corrupting the attitude estimates.
2016-07-07 16:46:30 +02:00
Paul Riseborough
0cc0008927
Merge pull request #166 from georgehines/matlab-log-import
...
add double support
2016-06-30 17:21:37 +10:00
Paul Riseborough
eaae95fdc4
Merge pull request #160 from priseborough/pr-ekf2Improvements
...
EKF: clean up fusion control logic
2016-06-30 17:18:14 +10:00
Paul Riseborough
16bdbebdc6
Merge pull request #161 from PX4/pr-resetFix
...
do not return early in velocity reset method
2016-06-08 17:23:09 +10:00
Paul Riseborough
928a7dd059
Merge pull request #157 from PX4/pr-ekf2ResetInterface
...
Change state reset information interface
2016-06-08 14:18:31 +10:00
Paul Riseborough
2024252d65
Merge pull request #158 from CarlOlsson/act_ars_off_by_default
...
activate tas fusion, off by default
2016-06-08 14:17:31 +10:00
Paul Riseborough
e72788bd0f
Merge pull request #159 from priseborough/pr-ekf2MagBugFix
...
EKF: Fix critical bugs in mag fusion and yaw reset
2016-06-08 14:11:47 +10:00
Paul Riseborough
3c84d37175
Merge pull request #156 from PX4/fix_printfs
...
EKF: use ECL printfs everywhere
2016-06-07 09:45:00 +10:00
Paul Riseborough
8bfdb0430c
Merge pull request #150 from PX4/pr-ekf2StatusReporting
...
EKF: Publish full reset and innovation consistency check status data
2016-06-02 07:17:49 +10:00
Paul Riseborough
654093cae1
Merge pull request #155 from PX4/pr-ekf2AlignmentNoiseFilterInit
...
EKF: Initialise alignment noise filters using valid data
2016-05-28 09:12:15 +10:00
Paul Riseborough
35bb6cc6e9
Merge pull request #154 from PX4/pr-ekf2AlignmentBufferFlush
...
EKF: Ensure bad initial data is flushed from buffers before use
2016-05-28 08:41:24 +10:00
Paul Riseborough
9557f64248
Merge pull request #153 from PX4/pr-ekf2ExternalVision
...
EKF: external vision bug fixes
2016-05-27 18:57:41 +10:00
Paul Riseborough
53030b9297
Merge pull request #152 from PX4/pr-ekf2FixObsDataHandling
...
EKF: Fix vulnerability to loss of observations due to high input data rates
2016-05-26 21:44:10 +10:00
Paul Riseborough
e2d9e19a5d
Merge pull request #148 from PX4/pr-ekf2OutputPredictor
...
EKF2 provide alternative output velocity prediction
2016-05-24 08:46:33 +10:00
Paul Riseborough
9f0b9909e7
Merge pull request #149 from PX4/pr-ekf2FixUnwantedGpsUse
...
EKF: prevent unwanted GPS use
2016-05-24 08:45:18 +10:00
Paul Riseborough
c8c2d6d963
Merge pull request #145 from CarlOlsson/small_fix
...
Deleted second update of transformation matrix
2016-05-23 07:40:58 +10:00
Paul Riseborough
4c5252269c
Merge pull request #142 from PX4/pr-ekf2ImproveHeadingReset
...
EKF: Improved heading reset
2016-05-21 22:38:26 +10:00
Paul Riseborough
4b279a8836
Merge pull request #144 from waltjohnson/master
...
Addressed C99 compiler issues of initializing variables in header and…
2016-05-20 07:37:24 +10:00
Paul Riseborough
f5e2dabc2b
Create CONTRIBUTING.md
2016-05-19 18:14:33 +10:00
Paul Riseborough
e3b9800cac
Merge pull request #138 from pickledgator/evTesting
...
EV testing
2016-05-19 12:56:41 +10:00
Paul Riseborough
867bc8c601
Merge pull request #139 from PX4/pr-ekf2Alignment
...
EKF: Improve angular alignment consistency
2016-05-18 21:23:31 +10:00
Paul Riseborough
50ba26a434
Merge pull request #134 from PX4/pr-ekf2Alignment
...
EKF: Improved tilt alignment control
2016-05-18 12:34:22 +10:00
Paul Riseborough
d5046b078e
Merge pull request #106 from PX4/pr-visionSupport
...
EKF: add support for external vision data
2016-05-16 07:32:46 +10:00