MRPT
1.9.9
|
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 204 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 210 of file CParticleFilterData.h.
using mrpt::bayes::CParticleFilterData< T, STORAGE >::CParticleDataContent = T |
This is the type inside the corresponding CParticleData class.
Definition at line 208 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 212 of file CParticleFilterData.h.
|
inline |
Default constructor.
Definition at line 219 of file CParticleFilterData.h.
|
inline |
Free the memory of all the particles and reset the array "m_particles" to length zero.
Definition at line 222 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 290 of file CParticleFilterData.h.
Referenced by mrpt::hmtslam::CHMTSLAM::generateLogFiles().
|
inline |
Returns a vector with the sequence of the logaritmic weights of all the samples.
Definition at line 276 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 249 of file CParticleFilterData.h.
Referenced by mrpt::poses::CPose3DPDFParticles::serializeFrom(), and mrpt::poses::CPosePDFParticles::serializeFrom().
|
inline |
Dumps the sequence of particles and their weights to a stream (requires T implementing CSerializable).
Definition at line 228 of file CParticleFilterData.h.
CParticleList mrpt::bayes::CParticleFilterData< T, STORAGE >::m_particles |
The array of particles.
Definition at line 216 of file CParticleFilterData.h.
Referenced by mrpt::poses::CPosePDFParticles::append(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::auxiliarComputeObservationLikelihood(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::clearParticles(), mrpt::hmtslam::CHierarchicalMapMHPartition::computeCoordinatesTransformationBetweenNodes(), 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::getPoseParticles(), mrpt::hmtslam::CLocalMetricHypothesis::getRelativePose(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getWeights(), mrpt::maps::CBeaconMap::internal_computeObservationLikelihood(), mrpt::maps::CBeaconMap::internal_insertObservation(), 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::poses::CPose3DPDFParticles::serializeFrom(), mrpt::poses::CPosePDFParticles::serializeFrom(), mrpt::hmtslam::CLocalMetricHypothesis::updateAreaFromLMH(), and mrpt::bayes::CParticleFilterData< CRBPFParticleData >::writeParticlesToStream().
|
static |
Definition at line 213 of file CParticleFilterData.h.
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020 |