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)

\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,

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.