We refactored the MapTool application in preparation of implementing FastSLAM. The main change we made was to separate the particle filter code which will form the heart of FastSLAM from the code related to the robot's dimensions, path history, and sensor history. SLAM itself is only concerned with where the robot has moved in a particular interation and the spotting of landmarks. Some other changes were made to make the code a bit more object oriented but with care not to introduce any significan inefficiencies.

MapTool can now recieve information from the robot's central control program about spotting landmarks. It also now stores movement and sensor (sonar, IR) history for eventual construction of an evidence grid. The MapTool interface was updated as well. It now displays the robot's path (as reported by the odometry), places a red mark at locations where robot sensor information was collected, a blue dot where the robot was when a landmark was spotted, and a green dot where the landmark was reported to be.

The screenshot above is from a simulation of this, as is probably evident from the dummy sensor data output to the console.