Dynamically Loading New 2D Maps into RTABMap Database
Hope you are well. I am currently exploring map merging of 2d grid maps between different robots using this package. Is there a way to dynamically load merged 2d maps into rtabmap during mapping mode, such that rtabmap will continue to build upon the new 2d map?
This new 2d map is only used for ROS's move_base navigation. Perhaps, it's a little similar to loading an edited 2d map into the rtabmap.db file using the rtabmap-databaseViewer, just that we want to do this online. Thanks!
Re: Dynamically Loading New 2D Maps into RTABMap Database
RTAB-Map is not a grid based SLAM (neither it does grid-based localization, in localization mode it does visual or scan-to-scan localization, not scan-to-grid localization like AMCL). It is a graph-SLAM, so you cannot feed it an arbitrary occupancy grid to append to current occupancy grid that rtabmap is creating. With rtabmap-databaseViewer, there is an option to manually edit the optimized global occupancy grid, however the changes are valid only if we re-use the same database in localization mode only and without memory management. As soon a new node has to be added in the map, the whole global occupancy grid will be updated, overwriting the manual changes made with the UI.
To use map merger, you would have to use it downstream of rtabmap, like merging output of rtabmap with another occupancy grid, but you cannot feed back the merged occupancy grid to rtabmap.