Main MRPT website > C++ reference for MRPT 1.5.6
List of all members | Public Member Functions | Public Attributes | Static Protected Member Functions
mrpt::slam::CICP::TConfigParams Class Reference

Detailed Description

The ICP algorithm configuration data.

Definition at line 57 of file CICP.h.

#include <mrpt/slam/CICP.h>

Inheritance diagram for mrpt::slam::CICP::TConfigParams:
Inheritance graph

Public Member Functions

 TConfigParams ()
 Initializer for default values: More...
 
void loadFromConfigFile (const mrpt::utils::CConfigFileBase &source, const std::string &section) 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 &section)
 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 &section) 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 &section) 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 $ \sigma^2_p $ 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)
 

Constructor & Destructor Documentation

◆ TConfigParams()

CICP::TConfigParams::TConfigParams ( )

Initializer for default values:

Definition at line 92 of file CICP.cpp.

Member Function Documentation

◆ dumpToConsole()

void CLoadableOptions::dumpToConsole ( ) const
inherited

◆ dumpToTextStream()

void CICP::TConfigParams::dumpToTextStream ( mrpt::utils::CStream out) const
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().

◆ dumpVar_bool()

void CLoadableOptions::dumpVar_bool ( CStream out,
const char *  varName,
bool  v 
)
staticprotectedinherited

◆ dumpVar_double()

void CLoadableOptions::dumpVar_double ( CStream out,
const char *  varName,
double  v 
)
staticprotectedinherited

◆ dumpVar_float()

void CLoadableOptions::dumpVar_float ( CStream out,
const char *  varName,
float  v 
)
staticprotectedinherited

◆ dumpVar_int()

void CLoadableOptions::dumpVar_int ( CStream out,
const char *  varName,
int  v 
)
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().

◆ dumpVar_string()

void CLoadableOptions::dumpVar_string ( CStream out,
const char *  varName,
const std::string v 
)
staticprotectedinherited

◆ loadFromConfigFile()

void CICP::TConfigParams::loadFromConfigFile ( const mrpt::utils::CConfigFileBase source,
const std::string section 
)
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:

[section]
resolution = 0.10 // blah blah...
modeSelection = 1 // 0=blah, 1=blah,...
See also
loadFromConfigFileName, saveToConfigFile

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().

◆ loadFromConfigFileName()

void CLoadableOptions::loadFromConfigFileName ( const std::string config_file,
const std::string section 
)
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.

See also
loadFromConfigFile

Definition at line 23 of file CLoadableOptions.cpp.

References mrpt::utils::CLoadableOptions::loadFromConfigFile().

Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::loadParams().

◆ saveToConfigFile()

void CLoadableOptions::saveToConfigFile ( mrpt::utils::CConfigFileBase target,
const std::string section 
) const
virtualinherited

◆ saveToConfigFileName()

void CLoadableOptions::saveToConfigFileName ( const std::string config_file,
const std::string section 
) const
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.

See also
saveToConfigFile, loadFromConfigFileName

Definition at line 39 of file CLoadableOptions.cpp.

References mrpt::utils::CLoadableOptions::saveToConfigFile().

Member Data Documentation

◆ ALFA

float mrpt::slam::CICP::TConfigParams::ALFA

◆ Axy_aprox_derivatives

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().

◆ corresponding_points_decimation

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().

◆ covariance_varPoints

float mrpt::slam::CICP::TConfigParams::covariance_varPoints

This is the normalization constant $ \sigma^2_p $ that is used to scale the whole 3x3 covariance.

This has a default value of $ (0.02)^2 $, 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().

◆ doRANSAC

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().

◆ ICP_algorithm

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().

◆ ICP_covariance_method

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().

◆ kernel_rho

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().

◆ LM_initial_lambda

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().

◆ maxIterations

unsigned int mrpt::slam::CICP::TConfigParams::maxIterations

◆ minAbsStep_rot

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().

◆ minAbsStep_trans

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().

◆ normalizationStd

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().

◆ onlyClosestCorrespondences

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().

◆ onlyUniqueRobust

bool mrpt::slam::CICP::TConfigParams::onlyUniqueRobust

◆ ransac_fuseByCorrsMatch

bool mrpt::slam::CICP::TConfigParams::ransac_fuseByCorrsMatch

Definition at line 101 of file CICP.h.

Referenced by mrpt::slam::CICP::ICP_Method_Classic().

◆ ransac_fuseMaxDiffPhi

float mrpt::slam::CICP::TConfigParams::ransac_fuseMaxDiffPhi

Definition at line 102 of file CICP.h.

Referenced by mrpt::slam::CICP::ICP_Method_Classic().

◆ ransac_fuseMaxDiffXY

float mrpt::slam::CICP::TConfigParams::ransac_fuseMaxDiffXY

Definition at line 102 of file CICP.h.

Referenced by mrpt::slam::CICP::ICP_Method_Classic().

◆ ransac_mahalanobisDistanceThreshold

float mrpt::slam::CICP::TConfigParams::ransac_mahalanobisDistanceThreshold

Definition at line 99 of file CICP.h.

Referenced by mrpt::slam::CICP::ICP_Method_Classic().

◆ ransac_maxSetSize

unsigned int mrpt::slam::CICP::TConfigParams::ransac_maxSetSize

Definition at line 98 of file CICP.h.

Referenced by mrpt::slam::CICP::ICP_Method_Classic().

◆ ransac_minSetSize

unsigned int mrpt::slam::CICP::TConfigParams::ransac_minSetSize

Definition at line 98 of file CICP.h.

Referenced by mrpt::slam::CICP::ICP_Method_Classic().

◆ ransac_nSimulations

unsigned int mrpt::slam::CICP::TConfigParams::ransac_nSimulations

Definition at line 98 of file CICP.h.

Referenced by mrpt::slam::CICP::ICP_Method_Classic().

◆ skip_cov_calculation

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().

◆ skip_quality_calculation

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().

◆ smallestThresholdDist

float mrpt::slam::CICP::TConfigParams::smallestThresholdDist

◆ thresholdAng

float mrpt::slam::CICP::TConfigParams::thresholdAng

◆ thresholdDist

float mrpt::slam::CICP::TConfigParams::thresholdDist

◆ use_kernel

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.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019