MRPT logo

mrpt::poses::CPose3DPDF Class Reference

Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually). More...

#include <mrpt/poses/CPose3DPDF.h>

Inheritance diagram for mrpt::poses::CPose3DPDF:

mrpt::utils::CSerializable mrpt::poses::CPose3DPDFGaussian mrpt::poses::CPose3DPDFParticles mrpt::poses::CPose3DPDFSOG

List of all members.

Public Member Functions

double getEstimatedCovarianceEntropy ()
 Returns the entropy of the estimated pose covariance matrix.
virtual CPose3D getEstimatedPose () const =0
 Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF).
virtual CMatrixD getEstimatedCovariance () const =0
 Returns an estimate of the pose covariance matrix (6x6 cov.matrix for x,y,z,yaw,pitch,and roll variables).
virtual void copyFrom (const CPose3DPDF &o)=0
 Copy operator, translating if necesary (for example, between particles and gaussian representations).
virtual void saveToTextFile (const std::string &file) const =0
 Save the PDF to a text file.
virtual void changeCoordinatesReference (const CPose3D &newReferenceBase)=0
 This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf.
virtual void drawSingleSample (CPose3D &outPart) const =0
 Draws a single sample from the distribution.
virtual void drawManySamples (size_t N, std::vector< vector_double > &outSamples) const =0
 Draws a number of samples from the distribution, and saves as a list of 1x6 vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum.
virtual void bayesianFusion (CPose3DPDF &p1, CPose3DPDF &p2)=0
 Bayesian fusion of two pose distributions, then save the result in this object (WARNING: Currently only distributions of the same class can be fused! eg, gaussian with gaussian,etc).
virtual void inverse (CPose3DPDF &o) const =0
 Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.

Static Public Member Functions

static CPose3DPDFcreateFrom2D (const CPosePDF &o)
 This is a static transformation method from 2D poses to 3D PDFs, preserving the representation type (particles->particles, Gaussians->Gaussians,etc) It returns a new object of any of the derived classes of CPose3DPDF.


Detailed Description

Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually).

This class is just the base class for unifying many diferent ways this PDF can be implemented.

For convenience, a pose composition is also defined for any PDF derived class, changeCoordinatesReference, in the form of a method rather than an operator.

For a similar class for 3D points (without attitude), see CPointPDF

See also the tutorial on probabilistic spatial representations in the MRPT.

See also:
CPose3D, CPosePDF, CPointPDF

Definition at line 59 of file CPose3DPDF.h.


Member Function Documentation

virtual void mrpt::poses::CPose3DPDF::bayesianFusion ( CPose3DPDF p1,
CPose3DPDF p2 
) [pure virtual]

Bayesian fusion of two pose distributions, then save the result in this object (WARNING: Currently only distributions of the same class can be fused! eg, gaussian with gaussian,etc).

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

virtual void mrpt::poses::CPose3DPDF::changeCoordinatesReference ( const CPose3D newReferenceBase  )  [pure virtual]

This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf.

Result PDF substituted the currently stored one in the object.

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

virtual void mrpt::poses::CPose3DPDF::copyFrom ( const CPose3DPDF o  )  [pure virtual]

Copy operator, translating if necesary (for example, between particles and gaussian representations).

See also:
createFrom2D

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

static CPose3DPDF* mrpt::poses::CPose3DPDF::createFrom2D ( const CPosePDF o  )  [static]

This is a static transformation method from 2D poses to 3D PDFs, preserving the representation type (particles->particles, Gaussians->Gaussians,etc) It returns a new object of any of the derived classes of CPose3DPDF.

This object must be deleted by the user when not required anymore.

See also:
copyFrom

virtual void mrpt::poses::CPose3DPDF::drawManySamples ( size_t  N,
std::vector< vector_double > &  outSamples 
) const [pure virtual]

Draws a number of samples from the distribution, and saves as a list of 1x6 vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum.

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

virtual void mrpt::poses::CPose3DPDF::drawSingleSample ( CPose3D outPart  )  const [pure virtual]

Draws a single sample from the distribution.

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

virtual CMatrixD mrpt::poses::CPose3DPDF::getEstimatedCovariance (  )  const [pure virtual]

Returns an estimate of the pose covariance matrix (6x6 cov.matrix for x,y,z,yaw,pitch,and roll variables).

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

double mrpt::poses::CPose3DPDF::getEstimatedCovarianceEntropy (  ) 

Returns the entropy of the estimated pose covariance matrix.

virtual CPose3D mrpt::poses::CPose3DPDF::getEstimatedPose (  )  const [pure virtual]

Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF).

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

virtual void mrpt::poses::CPose3DPDF::inverse ( CPose3DPDF o  )  const [pure virtual]

Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

virtual void mrpt::poses::CPose3DPDF::saveToTextFile ( const std::string &  file  )  const [pure virtual]

Save the PDF to a text file.

See derived classes for more information about the format of generated files.

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN: at Thu Feb 26 02:19:01 EST 2009