61 Commits

Author SHA1 Message Date
romain-chiap
3d1c9b988d
quaternion exponential (#164) 2021-08-04 19:04:57 -04:00
Matthias Grob
a126be0882 attitude test: refactoring to avoid identity quaternion confusion 2020-07-20 18:44:08 +02:00
Matthias Grob
242b38ee9e Quaternion: remove deprecated axis_angle conversions 2020-07-20 18:44:08 +02:00
kritz
e81483a808 Catch quaternion canonical corner cases (#116) 2019-12-18 14:12:47 +01:00
kritz
93d42947b6 Add test for setting Quaternion to Identity (#104) 2019-11-08 17:27:33 +01:00
Matthias Grob
740324cf1e Make all array constructors explicit (#99)
* Make all array constructors explicit

to avoid accidental implicit casts like e.g.
Vector3f v = 0;
assigning nullpointer content.
2019-10-03 13:38:51 +02:00
Julian Kent
51d2f9f0dc Remove direct access to internal data 2019-09-16 21:58:32 -04:00
kritz
84b3da227c Canonical Quaternion with tests (#81) 2019-08-22 15:05:14 +02:00
James Goppert
d142ac234c Fix coverage and bug in matrix equal test. 2018-03-28 00:09:01 -04:00
Matthias Grob
f835d39017 Quaternion/Vector: Small refactor for review: put more comments, switched type conversions, took out default destination vector because confusing 2017-12-04 15:34:13 +01:00
Matthias Grob
af2610ec04 Test: added check for quaternion vector to vector rotation constructor
including all the parallel vector corner cases
2017-12-04 15:34:13 +01:00
Matthias Grob
308a6c91cb Test: added copyTo tests for Vector3, Quaternion and Matrix including clolumn-major order 2017-11-16 04:42:54 +01:00
Matthias Grob
d259ab2108 Test: add Quaternion rotate() test that catches non-commutating rotations 2017-10-17 17:37:23 +02:00
Matthias Grob
0a772f59dd Quaternion: added direct efficient body z-axis calculation with test 2017-09-26 11:20:56 +02:00
James Goppert
e595ebb9a7 Switch to Hamilton quaternions and add Cholesky decomposition. 2017-08-31 11:09:20 +02:00
Pavel Kirienko
e09cf12e2e Removed all uses of C library from tests 2017-03-17 12:18:39 -04:00
Daniel Agar
cfa68c2196 clang-tidy trivial cleanup 2017-02-24 20:47:41 -05:00
Daniel Agar
68c7cc5bfd Quaternion add copyTo 2017-02-24 20:47:41 -05:00
James Goppert
63aea23f9e Add cholesky decomp, Closes #30, and dynamic print buf 2017-02-03 17:54:16 -05:00
Matthias Grob
47c0a93140 Quaternion: added tests for the corner cases of Dcm to quaternion conversion 2016-12-14 18:25:06 +01:00
James Goppert
74a120f554 Handle some divide by zero edge cases on init. 2016-11-30 01:27:48 -05:00
James Goppert
34fccdd680 add renormalize method (#32) 2016-11-02 12:10:30 -04:00
James Goppert
db4374882b Fix attitude tests. 2016-08-18 16:54:43 -04:00
James Goppert
3aeb099249 Revert "Use Hamilton quaternion definition."
This reverts commit 19554c4470cd6322ffd18cb20a96485940f226b6.
2016-08-18 16:51:00 -04:00
James Goppert
0eb8aa0c0b Support more of mathlib function for easier swap in px4. 2016-08-16 19:03:54 -04:00
James Goppert
262a715d90 Fix some when building in px4. 2016-08-16 12:37:41 -04:00
James Goppert
37b00b0880 Added check or consistency of dcm and quaternion product. 2016-08-16 11:37:45 -04:00
James Goppert
1a87564b85 Added dcm quat prod consistency check. 2016-08-16 11:33:56 -04:00
James Goppert
4f13809420 Added axis angle accessors, removed == operator. 2016-08-16 11:05:01 -04:00
James Goppert
19554c4470 Use Hamilton quaternion definition. 2016-08-16 03:59:06 -04:00
James Goppert
e6a6b4680c Use quaternion multiplaction for quaternion derivative. 2016-08-16 01:03:23 -04:00
James Goppert
9353e4cb64 Fix bugs in axis angle. 2016-07-06 01:37:50 -04:00
James Goppert
0f41af271a Added axis angle attitude representation. (#25) 2016-07-05 20:59:42 -04:00
James Goppert
bd8420fcf6 Added example of assignment to already created object. 2016-05-09 11:12:06 -04:00
Matthias Grob
65679fbcbb Features and fixes
* added the trace function for a SquareMatrix

* added Vector3.hat() and it's counterpart Dcm.vee()
for skewsymskew symmetric matrix operations in relation to the cross product
see https://en.wikipedia.org/wiki/Hat_operator

* Matrix::write_string produced runtime errors when I used it in PX4 posix simulation, i simplified it

* a Matrix3f is a SquareMatrix

* added tests for SquareMatrix.trace, Vector3.hat and Dcm.vee

* added a test for quaternion initialisation from array

* preventing buffer overflows in Matrix.write_string method
2016-04-28 15:16:36 -04:00
James Goppert
711b57d2d4 Added unit function that returns normalized vector. 2016-03-15 18:09:48 -04:00
James Goppert
0e14e11183 Added support for attitude_estimator_q functions. 2016-03-15 06:35:13 -04:00
James Goppert
95e3d7d6ce Added set function. 2016-02-16 14:54:15 -05:00
James Goppert
ce30542dba Fix output for unit test. 2016-01-25 13:54:13 -05:00
James Goppert
1778ac199c Fixed euler wrapping. 2016-01-25 13:40:51 -05:00
James Goppert
5aef810e7c Fixed euler angles. 2016-01-24 01:50:34 -05:00
James Goppert
b98ac75452 Formatting. 2016-01-24 00:39:59 -05:00
James Goppert
ffbe58ca10 Added better roundtrip euler test. 2016-01-24 00:39:21 -05:00
James Goppert
d761bd3721 Fixed formatting. Made traivs more verbose. 2016-01-23 23:33:25 -05:00
James Goppert
38211e1aff Fix testing mechanism. 2016-01-23 23:26:26 -05:00
James Goppert
cc800454d2 Formatting. 2016-01-11 22:05:34 -06:00
James Goppert
684a6b626d Merge branch 'quaternion'
Conflicts:
	test/attitude.cpp
2016-01-11 21:59:28 -06:00
Thomas Gubler
45e6012818 matrix scalar pre multiplication and general scalar multiplication for
quaternions
2015-12-26 13:15:39 +01:00
Roman
10b395a782 added more quaternion methods 2015-12-19 09:47:03 +01:00
jgoppert
9cd6ac3dd9 Fixed coverage. 2015-11-14 09:04:38 -05:00