MRPT
2.0.1
|
The configuration of a particle filter.
Definition at line 102 of file CParticleFilter.h.
#include <mrpt/bayes/CParticleFilter.h>
Public Member Functions | |
void | loadFromConfigFile (const mrpt::config::CConfigFileBase &source, const std::string §ion) override |
This method load the options from a ".ini"-like file or memory-stored string list. More... | |
void | saveToConfigFile (mrpt::config::CConfigFileBase &target, const std::string §ion) const override |
This method saves the options to a ".ini"-like file or memory-stored string list. More... | |
void | loadFromConfigFileName (const std::string &config_file, const std::string §ion) |
Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file. More... | |
void | saveToConfigFileName (const std::string &config_file, const std::string §ion) const |
Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file. More... | |
void | dumpToConsole () const |
Just like dumpToTextStream() but sending the text to the console (std::cout) More... | |
virtual void | dumpToTextStream (std::ostream &out) const |
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream. More... | |
Public Attributes | |
bool | adaptiveSampleSize {false} |
A flag that indicates whether the CParticleFilterCapable object should perform adative sample size (default=false). More... | |
double | BETA {0.5} |
The resampling of particles will be performed when ESS (in range [0,1]) < BETA (default is 0.5) More... | |
unsigned int | sampleSize {1} |
The initial number of particles in the filter (it can change only if adaptiveSampleSize=true) (default=1) More... | |
unsigned int | pfAuxFilterOptimal_MaximumSearchSamples {100} |
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) More... | |
double | powFactor {1} |
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). More... | |
TParticleFilterAlgorithm | PF_algorithm {pfStandardProposal} |
The PF algorithm to use (default=pfStandardProposal) See TParticleFilterAlgorithm for the possibilities. More... | |
TParticleResamplingAlgorithm | resamplingMethod {prMultinomial} |
The resampling algorithm to use (default=prMultinomial). More... | |
double | max_loglikelihood_dyn_range {15} |
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. More... | |
bool | pfAuxFilterStandard_FirstStageWeightsMonteCarlo {false} |
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. More... | |
bool | pfAuxFilterOptimal_MLE {false} |
(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. More... | |
Static Protected Member Functions | |
static void | dumpVar_int (std::ostream &out, const char *varName, int v) |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR. More... | |
static void | dumpVar_float (std::ostream &out, const char *varName, float v) |
static void | dumpVar_double (std::ostream &out, const char *varName, double v) |
static void | dumpVar_bool (std::ostream &out, const char *varName, bool v) |
static void | dumpVar_string (std::ostream &out, const char *varName, const std::string &v) |
|
inherited |
Just like dumpToTextStream() but sending the text to the console (std::cout)
Definition at line 43 of file CLoadableOptions.cpp.
References mrpt::config::CLoadableOptions::dumpToTextStream().
Referenced by mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel(), mrpt::ros1bridge::MapHdl::loadMap(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::printParams(), and mrpt::apps::CGridMapAlignerApp::run().
|
virtualinherited |
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.
The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.
Reimplemented in mrpt::vision::TMultiResDescOptions, mrpt::vision::TMultiResDescMatchOptions, mrpt::maps::COccupancyGridMap2D::TLikelihoodOptions, mrpt::maps::COccupancyGridMap2D::TInsertionOptions, mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::TLoopClosureParams, mrpt::vision::TMatchingOptions, mrpt::hmtslam::CHMTSLAM::TOptions, mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::TLaserParams, mrpt::maps::CLandmarksMap::TLikelihoodOptions, mrpt::maps::TSetOfMetricMapInitializers, mrpt::maps::CPointsMap::TRenderOptions, mrpt::maps::CPointsMap::TLikelihoodOptions, mrpt::maps::COctoMapBase< octree_t, octree_node_t >::TLikelihoodOptions, mrpt::vision::TStereoSystemParams, mrpt::maps::CLandmarksMap::TInsertionOptions, mrpt::maps::CPointsMap::TInsertionOptions, mrpt::maps::CColouredPointsMap::TColourOptions, mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::GraphVisualizationParams, mrpt::slam::CRangeBearingKFSLAM::TOptions, mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::OptimizationParams, mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::TParams, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::TParams, mrpt::maps::CBeaconMap::TInsertionOptions, mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::TParams, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions, mrpt::graphslam::deciders::CFixedIntervalsNRD< GRAPH_T >::TParams, mrpt::maps::CMultiMetricMapPDF::TPredictionParams, mrpt::maps::CBeaconMap::TLikelihoodOptions, mrpt::slam::CRangeBearingKFSLAM2D::TOptions, mrpt::maps::CHeightGridMap2D::TInsertionOptions, mrpt::maps::COctoMapBase< octree_t, octree_node_t >::TInsertionOptions, mrpt::vision::CFeatureExtraction::TOptions, mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider< GRAPH_T >::TParams, mrpt::slam::CMetricMapBuilderRBPF::TConstructionOptions, mrpt::bayes::TKF_options, mrpt::graphslam::TSlidingWindow, mrpt::maps::CReflectivityGridMap2D::TInsertionOptions, mrpt::hmtslam::CTopLCDetector_GridMatching::TOptions, mrpt::slam::CGridMapAligner::TConfigParams, mrpt::hmtslam::CTopLCDetector_FabMap::TOptions, mrpt::graphslam::TUncertaintyPath< GRAPH_T >, mrpt::maps::CHeightGridMap2D_MRF::TInsertionOptions, mrpt::maps::CGasConcentrationGridMap2D::TInsertionOptions, mrpt::maps::CWirelessPowerGridMap2D::TInsertionOptions, mrpt::maps::TMetricMapInitializer, mrpt::slam::CMetricMapBuilderICP::TConfigParams, and mrpt::slam::TKLDParams.
Definition at line 76 of file CLoadableOptions.cpp.
References mrpt::config::CConfigFileMemory::getContent(), out, and mrpt::config::CLoadableOptions::saveToConfigFile().
Referenced by mrpt::config::CLoadableOptions::dumpToConsole(), mrpt::maps::TMetricMapInitializer::dumpToTextStream(), mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::TParams::dumpToTextStream(), mrpt::maps::COccupancyGridMap3D::TMapDefinition::dumpToTextStream_map_specific(), and mrpt::apps::ICP_SLAM_App_Base::run().
|
staticprotectedinherited |
Definition at line 62 of file CLoadableOptions.cpp.
References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.
|
staticprotectedinherited |
Definition at line 56 of file CLoadableOptions.cpp.
References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.
|
staticprotectedinherited |
Definition at line 50 of file CLoadableOptions.cpp.
References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.
|
staticprotectedinherited |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.
Definition at line 44 of file CLoadableOptions.cpp.
References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.
|
staticprotectedinherited |
Definition at line 69 of file CLoadableOptions.cpp.
References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.
|
overridevirtual |
This method load the options from a ".ini"-like file or memory-stored string list.
Only those parameters found in the given "section" and having the same name that the variable are loaded. Those not found in the file will stay with their previous values (usually the default values loaded at initialization). An example of an ".ini" file:
Implements mrpt::config::CLoadableOptions.
Definition at line 141 of file CParticleFilter.cpp.
References ASSERT_, iniFile(), MRPT_END, MRPT_LOAD_CONFIG_VAR, MRPT_LOAD_CONFIG_VAR_NO_DEFAULT, MRPT_START, and mrpt::bayes::CParticleFilter::pfAuxiliaryPFOptimal.
Referenced by mrpt::apps::MonteCarloLocalization_Base::do_pf_localization(), and run_test_pf_localization().
|
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.
Definition at line 22 of file CLoadableOptions.cpp.
References mrpt::config::CLoadableOptions::loadFromConfigFile().
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::loadParams().
|
overridevirtual |
This method saves the options to a ".ini"-like file or memory-stored string list.
Reimplemented from mrpt::config::CLoadableOptions.
Definition at line 102 of file CParticleFilter.cpp.
References adaptiveSampleSize, BETA, max_loglikelihood_dyn_range, MRPT_SAVE_CONFIG_VAR_COMMENT, PF_algorithm, pfAuxFilterOptimal_MaximumSearchSamples, pfAuxFilterOptimal_MLE, pfAuxFilterStandard_FirstStageWeightsMonteCarlo, powFactor, resamplingMethod, and sampleSize.
|
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.
Definition at line 36 of file CLoadableOptions.cpp.
References mrpt::config::CLoadableOptions::saveToConfigFile().
bool mrpt::bayes::CParticleFilter::TParticleFilterOptions::adaptiveSampleSize {false} |
A flag that indicates whether the CParticleFilterCapable object should perform adative sample size (default=false).
Definition at line 115 of file CParticleFilter.h.
Referenced by mrpt::bayes::CParticleFilter::executeOn(), mrpt::bayes::CParticleFilterCapable::fastDrawSample(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_implementation_pfStandardProposal(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfAuxiliaryPFOptimal(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal(), mrpt::bayes::CParticleFilterCapable::prepareFastDrawSample(), and saveToConfigFile().
double mrpt::bayes::CParticleFilter::TParticleFilterOptions::BETA {0.5} |
The resampling of particles will be performed when ESS (in range [0,1]) < BETA (default is 0.5)
Definition at line 118 of file CParticleFilter.h.
Referenced by mrpt::bayes::CParticleFilter::executeOn(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal(), and saveToConfigFile().
double mrpt::bayes::CParticleFilter::TParticleFilterOptions::max_loglikelihood_dyn_range {15} |
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 148 of file CParticleFilter.h.
Referenced by mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_aux_perform_one_rejection_sampling_step(), and saveToConfigFile().
TParticleFilterAlgorithm mrpt::bayes::CParticleFilter::TParticleFilterOptions::PF_algorithm {pfStandardProposal} |
The PF algorithm to use (default=pfStandardProposal) See TParticleFilterAlgorithm for the possibilities.
Definition at line 136 of file CParticleFilter.h.
Referenced by mrpt::bayes::CParticleFilter::executeOn(), mrpt::bayes::CParticleFilterCapable::prediction_and_update(), and saveToConfigFile().
unsigned int mrpt::bayes::CParticleFilter::TParticleFilterOptions::pfAuxFilterOptimal_MaximumSearchSamples {100} |
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 129 of file CParticleFilter.h.
Referenced by mrpt::hmtslam::CLSLAM_RBPF_2DLASER::particlesEvaluator_AuxPFOptimal(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_particlesEvaluator_AuxPFOptimal(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_particlesEvaluator_AuxPFStandard(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfAuxiliaryPFOptimal(), and saveToConfigFile().
bool mrpt::bayes::CParticleFilter::TParticleFilterOptions::pfAuxFilterOptimal_MLE {false} |
(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 165 of file CParticleFilter.h.
Referenced by mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_aux_perform_one_rejection_sampling_step(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_particlesEvaluator_AuxPFOptimal(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_particlesEvaluator_AuxPFStandard(), and saveToConfigFile().
bool mrpt::bayes::CParticleFilter::TParticleFilterOptions::pfAuxFilterStandard_FirstStageWeightsMonteCarlo {false} |
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 159 of file CParticleFilter.h.
Referenced by mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_particlesEvaluator_AuxPFStandard(), and saveToConfigFile().
double mrpt::bayes::CParticleFilter::TParticleFilterOptions::powFactor {1} |
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 133 of file CParticleFilter.h.
Referenced by mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_aux_perform_one_rejection_sampling_step(), mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_implementation_pfStandardProposal(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfAuxiliaryPFOptimal(), mrpt::maps::CMultiMetricMapPDF::prediction_and_update_pfOptimalProposal(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal(), and saveToConfigFile().
TParticleResamplingAlgorithm mrpt::bayes::CParticleFilter::TParticleFilterOptions::resamplingMethod {prMultinomial} |
The resampling algorithm to use (default=prMultinomial).
Definition at line 138 of file CParticleFilter.h.
Referenced by mrpt::bayes::CParticleFilterCapable::fastDrawSample(), mrpt::bayes::CParticleFilterCapable::performResampling(), mrpt::bayes::CParticleFilterCapable::prepareFastDrawSample(), and saveToConfigFile().
unsigned int mrpt::bayes::CParticleFilter::TParticleFilterOptions::sampleSize {1} |
The initial number of particles in the filter (it can change only if adaptiveSampleSize=true) (default=1)
Definition at line 121 of file CParticleFilter.h.
Referenced by saveToConfigFile().
Page generated by Doxygen 1.8.14 for MRPT 2.0.1 Git: 0fef1a6d7 Fri Apr 3 23:00:21 2020 +0200 at vie abr 3 23:20:28 CEST 2020 |