9 #ifndef data_association_H 10 #define data_association_H 61 indiv_compatibility(0,0),
62 indiv_compatibility_counts(),
63 nNodesExploredInJCBB(0)
70 indiv_distances.setSize(0,0);
71 indiv_compatibility.setSize(0,0);
72 indiv_compatibility_counts.clear();
73 nNodesExploredInJCBB = 0;
122 const double chi2quantile = 0.99,
123 const bool DAT_ASOC_USE_KDTREE =
true,
124 const std::vector<prediction_index_t> &predictions_IDs = std::vector<prediction_index_t>(),
126 const double log_ML_compat_test_threshold = 0.0
155 const double chi2quantile = 0.99,
156 const bool DAT_ASOC_USE_KDTREE =
true,
157 const std::vector<prediction_index_t> &predictions_IDs = std::vector<prediction_index_t>(),
159 const double log_ML_compat_test_threshold = 0.0
Declares a matrix of booleans (non serializable).
std::vector< uint32_t > vector_uint
TDataAssociationResults()
size_t observation_index_t
Used in mrpt::slam::TDataAssociationResults.
vector_uint indiv_compatibility_counts
The sum of each column of indiv_compatibility, that is, the number of compatible pairings for each ob...
mrpt::math::CMatrixDouble indiv_distances
Individual mahalanobis distances (or matching likelihood, depending on the selected metric) between p...
static void fill(bimap< enum_t, std::string > &m_map)
Only specializations of this class are defined for each enum type of interest.
std::map< observation_index_t, prediction_index_t > associations
For each observation (with row index IDX_obs in the input "Z_observations"), its association in the p...
JCBB: Joint Compatibility Branch & Bound [Neira, Tardos 2001].
double distance
The Joint Mahalanobis distance or matching likelihood of the best associations found.
TDataAssociationMetric
Different metrics for data association, used in mrpt::slam::data_association For a comparison of both...
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
slam::TDataAssociationMetric enum_t
mrpt::math::CMatrixBool indiv_compatibility
The result of a chi2 test for compatibility using mahalanobis distance - Indices are like in "indiv_d...
void SLAM_IMPEXP data_association_independent_predictions(const mrpt::math::CMatrixDouble &Z_observations_mean, const mrpt::math::CMatrixDouble &Y_predictions_mean, const mrpt::math::CMatrixDouble &Y_predictions_cov, TDataAssociationResults &results, const TDataAssociationMethod method=assocJCBB, const TDataAssociationMetric metric=metricMaha, const double chi2quantile=0.99, const bool DAT_ASOC_USE_KDTREE=true, const std::vector< prediction_index_t > &predictions_IDs=std::vector< prediction_index_t >(), const TDataAssociationMetric compatibilityTestMetric=metricMaha, const double log_ML_compat_test_threshold=0.0)
Computes the data-association between the prediction of a set of landmarks and their observations...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
static void fill(bimap< enum_t, std::string > &m_map)
slam::TDataAssociationMethod enum_t
size_t prediction_index_t
Used in mrpt::slam::TDataAssociationResults.
size_t nNodesExploredInJCBB
Only for the JCBB method,the number of recursive calls expent in the algorithm.
The results from mrpt::slam::data_association.
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map.
Matching likelihood (See TDataAssociationMetric for a paper explaining this metric) ...
TDataAssociationMethod
Different algorithms for data association, used in mrpt::slam::data_association.
void SLAM_IMPEXP data_association_full_covariance(const mrpt::math::CMatrixDouble &Z_observations_mean, const mrpt::math::CMatrixDouble &Y_predictions_mean, const mrpt::math::CMatrixDouble &Y_predictions_cov, TDataAssociationResults &results, const TDataAssociationMethod method=assocJCBB, const TDataAssociationMetric metric=metricMaha, const double chi2quantile=0.99, const bool DAT_ASOC_USE_KDTREE=true, const std::vector< prediction_index_t > &predictions_IDs=std::vector< prediction_index_t >(), const TDataAssociationMetric compatibilityTestMetric=metricMaha, const double log_ML_compat_test_threshold=0.0)
Computes the data-association between the prediction of a set of landmarks and their observations...
double BASE_IMPEXP distance(const TPoint2D &p1, const TPoint2D &p2)
Gets the distance between two points in a 2D space.