25 #ifndef INCLUDED_RunningData_h_GUID_6B3479E5_9D56_4BA9_DEC0_84AF53842168 26 #define INCLUDED_RunningData_h_GUID_6B3479E5_9D56_4BA9_DEC0_84AF53842168 28 #ifdef OSVR_VIDEOIMUFUSION_VERBOSE 32 inline void dumpKalmanDebugOuput(
const char name[],
const char expr[],
34 std::cout <<
"\n(Kalman Debug Output) " << name <<
" [" << expr <<
"]:\n" 35 << value << std::endl;
38 #define OSVR_KALMAN_DEBUG_OUTPUT(Name, Value) \ 39 dumpKalmanDebugOuput(Name, #Value, Value) 41 #endif // OSVR_VIDEOIMUFUSION_VERBOSE 57 #include <osvr/Util/Verbosity.h> 72 using AngularVelocityMeasurement =
77 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
87 const Eigen::Vector3d &angVel);
95 return state().getQuaternion();
97 Eigen::Vector3d getPosition()
const {
return state().position(); }
100 return m_rTc * osvr::util::eigen_interop::map(pose);
109 FilterState const &state()
const {
return m_state; }
111 ProcessModel const &processModel()
const {
return m_processModel; }
116 AngularVelocityMeasurement m_imuMeasVel;
124 #endif // INCLUDED_RunningData_h_GUID_6B3479E5_9D56_4BA9_DEC0_84AF53842168
Definition: FusionParams.h:37
Header wrapping include of <Eigen/Core> and <Eigen/Geometry> for warning quieting.
A structure defining a quaternion, often a unit quaternion representing 3D rotation.
Definition: QuaternionC.h:49
A basically-constant-velocity model, with the addition of some damping of the velocities inspired by ...
Definition: PoseDampedConstantVelocity.h:42
Report type for an orientation callback on a tracker interface.
Definition: ClientReportTypesC.h:145
bool preReport(const OSVR_TimeValue ×tamp)
Returns true if we succeeded and can filter in some data.
Definition: RunningDataPredictCorrect.cpp:59
Header providing a C++ wrapper around TimeValueC.h.
A small structure to hold a non zero as a triplet (i,j,value).
Definition: SparseUtil.h:148
StateSquareMatrix const & errorCovariance() const
P.
Definition: PoseState.h:183
This is the subclass of AbsoluteOrientationBase: only explicit specializations, and on state types...
Definition: AbsoluteOrientationMeasurement.h:98
Definition: Quaternion.h:47
A structure defining a 3D (6DOF) rigid body pose: translation and rotation.
Definition: Pose3C.h:54
Header for interoperation between the Eigen math library, the internal mini math library, and VRPN's quatlib.
Definition: PoseState.h:164
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81
The matrix class, also used for vectors and row-vectors.
Definition: Matrix.h:127
Header for measurements of absolute orientation.
This is the subclass of AbsolutePositionBase: only explicit specializations, and on state types...
Definition: AbsolutePositionMeasurement.h:83
Definition: RunningData.h:75
Report type for a pose (position and orientation) callback on a tracker interface.
Definition: ClientReportTypesC.h:155
This is the subclass of AngularVelocityBase: only explicit specializations, and on state types...
Definition: AngularVelocityMeasurement.h:82