Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Member Functions
mrpt::slam::CMetricMapsAlignmentAlgorithm Class Referenceabstract

Detailed Description

A base class for any algorithm able of maps alignment.

There are two methods depending on an PDF or a single 2D Pose value is available as initial guess for the methods.

See also
CPointsMap,

Definition at line 29 of file CMetricMapsAlignmentAlgorithm.h.

#include <mrpt/slam/CMetricMapsAlignmentAlgorithm.h>

Inheritance diagram for mrpt::slam::CMetricMapsAlignmentAlgorithm:
Inheritance graph

Public Member Functions

 CMetricMapsAlignmentAlgorithm ()
 
virtual ~CMetricMapsAlignmentAlgorithm ()
 Dtor. More...
 
mrpt::poses::CPosePDF::Ptr Align (const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose2D &grossEst, float *runningTime=nullptr, void *info=nullptr)
 The method for aligning a pair of metric maps, aligning only 2D + orientation. More...
 
virtual mrpt::poses::CPosePDF::Ptr AlignPDF (const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPosePDFGaussian &initialEstimationPDF, float *runningTime=nullptr, void *info=nullptr)=0
 The virtual method for aligning a pair of metric maps, aligning only 2D. More...
 
mrpt::poses::CPose3DPDF::Ptr Align3D (const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose3D &grossEst, float *runningTime=nullptr, void *info=nullptr)
 The method for aligning a pair of metric maps, aligning the full 6D pose. More...
 
virtual mrpt::poses::CPose3DPDF::Ptr Align3DPDF (const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose3DPDFGaussian &initialEstimationPDF, float *runningTime=nullptr, void *info=nullptr)=0
 The virtual method for aligning a pair of metric maps, aligning the full 6D pose. More...
 

Constructor & Destructor Documentation

◆ CMetricMapsAlignmentAlgorithm()

mrpt::slam::CMetricMapsAlignmentAlgorithm::CMetricMapsAlignmentAlgorithm ( )
inline

Definition at line 32 of file CMetricMapsAlignmentAlgorithm.h.

◆ ~CMetricMapsAlignmentAlgorithm()

virtual mrpt::slam::CMetricMapsAlignmentAlgorithm::~CMetricMapsAlignmentAlgorithm ( )
inlinevirtual

Dtor.

Definition at line 37 of file CMetricMapsAlignmentAlgorithm.h.

Member Function Documentation

◆ Align()

CPosePDF::Ptr CMetricMapsAlignmentAlgorithm::Align ( const mrpt::maps::CMetricMap m1,
const mrpt::maps::CMetricMap m2,
const mrpt::poses::CPose2D grossEst,
float *  runningTime = nullptr,
void info = nullptr 
)

The method for aligning a pair of metric maps, aligning only 2D + orientation.

The meaning of some parameters and the kind of the maps to be aligned are implementation dependant, so look into the derived classes for instructions. The target is to find a PDF for the pose displacement between maps, thus the pose of m2 relative to m1. This pose is returned as a PDF rather than a single value.

Parameters
m1[IN] The first map
m2[IN] The second map. The pose of this map respect to m1 is to be estimated.
grossEst[IN] An initial gross estimation for the displacement. If a given algorithm doesn't need it, set to CPose2D(0,0,0) for example.
runningTime[OUT] A pointer to a container for obtaining the algorithm running time in seconds, or nullptr if you don't need it.
info[OUT] See derived classes for details, or nullptr if it isn't needed.
Returns
A smart pointer to the output estimated pose PDF.
See also
CICP

Definition at line 26 of file CMetricMapsAlignmentAlgorithm.cpp.

Referenced by ICPTests::align2scans(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), mrpt::maps::CMultiMetricMapPDF::prediction_and_update< mrpt::slam::OptimalProposal >(), mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel(), mrpt::hmtslam::CLocalMetricHypothesis::prediction_and_update(), and mrpt::slam::CMetricMapBuilderICP::processObservation().

Here is the caller graph for this function:

◆ Align3D()

CPose3DPDF::Ptr CMetricMapsAlignmentAlgorithm::Align3D ( const mrpt::maps::CMetricMap m1,
const mrpt::maps::CMetricMap m2,
const mrpt::poses::CPose3D grossEst,
float *  runningTime = nullptr,
void info = nullptr 
)

The method for aligning a pair of metric maps, aligning the full 6D pose.

The meaning of some parameters and the kind of the maps to be aligned are implementation dependant, so look into the derived classes for instructions. The target is to find a PDF for the pose displacement between maps, thus the pose of m2 relative to m1. This pose is returned as a PDF rather than a single value.

Parameters
m1[IN] The first map
m2[IN] The second map. The pose of this map respect to m1 is to be estimated.
grossEst[IN] An initial gross estimation for the displacement. If a given algorithm doesn't need it, set to CPose3D(0,0,0) for example.
runningTime[OUT] A pointer to a container for obtaining the algorithm running time in seconds, or nullptr if you don't need it.
info[OUT] See derived classes for details, or nullptr if it isn't needed.
Returns
A smart pointer to the output estimated pose PDF.
See also
CICP

Definition at line 37 of file CMetricMapsAlignmentAlgorithm.cpp.

References mrpt::poses::CPose3DPDFGaussian::mean.

Referenced by TEST_F().

Here is the caller graph for this function:

◆ Align3DPDF()

virtual mrpt::poses::CPose3DPDF::Ptr mrpt::slam::CMetricMapsAlignmentAlgorithm::Align3DPDF ( const mrpt::maps::CMetricMap m1,
const mrpt::maps::CMetricMap m2,
const mrpt::poses::CPose3DPDFGaussian initialEstimationPDF,
float *  runningTime = nullptr,
void info = nullptr 
)
pure virtual

The virtual method for aligning a pair of metric maps, aligning the full 6D pose.

The meaning of some parameters are implementation dependant, so look at the derived classes for more details. The goal is to find a PDF for the pose displacement between maps, that is, the pose of m2 relative to m1. This pose is returned as a PDF rather than a single value.

Note
This method can be configurated with a "options" structure in the implementation classes.
Parameters
m1[IN] The first map (MUST BE A COccupancyGridMap2D derived class)
m2[IN] The second map. (MUST BE A CPointsMap derived class) The pose of this map respect to m1 is to be estimated.
initialEstimationPDF[IN] An initial gross estimation for the displacement.
runningTime[OUT] A pointer to a container for obtaining the algorithm running time in seconds, or nullptr if you don't need it.
info[OUT] See derived classes for details, or nullptr if it isn't needed.
Returns
A smart pointer to the output estimated pose PDF.
See also
CICP

Implemented in mrpt::slam::CICP, and mrpt::slam::CGridMapAligner.

◆ AlignPDF()

virtual mrpt::poses::CPosePDF::Ptr mrpt::slam::CMetricMapsAlignmentAlgorithm::AlignPDF ( const mrpt::maps::CMetricMap m1,
const mrpt::maps::CMetricMap m2,
const mrpt::poses::CPosePDFGaussian initialEstimationPDF,
float *  runningTime = nullptr,
void info = nullptr 
)
pure virtual

The virtual method for aligning a pair of metric maps, aligning only 2D.

  • orientation. The meaning of some parameters are implementation dependant, so look at the derived classes for more details. The goal is to find a PDF for the pose displacement between maps, that is, the pose of m2 relative to m1. This pose is returned as a PDF rather than a single value.

    Note
    This method can be configurated with a "options" structure in the implementation classes.
    Parameters
    m1[IN] The first map (MUST BE A COccupancyGridMap2D derived class)
    m2[IN] The second map. (MUST BE A CPointsMap derived class) The pose of this map respect to m1 is to be estimated.
    initialEstimationPDF[IN] An initial gross estimation for the displacement.
    runningTime[OUT] A pointer to a container for obtaining the algorithm running time in seconds, or nullptr if you don't need it.
    info[OUT] See derived classes for details, or nullptr if it isn't needed.
    Returns
    A smart pointer to the output estimated pose PDF.
    See also
    CICP

Implemented in mrpt::slam::CICP, and mrpt::slam::CGridMapAligner.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019