Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What if the pose of the laser scan was not accurate? #6

Closed
YiChenCityU opened this issue May 21, 2019 · 1 comment
Closed

What if the pose of the laser scan was not accurate? #6

YiChenCityU opened this issue May 21, 2019 · 1 comment

Comments

@YiChenCityU
Copy link

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.

@dlr1516
Copy link
Owner

dlr1516 commented May 21, 2019

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.

@dlr1516 dlr1516 closed this as completed May 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants