Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

ParticleFilter< ParticleT >::SensorModel Class Reference

A sensor model is used to update particle weights to account based on each particle's ability to explain observations taken from the system. More...

#include <ParticleFilter.h>

Inheritance diagram for ParticleFilter< ParticleT >::SensorModel:

Detailed Description

template<typename ParticleT>
class ParticleFilter< ParticleT >::SensorModel

A sensor model is used to update particle weights to account based on each particle's ability to explain observations taken from the system.

Definition at line 132 of file ParticleFilter.h.

List of all members.

Public Types

typedef ParticleT particle_type
 redefinition here allows reference to the particle type even if the template parameter may be abstracted away due to a typedef
typedef std::vector
< particle_type
particle_collection
 the collection type we'll be using to store the particles
typedef
particle_collection::size_type 
index_t
 index type for refering to particles within the collection

Public Member Functions

virtual ~SensorModel ()
 destructor (no-op for base class)
virtual void evaluate (particle_collection &particles, particle_type &estimate)=0
 once passed to the particle filter's updateSensors(), this will be called to allow the sensor model to update the 'weight' member of each particle

Member Typedef Documentation

template<typename ParticleT>
typedef particle_collection::size_type ParticleFilter< ParticleT >::SensorModel::index_t
template<typename ParticleT>
typedef std::vector<particle_type> ParticleFilter< ParticleT >::SensorModel::particle_collection
template<typename ParticleT>
typedef ParticleT ParticleFilter< ParticleT >::SensorModel::particle_type

redefinition here allows reference to the particle type even if the template parameter may be abstracted away due to a typedef

Reimplemented in ShapeSensorModel< ParticleT >, DualCoding::ShapeSLAMSensorModel< ParticleT >, ShapeSensorModel< LocalizationParticle >, and DualCoding::ShapeSLAMSensorModel< ShapeSLAMParticle >.

Definition at line 134 of file ParticleFilter.h.


Constructor & Destructor Documentation

template<typename ParticleT>
virtual ParticleFilter< ParticleT >::SensorModel::~SensorModel (  )  [virtual]

destructor (no-op for base class)

Definition at line 137 of file ParticleFilter.h.


Member Function Documentation

template<typename ParticleT>
virtual void ParticleFilter< ParticleT >::SensorModel::evaluate ( particle_collection particles,
particle_type estimate 
) [pure virtual]

once passed to the particle filter's updateSensors(), this will be called to allow the sensor model to update the 'weight' member of each particle

Parameters:
particles the current set of particles to be evaluated
[out] estimate the weighted mean of the particle values

Remember to update each particle's weight, don't overwrite it. In other words, you want to combine (e.g. add or multiply) the weight from the current sensor evaluation with the weight currently stored in each particle, don't just replace it. This is because there may be several sensor updates between resamplings so that particles can be more accurately evaluated.

Implemented in ShapeSensorModel< LocalizationParticle >, and DualCoding::ShapeSLAMSensorModel< ShapeSLAMParticle >.


The documentation for this class was generated from the following file:

Tekkotsu v5.1CVS
Generated Mon May 9 04:59:14 2016 by Doxygen 1.6.3