File simple_1d_ekf.hpp

class SimpleEKFState : public Eigen::Matrix<double, 1, 1>
#include <simple_1d_ekf.hpp>

Public Functions

inline SimpleEKFState(void)
template<typename OtherDerived>
inline SimpleEKFState(const Eigen::MatrixBase<OtherDerived> &other)
template<typename OtherDerived>
inline SimpleEKFState &operator=(const Eigen::MatrixBase<OtherDerived> &other)
inline Eigen::Matrix<double, 1, 1> getState()

Public Members

Eigen::Ref<Eigen::Matrix<double, 1, 1>> pos_
Eigen::Matrix<double, 1, 1> state_cov

Public Static Attributes

static const int state_dim = 1
static const int noise_dim = 1
class SimpleEKFMeasure : public Eigen::Matrix<double, 1, 1>
#include <simple_1d_ekf.hpp>

Public Functions

inline SimpleEKFMeasure(void)
template<typename OtherDerived>
inline SimpleEKFMeasure(const Eigen::MatrixBase<OtherDerived> &other)
template<typename OtherDerived>
inline SimpleEKFMeasure &operator=(const Eigen::MatrixBase<OtherDerived> &other)

Public Members

Eigen::Ref<Eigen::Matrix<double, 1, 1>> meas_pos_
Eigen::Matrix<double, 1, 1> meas_cov

Public Static Attributes

static const int meas_dim = 1
class SimpleEKF : public mim_estimation::standard_filters::EKF<SimpleEKFState, SimpleEKFMeasure>
#include <simple_1d_ekf.hpp>

Public Functions

inline SimpleEKF(double init_pos, double dt, bool is_discrete)
inline ~SimpleEKF()
inline void update(Eigen::Matrix<double, 1, 1> pos, bool new_measured_value)
inline Eigen::Matrix<double, N, 1> get_filter_state(void)
inline void subscribe_to_data_collector(mim_estimation::io_tools::DataCollector &data_collector)

Private Functions

inline Eigen::Matrix<double, N, 1> process_model(SimpleEKFState &s)

process_model

  • \[\begin{align} \dot{pos} = (meas_vel - meas_vel_bias) \dot{bias} = 0.0 \end{align}\]

Parameters:

s – current state

Returns:

out: the predicted state

inline void form_process_jacobian(void)

form_process_jacobian

inline void form_process_noise(void)
inline void form_noise_jacobian(void)
inline Eigen::Matrix<double, K, 1> measurement_model(SimpleEKFState &s)

measurement_model

Parameters:

s – current state

Returns:

out: the predicted measurement

inline void form_measurement_jacobian(void)
inline void form_measurement_noise(void)
inline void form_actual_measurement(void)

Private Members

Eigen::Matrix<double, 1, 1> vel_
Eigen::Matrix<double, 1, 1> meas_pos_
Eigen::Matrix<double, 1, 1> meas_vel_
double q_proc_noise_
double q_meas_noise_
double init_var_