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,
std::deque< CParticleData > CParticleList
Use this type to refer to the list of particles m_particles.
CPose3D CParticleDataContent
This is the type inside the corresponding CParticleData class.
This class acts as a common interface to the different interfaces (see CParticleFilter::TParticleFilt...
TParticleFilterAlgorithm
Defines different types of particle filter algorithms.
Declares a class for storing a collection of robot actions.
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents a Probability Density function (PDF) of a 3D pose.
Declares a class that represents a Probability Density Function (PDF) over a 3D pose (x,...
CMonteCarloLocalization3D(size_t M=1)
Constructor.
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.
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.
mrpt::poses::CPose3DPDFParticles::CParticleList CParticleList
void PF_SLAM_implementation_custom_update_particle_with_new_pose(CParticleDataContent *particleData, const mrpt::math::TPose3D &newPose) const
mrpt::poses::CPose3DPDFParticles m_poseParticles
virtual ~CMonteCarloLocalization3D()
Destructor.
TMonteCarloLocalizationParams options
MCL parameters.
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.
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)
A set of common data shared by PF implementations for both SLAM and localization.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
The configuration of a particle filter.
Statistics for being returned from the "execute" method.
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
The struct for passing extra simulation parameters to the prediction stage when running a particle fi...