Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam
![[Psychology] Mechanical Assemblies Phần 2 ppsx](https://storage.googleapis.com/cloud_leafy_production/1687815377115_1687815368977_318-0.png)
[Psychology] Mechanical Assemblies Phần 2 ppsx
Nội dung xem thử
Mô tả chi tiết
38 3 MATHEMATICAL AND FEATURE MODELS OF ASSEMBLIES
FIGURE 3-5. Schematic Diagram of Matrix Transforms Applied to the Stapler. Left: The parts of the stapler have been
replaced by blobs. Right: Straight-line arrows have been added to relate frames on the same part. Curved arrows have been
added linking the coordinate frames of assembly features on different parts to indicate which ones are to be joined in order to
assemble the parts. Double curved lines indicate the KCs that were identified in Chapter 1.
FIGURE 3-6. Schematic Representation of a Transform.
The transform T contains a translational part represented by
vector p and a rotational part represented by matrix R. Vector p is expressed in the coordinates of frame 1. Matrix R
rotates frame 1 into frame 2.
vectors are assumed to be column vectors, so a transposed
vector is a row vector.) On a component-by-component
basis, transform T is
where vector p is expressed in the coordinates of the original frame and r,;
are the direction cosines of axis i in
frame 1 to axis j in frame 2.
Transform T can be used to calculate the coordinates
of a point in the second coordinate frame in terms of
the first coordinate frame. The coordinates of a point are
given by
3.C. MATRIX TRANSFORMATIONS 39
Then, in general, if q is a vector in the second frame,
its coordinates in the first frame are given by q'\
This says that q' is obtained by rotating q by R and
then adding p.
Suppose a transform T consists only of matrix R, and
suppose that we want to find the coordinates of the end of
a unit vector along the z axis of the rotated second frame
in terms of the unrotated first frame. The calculation is
This result shows that the columns of matrix R tell
where the coordinate axes have rotated. That is, the first
column tells where the x axis went, and so on. The elements of each column are the cosines, respectively, of the
x,y, and z components of the new axis expressed in the
original frame.
Matrix R can be generated a number of ways. One way
is to rotate once about each coordinate axis. This will generate one elemental rotation matrix. Matrix R can then be
created by multiplying the elemental matrices into one another. The elemental matrices, as discussed in [Paul], are
The order in which T's and R's are multiplied is important, and different sequences will create different results.
For example,
rotates vector u into a new orientation w by first rotating
90° about the z axis in the frame in which u is measured,
then 90° about _y in the same frame. However,
rotates vector u into a new orientation w' by first rotating
about the y axis and then about the z axis. Equation (3-9)
can also be interpreted as saying, Rotate u 90° about its
original y axis, then 90° about its new z axis. Similarly,
Equation (3-10) can be interpreted as saying: first rotate
u 90° about its original z axis and then rotate it 90° about
its new y axis.
A transform that simply repositions a frame without
reorienting it is
A transform T that comprises a translation px along x
followed by a rotation of 90° about the new (translated) z
could then be written
We can also compute the inverse of a transform. In
words, the inverse of T should undo what T did. If
or, equivalently, if
then
The transform in Equation (3-16) is the inverse of the
transform in Equation (3-15). Embedded in these relationships is the fact that, for rotation matrices,
3.C.2.b. Examples
Here are some examples that illustrate the rules for using
trans and rot, including the effects of doing so in different
sequences.
then
40 3 MATHEMATICAL AND FEATURE MODELS OF ASSEMBLIES
Equation (3-18) reminds us of the rule regarding sequence of application of a transform. It contains the transforms that we will use in the examples here.
<— use original axes
trans(px,Q,Q)rvt(z,90) (3-18)
use new axes
We will compare this combined transform with one that
contains the same matrices but does something completely
different:
We will calculate the effects in both cases, applying the
transforms from left to right and from right to left. First,
Equation (3-18) is expanded in Equation (3-20). The actions are performed in both sequences in Figure 3-7. It is
seen that both sequences result in the same new frame.
FIGURE 3-7. Illustration of Two Ways of Interpreting
Equation (3-20). Left: Performing the operations from right
to left requires that the original XYZ axes be used throughout the action. Hence, we first rotate 90° about Z and then
translate a distance px along the original X axis. Right: Performing the operations from left to right requires that the new
axes be used throughout the action. (For the first operation,
new and original have the same orientation.) Hence, we first
translate a distance px along the original/new X axis and then
rotate 90° about the new (translated) frame's Z axis.
Second, we will perform the actions of Equation (3-19)
in both sequences. This is illustrated in Figure 3-8. First,
Equation (3-19) is expanded in Equation (3-21). Again,
we see that the same final frame results. Of course, it is
different from the frame that results from the operations
in Equation (3-20).
= trans(0,px,Q)rvt(z,90)
3.C.2.C. Composition of Transforms
The main use of transforms is to permit chaining a series
of them together so that we can locate a distant frame by
means of several intermediate frames. This is done merely
by multiplying one transform by another, as shown in
Figure 3-9.
The following forms are equivalent:
The first thing to notice about the matrix in the fifth
equation is that it follows the form of the general transform: a rotation matrix in the upper left, a position vector
at the right, and a row of three zeroes and a one along
the bottom. Thus the composition of two transforms is
another transform. This means that we can continue to
chain transforms in this way, obtaining another transform
each time. The second thing to notice is that we can say
3.C. MATRIX TRANSFORMATIONS 41
FIGURE 3-8. Illustrating Three Ways to Interpret Equation (3-21). Left: Performing the operations (rotz, 90) trans(px,0,0)
right to left requires using the original axes, including honoring the location of the origin when performing the rotation
about (original) Z. Middle: Performing the operations frans(0, px,0)rot(z, 90) left to right requires using the new axes, again
including honoring the location of the origin when performing the rotation about (new) Z. Right: Performing operations
trans(0, pXlO)rot(z,90) right to left requires rotating first 90° about Z and then translating a distance px along (original) Y.
These and other interpretations of Equation (3-21) give the same result.
FIGURE 3-9. Illustrating the
Composition of Two Transforms. 7~12 locates frame 2 in
frame 1 coordinates. IQI locates
frame 1 in frame 0 coordinates.
7"o2 locates frame 2 in frame 0
coordinates.
Example rotation transform function Rz = rotz(theta)
% creates rotation matrix about axis Z
% input in radians
ct = cos(theta)
st = sin(theta)
Rz = [ct -st 0 0; st ct 0 0; 0 0 1 0; 0 0 0 1]
Conversion from degrees
to radians
Translation transform
function degtorad = dtr(theta)
% converts degrees to radians
degtorad = theta*pi/180
function Tr = trans(;c, y, z)
% creates translation matrix
Note: Function Rz is an example of a rotation operation. Similar functions for rotating about the other axes are easy to write using Equation (3-6) and Equation (3-8).
in words what the composite transform does: It translates
along PQI, then rotates by 7?oi, then translates along p\i,
and finally rotates again about R\2. The third thing to
notice is that the composite transform 7o2 accomplishes
in one leap what TQ\ followed by T\2 do one step at a time.
When we write a transform, say TQ\, we are able to
convert any vector expressed in frame 1 coordinates into
frame 0 coordinates. We can also convert any transform expressed in frame 1 coordinates so that its effect appears in
frame 0 coordinates. Such a transform might be called T\I.
If frame 2 is rotated in some complex way from frame 0,
it may be easier to express the effect (a translation or a
rotation) that we want in frame 2 coordinates and then
calculate the effect in frame 0 coordinates by writing
The order in which we multiply transforms is important. If T\ and TI are transforms, then
This fact is used in constructing Equation (3-23), which is
the basic equation of matrix transforms, as well as in the
examples in Equation (3-20) and Equation (3-21). When
we multiply a transform TQ\ from the right by another
transform T\2, we use TQ\ as the base, effectively adding a
coordinate frame T\2 to a chain of frames that begins at the
left end of the chain with a base frame whose transform
is /, the identity transform.
Table 3-1 gives some useful MATLAB4
functions for
working with transforms.
If we are careful about how we choose the subscripts of
transforms, we can easily read them as a recipe for walking
from frame to frame: 7};
takes us from frame / to frame j.
When we compose two transforms, as in T^ = 7}^ Tkj, we
can say that subscript k is "used up" when 7}* and T^ are
chained together to form 7}y. This means that frame k no
longer needs to be represented explicitly because its effect
has been absorbed in T(j. Tfj then carries us directly from
frame / to frame j. Careful subscripting is very important
in debugging complex chains of frames, especially when
they are used for variation analysis.
4
MATLAB is a trademark of The Math Works, Inc.
TABLE 3-1. Three Useful MATLAB Functions
for Operating on Transforms
42 3 MATHEMATICAL AND FEATURE MODELS OF ASSEMBLIES
We can also express small changes in a transform using
a transform. This is highly convenient because it means
that we can use the same mathematics to express both the
nominal location and the varied location of a frame, and
hence of a part or a feature on a part. This is how we will
perform variation analyses in Chapter 6.
The kinds of variations that we can express this way
are errors in rotation or translation, that is, errors in R or
in p. These may be written as follows:
FIGURE 3-10. Properties of the Error Transform. If DT
is an error in 7", then the erroneous T' is expressed as
r = T DT.
The upper left 3x 3 submatrix 8R is a differential rotation matrix. Its elements correspond to a small error in
rotation of 80X about *, 89y about y, and 80Z about z. The
vector dp contains small differential translations dx, dy,
and dz. We may write the differential rotation matrix as
shown because, if the rotations are small enough, we may
consider them to be in the form of a vector like a rotation
rate vector, and the order in which they are accomplished
does not matter.5
The properties of the differential transform are illustrated in Figure 3-10. If there is an error DT in a transform
T, then the varied transform is expressed as
Next, we will show how to use chains of transforms to
represent assemblies of parts joined by features.
3.D. ASSEMBLY FEATURES AND FEATURE-BASED DESIGN
This section takes up the topic of features in assembly.
First we give some history, then we define manufacturing
features and assembly features, and finally we show how
to use transforms to locate features on parts and chain parts
together via feature frames to create a connective assembly model. This will equip us to use the same mathematical
framework to model assemblies linked by features having
either nominal or varied locations.
5To prove this, form rotation matrices mt(x, 89X), rot(y, 89y), and
mt(z, 89Z), multiply them together, substitute 89 for sin 80 and 1 for
cos 89, and eliminate all terms in powers of 9 above 1.
Examples that use the methods in this section are given
in Section 3.E.4.a.
3.C.3. Variation Transforms
Here, again, the order is important. We accomplish
transform T and then we apply the error DT. If the error
occurs before transform T is applied, that is, if it occurs
in the untransformed frame, then
For completeness, we introduce the equivalent notation
where
Multiplying these together creates the error transform DT: