Kamil Ritz
78ce46f007
Removing Matlab derivation
2021-01-02 06:29:11 +11:00
Kamil Ritz
df7f261e03
Add missing const modifier
2020-12-20 14:04:29 +01:00
kritz and kamilritz
38358002bb
Auto update change indication by github actions
...
Co-authored-by: kamilritz <kamilritz@users.noreply.github.com >
2020-12-08 18:05:28 -05:00
kamilritz
9797e4d28f
updateYawInRotMat with hidden rotation sequence handling
2020-08-27 09:51:56 +10:00
kamilritz
419b70e4b5
Add tests for shouldUse321RotationSequence
2020-08-27 09:51:56 +10:00
kamilritz
4fb4e0ca01
Clean euler321 and euler312 code and comment
2020-08-27 09:51:56 +10:00
Kamil Ritz
2be738e806
Add helper function to alter heading in rotation matrices
2020-08-27 09:51:56 +10:00
Kamil Ritz
fdc86c247a
add functions to compute yaw (321 and 312 sequence)
...
from quaternion and rotation matrix
2020-08-27 09:51:56 +10:00
Kamil Ritz
15afa8ae17
shouldUse321RotationSequence(const Dcmf& R)
2020-08-27 09:51:56 +10:00
Kamil Ritz
13f092a30f
sparse quadratic form
2020-08-26 19:45:05 +02:00
Kamil Ritz
4872f2a545
Remove not used code
2020-08-24 19:24:27 +10:00
Kamil Ritz
0fafd4d68b
precompute cos and sin of yaw once before mutliple use
2020-08-24 19:24:27 +10:00
Kamil Ritz
114516b784
Use new added matrix functions
2020-08-24 19:24:27 +10:00
Kamil Ritz
1f637af7de
Add const modifier
2020-08-24 19:24:27 +10:00
kamilritz
aa2c77f92d
Small cleanup in velposfusion
2020-08-24 18:04:57 +10:00
kamilritz
644e903552
Apply measurementUpdate function
2020-08-24 18:04:57 +10:00
kamilritz
404edde7f3
Add measurementUpdate function
2020-08-24 18:04:57 +10:00
kamilritz
f6252ff533
small cleanup in limitDeclination
2020-08-24 18:04:57 +10:00
kamilritz
bd0c5fbb97
Update change indication for ekf gsf
2020-08-20 22:16:28 +02:00
kamilritz
3ae934544f
Add change indication for ekf_gsf_reset
2020-08-18 17:13:46 +10:00
kamilritz
3bd9415498
Make delayed output stayed not a member variable
2020-08-16 10:00:47 +10:00
kamilritz
da9bfe4316
Update interface of applyCorrectionsToOuputStates
2020-08-16 10:00:47 +10:00
kritz
9d962cdfbc
Pr update matrix ( #15520 )
...
* Update submodule Matrix
* replace deprecated matrix functions
* update submodule ECL
* Update Matrix submodule
* Use absolute value of loiter radius
* Update ECL submodule
2020-08-11 10:08:41 +02:00
kamilritz
ec93490890
geo test change to arc length
2020-08-10 22:15:43 +02:00
kamilritz
98dec6afa6
add tests for waypoint_from_line_and_distance()
2020-08-10 22:15:43 +02:00
kamilritz
60388a8b6d
Geo: Fix double correcting for negative distance
2020-08-10 22:15:43 +02:00
kamilritz
25c0455348
comply with Firmware style requirements
2020-08-10 10:13:40 +02:00
kamilritz
9d7d502c56
std::sin -> sin
2020-08-09 15:28:35 -04:00
kamilritz
4ab364f0fd
Make conversion from float to double explicite
2020-08-09 15:28:35 -04:00
kamilritz
b7e49f20e4
Update change indication
2020-08-09 11:08:59 -04:00
kamilritz
497008811a
Update matrix version
2020-08-09 11:08:59 -04:00
kritz
f981cea2ae
add possibility to iterate over SparseVector data at runtime ( #143 )
2020-08-09 09:44:49 +02:00
kamilritz
e714a28c83
use size_t instead of int in sparseVector
2020-08-07 19:45:02 +02:00
kritz and Julian Kent
18699416b0
SparseVector ( #140 )
...
* Add SparseVector
temp
* Add gtest
* Some reworking of the sparse concept
* Change type of M from int to size_t
* Add const modifier
* Add needed declaration for accessing elements of _indices
* Add norm_squared, norm, longerThan
* Add test for all sparse vector functions
* Add missing const to slice's norm_squared, norm and longerThan
* Construction from Vector<M> and carray[N]
* try to fix ci
Co-authored-by: Julian Kent <julian@auterion.com >
2020-08-07 18:44:48 +02:00
kamilritz
d7568d55b4
extend firmware build checks
2020-08-07 11:42:13 +02:00
kamilritz
310b989c9a
refactor start of gps into separate function
2020-08-07 10:02:47 +02:00
kamilritz
6ed5dbc2db
Construct Vector from Slice<1,M> alias row()
2020-08-06 16:15:05 +02:00
kamilritz
7eb2b08eed
Yaw measurement jacobian to Vector4f
2020-08-04 09:57:00 +02:00
kamilritz
15d360f446
saved_mag_ef_cov to Squarematrix2f
2020-08-04 09:57:00 +02:00
kamilritz
7609bc69b2
drag innov member variables to Vector2f
2020-08-04 09:57:00 +02:00
kamilritz
960b80ee71
Do not update output filter a second time after reset to flow.
2020-08-03 09:51:59 +02:00
kritz
88c52aba5e
Refactor ev fusion start into helper functions ( #872 )
2020-07-27 11:42:52 +02:00
kamilritz
8c65ca29e4
Only run firmware build test on pull_request
2020-07-26 10:11:52 -04:00
kamilritz
049f59d7de
Fix firmware-build-test
2020-07-26 10:11:52 -04:00
kamilritz
3651ed37fb
Do not update time_last_imu outside of setGpsData
2020-07-17 11:06:36 +02:00
kamilritz
8a59b463f2
Quaternion: Use template type instead of single hardcoded type
2020-07-17 10:37:18 +02:00
kamilritz
89bfcc2167
Introduce checkAndFixCovarianceUpdate(KHP) function
2020-07-16 18:25:06 +02:00
kamilritz
5c4a3d4576
Make observation jacobian a Vector24f when possible
2020-07-16 18:25:06 +02:00
kamilritz
b5e1397c0f
Add const modifier
...
const modifier
Add missing const modifier
2020-07-16 18:25:06 +02:00
kamilritz
e357376797
Bring declaration and initialization together
2020-07-16 18:25:06 +02:00
kamilritz
796afd5f98
Rename yaw_use_inhibit -> is_yaw_fusion_inhibited
...
Temp
2020-07-16 18:25:06 +02:00
kamilritz
4cb2d1c645
Remove duplicated code snippets
...
by combining x and y ballistic coeff inverse a vector
2020-07-16 18:25:06 +02:00
kamilritz
b0ad9f0226
Replace componentwise with matrix operation
2020-07-16 18:25:06 +02:00
kamilritz
b5765eb3b4
Move variable declaration to better place &
...
remove airspeed_innov_var_temp variable. setting to global variable even when fusion is aborted is okay
2020-07-16 18:25:06 +02:00
kamilritz
05855b7fc1
Update time of last fusion event really only if fused
...
Except for the velpos fusion
2020-07-16 18:25:06 +02:00
kamilritz
efd96db49d
Avoid setting 0 to 0
2020-07-16 18:25:06 +02:00
kamilritz
5ef18f8823
Style improvement
2020-07-16 18:25:06 +02:00
kamilritz
01515b9a9c
Replace min(max()) with constrain
2020-07-16 18:25:06 +02:00
kamilritz
b0458fbded
Refactor output buffer updates into separate functions
2020-07-16 18:25:06 +02:00
kamilritz
3d82d822ae
Add const modifier
2020-07-16 18:25:06 +02:00
kamilritz
93011ed52c
Use ternary operator
2020-07-16 18:25:06 +02:00
kamilritz
46a5e6e428
Replace divisions with multiplications
2020-07-02 15:55:24 +02:00
kamilritz
3e3a66e9e9
Remove unnecessary operations
2020-07-02 15:55:24 +02:00
kamilritz
079a699556
Random cleanup
2020-07-02 15:55:24 +02:00
kamilritz
d18ddb3e92
Use ternary operator
2020-07-02 15:55:24 +02:00
kamilritz
122f58b94d
Bug: stop overwriting fault status of index 0 with index 1
2020-07-02 15:55:24 +02:00
kamilritz
9e211d6ca1
Stop overwriting fault status with false if one component is true
2020-07-02 15:55:24 +02:00
kamilritz
e5ddd912a4
Remove not needed else case
2020-07-02 15:55:24 +02:00
kamilritz
430497e2f7
Shift variable definition inside calculateOutputStates
2020-07-02 15:55:24 +02:00
kamilritz
f59343b343
Remove misplaced comment
2020-07-02 15:55:24 +02:00
kamilritz
673b309c45
Fix bug: pos gain used instead of vel gain
2020-07-02 15:55:24 +02:00
kamilritz
2af2696b63
Revert if-else condition to get rid of unnecessary indentation
2020-07-02 15:55:24 +02:00
kamilritz
fce4958d4f
Random cleanup
2020-07-02 15:55:24 +02:00
kritz
9eea44f4ab
Return type of resets ( #859 )
...
* Reset position/velocity return type is void
* Delete not needed comments
2020-07-02 14:53:59 +02:00
kamilritz
97225fcb74
Use matrix lib inside getState
2020-07-02 09:02:24 +02:00
kamilritz
16a00eae0b
Make Kfusion a Vector24f
2020-07-02 09:02:24 +02:00
kamilritz
356b2f6ffe
Stop setting zero to zero
2020-07-02 09:02:24 +02:00
kamilritz
552bf824ea
Add typedef for Matrix 24 types
2020-07-02 09:02:24 +02:00
kamilritz
f529358e9a
Add missing const modifier
2020-06-28 14:24:49 +02:00
kamilritz
5356077a32
Make flow_innov/-var a matrix Vector2f
2020-06-26 08:26:26 +02:00
kamilritz
c2801eb488
Add const modifier and increase matrix library usage
2020-06-26 08:26:26 +02:00
kamilritz
d9afc2f1e8
Remove repeated division by same value
2020-06-26 08:26:26 +02:00
kamilritz
d16b43a2da
Get rid of non functional piece of code
2020-06-26 08:26:26 +02:00
kamilritz
c3653e68ca
Add const modifier
2020-06-26 08:26:26 +02:00
kamilritz
48f0eb16da
Remove uninformative comments
2020-06-26 08:26:26 +02:00
kamilritz
4a69b41015
Increase matrix library usage even more
2020-06-26 08:26:26 +02:00
kamilritz
630be60930
Increase matrix library usage
2020-06-26 08:26:26 +02:00
kamilritz
22274b1d30
Add const modifier
2020-06-26 08:26:26 +02:00
kamilritz
61c139ea95
Remove unused variable
2020-06-26 08:26:26 +02:00
kamilritz
afd4f3f86b
Fix typo
2020-06-26 08:26:26 +02:00
kamilritz
a3706fdcef
Make relative wind computation more compact
2020-06-26 08:26:26 +02:00
kamilritz
b8f937666a
Make mag_innov/-var a Matrix::Vector3f
2020-06-26 08:26:26 +02:00
Kamil Ritz
0ea7cd8360
Attempt to fix CI firmware build test
2020-06-26 07:38:25 +02:00
kamilritz
ff8b5ec69d
Extract general functions into utils
2020-06-23 08:18:34 +02:00
Kamil Ritz
e835bc34c4
remove inline modifier
2020-06-12 15:11:16 +02:00
Kamil Ritz
74780aa512
Refactor gps fusion commencing
2020-06-12 15:11:16 +02:00
kamilritz
674bd99f3b
Add operator* and operator/ for slice with type
2020-06-12 11:34:09 +02:00
Kamil Ritz
86fc94b75a
Remove tilt align from position innovation check
2020-05-25 11:12:24 +02:00
kamilritz
39c09b8092
add basic gps yaw fusion test
2020-05-20 08:52:52 +02:00
Kamil Ritz
21f49c22dc
Use resetQuatStateYaw during gps yaw reset
2020-05-20 08:52:52 +02:00