Define fixed poses in map frame

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

Define fixed poses in map frame

marvstue
Hi Mathieu,

we currently have a problem with navigation that we are not quite sure how to solve with RTABMAP.
We use a multi-session database in localization mode for navigation (with memory management). For this, an occupancy map was saved with the map_saver, graphically edited and used as global costmap for move_base. So besides /rtabmap/grid_map, we use this map on a different topic.
Navigation is controlled by a topological map that directly addresses move_base and other action servers for charging etc. The following image shows the nodes and links of our topological map. The nodes are defined as poses in map frame


The problem is, that there are sometimes shifts between the modified map and /rtabmap/grid_map (Image shows the current /rtabmap/grid_map above the static modified map)

I guess this is due to switches between local maps of the nodes in the area around the robot.
This leads to the problem, that move_base's global planner does not find valid paths from time to time.
How can we use globally defined poses as navigation goals?
Would it be necessary to wrap /rtabmap/set_goal around our move_base interface? Or is this related to a different problem?
The parameter OptimizeFromGraphEnd is set to false.

Regards
Marvin
Reply | Threaded
Open this post in threaded view
|

Re: Define fixed poses in map frame

matlabbe
Administrator

Hi, if "memory management" is enabled, the map frame may move over time depending on which oldest node is currently in the working memory. The map will then move. This is explained in Section 3.5 of this paper.

If you are in localization mode, I suggest to disable Rtabmap/MemoryThr=0 or Rtabmap/TimeThr=0, and add Mem/InitWMWithAllNodes=true to use all nodes in LTM. This way, the map will have always the same referential.

Is your modified map using same /map frame?
Reply | Threaded
Open this post in threaded view
|

Re: Define fixed poses in map frame

marvstue
Hi,

yes, it is using the same map frame.
After changing the settings as you said, there was still a small offset. I then created a completely new map without memory management and now it's working fine.
Thanks!