Graphics Reference
In-Depth Information
T 0
Data for Link 0 (the root)
T 2
T 1
R 2 ( 2 )
R 1 ( 1 )
Data for Link 2
Data for Link 1
T 2.1
R 2.1 ( 2.1 )
T 1.1
R 1.1 (
1.1 )
Data for Link 2.1
Data for Link 1.1
FIGURE 5.12
Tree structure corresponding to hierarchy with two appendages.
and two legs. If prismatic joints are used, the strategy is the same; the only difference is that the rotation
transformation of the joint (arc) is replaced by a translation.
5.1.2 Local coordinate frames
In setting up complex hierarchies and in applying computationally involved procedures such as IK, it is
convenient to be able to define points in the local coordinate system (frame) associatedwith a joint and to
have a well-defined method for converting the coordinates of a point from one frame to another. A com-
mon use for this method is to convert points defined in the frame of a joint to the global coordinate system
for display purposes. In the example above, a transformation matrix is associated with each arc to rep-
resent the transformation of a point from the local coordinate space of a child node to the local coordinate
space of the parent node. Successively applying matrices farther up the hierarchy can transform a point
fromany position in the tree intoworld coordinates. The inverse of the transformationmatrix can be used
to transform a point from the parent's frame to the child's frame. In the three-dimensional case, 4
4
transformationmatrices can be used to describe the relation of one coordinate frame to the next. Robotics
has adopted a more concise and more appropriate parameterization for physical devices called the
Denavit-Hartenberg notation. Although this notation is not used much in graphics anymore because
it lacks flexibility appropriate for synthetic linkages, it remains an effective way to describe the physical
configurations used in robotics. See Appendix B.4 for details of the Denavit-Hartenberg notation.
When implementing a kinematic linkage, especially when the linkage contains joints with multiple
DOF, there are options to consider when choosing the method to implement rotational parameterization
of a local coordinate frame. Part of the issue involves the user interface. What kind of information is
required from the user to specify the rotational values at the joint? Users are often already comfortable
with specifications such as x - y - z Euler angles. The other part of the issue involves the method used to
implement the rotations in order to produce the required transformations. If the user specifies the rota-
tion(s) interactively, then the operations are mapped directly to this internal representation. Quaternions
are often used to actually implement the transformations in order to avoid the gimbal lock problemwith
Euler and fixed-angle representations.
 
Search WWH ::




Custom Search