36 #ifndef __POINTMATCHER_TRANSFORMATIONCHECKERS_H 37 #define __POINTMATCHER_TRANSFORMATIONCHECKERS_H 65 return "This checker stops the ICP loop after a certain number of iterations.";
70 {
"maxIterationCount",
"maximum number of iterations ",
"40",
"0",
"2147483647", &P::Comp<unsigned>}
77 virtual void init(
const TransformationParameters&
parameters,
bool& iterate);
78 virtual void check(
const TransformationParameters&
parameters,
bool& iterate);
85 return "This checker stops the ICP loop when the relative motions (i.e. abs(currentIter - lastIter)) of rotation and translation components are below a fix thresholds. This allows to stop the iteration when the point cloud is stabilized. Smoothing can be applied to avoid oscillations. Inspired by \\cite{Chetverikov2002Trimmed}.";
90 {
"minDiffRotErr",
"threshold for rotation error (radian)",
"0.001",
"0.",
"6.2831854", &P::Comp<T>},
91 {
"minDiffTransErr",
"threshold for translation error",
"0.001",
"0.",
"inf", &P::Comp<T>},
92 {
"smoothLength",
"number of iterations over which to average the differencial error",
"3",
"0",
"2147483647", &P::Comp<unsigned>}
107 virtual void init(
const TransformationParameters&
parameters,
bool& iterate);
108 virtual void check(
const TransformationParameters&
parameters,
bool& iterate);
115 return "This checker stops the ICP loop with an exception when the transformation values exceed bounds.";
120 {
"maxRotationNorm",
"rotation bound",
"1",
"0",
"inf", &P::Comp < T > },
121 {
"maxTranslationNorm",
"translation bound",
"1",
"0",
"inf", &P::Comp < T > }
134 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
136 virtual void init(
const TransformationParameters&
parameters,
bool& iterate);
137 virtual void check(
const TransformationParameters&
parameters,
bool& iterate);
141 #endif // __POINTMATCHER_TRANSFORMATIONCHECKERS_H std::vector< Vector, Eigen::aligned_allocator< Vector > > VectorVector
A vector of vector over ScalarType, not a matrix.
Eigen::Quaternion< T > Quaternion
A quaternion over ScalarType.
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > Matrix
A dense matrix over ScalarType.
std::map< std::string, Parameter > Parameters
Parameters stored as a map of string->string.
std::vector< Quaternion, Eigen::aligned_allocator< Quaternion > > QuaternionVector
A vector of quaternions over ScalarType.
Parameters parameters
parameters with their values encoded in string
The documentation of a parameter.
The superclass of classes that are constructed using generic parameters. This class provides the para...
std::vector< ParameterDoc > ParametersDoc
The documentation of all parameters.
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
A vector over ScalarType.
Matrix TransformationParameters
A matrix holding the parameters a transformation.