So is it possible to always update the
map where laserscans/camera scan the
area and reuse the updated map at the
next turn?
Yes, if --delete_db_on_start
argument is not set, rtabmap re-uses the previous map and will update it. By default when restarting, the robot assumes that it is starting from the last position of the previous session. If the robot moved when offline, it will localize automatically only if the camera is used. With or without camera, we can still set the localization manually by sending a pose on /rtabmap/initialpose
topic (similar to AMCL).
Under dynamic environment, it depends if most of the scan's rays hit static obstacles. I suggest to build rtabmap with libpointmatcher support to have more robust ICP in dynamic environments, particularly by tuning Icp/PMOutlierRatio
parameter.
cheers,
Mathieu