src.core.inverse_kinematics package#

Submodules#

src.core.inverse_kinematics.analytical_methods module#

src.core.inverse_kinematics.analytical_methods.model_analytical(rotation_axis, final_vectors) tuple[source]#

Computes Euler rotation angles based on the specified rotation axis convention.

This function analytically determines the three Euler angles (alpha, beta, gamma) that rotate a reference frame to match the given final vectors, according to the specified Euler rotation convention (e.g., ‘ZXZ’, ‘XYZ’, etc.).

The method assumes that the final_vectors represent the axes of the rotated frame (typically X, Y, and Z unit vectors) expressed in the original reference frame after transformation.

Parameters:
  • rotation_axis (str) – The Euler rotation sequence (e.g., ‘XYZ’, ‘ZXZ’, ‘ZYX’, etc.) that defines the axis order of the rotations to be solved.

  • final_vectors (list of sympy.Matrix) – A list containing three SymPy 3D vectors representing the rotated axes after transformation. These vectors are used to analytically compute the rotation angles.

Returns:

  • alpha (float) – The first Euler angle (in degrees), representing rotation about the first axis.

  • beta (float) – The second Euler angle (in degrees), representing rotation about the second axis.

  • gamma (float) – The third Euler angle (in degrees), representing rotation about the third axis.

Notes

  • The function supports various Euler angle conventions including Tait-Bryan and classical Euler types.

  • Assumes that the input vectors are orthonormal and represent valid rotations.

  • All trigonometric computations are performed using numpy.

Raises:

ValueError – If an unsupported rotation axis is provided.

Module contents#