A class for aligning two multi-metric maps (with an occupancy grid maps and a points map, at least) based on features extraction and matching.
The matching pose is returned as a Sum of Gaussians (poses::CPosePDFSOG).
This class can use three methods (see options.methodSelection):
- amCorrelation: "Brute-force" correlation of the two maps over a 2D+orientation grid of possible 2D poses.
- amRobustMatch: Detection of features + RANSAC matching
- amModifiedRANSAC: Detection of features + modified multi-hypothesis RANSAC matching as described in was reported in the paper http://www.mrpt.org/Paper%3AOccupancy_Grid_Matching
See CGridMapAligner::Align for more instructions.
- See also
- CMetricMapsAlignmentAlgorithm
Definition at line 39 of file CGridMapAligner.h.
|
| CGridMapAligner () |
|
CPosePDFPtr | AlignPDF (const CMetricMap *m1, const CMetricMap *m2, const CPosePDFGaussian &initialEstimationPDF, float *runningTime=NULL, void *info=NULL) |
| The method for aligning a pair of 2D points map. More...
|
|
CPose3DPDFPtr | Align3DPDF (const CMetricMap *m1, const CMetricMap *m2, const CPose3DPDFGaussian &initialEstimationPDF, float *runningTime=NULL, void *info=NULL) |
| The virtual method for aligning a pair of metric maps, aligning the full 6D pose. More...
|
|
CPosePDFPtr | Align (const CMetricMap *m1, const CMetricMap *m2, const CPose2D &grossEst, float *runningTime=NULL, void *info=NULL) |
| The method for aligning a pair of metric maps, aligning only 2D + orientation. More...
|
|
CPose3DPDFPtr | Align3D (const CMetricMap *m1, const CMetricMap *m2, const CPose3D &grossEst, float *runningTime=NULL, void *info=NULL) |
| The method for aligning a pair of metric maps, aligning the full 6D pose. More...
|
|
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 NULL if you don't need it. |
info | [OUT] See derived classes for details, or NULL if it isn't needed. |
- Returns
- A smart pointer to the output estimated pose PDF.
- See also
- CICP
Implements mrpt::slam::CMetricMapsAlignmentAlgorithm.
Definition at line 234 of file CGridMapAligner.h.
References THROW_EXCEPTION.
The method for aligning a pair of 2D points map.
The meaning of some parameters are implementation dependant, so look for 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.
NOTE: This method can be configurated with "options"
- Parameters
-
m1 | [IN] The first map (Must be a mrpt::slam::CMultiMetricMap class) |
m2 | [IN] The second map (Must be a mrpt::slam::CMultiMetricMap class) |
initialEstimationPDF | [IN] (IGNORED IN THIS ALGORITHM!) |
runningTime | [OUT] A pointer to a container for obtaining the algorithm running time in seconds, or NULL if you don't need it. |
info | [OUT] A pointer to a CAlignerFromMotionDraws::TReturnInfo struct, or NULL if result information are not required. |
- Note
- The returned PDF depends on the selected alignment method:
- "amRobustMatch" –> A "poses::CPosePDFSOG" object.
- "amCorrelation" –> A "poses::CPosePDFGrid" object.
- Returns
- A smart pointer to the output estimated pose PDF.
- See also
- CPointsMapAlignmentAlgorithm, options
Implements mrpt::slam::CMetricMapsAlignmentAlgorithm.