Main MRPT website > C++ reference
MRPT logo
Public Member Functions | Public Attributes

mrpt::slam::CMonteCarloLocalization3D Class Reference


Detailed Description

Declares a class that represents a Probability Density Function (PDF) over a 3D pose (x,y,phi,yaw,pitch,roll), using a set of weighted samples.

This class also implements particle filtering for robot localization. See the MRPT application "app/pf-localization" for an example of usage.

See also:
CMonteCarloLocalization2D, CPose2D, CPosePDF, CPoseGaussianPDF, CParticleFilterCapable

Definition at line 54 of file CMonteCarloLocalization3D.h.

#include <mrpt/slam/CMonteCarloLocalization3D.h>

Inheritance diagram for mrpt::slam::CMonteCarloLocalization3D:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CMonteCarloLocalization3D (size_t M=1)
 Constructor.
virtual ~CMonteCarloLocalization3D ()
 Destructor.
void prediction_and_update_pfStandardProposal (const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &PF_options)
 Update the m_particles, predicting the posterior of robot pose and map after a movement command.
void prediction_and_update_pfAuxiliaryPFStandard (const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &PF_options)
 Update the m_particles, predicting the posterior of robot pose and map after a movement command.
void prediction_and_update_pfAuxiliaryPFOptimal (const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &PF_options)
 Update the m_particles, predicting the posterior of robot pose and map after a movement command.
Virtual methods that the PF_implementations assume exist.
const TPose3DgetLastPose (const size_t i) const
 Return a pointer to the last robot pose in the i'th particle (or NULL if it's a path and it's empty).
void PF_SLAM_implementation_custom_update_particle_with_new_pose (CParticleDataContent *particleData, const TPose3D &newPose) const
void PF_SLAM_implementation_replaceByNewParticleSet (CParticleList &old_particles, const std::vector< TPose3D > &newParticles, const vector_double &newParticlesWeight, const std::vector< size_t > &newParticlesDerivedFromIdx) const
double PF_SLAM_computeObservationLikelihoodForParticle (const CParticleFilter::TParticleFilterOptions &PF_options, const size_t particleIndexForMap, const CSensoryFrame &observation, const CPose3D &x) const
 Evaluate the observation likelihood for one particle at a given location.

Public Attributes

TMonteCarloLocalizationParams options
 MCL parameters.

Constructor & Destructor Documentation

mrpt::slam::CMonteCarloLocalization3D::CMonteCarloLocalization3D ( size_t  M = 1 )

Constructor.

Parameters:
MThe number of m_particles.
virtual mrpt::slam::CMonteCarloLocalization3D::~CMonteCarloLocalization3D (  ) [virtual]

Destructor.


Member Function Documentation

const TPose3D* mrpt::slam::CMonteCarloLocalization3D::getLastPose ( const size_t  i ) const [virtual]

Return a pointer to the last robot pose in the i'th particle (or NULL if it's a path and it's empty).

Implements mrpt::slam::PF_implementation< CPose3D, CMonteCarloLocalization3D >.

double mrpt::slam::CMonteCarloLocalization3D::PF_SLAM_computeObservationLikelihoodForParticle ( const CParticleFilter::TParticleFilterOptions PF_options,
const size_t  particleIndexForMap,
const CSensoryFrame observation,
const CPose3D x 
) const [virtual]

Evaluate the observation likelihood for one particle at a given location.

Implements mrpt::slam::PF_implementation< CPose3D, CMonteCarloLocalization3D >.

void mrpt::slam::CMonteCarloLocalization3D::PF_SLAM_implementation_custom_update_particle_with_new_pose ( CParticleDataContent particleData,
const TPose3D newPose 
) const
void mrpt::slam::CMonteCarloLocalization3D::PF_SLAM_implementation_replaceByNewParticleSet ( CParticleList old_particles,
const std::vector< TPose3D > &  newParticles,
const vector_double newParticlesWeight,
const std::vector< size_t > &  newParticlesDerivedFromIdx 
) const
void mrpt::slam::CMonteCarloLocalization3D::prediction_and_update_pfAuxiliaryPFOptimal ( const mrpt::slam::CActionCollection action,
const mrpt::slam::CSensoryFrame observation,
const bayes::CParticleFilter::TParticleFilterOptions PF_options 
) [virtual]

Update the m_particles, predicting the posterior of robot pose and map after a movement command.

This method has additional configuration parameters in "options". Performs the update stage of the RBPF, using the sensed CSensoryFrame:

Parameters:
ActionThis is a pointer to CActionCollection, containing the pose change the robot has been commanded.
observationThis must be a pointer to a CSensoryFrame object, with robot sensed observations.
See also:
options

Reimplemented from mrpt::bayes::CParticleFilterCapable.

void mrpt::slam::CMonteCarloLocalization3D::prediction_and_update_pfAuxiliaryPFStandard ( const mrpt::slam::CActionCollection action,
const mrpt::slam::CSensoryFrame observation,
const bayes::CParticleFilter::TParticleFilterOptions PF_options 
) [virtual]

Update the m_particles, predicting the posterior of robot pose and map after a movement command.

This method has additional configuration parameters in "options". Performs the update stage of the RBPF, using the sensed CSensoryFrame:

Parameters:
ActionThis is a pointer to CActionCollection, containing the pose change the robot has been commanded.
observationThis must be a pointer to a CSensoryFrame object, with robot sensed observations.
See also:
options

Reimplemented from mrpt::bayes::CParticleFilterCapable.

void mrpt::slam::CMonteCarloLocalization3D::prediction_and_update_pfStandardProposal ( const mrpt::slam::CActionCollection action,
const mrpt::slam::CSensoryFrame observation,
const bayes::CParticleFilter::TParticleFilterOptions PF_options 
) [virtual]

Update the m_particles, predicting the posterior of robot pose and map after a movement command.

This method has additional configuration parameters in "options". Performs the update stage of the RBPF, using the sensed CSensoryFrame:

Parameters:
actionThis is a pointer to CActionCollection, containing the pose change the robot has been commanded.
observationThis must be a pointer to a CSensoryFrame object, with robot sensed observations.
See also:
options

Reimplemented from mrpt::bayes::CParticleFilterCapable.


Member Data Documentation

MCL parameters.

Definition at line 61 of file CMonteCarloLocalization3D.h.




Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011