Paul Riseborough
36de2b3dc1
EKF: Use matrix library for quaternion to rotation matrix conversion
5 years ago
bresch
b38458c2ab
Terrain estimator: formatting and remove redundant comments
5 years ago
kritz
4a38f5a2f6
Add timestamp to ECL print statements, ( #644 )
...
which is helpful for EKF replay debugging.
5 years ago
kamilritz
fd6b364c11
posNED to pos and velNED to vel and add ev vel covariances to reset
6 years ago
kamilritz
cea053820d
Remove spaces with tabs
6 years ago
kamilritz
1e57c4bbec
Fix white space
6 years ago
kamilritz
10cbd79db7
Rotate external vision info in reset function if necessary
6 years ago
kamilritz
4511b9ff5e
Add missing checks for flags.ev_vel
6 years ago
kamilritz
3e8139ff9f
Enable vision velocity fusion
6 years ago
kamilritz
c5abfe626f
remove canonicalize and adapt comments
6 years ago
kamilritz
a2ff415fe4
Fix get frame aligning quaternion function
6 years ago
kamilritz
53eac6e94e
Canonicalize alignment quaternion
6 years ago
kamilritz
933c32c921
Enable local frame alignment also without using it
6 years ago
kamilritz
ea352a6631
Dont use mag suffix for magnitude
6 years ago
kamilritz
05196db79e
Fix alignment of local frame
6 years ago
Paul Riseborough
a036cf82cc
EKF: Remove use of of quaternion self product operator and fix delta rotation sign
6 years ago
Paul Riseborough
0e946f25fd
EKF: Remove use of quaternion self product operator and fix delta rotation sign error
6 years ago
CarlOlsson
ad7f7af03b
ekf: correct quaternion multiplication order
6 years ago
CarlOlsson
d6351bd7a5
EKF: update comment
6 years ago
Roman
cef2ba5ab9
implemented Kahan summation algorithm for adding process noise to delta
...
angle- and delta velocity bias variance
- the contribution of process noise per iteration for these states can be so
small that it gets lost if using standard floating point summation
Signed-off-by: Roman <bapstroman@gmail.com>
6 years ago
Carl Olsson
f0889c1760
EKF: fixed some comment typos
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
Paul Riseborough
fabd216ca5
EKF: Documentation edits
6 years ago
CarlOlsson
8d6e8ae078
EKF: update get_mag_decl_deg()
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
CarlOlsson
2b17ced405
EKF: Clean up use of magnetometer declination. Before the innovation was not zero in fuseDeclination()
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
CarlOlsson
1d91785a8e
EKF: correct quaternion order
6 years ago
CarlOlsson
96c5c14041
EKF: Change the EKF initialization to
...
1) init tilt
2) init yaw
3) init tilt uncertainty
4) init yaw uncertainty
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
CarlOlsson
6cf512f103
EKF: Also update the newest and oldest quaternion estimate in
...
alignOutputFilter()
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
CarlOlsson
78122b20a6
EKF: fix the rotation direction of the buffered attitude solutions
...
in alignOutputFilter()
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
CarlOlsson
37339de57c
EKF: remove unused variable
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
Nuno Marques
4e0e68e905
Ekf: add more useful methods to interface with the covariances ( #543 )
6 years ago
Paul Riseborough
bd1647a7fb
EKF: Rework use of fuseDeclination()
...
Simplify calling so that it is only called in two ways:
1) Immediately before 3-axis mag fusion if not called since the last earth field covariance reset so that the earth field declination information can be formed.
2) Immediately after 3-axis mag fusion otherwise.
6 years ago
Paul Riseborough
d52f53635b
EKF: Save mag field covariance data before reset
6 years ago
Paul Riseborough
708c79eb8f
EKF: Ensure mag field state covariance data is always available for re-use
...
Prevents use of _saved_mag_ef_covmat and _saved_mag_bf_variance before being initialised or when stale.
6 years ago
Paul Riseborough
25148e1b45
EKF: Prevent rapid changes in declination estimate after a reset
...
Ensures that each time the earth field covariance and variance data is reset, that the off-diagonal elements containing earth field declination angle certainty is restored.
6 years ago
CarlOlsson
6e7c119b31
EKF: limit yaw variance increase to 0.01 rad^2 to prevent a badly conditioned covariance matrix
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
CarlOlsson
0896f7b9bd
EKF: Also fill in lower part of covariance matrix in increaseQuatYawErrVariance()
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
Paul Riseborough
911d4d8f49
EKF: Fix sign error in increaseQuatYawErrVariance function
6 years ago
Paul Riseborough
ef5a87c1d4
EKF: Rework quaternion yaw reset.
...
Use a new method that preserves the roll and pitch information and adds the uncertainty for yaw only.
Ensure that correlation information to non-quaternion states is removed when a reset occurs to prevent fusion of subsequent observations (e.g. GPS) causing incorrect yaw.
6 years ago
Paul Riseborough
fc2a089823
EKF: Add function to un-correlate quaternion states
...
This is necessary after a quaternion reset to prevent incorrect attitude corrections with subsequent observation fusions.
6 years ago
Paul Riseborough
bce1b96d17
EKF: Add function enabling yaw variance to be increased
6 years ago
Daniel Agar
a5e6191ba7
EKF add clarity brackets to avoid potential confusion
...
- fixes https://github.com/PX4/ecl/issues/555
6 years ago
CarlOlsson
490888285d
EKF: Remove flag prefix
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
CarlOlsson
d223680197
EKF: add flt_mag_align_complete to control_status flags
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
6 years ago
Paul Riseborough
c032126745
EKF: Fix bug causing incorrect yaw variance value to be used
...
This bug causes the variance of the Z axis rotation vector uncertainty to not be reset to the correct value.
6 years ago
CarlOlsson
1a969aed07
EKF: use low pass filtered mag measurements for heading initialization
6 years ago
Paul Riseborough
c49ab760c7
EKF: Allow EKF to start without using mag data when not using earth frame data
6 years ago
Paul Riseborough
acde4ebcc3
EKF: fix comment
6 years ago
Paul Riseborough
4657a9cd21
EKF: Ensure yaw gets reset when declination is set
6 years ago
Paul Riseborough
91f886cb5e
EKF: Add support for use of GPS heading data.
...
Heading data is assumed to be from a dual antenna array at a specified yaw angle offset in body frame, but with the heading data already corrected for antenna offset. The offset is required to apply the correct compensation for combined rotations and to determine when the yaw observation has become badly conditioned.
7 years ago
dakejahl
56b8bb08a1
added a checking for range_aid to determine if we are relying on the range finder as our primary source of height observation ( #491 )
7 years ago