Ask Your Question

Always update the map using RTABmap

asked 2019-12-03 16:44:40 -0600

EdwardNur gravatar image


My environment is very dynamic and I know that RTABmap uses ICP to localize using the laserscans under Reg/Strategy = 1. So is it possible to always update the map where laserscans/camera scan the area and reuse the updated map at the next turn? So in that case, ICP will still be accurate under a dynamic environment.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-12-04 09:53:40 -0600

matlabbe gravatar image

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.


edit flag offensive delete link more


I have encountered the problem that RTABmap always adds the new obstacles but does not delete the old ones, is that correct?

EdwardNur gravatar imageEdwardNur ( 2019-12-13 08:12:46 -0600 )edit

@matlabbe How can I turn on this feature? After creating a map, new objects were not included in the map

EdwardNur gravatar imageEdwardNur ( 2019-12-13 09:59:31 -0600 )edit

It depends on which sensor you are using, because ray tracing is not enabled by default for camera input, just for 2D lidar. To turn on ray tracing (to clear obstacles), set Grid/RayTracing=true . After creating a map, if you restart in localization mode only, new obstacles won't be added in the static map. If you restart in SLAM mode, new obstacles would be added to the map.

matlabbe gravatar imagematlabbe ( 2019-12-13 13:31:21 -0600 )edit

@matlabbe I am using 2D lidar. So will it be possible to use SLAM but making publish_tf_map to false, because I am using my own localization?

EdwardNur gravatar imageEdwardNur ( 2019-12-13 13:35:51 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-12-03 16:44:40 -0600

Seen: 17 times

Last updated: Dec 04