Paul Riseborough
6ac7e2f807
EKF: report conservative position errors when failing innovation checks
8 years ago
Paul Riseborough
21e7734149
EKF: fix compile error
8 years ago
Paul Riseborough
f7cae7f3ab
EKF: improve compatibility with ARM cross compiler
...
This change removes the following compiler error when building using the ARM cross compiler.
/Users/paul/src/Firmware/src/lib/ecl/EKF/ekf_helper.cpp:45:12: error: 'std::abs' has not been declared
using std::abs;
8 years ago
Paul Riseborough
9bb54ccc08
EKF: don't accept GPS data without a 3D lock
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
5fb24c3032
EKF: Reduce EKF prediction delta time jitter
...
Make the target EKF rate an integer multiple of the IMU rate. This slightly increases the average prediction time step for the EKF from just over 10msec to 12msec, but the variation reduces significantly which makes filter tuning more deterministic.
Improve the algorithm used to adjust the collection time criteria to reduce jitter in the correction.
8 years ago
Paul Riseborough
324fe3b0c7
EKF: Add accel bias estimation fault to reporting
8 years ago
Paul Riseborough
b51abf4aff
EKF: Add console notification for accel bias covariance reset
8 years ago
Paul Riseborough
8511754094
EKF - detect and fix badly conditioned accel bias covariance values.
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
092cc52838
EKF: Remove out of date comment
8 years ago
Paul Riseborough
e4a4427991
Revert "EKF: fix compile error"
...
This reverts commit 6db552717d
.
8 years ago
Paul Riseborough
6db552717d
EKF: fix compile error
8 years ago
Daniel Agar
eb4f5ecbb9
cmake add all EKF sources ( #243 )
...
- trivial cmake cleanup
- travis-ci build with both gcc and clang
- update matrix to latest (matches PX4)
- closes #240
8 years ago
Daniel Agar
507f48a147
geo NULL to nullptr ( #242 )
8 years ago
Paul Riseborough
0d77470efc
EKF: Use conservative reporting of velocity errors when aiding is lost
8 years ago
Paul Riseborough
8070691aa4
EKF: Add accessor function for velocity accuracy
8 years ago
Paul Riseborough
d6abf3f2e4
EKF: add accessor function for local position accuracy
8 years ago
Paul Riseborough
b7d0b3c4d0
EKF: Improve naming of WGS-84 accuracy accessor function
8 years ago
Paul Riseborough
d22599b440
EKF: Add reporting of inertial dead-reckoning status
8 years ago
Roman
7e2597ec28
update range sensor angle parameters in case they have changed
...
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Roman
aa53f45f15
terrain estimator: removed unused hrt dependancy
...
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Roman
6480fcc3d5
terrain estimator: fixed computation of filtered time since last range update
...
- do not use hrt to compute delta time
- limit filter state
- do not use static variables
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Paul Riseborough
6561edb9a5
EKF: Clean up terrain estimation functionality.
...
This is a functionally equivalent. It moves all of the code for the terrain estimator into a single function call from the main filter update, making it clear that it is independent of the main filter.
8 years ago
devbharat
8004e9fe7e
EKF: Make range finder data continuous check more robust
...
Use a filtered arrival time delta to determine if range data is continuous
8 years ago
Paul Riseborough
d94068b88a
EKF: Simplify calculation of height above terrain observation variance
...
The tilt compensation being applied previously was based on a flat earth geometric model assuming perfect tilt knowledge which reduces the effect of range errors on height error as the vehicle tilts. however in the real world, variations in terrain gradient and uncertainty in vehicle tilt and sensor alignment tend to increase height error with tilt, so the adjustment of observation variance with tilt has been removed given we do not have a valid mathematical model on which to base it.
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
devbharat
d9688fae7d
EKF: Simplify terrain position validity check
...
Remove the relative accuracy check that was false triggering close to ground
8 years ago
Paul Riseborough
af26ade1ce
EKF: Use norm for vector length everywhere
8 years ago
Daniel Agar
2750961be6
c++11 initialization cleanup ( #237 )
8 years ago
Daniel Agar
7883085e4a
clang-tidy readability-simplify-boolean-expr ( #235 )
8 years ago
Daniel Agar
47b8ef258b
clang-tidy performance-type-promotion-in-math-fn ( #236 )
8 years ago
Paul Riseborough
bcf7cac5d9
EKF: remove hardcoded limit on optical flow time delta
...
Allow for up to 50% lost data.
8 years ago
Paul Riseborough
3fb7effb0c
EKF: Allow optical flow use when on-ground with poor data quality
8 years ago
Paul Riseborough
21270bb06a
EKF: Use last known position when resuming OF aiding
8 years ago
Lorenz Meier
453bde73f8
ECL: Simplify / correct estimator interface
8 years ago
Roman
c5a55d97aa
initialise data members properly
...
- dot not use memset for struct with non POD types
Signed-off-by: Roman <bapstroman@gmail.com>
8 years ago
Paul Riseborough
1465adca2f
EKF: Improve use of memcpy
...
Changes made to remove Coverity scan errors
8 years ago
Paul Riseborough
26a06567bb
EKF: add missing initialisation for class variables
8 years ago
Paul Riseborough
f999729d70
EKF: fix incorrect use of memcpy
8 years ago
Paul Riseborough
b536382ae1
EKF: remove dead code
8 years ago
Paul Riseborough
6358bbd257
EKF: remove self assignment
8 years ago
Paul Riseborough
3b61528f0f
EKF3: initialise default value for EV fusion gate
8 years ago
Paul Riseborough
9ddcba3ed0
EKF: remove un-used variable
8 years ago
Daniel Agar
d668a2d798
clang-tidy performance-unnecessary-value-param
8 years ago
Daniel Agar
a7cdef6c5c
clang-tidy modernize-redundant-void-arg
8 years ago
Nic
ec1a14bc6b
height counter needs to be updated with ev counter value when our primary height source is set to ev
8 years ago
Paul Riseborough
3c4c09593f
EKF: Rationalise console messages
...
Combine the observation action buffer and alignment messages
Ensure all data timeout messages are warnings.
Use consistent terminology.
8 years ago
Paul Riseborough
934890c2df
EKF: Add validity flag to ekf origin reporting
...
Flag is false until the origin has been initialised
8 years ago