25 #ifndef INCLUDED_FlexibleKalmanCorrect_h_GUID_354B7B5B_CF4F_49AF_7F71_A4279BD8DA8C 26 #define INCLUDED_FlexibleKalmanCorrect_h_GUID_354B7B5B_CF4F_49AF_7F71_A4279BD8DA8C 39 template <
typename StateType,
typename MeasurementType>
93 P - (PHt * denom.
solve(PHt.transpose()));
100 OSVR_KALMAN_DEBUG_OUTPUT(
101 "error covariance scale",
107 if (!newP.array().allFinite()) {
115 state_.setErrorCovariance(newP);
119 state_.setErrorCovariance((newP + newP.transpose()) / 2.);
124 state_.postCorrect();
133 typename MeasurementType>
136 MeasurementType &meas) {
167 #endif // INCLUDED_FlexibleKalmanCorrect_h_GUID_354B7B5B_CF4F_49AF_7F71_A4279BD8DA8C bool finishCorrection(bool cancelIfNotFinite=true)
That's as far as we go here before you choose to continue.
Definition: FlexibleKalmanCorrect.h:88
Robust Cholesky decomposition of a matrix with pivoting.
Definition: LDLT.h:48
typename FilterType::State StateType
Given a filter type, get the state type.
Definition: FlexibleKalmanBase.h:91
typename detail::Dimension_impl< T >::type Dimension
Given a state or measurement, get the dimension as a std::integral_constant.
Definition: FlexibleKalmanBase.h:87
Eigen::LDLT< types::SquareMatrix< m > > denom
Decomposition of S.
Definition: FlexibleKalmanCorrect.h:70
const internal::solve_retval< LDLT, Rhs > solve(const MatrixBase< Rhs > &b) const
Definition: LDLT.h:186
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
types::SquareMatrix< n > P
State error covariance.
Definition: FlexibleKalmanCorrect.h:57
Definition: FlexibleKalmanCorrect.h:40
typename FilterType::ProcessModel ProcessModelType
Given a filter type, get the process model type.
Definition: FlexibleKalmanBase.h:95
static const types::DimensionType n
Dimension of state.
Definition: FlexibleKalmanCorrect.h:45
CorrectionInProgress< StateType, MeasurementType > beginCorrection(StateType &state, ProcessModelType &processModel, MeasurementType &meas)
Definition: FlexibleKalmanCorrect.h:135
types::Vector< m > deltaz
Measurement residual/delta z/innovation.
Definition: FlexibleKalmanCorrect.h:73
bool stateCorrectionFinite
Is the state correction free of NaNs and +- infs?
Definition: FlexibleKalmanCorrect.h:79
static const types::DimensionType m
Dimension of measurement.
Definition: FlexibleKalmanCorrect.h:42
types::Vector< n > stateCorrection
Corresponding state change to apply.
Definition: FlexibleKalmanCorrect.h:76
types::Matrix< n, m > PHt
The kalman gain stuff to not invert (called P12 in TAG)
Definition: FlexibleKalmanCorrect.h:60
std::size_t DimensionType
Type for dimensions.
Definition: FlexibleKalmanBase.h:51
The matrix class, also used for vectors and row-vectors.
Definition: Matrix.h:127