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
#
Probabilistic Product of Exponentials