fixed some issues
added new pose/turn detections new helper classes define-flags for libEigen
This commit is contained in:
@@ -1,7 +1,15 @@
|
||||
#ifdef WITH_TESTS
|
||||
|
||||
#include "../Tests.h"
|
||||
#include "../../math/Distributions.h"
|
||||
#include "../../math/distribution/Normal.h"
|
||||
#include "../../math/distribution/Bessel.h"
|
||||
#include "../../math/distribution/LUT.h"
|
||||
#include "../../math/distribution/VonMises.h"
|
||||
#include "../../math/distribution/Exponential.h"
|
||||
#include "../../math/distribution/NormalCDF.h"
|
||||
#include "../../math/distribution/Region.h"
|
||||
#include "../../math/distribution/Triangle.h"
|
||||
|
||||
#include "../../misc/Time.h"
|
||||
|
||||
template <typename Dist> void benchDist(Dist dist) {
|
||||
|
||||
82
tests/math/TestQuaternion.cpp
Normal file
82
tests/math/TestQuaternion.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
#ifdef WITH_TESTS
|
||||
|
||||
#include "../Tests.h"
|
||||
#include "../../math/Quaternion.h"
|
||||
|
||||
const float d = 0.00001;
|
||||
|
||||
TEST(Quaternion, fromEuler) {
|
||||
|
||||
Quaternion q1 = Quaternion::fromEuler(0,0,0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
TEST(Quaternion, mul1) {
|
||||
|
||||
Quaternion q1 = Quaternion::fromEuler(0.5,0,0);
|
||||
Quaternion q2 = Quaternion::fromEuler(0.3,0,0);
|
||||
Quaternion q3 = q1*q2;
|
||||
ASSERT_NEAR(0.8, q3.toEuler().x, d);
|
||||
ASSERT_NEAR(0.0, q3.toEuler().y, d);
|
||||
ASSERT_NEAR(0.0, q3.toEuler().z, d);
|
||||
|
||||
}
|
||||
|
||||
TEST(Quaternion, mul2) {
|
||||
|
||||
Quaternion q1 = Quaternion::fromEuler(0.5, 0.0, 0.0);
|
||||
Quaternion q2 = Quaternion::fromEuler(0.0, 0.3, 0.0);
|
||||
Quaternion q3 = Quaternion::fromEuler(0.0, 0.0, 0.2);
|
||||
Quaternion q4 = q1*q2*q3;
|
||||
ASSERT_NEAR(0.5, q4.toEuler().x, d);
|
||||
ASSERT_NEAR(0.3, q4.toEuler().y, d);
|
||||
ASSERT_NEAR(0.2, q4.toEuler().z, d);
|
||||
|
||||
}
|
||||
|
||||
TEST(Quaternion, toEuler) {
|
||||
|
||||
|
||||
|
||||
Quaternion q1 = Quaternion::fromEuler(0,0,0);
|
||||
ASSERT_NEAR(0, q1.toEuler().x, d);
|
||||
ASSERT_NEAR(0, q1.toEuler().y, d);
|
||||
ASSERT_NEAR(0, q1.toEuler().z, d);
|
||||
|
||||
{
|
||||
Quaternion q2 = Quaternion::fromEuler(0.2, 1.0, 1.2);
|
||||
ASSERT_NEAR(0.2, q2.toEuler().x, d);
|
||||
ASSERT_NEAR(1.0, q2.toEuler().y, d);
|
||||
ASSERT_NEAR(1.2, q2.toEuler().z, d);
|
||||
}
|
||||
|
||||
{
|
||||
Quaternion q = Quaternion::fromEuler(0.5, 0, 0);
|
||||
ASSERT_NEAR(0.5, q.toEuler().x, d);
|
||||
ASSERT_NEAR(0.0, q.toEuler().y, d);
|
||||
ASSERT_NEAR(0.0, q.toEuler().z, d);
|
||||
}{
|
||||
Quaternion q = Quaternion::fromEuler(0, 0.5, 0);
|
||||
ASSERT_NEAR(0.0, q.toEuler().x, d);
|
||||
ASSERT_NEAR(0.5, q.toEuler().y, d);
|
||||
ASSERT_NEAR(0.0, q.toEuler().z, d);
|
||||
}{
|
||||
Quaternion q = Quaternion::fromEuler(0, 0, 0.5);
|
||||
ASSERT_NEAR(0.0, q.toEuler().x, d);
|
||||
ASSERT_NEAR(0.0, q.toEuler().y, d);
|
||||
ASSERT_NEAR(0.5, q.toEuler().z, d);
|
||||
}{
|
||||
Quaternion q = Quaternion::fromEuler(-0.5, 0, 0.5);
|
||||
ASSERT_NEAR(-0.5, q.toEuler().x, d);
|
||||
ASSERT_NEAR(0.0, q.toEuler().y, d);
|
||||
ASSERT_NEAR(0.5, q.toEuler().z, d);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,4 +1,5 @@
|
||||
#ifdef WITH_TESTS
|
||||
#ifdef WITH_EIGEN
|
||||
|
||||
#include "../../Tests.h"
|
||||
#include "../../../math/divergence/KullbackLeibler.h"
|
||||
@@ -74,4 +75,5 @@ TEST(NormalN, multivariateGaussSampleData) {
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#ifdef WITH_TESTS
|
||||
#ifdef WITH_EIGEN
|
||||
|
||||
#include "../../Tests.h"
|
||||
#include "../../../math/divergence/JensenShannon.h"
|
||||
@@ -92,3 +93,4 @@ TEST(JensenShannon, generalFromSamples) {
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#ifdef WITH_TESTS
|
||||
#ifdef WITH_EIGEN
|
||||
|
||||
#include "../../Tests.h"
|
||||
#include "../../../math/divergence/KullbackLeibler.h"
|
||||
@@ -301,3 +302,4 @@ TEST(KullbackLeibler, generalFromSamples) {
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifdef WITH_TESTS
|
||||
|
||||
#ifdef TODO
|
||||
#include "../../Tests.h"
|
||||
|
||||
#include "../../../sensors/imu/TurnDetection.h"
|
||||
@@ -67,5 +68,5 @@ TEST(TurnDetection, xx) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#ifdef WITH_TESTS
|
||||
#ifdef WITH_EIGEN
|
||||
|
||||
#include "../../../../smc/merging/mixing/MixingSamplerDivergency.h"
|
||||
#include "../../../../smc/filtering/ParticleFilterMixing.h"
|
||||
@@ -142,5 +143,5 @@ namespace K {
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user