Class Solver
Defined in File Solver.h
Inheritance Relationships
Base Types
public mrpt::system::COutputLogger
public mrpt::rtti::CObject
public mp2p_icp::Parameterizable
Derived Types
public mp2p_icp::Solver_GaussNewton
(Class Solver_GaussNewton)public mp2p_icp::Solver_Horn
(Class Solver_Horn)public mp2p_icp::Solver_OLAE
(Class Solver_OLAE)
Class Documentation
-
class Solver : public mrpt::system::COutputLogger, public mrpt::rtti::CObject, public mp2p_icp::Parameterizable
Virtual base class for optimal alignment solvers (one step in ICP).
Each “solver” implementation takes a list of correspondences, and returns the optimal (in some sense) relative SE(3) pose minimizing some particular error function.
Subclassed by mp2p_icp::Solver_GaussNewton, mp2p_icp::Solver_Horn, mp2p_icp::Solver_OLAE
Public Functions
-
virtual void initialize(const mrpt::containers::yaml ¶ms)
Check each derived class to see required and optional parameters.
-
virtual bool optimal_pose(const Pairings &pairings, OptimalTF_Result &out, const SolverContext &sc) const
Finds correspondences between the two point clouds. “out” is not cleared, but new pairings added to it.
- Returns:
true if the method was actually invoked (due to the filter in runFromIteration and runUpToIteration) and valid solution was found.
Public Members
-
uint32_t runFromIteration = 0
-
uint32_t runUpToIteration = 0
0: no limit
-
double runUntilTranslationCorrectionSmallerThan = 0
-
bool enabled = true
Can be used to disable one of a set of solvers in a pipeline
Protected Functions
-
virtual bool impl_optimal_pose(const Pairings &pairings, OptimalTF_Result &out, const SolverContext &sc) const = 0
-
virtual void initialize(const mrpt::containers::yaml ¶ms)