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. |
ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::LowVarianceResamplingPolicy | ( | ) | [inline] |
void ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample | ( | particle_collection & | particles, | |
index_t & | bestIndex | |||
) | [inline, virtual] |
the particle filter will call resample() when the particles have been evaluated and are ready to be selected
Implements ParticleFilter< ParticleT >::ResamplingPolicy.
Definition at line 480 of file ParticleFilter.h.
bool ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::nextResampleIsFull | ( | ) | [inline] |
returns true if the next call to resample will trigger a "real" resampling (is resampleCount greater than resampleDelay?)
Definition at line 295 of file ParticleFilter.h.
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 300 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample(), and ParticleFilter< ParticleT >::setVarianceScale().
float ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::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.
Definition at line 302 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample(), and ParticleFilter< ParticleT >::setMaxRedistribute().
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 308 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample(), and ParticleFilter< ParticleT >::setMinAcceptableWeight().
bool ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::logWeights |
This controls the interpretation of particle weights. If true, they are interpreted as "log space", otherwise "linear space".
Definition at line 310 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
unsigned int ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resampleDelay |
This indicates how many resampling attempts should be skipped before actually doing it. See class notes for rationale.
Definition at line 312 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::nextResampleIsFull(), ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample(), and ParticleFilter< ParticleT >::setResampleDelay().
particle_collection ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::newParticles [protected] |
temporary scratch space as particles are created, and then the collections are swapped
Definition at line 314 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
unsigned int ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resampleCount [protected] |
the number of resampling attempts which have occurred.
Definition at line 315 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::nextResampleIsFull(), and ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
Tekkotsu v4.0 |
Generated Thu Nov 22 00:58:35 2007 by Doxygen 1.5.4 |