| Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
ParticleFilter< ParticleT >::LowVarianceResamplingPolicy Class Reference#include <ParticleFilter.h>
Inheritance diagram for ParticleFilter< ParticleT >::LowVarianceResamplingPolicy: ![]() Detailed Descriptiontemplate<typename ParticleT>
This class provides a generic, default ResamplingPolicy. It is based on the low variance resampling policy algorithm found in "Probabilistic Robotics" by Sebastian Thrun, Wolfram Burgard, Dieter Fox.
| |||||||||||||||||||||||||||||||||||||||||||||||||
Public Member Functions | |
| LowVarianceResamplingPolicy () | |
| constructor | |
| virtual void | resample (particle_collection &particles, index_t &bestIndex) |
| the particle filter will call resample() when the particles have been evaluated and are ready to be selected | |
| bool | nextResampleIsFull () |
| returns true if the next call to resample will trigger a "real" resampling (is resampleCount greater than resampleDelay?) | |
Public Attributes | |
| float | varianceScale |
| If non-negative, passed to the DistributionPolicy's jiggle() for replicated particles; otherwise an "automatic" value is used which inversely scales with the best particle weight. | |
| float | maxRedistribute |
| A percentage (0-1) of the particles which can be randomly re-distributed on a single resampling if the best particle's weight is below minAcceptableWeight. | |
| float | minAcceptableWeight |
| The lowest weight per resample attempt to consider "acceptable". | |
| bool | logWeights |
| This controls the interpretation of particle weights. If true, they are interpreted as "log space", otherwise "linear space". | |
| unsigned int | resampleDelay |
| This indicates how many resampling attempts should be skipped before actually doing it. See class notes for rationale. | |
Protected Attributes | |
| particle_collection | newParticles |
| temporary scratch space as particles are created, and then the collections are swapped | |
| unsigned int | resampleCount |
| the number of resampling attempts which have occurred. | |
| float ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::minAcceptableWeight |
The lowest weight per resample attempt to consider "acceptable".
This is scaled by resampleDelay when being compared to particle weights, so that you don't have to adjust this parameter when you increase resampleDelay. As the best particle weight drops below this value, more particles will be randomly redistributed, up to maxRedistribute.
Definition at line 309 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample(), and ParticleFilter< ParticleT >::setMinAcceptableWeight().
| float ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::varianceScale |
If non-negative, passed to the DistributionPolicy's jiggle() for replicated particles; otherwise an "automatic" value is used which inversely scales with the best particle weight.
A negative value is still used to control the maximum magnitude of the resampling variance. It's better to keep this small (or zero) and rely on the sensor and motion model's noise parameters
Definition at line 301 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample(), and ParticleFilter< ParticleT >::setVarianceScale().
|
Tekkotsu v3.0 |
Generated Fri May 11 20:08:30 2007 by Doxygen 1.4.7 |