Paul Riseborough
b163efeae2
Merge pull request #72 from PX4/pr-MagFusionBug
...
Fix bug in declination fusion and standardise covariance update
2016-03-05 11:34:19 +11:00
Paul Riseborough
5242af84af
EKF: Standardise covariance update and use static arrays for large matrices
2016-03-05 08:58:19 +11:00
Paul Riseborough
1414d591ce
EKF: Fix bug in declination fusion indexing
2016-03-05 08:43:33 +11:00
Daniel Agar
2108466a00
initialize ECL_L1 variables
2016-03-03 11:22:07 +01:00
Roman Bapst
b2744f965d
use in_air flag from land detector to determine if we are on the ground
2016-03-03 10:53:39 +01:00
Paul Riseborough
569886a4fc
EKF: Fix bug in velocity and position innovation consistency checks
2016-03-03 17:15:22 +11:00
mcsauder
f9e3db0504
Move variable initializations from header file to constructor to allow C99 compliance.
2016-03-02 08:42:38 +01:00
Paul Riseborough
d8627c6aaf
EKF: Reset the vertical position states if height fusion times out
2016-03-02 08:39:07 +01:00
Paul Riseborough
f7a53d69f2
EKF: Improve height reset function
...
Add a method to reset the vertical velocity to enable in-flight resets
Reset to GPS height if baro height is not available.
2016-03-02 08:39:07 +01:00
Paul Riseborough
a6da73fa83
EKF: Add missing div0 protection
2016-03-01 18:03:35 +11:00
Paul Riseborough
d5e47d21db
EKF: miscellaneous comment and format changes
2016-03-01 15:35:45 +11:00
Paul Riseborough
7c83ac4b6d
EKF: Use heading fusion as default for startup and ground operation
2016-03-01 15:35:17 +11:00
Paul Riseborough
57d4064d7b
EKF: Increase default heading observation noise
...
Improves robustness when operating in a bad magnetic field environment
2016-03-01 15:28:53 +11:00
Paul Riseborough
97df006a6a
EKF: Update direct heading fusion
...
Adds a 312 Euler rotation sequence option for magnetic heading fusion.
Switches between it and the normal 321 sequence option depending on orientation.
2016-03-01 15:25:22 +11:00
Paul Riseborough
ea29e39e5b
EKF: Updated derivation of Jacobians for direct heading measurement
...
Adds an alternative using a 312 Euler sequence.
2016-03-01 15:21:36 +11:00
Paul Riseborough
2c9a814de1
Merge pull request #64 from mcsauder/master
...
Additional filter variable initializations required to fully reset the filter variables
2016-02-26 23:06:56 +11:00
Paul Riseborough
78d6f6941c
Merge pull request #61 from PX4/pr-ImprovedAccuracyReporting
...
EKF: Improve Position Accuracy Reporting
2016-02-26 22:48:44 +11:00
Paul Riseborough
f058fc817f
Merge pull request #63 from PX4/att_reset
...
Attitude reset after heading reset
2016-02-26 22:35:14 +11:00
mcsauder
5fb48a2e7b
Merge remote-tracking branch 'upstream/master'
2016-02-25 22:51:58 -07:00
mcsauder
5fec0df70d
Additional initializations required to reset complimentary filter values if the state estimate ever diverges and requires re-initiailization.
2016-02-25 22:51:14 -07:00
Roman Bapst
9192ced7bb
do not reset output attitude state after heading reset to avoid jumps in attitude
2016-02-25 18:20:29 +01:00
Lorenz Meier
cd5857e900
Add vibration magnitude estimation
2016-02-25 16:54:24 +01:00
Paul Riseborough
cd0cac066a
EKF: Calculate and publish horizontal and vertical position accuracy
...
This calculation takes into account the uncertainty of the origin.
Dead reckoning status is also published
2016-02-25 10:38:07 +11:00
Paul Riseborough
a30830a7a9
EKF: Scale position observation noise with GPS quality
...
This allows the filter to adapt to variations in GPs quality.
The range of adjustment in observation noise is limited to the range between a lower limit set by the GPS observation noise parameter and an upper limit set by the no-aiding observation noise.
2016-02-25 10:16:32 +11:00
Paul Riseborough
5483e7a477
Merge pull request #60 from PX4/pr-ReduceMagModeSwitchKick
...
EKF: Fix Bug Causing Roll/pitch Disturbances On Mag Fusion Mode Switch
2016-02-25 09:42:18 +11:00
Paul Riseborough
f55a0bff53
EKF: Fix code style
2016-02-25 08:17:50 +11:00
Paul Riseborough
5b5bddebea
EKF: Always reset yaw and mag field states on entry into 3-axis mag fusion mode
2016-02-25 08:16:42 +11:00
Paul Riseborough
2d09a5f3ac
EKF: Don't reset yaw and mag field states when not necessary
2016-02-25 08:16:42 +11:00
Paul Riseborough
380db7ebef
EKF: Reset angle error covariance after yaw and mag field reset
...
The yaw angle could have changed by a significant amount making the correlations invalid.
Setting angle variances to zero prevents the initial kick in angles due to 3D fusion starting
2016-02-25 08:16:42 +11:00
Paul Riseborough
e938475acc
Merge pull request #59 from PX4/pr-ImprovedStartup
...
Improvements to EKF startup - partially replaces PR#57
2016-02-24 18:27:12 +11:00
Paul Riseborough
0ad5329caf
EKF: Update comments in heading fusion to clarify calculation of magnetic heading
2016-02-24 12:06:11 +11:00
Paul Riseborough
36affe3cd8
EKF: Fix bug causing incorrect initial roll when inverted
2016-02-24 11:56:12 +11:00
Paul Riseborough
016695fc3e
EKF: Reduce startup transients
...
Update initial state variance values
2016-02-24 11:48:42 +11:00
Siddharth Bharat Purohit
9c7a3f366c
Merge pull request #54 from mcsauder/master
...
Address C99 compatibility issues by relocating variable initialization. - Replaces PR#50
2016-02-23 15:53:04 -08:00
mcsauder
6613335937
Added constexpr back from const var type.
2016-02-23 16:15:52 -07:00
mcsauder
342010c113
Update c style array initialization to attempt to pass Travic CI build tests.
2016-02-23 15:52:02 -07:00
mcsauder
48e80e9e3e
Correct C style array initialization.
2016-02-23 15:16:40 -07:00
mcsauder
f9f00fa52b
Remove unnecessary include.
2016-02-23 14:00:39 -07:00
mcsauder
ccb5736353
Spaces to tab.
2016-02-23 19:58:30 -07:00
mcsauder
a4cecb1704
Match variable initialization order difference with upstream.
2016-02-23 19:57:27 -07:00
mcsauder
79d07c831f
Convert spaces to tabs to match upstream.
2016-02-23 19:53:55 -07:00
mcsauder
6c96f45f08
Remove whitespace differences with upstream for pull request.
2016-02-23 19:49:27 -07:00
mcsauder
fad1c87631
Merge upstream and resolve merge conflicts.
2016-02-23 19:29:30 -07:00
Siddharth Bharat Purohit
237ecfef1a
Add travis build check badge
2016-02-22 23:49:58 -08:00
Roman Bapst
8eb63a150d
Merge pull request #53 from bugobliterator/pr-sharedlib
...
Shared Library build
2016-02-23 08:30:46 +01:00
Paul Riseborough
35865048a2
Merge pull request #55 from PX4/pr-FixYawFusionBug
...
Fix bug in heading fusion and add new method for ground/indoor use
2016-02-21 09:41:18 +11:00
Paul Riseborough
70a3b91217
EKF: Update magnetometer fusion derivations
2016-02-20 20:09:15 +11:00
Paul Riseborough
a711632017
EKF: Add method to fuse horizontal magnetometer data
...
This method is more suitable than a raw heading measurement because it works across a full range of pitch angles.
It has been made the default for ground operation.
2016-02-20 19:45:32 +11:00
mcsauder
4ce4724105
Added variable initializations back into EstimatorInterface() constructor to resolve a runtime error that occurs with uninitialized variables.
2016-02-19 23:57:06 -07:00
Paul Riseborough
6df6ac0023
EKF: Fix sign error in heading innovation calculation and clean up
2016-02-20 11:54:53 +11:00