Posted by
matlabbe on
URL: http://official-rtab-map-forum.206.s1.nabble.com/misalignment-from-tango-multi-session-tp5046p5104.html
Hi,
I tested the two past days your databases and I am now able to merge all maps with GTSAM. Here is what I did with
latest version (I updated the code to make it work).
1) I updated "rtabmap-reprocess" tool for convenience, instead of using the GUI to reprocess all databases:
$ rtabmap-reprocess --uwarn \
-c ReplayTango03.ini \
--RGBD/LoopClosureReextractFeatures false \
--RGBD/OptimizeMaxError 3 \
--RGBD/LoopCovLimited true \
"MeulanGare001.db;MeulanGare002.db;MeulanGare003.db;MeulanGareQuai002.db;MeulanGarfTransition.db" \
merged.db
2) Open the resulting map (merged.db) in rtabmap-databaseViewer, in Graph View you would have:

3) The red circle shows a wrong loop closure that happened between two sessions. To see better which link is the wrong one, enable inter-session colors, zoom in the red circle above and you would see a green link just here (the corresponding images are also shown):

4) Remove that link with the Constraints View, navigate loop closures until you get 4170 <-> 2441, then click reject.
5) Add the following link to merge the maps manually: 4646 <-> 1237

6) At this point, all maps should be linked together. To make the map more straight between two sides of the railroad, click on Edit->Detect More loop closures. Afterwards the two sidewalks should be almost parallel.

Example exporting the cloud at 5 cm voxel:

With paths of the different sessions colored:
EDITSome other exports:
(Colored Mesh)



Note that the curved path at the bottom left seems a big drift from Google Tango's VIO (not sure what happened), which cannot be corrected by RTAB-Map.
(Textured Mesh)


EDIT2I think it is one of the biggest 3D scan I've seen with Google Tango: 4.5 km! Thx!
cheers,
Mathieu