### There are a few rules to consider in choosing the coordinate system:

1. the $z$-axis is in the direction of the joint axis
2. the $x$-axis is parallel to the common normal: $x_n = z_n \times z_{n - 1}$ If there is no unique common normal (parallel $z$ axes), then $d$ (below) is a free parameter.
3. the $y$-axis follows from the $x$- and $z$-axis by choosing it to be a right-handed coordinate system.

Once the coordinate frames are determined, inter-link transformations are uniquely described by the following four parameters:

• $\theta$: angle about previous $z$, from old $x$ to new $x$
• $d$: offset along previous $z$ to the common normal
• $r$: length of the common normal (aka $a$, but if using this notation, do not confuse with $\alpha$). Assuming a revolute joint, this is the radius about previous $z$.
• $\alpha$: angle about common normal, from old $z$ axis to new $z$ axis

## “Standard” DH Parameters

Following the DH standard you must provide 4 numbers that define the orientation of the $i_{th}$ link with respect to the $i-1_{th}$ link. “Standard” DH convention assumes that the $i_{th}$ coordinate frame is at the $i+1_ {joint}$. (joint 1 axes 0, joint 2 axes 1 …)

1. (Link parameter)($\alpha$)The first number represents the angle (in radians) between $z_{i-1}$ and $z_i$ about $x_i$.
2. (Link parameter)($a$)The second number represents the length (in meters) along $x_i$ of the common perpendicular between $z_{i-1}$ and $z_i$.
3. (Joint parameter)($\theta$)The third number represents the angle (in radians) between $x_{i-1}$ and $x_i$ about $z_{i-1}$.
4. (Joint parameter)($d$)The fourth number represents the distance (in meters) along axis $z_{i-1}$ between the origin of the $i-1_{th}$ coordinate frame and the point where the common perpendicular intersects axis $z_i$

## “Modified” DH Parameters (also called Craig’s convention)

Following the modified DH standard, you must provide 4 numbers that define the orientation of the $i_{th}$ link with respect to the $i-1_{th}$ link. Unlike the “standard” DH convention, the “modified” DH convention assumes that the $i_{th}$ coordinate frame is at the $i_ {joint}$. (joint 1 axes 1,joint 2 axes 2 …)

1. (Link parameter)($\alpha$)The first number represents the angle (in radians) between $z_{i-1}$ and $z_i$ about $x_{i-1}$.
2. (Link parameter)($a$)The second number represents the length (in meters) along $x_{i-1}$ of the common perpendicular between $z_{i-1}$ and $z_i$.
3. (Joint parameter)($\theta$)The third number represents the angle (in radians) between $x_{i-1}$ and $x_i$ about $z_i$.
4. (Joint parameter)($d$)The fourth number represents the distance (in meters) between $x_{i-1}$ and $x_i$ about $z_i$.

Many people in robotics are actually unaware that there are two different conventions in use. An advantage of Craig’s convention is the proximal placement of the origin for a link. Also the rotation $\theta_i$ is about $z_i$ and the joint number is the same as the coordinate number, which seem more natural. Torque exerted about joint $i$ is also at the same place as at link $i$’s coordinate system, to which inertial parameters such as center of mass are likely to be referenced. A disadvantage is that the transform mixes $i−1$ and $i$ parameters. Both Craig’s convention and the standard DH convention are equally valid. The choice of one over the other is merely a matter of taste or habit.