The application pf-localization implements a particle filter for localization (aka Markov Localization) of a mobile robot given odometry, a map of the environment and any number and combination of sensor observations such as a likelihood can be computed given the map. This generic implementation is possible through the generic design of metric maps in the MRPT C++ libraries.
This GUI application is an extension to a similar Matlab program developed by J. Neira and J. D. Tardós (University of Zaragoza).
It allows extensive experimentation with data-association and the behavior of Kalman Filter-based 2D SLAM, in a didactic way.
It is actually a front-end to the class mrpt::slam::CMetricMapBuilderRBPF. All the parameters to the algorithm are passed through a configuration file in the command line. The filter processes actions and observations from a rawlog file and optionally generates a number of files describing the evolution of the filter and the maps.
This GUI application displays a flat world where obstacles are described through an occupancy grid map and where the user can choose target locations for running reactive navigation simulations. The map can be changed to anyone supplied by the user, and all the options that determine the behavior of the navigation system can be as well modified by the user to experiment by changing values.