Matthias Grob
18fba8221c
quaternion: improve comments
6 years ago
Matthias Grob
a4f39c0f89
quaternion: reuse existing dot product
6 years ago
Matthias Grob
9c0acfba36
Matrix: remove unsafe copyToRaw method
...
It used a pointer and could therefore not do correct type checking
for index out of bound or struct memebr order.
Has to be considered unsafe and bad practise.
We should switch to arrays as representation for vectors
inside the messages instead of foo_x, foo_y, foo_z fields.
6 years ago
Beat Küng
0d3bff5e00
Vector2: add explicit constructor for Vector3
...
Initialize from the first 2 elements.
6 years ago
Beat Küng
807472bfd7
README: document how to run tests
6 years ago
Bart Slinger
30d5a79432
testing float/double with Type template
6 years ago
Bart Slinger
707e288019
explicit casting
6 years ago
Bart Slinger
480c5f1f8e
static assert M>=N. floats to Type, arguments as const reference
6 years ago
Bart Slinger
7495794386
test zero divisions
6 years ago
Bart Slinger
3f2d3cf58d
fix a div/0 condition
6 years ago
Bart Slinger
983a3f0212
use Matrix and Vector class for A and tau
6 years ago
Bart Slinger
98b8e2d43b
formatting
6 years ago
Bart Slinger
0009328257
least squares solver for MxN matrices using QR householder algorithm
6 years ago
Daniel Agar
dc3af80977
constructors use array size rather than pointers
7 years ago
Daniel Agar
f1bee775a0
use default constructors and skip unnecessary initialization
7 years ago
Daniel Agar
1bcf48bd82
Quaternion from_dcm don't pass by value
7 years ago
Roman Bapst
b815fc97c4
replace quiet_NaN() with INFINITY ( #70 )
...
- solves undefined symbols for QURT
Signed-off-by: Roman <bapstroman@gmail.com>
7 years ago
Daniel Agar
03a3e3ad46
helper_functions add wrap_2pi
7 years ago
Daniel Agar
abc8f82d49
travis-ci add codecov.io ( #69 )
7 years ago
Daniel Agar
21d47424c6
Quaternion mark const helpers const
7 years ago
James Goppert
e7c95fa027
Fix README/cmake format.
7 years ago
James Goppert
d142ac234c
Fix coverage and bug in matrix equal test.
7 years ago
Daniel Agar
50446a55c8
Matrix add == and != operators
7 years ago
Daniel Agar
61af508755
helper_functions include required px4_defines header
7 years ago
Daniel Agar
41a1cc7583
LICENSE minor changes to template
7 years ago
Matthias Grob
f835d39017
Quaternion/Vector: Small refactor for review: put more comments, switched type conversions, took out default destination vector because confusing
7 years ago
Matthias Grob
af2610ec04
Test: added check for quaternion vector to vector rotation constructor
...
including all the parallel vector corner cases
7 years ago
Matthias Grob
84cd7483ae
Quaternion: added constructor which generates the shortest rotation that maps one vector to another
...
including tedious corner case handling for parallel vectors with 180 degree rotations
7 years ago
Matthias Grob
d513c94f85
Test: added check for Vector.norm_squared()
7 years ago
Matthias Grob
5130da206a
Vector: added norm_squared() because sometimes you can safe the sqrt operation
7 years ago
Matthias Grob
41ad2bdea5
Matrix: added copyToRaw method to allow copying to a pointer
...
because most uORB messages still contain all components of a vector one by one after each other
7 years ago
Matthias Grob
308a6c91cb
Test: added copyTo tests for Vector3, Quaternion and Matrix including clolumn-major order
7 years ago
Matthias Grob
1dffd5930b
Matrix: add copyTo copying data to an array and copyToColumnMajor which does the same but with column-major order
...
same functionality explicitly for quaternions can be deleted
7 years ago
Matthias Grob
3bd94fcd6f
Test vector: structured & commented, added normalize and unit_or_zero tests, removed duplicate data preparation
7 years ago
Matthias Grob
9e59691e43
Vector: Additional normalization with check for zero norm because it occurs so many times in applications
7 years ago
Matthias Grob
f4243160e2
Quaternion: changed comments because of typos and unclear inconsistent indexing
7 years ago
Matthias Grob
d259ab2108
Test: add Quaternion rotate() test that catches non-commutating rotations
7 years ago
Matthias Grob
ee2219b836
Quaternion: replace conversion in rotate() with AxisAngle call
7 years ago
Matthias Grob
b241cf5c95
Quaternion: Adjusted rotate() to the Hamilton convention (which we switched to)
...
Note: This error was not caught by a test because the test included only trivial cases which do not explore non-commuting quaternions.
7 years ago
Matthias Grob
6b1fea76d0
Quaternion: added and adjusted comments to further explain conjugation and derivative functionality
7 years ago
Matthias Grob
0527471a52
Matrix: adjust buffer size calculation to account for additional characters
...
Note: If the buffer is too small there's no memory corruption because of the snprintf limit but part of the output gets missing.
7 years ago
Matthias Grob
0a772f59dd
Quaternion: added direct efficient body z-axis calculation with test
7 years ago
Matthias Grob
976461eb0f
Dcm: more efficient conversion from quaternion, extend reuse of multiplications
7 years ago
Matthias Grob
baf54ad29f
quaternion: correcting comments
...
^(-1) went missing and some phrase was inprecise
7 years ago
James Goppert
e595ebb9a7
Switch to Hamilton quaternions and add Cholesky decomposition.
8 years ago
Nate Weibley
471e96ff6f
Provide const dataptr access
8 years ago
Nate Weibley
2ad3ec46b9
Mark simple min, max, abs methods as const
8 years ago
Nate Weibley
66e1b406b8
Remove artifical need to virtualize dtors
8 years ago
Pavel Kirienko
499b897e5f
Style fix
8 years ago
Pavel Kirienko
99b44c0242
NuttX math lib workaround
8 years ago