#include <mrpt/slam/CICP.h>
Public Member Functions | |
TConfigParams () | |
Initializer for default values: More... | |
void | loadFromConfigFile (const mrpt::utils::CConfigFileBase &source, const std::string §ion) MRPT_OVERRIDE |
This method load the options from a ".ini"-like file or memory-stored string list. More... | |
void | dumpToTextStream (mrpt::utils::CStream &out) const MRPT_OVERRIDE |
This method should clearly display all the contents of the structure in textual form, sending it to a CStream. 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... | |
virtual void | saveToConfigFile (mrpt::utils::CConfigFileBase &target, const std::string §ion) const |
This method saves the options to a ".ini"-like file or memory-stored string list. 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... | |
Public Attributes | |
float | thresholdDist |
float | thresholdAng |
Initial threshold distance for two points to become a correspondence. More... | |
float | ALFA |
The scale factor for threshold everytime convergence is achieved. More... | |
float | smallestThresholdDist |
The size for threshold such that iterations will stop, since it is considered precise enough. More... | |
float | covariance_varPoints |
This is the normalization constant that is used to scale the whole 3x3 covariance. More... | |
bool | doRANSAC |
Perform a RANSAC step, mrpt::tfest::se2_l2_robust(), after the ICP convergence, to obtain a better estimation of the pose PDF. More... | |
float | kernel_rho |
Cauchy kernel rho, for estimating the optimal transformation covariance, in meters (default = 0.07m) More... | |
bool | use_kernel |
Whether to use kernel_rho to smooth distances, or use distances directly (default=true) More... | |
float | Axy_aprox_derivatives |
[LM method only] The size of the perturbance in x & y used to estimate the Jacobians of the square error (default=0.05) More... | |
float | LM_initial_lambda |
[LM method only] The initial value of the lambda parameter in the LM method (default=1e-4) More... | |
bool | skip_cov_calculation |
Skip the computation of the covariance (saves some time) (default=false) More... | |
bool | skip_quality_calculation |
Skip the (sometimes) expensive evaluation of the term 'quality' at ICP output (Default=true) More... | |
uint32_t | corresponding_points_decimation |
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 |
The algorithm to use (default: icpClassic). See http://www.mrpt.org/tutorials/programming/scan-matching-and-icp/ for details. More... | |
TICPCovarianceMethod | ICP_covariance_method |
The method to use for covariance estimation (Default: icpCovFiniteDifferences) More... | |
Correspondence-finding criteria | |
bool | onlyClosestCorrespondences |
The usual approach: to consider only the closest correspondence for each local point (Default to true) More... | |
bool | onlyUniqueRobust |
Termination criteria | |
Apart of "onlyClosestCorrespondences=true", if this option is enabled only the closest correspondence for each reference point will be kept (default=false). | |
unsigned int | maxIterations |
Maximum number of iterations to run. More... | |
float | minAbsStep_trans |
If the correction in all translation coordinates (X,Y,Z) is below this threshold (in meters), iterations are terminated (Default:1e-6) More... | |
float | minAbsStep_rot |
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 |
unsigned int | ransac_maxSetSize |
unsigned int | ransac_nSimulations |
float | ransac_mahalanobisDistanceThreshold |
float | normalizationStd |
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 |
float | ransac_fuseMaxDiffXY |
float | ransac_fuseMaxDiffPhi |
Static Protected Member Functions | |
static void | dumpVar_int (CStream &out, const char *varName, int v) |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR. More... | |
static void | dumpVar_float (CStream &out, const char *varName, float v) |
static void | dumpVar_double (CStream &out, const char *varName, double v) |
static void | dumpVar_bool (CStream &out, const char *varName, bool v) |
static void | dumpVar_string (CStream &out, const char *varName, const std::string &v) |
CICP::TConfigParams::TConfigParams | ( | ) |
|
inherited |
Just like dumpToTextStream() but sending the text to the console (std::cout)
Definition at line 47 of file CLoadableOptions.cpp.
References mrpt::utils::CLoadableOptions::dumpToTextStream(), and loadable_opts_my_cout.
Referenced by mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel(), mrpt::hmtslam::CHMTSLAM::loadOptions(), and mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::printParams().
|
virtual |
This method should clearly display all the contents of the structure in textual form, sending it to a CStream.
The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.
Reimplemented from mrpt::utils::CLoadableOptions.
Definition at line 178 of file CICP.cpp.
References normalizationStd, mrpt::utils::CStream::printf(), RAD2DEG, and ransac_mahalanobisDistanceThreshold.
Referenced by mrpt::maps::CMultiMetricMapPDF::TPredictionParams::dumpToTextStream().
|
staticprotectedinherited |
Definition at line 67 of file CLoadableOptions.cpp.
References LOADABLEOPTS_COLUMN_WIDTH, and mrpt::utils::CStream::printf().
|
staticprotectedinherited |
Definition at line 62 of file CLoadableOptions.cpp.
References LOADABLEOPTS_COLUMN_WIDTH, and mrpt::utils::CStream::printf().
|
staticprotectedinherited |
Definition at line 57 of file CLoadableOptions.cpp.
References LOADABLEOPTS_COLUMN_WIDTH, and mrpt::utils::CStream::printf().
|
staticprotectedinherited |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.
Definition at line 52 of file CLoadableOptions.cpp.
References LOADABLEOPTS_COLUMN_WIDTH, and mrpt::utils::CStream::printf().
|
staticprotectedinherited |
Definition at line 72 of file CLoadableOptions.cpp.
References LOADABLEOPTS_COLUMN_WIDTH, and mrpt::utils::CStream::printf().
|
virtual |
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::utils::CLoadableOptions.
Definition at line 133 of file CICP.cpp.
References DEG2RAD, MRPT_LOAD_CONFIG_VAR, normalizationStd, RAD2DEG, ransac_mahalanobisDistanceThreshold, mrpt::utils::CConfigFileBase::read_enum(), and mrpt::utils::CConfigFileBase::read_float().
Referenced by mrpt::maps::CMultiMetricMapPDF::TPredictionParams::loadFromConfigFile().
|
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 23 of file CLoadableOptions.cpp.
References mrpt::utils::CLoadableOptions::loadFromConfigFile().
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::loadParams().
|
virtualinherited |
This method saves the options to a ".ini"-like file or memory-stored string list.
Reimplemented in mrpt::vision::TMultiResDescOptions, mrpt::vision::TMultiResDescMatchOptions, mrpt::nav::CPTG_RobotShape_Circular, mrpt::nav::CPTG_RobotShape_Polygonal, mrpt::nav::CParameterizedTrajectoryGenerator, mrpt::nav::CAbstractPTGBasedReactive::TAbstractPTGNavigatorParams, mrpt::nav::CAbstractNavigator::TAbstractNavigatorParams, mrpt::nav::CPTG_DiffDrive_CollisionGridBased, mrpt::nav::CHolonomicND::TOptions, mrpt::nav::CWaypointsNavigator::TWaypointsNavigatorParams, mrpt::nav::CHolonomicFullEval::TOptions, mrpt::nav::CReactiveNavigationSystem::TReactiveNavigatorParams, mrpt::nav::CHolonomicVFF::TOptions, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TParamsBase, mrpt::maps::CPointCloudFilterByDistance::TOptions, mrpt::nav::CPTG_DiffDrive_C, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, and mrpt::nav::CPTG_Holo_Blend.
Definition at line 31 of file CLoadableOptions.cpp.
References MRPT_UNUSED_PARAM.
Referenced by mrpt::utils::CLoadableOptions::dumpToTextStream(), and mrpt::utils::CLoadableOptions::saveToConfigFileName().
|
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 39 of file CLoadableOptions.cpp.
References mrpt::utils::CLoadableOptions::saveToConfigFile().
float mrpt::slam::CICP::TConfigParams::ALFA |
The scale factor for threshold everytime convergence is achieved.
Definition at line 85 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::slam::CICP::ICP_Method_LM(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
float mrpt::slam::CICP::TConfigParams::Axy_aprox_derivatives |
[LM method only] The size of the perturbance in x & y used to estimate the Jacobians of the square error (default=0.05)
Definition at line 107 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_LM().
uint32_t mrpt::slam::CICP::TConfigParams::corresponding_points_decimation |
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
Definition at line 116 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), and mrpt::slam::CICP::ICP_Method_LM().
float mrpt::slam::CICP::TConfigParams::covariance_varPoints |
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.
Definition at line 92 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
bool mrpt::slam::CICP::TConfigParams::doRANSAC |
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 94 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CICP::ICP_Method_Classic(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
TICPAlgorithm mrpt::slam::CICP::TConfigParams::ICP_algorithm |
The algorithm to use (default: icpClassic). See http://www.mrpt.org/tutorials/programming/scan-matching-and-icp/ for details.
Definition at line 67 of file CICP.h.
Referenced by ICPTests::align2scans(), and mrpt::slam::CICP::Align3DPDF().
TICPCovarianceMethod mrpt::slam::CICP::TConfigParams::ICP_covariance_method |
The method to use for covariance estimation (Default: icpCovFiniteDifferences)
Definition at line 68 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
float mrpt::slam::CICP::TConfigParams::kernel_rho |
Cauchy kernel rho, for estimating the optimal transformation covariance, in meters (default = 0.07m)
Definition at line 105 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic(), and mrpt::slam::CICP::ICP_Method_LM().
float mrpt::slam::CICP::TConfigParams::LM_initial_lambda |
[LM method only] The initial value of the lambda parameter in the LM method (default=1e-4)
Definition at line 108 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_LM().
unsigned int mrpt::slam::CICP::TConfigParams::maxIterations |
Maximum number of iterations to run.
Definition at line 79 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::slam::CICP::ICP_Method_LM(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
float mrpt::slam::CICP::TConfigParams::minAbsStep_rot |
If the correction in all rotation coordinates (yaw,pitch,roll) is below this threshold (in radians), iterations are terminated (Default:1e-6)
Definition at line 81 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), and mrpt::slam::CICP::ICP_Method_LM().
float mrpt::slam::CICP::TConfigParams::minAbsStep_trans |
If the correction in all translation coordinates (X,Y,Z) is below this threshold (in meters), iterations are terminated (Default:1e-6)
Definition at line 80 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), and mrpt::slam::CICP::ICP_Method_LM().
float mrpt::slam::CICP::TConfigParams::normalizationStd |
RANSAC-step option: The standard deviation in X,Y of landmarks/points which are being matched (used to compute covariances in the SoG)
Definition at line 100 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
bool mrpt::slam::CICP::TConfigParams::onlyClosestCorrespondences |
The usual approach: to consider only the closest correspondence for each local point (Default to true)
Definition at line 73 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::slam::CICP::ICP_Method_LM(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
bool mrpt::slam::CICP::TConfigParams::onlyUniqueRobust |
Definition at line 74 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), and mrpt::slam::CICP::ICP_Method_LM().
bool mrpt::slam::CICP::TConfigParams::ransac_fuseByCorrsMatch |
Definition at line 101 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
float mrpt::slam::CICP::TConfigParams::ransac_fuseMaxDiffPhi |
Definition at line 102 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
float mrpt::slam::CICP::TConfigParams::ransac_fuseMaxDiffXY |
Definition at line 102 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
float mrpt::slam::CICP::TConfigParams::ransac_mahalanobisDistanceThreshold |
Definition at line 99 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
unsigned int mrpt::slam::CICP::TConfigParams::ransac_maxSetSize |
Definition at line 98 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
unsigned int mrpt::slam::CICP::TConfigParams::ransac_minSetSize |
Definition at line 98 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
unsigned int mrpt::slam::CICP::TConfigParams::ransac_nSimulations |
Definition at line 98 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
bool mrpt::slam::CICP::TConfigParams::skip_cov_calculation |
Skip the computation of the covariance (saves some time) (default=false)
Definition at line 110 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP3D_Method_Classic(), and mrpt::slam::CICP::ICP_Method_Classic().
bool mrpt::slam::CICP::TConfigParams::skip_quality_calculation |
Skip the (sometimes) expensive evaluation of the term 'quality' at ICP output (Default=true)
Definition at line 111 of file CICP.h.
Referenced by mrpt::slam::CICP::ICP_Method_Classic().
float mrpt::slam::CICP::TConfigParams::smallestThresholdDist |
The size for threshold such that iterations will stop, since it is considered precise enough.
Definition at line 86 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::slam::CICP::ICP_Method_LM(), and mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal().
float mrpt::slam::CICP::TConfigParams::thresholdAng |
Initial threshold distance for two points to become a correspondence.
Definition at line 84 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::slam::CICP::ICP_Method_LM(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal(), and TEST_F().
float mrpt::slam::CICP::TConfigParams::thresholdDist |
Definition at line 84 of file CICP.h.
Referenced by ICPTests::align2scans(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::slam::CICP::ICP_Method_LM(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal(), and TEST_F().
bool mrpt::slam::CICP::TConfigParams::use_kernel |
Whether to use kernel_rho to smooth distances, or use distances directly (default=true)
Definition at line 106 of file CICP.h.
Referenced by mrpt::slam::CICP::kernel().
Page generated by Doxygen 1.8.14 for MRPT 1.5.5 Git: e06b63dbf Fri Dec 1 14:41:11 2017 +0100 at lun oct 28 01:31:35 CET 2019 |