Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

DualCoding::ShapeSLAMSensorModel< ParticleT > Class Template Reference

this wraps the ShapeSLAMParticleEvaluator in a ParticleFilter::SensorModel so it can be used by the particle filter More...

#include <ShapeSLAMParticleFilter.h>

Inheritance diagram for DualCoding::ShapeSLAMSensorModel< ParticleT >:

Detailed Description

template<typename ParticleT>
class DualCoding::ShapeSLAMSensorModel< ParticleT >

this wraps the ShapeSLAMParticleEvaluator in a ParticleFilter::SensorModel so it can be used by the particle filter

see ShapeSensorModel for discussion of architectural issues vs separation of ShapeSLAMParticleEvaluator

Definition at line 65 of file ShapeSLAMParticleFilter.h.

List of all members.

Public Types

typedef ParticleFilter
< ParticleT >
::SensorModel::particle_type 
particle_type
 convenience typedef
typedef ParticleFilter
< ParticleT >
::SensorModel::particle_collection 
particle_collection
 convenience typedef
typedef ParticleFilter
< ParticleT >
::SensorModel::index_t 
index_t
 convenience typedef

Public Member Functions

 ShapeSLAMSensorModel (ShapeSpace &localShS, ShapeSpace &worldShS)
 constructor, the standard deviation on matches defaults to 60, but you can always reassign stdevSq directly
virtual void evaluate (particle_collection &particles, particle_type &estimate)
 applies the ShapeSLAMParticleEvaluator across a collection of particles
ShapeSpace & getLocalShS () const
ShapeSpace & getWorldShS () const

Public Attributes

float stdevSq
 controls how much weight is given to "near-misses"
float addPenalty
 controls how readily new landmarks are added to the map, vs. penalizing the particle for a bad match

Protected Member Functions

float normpdf (float const distsq)
 computes a (non-normalized) gaussian distribution

Protected Attributes

ShapeSpace & lShS
 Local shape space.
ShapeSpace & wShS
 World shape space.
unsigned int particleLocalLandmarks
 number of entries in particles' individual addLocal (so we know if we need to resize it in all particles)
unsigned int particleWorldLandmarks
 number of entries in particles' individual deleteWorld (so we know if we need to resize it in all particles)

Member Typedef Documentation

template<typename ParticleT>
typedef ParticleFilter<ParticleT>::SensorModel::index_t DualCoding::ShapeSLAMSensorModel< ParticleT >::index_t

convenience typedef

Reimplemented from ParticleFilter< ParticleT >::SensorModel.

Definition at line 69 of file ShapeSLAMParticleFilter.h.

template<typename ParticleT>
typedef ParticleFilter<ParticleT>::SensorModel::particle_collection DualCoding::ShapeSLAMSensorModel< ParticleT >::particle_collection

convenience typedef

Reimplemented from ParticleFilter< ParticleT >::SensorModel.

Definition at line 68 of file ShapeSLAMParticleFilter.h.

template<typename ParticleT>
typedef ParticleFilter<ParticleT>::SensorModel::particle_type DualCoding::ShapeSLAMSensorModel< ParticleT >::particle_type

convenience typedef

Reimplemented from ParticleFilter< ParticleT >::SensorModel.

Definition at line 67 of file ShapeSLAMParticleFilter.h.


Constructor & Destructor Documentation

template<typename ParticleT>
DualCoding::ShapeSLAMSensorModel< ParticleT >::ShapeSLAMSensorModel ( ShapeSpace &  localShS,
ShapeSpace &  worldShS 
)

constructor, the standard deviation on matches defaults to 60, but you can always reassign stdevSq directly

Definition at line 72 of file ShapeSLAMParticleFilter.h.


Member Function Documentation

template<typename ParticleT>
virtual void DualCoding::ShapeSLAMSensorModel< ParticleT >::evaluate ( particle_collection particles,
particle_type estimate 
) [virtual]

applies the ShapeSLAMParticleEvaluator across a collection of particles

Definition at line 83 of file ShapeSLAMParticleFilter.h.

template<typename ParticleT>
ShapeSpace& DualCoding::ShapeSLAMSensorModel< ParticleT >::getLocalShS (  )  const

Definition at line 103 of file ShapeSLAMParticleFilter.h.

template<typename ParticleT>
ShapeSpace& DualCoding::ShapeSLAMSensorModel< ParticleT >::getWorldShS (  )  const
template<typename ParticleT>
float DualCoding::ShapeSLAMSensorModel< ParticleT >::normpdf ( float const   distsq  )  [protected]

computes a (non-normalized) gaussian distribution

normalization doesn't matter because it's constant across particles, and so doesn't matter for purposes of comparison between particles

Definition at line 116 of file ShapeSLAMParticleFilter.h.


Member Data Documentation

template<typename ParticleT>
float DualCoding::ShapeSLAMSensorModel< ParticleT >::addPenalty

controls how readily new landmarks are added to the map, vs. penalizing the particle for a bad match

Definition at line 80 of file ShapeSLAMParticleFilter.h.

Referenced by DualCoding::ShapeSLAMSensorModel< ShapeSLAMParticle >::evaluate().

template<typename ParticleT>
ShapeSpace& DualCoding::ShapeSLAMSensorModel< ParticleT >::lShS [protected]
template<typename ParticleT>
unsigned int DualCoding::ShapeSLAMSensorModel< ParticleT >::particleLocalLandmarks [protected]

number of entries in particles' individual addLocal (so we know if we need to resize it in all particles)

Definition at line 110 of file ShapeSLAMParticleFilter.h.

Referenced by DualCoding::ShapeSLAMSensorModel< ShapeSLAMParticle >::evaluate().

template<typename ParticleT>
unsigned int DualCoding::ShapeSLAMSensorModel< ParticleT >::particleWorldLandmarks [protected]

number of entries in particles' individual deleteWorld (so we know if we need to resize it in all particles)

Definition at line 111 of file ShapeSLAMParticleFilter.h.

Referenced by DualCoding::ShapeSLAMSensorModel< ShapeSLAMParticle >::evaluate().

template<typename ParticleT>
float DualCoding::ShapeSLAMSensorModel< ParticleT >::stdevSq

controls how much weight is given to "near-misses"

Definition at line 78 of file ShapeSLAMParticleFilter.h.

Referenced by DualCoding::ShapeSLAMSensorModel< ShapeSLAMParticle >::normpdf().

template<typename ParticleT>
ShapeSpace& DualCoding::ShapeSLAMSensorModel< ParticleT >::wShS [protected]

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

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