next up previous
Next: Transforming Other Structures Up: Transformations of Kinematic Chains Previous: A Kinematic Chain in

A Kinematic Chain in ${\mathbb R}^3$

As for a single rigid body, the 3D case is significantly more complicated than 2D due to 3D rotations. Also, several more types of joints are possible, as shown in Figure 2.10. Nevertheless, it is naturally extend the ideas from transformations of 2D kinematic chains to the 3D case. The following steps from Section 2.3.1 will be recycled here: 1) the coordinate frame must be carefully placed to define the model for each ${\cal A}_i$; 2) based on joint relationships, several parameters will be defined; 3) the parameters will be used to define a homogeneous transformation matrix, Ti; 4) the transformation of points on link ${\cal A}_m$ will be given by $T_1 T_2 \cdots T_m$.


 
Figure 2.10:   Types of 3D Joints
\begin{figure}
\begin{center}
\begin{tabular}
{cc}

\psfig {file=figs/revolute.p...
 ...3 Degrees of Freedom & 3 Degrees of Freedom\end{tabular}\end{center}\end{figure}

Consider a kinematic chain of m links in ${\cal W}= {\mathbb R}^3$, in which each ${\cal A}_i$ for $1 \leq i < m$ is attached to ${\cal A}_{i+1}$ by a revolute joint. Each link can be a complicated, rigid body as shown in Figure 2.11.a. For the 2D problem, the coordinate frames were based on the points of attachment. For the 3D problem, it is convenient to use the axis of rotation of each revolute joint (this is equivalent to the point of attachment for the 2D case). The axes of rotation will generally be skew lines in ${\mathbb R}^3$, as shown in Figure 2.11.b. Let Zi refer to the axis of rotation for the revolute joint that holds ${\cal A}_i$ to ${\cal A}_{i-1}$. Between each pair of axes in succession, draw a vector, Xi, that joins the two closest pair of points, one from Zi and the other from Zi-1 (this choice is unique if the axes are not parallel). The recommended coordinate frame for defining the geometric model for each ${\cal A}_i$ will be given with respect to Zi and Xi, which are given in Figure 2.11.b. Assuming a right-handed coordinate system, the Yi axis points away from us in Figure 2.11.b. In the transformations that appear shortly, the coordinate frame given by Xi, Yi, and Zi, will be most convenient for defining the model for ${\cal A}_i$, even if the origin of the frame lies outside of ${\cal A}_i$.


 
Figure 2.11:   a) The diagram of a generic link; b) The rotation axes are skew lines in ${\mathbb R}^3$.
\begin{figure}
\begin{center}
\begin{tabular}
{cc}

\resizebox {10cm}{5cm}
{\beg...
 ...t}$X_{i-1}$}}}\end{picture}} \\ a. & b. \\ \end{tabular}\end{center}\end{figure}


 
Figure 2.12:   Definitions of the four DH parameters: di, $\theta_i$, ai-1, $\alpha_{i-1}$
\begin{figure}
\begin{center}
\begin{tabular}
{cc}

\resizebox {3cm}{5cm}
{\begi...
 ...ault}$X_{i-1}$}}}\end{picture}} \\ c. & d. \end{tabular}\end{center}\end{figure}

In Section 2.3.1, each Ti was defined in terms of two parameters, ai-1 and $\theta_i$. For the 3D case, four parameters will be defined: di, $\theta_i$, ai-1, and $\alpha_{i-1}$. These are referred to as Denavit-Hartenberg parameters, or DH parameters for short [2]. The definition of each parameter is indicated in Figure 2.12. Figure 2.12.a shows the definition of di. Note that Xi-1 and Xi contact Zi at two different places. Let di denote signed distance between these points of contact. If Xi is above Xi-1 along Zi, then di is positive; otherwise, di is negative. The parameter $\theta_i$ is the angle between Xi and Xi-1, which corresponds to the rotation about Zi that moves Xi-1 to coincide Xi. In Figure 2.12.b, Zi is pointing outward. The parameter ai is the distance between Zi and Zi-1; recall these are generally skew lines in ${\mathbb R}^3$. The parameter $\alpha_{i-1}$ is the angle between Zi and Zi-1. In Figure 2.12.d, Xi-1 is pointing outward.

The homogeneous transformation matrix Ti will be constructed by combining two simpler transformations. The transformation

\begin{displaymath}
R_i = 
\pmatrix{
\cos\theta_i & -\sin\theta_i & 0 & 0 \cr
\s...
 ...& \cos\theta_i & 0 & 0 \cr
0 & 0 & 1 & d_i \cr
0 & 0 & 0 & 1 } \end{displaymath}

causes a rotation of $\theta_i$ about the Zi axis, and a translation of di along the Zi axis. Notice that the effect of Ri is independent of the ordering of the rotation by $\theta_i$ and the translation by di, because both operations occur with respect to the same axis, Zi. The combined operation of a translation and rotation with respect to the same axis is referred to as a screw (as in the motion of a screw through a nut). . The effect of Ri can thus be considered as a screw about Zi. The second transformation is

\begin{displaymath}
Q_{i-1} = 
\pmatrix{
1 & 0 & 0 & a_{i-1} \cr
0 & \cos\alpha_...
 ...& \sin\alpha_{i-1} & \cos\alpha_{i-1} & 0 \cr
0 & 0 & 0 & 1 } ,\end{displaymath}

which can be considered as a screw about the Xi-1 axis. A rotation of $\alpha_{i-1}$ about Xi-1 is followed by a translation of ai-1.

The homogeneous transformation matrix, Ti, for $1 < i \leq m$, is  
 \begin{displaymath}
T_i = Q_{i-1} R_i = 
\pmatrix{
\cos\theta_i & -\sin\theta_i ...
 ...} &
\cos\alpha_{i-1} & \cos\alpha_{i-1}d_i \cr
0 & 0 & 0 & 1} .\end{displaymath} (14)
This can be considered as the 3D counterpart to the 2D transformation matrix, (2.10). The following four operations are performed in succession:

1.
Translate by di along the Z-axis
2.
Rotate counterclockwise by $\theta_i$ about the Z-axis
3.
Translate by ai-1 along the X-axis
4.
Rotate counterclockwise by $\alpha_{i-1}$ about the X-axis
The transformation Ti gives the relationship of the frame for ${\cal A}_i$ to the frame for ${\cal A}_{i-1}$. The position of a point (x,y,z) on ${\cal A}_m$ is given by

\begin{displaymath}
T_1 T_2 \cdots T_m \pmatrix{x \cr y \cr z \cr 1 \cr} .\end{displaymath}

As in the 2D case, the matrix T1 is the standard rigid-body homogeneous transformation matrix, which is given by (2.11) for the 3D case.

For each revolute joint, $\theta_i$ is treated as the only variable in Ti. A prismatic joints can be simulated by allowing ai to vary. More complicated joints can be simulated as a sequence of degenerate joints. For example, a spherical joint can be considered as a sequence of three zero-length revolute joints; the joints perform a roll, a pitch, and a yaw. Another option for more complicated joints is to derive a special homogeneous transformation matrix. This might be needed to preserve some of the topological properties that will be discussed in Chapter [*].


next up previous
Next: Transforming Other Structures Up: Transformations of Kinematic Chains Previous: A Kinematic Chain in
Steven M. LaValle
8/29/2001