A generic template for probability density distributions (PDFs).
This template is used as base for many classes in mrpt::poses Any derived class must implement getMean() and a getCovarianceAndMean(). Other methods such as getMean() or getCovariance() are implemented here for convenience.
Definition at line 50 of file CProbabilityDensityFunction.h.
#include <mrpt/utils/CProbabilityDensityFunction.h>

Public Types | |
| typedef TDATA | type_value |
| The type of the state the PDF represents. | |
Public Member Functions | |
| virtual void | getMean (TDATA &mean_point) const =0 |
| Returns the mean, or mathematical expectation of the probability density distribution (PDF). | |
| virtual void | getCovarianceAndMean (CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov, TDATA &mean_point) const =0 |
| Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once. | |
| void | getCovarianceDynAndMean (CMatrixDouble &cov, TDATA &mean_point) const |
| Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once. | |
| TDATA | getMeanVal () const |
| Returns the mean, or mathematical expectation of the probability density distribution (PDF). | |
| void | getCovariance (CMatrixDouble &cov) const |
| Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix) | |
| void | getCovariance (CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov) const |
| Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix) | |
| CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > | getCovariance () const |
| Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix) | |
| virtual void | getInformationMatrix (CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &inf) const |
| Returns the information (inverse covariance) matrix (a STATE_LEN x STATE_LEN matrix) Unless reimplemented in derived classes, this method first reads the covariance, then invert it. | |
| virtual void | saveToTextFile (const std::string &file) const =0 |
| Save PDF's particles to a text file. | |
| virtual void | drawSingleSample (TDATA &outPart) const =0 |
| Draws a single sample from the distribution. | |
| virtual void | drawManySamples (size_t N, std::vector< vector_double > &outSamples) const |
| Draws a number of samples from the distribution, and saves as a list of 1xSTATE_LEN vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum. | |
| virtual void | changeCoordinatesReference (const mrpt::poses::CPose3D &newReferenceBase)=0 |
| this = p (+) this. | |
| double | getCovarianceEntropy () const |
| Compute the entropy of the estimated covariance matrix. | |
Static Public Attributes | |
| static const size_t | state_length = STATE_LEN |
| The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll). | |
| typedef TDATA mrpt::utils::CProbabilityDensityFunction< TDATA, STATE_LEN >::type_value |
The type of the state the PDF represents.
Definition at line 54 of file CProbabilityDensityFunction.h.
|
pure virtual |
this = p (+) this.
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::CPosePDFSOG, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose3DPDFSOG, mrpt::poses::CPosePDFParticles, mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::slam::CBeacon, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPosePDFGaussianInf, mrpt::poses::CPointPDFParticles, mrpt::poses::CPosePDFGaussian, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::poses::CPosePDFGrid, mrpt::poses::CPoint2DPDFGaussian, and mrpt::poses::CPointPDFGaussian.
|
inlinevirtual |
Draws a number of samples from the distribution, and saves as a list of 1xSTATE_LEN vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum.
This base method just call N times to drawSingleSample, but derived classes should implemented optimized method for each particular PDF.
Definition at line 139 of file CProbabilityDensityFunction.h.
|
pure virtual |
Draws a single sample from the distribution.
|
inline |
Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
Definition at line 89 of file CProbabilityDensityFunction.h.
|
inline |
Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
Definition at line 98 of file CProbabilityDensityFunction.h.
|
inline |
Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
Definition at line 107 of file CProbabilityDensityFunction.h.
|
pure virtual |
Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.
|
inline |
Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.
Definition at line 69 of file CProbabilityDensityFunction.h.
|
inline |
Compute the entropy of the estimated covariance matrix.
Definition at line 158 of file CProbabilityDensityFunction.h.
|
inlinevirtual |
Returns the information (inverse covariance) matrix (a STATE_LEN x STATE_LEN matrix) Unless reimplemented in derived classes, this method first reads the covariance, then invert it.
Definition at line 120 of file CProbabilityDensityFunction.h.
|
pure virtual |
Returns the mean, or mathematical expectation of the probability density distribution (PDF).
Referenced by mrpt::slam::PF_implementation< PARTICLE_TYPE, MYSELF >::PF_SLAM_implementation_gatherActionsCheckBothActObs().
|
inline |
Returns the mean, or mathematical expectation of the probability density distribution (PDF).
Definition at line 79 of file CProbabilityDensityFunction.h.
Referenced by mrpt::slam::PF_implementation< PARTICLE_TYPE, MYSELF >::PF_SLAM_implementation_gatherActionsCheckBothActObs(), and mrpt::slam::PF_implementation< PARTICLE_TYPE, MYSELF >::PF_SLAM_implementation_pfStandardProposal().
|
pure virtual |
Save PDF's particles to a text file.
See derived classes for more information about the format of generated files.
Implemented in mrpt::poses::CPosePDFSOG, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose3DPDFSOG, mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::poses::CPosePDFParticles, mrpt::slam::CBeacon, mrpt::poses::CPosePDFGaussianInf, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::poses::CPointPDFParticles, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPosePDFGaussian, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::poses::CPosePDFGrid, mrpt::poses::CPoint2DPDFGaussian, and mrpt::poses::CPointPDFGaussian.
|
static |
The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll).
Definition at line 53 of file CProbabilityDensityFunction.h.
| Page generated by Doxygen 1.8.3 for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013 |