26 class CActionCollection;
41 :
mrpt::utils::COutputLogger(
"CParticleFilter"), m_options()
49 : adaptiveSampleSize(false),
52 pfAuxFilterOptimal_MaximumSearchSamples(100),
54 PF_algorithm(pfStandardProposal),
55 resamplingMethod(prMultinomial),
56 max_loglikelihood_dyn_range(15),
57 pfAuxFilterStandard_FirstStageWeightsMonteCarlo(false),
58 pfAuxFilterOptimal_MLE(false)
66 PF_algorithm,
"The PF algorithm to use. See TParticleFilterAlgorithm");
69 "The resampling algorithm to use. See TParticleResamplingAlgorithm");
73 "A flag that indicates whether the CParticleFilterCapable object " 74 "should perform adative sample size (default=false)");
77 "The resampling of particles will be performed when ESS (in range " 78 "[0,1]) < BETA (default is 0.5)");
81 "The initial number of particles in the filter (it can change only if " 82 "adaptiveSampleSize=true) (default=1)");
84 pfAuxFilterOptimal_MaximumSearchSamples,
"See Doxygen docs");
87 "An optional step to smooth dramatic changes in the observation model " 88 "to affect the variance of the particle weights (default=1)");
90 max_loglikelihood_dyn_range,
91 "Only for PF_algorithm=pfAuxiliaryPFOptimal");
93 pfAuxFilterStandard_FirstStageWeightsMonteCarlo,
94 "Only for PF_algorithm==pfAuxiliaryPFStandard");
107 adaptiveSampleSize,
bool, iniFile, section.c_str());
112 max_loglikelihood_dyn_range,
double, iniFile, section.c_str());
113 ASSERT_(max_loglikelihood_dyn_range >= 0);
116 section,
"PF_algorithm", PF_algorithm,
true);
118 section,
"resamplingMethod", resamplingMethod,
true);
123 pfAuxFilterOptimal_MaximumSearchSamples,
int, iniFile,
129 pfAuxFilterOptimal_MaximumSearchSamples,
int, iniFile,
134 pfAuxFilterStandard_FirstStageWeightsMonteCarlo,
bool, iniFile,
137 pfAuxFilterOptimal_MLE,
bool, iniFile, section.c_str());
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
The namespace for Bayesian filtering algorithm: different particle filters and Kalman filter algorith...
This class allows loading and storing values and vectors of different types from a configuration text...
TParticleResamplingAlgorithm
Defines the different resampling algorithms.
#define MRPT_SAVE_CONFIG_VAR_COMMENT(variableName, __comment)
TParticleFilterOptions()
Initilization of default parameters.
virtual void saveToConfigFile(mrpt::utils::CConfigFileBase &target, const std::string §ion) const override
This method saves the options to a ".ini"-like file or memory-stored string list. ...
GLsizei const GLchar ** string
ENUMTYPE read_enum(const std::string §ion, const std::string &name, const ENUMTYPE &defaultValue, bool failIfNotFound=false) const
Reads an "enum" value, where the value in the config file can be either a numerical value or the symb...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
TParticleFilterAlgorithm
Defines different types of particle filter algorithms.
CParticleFilter()
Default constructor.
#define MRPT_LOAD_CONFIG_VAR_NO_DEFAULT( variableName, variableType, configFileObject, sectionNameStr)
#define MRPT_LOAD_CONFIG_VAR( variableName, variableType, configFileObject, sectionNameStr)
An useful macro for loading variables stored in a INI-like file under a key with the same name that t...