class mrpt::poses::CPose3DPDFParticles

Declares a class that represents a Probability Density function (PDF) of a 3D pose.

This class is also the base for the implementation of Monte-Carlo Localization (MCL), in mrpt::slam::CMonteCarloLocalization2D.

See the application “app/pf-localization” for an example of usage.

See also:

CPose3D, CPose3DPDF, CPoseGaussianPDF

#include <mrpt/poses/CPose3DPDFParticles.h>

class CPose3DPDFParticles:
    public mrpt::poses::CPose3DPDF,
    public mrpt::bayes::CParticleFilterData,
    public mrpt::bayes::CParticleFilterDataImpl
{
public:
    // construction

    CPose3DPDFParticles(size_t M = 1);
};

// direct descendants

class CMonteCarloLocalization3D;

Inherited Members

public:
    // typedefs

    typedef CProbabilityDensityFunction<TDATA, STATE_LEN> self_t;

    // structs

    struct TFastDrawAuxVars;

    //
methods

    virtual void copyFrom(const CPose3DPDF& o) = 0;
    virtual void changeCoordinatesReference(const CPose3D& newReferenceBase) = 0;
    virtual void bayesianFusion(const CPose3DPDF& p1, const CPose3DPDF& p2) = 0;
    virtual void inverse(CPose3DPDF& o) const = 0;
    virtual double getW(size_t i) const = 0;
    virtual void setW(size_t i, double w) = 0;
    virtual size_t particlesCount() const = 0;
    virtual void performSubstitution(const std::vector<size_t>& indx) = 0;
    virtual double normalizeWeights(double* out_max_log_w = nullptr) = 0;
    virtual double ESS() const = 0;

Construction

CPose3DPDFParticles(size_t M = 1)

Constructor.

Parameters:

M

The number of m_particles.