RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
Loading...
Searching...
No Matches
rtabmap::Registration Class Referenceabstract

Abstract base for registering two observations (visual, ICP, or both). More...

#include <Registration.h>

Inheritance diagram for rtabmap::Registration:

Public Types

enum  Type { kTypeUndef = -1 , kTypeVis = 0 , kTypeIcp = 1 , kTypeVisIcp = 2 }
 Registration strategy selected by Reg/Strategy. More...
 

Public Member Functions

virtual void parseParameters (const ParametersMap &parameters)
 Parses Reg/RepeatOnce, Reg/Force3DoF and forwards to the child registration if set.
 
bool isImageRequired () const
 True if images are needed (parent or child).
 
bool isScanRequired () const
 True if laser scans are needed (parent or child).
 
bool isUserDataRequired () const
 True if user data is needed (parent or child).
 
bool canUseGuess () const
 True if the strategy can refine an initial guess (parent or child).
 
int getMinVisualCorrespondences () const
 Minimum visual inliers required (max of parent and child thresholds).
 
float getMinGeometryCorrespondencesRatio () const
 Minimum geometry inlier ratio required (max of parent and child thresholds).
 
bool repeatOnce () const
 
bool force3DoF () const
 
void setChildRegistration (Registration *child)
 Replaces the current child registration; takes ownership of child.
 
Transform computeTransformation (const Signature &from, const Signature &to, Transform guess=Transform::getIdentity(), RegistrationInfo *info=0) const
 Registers from to to using immutable signatures (copied internally).
 
Transform computeTransformation (const SensorData &from, const SensorData &to, Transform guess=Transform::getIdentity(), RegistrationInfo *info=0) const
 Registers two SensorData observations (wrapped as signatures).
 
Transform computeTransformationMod (Signature &from, Signature &to, Transform guess=Transform::getIdentity(), RegistrationInfo *info=0) const
 Registers from to to; signatures may be modified by the implementation.
 

Static Public Member Functions

static Registrationcreate (const ParametersMap &parameters)
 Creates a registration from Reg/Strategy in parameters. Caller owns the pointer.
 
static Registrationcreate (Type &type, const ParametersMap &parameters=ParametersMap())
 Creates a registration of type (may be adjusted, e.g. to kTypeVis). Caller owns the pointer.
 

Static Public Attributes

static double COVARIANCE_LINEAR_EPSILON
 Minimum diagonal value for linear covariance (m²).
 
static double COVARIANCE_ANGULAR_EPSILON
 Minimum diagonal value for angular covariance (rad²).
 

Protected Member Functions

 Registration (const ParametersMap &parameters=ParametersMap(), Registration *child=0)
 child is owned and deleted in the destructor.
 
virtual Transform computeTransformationImpl (Signature &from, Signature &to, Transform guess, RegistrationInfo &info) const =0
 Strategy-specific registration.
 
virtual bool isImageRequiredImpl () const
 
virtual bool isScanRequiredImpl () const
 
virtual bool isUserDataRequiredImpl () const
 
virtual bool canUseGuessImpl () const
 
virtual int getMinVisualCorrespondencesImpl () const
 
virtual float getMinGeometryCorrespondencesRatioImpl () const
 

Detailed Description

Abstract base for registering two observations (visual, ICP, or both).

Factory create() builds RegistrationVis, RegistrationIcp, or the two chained (kTypeVisIcp) from Reg/Strategy in a ParametersMap.

computeTransformation() wraps signatures and delegates to computeTransformationMod(), which calls computeTransformationImpl() on the concrete strategy, optionally chains a child registration (e.g. ICP after visual), applies Reg/Force3DoF, and may repeat once with the first result as guess when Reg/RepeatOnce is enabled.

Requirement queries (isImageRequired(), isScanRequired(), etc.) OR-combine with the child when the parent returns false. Minimum correspondence thresholds take the maximum between parent and child.

See also
RegistrationVis
RegistrationIcp
RegistrationInfo

Definition at line 60 of file Registration.h.

Member Enumeration Documentation

◆ Type

Registration strategy selected by Reg/Strategy.

Enumerator
kTypeUndef 

Undefined / invalid strategy.

kTypeVis 

Visual registration only (RegistrationVis).

kTypeIcp 

Geometric registration only (RegistrationIcp).

kTypeVisIcp 

Visual registration refined by ICP (RegistrationVis chained with RegistrationIcp).

Definition at line 64 of file Registration.h.

Member Function Documentation

◆ parseParameters()

virtual void rtabmap::Registration::parseParameters ( const ParametersMap parameters)
virtual

Parses Reg/RepeatOnce, Reg/Force3DoF and forwards to the child registration if set.

Reimplemented in rtabmap::RegistrationIcp, and rtabmap::RegistrationVis.

◆ repeatOnce()

bool rtabmap::Registration::repeatOnce ( ) const
inline
Returns
Value of Reg/RepeatOnce.

Definition at line 102 of file Registration.h.

◆ force3DoF()

bool rtabmap::Registration::force3DoF ( ) const
inline
Returns
Value of Reg/Force3DoF.

Definition at line 104 of file Registration.h.

◆ computeTransformationImpl()

virtual Transform rtabmap::Registration::computeTransformationImpl ( Signature from,
Signature to,
Transform  guess,
RegistrationInfo info 
) const
protectedpure virtual

Strategy-specific registration.

May modify from and to; a child registration reuses those changes.

Implemented in rtabmap::RegistrationIcp, and rtabmap::RegistrationVis.

◆ isImageRequiredImpl()

virtual bool rtabmap::Registration::isImageRequiredImpl ( ) const
inlineprotectedvirtual

Definition at line 144 of file Registration.h.

◆ isScanRequiredImpl()

virtual bool rtabmap::Registration::isScanRequiredImpl ( ) const
inlineprotectedvirtual

Definition at line 145 of file Registration.h.

◆ isUserDataRequiredImpl()

virtual bool rtabmap::Registration::isUserDataRequiredImpl ( ) const
inlineprotectedvirtual

Definition at line 146 of file Registration.h.

◆ canUseGuessImpl()

virtual bool rtabmap::Registration::canUseGuessImpl ( ) const
inlineprotectedvirtual

Definition at line 147 of file Registration.h.

◆ getMinVisualCorrespondencesImpl()

virtual int rtabmap::Registration::getMinVisualCorrespondencesImpl ( ) const
inlineprotectedvirtual

Definition at line 148 of file Registration.h.

◆ getMinGeometryCorrespondencesRatioImpl()

virtual float rtabmap::Registration::getMinGeometryCorrespondencesRatioImpl ( ) const
inlineprotectedvirtual

Definition at line 149 of file Registration.h.

Member Data Documentation

◆ COVARIANCE_LINEAR_EPSILON

double rtabmap::Registration::COVARIANCE_LINEAR_EPSILON
static

Minimum diagonal value for linear covariance (m²).

Definition at line 71 of file Registration.h.

◆ COVARIANCE_ANGULAR_EPSILON

double rtabmap::Registration::COVARIANCE_ANGULAR_EPSILON
static

Minimum diagonal value for angular covariance (rad²).

Definition at line 73 of file Registration.h.


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