Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
ParticleFilter< ParticleT >::LowVarianceResamplingPolicy Class ReferenceThis 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. More...
Inheritance diagram for ParticleFilter< ParticleT >::LowVarianceResamplingPolicy:
Detailed Descriptiontemplate<typename ParticleT>
|
Public Member Functions | |
LowVarianceResamplingPolicy () | |
constructor | |
virtual void | resample (particle_collection &particles) |
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 | |
unsigned int | resampleCount |
the number of resampling attempts which have occurred. |
ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::LowVarianceResamplingPolicy | ( | ) |
constructor
Definition at line 285 of file ParticleFilter.h.
bool ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::nextResampleIsFull | ( | ) |
returns true if the next call to resample will trigger a "real" resampling (is resampleCount greater than resampleDelay?)
Definition at line 292 of file ParticleFilter.h.
void ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample | ( | particle_collection & | particles | ) | [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 495 of file ParticleFilter.h.
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 307 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
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 299 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
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 305 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
particle_collection ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::newParticles [protected] |
temporary scratch space as particles are created
Definition at line 311 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 312 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::nextResampleIsFull(), and 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 309 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::nextResampleIsFull(), and ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
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 297 of file ParticleFilter.h.
Referenced by ParticleFilter< ParticleT >::LowVarianceResamplingPolicy::resample().
Tekkotsu v5.1CVS |
Generated Mon May 9 04:59:14 2016 by Doxygen 1.6.3 |