Go to the documentation of this file.
74 const std::string& section)
override;
77 const std::string& s)
const override;
188 ~CICP()
override =
default;
222 std::nullopt)
override;
229 std::nullopt)
override;
236 float kernel(
float x2,
float rho2);
259 using namespace
mrpt::slam;
uint32_t corresponding_points_decimation
Decimation of the point cloud being registered against the reference one (default=5) - set to 1 to ha...
A base class for any algorithm able of maps alignment.
double kernel_rho
Cauchy kernel rho, for estimating the optimal transformation covariance, in meters (default = 0....
unsigned int nIterations
The number of executed iterations until convergence.
TConfigParams options
The options employed by the ICP align.
double smallestThresholdDist
The size for threshold such that iterations will stop, since it is considered precise enough.
Declares a class that represents a Probability Density function (PDF) of a 3D pose .
double ALFA
The scale factor for thresholds every time convergence is achieved.
double goodness
A goodness measure for the alignment, it is a [0,1] range indicator of percentage of correspondences.
double thresholdDist
Initial threshold distance for two points to become a correspondence.
#define MRPT_ENUM_TYPE_END()
unsigned int ransac_minSetSize
double minAbsStep_trans
If the correction in all translation coordinates (X,Y,Z) is below this threshold (in meters),...
The ICP algorithm configuration data.
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.
TICPCovarianceMethod
ICP covariance estimation methods, used in mrpt::slam::CICP::options.
CICP()
Constructor with the default options.
double ransac_fuseMaxDiffXY
mrpt::poses::CPose3DPDF::Ptr Align3DPDF(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose3DPDFGaussian &initialEstimationPDF, mrpt::optional_ref< TMetricMapAlignmentResult > outInfo=std::nullopt) override
mrpt::poses::CPose3DPDF::Ptr ICP3D_Method_Classic(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose3DPDFGaussian &initialEstimationPDF, TReturnInfo &outInfo)
double covariance_varPoints
This is the normalization constant that is used to scale the whole 3x3 covariance.
mrpt::poses::CPosePDF::Ptr ICP_Method_Classic(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPosePDFGaussian &initialEstimationPDF, TReturnInfo &outInfo)
CICP(const TConfigParams &icpParams)
Constructor that directly set the ICP params from a given struct.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
bool ransac_fuseByCorrsMatch
TICPAlgorithm
The ICP algorithm selection, used in mrpt::slam::CICP::options.
#define MRPT_ENUM_TYPE_BEGIN(_ENUM_TYPE_WITH_NS)
double minAbsStep_rot
If the correction in all rotation coordinates (yaw,pitch,roll) is below this threshold (in radians),...
The ICP algorithm return information.
double LM_initial_lambda
[LM method only] The initial value of the lambda parameter in the LM method (default=1e-4)
double ransac_mahalanobisDistanceThreshold
Declares a virtual base class for all metric maps storage classes.
float kernel(float x2, float rho2)
Computes:
double Axy_aprox_derivatives
[LM method only] The size of the perturbance in x & y used to estimate the Jacobians of the square er...
Used as base class for other result structures of each particular algorithm in CMetricMapsAlignmentAl...
This class allows loading and storing values and vectors of different types from a configuration text...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
virtual ~TReturnInfo() override=default
TICPCovarianceMethod ICP_covariance_method
The method to use for covariance estimation (Default: icpCovFiniteDifferences)
~CICP() override=default
Destructor.
Several implementations of ICP (Iterative closest point) algorithms for aligning two point maps or a ...
double normalizationStd
RANSAC-step option: The standard deviation in X,Y of landmarks/points which are being matched (used t...
MRPT_FILL_ENUM(icpClassic)
bool skip_quality_calculation
Skip the (sometimes) expensive evaluation of the term 'quality' at ICP output (Default=true)
unsigned int maxIterations
Maximum number of iterations to run.
bool doRANSAC
Perform a RANSAC step, mrpt::tfest::se2_l2_robust(), after the ICP convergence, to obtain a better es...
mrpt::poses::CPosePDF::Ptr ICP_Method_LM(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPosePDFGaussian &initialEstimationPDF, TReturnInfo &outInfo)
bool skip_cov_calculation
Skip the computation of the covariance (saves some time) (default=false)
bool use_kernel
Whether to use kernel_rho to smooth distances, or use distances directly (default=true)
std::shared_ptr< CPose3DPDF > Ptr
@ icpCovLinealMSE
Use the covariance of the optimal registration, disregarding uncertainty in data association.
unsigned int ransac_nSimulations
@ icpCovFiniteDifferences
Covariance of a least-squares optimizer (includes data association uncertainty)
Declares a class that represents a Probability Density function (PDF) of a 2D pose .
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.
double quality
A measure of the 'quality' of the local minimum of the sqr.
unsigned int ransac_maxSetSize
double ransac_fuseMaxDiffPhi
std::shared_ptr< CPosePDF > Ptr
std::optional< std::reference_wrapper< T > > optional_ref
Shorter name for std::optional<std::reference_wrapper<T>>
mrpt::poses::CPosePDF::Ptr AlignPDF(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPosePDFGaussian &initialEstimationPDF, mrpt::optional_ref< TMetricMapAlignmentResult > outInfo=std::nullopt) override
See base method docs.
TICPAlgorithm ICP_algorithm
The algorithm to use (default: icpClassic).
Page generated by Doxygen 1.8.17 for MRPT 2.0.4 at Sun Jul 19 15:15:43 UTC 2020 | |