25 #ifndef INCLUDED_PoseDampedConstantVelocity_h_GUID_FCDCA6AF_D0A2_4D92_49BE_9DBAC5C2F622
26 #define INCLUDED_PoseDampedConstantVelocity_h_GUID_FCDCA6AF_D0A2_4D92_49BE_9DBAC5C2F622
44 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
45 using State = pose_externalized_rotation::State;
46 using StateVector = pose_externalized_rotation::StateVector;
47 using StateSquareMatrix = pose_externalized_rotation::StateSquareMatrix;
49 using NoiseAutocorrelation = BaseProcess::NoiseAutocorrelation;
51 double positionNoise = 0.01,
52 double orientationNoise = 0.1)
53 : m_constantVelModel(positionNoise, orientationNoise) {
57 void setNoiseAutocorrelation(
double positionNoise = 0.01,
58 double orientationNoise = 0.1) {
59 m_constantVelModel.setNoiseAutocorrelation(positionNoise,
63 void setNoiseAutocorrelation(NoiseAutocorrelation
const &noise) {
64 m_constantVelModel.setNoiseAutocorrelation(noise);
76 return pose_externalized_rotation::
77 stateTransitionMatrixWithVelocityDamping(dt, m_damp);
80 void predictState(State &s,
double dt) {
83 s.setStateVector(xHatMinus);
84 s.setErrorCovariance(Pminus);
100 pose_externalized_rotation::dampenVelocities(ret, m_damp, dt);
105 BaseProcess m_constantVelModel;
111 #endif // INCLUDED_PoseDampedConstantVelocity_h_GUID_FCDCA6AF_D0A2_4D92_49BE_9DBAC5C2F622
StateSquareMatrix getSampledProcessNoiseCovariance(double dt) const
types::DimSquareMatrix< StateType > predictErrorCovariance(StateType const &state, ProcessModelType &processModel, double dt)
A constant-velocity model for a 6DOF pose (with velocities)
The main namespace for all C++ elements of the framework, internal and external.
StateSquareMatrix getStateTransitionMatrix(State const &, double dt) const
Also known as the "process model jacobian" in TAG, this is A.
void setDamping(double damping)
Set the damping - must be positive.
StateVector computeEstimate(State &state, double dt) const
StateVector computeEstimate(State &state, double dt) const
StateSquareMatrix getSampledProcessNoiseCovariance(double dt) const