9 #ifndef CMonteCarloLocalization3D_H 10 #define CMonteCarloLocalization3D_H 32 mrpt::poses::CPose3D, mrpt::poses::CPose3DPDFParticles>
75 const size_t i,
bool& is_valid_pose)
const override;
84 const std::vector<mrpt::math::TPose3D>& newParticles,
85 const std::vector<double>& newParticlesWeight,
86 const std::vector<size_t>& newParticlesDerivedFromIdx)
const;
92 const size_t particleIndexForMap,
double PF_SLAM_computeObservationLikelihoodForParticle(const mrpt::bayes::CParticleFilter::TParticleFilterOptions &PF_options, const size_t particleIndexForMap, const mrpt::obs::CSensoryFrame &observation, const mrpt::poses::CPose3D &x) const
Evaluate the observation likelihood for one particle at a given location.
The struct for passing extra simulation parameters to the prediction stage when running a particle fi...
void PF_SLAM_implementation_custom_update_particle_with_new_pose(CParticleDataContent *particleData, const mrpt::math::TPose3D &newPose) const
mrpt::poses::CPose3DPDFParticles::CParticleList CParticleList
Statistics for being returned from the "execute" method.
Declares a class for storing a collection of robot actions.
mrpt::poses::CPose3DPDFParticles::CParticleDataContent CParticleDataContent
void prediction_and_update(const mrpt::obs::CActionCollection *action, const mrpt::obs::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &PF_options)
Update the m_particles, predicting the posterior of robot pose and map after a movement command...
A set of common data shared by PF implementations for both SLAM and localization. ...
CPose3D CParticleDataContent
This is the type inside the corresponding CParticleData class.
TMonteCarloLocalizationParams options
MCL parameters.
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
CMonteCarloLocalization3D(size_t M=1)
Constructor.
This class acts as a common interface to the different interfaces (see CParticleFilter::TParticleFilt...
Declares a class that represents a Probability Density Function (PDF) over a 3D pose (x...
virtual ~CMonteCarloLocalization3D()
Destructor.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
std::deque< CParticleData > CParticleList
Use this type to refer to the list of particles m_particles.
TParticleFilterAlgorithm
Defines different types of particle filter algorithms.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::poses::CPose3DPDFParticles m_poseParticles
void executeOn(mrpt::bayes::CParticleFilter &pf, const mrpt::obs::CActionCollection *action, const mrpt::obs::CSensoryFrame *observation, mrpt::bayes::CParticleFilter::TParticleFilterStats *stats, mrpt::bayes::CParticleFilter::TParticleFilterAlgorithm PF_algorithm)
The configuration of a particle filter.
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
void PF_SLAM_implementation_replaceByNewParticleSet(CParticleList &old_particles, const std::vector< mrpt::math::TPose3D > &newParticles, const std::vector< double > &newParticlesWeight, const std::vector< size_t > &newParticlesDerivedFromIdx) const
mrpt::math::TPose3D getLastPose(const size_t i, bool &is_valid_pose) const override
Return the robot pose for the i'th particle.
Declares a class that represents a Probability Density function (PDF) of a 3D pose.