kamilritz
1fcfd394dd
Various small non-functional improvements
2020-01-08 09:00:31 +01:00
kamilritz
36da8d82c8
Clean up white space
2020-01-08 09:00:31 +01:00
kamilritz
9e6d27fafb
Add missing const qualifier
2020-01-08 09:00:31 +01:00
Paul Riseborough
0d0f46ec1c
EKF: Don't run unnecessary makeRowColSymmetric operation
...
This operation is expensive when done to the whole covariance matrix and unnecessary after covariance prediction because we calculate the upper diagonal and copy across so it is already symmetric.
2020-01-02 19:26:57 +11:00
kamilritz
92ba618f57
Improve on flash memory usage
2020-01-02 19:26:57 +11:00
kamilritz
459b76f9fd
Make covariance matrices of type matrix::SquareMatrix
...
and use functions from Matrix to reset covariances.
2020-01-02 19:26:57 +11:00
kamilritz
dae8c2f8dc
Group velocity and position as a 3d vector
2019-12-05 20:09:34 +11:00
kamilritz
86b9079bdc
Refactoring velPos fusion
2019-12-05 20:09:34 +11:00
kamilritz
fd6b364c11
posNED to pos and velNED to vel and add ev vel covariances to reset
2019-09-24 07:48:46 +10:00
kamilritz
1e57c4bbec
Fix white space
2019-09-24 07:48:46 +10:00
kamilritz
bd8f05567a
set vel_pos_test_ratio to zero if no fusion happens
2019-09-24 07:48:46 +10:00
kamilritz
3e8139ff9f
Enable vision velocity fusion
2019-09-24 07:48:46 +10:00
Carl Olsson
f0889c1760
EKF: fixed some comment typos
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-18 10:20:33 -04:00
Dion Gonano
2354c30d81
Add vision height covariance passthrough ( #507 )
...
* Add vision height covariance passthrough
* Fix hgtErr layout
2018-09-11 06:36:13 +10:00
Paul Riseborough
8a713398cb
EKF: Improve ground effect compensation
...
Start deadline at zero so that initial rotor wash effect is rejected.
2018-06-09 22:23:55 +02:00
Paul Riseborough
75e65901ae
EKF: fix bug causing height offset when GPS use stops
...
This bug causes the last vertical velocity observation to be continuously fused.
2018-05-10 10:55:56 +02:00
Daniel Agar
c5b2f59f57
PX4 style fixes (excluding EKF generated code)
2018-05-03 22:25:36 -04:00
Daniel Agar
cd12f049fe
move geo and geo_lookup from PX4 Firmware to ECL
2018-03-26 21:52:11 -04:00
Paul Riseborough
89be63d6c2
EKF: Fix vel pos innovation logging bug
2017-11-24 14:25:44 +11:00
Paul Riseborough
b0ad8269a5
EKF: enable separate monitoring of aux velocity innovations
2017-11-21 11:18:09 +11:00
Paul Riseborough
2a57fd858d
EKF: clean up reset of fusion flags
2017-11-21 11:18:09 +11:00
Paul Riseborough
8e30c2666d
EKF: Add support auxiliary velocity observation
...
This enables the EKF to use an additional NE velocity measurement. This can be used to improve position hold stability when landing using a beacon system for positioning by fusing the beacon velocity estimates.
2017-11-21 11:18:09 +11:00
Paul Riseborough
a2b24fa960
EKF: Protect against ground effect induced static pressure rise during landing and takeoff.
...
Apply a dead-zone to the vertical position innovation if using baro for height and if in the ground effect region during and just after takeoff.
Method needs to be activated externally.
Turns off automatically after 10 seconds or if specified height gained.
2017-11-17 21:41:31 +11:00
Paul Riseborough
01d68ef67c
EKF: Enable use of rotated external nav estimates
2017-11-01 08:33:57 +11:00
CarlOlsson
0a7c3ecbc6
EKF: Parameterize maximum angle for rng fusion
2017-09-26 20:53:48 +02:00
Paul Riseborough
e08da1c599
EKF: Add ability to use EV and GPS data together
...
Fuse external vision data using a relative position odometry method when GPS data is also being used and enable both GPOS and EV data to be fused on the same time step.
2017-07-26 18:06:18 +10:00
Roman
a0ab5cf0d7
ekf vel_pos_fusion: added height sensor offset to range innovation calculation
...
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Paul Riseborough
3dadc98b43
EKF: enable scaling of range observation variance with height
2017-02-22 14:12:05 +01:00
Paul Riseborough
cf9c8de167
EKF: Add arbitrary pitch offset for range sensor
2017-02-22 14:12:05 +01:00
Beat Küng
25cb400da9
EKF: remove Ekf::KHP and move KHP to the methods where it's used
...
Everywhere where KHP is used, it is first completely reset, thus making
it unnecessary to keep it as a class member.
This saves 2.3KB RAM.
Stack sizes don't need changing, since there is already a function
Ekf::predictCovariance(), which needs around 3KB of stack and is called
close to where the fuse* functions are called.
2016-11-01 22:49:20 +01:00
Paul Riseborough
65da9173b9
EKF: capture innovation checks and reset events in separate variables
...
rename the innovation check status class variable and remove the reset flags from it.
2016-06-01 17:13:00 +10:00
Paul Riseborough
52f6eea52b
EKF: capture position and velocity innovation test failures
2016-06-01 17:13:00 +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
Carl Olsson
0fafc49a49
fixed typos ( #147 )
2016-05-22 17:40:43 +02:00
Paul Riseborough
e272d5f003
EKF: Use consistent position noise values during alignment
2016-05-18 20:11:08 +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
devbharat
d3bad9fdb0
Correct height fusion flag when using sensor other than baro
2016-05-14 21:17:29 +10:00
Paul Riseborough
25f1d1d766
EKF: Add fusion of external vision 3D pos data
2016-05-14 21:17:29 +10:00
Paul Riseborough
feb4db6347
EKF: protect against large IMU errors during initial tilt alignment
...
Turn off innovation consistency checks for height and synthetic position measurements until the tilt as aligned
2016-05-08 17:54:45 +10:00
Paul Riseborough
00973d6215
EKF: fix pos/vel fusion innovation variance bug
2016-05-08 17:51:47 +10:00
Paul Riseborough
020b87933e
EKF: replace fault status struct with a union to facilitate logging
2016-05-07 21:11:16 +10:00
Paul Riseborough
7f5669fb2d
EKF: consolidate covariance corrections
...
Combines the forced symmetry, variance limiting and zeroing of covariances for unwanted states in the one function.
This ensures a consistent correction is applied after every covariance prediction or correction.
2016-05-07 20:29:50 +10:00
Paul Riseborough
310bd97080
EKF: Improve protection against bad pos vel fusion
2016-05-07 14:22:59 +10:00
Paul Riseborough
727a43764f
EKF: update initial angle alignment check
2016-05-05 21:23:03 +10:00
Paul Riseborough
82da832816
EKF: tidy up Kalman gain calculations
...
Inhibiting of states is controlled via zeroing rows and columns in the covariance prediction so conditional logic in gain calculations is unnecessary.
2016-05-05 21:23:03 +10:00
Paul Riseborough
fe9f88a8b4
EKF: test new derivation
...
Use direct attitude parameterisation
Discard scale factors
Add accel bias
2016-05-05 21:23:03 +10:00
Daniel Agar
22d18d638c
enable Wshadow
2016-05-04 19:45:40 -04:00