Let DH convention is carried out as $$ A_i = \text{Rot}_{z,\theta_i}\text{Trans}_{z,d_i}\text{Trans}_{x,a_i}\text{Rot}_{x,\alpha_i} $$ This is the classical DH method stated in Spong's book. The homogenous transformation matrix $T^0_n=A_1 A_2\cdots A_n$ is $$ T^0_n= \begin{bmatrix} R^0_n &p^0_n \\ 0&1\end{bmatrix}\in \text{SE}(3) $$

The question is what is the Euler parameterization convention embedded in the rotation matrix $R^0_n$ (i.e. ZYZ,XYZ, ...,etc)? In the Spong's book, does the following occur accidentally? I'm asking this because I need to derive the analytic Jacobian for the angular part (i.e. $J_w$) which requires which Euler angles parameterization is being used.

enter image description here enter image description here


1 Answer 1


It appears that $R^{3}_{6}$ in equation 3.15 likely arises from the fact that the specific robot in the example has a "spherical wrist" structure. Considering joints $n-2$, $n-1$, and $n$, this structure occurs when joints $n-2$ and $n$ have colinear axes of rotation when joint $n-1$ is at some angle $\theta$ (this is typically the case at $\theta = 0$). Pictorially, this looks like:

enter image description here

We can see that the rotation of $\beta$ by another $\frac{\pi}{2}$ radians would align the first and third joints' rotational axes.

So, to answer your question the given excerpts from the Spong book do not happen accidentally - rather they occur purposefully. The kinematic structure of the spherical wrist is essentially a one-to-one mapping to the ZYZ euler angles. From a physical perspective, consider the fact that $\beta$ in the above picture is along the Y-axis of joint 1 and consider the case where joint 1, joint 2, and joint 3 all start at angles of $0$ (the end-effector pointing straight up). Thus, the end-effector's current Z axis will be aligned with joint 1. Any rotation along joint 1 will not disassociate the joint 2 axis of rotation with the current Y axis of the end-effector. Thus, any rotation of joint 2 will be equivalent to a current Y rotation. Finally, the formulation of the spherical wrist is such that the final joint always rotates along the current Z axis of the end-effector. Thus, joint 3 is equivalent to the final current Z rotation of the end-effector.

As a final set of notes - there are many, many different ways to parameterize orientation. Euler angles have the benefit that they can fully describe orientation, but in some cases they can suffer from gimbal lock as well as essentially being a 2-to-1 mapping to orientation space (in many cases there are two distinct Euler angle representations for any end-effector orientation). Under some constraints Euler angles can be made to be a 1-to-1 mapping, but some care must be taken. Finally, as far as I know, any choice of Euler angles can be used to compute the analytic Jacobian. In the example given in Spong chapter 4, it appears that if you use ZYZ Euler angles you need only follow equations 4.86 and 4.88 (and this should work for any robot structure, you will just need a way to convert the orientation portion of the end-effector's transformation matrix to Euler angles).

  • $\begingroup$ Thank you for this invaluable answer. you will just need a way to convert the orientation portion of the end-effector's transformation matrix to Euler angles, could you please elaborate a bit more about this? I'm planning to design velocity control at kinematic level in task space and I need the analytic Jacobian for this matter. $\endgroup$
    – CroCo
    Jul 2, 2022 at 7:13
  • $\begingroup$ Great question, here's a post that explains it better than I could! math.stackexchange.com/questions/3328656/… $\endgroup$ Jul 8, 2022 at 17:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.