This project contains three parts:
1. DiversityMapping.dll - contains most of the stable SLAM code.
2. GridSlamExlorer.exe - a test widows application that plays with 1.
3. GridSlamService for MSRS - an *unfinished test* service that is taking features from 1. (developers only?)
Why GridSlam? It *might* be able to make clean maps from poor sensors *if* the models are tweaked correctly. This is easiset with sensors that can scan far walls and their occlusions to reduce rotational uncertainty.
What is GridSlam? It models the uncertainty (and confidence) of incoming data (range readings, and robot velocities) to take a best guess of the 'best map'. It does this across a group of hypotheses often called 'particles'.
Each step it:
1) moves every particle in its map according to a blurry guess of the measured or intended velocity.
2) tests the likelyhood of the new readings in each particle's map.
3) kills and copies particles accorging to their relative likelyhood while...
... adding new reading to every surviving particle
Quite a heavy approach, but with careful tweaking it can be worth throwing it all you ranging data and tweaking the models to your needs until it works.
The GridSlamExplorer application helps explore the options.
Warning: the GridSlamService for MSRS included here is known to give a pretty terrible experience except in 'raw' mode (i.e. when there is no slam) The models have not been tweaked for the lazer and odometry of the simulated Pioneer, they are still mostly configured for sonars in narrow corridoors. Further the majority of the interface tabs are at a very early stage.