bresch
9d22f140dd
gps_alt: constrain var using 1.5 as a typical ratio of vacc/hacc
4 years ago
bresch
b0cf45e2d2
gps_alt: rename getGpsAltVar -> getGpsHeightVariance
4 years ago
bresch
62f2e26c49
gps_alt: reset GPS alt variance usign helper function
4 years ago
bresch
f7bddda3d5
gps_alt: do not scale up reported gps vertical accuracy
...
The comment said that the horizontal accuracy needs to be scaled up
using the typical epv/eph ratio but the epv (vacc) is already available,
so no scaling is required.
4 years ago
bresch
02369cd415
gps_alt: extract measurement variance computation and saturation
4 years ago
Daniel Agar
1541e4b414
EKF: update control status and fault status getters
...
- the fault status union exceeded 16 bits, but the getter was get_filter_fault_status(uint16_t *val)
4 years ago
zhaoxiaowei
fbf67bdef9
reset gps height use vacc
4 years ago
Mathieu Bresciani
8f3df7a97b
flow: restructure optical flow control logic ( #928 )
...
- extract motion checks performed on ground
- move all non-timing check to controlOpticalFlowFusion. This simplifies and standardirzes the setOpticalFlowData function. Furthermore, in some cases (SITL, PX4Flow), the dt is forced to 0 when the quality is 0 (which is usual on ground) so the ekf needs to ignore those values on ground to initialize properly the flow fusion.
- add filter convergence test
- move check for dt time max in setOpticalFlowData
- in the simulator, do not update dt as this is the sensor integration
period.
4 years ago
Daniel Agar
688a054bdb
EKF: controlDragFusion() add parenthesis for readability
4 years ago
Paul Riseborough
944b18c63e
EKF: Remove non useful status print
...
Local position is never valid when filter is initialised so there is no use printing the status.
4 years ago
Paul Riseborough
ee94980a8f
EKF: Clean up wind state activation logic
...
Ensure wind states are deactivated in one place and always when in a non-position mode.
Activate wind states separately for each observation method.
4 years ago
Paul Riseborough
44ebfb8c43
EKF: Don't report local position as valid when in a non-position mode
4 years ago
Daniel Agar
da7d41e78a
EKF: add mag bias reset helper and update IMU bias reset to match ( #924 )
4 years ago
Daniel Agar
03cfcb903e
EKF: RingBuffer minor improvements
...
- allocate IMU and output buffers on construction according to defaults
- determine buffer max time delay based on configuration parameters
- reorder flowSample and extVisionSample to minimize padding
- adjust parameter defaults to match PX4-Autopilot
4 years ago
bresch
da9f314b69
mag: use strength in Gauss
4 years ago
Claudio Micheli
c4d162f9a0
EKF: range_finder parameterize range sensor quality hysteresis time
...
Signed-off-by: Claudio Micheli <claudio@auterion.com>
Co-authored-by: bresch <brescianimathieu@gmail.com>
4 years ago
Daniel Agar
6158d6d841
EKF: add const reference getters for status flags
4 years ago
Daniel Agar
a21092804a
EKF: remove virtual getters from estimator_interface
4 years ago
Daniel Agar
48a8992caf
EKF: move small simple getters to header
...
- return by const reference where possible
4 years ago
Daniel Agar
defb35d8f5
EKF: pass imuSample by const reference
4 years ago
Daniel Agar
d85e24d3ca
EKF: Ekf class is final
4 years ago
Daniel Agar
5ea8824439
EKF: inline simple getters
4 years ago
Daniel Agar
6e99ebd928
EKF: add fault status bit for bad vertical accel data
4 years ago
Daniel Agar
d936b85d71
EKF: add fault status bit for clipping
4 years ago
Mathieu Bresciani
dd3ffc4192
Optical flow: compute velociy from corrected flow data for logging ( #920 )
...
This is really useful when debugging optical flow data
4 years ago
Paul Riseborough
f666ebb995
EKF: Code format fix - replace 1E-x with 1e-x
4 years ago
Paul Riseborough
e82d0af6d2
EKF: Improve code clarity - non functional change
4 years ago
Paul Riseborough
759d217d5a
EKF: Improve protection for GSF weight collapse
4 years ago
Paul Riseborough
7c81350c7a
EKF: Don't yaw reset if not yaw induced nav failure
4 years ago
Paul Riseborough
bf0d70fc90
EKF: Protect against collapse of GSF weights
4 years ago
Daniel Agar
4c2355a638
EKF: use GPS to lookup declination from WMM before full GPS checks pass
4 years ago
bresch
5879eaaf78
ekf: fix variable length array error
...
Even if the non_zeros() function is static constexpr, gcc (10.2) does not like it.
Using sizeof...(Idxs) fixes the error.
4 years ago
Daniel Agar
fab242a81f
python generation add shebang, mark executable, ignore cache
...
- commit all current generated files
5 years ago
bresch
264c8c4e86
mag_fusion: mag heading and 3d modes are mutually exclusive
...
There is no need to check if 3d fusion is active when in mag heading
fusion mode since this is impossible
5 years ago
kamilritz
9797e4d28f
updateYawInRotMat with hidden rotation sequence handling
5 years ago
kamilritz
4fb4e0ca01
Clean euler321 and euler312 code and comment
5 years ago
Kamil Ritz
2be738e806
Add helper function to alter heading in rotation matrices
5 years ago
Kamil Ritz
fdc86c247a
add functions to compute yaw (321 and 312 sequence)
...
from quaternion and rotation matrix
5 years ago
Kamil Ritz
15afa8ae17
shouldUse321RotationSequence(const Dcmf& R)
5 years ago
Kamil Ritz
4872f2a545
Remove not used code
5 years ago
Kamil Ritz
0fafd4d68b
precompute cos and sin of yaw once before mutliple use
5 years ago
Kamil Ritz
114516b784
Use new added matrix functions
5 years ago
Kamil Ritz
1f637af7de
Add const modifier
5 years ago
kamilritz
aa2c77f92d
Small cleanup in velposfusion
5 years ago
kamilritz
644e903552
Apply measurementUpdate function
5 years ago
kamilritz
404edde7f3
Add measurementUpdate function
5 years ago
kamilritz
f6252ff533
small cleanup in limitDeclination
5 years ago
Paul Riseborough
fd849e0578
EKF: Fix specific force observation noise variance
...
Also add protection for out of range value.
5 years ago
Paul Riseborough
76f393dcb0
EKF: Use const reference instead of local copy
5 years ago
Paul Riseborough
c43307b8cf
EKF: convert drag fusion from Matlab to SymPy generated auto-code
5 years ago