|
|
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. | |
| Eigen::AngleAxisf | getScaledRotationAxis (int index, bool global=false) const |
| Get a column of the pure orientational covariance matrix as axis-angle rotation. | |
| PoseManifoldGaussian | getTransformed (const Eigen::Matrix4f &fromFrame, const Eigen::Matrix4f &toFrame) const |
| Transform this gaussian from one base coordinate system to another one. | |
| PoseManifoldGaussian | getTransformed (const Eigen::Matrix4f &transform) const |
| Transform this gaussian by the given transform (e.g. | |
| Eigen::Block< Eigen::Matrix< float, 6, 6 >, 3, 3 > | orientationCovariance () |
| Get the pure orientational part of the covariance matrix. | |
| 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. | |
| 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. | |
| Eigen::Matrix4f | mean = Eigen::Matrix4f::Identity() |
| The mean (i.e. a pose). | |
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.
| PoseManifoldGaussian::Ellipsoid getPositionEllipsoid | ( | ) | const |
Get the parameters of a 3D ellipsoid illustrating this gaussian.
| 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. |
| 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. |
| PoseManifoldGaussian getTransformed | ( | const Eigen::Matrix4f & | transform | ) | const |
Transform this gaussian by the given transform (e.g.
to another frame).
| transform | The transform to apply. |
|
inline |
Get the pure orientational part of the covariance matrix.
|
inline |
|
inline |
Get the pure positional part of the covariance matrix.
|
inline |
| Eigen::Matrix<float, 6, 6> covariance = Eigen::Matrix<float, 6, 6>::Identity() |
The covariance matrix.
| Eigen::Matrix4f mean = Eigen::Matrix4f::Identity() |
The mean (i.e. a pose).