Re: MemoryThr
Posted by
matlabbe on
URL: http://official-rtab-map-forum.206.s1.nabble.com/MemoryThr-tp9766p10019.html
Here is an example in localization mode.
The robot just initialized (map == odom frame) and received a goal for node 121, with pose x=30,y=40 in map frame. While navigating towards that goal, the robot relocalizes on the map on a node 2 meters from where it thinks it is.
If RGBD/OptimizeFromGraphEnd=false, the robot pose will jump 2 meters in map frame to correct this odometry drift (that 2 meters will be included in map -> odom TF), and node 121 will still be at x=30, y=40 in map frame. This follows the definition
of map->odom TF in ROS.
If RGBD/OptimizeFromGraphEnd=true, the robot pose in map/odom frame will stay the same (map == odom frames), but the node 121 will jump 2 meters instead. The goal will then be at x=32,y=40.
When we use memory management, the root node for map frame can change anytime, thus it would make the node poses jumping around AND make the robot pose jumping around. This can hard to handle robot pose jumping and map nodes jumping at the same time. With RGBD/OptimizeFromGraphEnd=true, at least the robot pose doesn't jump.