What if the pose of the laser scan was not accurate?
YiChenCityU opened this issue · comments
Hi,
I have a question about the associatePointToPoint function. In your code, the best candidate was decided by the least errPose and errAng, if the pose of the laser was drifted after long time, the pose with not correct and the judgement for the best candidate will not correct. Can we just compare the scan ranges without using pose?
What's more, if we use this method for relocalization, the initial pose of the robot is unknown. Could we get the right candidate and transformation?
Best regards.
Thanks for your interest. The function associatePointToPoint does not use the robot pose to associate points, but is based on correspondence graph methods. GRD methods selects the list of candidates with highest signature similarities. Then, the more expensive we execute point-to-point association, which in the current implementation is done by correpondence graph.
Correpondence graph creates a graph whose nodes are all the associations between points. (Example {A, B} the set of landmarks and {1,2,3} the set of features: the nodes are (A,1), (A,2), (A,3), (B,1), etc.). Two nodes/associations are connected by an edge if the pairwise distance between the points of the two associatons in their respective set. (Example: node (A,1) is connected to node (B,2) by an edge is the distances (A,B) and (1,2) are the same up to a tolerance). Final association is found by matching subgraphs. See e.g. Tim Bailey et al. paper at ICRA 2000 which is cited also by my paper.
Thus, correspondence graph does not depend on odometry and is not affected by drift. Failures may occur due to perceptual aliases: if similar lanmark sets is observed by two or more locations, correspondence graph cannot disambiguate among them.
I want to point out that GRD is designed to select potential loop closure candidates similalrly to bag-of-words methods applied to feature descriptors, it is not a complete localization method. It avoids testing point-to-point association to all the scans or submaps by selecting the places with similar landmark location pattern. Final pose estimation requires point-to-point association.
In general, if you have more candidates with similar landmark patterns or the landmark are not so descriptive, one possibility is to use bayesian methods tracking more than a single hypothesis. Hope this help.
Best regards.