OSVR Framework (Internal Development Docs)  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
TestIMU_UKF.cpp File Reference

Implementation. More...

#include "TestIMU_Common.h"
#include "FlexibleUnscentedCorrect.h"
#include <Eigen/Eigenvalues>

Go to the source code of this file.

Enumerations

enum  Axis : std::size_t { X = 0, Y = 1, Z = 2 }
 

Functions

template<typename Derived >
bool isPositiveDefinite (MatrixBase< Derived > const &m)
 
template<typename Derived >
void checkSigmaPoints (MatrixBase< Derived > const &m)
 
template<typename Derived >
void thenCheckCovariance (MatrixBase< Derived > const &c)
 
template<typename Reconstruction >
void thenCheckReconstruction (Reconstruction const &recon)
 
template<typename Reconstruction >
void andThenCheckReconstruction (Reconstruction const &recon)
 
template<typename GeneratorType >
void generatorChecks (GeneratorType const &gen)
 
template<typename GeneratorType >
void thenCheckSigmaPointGenerator (GeneratorType const &gen)
 
template<typename GeneratorType >
void andThenCheckSigmaPointGenerator (GeneratorType const &gen)
 
 TEST_CASE ("Sigma point reconstruction validity")
 
double zeroOrValueForAxis (Axis rotationAxis, Axis currentAxis, double value)
 
Vector3d ZeroVec3dExceptAtAxis (Axis rotationAxis, double value)
 
Vector3d Vec3dSmallValueAt (Axis rotationAxis)
 
Vector3d Vec3dUnit (Axis rotationAxis)
 
double getSignCorrect (bool positive)
 
template<typename MeasurementType , typename InProgressType >
void commonSmallSingleAxisChecks (TestData *data, MeasurementType &kalmanMeas, InProgressType &inProgress, Axis const rotationAxis, bool const positive=true)
 
template<typename MeasurementType >
void unscentedSmallSingleAxisChecks (TestData *data, MeasurementType &kalmanMeas, Axis rotationAxis, bool positive=true)
 
template<typename MeasurementType >
void checkEffectiveIdentityMeasurement (TestData *data, MeasurementType &kalmanMeas)
 
template<typename F , typename... Args>
void allSmallSingleAxisRotations (F &&f, Args &&...args)
 
 TEST_CASE ("unscented with identity calibration output","[ukf]")
 
 TEST_CASE ("unscented with small x rotation calibration output","[ukf]")
 
 TEST_CASE ("conceptual transformation orders")
 

Detailed Description

Implementation.

Date
2016
Author
Sensics, Inc. http://sensics.com/osvr

Definition in file TestIMU_UKF.cpp.

Function Documentation

template<typename Derived >
bool isPositiveDefinite ( MatrixBase< Derived > const &  m)
inline

not square!

Not symmetric!

Definition at line 37 of file TestIMU_UKF.cpp.

template<typename MeasurementType , typename InProgressType >
void commonSmallSingleAxisChecks ( TestData data,
MeasurementType &  kalmanMeas,
InProgressType &  inProgress,
Axis const  rotationAxis,
bool const  positive = true 
)
inline

This is our rotation axis - correction should be in (0, SMALL_VALUE)

Not our rotation axis, correction should be approx 0.

This is our rotation axis - correction should be >= 0 if positive rotation.

Not our rotation axis, correction should be approx 0.

Definition at line 207 of file TestIMU_UKF.cpp.

TEST_CASE ( "unscented with identity calibration output"  ,
""  [ukf] 
)

Do the rest of the checks for a small rotation about y

Do the rest of the checks for a small rotation about y

Definition at line 392 of file TestIMU_UKF.cpp.

TEST_CASE ( "unscented with small x rotation calibration output"  ,
""  [ukf] 
)

Do the rest of the checks for a small rotation about a single axis

Definition at line 473 of file TestIMU_UKF.cpp.