Main MRPT website > C++ reference
MRPT logo
Public Member Functions | Public Attributes | Static Protected Member Functions
mrpt::bayes::CParticleFilter::TParticleFilterOptions Struct Reference

Detailed Description

The configuration of a particle filter.

#include <mrpt/bayes/CParticleFilter.h>

Inheritance diagram for mrpt::bayes::CParticleFilter::TParticleFilterOptions:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 TParticleFilterOptions ()
 Initilization of default parameters.
void loadFromConfigFile (const mrpt::utils::CConfigFileBase &source, const std::string &section)
 See mrpt::utils::CLoadableOptions.
void dumpToTextStream (mrpt::utils::CStream &out) const
 See mrpt::utils::CLoadableOptions.
void loadFromConfigFileName (const std::string &config_file, const std::string &section)
 Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file.
virtual void saveToConfigFile (mrpt::utils::CConfigFileBase &source, const std::string &section)
 This method saves the options to a ".ini"-like file or memory-stored string list.
void saveToConfigFileName (const std::string &config_file, const std::string &section)
 Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file.
void dumpToConsole () const
 This method must display clearly all the contents of the structure in textual form, sending it to a CStream.

Public Attributes

bool adaptiveSampleSize
 A flag that indicates whether the CParticleFilterCapable object should perform adative sample size (default=false).
double BETA
 The resampling of particles will be performed when ESS (in range [0,1]) < BETA (default is 0.5)
unsigned int sampleSize
 The initial number of particles in the filter (it can change only if adaptiveSampleSize=true) (default=1)
unsigned int pfAuxFilterOptimal_MaximumSearchSamples
 In the algorithm "CParticleFilter::pfAuxiliaryPFOptimal" (and in "CParticleFilter::pfAuxiliaryPFStandard" only if pfAuxFilterStandard_FirstStageWeightsMonteCarlo = true) the number of samples for searching the maximum likelihood value and also to estimate the "first stage weights" (see papers!) (default=100)
double powFactor
 An optional step to "smooth" dramatic changes in the observation model to affect the variance of the particle weights, eg weight*=likelihood^powFactor (default=1 = no effects).
TParticleFilterAlgorithm PF_algorithm
 The PF algorithm to use (default=pfStandardProposal) See TParticleFilterAlgorithm for the posibilities.
TParticleResamplingAlgorithm resamplingMethod
 The resampling algorithm to use (default=prMultinomial).
double max_loglikelihood_dyn_range
 Only for PF_algorithm=pfAuxiliaryPFOptimal: If a given particle has a max_likelihood (from the a-priori estimate) below the maximum from all the samples - max_loglikelihood_dyn_range, then the particle is directly discarded.
bool pfAuxFilterStandard_FirstStageWeightsMonteCarlo
 Only for PF_algorithm==pfAuxiliaryPFStandard: If false, the APF will predict the first stage weights just at the mean of the prior of the next time step.
bool verbose
 Enable extra messages for each PF iteration (Default=false)
bool pfAuxFilterOptimal_MLE
 (Default=false) In the algorithm "CParticleFilter::pfAuxiliaryPFOptimal", if set to true, do not perform rejection sampling, but just the most-likely (ML) particle found in the preliminary weight-determination stage.

Static Protected Member Functions

static void dumpVar_int (CStream &out, const char *varName, int v)
 Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.
static void dumpVar_float (CStream &out, const char *varName, float v)
static void dumpVar_double (CStream &out, const char *varName, double v)
static void dumpVar_bool (CStream &out, const char *varName, bool v)
static void dumpVar_string (CStream &out, const char *varName, const std::string &v)

Constructor & Destructor Documentation

mrpt::bayes::CParticleFilter::TParticleFilterOptions::TParticleFilterOptions ( )

Initilization of default parameters.


Member Function Documentation

void mrpt::utils::CLoadableOptions::dumpToConsole ( ) const [inherited]

This method must display clearly all the contents of the structure in textual form, sending it to a CStream.

void mrpt::bayes::CParticleFilter::TParticleFilterOptions::dumpToTextStream ( mrpt::utils::CStream out) const [virtual]
static void mrpt::utils::CLoadableOptions::dumpVar_bool ( CStream out,
const char *  varName,
bool  v 
) [static, protected, inherited]
static void mrpt::utils::CLoadableOptions::dumpVar_double ( CStream out,
const char *  varName,
double  v 
) [static, protected, inherited]
static void mrpt::utils::CLoadableOptions::dumpVar_float ( CStream out,
const char *  varName,
float  v 
) [static, protected, inherited]
static void mrpt::utils::CLoadableOptions::dumpVar_int ( CStream out,
const char *  varName,
int  v 
) [static, protected, inherited]

Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.

static void mrpt::utils::CLoadableOptions::dumpVar_string ( CStream out,
const char *  varName,
const std::string v 
) [static, protected, inherited]
void mrpt::bayes::CParticleFilter::TParticleFilterOptions::loadFromConfigFile ( const mrpt::utils::CConfigFileBase source,
const std::string section 
) [virtual]
void mrpt::utils::CLoadableOptions::loadFromConfigFileName ( const std::string config_file,
const std::string section 
) [inherited]

Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file.

See also:
loadFromConfigFile
virtual void mrpt::utils::CLoadableOptions::saveToConfigFile ( mrpt::utils::CConfigFileBase source,
const std::string section 
) [inline, virtual, inherited]

This method saves the options to a ".ini"-like file or memory-stored string list.

See also:
loadFromConfigFile, saveToConfigFileName

Reimplemented in mrpt::vision::TMultiResDescOptions, and mrpt::vision::TMultiResDescMatchOptions.

Definition at line 87 of file CLoadableOptions.h.

References THROW_EXCEPTION.

void mrpt::utils::CLoadableOptions::saveToConfigFileName ( const std::string config_file,
const std::string section 
) [inherited]

Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file.

See also:
saveToConfigFile, loadFromConfigFileName

Member Data Documentation

A flag that indicates whether the CParticleFilterCapable object should perform adative sample size (default=false).

Definition at line 122 of file CParticleFilter.h.

Referenced by mrpt::slam::PF_implementation::PF_SLAM_implementation_pfStandardProposal(), and mrpt::slam::PF_implementation::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal().

The resampling of particles will be performed when ESS (in range [0,1]) < BETA (default is 0.5)

Definition at line 126 of file CParticleFilter.h.

Referenced by mrpt::slam::PF_implementation::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal().

Only for PF_algorithm=pfAuxiliaryPFOptimal: If a given particle has a max_likelihood (from the a-priori estimate) below the maximum from all the samples - max_loglikelihood_dyn_range, then the particle is directly discarded.

This is done to assure that the rejection sampling doesn't get stuck in an infinite loop trying to get an acceptable sample. Default = 15 (in logarithmic likelihood)

Definition at line 153 of file CParticleFilter.h.

Referenced by mrpt::slam::PF_implementation::PF_SLAM_aux_perform_one_rejection_sampling_step().

The PF algorithm to use (default=pfStandardProposal) See TParticleFilterAlgorithm for the posibilities.

Definition at line 142 of file CParticleFilter.h.

In the algorithm "CParticleFilter::pfAuxiliaryPFOptimal" (and in "CParticleFilter::pfAuxiliaryPFStandard" only if pfAuxFilterStandard_FirstStageWeightsMonteCarlo = true) the number of samples for searching the maximum likelihood value and also to estimate the "first stage weights" (see papers!) (default=100)

Definition at line 134 of file CParticleFilter.h.

Referenced by mrpt::slam::PF_implementation::PF_SLAM_particlesEvaluator_AuxPFOptimal(), and mrpt::slam::PF_implementation::PF_SLAM_particlesEvaluator_AuxPFStandard().

(Default=false) In the algorithm "CParticleFilter::pfAuxiliaryPFOptimal", if set to true, do not perform rejection sampling, but just the most-likely (ML) particle found in the preliminary weight-determination stage.

Definition at line 166 of file CParticleFilter.h.

Referenced by mrpt::slam::PF_implementation::PF_SLAM_particlesEvaluator_AuxPFOptimal(), mrpt::slam::PF_implementation::PF_SLAM_particlesEvaluator_AuxPFStandard(), mrpt::slam::PF_implementation::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal(), and mrpt::slam::PF_implementation::PF_SLAM_aux_perform_one_rejection_sampling_step().

Only for PF_algorithm==pfAuxiliaryPFStandard: If false, the APF will predict the first stage weights just at the mean of the prior of the next time step.

If true, these weights will be estimated as described in the papers for the "pfAuxiliaryPFOptimal" method, i.e. through a monte carlo simulation. In that case, "pfAuxFilterOptimal_MaximumSearchSamples" is the number of MC samples used.

Definition at line 160 of file CParticleFilter.h.

Referenced by mrpt::slam::PF_implementation::PF_SLAM_particlesEvaluator_AuxPFStandard().

An optional step to "smooth" dramatic changes in the observation model to affect the variance of the particle weights, eg weight*=likelihood^powFactor (default=1 = no effects).

Definition at line 138 of file CParticleFilter.h.

Referenced by mrpt::slam::PF_implementation::PF_SLAM_implementation_pfStandardProposal(), and mrpt::slam::PF_implementation::PF_SLAM_aux_perform_one_rejection_sampling_step().

The resampling algorithm to use (default=prMultinomial).

Definition at line 146 of file CParticleFilter.h.

The initial number of particles in the filter (it can change only if adaptiveSampleSize=true) (default=1)

Definition at line 130 of file CParticleFilter.h.




Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011