| Homepage | Demos | Overview | Downloads | Tutorials | Reference | Credits |
ParticleFilter Class Reference#include <ParticleFilter.h>
Detailed DescriptionParticleFilter localizes the robot by matching local shapes against world shapes.Create an instance of ParticleFilter, and set its parameters by modifying member variables such as num_particles and num_generations. Then call its localize() method to determine the robot's location. Subsequent calls will start with the current particle distribution unless you call uniformly_distribute() to randomize things.
Definition at line 25 of file ParticleFilter.h.
Constructor & Destructor Documentation
Definition at line 69 of file ParticleFilter.h.
don't call this
Member Function Documentation
Match each local landmark against the world landmarks.
Definition at line 218 of file ParticleFilter.cc. Referenced by ParticleFilter::computeParticleScores().
Calculate the score for each Particle p, leaving it in p.prob.
Definition at line 176 of file ParticleFilter.cc. Referenced by ParticleFilter::getInitialGuess(), ParticleFilter::moveBy(), and ParticleFilter::resample().
Definition at line 351 of file ParticleFilter.cc. Referenced by ParticleFilter::computeParticleScores().
Definition at line 297 of file ParticleFilter.cc. Referenced by ParticleFilter::computeLocalMatch().
Check particle scores, and randomize and repeat if no particle is close to a solution.
Definition at line 165 of file ParticleFilter.cc. Referenced by ParticleFilter::localize().
Load the local and world landmarks from their shape spaces, and create or resize particles if necessary.
Definition at line 62 of file ParticleFilter.cc. Referenced by ParticleFilter::localize(), and ParticleFilter::uniformlyDistribute().
Invoke the particle filter: determine best match of local view to world map. Returns index of best particle, or -1 if failure.
Definition at line 132 of file ParticleFilter.cc.
Create two Particle vectors of length numParticles, stored in curParticles and newParticles. This function is called once, automatically, by localize() to initialize the Particle vectors. It should only be called explicitly when the value of numParticles has changed. Definition at line 42 of file ParticleFilter.cc. Referenced by ParticleFilter::loadLms().
Update the current particles when the robot moves.
Definition at line 154 of file ParticleFilter.cc.
Definition at line 146 of file ParticleFilter.h.
don't call this
Set new Particle i to random dx, dy, and theta values. Called by uniformlyDistribute().
Definition at line 120 of file ParticleFilter.cc. Referenced by ParticleFilter::resample(), and ParticleFilter::uniformlyDistribute().
Reset particle filter and restore default settings.
Definition at line 25 of file ParticleFilter.cc. Referenced by VRmixin::~VRmixin().
Generate newParticles from curParticles, then swap the two vectors and compute scores.
Definition at line 307 of file ParticleFilter.cc. Referenced by ParticleFilter::localize().
Set the size of each Particle's addLocal vector to nlocal, and resize some internal vectors.
Definition at line 49 of file ParticleFilter.cc. Referenced by ParticleFilter::loadLms().
Set up particleView vectors based on the parameters of the i-th Particle.
Definition at line 199 of file ParticleFilter.cc. Referenced by ParticleFilter::computeParticleScores().
Constrain new particles to world boundaries defined by a polygon.
Definition at line 94 of file ParticleFilter.h.
Uniformly distribute particles throughout the region spanned by the world landmarks.
Definition at line 109 of file ParticleFilter.cc. Referenced by ParticleFilter::getInitialGuess(), and ParticleFilter::loadLms().
Member Data Documentation
Index of highest scoring particle from most recent resampling.
Definition at line 55 of file ParticleFilter.h. Referenced by ParticleFilter::computeParticleScores(), ParticleFilter::getInitialGuess(), ParticleFilter::localize(), ParticleFilter::reinitialize(), and ParticleFilter::resample().
Pointer to vector holding the current set of particles.
Definition at line 54 of file ParticleFilter.h. Referenced by ParticleFilter::getInitialGuess(), ParticleFilter::loadLms(), ParticleFilter::makeParticles(), ParticleFilter::moveBy(), ParticleFilter::reinitialize(), ParticleFilter::resample(), ParticleFilter::resizeParticles(), and ParticleFilter::uniformlyDistribute().
Definition at line 31 of file ParticleFilter.h. Referenced by ParticleFilter::localize(), and ParticleFilter::reinitialize().
Definition at line 30 of file ParticleFilter.h. Referenced by ParticleFilter::localize(), and ParticleFilter::reinitialize(). Pointer to current vector of local landmarks.
Definition at line 59 of file ParticleFilter.h. Referenced by ParticleFilter::computeLocalMatch(), ParticleFilter::loadLms(), and ParticleFilter::setParticleView().
Index of best matching world landmark for each local landmark according to the currently-selected particle.
Definition at line 66 of file ParticleFilter.h. Referenced by ParticleFilter::determineAdditions(), ParticleFilter::reinitialize(), and ParticleFilter::resizeParticles().
Match scores for local landmarks according to the currently-selected particle.
Definition at line 65 of file ParticleFilter.h. Referenced by ParticleFilter::computeParticleScores(), ParticleFilter::determineAdditions(), ParticleFilter::reinitialize(), and ParticleFilter::resizeParticles(). Local shape space.
Definition at line 39 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms().
Pointer to vector where new particles are generated by resampling.
Definition at line 58 of file ParticleFilter.h. Referenced by ParticleFilter::makeParticles(), ParticleFilter::reinitialize(), ParticleFilter::resample(), and ParticleFilter::uniformlyDistribute().
Current number of local landmarks.
Definition at line 47 of file ParticleFilter.h. Referenced by ParticleFilter::computeParticleScores(), ParticleFilter::determineAdditions(), ParticleFilter::getInitialGuess(), ParticleFilter::loadLms(), ParticleFilter::localize(), ParticleFilter::resizeParticles(), and ParticleFilter::setParticleView().
Scale of noise for rotation parameter theta.
Definition at line 45 of file ParticleFilter.h. Referenced by ParticleFilter::localize(), ParticleFilter::reinitialize(), and ParticleFilter::spawnInto().
Scale of noise for translation parameters x,y.
Definition at line 44 of file ParticleFilter.h. Referenced by ParticleFilter::localize(), ParticleFilter::reinitialize(), and ParticleFilter::spawnInto().
Maximum number of generations of resampling.
Definition at line 42 of file ParticleFilter.h. Referenced by ParticleFilter::localize(), and ParticleFilter::reinitialize().
Number of particles to use.
Definition at line 41 of file ParticleFilter.h. Referenced by ParticleFilter::computeParticleScores(), ParticleFilter::makeParticles(), ParticleFilter::moveBy(), ParticleFilter::reinitialize(), ParticleFilter::resample(), ParticleFilter::resizeParticles(), and ParticleFilter::uniformlyDistribute().
Number of times to restart if no good initial guess.
Definition at line 43 of file ParticleFilter.h. Referenced by ParticleFilter::getInitialGuess(), and ParticleFilter::reinitialize().
Current number of world landmarks Definition at line 48 of file ParticleFilter.h. Referenced by ParticleFilter::computeLocalMatch(), ParticleFilter::loadLms(), and ParticleFilter::localize().
x coords of local landmarks according to the currently-selected particle
Definition at line 61 of file ParticleFilter.h. Referenced by ParticleFilter::computeLocalMatch(), ParticleFilter::resizeParticles(), and ParticleFilter::setParticleView().
x coords of other point of local line
Definition at line 63 of file ParticleFilter.h. Referenced by ParticleFilter::computeLocalMatch(), ParticleFilter::resizeParticles(), and ParticleFilter::setParticleView().
y coords of local landmarks according to the currently-selected particle
Definition at line 62 of file ParticleFilter.h. Referenced by ParticleFilter::computeLocalMatch(), ParticleFilter::resizeParticles(), and ParticleFilter::setParticleView().
y coords of other point of local line
Definition at line 64 of file ParticleFilter.h. Referenced by ParticleFilter::computeLocalMatch(), ParticleFilter::resizeParticles(), and ParticleFilter::setParticleView().
Percent of random particles in each resampling.
Definition at line 37 of file ParticleFilter.h. Referenced by ParticleFilter::resample().
If valid shape, particles must lie inside it.
Definition at line 46 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms(), ParticleFilter::randomizeNewParticle(), ParticleFilter::reinitialize(), ParticleFilter::setWorldBounds(), and ParticleFilter::spawnInto(). Pointer to current vector of world landmarks.
Definition at line 60 of file ParticleFilter.h. Referenced by ParticleFilter::computeLocalMatch(), and ParticleFilter::loadLms(). World shape space.
Definition at line 40 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms().
Bound box of world shapes.
Definition at line 51 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms().
Bound box of world shapes.
Definition at line 51 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms(), and ParticleFilter::randomizeNewParticle().
Bound box of world shapes.
Definition at line 51 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms(), and ParticleFilter::randomizeNewParticle().
Bound box of world shapes.
Definition at line 52 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms().
Bound box of world shapes.
Definition at line 52 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms(), and ParticleFilter::randomizeNewParticle().
Bound box of world shapes.
Definition at line 52 of file ParticleFilter.h. Referenced by ParticleFilter::loadLms(), and ParticleFilter::randomizeNewParticle().
The documentation for this class was generated from the following files: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
DualCoding 3.0beta |
Generated Wed Oct 4 00:02:28 2006 by Doxygen 1.4.7 |