Other SLAM Algorithms: CoreSLAM, Part 2

I've now get the Monte Carlo Localization turned on, map publishing working in ROS, and a number of parameters defined. This required some hacking of the CoreSLAM library, in particular I removed all of the references to differential drive odometry, instead loading odometry externally from TF.

Here's an updated map using the 12-12-neato-ils bag file:



There's still some work to fix the way that the map->odom transform is handled, and allow a configurable map size and resolution (both of which will require reworking some more of the underlying library). I'm hoping to have the code released shortly.

SLAM Data Sets

Over the past semester I've been spending a lot of time working with low-cost SLAM. In doing so, I've collected a number of datasets around the Albany campus. I've uploaded a number of them (as ROS bag files), along with sample maps, to this site. All are free to use these datasets for whatever they please -- however, please post back maps and algorithms/parameters used to create them. Over time I would like to develop a set of best-known algorithms/parameters for low-cost SLAM.

These datasets were collected on iRobot Creates, the Neato XV-11, and the Vanadium Armadillo using the Neato Laser or the Hokuyo URG-04LX-UG01. In particular, I've recently collected a dataset I really am looking forward to working with: the 2010-12-23-double-laser.bag dataset, which consists of a long route around the ILS lab with a Neato XV-11. I mounted a second laser on the Neato for this run, a Hokuyo URG-04LX-UG01 sensor, which is aligned with the Neato laser from above:

And a picture of the Neato with second laser:

Other SLAM Algorithms: CoreSLAM

gmapping is the map building (SLAM) software most commonly used in ROS. It works very well if you have a very high quality and long-range laser. The Neato laser is neither high quality nor long range (and the low-cost Hokuyos, while fairly accurate, are still near-sighted). There isn't a lot of academic literature that mentions low-cost lidars (unless it's a paper about building a low cost module).

One paper recently published that actually uses a short range Hokuyo is CoreSLAM, a SLAM implementation in under 200 lines of code. Well..., the map update/storage aspects are less than 200 lines of C code, however the complete system relies on a bit more, namely a particle filter for localization.

It looked good. So I integrated it into ROS:


This map is currently only using odometry, I'm going to try and get the MCL localization aspects working more tomorrow. I also need to get the map_saver to work with my ROS wrapper. I hope to have this on our SVN by the weekend.