pytransform3d.transformations.exponential_coordinates_from_transform_log

pytransform3d.transformations.exponential_coordinates_from_transform_log(transform_log, check=True)[source]

Compute exponential coordinates from logarithm of transformation.

Extracts the vector \mathcal{S} \theta =
(\hat{\boldsymbol{\omega}}, \boldsymbol{v}) \theta \in \mathbb{R}^6 from the matrix

\left(
\begin{array}{cccc}
0 & -\omega_3 & \omega_2 & v_1\\
\omega_3 & 0 & -\omega_1 & v_2\\
-\omega_2 & \omega_1 & 0 & v_3\\
0 & 0 & 0 & 0
\end{array}
\right)
\theta = \left[ \mathcal{S} \right] \theta \in so(3).

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

Matrix logarithm of transformation matrix: [S] * theta.

checkbool, optional (default: True)

Check if logarithm of transformation is valid

Returns:
Sthetaarray, shape (6,)

Exponential coordinates of transformation: S * theta = (omega_1, omega_2, omega_3, v_1, v_2, v_3) * theta, where S is the screw axis, the first 3 components are related to rotation and the last 3 components are related to translation. Theta is the rotation angle and h * theta the translation.