Dynamically Loading New 2D Maps into RTABMap Database

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Dynamically Loading New 2D Maps into RTABMap Database

derektan1995
Hi Matthieu,

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!

Regards,
Derek
Reply | Threaded
Open this post in threaded view
|

Re: Dynamically Loading New 2D Maps into RTABMap Database

derektan1995
Hi Matthieu,

Hope you have been well. I wonder if you have any comments on my previous query? Thanks!

Regards,
Derek
Reply | Threaded
Open this post in threaded view
|

Re: Dynamically Loading New 2D Maps into RTABMap Database

matlabbe
Administrator
Hi Derek,

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.

cheers,
Mathieu