Paul Riseborough
9f81b8f09e
EKF: provide reset protection for external vision height
2016-05-27 13:15:53 +10:00
Paul Riseborough
1b6c5bbafd
EKF: Enable height source to be selected independent of EV aiding
2016-05-27 13:14:52 +10:00
Paul Riseborough
00bada8f25
EKF: Clean up logic for horizontal position fusion
...
Remove reference to optical flow fusion mode
Simplify logic flow for selection of observation noise
Remove unnecessary conditional statement
2016-05-27 11:29:10 +10:00
Paul Riseborough
6f412a73b4
EKF: Use correct height gate when using external vision
2016-05-27 11:24:53 +10:00
Paul Riseborough
e41524ac9d
EKF: remove unused variables
2016-05-27 11:21:04 +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
7dd123094f
EKF: correct documentation
2016-05-26 21:42:56 +10:00
Paul Riseborough
d5b5cb5899
EKF: improvements to observation collection
...
Remove unnecessary function calls
Remove un-used functions
Apply a consistent maximum safe data rate check for all observation inputs
2016-05-26 13:27:08 +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
5a40aa2c1a
EKF: prevent unwanted GPS use
2016-05-24 07:55:09 +10:00
Paul Riseborough
90d65071c1
EKF: Add output predictor processing option
...
Setting the velocity tracking tine constant to a negative number causes the output predictor to use a different method of correcting the velocity which provides a velocity output that is kinematically consistent with the position output.
This may improve height controller performance under some circumstances
2016-05-23 07:47:10 +10:00
Paul Riseborough
30917430e2
EKF: inline ring buffer functions used repeatedly
...
These functions get called 30 times each per output prediction cycle
2016-05-23 07:43:59 +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
Carl Olsson
0fafc49a49
fixed typos ( #147 )
2016-05-22 17:40:43 +02:00
Carl Olsson
dbe2513d48
updated logic of calculation of body field variance ( #146 )
2016-05-22 17:39:25 +02:00
CarlOlsson
eb70aca2e8
deleted second update of transformation matrix
2016-05-22 16:03:30 +02: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
ae5071f668
EKF: Improve heading reset
...
Improves reset of quaternion covariance matrix after a heading reset by preserving variance in roll and pitch and resetting yaw variance to the measurement variance.
2016-05-21 19:30:15 +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
waltjohnson
a9ca8c294c
Generalized isfinite() in similar form as done in ekf.cpp e3b9800cac/EKF/ekf.cpp (L45-L52)
2016-05-19 10:34:16 -06:00
waltjohnson
6eaa00e3f9
isfinite() is not part of the math class, rather the math.h header file.
2016-05-19 10:07:45 -06:00
waltjohnson
7c158aa59b
Addressed C99 compiler issues of initializing variables in header and unused included statements.
2016-05-19 09:58:18 -06: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
c1b02eaa91
EKF: Don't use 3-axis magnetometer fusion until the tilt is aligned
2016-05-18 21:06:45 +10:00
Paul Riseborough
aaac867da8
EKF: Adjust tilt alignment threshold
2016-05-18 20:34:12 +10:00
Paul Riseborough
e272d5f003
EKF: Use consistent position noise values during alignment
2016-05-18 20:11:08 +10:00
Paul Riseborough
b9a3712ccb
EKF: record yaw alignment event during initialisation to allow heading fusion to start early
...
This ensures bad yaw gyro biases are compensated for early, rather than waiting for the tilt alignment to fully converge before fusing heading.
2016-05-18 19:25:19 +10:00
Paul Riseborough
94a63ec9d5
EKF: don't interfere with quaternion covariances during tilt alignment
2016-05-18 19:25:19 +10:00
Paul Riseborough
22fba0fc6e
EKF: don't initialise filter without EV data if we are relying on it
2016-05-18 19:25:19 +10:00
Nic
1b16f3575a
added ev_pos flag check to valid_lpos, disable fake gps when ev_pos is valid
2016-05-17 21:07:04 -07: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
e4b2e9c93d
EKF: Improve yaw alignment
...
Uses best conditioned of 321 or 312 Euler sequence to calculate initial yaw angle.
Allows alignment of yaw angle using external vision data
2016-05-18 12:16:16 +10:00
Paul Riseborough
57b2a256f7
EKF: Improve initialisation of quaternion covariances
...
Convert uncertainty in initial rotate vector into quaternion covariances using symbolic toolbox derived expressions.
Enable setting of initial angle uncertainty via a parameter
2016-05-17 12:47:20 +10:00
Paul Riseborough
a4728bc748
EKF: derive auto-code for quaternion state covariance initialisation
2016-05-17 12:28:58 +10:00
Paul Riseborough
88860d0307
EKF: Enable tuning for IMU switch on bias errors
2016-05-17 11:17:24 +10:00
Paul Riseborough
1540e937b1
EKF: Improve tilt alignment monitoring
...
Convert quaternion covariances into an angular alignment variance vector and discard the z component so that yaw uncertainty does not affect the result.
2016-05-17 11:17:24 +10:00
Paul Riseborough
6ca8a36782
EKF: Add matlab derivation for calculation of rotation vector variance
2016-05-17 10:56:19 +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
Paul Riseborough
c955bfbf93
EKF: fix previous merge error
2016-05-15 20:36:51 +10:00
Paul Riseborough
920d83d68c
EKF: Fix bugs preventing use of external vision yaw data
2016-05-14 21:56:41 +10:00
Paul Riseborough
13c3a95bc1
EKF: Add missing line returns
2016-05-14 21:17:30 +10:00
Paul Riseborough
59eb9eb3db
EKF: fix shadow declaration arising from rebase
2016-05-14 21:17:30 +10:00
Paul Riseborough
172f4be594
EKF: Fix bug in calculation of terrain observation variance
2016-05-14 21:17:29 +10:00
Paul Riseborough
b985e58333
EKF: clean up control function
...
With the addition of new observation types, the control function has become too large and needed be broken up into separate functions
2016-05-14 21:17:29 +10:00
Paul Riseborough
f4a0f69f6e
EKF: print to console when starting EV fusion
2016-05-14 21:17:29 +10:00
Paul Riseborough
349c731375
EKF: remove PX4 dependant text output
2016-05-14 21:17:29 +10:00
Paul Riseborough
ac9b7a3df6
EKF: Ensure use of EV aiding inhibits use of other height sources
2016-05-14 21:17:29 +10:00