This template class declares the array of particles and its internal data, managing some memory-related issues and providing an easy implementation of virtual methods required for implementing a CParticleFilterCapable.
See also the methods in the base class CParticleFilterDataImpl<>.
Since CProbabilityParticle implements all the required operators, the member "m_particles" can be safely copied with "=" or copy constructor operators and new objects will be created internally instead of copying the internal pointers, which would lead to memory corruption.
Definition at line 206 of file CParticleFilterData.h.
#include <mrpt/bayes/CParticleFilterData.h>
Public Types | |
using | CParticleDataContent = T |
This is the type inside the corresponding CParticleData class. More... | |
using | CParticleData = CProbabilityParticle< T, STORAGE > |
Use this to refer to each element in the m_particles array. More... | |
using | CParticleList = std::deque< CParticleData > |
Use this type to refer to the list of particles m_particles. More... | |
Public Member Functions | |
CParticleFilterData () | |
Default constructor. More... | |
void | clearParticles () |
Free the memory of all the particles and reset the array "m_particles" to length zero More... | |
template<class STREAM > | |
void | writeParticlesToStream (STREAM &out) const |
Dumps the sequence of particles and their weights to a stream (requires T implementing CSerializable). More... | |
template<class STREAM > | |
void | readParticlesFromStream (STREAM &in) |
Reads the sequence of particles and their weights from a stream (requires T implementing CSerializable). More... | |
void | getWeights (std::vector< double > &out_logWeights) const |
Returns a vector with the sequence of the logaritmic weights of all the samples. More... | |
const CParticleData * | getMostLikelyParticle () const |
Returns the particle with the highest weight. More... | |
Public Attributes | |
CParticleList | m_particles |
The array of particles. More... | |
Static Public Attributes | |
static const particle_storage_mode | PARTICLE_STORAGE = STORAGE |
using mrpt::bayes::CParticleFilterData< T, STORAGE >::CParticleData = CProbabilityParticle<T, STORAGE> |
Use this to refer to each element in the m_particles array.
Definition at line 212 of file CParticleFilterData.h.
using mrpt::bayes::CParticleFilterData< T, STORAGE >::CParticleDataContent = T |
This is the type inside the corresponding CParticleData class.
Definition at line 210 of file CParticleFilterData.h.
using mrpt::bayes::CParticleFilterData< T, STORAGE >::CParticleList = std::deque<CParticleData> |
Use this type to refer to the list of particles m_particles.
Definition at line 214 of file CParticleFilterData.h.
|
inline |
Default constructor.
Definition at line 221 of file CParticleFilterData.h.
|
inline |
Free the memory of all the particles and reset the array "m_particles" to length zero
Definition at line 224 of file CParticleFilterData.h.
Referenced by mrpt::maps::CMultiMetricMapPDF::getEstimatedPosePDFAtTime(), and mrpt::bayes::CParticleFilterData< CRBPFParticleData >::readParticlesFromStream().
|
inline |
Returns the particle with the highest weight.
Definition at line 292 of file CParticleFilterData.h.
Referenced by mrpt::hmtslam::CHMTSLAM::generateLogFiles(), and mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_AA().
|
inline |
Returns a vector with the sequence of the logaritmic weights of all the samples.
Definition at line 278 of file CParticleFilterData.h.
Referenced by mrpt::maps::CBeaconMap::internal_insertObservation().
|
inline |
Reads the sequence of particles and their weights from a stream (requires T implementing CSerializable).
Definition at line 251 of file CParticleFilterData.h.
|
inline |
Dumps the sequence of particles and their weights to a stream (requires T implementing CSerializable).
Definition at line 230 of file CParticleFilterData.h.
CParticleList mrpt::bayes::CParticleFilterData< T, STORAGE >::m_particles |
The array of particles.
Definition at line 218 of file CParticleFilterData.h.
Referenced by mrpt::poses::CPosePDFParticles::append(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::auxiliarComputeObservationLikelihood(), mrpt::hmtslam::CLocalMetricHypothesis::changeCoordinateOrigin(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::clearParticles(), mrpt::hmtslam::CHierarchicalMapMHPartition::computeCoordinatesTransformationBetweenNodes(), mrpt::obs::CActionRobotMovement3D::computeFromOdometry_model6DOF(), mrpt::obs::CActionRobotMovement2D::computeFromOdometry_modelThrun(), mrpt::hmtslam::CHierarchicalMapMHPartition::computeOverlapProbabilityBetweenNodes(), mrpt::poses::CPose3DPDFParticles::copyFrom(), mrpt::poses::CPosePDFParticles::copyFrom(), mrpt::poses::CPose3DPDF::createFrom2D(), mrpt::poses::CPoseInterpolatorBase< 3 >::filter(), mrpt::poses::CPosePDFGrid::getCovarianceAndMean(), mrpt::maps::CMultiMetricMapPDF::getEstimatedPosePDFAtTime(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getMostLikelyParticle(), mrpt::hmtslam::CLocalMetricHypothesis::getPathParticles(), mrpt::hmtslam::CLocalMetricHypothesis::getPoseParticles(), mrpt::hmtslam::CLocalMetricHypothesis::getRelativePose(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getWeights(), mrpt::maps::CBeaconMap::internal_computeObservationLikelihood(), mrpt::maps::CBeaconMap::internal_insertObservation(), mrpt::poses::CPose3DPDFParticles::inverse(), mrpt::poses::CPosePDFParticles::inverse(), mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_AA(), mrpt::hmtslam::CHMTSLAM::perform_TLC(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfAuxiliaryPFOptimal(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::prediction_and_update_pfOptimalProposal(), mrpt::slam::CMetricMapBuilderRBPF::processActionObservation(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::processOneLMH(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::readParticlesFromStream(), mrpt::hmtslam::CLocalMetricHypothesis::updateAreaFromLMH(), and mrpt::bayes::CParticleFilterData< CRBPFParticleData >::writeParticlesToStream().
|
static |
Definition at line 215 of file CParticleFilterData.h.
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST |