[mrpt-poses]
Overview
SE(2)/SE(3) poses and probability distributions
Library mrpt-poses
This library is part of MRPT and can be installed in Debian-based systems with:
sudo apt install libmrpt-poses-dev
Read also how to import MRPT into your CMake scripts.
mrpt-poses provides SE(2)/SE(3) rigid-body transformations and their probability distributions:
Deterministic poses
Class |
Description |
|---|---|
2D pose (x, y, φ) |
|
3D pose using yaw/pitch/roll angles |
|
3D pose using a unit quaternion |
|
2D point |
|
3D point |
Lightweight (non-serializable) equivalents live in mrpt-math : mrpt::math::TPose2D, mrpt::math::TPose3D, mrpt::math::TPoint3D.
Probabilistic pose PDFs
All PDF classes derive from mrpt::poses::CPosePDF (2D), mrpt::poses::CPose3DPDF (3D, yaw/pitch/roll) or mrpt::poses::CPose3DQuatPDF (3D, quaternion). See also the PDFs over spatial transformations tutorial.
Class |
Representation |
|---|---|
Gaussian (mean + 3x3 covariance) |
|
Gaussian in information form |
|
Set of weighted samples (particles) |
|
Sum of Gaussians |
|
Discrete grid over (x, y, phi) |
|
3D Gaussian (mean + 6x6 covariance) |
|
3D Gaussian in information form |
|
3D set of weighted samples (particles) |
|
3D sum of Gaussians |
|
Discrete grid over the 6D pose space |
|
3D Gaussian (mean + 7x7 covariance) |
|
3D Gaussian in information form (quaternion) |
Pose interpolation and trajectories
mrpt::poses::CPose2DInterpolator and mrpt::poses::CPose3DInterpolator (both derived from mrpt::poses::CPoseInterpolatorBase) store timestamped pose sequences and interpolate between them with the methods in mrpt::poses::TInterpolatorMethod (linear, splines, SLERP for rotations). mrpt::poses::CPoses2DSequence / mrpt::poses::CPoses3DSequence store sequences of relative (incremental) poses instead.
Library contents
// global functions void mrpt::poses::registerAllClasses_mrpt_poses();
Global Functions
void mrpt::poses::registerAllClasses_mrpt_poses()
Forces manual RTTI registration of all serializable classes in this namespace.
Should never be required to be explicitly called by users, except if building MRPT as a static library.