Main MRPT website > C++ reference for MRPT 1.5.7
data_association_unittest.cpp
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2017, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 
10 
12 #include <gtest/gtest.h>
13 
14 using namespace mrpt;
15 using namespace mrpt::slam;
16 using namespace mrpt::utils;
17 using namespace mrpt::math;
18 using namespace std;
19 
20 
21 TEST(DataAssociation, TestNoICs)
22 {
23  // Try to do DA when no individual compatible pairings exist.
24  // Based on test proposed by Mauricio Soto Alvarez:
25  // See: https://sourceforge.net/tracker/?func=detail&aid=3562885&group_id=205280&atid=993006
26 
27  CMatrixDouble y, y_cov, z;
28  y.setSize(1,1);
29  y_cov.setSize(1,1);
30  z.setSize(1,1);
31 
32  y(0,0) = 0.0;
33  y_cov(0,0) = 1.0;
34  z(0,0) = 10.0;
35 
36  const TDataAssociationMethod dams[2] = { assocNN, assocJCBB };
37  const TDataAssociationMetric damets[2] = { metricMaha, metricML };
38 
39  for (unsigned int da_metric=0;da_metric<sizeof(damets)/sizeof(damets[0]);++da_metric)
40  {
41  const TDataAssociationMetric damet = damets[da_metric];
42 
43  for (unsigned int da_method=0;da_method<sizeof(dams)/sizeof(dams[0]);++da_method)
44  {
45  const TDataAssociationMethod dam = dams[da_method];
46 
47  TDataAssociationResults DAresults;
48  data_association_independent_predictions(z, y, y_cov, DAresults, dam, damet, 0.99, true, std::vector<prediction_index_t>(), metricMaha, 0.0);
49 
50  EXPECT_EQ(0u,DAresults.associations.size())
51  << "For da_method="<< da_method << " and da_metric="<<da_metric<< endl;
52  }
53  }
54 
55 }
Nearest-neighbor.
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
Definition: zip.h:16
GLdouble GLdouble z
Definition: glext.h:3734
Mahalanobis distance.
STL namespace.
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].
This base provides a set of functions for maths stuff.
Definition: CArrayNumeric.h:19
TDataAssociationMetric
Different metrics for data association, used in mrpt::slam::data_association For a comparison of both...
TEST(DataAssociation, TestNoICs)
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.
GLenum GLint GLint y
Definition: glext.h:3516
The results from mrpt::slam::data_association.
Matching likelihood (See TDataAssociationMetric for a paper explaining this metric) ...
TDataAssociationMethod
Different algorithms for data association, used in mrpt::slam::data_association.



Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019