25 #ifndef INCLUDED_TrackedBodyIMU_h_GUID_65A86547_8C4C_43B5_906C_361178DCCE06
26 #define INCLUDED_TrackedBodyIMU_h_GUID_65A86547_8C4C_43B5_906C_361178DCCE06
47 double angularVelocityVariance);
49 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
52 TrackedBody const &getBody()
const {
return m_body; }
56 Eigen::Quaterniond
const &quat);
60 Eigen::Quaterniond
const &deltaquat,
63 bool hasPoseEstimate()
const {
return m_hasOrientation; }
68 bool calibrationYawKnown()
const {
return m_yawKnown; }
70 using namespace Eigen;
74 Quaterniond(AngleAxisd(
getRadians(m_yaw), Vector3d::UnitY()));
80 return m_yawCorrection;
86 transformRawIMUOrientation(Eigen::Quaterniond
const &input)
const;
88 Eigen::Quaterniond transformRawIMUAngularVelocity(
89 Eigen::Quaterniond
const &deltaquat)
const;
96 Eigen::Quaterniond
const &deltaquat,
104 Eigen::Quaterniond
const &quat);
115 bool m_yawKnown =
false;
118 Eigen::Quaterniond m_yawCorrection;
120 bool m_useOrientation;
121 double m_orientationVariance;
122 bool m_useAngularVelocity;
123 double m_angularVelocityVariance;
125 bool m_hasRawQuat =
false;
127 Eigen::Quaterniond m_rawQuat;
129 bool m_hasOrientation =
false;
131 Eigen::Quaterniond m_quat;
137 #endif // INCLUDED_TrackedBodyIMU_h_GUID_65A86547_8C4C_43B5_906C_361178DCCE06
AngleRadiansd Angle
Default angle type.
void updatePoseFromOrientation(util::time::TimeValue const &tv, Eigen::Quaterniond const &quat)
Processes an orientation.
Header wrapping include of and for warning quieting.
Eigen::Quaterniond const & getPoseEstimate() const
This estimate incorporates the calibration yaw correction.
General configuration parameters.
void updatePoseFromAngularVelocity(util::time::TimeValue const &tv, Eigen::Quaterniond const &deltaquat, double dt)
Processes an angular velocity.
Eigen::Quaterniond const & getIMUToRoom() const
Gets the transform based on the calibration yaw.
Header providing a C++ wrapper around TimeValueC.h.
Y getRadians(AngleGeneric< System, Y > const angle)
Get the raw scalar value of your angle in radians.
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...