Commit Graph
100 Commits
Author SHA1 Message Date
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
kritzandkamilritz 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
kritzandJulian 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