pytransform3d.transformations.adjoint_from_transform#

pytransform3d.transformations.adjoint_from_transform(A2B, strict_check=True, check=True)[source]#

Compute adjoint representation of a transformation matrix.

The adjoint representation of a transformation \(\left[Ad_{\boldsymbol{T}_{BA}}\right] \in \mathbb{R}^{6 \times 6}\) from frame A to frame B translates a twist from frame A to frame B through the adjoint map

\[\mathcal{V}_{B} = \left[Ad_{\boldsymbol{T}_{BA}}\right] \mathcal{V}_A\]

The corresponding transformation matrix operation is

\[\left[\mathcal{V}_{B}\right] = \boldsymbol{T}_{BA} \left[\mathcal{V}_A\right] \boldsymbol{T}_{BA}^{-1}\]

We can also use the adjoint representation to transform a wrench from frame A to frame B:

\[\mathcal{F}_B = \left[ Ad_{\boldsymbol{T}_{AB}} \right]^T \mathcal{F}_A\]

Note that not only the adjoint is transposed but also the transformation is inverted.

Adjoint representations have the following properties:

\[\left[Ad_{\boldsymbol{T}_1 \boldsymbol{T}_2}\right] = \left[Ad_{\boldsymbol{T}_1}\right] \left[Ad_{\boldsymbol{T}_2}\right]\]
\[\left[Ad_{\boldsymbol{T}}\right]^{-1} = \left[Ad_{\boldsymbol{T}^{-1}}\right]\]

For a transformation matrix

\[\begin{split}\boldsymbol T = \left( \begin{array}{cc} \boldsymbol R & \boldsymbol t\\ \boldsymbol 0 & 1\\ \end{array} \right)\end{split}\]

the adjoint is defined as

\[\begin{split}\left[Ad_{\boldsymbol{T}}\right] = \left( \begin{array}{cc} \boldsymbol R & \boldsymbol 0\\ \left[\boldsymbol{t}\right]_{\times}\boldsymbol R & \boldsymbol R\\ \end{array} \right),\end{split}\]

where \(\left[\boldsymbol{t}\right]_{\times}\) is the cross-product matrix (see cross_product_matrix()) of the translation component.

Parameters:
A2Barray-like, shape (4, 4)

Transform from frame A to frame B

strict_checkbool, optional (default: True)

Raise a ValueError if the transformation matrix is not numerically close enough to a real transformation matrix. Otherwise we print a warning.

checkbool, optional (default: True)

Check if transformation matrix is valid

Returns:
adj_A2Barray, shape (6, 6)

Adjoint representation of transformation matrix

Examples using pytransform3d.transformations.adjoint_from_transform#

Visualize Wrench

Visualize Wrench

Probabilistic Product of Exponentials

Probabilistic Product of Exponentials