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

\[\begin{split}\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).\end{split}\]
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.