Public Member Functions | Private Member Functions | Private Attributes | List of all members
mp2p_icp::Matcher_Point2Plane Class Reference

#include <Matcher_Point2Plane.h>

Inheritance diagram for mp2p_icp::Matcher_Point2Plane:
Inheritance graph
[legend]

Public Member Functions

void initialize (const mrpt::containers::yaml &params) override
 
 Matcher_Point2Plane ()
 
- Public Member Functions inherited from mp2p_icp::Matcher_Points_Base
void initialize (const mrpt::containers::yaml &params) override
 
 Matcher_Points_Base ()=default
 
- Public Member Functions inherited from mp2p_icp::Matcher
virtual bool match (const metric_map_t &pcGlobal, const metric_map_t &pcLocal, const mrpt::poses::CPose3D &localPose, const MatchContext &mc, MatchState &ms, Pairings &out) const
 

Private Member Functions

void implMatchOneLayer (const mrpt::maps::CMetricMap &pcGlobal, const mrpt::maps::CPointsMap &pcLocal, const mrpt::poses::CPose3D &localPose, MatchState &ms, const layer_name_t &globalName, const layer_name_t &localName, Pairings &out) const override
 

Private Attributes

double distanceThreshold = 0.50
 
uint32_t knn = 5
 
bool localPointMustFitPlaneToo = false
 
double localToGlobalPlaneMinAbsCosine = 0.8
 
uint32_t minimumPlanePoints = 5
 
double planeEigenThreshold = 0.01
 
double searchRadius = 0.50
 

Additional Inherited Members

- Static Public Member Functions inherited from mp2p_icp::Matcher_Points_Base
static TransformedLocalPointCloud transform_local_to_global (const mrpt::maps::CPointsMap &pcLocal, const mrpt::poses::CPose3D &localPose, const std::size_t maxLocalPoints=0, const uint64_t localPointsSampleSeed=0)
 
- Public Attributes inherited from mp2p_icp::Matcher_Points_Base
bool allowMatchAlreadyMatchedGlobalPoints_ = false
 
bool allowMatchAlreadyMatchedPoints_ = false
 
std::optional< std::size_t > kdtree_leaf_max_points_
 
uint64_t localPointsSampleSeed_ = 0
 
uint64_t maxLocalPointsPerLayer_ = 0
 
std::map< std::string, std::map< std::string, double > > weight_pt2pt_layers
 
- Public Attributes inherited from mp2p_icp::Matcher
uint32_t runFromIteration = 0
 
uint32_t runUpToIteration = 0
 0: no limit More...
 
- Protected Member Functions inherited from mp2p_icp::Matcher_Points_Base
bool impl_match (const metric_map_t &pcGlobal, const metric_map_t &pcLocal, const mrpt::poses::CPose3D &localPose, const MatchContext &mc, MatchState &ms, Pairings &out) const override final
 

Detailed Description

Pointcloud matcher: point to plane-fit of nearby points

Finds point-to-plane pairings between local point layers and points fitting a plane in layers of the global input metric map.

By default, each local point layer is matched against the layer with the same name in the global map, unless especified otherwise in the base class member weight_pt2pt_layers. Refer to example configuration YAML files for example configurations.

Definition at line 30 of file Matcher_Point2Plane.h.

Constructor & Destructor Documentation

◆ Matcher_Point2Plane()

Matcher_Point2Plane::Matcher_Point2Plane ( )

Definition at line 23 of file Matcher_Point2Plane.cpp.

Member Function Documentation

◆ implMatchOneLayer()

void Matcher_Point2Plane::implMatchOneLayer ( const mrpt::maps::CMetricMap &  pcGlobal,
const mrpt::maps::CPointsMap &  pcLocal,
const mrpt::poses::CPose3D &  localPose,
MatchState ms,
const layer_name_t globalName,
const layer_name_t localName,
Pairings out 
) const
overrideprivatevirtual

Implements mp2p_icp::Matcher_Points_Base.

Definition at line 68 of file Matcher_Point2Plane.cpp.

◆ initialize()

void Matcher_Point2Plane::initialize ( const mrpt::containers::yaml &  params)
overridevirtual

Parameters:

  • distanceThreshold: Max. inliers pt-plane distance [meters][mandatory]
  • knn: Number of neighbors to look for [mandatory]
  • minimumPlanePoints: Minimum number of found points [mandatory]
  • searchRadius: Max radius search for neighbors [meters][mandatory]
  • planeEigenThreshold: maximum e0/e2 ratio [mandatory]
  • localPointMustFitPlaneToo: if true, each local point must also fulfill the plane-like condition to generate a pt-plane pairing [optional] (Default: false)
  • localToGlobalPlaneMinAbsCosine: If localPointMustFitPlaneToo is true, the minimum absolute value of the cosine of the plane-to-plane angles to generate a valid pairing optional

Where e0 and e2 are the smallest and largest eigenvalues of the Gaussian covariance fitting the knn closest global points for each local point.

Plus: the parameters of Matcher_Points_Base::initialize()

Reimplemented from mp2p_icp::Matcher.

Definition at line 28 of file Matcher_Point2Plane.cpp.

Member Data Documentation

◆ distanceThreshold

double mp2p_icp::Matcher_Point2Plane::distanceThreshold = 0.50
private

Definition at line 58 of file Matcher_Point2Plane.h.

◆ knn

uint32_t mp2p_icp::Matcher_Point2Plane::knn = 5
private

Definition at line 60 of file Matcher_Point2Plane.h.

◆ localPointMustFitPlaneToo

bool mp2p_icp::Matcher_Point2Plane::localPointMustFitPlaneToo = false
private

Definition at line 63 of file Matcher_Point2Plane.h.

◆ localToGlobalPlaneMinAbsCosine

double mp2p_icp::Matcher_Point2Plane::localToGlobalPlaneMinAbsCosine = 0.8
private

Definition at line 64 of file Matcher_Point2Plane.h.

◆ minimumPlanePoints

uint32_t mp2p_icp::Matcher_Point2Plane::minimumPlanePoints = 5
private

Definition at line 61 of file Matcher_Point2Plane.h.

◆ planeEigenThreshold

double mp2p_icp::Matcher_Point2Plane::planeEigenThreshold = 0.01
private

Definition at line 62 of file Matcher_Point2Plane.h.

◆ searchRadius

double mp2p_icp::Matcher_Point2Plane::searchRadius = 0.50
private

Definition at line 59 of file Matcher_Point2Plane.h.


The documentation for this class was generated from the following files:


mrpt_local_obstacles
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Mon Aug 14 2023 02:09:05