|
A "gaussian" distribution in pose space (i.e. More...
#include <RobotAPI/libraries/ArmarXObjects/PoseManifoldGaussian.h>
Classes | |
struct | Ellipsoid |
Public Member Functions | |
Ellipsoid | getPositionEllipsoid () const |
Get the parameters of a 3D ellipsoid illustrating this gaussian. More... | |
Eigen::AngleAxisf | getScaledRotationAxis (int index, bool global=false) const |
Get a column of the pure orientational covariance matrix as axis-angle rotation. More... | |
PoseManifoldGaussian | getTransformed (const Eigen::Matrix4f &fromFrame, const Eigen::Matrix4f &toFrame) const |
Transform this gaussian from one base coordinate system to another one. More... | |
PoseManifoldGaussian | getTransformed (const Eigen::Matrix4f &transform) const |
Transform this gaussian by the given transform (e.g. More... | |
Eigen::Block< Eigen::Matrix< float, 6, 6 >, 3, 3 > | orientationCovariance () |
Get the pure orientational part of the covariance matrix. More... | |
Eigen::Block< const Eigen::Matrix< float, 6, 6 >, 3, 3 > | orientationCovariance () const |
Eigen::Block< Eigen::Matrix< float, 6, 6 >, 3, 3 > | positionCovariance () |
Get the pure positional part of the covariance matrix. More... | |
Eigen::Block< const Eigen::Matrix< float, 6, 6 >, 3, 3 > | positionCovariance () const |
Public Attributes | |
Eigen::Matrix< float, 6, 6 > | covariance = Eigen::Matrix<float, 6, 6>::Identity() |
The covariance matrix. More... | |
Eigen::Matrix4f | mean = Eigen::Matrix4f::Identity() |
The mean (i.e. a pose). More... | |
A "gaussian" distribution in pose space (i.e.
pose manifold).
The mean is a specific pose, represented as 4x4 homogeneous matrix.
The covariance is a 6 x 6 covariance matrix. The first 3 dimensions represent the position (translation) part, the second 3 dimensions represent the orientation (rotation) part. A column of the pure orientational part (lower right 3 x 3 matrix) is a scaled rotation axis, i.e. rotation axis whose norm is the rotation angle (in this case the "angle variance").
Note that the lower left and upper right 3x3 parts of the covariance matrix can be non-zero.
Definition at line 25 of file PoseManifoldGaussian.h.
PoseManifoldGaussian::Ellipsoid getPositionEllipsoid | ( | ) | const |
Get the parameters of a 3D ellipsoid illustrating this gaussian.
Definition at line 11 of file PoseManifoldGaussian.cpp.
Eigen::AngleAxisf getScaledRotationAxis | ( | int | index, |
bool | global = false |
||
) | const |
Get a column of the pure orientational covariance matrix as axis-angle rotation.
index | The column's index. |
global | If true, rotate the axis by the mean orientation. |
Definition at line 46 of file PoseManifoldGaussian.cpp.
PoseManifoldGaussian getTransformed | ( | const Eigen::Matrix4f & | fromFrame, |
const Eigen::Matrix4f & | toFrame | ||
) | const |
Transform this gaussian from one base coordinate system to another one.
fromFrame | The original (current) base coordinate system' pose. |
toFrame | The new base coordinate system' pose. |
Definition at line 74 of file PoseManifoldGaussian.cpp.
PoseManifoldGaussian getTransformed | ( | const Eigen::Matrix4f & | transform | ) | const |
Transform this gaussian by the given transform (e.g.
to another frame).
transform | The transform to apply. |
Definition at line 60 of file PoseManifoldGaussian.cpp.
|
inline |
Get the pure orientational part of the covariance matrix.
Definition at line 51 of file PoseManifoldGaussian.h.
|
inline |
Definition at line 56 of file PoseManifoldGaussian.h.
|
inline |
Get the pure positional part of the covariance matrix.
Definition at line 39 of file PoseManifoldGaussian.h.
|
inline |
Definition at line 44 of file PoseManifoldGaussian.h.
Eigen::Matrix<float, 6, 6> covariance = Eigen::Matrix<float, 6, 6>::Identity() |
The covariance matrix.
Definition at line 32 of file PoseManifoldGaussian.h.
Eigen::Matrix4f mean = Eigen::Matrix4f::Identity() |
The mean (i.e. a pose).
Definition at line 30 of file PoseManifoldGaussian.h.