23 namespace mrpt { 
namespace obs { 
class CActionCollection; } }
    24 namespace mrpt { 
namespace obs { 
class CSensoryFrame; } }
    33         mrpt::utils::COutputLogger(
"CParticleFilter"),
    58         obj.prediction_and_update( action, observation, 
m_options );
    62         obj.normalizeWeights();
    68                 const size_t M = 
obj.particlesCount();
    76             double      weightsMean = 0, var = 0;
    77                         for (
size_t i=0;i<M;i++) weightsMean+=exp(
obj.getW(i));
    79                         for (
size_t i=0;i<M;i++) var+=
square(exp(
obj.getW(i))-weightsMean);
   107         adaptiveSampleSize              ( false ),
   110         pfAuxFilterOptimal_MaximumSearchSamples ( 100 ),
   112         PF_algorithm                    ( pfStandardProposal ),
   113         resamplingMethod                ( prMultinomial ),
   114         max_loglikelihood_dyn_range ( 15 ),
   115         pfAuxFilterStandard_FirstStageWeightsMonteCarlo ( false ),
   116         pfAuxFilterOptimal_MLE(false)
   125         out.
printf(
"\n----------- [CParticleFilter::TParticleFilterOptions] ------------ \n\n");
   127         out.
printf(
"PF_algorithm                            = ");
   128         switch (PF_algorithm)
   135                 out.
printf(
"UNKNOWN!!\n"); 
break;
   138         out.
printf(
"m_resamplingMethod                      = ");
   139         switch (resamplingMethod)
   146                 out.
printf(
"UNKNOWN!!\n"); 
break;
   149         out.
printf(
"adaptiveSampleSize                      = %c\n", adaptiveSampleSize ? 
'Y':
'N' );
   150         out.
printf(
"sampleSize                              = %i\n", sampleSize );
   151         out.
printf(
"BETA                                    = %f\n", BETA );
   152         out.
printf(
"pfAuxFilterOptimal_MaximumSearchSamples = %i\n", pfAuxFilterOptimal_MaximumSearchSamples );
   153         out.
printf(
"powFactor                               = %f\n", powFactor);
   154         out.
printf(
"max_loglikelihood_dyn_range             = %f\n", max_loglikelihood_dyn_range);
   155         out.
printf(
"pfAuxFilterStandard_FirstStageWeightsMonteCarlo = %c\n", pfAuxFilterStandard_FirstStageWeightsMonteCarlo ? 
'Y':
'N');
   156         out.
printf(
"pfAuxFilterOptimal_MLE                  = %c\n", pfAuxFilterOptimal_MLE? 
'Y':
'N');
   175         ASSERT_(max_loglikelihood_dyn_range>=0)
   190         MRPT_LOAD_CONFIG_VAR(pfAuxFilterStandard_FirstStageWeightsMonteCarlo,
bool,      iniFile,section.c_str());
 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...
 
#define MRPT_LOAD_CONFIG_VAR_NO_DEFAULT(variableName, variableType, configFileObject, sectionNameStr)
 
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion) MRPT_OVERRIDE
This method load the options from a ".ini"-like file or memory-stored string list. 
 
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...
 
T square(const T x)
Inline function for the square of a number. 
 
double ESS_beforeResample
 
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
 
void executeOn(CParticleFilterCapable &obj, const mrpt::obs::CActionCollection *action, const mrpt::obs::CSensoryFrame *observation, TParticleFilterStats *stats=NULL)
Executes a complete prediction + update step of the selected particle filtering algorithm. 
 
TParticleResamplingAlgorithm
Defines the different resampling algorithms. 
 
TParticleFilterOptions()
Initilization of default parameters. 
 
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
 
This virtual class defines the interface that any particles based PDF class must implement in order t...
 
#define MRPT_LOG_DEBUG(_STRING)
 
std::string BASE_IMPEXP format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf. 
 
GLsizei const GLchar ** string
 
double BETA
The resampling of particles will be performed when ESS (in range [0,1]) < BETA (default is 0...
 
#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...
 
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_CAST_NO_DEFAULT(variableName, variableType, variableTypeCast, configFileObject, sectionNameStr)
 
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...
 
virtual int printf(const char *fmt,...) MRPT_printf_format_check(2
Writes a string to the stream in a textual form. 
 
bool adaptiveSampleSize
A flag that indicates whether the CParticleFilterCapable object should perform adative sample size (d...
 
void dumpToTextStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
This method should clearly display all the contents of the structure in textual form, sending it to a CStream.