Class CMetricMapsAlignmentAlgorithm
Defined in File CMetricMapsAlignmentAlgorithm.h
Inheritance Relationships
Base Type
public mrpt::system::COutputLogger
Derived Type
public mrpt::slam::CICP(Class CICP)
Class Documentation
-
class CMetricMapsAlignmentAlgorithm : public mrpt::system::COutputLogger
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
Subclassed by mrpt::slam::CICP
Public Functions
-
inline CMetricMapsAlignmentAlgorithm()
-
~CMetricMapsAlignmentAlgorithm() override = default
Dtor
-
mrpt::poses::CPosePDF::Ptr Align(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose2D &grossEst, mrpt::optional_ref<TMetricMapAlignmentResult> outInfo = std::nullopt)
The method for aligning a pair of metric maps, for SE(2) relative poses. The meaning of some parameters and the kind of the maps to be aligned are implementation dependant, so look at 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.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
See also
See also
- 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.
- Returns:
A smart pointer to the output estimated pose PDF.
-
virtual mrpt::poses::CPosePDF::Ptr AlignPDF(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPosePDFGaussian &initialEstimationPDF, mrpt::optional_ref<TMetricMapAlignmentResult> outInfo = std::nullopt) = 0
-
mrpt::poses::CPose3DPDF::Ptr Align3D(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose3D &grossEst, mrpt::optional_ref<TMetricMapAlignmentResult> outInfo = std::nullopt)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
See also
- Returns:
A smart pointer to the output estimated pose PDF.
-
virtual mrpt::poses::CPose3DPDF::Ptr Align3DPDF(const mrpt::maps::CMetricMap *m1, const mrpt::maps::CMetricMap *m2, const mrpt::poses::CPose3DPDFGaussian &initialEstimationPDF, mrpt::optional_ref<TMetricMapAlignmentResult> outInfo = std::nullopt) = 0
-
inline CMetricMapsAlignmentAlgorithm()