pytransform3d.transformations
.transform_log_from_transform#
- pytransform3d.transformations.transform_log_from_transform(A2B, strict_check=True)[source]#
Compute matrix logarithm of transformation from transformation.
Logarithmic map.
\[\log: \boldsymbol{T} \in SE(3) \rightarrow \left[ \mathcal{S} \right] \theta \in se(3)\]\[\begin{split}\log(\boldsymbol{T}) = \log\left( \begin{array}{cc} \boldsymbol{R} & \boldsymbol{p}\\ \boldsymbol{0} & 1 \end{array} \right) = \left( \begin{array}{cc} \log\boldsymbol{R} & \boldsymbol{J}^{-1}(\theta) \boldsymbol{p}\\ \boldsymbol{0} & 0 \end{array} \right) = \left( \begin{array}{cc} \hat{\boldsymbol{\omega}} \theta & \boldsymbol{v} \theta\\ \boldsymbol{0} & 0 \end{array} \right) = \left[\mathcal{S}\right]\theta,\end{split}\]where \(\boldsymbol{J}^{-1}(\theta)\) is the inverse left Jacobian of \(SO(3)\) (see
left_jacobian_SO3_inv()
).- Parameters:
- A2Barray, 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.
- Returns:
- transform_logarray, shape (4, 4)
Matrix logarithm of transformation matrix: [S] * theta.