131 Commits

Author SHA1 Message Date
Daniel Agar
f00edc9442 update to astyle 2.06 and fix formatting 2017-02-24 20:47:41 -05:00
Daniel Agar
68c7cc5bfd Quaternion add copyTo 2017-02-24 20:47:41 -05:00
Daniel Agar
e2211c5867 QuRT use __builtin_isfinite 2017-02-15 19:30:19 -05:00
Lorenz Meier
2283e6946a Matrix inversion: Ensure that null check is done against the same type 2017-02-04 10:42:10 +01:00
James Goppert
843be9418b Rename isfinite to is_finite to avoid name conflicts. 2017-02-03 18:15:43 -05:00
James Goppert
63aea23f9e Add cholesky decomp, Closes #30, and dynamic print buf 2017-02-03 17:54:16 -05:00
James Goppert
a154e14439 Fix coverage for inverse. 2017-02-03 17:24:15 -05:00
James Goppert
db6dfeafbe Add helper_functions include for inverse and in general header 2017-02-03 16:56:33 -05:00
James Goppert
230e84702a Fix unit test, create matrix isfinite. 2017-02-03 16:25:55 -05:00
Siddharth Bharat Purohit
7e3eff7b2d remove unnecessary duplicate matrices from inverse 2017-02-03 16:12:17 -05:00
Matthias Grob
2f4427a923 Quaternion: Implemented the largest pivot element method for conversion from Dcm to Quaternion to avoid numerical problems 2016-12-14 17:55:05 +01:00
Matthias Grob
bb1a321639 Changed Dcm to inherit from SquareMatrix because it is square and we can use the trace method 2016-12-14 17:42:45 +01:00
James Goppert
7eff04742c Fix for zero check on quat from dcm ctor. 2016-12-13 10:21:55 -05:00
James Goppert
74a120f554 Handle some divide by zero edge cases on init. 2016-11-30 01:27:48 -05:00
James Goppert
945edbc58c Ensure direction is always defined for axis angle. 2016-11-30 00:40:55 -05:00
James Goppert
8a94f0f8ac Fix axis angle fabsf usage. 2016-11-28 10:43:29 -05:00
James Goppert
f3e478cbff Fix matrix inverse pivotting logic. 2016-11-22 10:04:45 -05:00
James Goppert
34fccdd680 add renormalize method (#32) 2016-11-02 12:10:30 -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
558777f34c Fix formatting. 2016-08-16 12:43:42 -04:00
James Goppert
262a715d90 Fix some when building in px4. 2016-08-16 12:37:41 -04:00
James Goppert
6197515a51 Fix shadow warnings. 2016-08-16 11:50:46 -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
cbb7e06a1f Replace float with Type in kalman. 2016-07-06 01:39:06 -04:00
James Goppert
9353e4cb64 Fix bugs in axis angle. 2016-07-06 01:37:50 -04:00
James Goppert
7b7297b674 Fix for ctor comments on axis angle. 2016-07-05 21:30:22 -04:00
James Goppert
0b1bed6b00 Added deprecation warnings in source code. 2016-07-05 21:16:17 -04:00
James Goppert
0f41af271a Added axis angle attitude representation. (#25) 2016-07-05 20:59:42 -04:00
Beat Küng
b1f76782f6 Euler, Quaternion: fix compiler errors for GCC 6.1.1 (#23)
* Euler, Quaternion: fix compiler errors for GCC 6.1.1

GCC output:
error: implicit conversion from ‘float’ to ‘double’ to match other operand
of binary expression [-Werror=double-promotion]

* astyle: fix formatting for Euler.hpp & Quaternion.hpp
2016-07-05 17:00:35 -04:00
Roman
eeb595d1db applied formatting 2016-05-17 08:27:35 +02:00
Roman
f4e2b21608 - better description for quaternion class
- revert conversion functions to constructor
2016-05-16 09:21:44 +02:00
Andreas Bircher
81eacb0cfa removing body and intertial frame expressions and establishing consistency 2016-05-15 18:42:21 +02:00
Roman
4a405e7f60 make it clear that we are using right hand rotation convention 2016-05-15 18:42:21 +02:00
Roman
10c1b49bde fix typo 2016-05-15 18:42:21 +02:00
Roman
1033e145a5 fix some typos and better explanation of quaternion ordering 2016-05-15 18:42:21 +02:00
Roman
2b3bdb523d better description for quaternion class 2016-05-15 18:42:21 +02:00
Roman
3152d3d6cf better function descriptions for rotation classes:
- do not talk specifically about body or earth frame, just use frame 1 and frame 2
2016-05-15 18:42:21 +02:00
Andreas Bircher
e3a1d67444 adding detailed comments on rotation classes 2016-05-15 18:42:21 +02:00
Andreas Bircher
af2e6d952e correcting comments 2016-05-15 18:42:21 +02:00
Andreas Bircher
34e6e2a941 refactoring rotation classes and adding initial description 2016-05-15 18:42:21 +02:00
jaredkw
3509329f30 Define M_PI float, change logical and to && 2016-05-11 18:35:05 -04:00
MaEtUgR
b2eb4d13d8 Matrix.setCol off by one bug fixed
The Column Vector you are copying from, only has one Column and it is indexed by 0 not 1.
I also completed the unit test stub that would have found this bug.
2016-05-05 13:18:51 +02: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
07fba8322a Fix for effective cpp. 2016-03-18 20:56:41 -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
6c04605531 Added conversion for scalar to vector. 2016-02-26 06:10:09 -05:00