|
RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
|
Abstract base for registering two observations (visual, ICP, or both). More...
#include <Registration.h>

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 ¶meters) |
| 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 Registration * | create (const ParametersMap ¶meters) |
Creates a registration from Reg/Strategy in parameters. Caller owns the pointer. | |
| static Registration * | create (Type &type, const ParametersMap ¶meters=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 ¶meters=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 |
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.
Definition at line 60 of file Registration.h.
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.
|
virtual |
Parses Reg/RepeatOnce, Reg/Force3DoF and forwards to the child registration if set.
Reimplemented in rtabmap::RegistrationIcp, and rtabmap::RegistrationVis.
|
inline |
Definition at line 102 of file Registration.h.
|
inline |
Definition at line 104 of file Registration.h.
|
protectedpure virtual |
Strategy-specific registration.
May modify from and to; a child registration reuses those changes.
Implemented in rtabmap::RegistrationIcp, and rtabmap::RegistrationVis.
|
inlineprotectedvirtual |
Definition at line 144 of file Registration.h.
|
inlineprotectedvirtual |
Definition at line 145 of file Registration.h.
|
inlineprotectedvirtual |
Definition at line 146 of file Registration.h.
|
inlineprotectedvirtual |
Definition at line 147 of file Registration.h.
|
inlineprotectedvirtual |
Definition at line 148 of file Registration.h.
|
inlineprotectedvirtual |
Definition at line 149 of file Registration.h.
|
static |
Minimum diagonal value for linear covariance (m²).
Definition at line 71 of file Registration.h.
|
static |
Minimum diagonal value for angular covariance (rad²).
Definition at line 73 of file Registration.h.