28#ifndef REGISTRATIONICP_H_
29#define REGISTRATIONICP_H_
31#include "rtabmap/core/rtabmap_core_export.h"
33#include <rtabmap/core/Registration.h>
34#include <rtabmap/core/Signature.h>
79 virtual bool isScanRequiredImpl()
const {
return true;}
80 virtual bool canUseGuessImpl()
const {
return true;}
81 virtual float getMinGeometryCorrespondencesRatioImpl()
const {
return _correspondenceRatio;}
84 IcpStrategy _strategy;
85 float _maxTranslation;
88 int _downsamplingStep;
91 float _maxCorrespondenceDistance;
92 bool _reciprocalCorrespondences;
95 float _correspondenceRatio;
100 float _pointToPlaneRadius;
101 float _pointToPlaneGroundNormalsUp;
102 float _pointToPlaneMinComplexity;
103 bool _pointToPlaneComplexityCentered;
104 int _pointToPlaneLowComplexityStrategy;
105 std::string _libpointmatcherConfig;
106 int _libpointmatcherKnn;
107 float _libpointmatcherEpsilon;
108 bool _libpointmatcherIntensity;
110 unsigned int _ccSamplingLimit;
111 bool _ccFilterOutFarthestPoints;
112 double _ccMaxFinalRMS;
113 std::string _debugExportFormat;
114 std::string _workingDir;
116 void * _libpointmatcherICP;
117 void * _libpointmatcherICPFilters;
static bool available(IcpStrategy strategy)
Returns true if strategy is built into this rtabmap binary.
virtual Transform computeTransformationImpl(Signature &from, Signature &to, Transform guess, RegistrationInfo &info) const
Strategy-specific registration.
virtual void parseParameters(const ParametersMap ¶meters)
Parses Reg/RepeatOnce, Reg/Force3DoF and forwards to the child registration if set.
static const char * strategyName(IcpStrategy strategy)
Human-readable name for strategy ("PCL", "libpointmatcher", "CCCoreLib", or "Unknown").
Statistics and diagnostics returned by Registration.
Abstract base for registering two observations (visual, ICP, or both).
Represents a node in RTAB-Map's pose graph.
std::map< std::string, std::string > ParametersMap
Parameter keys mapped to their values, as used by every configurable class (see Parameters).