9 #ifndef CPARTICLEFILTER_H 10 #define CPARTICLEFILTER_H 208 template <
class PARTICLEFILTERCAPABLE,
class PF_ALGORITHM>
212 TParticleFilterStats* stats =
nullptr);
232 m_map.
insert(CParticleFilter::pfStandardProposal,
"pfStandardProposal");
234 CParticleFilter::pfAuxiliaryPFOptimal,
"pfAuxiliaryPFOptimal");
236 CParticleFilter::pfAuxiliaryPFStandard,
"pfAuxiliaryPFStandard");
237 m_map.
insert(CParticleFilter::pfOptimalProposal,
"pfOptimalProposal");
248 m_map.
insert(CParticleFilter::prMultinomial,
"prMultinomial");
249 m_map.
insert(CParticleFilter::prResidual,
"prResidual");
250 m_map.
insert(CParticleFilter::prStratified,
"prStratified");
251 m_map.
insert(CParticleFilter::prSystematic,
"prSystematic");
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.
mrpt::bayes::CParticleFilter::TParticleFilterAlgorithm enum_t
unsigned int pfAuxFilterOptimal_MaximumSearchSamples
In the algorithm "CParticleFilter::pfAuxiliaryPFOptimal" (and in "CParticleFilter::pfAuxiliaryPFStand...
The namespace for Bayesian filtering algorithm: different particle filters and Kalman filter algorith...
mrpt::bayes::CParticleFilter::TParticleResamplingAlgorithm enum_t
Only specializations of this class are defined for each enum type of interest.
Statistics for being returned from the "execute" method.
GLsizei GLsizei GLuint * obj
Declares a class for storing a collection of robot actions.
double weightsVariance_beforeResample
This class allows loading and storing values and vectors of different types from a configuration text...
double ESS_beforeResample
TParticleResamplingAlgorithm
Defines the different resampling algorithms.
TParticleResamplingAlgorithm resamplingMethod
The resampling algorithm to use (default=prMultinomial).
TParticleFilterOptions()
Initilization of default parameters.
virtual ~CParticleFilter()
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
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. ...
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
This class acts as a common interface to the different interfaces (see CParticleFilter::TParticleFilt...
static void fill(bimap< enum_t, std::string > &m_map)
bool pfAuxFilterStandard_FirstStageWeightsMonteCarlo
Only for PF_algorithm==pfAuxiliaryPFStandard: If false, the APF will predict the first stage weights ...
GLsizei const GLchar ** string
double BETA
The resampling of particles will be performed when ESS (in range [0,1]) < BETA (default is 0...
void executeOn(PARTICLEFILTERCAPABLE &obj, const mrpt::obs::CActionCollection *action, const mrpt::obs::CSensoryFrame *observation, TParticleFilterStats *stats=nullptr)
Executes a complete prediction + update step of the selected particle filtering algorithm.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
TParticleFilterAlgorithm
Defines different types of particle filter algorithms.
double max_loglikelihood_dyn_range
Only for PF_algorithm=pfAuxiliaryPFOptimal: If a given particle has a max_likelihood (from the a-prio...
double powFactor
An optional step to "smooth" dramatic changes in the observation model to affect the variance of the ...
The configuration of a particle filter.
CParticleFilter()
Default constructor.
static void fill(bimap< enum_t, std::string > &m_map)
GLsizei GLsizei GLchar * source
unsigned int sampleSize
The initial number of particles in the filter (it can change only if adaptiveSampleSize=true) (defaul...
bool pfAuxFilterOptimal_MLE
(Default=false) In the algorithm "CParticleFilter::pfAuxiliaryPFOptimal", if set to true...
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map.
CParticleFilter::TParticleFilterOptions m_options
The options to be used in the PF, must be set before executing any step of the particle filter...
TParticleFilterAlgorithm PF_algorithm
The PF algorithm to use (default=pfStandardProposal) See TParticleFilterAlgorithm for the posibilitie...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
bool adaptiveSampleSize
A flag that indicates whether the CParticleFilterCapable object should perform adative sample size (d...