122 Commits

Author SHA1 Message Date
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
James Goppert
2d27cd79d3 Added scalar to matrix conversion. 2016-02-26 05:56:21 -05:00
James Goppert
6974f97b1c Added scalar const conversion operator. 2016-02-26 05:47:24 -05:00
James Goppert
7b969094cb Fix for scalar type. 2016-02-26 05:33:16 -05:00
James Goppert
3917ef1992 Merge branch 'master' of github.com:PX4/Matrix 2016-02-26 03:39:28 -05:00
James Goppert
15865897d5 Added pow. 2016-02-26 03:39:04 -05:00
mcsauder
46c83a8c18 Correct a few indexing copy/paste errors that likely previously only functioned properly on square matrices. 2016-02-25 18:51:28 -07:00
James Goppert
95e3d7d6ce Added set function. 2016-02-16 14:54:15 -05:00
James Goppert
5a01e6c939 Added slice function for matrix. 2016-02-16 12:22:08 -05:00
James Goppert
1ae114b3d2 Improved rk4 integration to allow longer time interval than 1 step. 2016-02-16 10:53:12 -05:00