25 #ifndef INCLUDED_PoseSeparatelyDampedConstantVelocity_h_GUID_4BB00A8D_B12F_47BF_EA91_599233CED644 26 #define INCLUDED_PoseSeparatelyDampedConstantVelocity_h_GUID_4BB00A8D_B12F_47BF_EA91_599233CED644 45 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
52 double positionDamping = 0.3,
double orientationDamping = 0.01,
53 double positionNoise = 0.01,
double orientationNoise = 0.1)
54 : m_constantVelModel(positionNoise, orientationNoise) {
55 setDamping(positionDamping, orientationDamping);
58 void setNoiseAutocorrelation(
double positionNoise = 0.01,
59 double orientationNoise = 0.1) {
60 m_constantVelModel.setNoiseAutocorrelation(positionNoise,
65 m_constantVelModel.setNoiseAutocorrelation(noise);
69 if (posDamping > 0 && posDamping < 1) {
70 m_posDamp = posDamping;
72 if (oriDamping > 0 && oriDamping < 1) {
73 m_oriDamp = oriDamping;
80 return pose_externalized_rotation::
81 stateTransitionMatrixWithSeparateVelocityDamping(dt, m_posDamp,
85 void predictState(State &s,
double dt) {
89 s.setErrorCovariance(Pminus);
105 pose_externalized_rotation::separatelyDampenVelocities(
106 ret, m_posDamp, m_oriDamp, dt);
112 double m_posDamp = 0.2;
113 double m_oriDamp = 0.01;
119 #endif // INCLUDED_PoseSeparatelyDampedConstantVelocity_h_GUID_4BB00A8D_B12F_47BF_EA91_599233CED644 types::DimSquareMatrix< StateType > predictErrorCovariance(StateType const &state, ProcessModelType &processModel, double dt)
Computes P-.
Definition: FlexibleKalmanBase.h:135
StateVector computeEstimate(State &state, double dt) const
Returns a 12-element vector containing a predicted state based on a constant velocity process model...
Definition: PoseConstantVelocity.h:99
StateVector computeEstimate(State &state, double dt) const
Returns a 12-element vector containing a predicted state based on a constant velocity process model...
Definition: PoseSeparatelyDampedConstantVelocity.h:102
A constant-velocity model for a 6DOF pose (with velocities)
Definition: PoseConstantVelocity.h:40
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
void setDamping(double posDamping, double oriDamping)
Set the damping - must be in (0, 1)
Definition: PoseSeparatelyDampedConstantVelocity.h:68
StateSquareMatrix getSampledProcessNoiseCovariance(double dt) const
This is Q(deltaT) - the Sampled Process Noise Covariance.
Definition: PoseSeparatelyDampedConstantVelocity.h:96
StateSquareMatrix getStateTransitionMatrix(State const &, double dt) const
Also known as the "process model jacobian" in TAG, this is A.
Definition: PoseSeparatelyDampedConstantVelocity.h:78
StateSquareMatrix getSampledProcessNoiseCovariance(double dt) const
This is Q(deltaT) - the Sampled Process Noise Covariance.
Definition: PoseConstantVelocity.h:79
Definition: PoseState.h:164
The matrix class, also used for vectors and row-vectors.
Definition: Matrix.h:127
void setStateVector(StateVector const &state)
set xhat
Definition: PoseState.h:175
A basically-constant-velocity model, with the addition of some damping of the velocities inspired by ...
Definition: PoseSeparatelyDampedConstantVelocity.h:43