10 #include <mrpt/math/utils.h> 12 #include <mrpt/containers/stl_containers_utils.h> 21 const mrpt::poses::CPosePDF& pdf,
22 const mrpt::slam::CGridMapAligner::TReturnInfo& ret_info)
24 CPosePDFSOG::Ptr pdf_out = CPosePDFSOG::Create();
25 pdf_out->copyFrom(pdf);
27 CMatrixDouble33 cov_out;
28 pdf_out->getMostLikelyCovarianceAndMean(cov_out, pose_out);
31 ss <<
"--------------------" << endl;
32 ss <<
"Results: " << endl
33 <<
"\tPDFPtr pose: " << pdf.getMeanVal() << endl
34 <<
"\t# Correspondences: " << ret_info.correspondences.size() << endl
35 <<
"\tAlignment goodness: " << ret_info.goodness << endl
36 <<
"\tModes size: " << pdf_out->size() << endl
37 <<
"\tModes: " << endl
38 << getSTLContainerAsString(pdf_out->getSOGModes())
39 <<
"\tMost likely pose: " << pose_out << endl
40 <<
"\tCorresponding covariance matrix: " << endl
42 ss <<
"--------------------" << endl;
50 approximatelyEqual(p.x(), 0.0, epsilon) &&
51 approximatelyEqual(p.y(), 0.0, epsilon) &&
52 approximatelyEqual(p.phi(), 0.0, epsilon));
std::string getGridMapAlignmentResultsAsString(const mrpt::poses::CPosePDF &pdf, const mrpt::slam::CGridMapAligner::TReturnInfo &ret_info)
bool isEssentiallyZero(const mrpt::poses::CPose2D &p)