Paul Riseborough
5cf31e439d
EKF: Add specific drag fusion tuning parameters
8 years ago
Paul Riseborough
465b145929
EKF: Add multi-rotor drag model for wind estimation
8 years ago
Paul Riseborough
7b996c5972
EKF: Increase measurement error allowance for accelerometer clipping
8 years ago
Paul Riseborough
f0bbbc8dc6
EKF: Add reporting of bad accel status
8 years ago
Paul Riseborough
2f2ac5be43
EKF: Improve protection against severe IMU accel errors
...
Use vertical velocity and position innovation failure to detect bad accelerometer data caused by clipping or aliasing which can cause large vertical acceleration errors and loss of height estimation. When bad accel data is detected:
1) Inhibit accelerometer bias learning
2) Force fusion of vertical velocity and height data
3) Increase accelerometer process noise
8 years ago
Paul Riseborough
040639837e
EKF: Use common timeout test for reporting deadreckoning
...
Use a parameter to set the time-out threshold
Use a class variable for the time-out flag
Clean up comments
8 years ago
Paul Riseborough
588b27bde7
EKF: inhibit accelerometer bias learning if manoeuvre levels are excessive
...
This prevents bad scale factors and other errors associated with rapid manoeuvres corrupting the accelerometer bias estimates.
8 years ago
Paul Riseborough
324fe3b0c7
EKF: Add accel bias estimation fault to reporting
8 years ago
Paul Riseborough
cf31945038
EKF: Fix use of incorrect timestamp
...
This was incorrectly using the IMU (1/250 sec) timestamp instead of the EKF (1/100 sec) value.
The corresponding accelerometer limit has been made a parameter and adjusted to match previous behaviour.
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
Paul Riseborough
3b61528f0f
EKF3: initialise default value for EV fusion gate
8 years ago
Lorenz Meier
bf8a9a3d09
EKF: Whitespace fixes
8 years ago
Paul Riseborough
d5b398ddb1
EKF: Minimise data buffer lengths
...
Saves RAM and reduces output predictor errors by using the smallest data buffer length that meets time delay and update rate requirements.
8 years ago
Paul Riseborough
6c7703d485
EKF: Update tuning for synthetic sideslip fusion
...
Used value that worked well for replay of flight logs
8 years ago
CarlOlsson
dec686afd7
updated parameters
8 years ago
CarlOlsson
beb90f008d
adopted code for upstream changes
8 years ago
CarlOlsson
738414d36e
adopted common.h
8 years ago
Roman
c5f750dcca
ekf reset: more granular reset / timeout strategy for gps fusion
...
- if both gps position and velocity measurements are rejected for 7 seconds
do a reset
- if only gps position measurements are rejected then wait for 14 seconds
as we still have velocity measurements to constrain the drift in position
- introduced ecl internal parameter for the timeout
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Paul Riseborough
1093e6d789
EKF: fix documentation error
8 years ago
Paul Riseborough
352750e5d1
EKF: publish ekf solution status summary data
8 years ago
Paul Riseborough
b5ba4f280f
EKF: reduce output predictor velocity time constant
8 years ago
Beat Küng
9a95898414
gps_message: remove time_usec_vel from struct (unused)
9 years ago
Roman Bapst
1b394460a3
fix comment about filter bias states
...
Signed-off-by: Roman Bapst <roman@px4.io>
9 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
106482b078
EKF: add structure to capture innovation test failures and state resets
9 years ago
Paul Riseborough
1b6c5bbafd
EKF: Enable height source to be selected independent of EV aiding
9 years ago
Paul Riseborough
e41524ac9d
EKF: remove unused variables
9 years ago
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
9 years ago
Paul Riseborough
88860d0307
EKF: Enable tuning for IMU switch on bias errors
9 years ago
Paul Riseborough
920d83d68c
EKF: Fix bugs preventing use of external vision yaw data
9 years ago
devbharat
b681c9a5d0
Added external vision noise parameters etc and position offset
9 years ago
devbharat
ff8f03b5dd
Added compensation for VI sensor offset. Check sign.
9 years ago
Paul Riseborough
e917d6c7f2
EKF: Add fusion of external yaw data
9 years ago
Paul Riseborough
81469d6621
EKF: Add position, height and velocity reset for EV aiding
9 years ago
Paul Riseborough
3a0fcd03d7
EKF: Add interfaces and variables to use ext vision data
9 years ago
Paul Riseborough
c7e225124c
EKF: Improve output observer position and velocity tracking
...
Replace the delayed time feedback mechanism used by the translational states with a direct feedback method.
Time constants for velocity and position convergence can be separately adjusted with tunable parameters
The method is more computationally more expensive because it requires modification of the output buffer history but is acceptable because it only requires 6 FLOP per buffer index for a total of 30*6 = 180 FLOP
The method was not applied to the attitude states because the quaternion operations required at each buffer index would have been computationally prohibitive.
9 years ago
Carl Olsson
b126921894
changed airspeed innovation gate to 5 ( #119 )
9 years ago
Paul Riseborough
1a24ec5f50
EKF: remove unused flag from control status message
9 years ago
Paul Riseborough
2144a40a3c
EKF: redefine accelerometer bias state inhibit switch bit location
9 years ago
Paul Riseborough
020b87933e
EKF: replace fault status struct with a union to facilitate logging
9 years ago
Paul Riseborough
310bd97080
EKF: Improve protection against bad pos vel fusion
9 years ago
Paul Riseborough
d9aeace6ac
EKF: tuning update
9 years ago
Paul Riseborough
1daa6c7866
EKF: update tuning defaults
9 years ago
Paul Riseborough
fc6c0c7ebf
EKF: Update covariance prediction
...
Refresh auto generated code
Make 3-axis accel fusion the default and no accel fusion the option
9 years ago
Paul Riseborough
ecaffe63af
EKF: update tuning defaults
9 years ago
Paul Riseborough
29a361d3a3
EKF: Use intuitive units for gyro and accel bias process noise
...
This also makes the tuning less sensitive to changes in the EKF update rate.
9 years ago
Paul Riseborough
799865c934
EKF: update default tuning parameters
9 years ago
Paul Riseborough
311d046a26
EKF: Enable optional activation of XY delta velocity bias estimation
9 years ago
Paul Riseborough
67d23948b5
EKF: preliminary re-tune
9 years ago