Class CPose3DQuatPDF
Defined in File CPose3DQuatPDF.h
Inheritance Relationships
Base Types
public mrpt::serialization::CSerializablepublic mrpt::math::CProbabilityDensityFunction< CPose3DQuat, 7 >
Derived Types
public mrpt::poses::CPose3DQuatPDFGaussian(Class CPose3DQuatPDFGaussian)public mrpt::poses::CPose3DQuatPDFGaussianInf(Class CPose3DQuatPDFGaussianInf)
Class Documentation
-
class CPose3DQuatPDF : public mrpt::serialization::CSerializable, public mrpt::math::CProbabilityDensityFunction<CPose3DQuat, 7>
Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually), by means of a 7-vector with a translation [x y z] and a quaternion [qr qx qy qz]. This class is just the base class for unifying many different 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.
For a similar class for 3D poses (with Euler angles instead of quaternions), see CPose3DPDF.
See also: probabilistic spatial representations
See also
Subclassed by mrpt::poses::CPose3DQuatPDFGaussian, mrpt::poses::CPose3DQuatPDFGaussianInf
Public Functions
-
virtual void copyFrom(const CPose3DQuatPDF &o) = 0
Copy operator, translating if necessary (for example, between particles and gaussian representations)
See also
-
virtual void inverse(CPose3DQuatPDF &o) const = 0
Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF
-
template<class OPENGL_SETOFOBJECTSPTR>
inline 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)
Note
Needs the mrpt-opengl library, and using mrpt::viz::CSetOfObjects::Ptr as template argument.
Note
By default, ellipsoids for the confidence intervals of “q=3” are drawn; for more mathematical details, see CGeneralizedEllipsoidTemplate::setQuantiles()
-
template<class OPENGL_SETOFOBJECTSPTR>
inline OPENGL_SETOFOBJECTSPTR getAs3DObject() const Returns a 3D representation of this PDF.
Note
Needs the mrpt-opengl library, and using mrpt::viz::CSetOfObjects::Ptr as template argument.
Public Static Functions
-
static CPose3DQuatPDF::Ptr 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 CPose3DQuatPDF. This object must be deleted by the user when not required anymore.
See also
-
static void jacobiansPoseComposition(const CPose3DQuat &x, const CPose3DQuat &u, mrpt::math::CMatrixDouble77 &df_dx, mrpt::math::CMatrixDouble77 &df_du, CPose3DQuat *out_x_oplus_u = nullptr)
This static method computes the two Jacobians of a pose composition operation \( (x,u)= x \oplus u \)
- Parameters:
out_x_oplus_u – If set to !=nullptr, 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: