Public Member Functions | Public Attributes | List of all members
RobotDynamics::Math::SpatialTransform Struct Reference

Compact representation of spatial transformations. More...

#include <rdl_eigenmath.h>

Public Member Functions

SpatialVector apply (const SpatialVector &v_sp) const
 Transform a spatial vector. Same as $ X * v $. More...
 
SpatialVector applyAdjoint (const SpatialVector &f_sp) const
 Applies $ X * f $ where $ f $ is a spatial force. More...
 
SpatialVector applyTranspose (const SpatialVector &f_sp) const
 Applies $ X^T * f $. More...
 
SpatialTransform inverse () const
 Returns inverse of transform. More...
 
void invert ()
 Inverts in place. $ this = this^{-1} $. More...
 
SpatialTransform operator* (const SpatialTransform &XT) const
 Overloaded * operator for combining transforms. More...
 
void operator*= (const SpatialTransform &XT)
 
 SpatialTransform ()
 Constructor. More...
 
 SpatialTransform (const Matrix3d &rotation, const double x, const double y, const double z)
 Constructor. More...
 
 SpatialTransform (const Matrix3d &rotation, const Vector3d &translation)
 Constructor. More...
 
 SpatialTransform (const Matrix3d &rotation)
 Constructor. More...
 
 SpatialTransform (const Vector3d &translation)
 Constructor. More...
 
SpatialMatrix toMatrix () const
 Return transform as 6x6 spatial matrix. More...
 
SpatialMatrix toMatrixAdjoint () const
 Returns Spatial transform that transforms spatial force vectors. More...
 
SpatialMatrix toMatrixTranspose () const
 Returns spatial force transform transposed. More...
 

Public Attributes

Matrix3d E
 
Vector3d r
 

Detailed Description

Compact representation of spatial transformations.

Instead of using a verbose 6x6 matrix, this structure only stores a 3x3 matrix and a 3-d vector to store spatial transformations. It also encapsulates efficient operations such as concatenations and transformation of spatial vectors.

Definition at line 337 of file rdl_eigenmath.h.

Constructor & Destructor Documentation

RobotDynamics::Math::SpatialTransform::SpatialTransform ( )
inline

Constructor.

Definition at line 342 of file rdl_eigenmath.h.

RobotDynamics::Math::SpatialTransform::SpatialTransform ( const Matrix3d rotation,
const double  x,
const double  y,
const double  z 
)
inline

Constructor.

Parameters
rotationOrthogonal rotation matrix
xX component
yY component
zZ component

Definition at line 353 of file rdl_eigenmath.h.

RobotDynamics::Math::SpatialTransform::SpatialTransform ( const Matrix3d rotation,
const Vector3d translation 
)
inline

Constructor.

Parameters
rotationOrthogonal rotation matrix
translation3D translational component

Definition at line 362 of file rdl_eigenmath.h.

RobotDynamics::Math::SpatialTransform::SpatialTransform ( const Matrix3d rotation)
inlineexplicit

Constructor.

Parameters
rotationOrthogonal rotation matrix
translation3D translational component

Definition at line 371 of file rdl_eigenmath.h.

RobotDynamics::Math::SpatialTransform::SpatialTransform ( const Vector3d translation)
inlineexplicit

Constructor.

Parameters
rotationOrthogonal rotation matrix
translation3D translational component

Definition at line 380 of file rdl_eigenmath.h.

Member Function Documentation

SpatialVector RobotDynamics::Math::SpatialTransform::apply ( const SpatialVector v_sp) const
inline

Transform a spatial vector. Same as $ X * v $.

Parameters
v_spSpatial motion vector to be copied/transformed
Returns
Transformed spatial vector. $ \begin{bmatrix} E * w \\ - E * (r \times w) + E * v \end{bmatrix} $

Definition at line 390 of file rdl_eigenmath.h.

SpatialVector RobotDynamics::Math::SpatialTransform::applyAdjoint ( const SpatialVector f_sp) const
inline

Applies $ X * f $ where $ f $ is a spatial force.

Parameters
f_spSpatial force vector
Returns
$ \begin{bmatrix} E * n - E * (r \times f) \\ E * f \end{bmatrix} $

Definition at line 421 of file rdl_eigenmath.h.

SpatialVector RobotDynamics::Math::SpatialTransform::applyTranspose ( const SpatialVector f_sp) const
inline

Applies $ X^T * f $.

Parameters
f_spSpatial force
Returns
$ \begin{bmatrix} E^T * n + r \times * E^T * f \\ E^T * f \end{bmatrix} $

Definition at line 405 of file rdl_eigenmath.h.

SpatialTransform RobotDynamics::Math::SpatialTransform::inverse ( ) const
inline

Returns inverse of transform.

Returns
$ X^{-1} $

Definition at line 488 of file rdl_eigenmath.h.

void RobotDynamics::Math::SpatialTransform::invert ( )
inline

Inverts in place. $ this = this^{-1} $.

Definition at line 496 of file rdl_eigenmath.h.

SpatialTransform RobotDynamics::Math::SpatialTransform::operator* ( const SpatialTransform XT) const
inline

Overloaded * operator for combining transforms.

Parameters
XT
Returns
Combined rotation

Definition at line 507 of file rdl_eigenmath.h.

void RobotDynamics::Math::SpatialTransform::operator*= ( const SpatialTransform XT)
inline

Definition at line 512 of file rdl_eigenmath.h.

SpatialMatrix RobotDynamics::Math::SpatialTransform::toMatrix ( ) const
inline

Return transform as 6x6 spatial matrix.

Returns
$ \begin{bmatrix} E & \mathbf{0} \\ -E * r\times & E \end{bmatrix} $

Definition at line 434 of file rdl_eigenmath.h.

SpatialMatrix RobotDynamics::Math::SpatialTransform::toMatrixAdjoint ( ) const
inline

Returns Spatial transform that transforms spatial force vectors.

Returns
$ \begin{bmatrix} E & -E * r\times \\ \mathbf{0} & E \end{bmatrix} $

Definition at line 452 of file rdl_eigenmath.h.

SpatialMatrix RobotDynamics::Math::SpatialTransform::toMatrixTranspose ( ) const
inline

Returns spatial force transform transposed.

Returns
$ \begin{bmatrix} E^{T} & (-E r\times)^{T} \\ \mathbf{0} & E^{T} \end{bmatrix} $

Definition at line 470 of file rdl_eigenmath.h.

Member Data Documentation

Matrix3d RobotDynamics::Math::SpatialTransform::E

Definition at line 518 of file rdl_eigenmath.h.

Vector3d RobotDynamics::Math::SpatialTransform::r

Definition at line 519 of file rdl_eigenmath.h.


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


rdl_dynamics
Author(s):
autogenerated on Tue Apr 20 2021 02:25:28