introlab / rtabmap

RTAB-Map library and standalone application
https://introlab.github.io/rtabmap
Other
2.72k stars 775 forks source link

Relocalization Behavior #227

Open vkee opened 7 years ago

vkee commented 7 years ago

Hi,

I've been trying to figure out the behavior of rtabmap when localizing using an existing map, particularly on the graph back end. I haven't been able to figure it out and was wondering if you could give me a brief explanation and point to where it is happening in the code (i.e. when the first relocalization occurs, is a new prior set? and then what happens for future relocalizations, if anything? additional priors set?)

Thanks! Vincent

matlabbe commented 7 years ago

Hi Vincent,

For relocation, it follows the loop closure approach described in the paper "Appearance-Based Loop Closure Detection for Online Large-Scale and Long-Term Operation". In the code, it is implemented here. These lines in the code match the lines 12-14 of the algorithm 1 of the paper.

The Bayes filter is updated here, and inside that function, the prior is updated here (new hypotheses are based on the previous ones).

cheers, Mathieu