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;
    double robustKernelParam = 1.0;
    bool innerLoopVerbose = false;
    double robustKernelPriorRefBlend = 0.0;

    // methods

    virtual void initialize(const mrpt::containers::yaml& params);
};

Inherited Members

public:
    // fields

    uint32_t runUpToIteration = 0;
    bool enabled = true;

    // methods

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

Methods

virtual void initialize(const mrpt::containers::yaml& params)

Check each derived class to see required and optional parameters.