Function mrpt::tfest::se2_l2_robust
Defined in File se2.h
Function Documentation
-
bool mrpt::tfest::se2_l2_robust(const mrpt::tfest::TMatchingPairList &in_correspondences, const double in_normalizationStd, const TSE2RobustParams &in_ransac_params, TSE2RobustResult &out_results)
Robust least-squares (L2 norm) solution to finding the optimal SE(2) (x,y,yaw) between two reference frames. This method implements a RANSAC-based robust estimation, returning a probability distribution over all the possibilities as a Sum of Gaussians.
The optimal transformation
qfulfills \( p_{this} = q \oplus p_{other} \), that is, the transformation of frameotherwith respect tothis.
The technique was described in the paper:
J.L. Blanco, J. Gonzalez-Jimenez, J.A. Fernandez-Madrigal, “A Robust,
Multi-Hypothesis Approach to Matching Occupancy Grid Maps”, Robotica, 2013.
http://dx.doi.org/10.1017/S0263574712000732
This works as follows:
Repeat “ransac_nSimulations” times:
Randomly pick TWO correspondences from the set “in_correspondences”.
Compute the associated rigid transformation.
For “ransac_maxSetSize” randomly selected correspondences, test for “consensus” with the current group:
If if is compatible (ransac_mahalanobisDistanceThreshold), grow the “consensus set”
If not, do not add it.
For more details refer to the tutorial on scan matching methods. NOTE: Parameter
ransac_maxSetSizeshould be set toin_correspondences.size()to make sure that every correspondence is tested for each random permutation.
See also
Note
[New in MRPT 1.3.0] This function replaces mrpt::scanmatching::robustRigidTransformation()
- Parameters:
in_normalizationStd – [in] The standard deviation (not variance) of landmarks/points/features being matched in X,Y. Used to normalize covariances returned as the SoG. (Refer to paper)
- Returns:
True upon success, false if no subset was found with the minimum number of correspondences.