PoseManifoldGaussian Struct Reference

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

Detailed Description

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.

Member Function Documentation

◆ getPositionEllipsoid()

PoseManifoldGaussian::Ellipsoid getPositionEllipsoid ( ) const

Get the parameters of a 3D ellipsoid illustrating this gaussian.

Definition at line 11 of file PoseManifoldGaussian.cpp.

+ Here is the caller graph for this function:

◆ getScaledRotationAxis()

Eigen::AngleAxisf getScaledRotationAxis ( int  index,
bool  global = false 
) const

Get a column of the pure orientational covariance matrix as axis-angle rotation.

Parameters
indexThe column's index.
globalIf true, rotate the axis by the mean orientation.
Returns

Definition at line 46 of file PoseManifoldGaussian.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTransformed() [1/2]

PoseManifoldGaussian getTransformed ( const Eigen::Matrix4f &  fromFrame,
const Eigen::Matrix4f &  toFrame 
) const

Transform this gaussian from one base coordinate system to another one.

Parameters
fromFrameThe original (current) base coordinate system' pose.
toFrameThe new base coordinate system' pose.
Returns
The same gaussian in thenew coordinate system.

Definition at line 74 of file PoseManifoldGaussian.cpp.

+ Here is the call graph for this function:

◆ getTransformed() [2/2]

PoseManifoldGaussian getTransformed ( const Eigen::Matrix4f &  transform) const

Transform this gaussian by the given transform (e.g.

to another frame).

Parameters
transformThe transform to apply.
Returns
The transformed gaussian.

Definition at line 60 of file PoseManifoldGaussian.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ orientationCovariance() [1/2]

Eigen::Block<Eigen::Matrix<float, 6, 6>, 3, 3> orientationCovariance ( )
inline

Get the pure orientational part of the covariance matrix.

Definition at line 51 of file PoseManifoldGaussian.h.

◆ orientationCovariance() [2/2]

Eigen::Block<const Eigen::Matrix<float, 6, 6>, 3, 3> orientationCovariance ( ) const
inline

Definition at line 56 of file PoseManifoldGaussian.h.

◆ positionCovariance() [1/2]

Eigen::Block<Eigen::Matrix<float, 6, 6>, 3, 3> positionCovariance ( )
inline

Get the pure positional part of the covariance matrix.

Definition at line 39 of file PoseManifoldGaussian.h.

◆ positionCovariance() [2/2]

Eigen::Block<const Eigen::Matrix<float, 6, 6>, 3, 3> positionCovariance ( ) const
inline

Definition at line 44 of file PoseManifoldGaussian.h.

Member Data Documentation

◆ covariance

Eigen::Matrix<float, 6, 6> covariance = Eigen::Matrix<float, 6, 6>::Identity()

The covariance matrix.

Definition at line 32 of file PoseManifoldGaussian.h.

◆ mean

Eigen::Matrix4f mean = Eigen::Matrix4f::Identity()

The mean (i.e. a pose).

Definition at line 30 of file PoseManifoldGaussian.h.


The documentation for this struct was generated from the following files: