Best strategy for mapping

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

Best strategy for mapping

breezy
I'm working with rtabmap but I don't have a lot of experience with it yet. Is there any strategy to use while mapping that works better than others?

I mean, while mapping should I drive the robot the entire place at once multiple times? Should I drive it a little bit, then turn around and make it look at places it saw before in order get some loop closures and then go forward to places it never saw before and repeat this process until the entire place was covered?

I know this is a broad question, but it would be great if you guys that have way more experience mapping than me have any tips of strategies to build good maps.
Reply | Threaded
Open this post in threaded view
|

Re: Best strategy for mapping

matlabbe
Administrator
Hi,

it really depends on the application.

For 3D scanning/reconstruction, we would do a "painting motion", while coming back to initial position after a couple of meters to close a loop (e.g., for each room, make sure to end where we start the scanning). See https://www.youtube.com/watch?v=XqJbFn5rJfE for example.

For robot navigation, it would be better to move around the robot with similar trajectories that the robot would do in autonomous mode to increase localization accuracy. It is particularly important for visual slam, where in general we only have a single camera pointing forward, and thus localization would happen only if we pass by mapped locations with same camera position and orientation. For example, if you want to navigate in a corridor in different direction, make sure to map in both directions (the camera cannot localize against locations taken in 180deg direction). With lidar SLAM (with 360deg field of view), we are less constraint by the orientation of the recorded locations in the map, so we could just map the corridor once in a single direction (though it is still preferable to do it in both directions if a camera is also used for loop closure detection). An example of this can be found in this paper: Long-term online multi-session graph-based SPLAM with memory management.

cheers,
Mathieu