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.