-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
71 lines (49 loc) · 2.41 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
KLD-SAMPLING: Adequately Sampling from an Unknown Distribution.
Copyright (C) 2006 - Patrick Beeson ([email protected])
This program is released under the GNU General Public License (GPL).
See COPYING for details.
----------------------------------
This program implements Dieter Fox's KLD-sampling algorithm (KLD
stands for Kullback-Leibler distance). 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.
Relevant Citations:
Fox, 2003, "Adapting the sample size in particle filters through
KLD-sampling." International Journal of Robotics Research (IJRR).
----------------------------------
Installation
------------
$ make
Running
-------
$ ./test <options>
options:
-? : Prints options
bin-size, quantile, and error are best determined experimentally. See
Dieter Fox's text for experiments on mobile robot localization.
-bin-size B : KLD-sampling uses discrete bins to detect how well the
underlying distribution is being sampled. The larger the
bins, the fewer particles needed, but the less accurate the
discrete, sampled distribution will be. Value must be
greater than 0.
-quantile Q : Probability that the KL-distance between the discrete,
sampled distribution (set by bin-size) is less than ERROR
(see below) from the true distribution. Must be between 0.5
and 1.0 (max thresholded at 0.99998).
-error E : Target KL-distance between discrete, sampled distribution
and true underlying distribution. Must be greater than 0.
-min-samples M : Minimum number of samples. KLD-sampling always
samples AT LEAST 10 samples.
-underlying-mean U : The mean of the underlying Gaussian being sampled
from. By default this is 0.
-underlying-variance V : The variance of the underlying Gaussian being
sampled from. By default this is 1.
-seed S : Sets the random number generator seed. By default,
the system clock is used to create a seed at run time.