Re: RTABMAP closes with error when mapping for long durations
Posted by
matlabbe on
URL: http://official-rtab-map-forum.206.s1.nabble.com/RTABMAP-closes-with-error-when-mapping-for-long-durations-tp150p163.html
No need to use both thresholds, try without "Rtabmap/MemoryThr", only "Rtabmap/TimeThr".
It is normal that at some point, the oldest locations of the map disappear. RTAB-Map "forgets" some locations to be able to respect any of these two thresholds (you can look at this
paper for more detailed information). So only the local map is shown online in RVIZ. To see the global map (all clouds), you must pause
rtabmap
$ rosservice call /rtabmap/pause
and click on "Download graph" under the
MapCloud Display in RVIZ.
To resume mapping (old clouds should disappear again since the local map is published again):
$ rosservice call /rtabmap/resume
With "Rtabmap/TimeThr" parameter, the local map size is limited by the time used to process new data in rtabmap. Since you are using an URG, you can reduce the number of features extracted from the images (default is 400) by setting the following parameters.
<param name="Kp/WordsPerImage" type="string" value="200"/>
<param name="SURF/HessianThreshold" type="string" value="1000"/>
This should help to have a bigger local map by reducing processing time used by rtabmap. Note that you can see the processing time used on the console (ROS_INFO) for each rtabmap's iteration.
And here some optimizations to have a better map quality (
only use this with a 2D laser):
<param name="RGBD/PoseScanMatching" type="string" value="true"/>
<param name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/>