Rtabmap::detectMoreLoopClosures, use optimized graph as guess if RGBD/ProximityOdomGuess is true. Reprocess: added options to generate scan from depth image and/or pre-process input scans.

This commit is contained in:
matlabbe
2020-08-28 16:24:07 -04:00
parent 96a628877c
commit 23d8353540
2 changed files with 140 additions and 5 deletions

View File

@@ -4641,9 +4641,15 @@ int Rtabmap::detectMoreLoopClosures(
UASSERT(signatures.find(from) != signatures.end());
UASSERT(signatures.find(to) != signatures.end());
Transform guess;
if(_proximityOdomGuess && uContains(poses, from) && uContains(poses, to))
{
guess = poses.at(from).inverse() * poses.at(to);
}
RegistrationInfo info;
// use signatures instead of IDs because some signatures may not be in WM
Transform t = _memory->computeTransform(signatures.at(from), signatures.at(to), Transform(), &info);
Transform t = _memory->computeTransform(signatures.at(from), signatures.at(to), guess, &info);
if(!t.isNull())
{