Paul Riseborough
9c89fa3b29
EKF: Use IMU clipping to adjudicate bad accel data check
4 years ago
Paul Riseborough
b919f3ddf4
EKF: Restore protection from extreme innovation values
4 years ago
Paul Riseborough
556a195320
EKF: Improve handling of non position mode large position innovations
...
These changes fix a bug that allowed IMU gyro errors that cause large tilt errors prior to start of aiding not resulting in large innovation test ratios.
4 years ago
Paul Riseborough
7c81350c7a
EKF: Don't yaw reset if not yaw induced nav failure
4 years ago
kamilritz
aa2c77f92d
Small cleanup in velposfusion
5 years ago
kamilritz
9e211d6ca1
Stop overwriting fault status with false if one component is true
5 years ago
kamilritz
16a00eae0b
Make Kfusion a Vector24f
5 years ago
kamilritz
552bf824ea
Add typedef for Matrix 24 types
5 years ago
kamilritz
48f0eb16da
Remove uninformative comments
5 years ago
kamilritz
4a69b41015
Increase matrix library usage even more
5 years ago
Daniel Agar
2927132954
clang-format set BreakBeforeBraces to Linux style
...
- this keeps things consistent with PX4/Firmware astyle
5 years ago
bresch
aa96fa6d9e
Random style fixes in the code
5 years ago
Kamil Ritz
86fc94b75a
Remove tilt align from position innovation check
5 years ago
Mathieu Bresciani
230c865fa9
EKF: do not fuse multiple times the same height ( #767 )
...
* EKF: do not fuse multiple times the same height
The _fuse_height flag was never set to zero, hence the fusion was called
at each iteration, even if no new data is available.
The effects were: high CPU usage and virtually less measurement noise
due to multiple fusion of the same sample
Also remve unused variables
5 years ago
kamilritz
f20726d47f
Expand auto-format coverage and tiny style changes
5 years ago
kamilritz
1fcfd394dd
Various small non-functional improvements
5 years ago
kamilritz
36da8d82c8
Clean up white space
5 years ago
kamilritz
9e6d27fafb
Add missing const qualifier
5 years ago
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.
5 years ago
kamilritz
92ba618f57
Improve on flash memory usage
5 years ago
kamilritz
459b76f9fd
Make covariance matrices of type matrix::SquareMatrix
...
and use functions from Matrix to reset covariances.
5 years ago
kamilritz
dae8c2f8dc
Group velocity and position as a 3d vector
5 years ago
kamilritz
86b9079bdc
Refactoring velPos fusion
5 years ago
kamilritz
fd6b364c11
posNED to pos and velNED to vel and add ev vel covariances to reset
5 years ago
kamilritz
1e57c4bbec
Fix white space
5 years ago
kamilritz
bd8f05567a
set vel_pos_test_ratio to zero if no fusion happens
5 years ago
kamilritz
3e8139ff9f
Enable vision velocity fusion
5 years ago
Carl Olsson
f0889c1760
EKF: fixed some comment typos
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
Dion Gonano
2354c30d81
Add vision height covariance passthrough ( #507 )
...
* Add vision height covariance passthrough
* Fix hgtErr layout
7 years ago
Paul Riseborough
8a713398cb
EKF: Improve ground effect compensation
...
Start deadline at zero so that initial rotor wash effect is rejected.
7 years ago
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.
7 years ago
Paul Riseborough
e8e9e34a73
EKF: fix bug causing height offset when GPS use stops
...
This bug causes the last vertical velocity observation to be continuously fused.
7 years ago
Daniel Agar
c5b2f59f57
PX4 style fixes (excluding EKF generated code)
7 years ago
Daniel Agar
cd12f049fe
move geo and geo_lookup from PX4 Firmware to ECL
7 years ago
Paul Riseborough
89be63d6c2
EKF: Fix vel pos innovation logging bug
7 years ago
Paul Riseborough
b0ad8269a5
EKF: enable separate monitoring of aux velocity innovations
7 years ago
Paul Riseborough
2a57fd858d
EKF: clean up reset of fusion flags
7 years ago
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.
7 years ago
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.
7 years ago
Paul Riseborough
01d68ef67c
EKF: Enable use of rotated external nav estimates
7 years ago
CarlOlsson
0a7c3ecbc6
EKF: Parameterize maximum angle for rng fusion
8 years ago
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.
8 years ago
Roman
a0ab5cf0d7
ekf vel_pos_fusion: added height sensor offset to range innovation calculation
...
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Paul Riseborough
3dadc98b43
EKF: enable scaling of range observation variance with height
8 years ago
Paul Riseborough
cf9c8de167
EKF: Add arbitrary pitch offset for range sensor
8 years ago
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.
8 years ago
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.
9 years ago
Paul Riseborough
52f6eea52b
EKF: capture position and velocity innovation test failures
9 years ago
Paul Riseborough
1b6c5bbafd
EKF: Enable height source to be selected independent of EV aiding
9 years ago
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
9 years ago