3#include <gtest/gtest_prod.h>
52 Eigen::VectorXf &_x_vector_, Eigen::MatrixXf &_p_matrix_,
53 std::vector<int> &matched_ids,
54 std::vector<Eigen::Vector2f> &matched_cone_positions,
55 std::vector<Eigen::Vector2f> &new_features,
92 int associate_n_filter(
const std::vector<common_lib::structures::Cone> &perception_map,
93 Eigen::VectorXf &_x_vector_, Eigen::MatrixXf &_p_matrix_,
94 std::vector<int> &matched_ids,
95 std::vector<Eigen::Vector2f> &matched_cone_positions,
96 std::vector<Eigen::Vector2f> &new_features,
111const std::map<std::string,
112 std::function<std::shared_ptr<DataAssociationModel>(
float max_landmark_distance)>,
116 [](
float max_landmark_distance) -> std::shared_ptr<DataAssociationModel> {
117 return std::make_shared<MaxLikelihood>(max_landmark_distance);
Data Association Method class, used to match observations to landmarks in the map.
DataAssociationModel()=default
virtual ~DataAssociationModel()=default
float max_landmark_distance_
Check if the observed landmark is a valid match to the expected landmark It depends on external param...
virtual int associate_n_filter(const std::vector< common_lib::structures::Cone > &perception_map, Eigen::VectorXf &_x_vector_, Eigen::MatrixXf &_p_matrix_, std::vector< int > &matched_ids, std::vector< Eigen::Vector2f > &matched_cone_positions, std::vector< Eigen::Vector2f > &new_features, ObservationModel *observation_model) const =0
Associate the observed landmarks to the expected landmarks and update the state vector and the covari...
float get_max_landmark_distance() const
Maximum Likelihood Method class, used to match observations to landmarks in the map with maximum like...
int associate_n_filter(const std::vector< common_lib::structures::Cone > &perception_map, Eigen::VectorXf &_x_vector_, Eigen::MatrixXf &_p_matrix_, std::vector< int > &matched_ids, std::vector< Eigen::Vector2f > &matched_cone_positions, std::vector< Eigen::Vector2f > &new_features, ObservationModel *observation_model) const override
normalized distance gate (closest unmatched landmark)
static float new_landmark_gate_
normalized innovation squared gate
static float association_gate_
Observation Model class compiled of functions for observation model.
const std::map< std::string, std::function< std::shared_ptr< DataAssociationModel >(float max_landmark_distance)>, std::less<> > data_association_model_constructors