3#include <eigen3/Eigen/Dense>
39 explicit ObservationModel(
const Eigen::MatrixXf &observation_noise_covariance_matrix);
51 const unsigned int landmark_index)
const;
54 const std::vector<int> &matched_ids)
const;
56 Eigen::VectorXf
format_observation(
const std::vector<Eigen::Vector2f> &observations)
const;
59 const std::vector<int> &matched_ids)
const;
75 Eigen::MatrixXf
get_gv(
const Eigen::VectorXf &expected_state,
78 Eigen::MatrixXf
get_gz(
const Eigen::VectorXf &expected_state,
91 const Eigen::VectorXf &expected_state,
const unsigned int landmark_index,
92 const unsigned int state_size)
const;
Observation Model class compiled of functions for observation model.
Eigen::Vector2f observation_model(const Eigen::VectorXf &expected_state, const unsigned int landmark_index) const
Calculate expected observation from the state vector.
Eigen::MatrixXf get_full_observation_noise_covariance_matrix(const int observation_size) const
Eigen::Vector2f inverse_observation_model(const Eigen::VectorXf &expected_state, const ObservationData &observation_data) const
Calculate landmark position from observation.
Eigen::MatrixXf get_gv(const Eigen::VectorXf &expected_state, const ObservationData &observation_data) const
Eigen::MatrixXf _observation_noise_covariance_matrix_
H or C.
Eigen::VectorXf format_observation(const std::vector< Eigen::Vector2f > &observations) const
Eigen::MatrixXf get_observation_noise_covariance_matrix() const
Get the observation noise covariance matrix (C or H)
Eigen::MatrixXf get_state_to_observation_matrix(const Eigen::VectorXf &expected_state, const unsigned int landmark_index, const unsigned int state_size) const
Get the state to observation matrix of the observation model (H in LaTeX documentation)
Eigen::VectorXf observation_model_n_landmarks(const Eigen::VectorXf ¤t_state, const std::vector< int > &matched_ids) const
Eigen::MatrixXf get_gz(const Eigen::VectorXf &expected_state, const ObservationData &observation_data) const
static Eigen::MatrixXf create_observation_noise_covariance_matrix(float noise_value)
Create a Q matrix from a given noise value.
Eigen::MatrixXf get_jacobian_of_observation_model(const Eigen::VectorXf ¤t_state, const std::vector< int > &matched_ids) const
Struct containing observation data.
ObservationData(double x, double y, common_lib::competition_logic::Color color)
ObservationData(common_lib::structures::Position position, common_lib::competition_logic::Color color)
common_lib::structures::Position position
common_lib::competition_logic::Color color