#include <mrpt/poses/CPose3DPDF.h>
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 CPose3DPDF * | createFrom2D (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. |
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.
Definition at line 59 of file CPose3DPDF.h.
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).
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.
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:exported at Mon Jan 12 13:00:16 UTC 2009 |