Struct TKF_options

Inheritance Relationships

Base Type

  • public mrpt::config::CLoadableOptions

Struct Documentation

struct TKF_options : public mrpt::config::CLoadableOptions

Generic options for the Kalman Filter algorithm in itself.

Public Functions

inline TKF_options(mrpt::system::VerbosityLevel &verb_level_ref)
inline void loadFromConfigFile(const mrpt::config::CConfigFileBase &iniFile, const std::string &section) override
inline void dumpToTextStream(std::ostream &out) const override

This method must display clearly all the contents of the structure in textual form, sending it to a CStream.

Public Members

TKFMethod method = {kfEKFNaive}

The method to employ (default: kfEKFNaive)

mrpt::system::VerbosityLevel &verbosity_level
int IKF_iterations = {5}

Number of refinement iterations, only for the IKF method.

bool enable_profiler = {false}

If enabled (default=false), detailed timing information will be dumped to the console thru a CTimerLog at the end of the execution.

bool use_analytic_transition_jacobian = {true}

(default=true) If true, OnTransitionJacobian will be called; otherwise, the Jacobian will be estimated from a numeric approximation by calling several times to OnTransitionModel.

bool use_analytic_observation_jacobian = {true}

(default=true) If true, OnObservationJacobians will be called; otherwise, the Jacobian will be estimated from a numeric approximation by calling several times to OnObservationModel.

bool debug_verify_analytic_jacobians = {false}

(default=false) If true, will compute all the Jacobians numerically and compare them to the analytical ones, throwing an exception on mismatch.

double debug_verify_analytic_jacobians_threshold = {1e-2}

(default-1e-2) Sets the threshold for the difference between the analytic and the numerical jacobians

bool use_joseph_form = {true}

(default=true) Use the Joseph-form covariance update P’ = (I-KH)*P*(I-KH)^T + K*R*K^T for kfEKFNaive and kfIKFFull. Numerically more stable than the standard P’ = (I-KH)*P; the extra cost is one additional matrix product. Set to false for the classic (faster but less numerically stable) update.

bool debug_sparse_vs_dense_P_update = {false}

(default=false) When true and FEAT_SIZE>0, run both the sparse and dense covariance update paths and assert their results agree to within 1e-7. Useful for validating the sparse path on a new problem.