Ask Your Question

Large-Scale SLAM?

asked 2013-09-12 14:17:13 -0500

BenMa gravatar image

updated 2014-01-28 17:17:56 -0500

ngrennan gravatar image

Hello, all,

I have been testing various SLAM packages in ROS. I am just wondering is there any "large-scale" SLAM packages available? By large-scale I mean the map produced can be as large as a few kilometer^2 and the occupany grid map can be overlaid on a GIS software. Currently it seems to me that all packages can only produce a relatively small map, for example, 50 meters x 50 meters. I understand that large map construction will increase memory and cpu usage. So, is there any efficient way to do that?

edit retag flag offensive close merge delete


What kinds of features are you mapping?

Dereck gravatar image Dereck  ( 2013-09-12 15:28:16 -0500 )edit

I am using 2D LiDAR to construct the map. The map is just a 2D occupancy grid.

BenMa gravatar image BenMa  ( 2013-09-12 15:34:04 -0500 )edit

I would be curious to see your findings on those existing algorithms and what you end up using. :)

Dereck gravatar image Dereck  ( 2013-09-12 15:39:40 -0500 )edit

I tried gmapping and hector slam, it seems that the map size is limited (authors please correct me if I am wrong).

BenMa gravatar image BenMa  ( 2013-09-12 16:22:49 -0500 )edit

I believe hector slam does use a fixed map size, but I think gmapping should expand to an arbitrary size. My gmapping setup uses an expanding map for sure. Whether there is a hard coaxed maximum or you run into memory or computational limitations is another matter however. :-)

Dereck gravatar image Dereck  ( 2013-09-12 16:44:06 -0500 )edit

Since a robot is only interested to the region nearby most of the time, it makes sense that the map should "fade away" when the robot moves to different locations. The question is, what is the best to construct, store and query a large-scale map which consists of many smaller maps? I heard of map stitch, but it is a tool rather than a complete solution.

BenMa gravatar image BenMa  ( 2013-09-12 17:19:30 -0500 )edit
Enrico gravatar image Enrico  ( 2013-09-13 13:10:34 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-09-13 09:28:56 -0500

Dereck gravatar image

If you give gmapping enough memory and turn down the resolution, it is probably your best bet at the moment. Failing that, you're probably going to have to resort to rolling your own solution.

If it were me, I would start with implementing a ROS interface for DP-SLAM and giving that a try, but I'm not sure that it will run real time or not however.

edit flag offensive delete link more


How about the memory and computation requirement of DP-SLAM? I glace through the algorithm and it appears to me it is based on particle-filter with some innovation in architecture. The real problem is, how to we compare all these SLAMs farily under ROS using the same dataset?

BenMa gravatar image BenMa  ( 2013-09-15 15:16:39 -0500 )edit

Record your sensor data to a bag file and drive around for a while. Then you can sit at your desk and fire up each of the algorithms with exactly the same data.

Dereck gravatar image Dereck  ( 2013-09-15 15:34:44 -0500 )edit

Oh, and DP-slam is a particle filter, but unlike gmapping, each particle contains its own copy of what it believe the map looks like. This has important implications, but I'll leave the reading to you ;-)

Dereck gravatar image Dereck  ( 2013-09-15 16:05:55 -0500 )edit

gmapping is the one where each particle has its own map. DP-SLAM holds a grid of trees.

kwiesz91 gravatar image kwiesz91  ( 2015-08-26 01:20:49 -0500 )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: 2013-09-12 14:17:13 -0500

Seen: 1,851 times

Last updated: Sep 13 '13