Main MRPT website > C++ reference for MRPT 1.4.0
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()

mrpt::slam::CICP::TConfigParams::TConfigParams ( )

Initializer for default values:

Member Function Documentation

◆ dumpToConsole()

void mrpt::utils::CLoadableOptions::dumpToConsole ( ) const
inherited

Just like dumpToTextStream() but sending the text to the console (std::cout)

◆ dumpToTextStream()

void mrpt::slam::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.

◆ dumpVar_bool()

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

◆ dumpVar_double()

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

◆ dumpVar_float()

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

◆ dumpVar_int()

static void mrpt::utils::CLoadableOptions::dumpVar_int ( CStream out,
const char *  varName,
int  v 
)
staticprotectedinherited

Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.

◆ dumpVar_string()

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

◆ loadFromConfigFile()

void mrpt::slam::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.

◆ loadFromConfigFileName()

void mrpt::utils::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

◆ saveToConfigFile()

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

This method saves the options to a ".ini"-like file or memory-stored string list.

See also
loadFromConfigFile, saveToConfigFileName

Reimplemented in mrpt::nav::CHolonomicND::TOptions, mrpt::nav::CHolonomicVFF::TOptions, mrpt::vision::TMultiResDescMatchOptions, and mrpt::vision::TMultiResDescOptions.

◆ saveToConfigFileName()

void mrpt::utils::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

Member Data Documentation

◆ ALFA

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

The scale factor for threshold everytime convergence is achieved.

Definition at line 85 of file CICP.h.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ maxIterations

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

Maximum number of iterations to run.

Definition at line 79 of file CICP.h.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ onlyUniqueRobust

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

Definition at line 74 of file CICP.h.

◆ ransac_fuseByCorrsMatch

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

Definition at line 101 of file CICP.h.

◆ ransac_fuseMaxDiffPhi

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

Definition at line 102 of file CICP.h.

◆ ransac_fuseMaxDiffXY

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

Definition at line 102 of file CICP.h.

◆ ransac_mahalanobisDistanceThreshold

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

Definition at line 99 of file CICP.h.

◆ ransac_maxSetSize

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

Definition at line 98 of file CICP.h.

◆ ransac_minSetSize

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

Definition at line 98 of file CICP.h.

◆ ransac_nSimulations

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

Definition at line 98 of file CICP.h.

◆ 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.

◆ 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.

◆ smallestThresholdDist

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.

◆ thresholdAng

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

Initial threshold distance for two points to become a correspondence.

Definition at line 84 of file CICP.h.

◆ thresholdDist

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

Definition at line 84 of file CICP.h.

◆ 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.




Page generated by Doxygen 1.9.2 for MRPT 1.4.0 SVN: at Mon Sep 20 00:47:55 UTC 2021