class mp2p_icp::Solver_GaussNewton
Overview
ICP registration for points, planes, and lines, using an iterative Gauss-Newton numerical solver.
#include <Solver_GaussNewton.h> class Solver_GaussNewton: public mp2p_icp::Solver { public: // fields uint32_t maxIterations = 5; PairWeights pairWeights; RobustKernel robustKernel = RobustKernel::None; bool innerLoopVerbose = false; double robustKernelScale = 1.0; double robustKernelPriorRefBlend = 0.0; double cov2cov_alpha = 1.0; bool cov2cov_auto_balance_with_prior = true; // methods virtual void initialize(const mrpt::containers::yaml& params); };
Inherited Members
public: // fields uint32_t runUpToIteration = 0; bool enabled = true; // methods Parameterizable& operator = (const Parameterizable&); Parameterizable& operator = (Parameterizable&&); virtual void initialize(const mrpt::containers::yaml& params); virtual bool optimal_pose(const Pairings& pairings, OptimalTF_Result& out, const SolverContext& sc) const;
Fields
bool innerLoopVerbose = false
Prints GN inner loop details.
double robustKernelScale = 1.0
Robust kernel scale, in sigmas of the whitened residual. See OptimalTF_GN_Parameters::kernelScale.
YAML key: robustKernelScale. The former key robustKernelParam named this quantity squared and is still accepted, converted, and warned about, so a pipeline written for it keeps its exact behavior.
double robustKernelPriorRefBlend = 0.0
Blend [0,1] for the robust kernel residual reference between the current linearization point (0, default) and the prior mean pose (1). See OptimalTF_GN_Parameters::kernelPriorRefBlend.
double cov2cov_alpha = 1.0
Scaling of the cov-to-cov data block against the prior. See OptimalTF_GN_Parameters::cov2cov_alpha.
bool cov2cov_auto_balance_with_prior = true
Automatic Birge-ratio balancing of the cov2cov block against the prior. See OptimalTF_GN_Parameters::cov2cov_auto_balance_with_prior.
Methods
virtual void initialize(const mrpt::containers::yaml& params)
Check each derived class to see required and optional parameters.