Re: Map update (append)

Posted by matlabbe on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Map-update-append-tp10397p10416.html

How are the goals saved? If you are using "node IDs" from the graph as "goals", then you can do both of your solutions without extra steps. You should be able to navigate to old goals with the new assembled map.

If goals are fixed metric poses like "x=32, y=54", then one issue that could happen is that the old graph may move a little when appending new data to it (because we are still optimizing the whole graph with any new loop closure). A workaround is to "fix" the nodes of the the first map to make sure they don't move when appending new data. To "fix" nodes, that can be done by adding a "prior" constraint with very low covariance to nodes of the first map using the current optimized poses (a python script using sqlite3 directly on the database can be created for that purpose). On graph optimization, the nodes will be locked on place, just moving the new nodes around. You then make sure the assembled map keeps the same origin and the trajectory is aligned with original map.

Your 2 choices are mostly the same (will give same result), though 2 is done online instead of offline like choice 1. Doing it online can however help to guide a person teleoperating the robot to know that 1) the robot can localize in first map, and 2) to close loop closures with old parts of the maps. Otherwise with choice 1, the operator is kinda mapping "blindly" without knowing that the resulting map can correctly be appended to first map.

cheers,
Mathieu