This code implements Dieter Fox's KLD-sampling algorithm (KLD stands for Kullback-Leibler distance).
Further information
Long Description
When using particle filters to approximate an unknown
distribution, too few particles may not adequately sample the
underlying distribution, while too many samples can increase
the run time of time sensitive programs (e.g. particle filter
localization for a mobile robot). Running this program
demonstrates how different KLD-sampling parameters affect both
the number of samples and the estimated mean and variance of
the underlying distribution. This sample program assumes a 1D
underlying distribution, but the provided KLD-sampling module
works on multivariate distributions.
Hardware/Software Requirements
Linux/Unix, G++ 3.3/4.0.x
Papers Describing the Approach
Dieter Fox:
Adapting the sample size in particle filters through KLD-sampling,
International Journal of Robotics Research (IJRR), 2003 (
link)
License Information
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The authors allow the users of OpenSLAM.org to use and modify the source code for their own research. Any commercial application, redistribution, etc has to be arranged between users and authors individually and is not covered by OpenSLAM.org.
This program is released under the GNU General Public License (GPL). Copyright (C) 2006 - Patrick Beeson