CPSC 452 - DH Frame Assignment Cookbook
The following steps outline a procedure for assigning the
DH parameters and coordinate frames attached to the links of
a manipulator.
- Identify the joint axes and label them z_i, i = 1,2,...,n.
- Identify common normals of adjacent pairs of z-axes (if possible).
These are the x-axes. The common normal direction from z_{i-1} to z_i
defines the x_{i-1} direction.
- Identify frame origins, i = 1,2,...,n-1.
- If axes i and i-1 are skew, then origin i-1 is the point of
intersection of axis i-1 and the common normal between z_{i-1} and z_i.
- If axes i and i-1 intersect at one point, then that point
is origin i-1. Note that the DH param. "a_{i-1}" is zero. Also, if you
use the convention, that the x_{i-1} direction is the cross product
of z_{i-1} with z_i (in that order), the the DH param. "alpha_{i-1}"
will always be greater than zero.
- If axes i and i-1 are parallel, and not colinear, then
select a common normal that makes "d_i" zero.
- If i and i-1 are colinear, the choose the origin of frame
i-1 such that some "d" and "a" values are zero.
This will usually mean that x_{i-1} is in the same direction as an
x-axis with a smaller index. Sometimes, you have to work backward
from an x-axis with a larger index.
- Assign y_i by y_i = z_i cross x_i, i = 1,2,...,n-1
- Assign frame {0} to be equal to {1} when the first joint
displacement is zero.
- Assign {n} such that as many parameters as possible are zero.
Also, since no joint i+1 exists, you are free to assign {n} arbitrarily.
However, it is possible to assign a frame that is not related to
{n-1} by a DH transformation. A general h-t-form may be needed.