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

updateLinks() been commented inside its caller addNDTGraph() #4

Open
zjrob opened this issue Sep 18, 2019 · 1 comment
Open

updateLinks() been commented inside its caller addNDTGraph() #4

zjrob opened this issue Sep 18, 2019 · 1 comment

Comments

@zjrob
Copy link

zjrob commented Sep 18, 2019

Functions (int) AutoCompleteGraphLocalization::createNewLinks() and (inline void) AutoCompleteGraphBase::updateLinks() has been fully commented inside the source code.

A member function (int) createNewLinks() of class AutoCompleteGraph calls addLinkBetweenMaps(vec, *it_prior, *it) . Then only one function with the same name AutoCompleteGraphLocalization::addLinkBetweenMaps() can be found, which tells "Those links are not usable anymore in Localization. Use AutoCompleteGraph for that".

The member function createNewLinks() of class AutoCompleteGraph is only called by (virtual void) updateLinks(), a member function of class AutoCompleteGraphFeature inherited from class AutoCompleteGraph. Yet the only call to updateLinks() is commented inside its caller AutoCompleteGraphLocalization::addNDTGraph().

The Auto-Complete Graph paper is scientifically solid and the source is well organized. Hope these tiny puzzles can soon be resolved.

@MalcolmMielle
Copy link
Owner

Hello!

It all depend on which paper you want to reproduce. The most recent method (and the one I advise you to use) doesn't have any "links" between the maps. Instead it localizes the robot in the prior map and use the localization and its covariance to find corresponding corners. Then, an edge is added between the robot poses that observed the corner in the environment and the prior map corner corresponding to that corner. Hence, the function you're interested in is void addObservationMCLToPrior(const g2o::VertexLandmarkNDT* landmark);

Hence the method createNewLinks() isn't used in AutoCompleteGraphLocalization but only in the old method AutoCompleteGraph. the fact that is still in AutoCompleteGraphLocalization is an artifact of me researching what the next steps in the algorithm would be (and then realising that Links were ot that useful)

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