Paul Riseborough
63b0cf4360
EKF: Fix baro height offset bug
2016-03-14 15:51:15 +11:00
Paul Riseborough
4bd79c9e5d
Merge pull request #76 from PX4/pr-fixRngHgtMode
...
EKF: Fix bugs preventing use of range finder as primary height source
Flight testing completed and I have checked that the other pending PR #75 rebases cleanly on it.
2016-03-14 09:46:58 +11:00
Paul Riseborough
49023f3d7e
EKF: fix travis build error
2016-03-13 21:56:28 +11:00
Paul Riseborough
7677a162aa
EKF: Don't start the output observer before the main filter has initialised
...
This prevents the possibility of output transients if alignment is delayed.
2016-03-13 21:17:51 +11:00
Paul Riseborough
d2407c3463
EKF: code style updates
2016-03-13 21:17:51 +11:00
Paul Riseborough
c58ab3e256
EKF: Enable fallback to baro alt when using range finder for height
2016-03-13 21:17:51 +11:00
Paul Riseborough
370f643f42
EKF: Enable use of range finder for primary height source
2016-03-13 18:44:34 +11:00
Lorenz Meier
699ec17cc3
Removed spurious print in wheel controller
2016-03-12 11:23:08 +01:00
Paul Riseborough
2882c53246
Merge pull request #74 from PX4/pr-optflow-reworked
...
Add fusion of optical flow LOS rate measurements
2016-03-11 11:13:03 +11:00
Paul Riseborough
109e0e6dfc
EKF: When commencing GPS aiding, don't reset local position and velocity if using optical flow
2016-03-11 11:03:43 +11:00
Paul Riseborough
26238bc2f5
EKF: Allow for change in position when defining the WGS-84 origin position
...
This allows GPS aiding to commence later in flight without step changes in local position output
2016-03-11 11:03:43 +11:00
Paul Riseborough
e0fcce1463
EKF: Make position and velocity reset publish success
...
Some users of the position and velocity reset functions will need to know if the reset has been successful.
2016-03-11 11:03:43 +11:00
Paul Riseborough
48f980b054
EKF: Fix syntax causing posix build to fail
2016-03-11 11:03:43 +11:00
Paul Riseborough
eab0ef4266
EKF: Update default process noise for terrain estimator
2016-03-11 11:03:43 +11:00
Paul Riseborough
962fd0aaf2
EKF: Adjust terrain process noise for gradient effect
2016-03-11 11:03:43 +11:00
Paul Riseborough
1a2da887ab
EKF: Fix bug in calculation of terrain estimator Kalman gain
2016-03-11 11:03:43 +11:00
Paul Riseborough
cc5512905a
EKF: prevent optical flow, GPS and baro fusion from blocking each other
2016-03-11 11:03:43 +11:00
Paul Riseborough
e9ccfdd484
EKF: Update derivation scripts and outputs
...
Work around limitation in Symbolic toolbox environment space by incrementally saving and clearing workspace
Remove vehicle vertical position from optical flow prediction equations (use range measurement instead) and regenerate auto-code
Remove legacy optical flow auto-code conversion method as it is not required now a work around for symbolic toolbox limitations has been developed
Fix out of date syntax
2016-03-11 11:03:43 +11:00
Paul Riseborough
ffebaf384f
EKF: Set initial optical flow fusion monitor outputs to zero
2016-03-11 11:03:43 +11:00
Paul Riseborough
5acd1cbac4
EKF: Make definitions of parameters clearer for external use
2016-03-11 11:03:43 +11:00
Paul Riseborough
dd1d58bab5
EKF: Remove unnecessary matrix operations from optical flow fusion
...
The updated formulation means that H_LOS[][8] is always zero, so these operations are no longer required.
2016-03-11 11:03:43 +11:00
Paul Riseborough
b3b0f1347a
EKF: Make normal GPS mode the default
2016-03-11 11:03:43 +11:00
Paul Riseborough
d97d308ca7
EKF: Add control of optical flow and range finder fusion
2016-03-11 11:03:43 +11:00
Paul Riseborough
836fe39070
EKF: Update external interface functions to support optical flow
2016-03-11 11:03:43 +11:00
Paul Riseborough
2ff338048d
EKF: Add support for range-finder fusion as primary height reference
2016-03-11 11:03:43 +11:00
Paul Riseborough
2c2850c0ce
EKF: Add functions to get position and velocity state variance
2016-03-11 11:03:43 +11:00
Paul Riseborough
32b03819ef
EKF: Add function to calculate global position validity
2016-03-11 11:03:43 +11:00
Paul Riseborough
270451e17b
EKF: Update height reset to support range finder height use
2016-03-11 11:03:43 +11:00
Paul Riseborough
dca186c6e8
EKF: Add required declarations for optical flow
2016-03-11 11:03:43 +11:00
Paul Riseborough
75b22c95ac
EKF: Add new source files to cmake
2016-03-11 11:03:43 +11:00
Paul Riseborough
122dd9c531
EKF: Add source file for optical flow LOS rate fusion
2016-03-11 11:03:43 +11:00
Paul Riseborough
82cbfafb34
EKF: Add source file for terrain vertical position estimator
...
Implements a single state Kalman filter to estimate terrain vertical position relative to the NED origin.
2016-03-11 11:03:43 +11:00
Paul Riseborough
829e0f1e65
Merge pull request #73 from mcsauder/master
...
Conversion error correction and additional function overloads to allow standalone compilation.
2016-03-11 11:02:32 +11:00
mcsauder
6a61f9ba77
Remove a define that might not be required for compilations in other scnearios outside of C99 restrictions to minimize Pull Request modifications.
2016-03-05 02:17:55 -07:00
mcsauder
115c87a0ea
Remove an include that was unnecessary.
2016-03-05 02:15:04 -07:00
mcsauder
1aee1b895a
Uncomment commented lines that removed Eigen namespaces and dependencies.
2016-03-05 02:12:26 -07:00
mcsauder
f9be23933b
Correct deg to rad conversion inversion. Add additional functionality to mathlib to allow standalone compile without Limits.cpp and Limits.hpp files from PX4.
2016-03-05 01:58:58 -07:00
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