Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions
mrpt::poses::CPose3DQuatPDFGaussian Class Referenceabstract

Detailed Description

Declares a class that represents a Probability Density function (PDF) of a 3D pose using a quaternion $ p(\mathbf{x}) = [x ~ y ~ z ~ qr ~ qx ~ qy ~ qz]^\top $.

This class implements that PDF using a mono-modal Gaussian distribution. See mrpt::poses::CPose3DQuatPDF for more details, or mrpt::poses::CPose3DPDF for classes based on Euler angles instead.

Uncertainty of pose composition operations ( $ y = x \oplus u $) is implemented in the methods "CPose3DQuatPDFGaussian::operator+=" and "CPose3DQuatPDF::jacobiansPoseComposition".

For further details on implemented methods and the theory behind them, see this report.

See also
CPose3DQuat, CPose3DQuatPDF, CPose3DPDF, CPose3DQuatPDFGaussianInf

Definition at line 39 of file CPose3DQuatPDFGaussian.h.

#include <mrpt/poses/CPose3DQuatPDFGaussian.h>

Inheritance diagram for mrpt::poses::CPose3DQuatPDFGaussian:
Inheritance graph

Public Types

typedef CPose3DQuat type_value
 The type of the state the PDF represents.
 

Public Member Functions

 CPose3DQuatPDFGaussian ()
 Default constructor - set all values to zero.
 
 CPose3DQuatPDFGaussian (mrpt::math::TConstructorFlags_Quaternions constructor_dummy_param)
 Constructor which left all the member uninitialized, for using when speed is critical - as argument, use UNINITIALIZED_QUATERNION.
 
 CPose3DQuatPDFGaussian (const CPose3DQuat &init_Mean)
 Constructor from a default mean value, covariance equals to zero.
 
 CPose3DQuatPDFGaussian (const CPose3DQuat &init_Mean, const mrpt::math::CMatrixDouble77 &init_Cov)
 Constructor with mean and covariance.
 
 CPose3DQuatPDFGaussian (const CPosePDFGaussian &o)
 Constructor from a Gaussian 2D pose PDF (sets to 0 the missing variables).
 
 CPose3DQuatPDFGaussian (const CPose3DPDFGaussian &o)
 Constructor from an equivalent Gaussian in Euler angles representation.
 
const CPose3DQuatgetPoseMean () const
 
CPose3DQuatgetPoseMean ()
 
void getMean (CPose3DQuat &mean_pose) const MRPT_OVERRIDE
 Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF).
 
void getCovarianceAndMean (mrpt::math::CMatrixDouble77 &cov, CPose3DQuat &mean_point) const MRPT_OVERRIDE
 Returns an estimate of the pose covariance matrix (7x7 cov matrix) and the mean, both at once.
 
void copyFrom (const CPose3DQuatPDF &o) MRPT_OVERRIDE
 Copy operator, translating if necesary (for example, between particles and gaussian representations)
 
void copyFrom (const CPosePDF &o)
 Copy operator, translating if necesary (for example, between particles and gaussian representations)
 
void copyFrom (const CPose3DPDFGaussian &o)
 Copy operator, translating if necesary (for example, between particles and gaussian representations)
 
void saveToTextFile (const std::string &file) const MRPT_OVERRIDE
 Save the PDF to a text file, containing the 3D pose in the first line (x y z qr qx qy qz), then the covariance matrix in the next 7 lines.
 
void changeCoordinatesReference (const CPose3DQuat &newReferenceBase)
 this = p (+) this.
 
void changeCoordinatesReference (const CPose3D &newReferenceBase) MRPT_OVERRIDE
 this = p (+) this.
 
void drawSingleSample (CPose3DQuat &outPart) const MRPT_OVERRIDE
 Draws a single sample from the distribution.
 
void drawManySamples (size_t N, std::vector< mrpt::math::CVectorDouble > &outSamples) const MRPT_OVERRIDE
 Draws a number of samples from the distribution, and saves as a list of 1x7 vectors, where each row contains a (x,y,z,qr,qx,qy,qz) datum.
 
void inverse (CPose3DQuatPDF &o) const MRPT_OVERRIDE
 Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.
 
CPose3DQuatPDFGaussian operator- () const
 Unary - operator, returns the PDF of the inverse pose.
 
void operator+= (const CPose3DQuat &Ap)
 Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated).
 
void operator+= (const CPose3DQuatPDFGaussian &Ap)
 Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated) (see formulas in jacobiansPoseComposition ).
 
void operator-= (const CPose3DQuatPDFGaussian &Ap)
 Makes: thisPDF = thisPDF - Ap, where "-" is pose inverse composition (both the mean, and the covariance matrix are updated).
 
double evaluatePDF (const CPose3DQuat &x) const
 Evaluates the PDF at a given point.
 
double evaluateNormalizedPDF (const CPose3DQuat &x) const
 Evaluates the ratio PDF(x) / PDF(MEAN), that is, the normalized PDF in the range [0,1].
 
double mahalanobisDistanceTo (const CPose3DQuatPDFGaussian &theOther)
 Computes the Mahalanobis distance between the centers of two Gaussians.
 
template<class OPENGL_SETOFOBJECTSPTR >
void getAs3DObject (OPENGL_SETOFOBJECTSPTR &out_obj) const
 Returns a 3D representation of this PDF (it doesn't clear the current contents of out_obj, but append new OpenGL objects to that list)
 
template<class OPENGL_SETOFOBJECTSPTR >
OPENGL_SETOFOBJECTSPTR getAs3DObject () const
 Returns a 3D representation of this PDF.
 
virtual void getMean (CPose3DQuat &mean_point) const=0
 Returns the mean, or mathematical expectation of the probability density distribution (PDF).
 
virtual void getCovarianceAndMean (mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov, CPose3DQuat &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 (mrpt::math::CMatrixDouble &cov, CPose3DQuat &mean_point) const
 Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.
 
CPose3DQuat getMeanVal () const
 Returns the mean, or mathematical expectation of the probability density distribution (PDF).
 
void getCovariance (mrpt::math::CMatrixDouble &cov) const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
 
void getCovariance (mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov) const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)
 
mrpt::math::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 (mrpt::math::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 drawSingleSample (CPose3DQuat &outPart) const=0
 Draws a single sample from the distribution.
 
double getCovarianceEntropy () const
 Compute the entropy of the estimated covariance matrix.
 

Static Public Member Functions

static CPose3DQuatPDFcreateFrom2D (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 CPose3DQuatPDF.
 
static void jacobiansPoseComposition (const CPose3DQuat &x, const CPose3DQuat &u, mrpt::math::CMatrixDouble77 &df_dx, mrpt::math::CMatrixDouble77 &df_du, CPose3DQuat *out_x_oplus_u=NULL)
 This static method computes the two Jacobians of a pose composition operation $f(x,u)= x \oplus u$.
 

Public Attributes

CPose3DQuat mean
 The mean value.
 
mrpt::math::CMatrixDouble77 cov
 The 7x7 covariance matrix.
 

Static Public Attributes

static const size_t state_length
 The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll).
 
RTTI stuff <br>
static const mrpt::utils::TRuntimeClassId classCPose3DQuatPDF
 

Protected Member Functions

void assureSymmetry ()
 Assures the symmetry of the covariance matrix (eventually certain operations in the math-coprocessor lead to non-symmetric matrixes!)
 
CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE
 
void readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE
 

RTTI stuff <br>

typedef CPose3DQuatPDFGaussianPtr SmartPtr
 
static mrpt::utils::CLASSINIT _init_CPose3DQuatPDFGaussian
 
static mrpt::utils::TRuntimeClassId classCPose3DQuatPDFGaussian
 
static const mrpt::utils::TRuntimeClassIdclassinfo
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const MRPT_OVERRIDE
 
virtual mrpt::utils::CObjectduplicate () const MRPT_OVERRIDE
 
static mrpt::utils::CObjectCreateObject ()
 
static CPose3DQuatPDFGaussianPtr Create ()
 

Member Typedef Documentation

◆ SmartPtr

A typedef for the associated smart pointer

Definition at line 42 of file CPose3DQuatPDFGaussian.h.

◆ type_value

typedef CPose3DQuat mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::type_value
inherited

The type of the state the PDF represents.

Definition at line 32 of file CProbabilityDensityFunction.h.

Constructor & Destructor Documentation

◆ CPose3DQuatPDFGaussian() [1/6]

mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian ( )

Default constructor - set all values to zero.

◆ CPose3DQuatPDFGaussian() [2/6]

mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian ( mrpt::math::TConstructorFlags_Quaternions  constructor_dummy_param)

Constructor which left all the member uninitialized, for using when speed is critical - as argument, use UNINITIALIZED_QUATERNION.

◆ CPose3DQuatPDFGaussian() [3/6]

mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian ( const CPose3DQuat init_Mean)
explicit

Constructor from a default mean value, covariance equals to zero.

◆ CPose3DQuatPDFGaussian() [4/6]

mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian ( const CPose3DQuat init_Mean,
const mrpt::math::CMatrixDouble77 init_Cov 
)

Constructor with mean and covariance.

◆ CPose3DQuatPDFGaussian() [5/6]

mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian ( const CPosePDFGaussian o)
explicit

Constructor from a Gaussian 2D pose PDF (sets to 0 the missing variables).

◆ CPose3DQuatPDFGaussian() [6/6]

mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian ( const CPose3DPDFGaussian o)
explicit

Constructor from an equivalent Gaussian in Euler angles representation.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId * mrpt::poses::CPose3DQuatPDFGaussian::_GetBaseClass ( )
staticprotected

◆ assureSymmetry()

void mrpt::poses::CPose3DQuatPDFGaussian::assureSymmetry ( )
protected

Assures the symmetry of the covariance matrix (eventually certain operations in the math-coprocessor lead to non-symmetric matrixes!)

◆ changeCoordinatesReference() [1/2]

void mrpt::poses::CPose3DQuatPDFGaussian::changeCoordinatesReference ( const CPose3D newReferenceBase)
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.

Implements mrpt::utils::CProbabilityDensityFunction< CPose3DQuat, 7 >.

◆ changeCoordinatesReference() [2/2]

void mrpt::poses::CPose3DQuatPDFGaussian::changeCoordinatesReference ( const CPose3DQuat newReferenceBase)

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.

◆ copyFrom() [1/3]

void mrpt::poses::CPose3DQuatPDFGaussian::copyFrom ( const CPose3DPDFGaussian o)

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

◆ copyFrom() [2/3]

void mrpt::poses::CPose3DQuatPDFGaussian::copyFrom ( const CPose3DQuatPDF o)
virtual

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

Implements mrpt::poses::CPose3DQuatPDF.

◆ copyFrom() [3/3]

void mrpt::poses::CPose3DQuatPDFGaussian::copyFrom ( const CPosePDF o)

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

◆ Create()

static CPose3DQuatPDFGaussianPtr mrpt::poses::CPose3DQuatPDFGaussian::Create ( )
static

◆ createFrom2D()

static CPose3DQuatPDF * mrpt::poses::CPose3DQuatPDF::createFrom2D ( const CPosePDF o)
staticinherited

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 CPose3DQuatPDF.

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

See also
copyFrom

◆ CreateObject()

static mrpt::utils::CObject * mrpt::poses::CPose3DQuatPDFGaussian::CreateObject ( )
static

◆ drawManySamples()

void mrpt::poses::CPose3DQuatPDFGaussian::drawManySamples ( size_t  N,
std::vector< mrpt::math::CVectorDouble > &  outSamples 
) const
virtual

Draws a number of samples from the distribution, and saves as a list of 1x7 vectors, where each row contains a (x,y,z,qr,qx,qy,qz) datum.

Reimplemented from mrpt::utils::CProbabilityDensityFunction< CPose3DQuat, 7 >.

◆ drawSingleSample() [1/2]

void mrpt::poses::CPose3DQuatPDFGaussian::drawSingleSample ( CPose3DQuat outPart) const

Draws a single sample from the distribution.

◆ drawSingleSample() [2/2]

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::drawSingleSample ( CPose3DQuat &  outPart) const
pure virtualinherited

Draws a single sample from the distribution.

◆ duplicate()

virtual mrpt::utils::CObject * mrpt::poses::CPose3DQuatPDFGaussian::duplicate ( ) const
virtual

◆ evaluateNormalizedPDF()

double mrpt::poses::CPose3DQuatPDFGaussian::evaluateNormalizedPDF ( const CPose3DQuat x) const

Evaluates the ratio PDF(x) / PDF(MEAN), that is, the normalized PDF in the range [0,1].

◆ evaluatePDF()

double mrpt::poses::CPose3DQuatPDFGaussian::evaluatePDF ( const CPose3DQuat x) const

Evaluates the PDF at a given point.

◆ getAs3DObject() [1/2]

template<class OPENGL_SETOFOBJECTSPTR >
OPENGL_SETOFOBJECTSPTR mrpt::poses::CPose3DQuatPDF::getAs3DObject ( ) const
inlineinherited

Returns a 3D representation of this PDF.

Note
Needs the mrpt-opengl library, and using mrpt::opengl::CSetOfObjectsPtr as template argument.

Definition at line 88 of file CPose3DQuatPDF.h.

◆ getAs3DObject() [2/2]

template<class OPENGL_SETOFOBJECTSPTR >
void mrpt::poses::CPose3DQuatPDF::getAs3DObject ( OPENGL_SETOFOBJECTSPTR &  out_obj) const
inlineinherited

Returns a 3D representation of this PDF (it doesn't clear the current contents of out_obj, but append new OpenGL objects to that list)

Note
Needs the mrpt-opengl library, and using mrpt::opengl::CSetOfObjectsPtr as template argument.

Definition at line 79 of file CPose3DQuatPDF.h.

◆ getCovariance() [1/3]

mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovariance ( ) const
inlineinherited

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also
getMean, getInformationMatrix

Definition at line 85 of file CProbabilityDensityFunction.h.

◆ getCovariance() [2/3]

void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovariance ( mrpt::math::CMatrixDouble cov) const
inlineinherited

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also
getMean, getCovarianceAndMean, getInformationMatrix

Definition at line 67 of file CProbabilityDensityFunction.h.

◆ getCovariance() [3/3]

void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovariance ( mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  cov) const
inlineinherited

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also
getMean, getCovarianceAndMean, getInformationMatrix

Definition at line 76 of file CProbabilityDensityFunction.h.

◆ getCovarianceAndMean() [1/2]

void mrpt::poses::CPose3DQuatPDFGaussian::getCovarianceAndMean ( mrpt::math::CMatrixDouble77 cov,
CPose3DQuat mean_point 
) const

Returns an estimate of the pose covariance matrix (7x7 cov matrix) and the mean, both at once.

See also
getMean

◆ getCovarianceAndMean() [2/2]

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovarianceAndMean ( mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  cov,
CPose3DQuat &  mean_point 
) const
pure virtualinherited

Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.

See also
getMean, getInformationMatrix

◆ getCovarianceDynAndMean()

void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovarianceDynAndMean ( mrpt::math::CMatrixDouble cov,
CPose3DQuat &  mean_point 
) const
inlineinherited

Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.

See also
getMean, getInformationMatrix

Definition at line 47 of file CProbabilityDensityFunction.h.

◆ getCovarianceEntropy()

double mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovarianceEntropy ( ) const
inlineinherited

Compute the entropy of the estimated covariance matrix.

See also
http://en.wikipedia.org/wiki/Multivariate_normal_distribution#Entropy

Definition at line 136 of file CProbabilityDensityFunction.h.

◆ getInformationMatrix()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getInformationMatrix ( mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  inf) const
inlinevirtualinherited

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.

See also
getMean, getCovarianceAndMean

Definition at line 98 of file CProbabilityDensityFunction.h.

◆ getMean() [1/2]

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getMean ( CPose3DQuat &  mean_point) const
pure virtualinherited

Returns the mean, or mathematical expectation of the probability density distribution (PDF).

See also
getCovarianceAndMean, getInformationMatrix

◆ getMean() [2/2]

void mrpt::poses::CPose3DQuatPDFGaussian::getMean ( CPose3DQuat mean_pose) const

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

See also
getCovariance

◆ getMeanVal()

CPose3DQuat mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getMeanVal ( ) const
inlineinherited

Returns the mean, or mathematical expectation of the probability density distribution (PDF).

See also
getCovariance, getInformationMatrix

Definition at line 57 of file CProbabilityDensityFunction.h.

◆ getPoseMean() [1/2]

CPose3DQuat & mrpt::poses::CPose3DQuatPDFGaussian::getPoseMean ( )
inline

Definition at line 73 of file CPose3DQuatPDFGaussian.h.

References mean().

◆ getPoseMean() [2/2]

const CPose3DQuat & mrpt::poses::CPose3DQuatPDFGaussian::getPoseMean ( ) const
inline

Definition at line 72 of file CPose3DQuatPDFGaussian.h.

References mean().

◆ GetRuntimeClass()

virtual const mrpt::utils::TRuntimeClassId * mrpt::poses::CPose3DQuatPDFGaussian::GetRuntimeClass ( ) const
virtual

Reimplemented from mrpt::poses::CPose3DQuatPDF.

◆ inverse()

void mrpt::poses::CPose3DQuatPDFGaussian::inverse ( CPose3DQuatPDF o) const
virtual

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

Implements mrpt::poses::CPose3DQuatPDF.

◆ jacobiansPoseComposition()

static void mrpt::poses::CPose3DQuatPDF::jacobiansPoseComposition ( const CPose3DQuat x,
const CPose3DQuat u,
mrpt::math::CMatrixDouble77 df_dx,
mrpt::math::CMatrixDouble77 df_du,
CPose3DQuat out_x_oplus_u = NULL 
)
staticinherited

This static method computes the two Jacobians of a pose composition operation $f(x,u)= x \oplus u$.

Parameters
out_x_oplus_uIf set to !=NULL, the result of "x+u" will be stored here (it will be computed internally anyway). To see the mathematical derivation of the formulas, refer to the technical report here:

Referenced by mrpt::math::jacobians::jacobs_6D_pose_comp().

◆ mahalanobisDistanceTo()

double mrpt::poses::CPose3DQuatPDFGaussian::mahalanobisDistanceTo ( const CPose3DQuatPDFGaussian theOther)

Computes the Mahalanobis distance between the centers of two Gaussians.

The variables with a variance exactly equal to 0 are not taken into account in the process, but "infinity" is returned if the corresponding elements are not exactly equal.

◆ operator+=() [1/2]

void mrpt::poses::CPose3DQuatPDFGaussian::operator+= ( const CPose3DQuat Ap)

Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated).

◆ operator+=() [2/2]

void mrpt::poses::CPose3DQuatPDFGaussian::operator+= ( const CPose3DQuatPDFGaussian Ap)

Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated) (see formulas in jacobiansPoseComposition ).

◆ operator-()

CPose3DQuatPDFGaussian mrpt::poses::CPose3DQuatPDFGaussian::operator- ( ) const
inline

Unary - operator, returns the PDF of the inverse pose.


Definition at line 96 of file CPose3DQuatPDFGaussian.h.

References mrpt::math::UNINITIALIZED_QUATERNION.

◆ operator-=()

void mrpt::poses::CPose3DQuatPDFGaussian::operator-= ( const CPose3DQuatPDFGaussian Ap)

Makes: thisPDF = thisPDF - Ap, where "-" is pose inverse composition (both the mean, and the covariance matrix are updated).

◆ readFromStream()

void mrpt::poses::CPose3DQuatPDFGaussian::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protected

◆ saveToTextFile()

void mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile ( const std::string &  file) const
virtual

Save the PDF to a text file, containing the 3D pose in the first line (x y z qr qx qy qz), then the covariance matrix in the next 7 lines.

Implements mrpt::utils::CProbabilityDensityFunction< CPose3DQuat, 7 >.

◆ writeToStream()

void mrpt::poses::CPose3DQuatPDFGaussian::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protected

Member Data Documentation

◆ _init_CPose3DQuatPDFGaussian

mrpt::utils::CLASSINIT mrpt::poses::CPose3DQuatPDFGaussian::_init_CPose3DQuatPDFGaussian
staticprotected

Definition at line 42 of file CPose3DQuatPDFGaussian.h.

◆ classCPose3DQuatPDF

const mrpt::utils::TRuntimeClassId mrpt::poses::CPose3DQuatPDF::classCPose3DQuatPDF
staticinherited

Definition at line 45 of file CPose3DQuatPDF.h.

◆ classCPose3DQuatPDFGaussian

mrpt::utils::TRuntimeClassId mrpt::poses::CPose3DQuatPDFGaussian::classCPose3DQuatPDFGaussian
static

Definition at line 42 of file CPose3DQuatPDFGaussian.h.

◆ classinfo

const mrpt::utils::TRuntimeClassId* mrpt::poses::CPose3DQuatPDFGaussian::classinfo
static

Definition at line 42 of file CPose3DQuatPDFGaussian.h.

◆ cov

mrpt::math::CMatrixDouble77 mrpt::poses::CPose3DQuatPDFGaussian::cov

The 7x7 covariance matrix.

Definition at line 70 of file CPose3DQuatPDFGaussian.h.

◆ mean

CPose3DQuat mrpt::poses::CPose3DQuatPDFGaussian::mean

The mean value.

Definition at line 69 of file CPose3DQuatPDFGaussian.h.

◆ state_length

const size_t mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::state_length
staticinherited

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 31 of file CProbabilityDensityFunction.h.




Page generated by Doxygen 1.9.6 for MRPT 1.4.0 SVN: at Fri Jan 20 00:45:34 UTC 2023