#include <mrpt/slam/CICP.h>
Public Member Functions | |
void | loadFromConfigFile (const mrpt::config::CConfigFileBase &source, const std::string §ion) override |
This method load the options from a ".ini"-like file or memory-stored string list. More... | |
void | saveToConfigFile (mrpt::config::CConfigFileBase &c, const std::string &s) const override |
This method saves the options to a ".ini"-like file or memory-stored string list. More... | |
void | loadFromConfigFileName (const std::string &config_file, const std::string §ion) |
Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file. More... | |
void | saveToConfigFileName (const std::string &config_file, const std::string §ion) const |
Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file. More... | |
void | dumpToConsole () const |
Just like dumpToTextStream() but sending the text to the console (std::cout) More... | |
virtual void | dumpToTextStream (std::ostream &out) const |
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream. More... | |
Public Attributes | |
double | thresholdDist {0.75} |
Initial threshold distance for two points to become a correspondence. More... | |
double | thresholdAng {0.15 * M_PI / 180.0} |
double | ALFA {0.5} |
The scale factor for thresholds everytime convergence is achieved. More... | |
double | smallestThresholdDist {0.1} |
The size for threshold such that iterations will stop, since it is considered precise enough. More... | |
double | covariance_varPoints {0.02 * 0.02} |
This is the normalization constant that is used to scale the whole 3x3 covariance. More... | |
bool | doRANSAC {false} |
Perform a RANSAC step, mrpt::tfest::se2_l2_robust(), after the ICP convergence, to obtain a better estimation of the pose PDF. More... | |
double | kernel_rho {0.07} |
Cauchy kernel rho, for estimating the optimal transformation covariance, in meters (default = 0.07m) More... | |
bool | use_kernel {true} |
Whether to use kernel_rho to smooth distances, or use distances directly (default=true) More... | |
double | Axy_aprox_derivatives {0.05} |
[LM method only] The size of the perturbance in x & y used to estimate the Jacobians of the square error (default=0.05) More... | |
double | LM_initial_lambda {1e-4} |
[LM method only] The initial value of the lambda parameter in the LM method (default=1e-4) More... | |
bool | skip_cov_calculation {false} |
Skip the computation of the covariance (saves some time) (default=false) More... | |
bool | skip_quality_calculation {true} |
Skip the (sometimes) expensive evaluation of the term 'quality' at ICP output (Default=true) More... | |
uint32_t | corresponding_points_decimation {5} |
Decimation of the point cloud being registered against the reference one (default=5) - set to 1 to have the older (MRPT <0.9.5) behavior of not approximating ICP by ignoring the correspondence of some points. More... | |
Algorithms selection | |
TICPAlgorithm | ICP_algorithm {icpClassic} |
The algorithm to use (default: icpClassic). More... | |
TICPCovarianceMethod | ICP_covariance_method {icpCovFiniteDifferences} |
The method to use for covariance estimation (Default: icpCovFiniteDifferences) More... | |
Correspondence-finding criteria | |
bool | onlyUniqueRobust {false} |
Termination criteria | |
if this option is enabled only the closest correspondence for each reference point will be kept (default=false). | |
unsigned int | maxIterations {40} |
Maximum number of iterations to run. More... | |
double | minAbsStep_trans {1e-6} |
If the correction in all translation coordinates (X,Y,Z) is below this threshold (in meters), iterations are terminated (Default:1e-6) More... | |
double | minAbsStep_rot {1e-6} |
If the correction in all rotation coordinates (yaw,pitch,roll) is below this threshold (in radians), iterations are terminated (Default:1e-6) More... | |
RANSAC-step options for mrpt::tfest::se2_l2_robust() if \a | |
doRANSAC=true | |
unsigned int | ransac_minSetSize {3} |
unsigned int | ransac_maxSetSize {20} |
unsigned int | ransac_nSimulations {100} |
double | ransac_mahalanobisDistanceThreshold {3.0} |
double | normalizationStd {0.02} |
RANSAC-step option: The standard deviation in X,Y of landmarks/points which are being matched (used to compute covariances in the SoG) More... | |
bool | ransac_fuseByCorrsMatch {true} |
double | ransac_fuseMaxDiffXY {0.01} |
double | ransac_fuseMaxDiffPhi {0.1 * M_PI / 180.0} |
Static Protected Member Functions | |
static void | dumpVar_int (std::ostream &out, const char *varName, int v) |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR. More... | |
static void | dumpVar_float (std::ostream &out, const char *varName, float v) |
static void | dumpVar_double (std::ostream &out, const char *varName, double v) |
static void | dumpVar_bool (std::ostream &out, const char *varName, bool v) |
static void | dumpVar_string (std::ostream &out, const char *varName, const std::string &v) |
|
inherited |
Just like dumpToTextStream() but sending the text to the console (std::cout)
Definition at line 44 of file CLoadableOptions.cpp.
References mrpt::config::CLoadableOptions::dumpToTextStream().
Referenced by mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel().
|
virtualinherited |
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.
The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.
Reimplemented in mrpt::vision::TMultiResDescOptions, mrpt::vision::TMultiResDescMatchOptions, mrpt::maps::COccupancyGridMap2D::TLikelihoodOptions, mrpt::maps::COccupancyGridMap2D::TInsertionOptions, mrpt::vision::TMatchingOptions, mrpt::hmtslam::CHMTSLAM::TOptions, mrpt::maps::CLandmarksMap::TLikelihoodOptions, mrpt::maps::TSetOfMetricMapInitializers, mrpt::maps::CPointsMap::TRenderOptions, mrpt::maps::CPointsMap::TLikelihoodOptions, mrpt::vision::TStereoSystemParams, mrpt::maps::CColouredPointsMap::TColourOptions, mrpt::maps::CLandmarksMap::TInsertionOptions, mrpt::maps::COctoMapBase< octree_t, octree_node_t >::TLikelihoodOptions, mrpt::maps::CPointsMap::TInsertionOptions, mrpt::slam::CRangeBearingKFSLAM::TOptions, mrpt::maps::CBeaconMap::TInsertionOptions, mrpt::maps::CMultiMetricMapPDF::TPredictionParams, mrpt::maps::CBeaconMap::TLikelihoodOptions, mrpt::slam::CRangeBearingKFSLAM2D::TOptions, mrpt::maps::CHeightGridMap2D::TInsertionOptions, mrpt::vision::CFeatureExtraction::TOptions, mrpt::maps::COctoMapBase< octree_t, octree_node_t >::TInsertionOptions, mrpt::slam::CMetricMapBuilderRBPF::TConstructionOptions, mrpt::slam::CGridMapAligner::TConfigParams, mrpt::bayes::TKF_options, mrpt::maps::CReflectivityGridMap2D::TInsertionOptions, mrpt::hmtslam::CTopLCDetector_GridMatching::TOptions, mrpt::hmtslam::CTopLCDetector_FabMap::TOptions, mrpt::maps::CHeightGridMap2D_MRF::TInsertionOptions, mrpt::maps::CGasConcentrationGridMap2D::TInsertionOptions, mrpt::maps::CWirelessPowerGridMap2D::TInsertionOptions, mrpt::maps::TMetricMapInitializer, mrpt::slam::CMetricMapBuilderICP::TConfigParams, mrpt::vision::CCamModel, mrpt::slam::TKLDParams, mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::TLoopClosureParams, mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::TLaserParams, mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::GraphVisualizationParams, mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::OptimizationParams, mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::TParams, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::TParams, mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::TParams, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions, mrpt::graphslam::deciders::CFixedIntervalsNRD< GRAPH_T >::TParams, mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider< GRAPH_T >::TParams, mrpt::graphslam::TSlidingWindow, and mrpt::graphslam::TUncertaintyPath< GRAPH_T >.
Definition at line 77 of file CLoadableOptions.cpp.
References mrpt::config::CConfigFileMemory::getContent(), and mrpt::config::CLoadableOptions::saveToConfigFile().
Referenced by mrpt::config::CLoadableOptions::dumpToConsole(), and mrpt::maps::TMetricMapInitializer::dumpToTextStream().
|
staticprotectedinherited |
Definition at line 63 of file CLoadableOptions.cpp.
References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.
|
staticprotectedinherited |
Definition at line 57 of file CLoadableOptions.cpp.
References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.
|
staticprotectedinherited |
Definition at line 51 of file CLoadableOptions.cpp.
References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.
|
staticprotectedinherited |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.
Definition at line 45 of file CLoadableOptions.cpp.
References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.
|
staticprotectedinherited |
Definition at line 70 of file CLoadableOptions.cpp.
References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.
|
overridevirtual |
This method load the options from a ".ini"-like file or memory-stored string list.
Only those parameters found in the given "section" and having the same name that the variable are loaded. Those not found in the file will stay with their previous values (usually the default values loaded at initialization). An example of an ".ini" file:
Implements mrpt::config::CLoadableOptions.
Definition at line 75 of file CICP.cpp.
References mrpt::DEG2RAD(), iniFile(), MRPT_LOAD_CONFIG_VAR, normalizationStd, mrpt::RAD2DEG(), and ransac_mahalanobisDistanceThreshold.
|
inherited |
Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file.
Definition at line 22 of file CLoadableOptions.cpp.
References mrpt::config::CLoadableOptions::loadFromConfigFile().
|
overridevirtual |
This method saves the options to a ".ini"-like file or memory-stored string list.
Reimplemented from mrpt::config::CLoadableOptions.
Definition at line 123 of file CICP.cpp.
References MRPT_SAVE_CONFIG_VAR_COMMENT, normalizationStd, and ransac_mahalanobisDistanceThreshold.
|
inherited |
Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file.
Definition at line 37 of file CLoadableOptions.cpp.
References mrpt::config::CLoadableOptions::saveToConfigFile().
double mrpt::slam::CICP::TConfigParams::ALFA {0.5} |
The scale factor for thresholds everytime convergence is achieved.
Definition at line 119 of file CICP.h.
Referenced by ICPTests::align2scans(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
double mrpt::slam::CICP::TConfigParams::Axy_aprox_derivatives {0.05} |
uint32_t mrpt::slam::CICP::TConfigParams::corresponding_points_decimation {5} |
Decimation of the point cloud being registered against the reference one (default=5) - set to 1 to have the older (MRPT <0.9.5) behavior of not approximating ICP by ignoring the correspondence of some points.
The speed-up comes from a decimation of the number of KD-tree queries, the most expensive step in ICP
double mrpt::slam::CICP::TConfigParams::covariance_varPoints {0.02 * 0.02} |
This is the normalization constant that is used to scale the whole 3x3 covariance.
This has a default value of , that is, a 2cm sigma. See paper: J.L. Blanco, J. Gonzalez-Jimenez, J.A. Fernandez-Madrigal, "A Robust, Multi-Hypothesis Approach to Matching Occupancy Grid Maps", Robotica, vol. 31, no. 5, pp. 687-701, 2013.
bool mrpt::slam::CICP::TConfigParams::doRANSAC {false} |
Perform a RANSAC step, mrpt::tfest::se2_l2_robust(), after the ICP convergence, to obtain a better estimation of the pose PDF.
Definition at line 135 of file CICP.h.
Referenced by ICPTests::align2scans(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
TICPAlgorithm mrpt::slam::CICP::TConfigParams::ICP_algorithm {icpClassic} |
The algorithm to use (default: icpClassic).
See http://www.mrpt.org/tutorials/programming/scan-matching-and-icp/ for details
Definition at line 86 of file CICP.h.
Referenced by ICPTests::align2scans().
TICPCovarianceMethod mrpt::slam::CICP::TConfigParams::ICP_covariance_method {icpCovFiniteDifferences} |
double mrpt::slam::CICP::TConfigParams::kernel_rho {0.07} |
double mrpt::slam::CICP::TConfigParams::LM_initial_lambda {1e-4} |
unsigned int mrpt::slam::CICP::TConfigParams::maxIterations {40} |
Maximum number of iterations to run.
Definition at line 103 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
double mrpt::slam::CICP::TConfigParams::minAbsStep_rot {1e-6} |
double mrpt::slam::CICP::TConfigParams::minAbsStep_trans {1e-6} |
double mrpt::slam::CICP::TConfigParams::normalizationStd {0.02} |
bool mrpt::slam::CICP::TConfigParams::onlyUniqueRobust {false} |
bool mrpt::slam::CICP::TConfigParams::ransac_fuseByCorrsMatch {true} |
double mrpt::slam::CICP::TConfigParams::ransac_fuseMaxDiffPhi {0.1 * M_PI / 180.0} |
double mrpt::slam::CICP::TConfigParams::ransac_fuseMaxDiffXY {0.01} |
double mrpt::slam::CICP::TConfigParams::ransac_mahalanobisDistanceThreshold {3.0} |
unsigned int mrpt::slam::CICP::TConfigParams::ransac_maxSetSize {20} |
unsigned int mrpt::slam::CICP::TConfigParams::ransac_minSetSize {3} |
unsigned int mrpt::slam::CICP::TConfigParams::ransac_nSimulations {100} |
bool mrpt::slam::CICP::TConfigParams::skip_cov_calculation {false} |
bool mrpt::slam::CICP::TConfigParams::skip_quality_calculation {true} |
double mrpt::slam::CICP::TConfigParams::smallestThresholdDist {0.1} |
The size for threshold such that iterations will stop, since it is considered precise enough.
Definition at line 122 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
double mrpt::slam::CICP::TConfigParams::thresholdAng {0.15 * M_PI / 180.0} |
Definition at line 116 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal(), and TEST_F().
double mrpt::slam::CICP::TConfigParams::thresholdDist {0.75} |
Initial threshold distance for two points to become a correspondence.
Definition at line 116 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal(), and TEST_F().
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST |