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

- the -axis is in the direction of the joint axis
- the -axis is parallel to the common normal:

If there is no unique common normal (parallel axes), then (below) is a free parameter. - the -axis follows from the - and -axis by choosing it to be a right-handed coordinate system.

- : angle about previous , from old to new
- : offset along previous to the common normal
- : length of the common normal (aka , but if using this notation, do not confuse with ). Assuming a revolute joint, this is the radius about previous .
- : angle about common normal, from old axis to new 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 ...)- (Link parameter)(alpha)The first number represents the angle (in radians) between
*z*and_{i-1}*z*about_{i}*x*._{i} - (Link parameter)(a)The second number represents the length (in meters) along
*x*of the common perpendicular between_{i}*z*and_{i-1}*z*._{i} - (Joint parameter)(theta)The third number represents the angle (in radians) between
*x*and_{i-1}*x*about_{i}*z*._{i-1} - (Joint parameter)(d)The fourth number represents the distance (in meters) along axis
*z*between the origin of the_{i-1}*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 ...)- (Link parameter)(alpha)The first number represents the angle (in radians) between
*z*and_{i-1}*z*about_{i}*x*._{i-1} - (Link parameter)(a)The second number represents the length (in meters) along
*x*of the common perpendicular between_{i-1}*z*and_{i-1}*z*._{i} - (Joint parameter)(theta)The third number represents the angle (in radians) between
*x*and_{i-1}*x*about_{i}*z*._{i} - (Joint parameter)(d)The fourth number represents the distance (in meters) between
*x*and_{i-1}*x*about_{i}*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 θi is about zi 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.}