Home | ADCATS Info | Search | Site Map | Bulletin Board | Reports & Publications | Bibliography | Contact Us
Publication # 98-3
Home : Publication's Index : #98-3

Global Coordinate Method For Determining Sensitivity in Assembly Tolerance Analysis

Jinsong Gao
Hewlett-Packard Corp.
InkJet Business Unit
San Diego, CA

Kenneth W. Chase
Spencer P. Magleby
Mechanical Engineering Department
Brigham Young University
Provo, UT

ED-1


Table of Contents Remote | Post a comment concerning this paper.

Abstract

Tolerance sensitivity indicates the influence of individual component tolerances in an assembly on the variation of a critical assembly feature or dimension. Important applications include assembly tolerance analysis and tolerance allocation. This paper presents a new method for determining tolerance sensitivity using vector loop assembly tolerance models. With a vector loop model, the assembly kinematic constraints or assembly functions can be established automatically as implicit functions. This method evaluates the derivatives of the kinematic constraint equations with respect to both manufactured dimensions and assembly variables. The derivative matrices are then used to calculate the tolerance sensitivity matrix. This is a closed form method which relates the derivatives of the assembly functions to the coordinates of the joints or nodes and the orientations of the vectors and the local joint axes in an assembly. It is accurate, simple and very suitable for design iterations.

1. Introduction

Manufactured parts are seldom used as single parts. They are used in assemblies of parts. The dimensional variations which occur in each component part of an assembly accumulate statistically and propagate kinematically, causing the overall assembly dimensions to vary according to the number of contributing sources of variation. The resultant critical clearances and fits which affect performance are thus subject to variation due to the tolerance stackup of the component part variations.

Tolerance analysis is a quantitative tool for estimating the effect of the accumulation of component variation in assemblies. Assembly variations accumulate or stackup statistically by root-sum-squares:

(1)

where

dUi is an assembly feature variation,
dxj is the set of component variations,
and Sij is the sensitivity .

To perform an analysis, assembly functions must be derived which describe the nominal geometry of each assembly feature Ui in terms of the component dimensions xj . Current analysis methods use both implicit and explicit assembly functions. The relationship between critical assembly features and the component dimensions which govern them are expressed algebraically and analyzed to determine the effects of variation. Assigned tolerances are introduced and the resulting variation of critical assembly features is evaluated to see if design limits will be exceeded.

Tolerance sensitivity is an essential aspect of tolerance analysis of mechanical assemblies in 2-D and 3-D space. It indicates the influence of the individual component tolerance in an assembly on the variation of a critical assembly feature or dimension. By examining the sensitivities, a designer can decide how to control the component tolerances to meet the design specifications. For example, tolerances may be loosened on expensive processes and tightened on others to reduce cost, while assuring that the design specs will be met.

A new method, called the Global Coordinate Method, has been developed which can accurately and effectively determine the sensitivity matrix of both explicit and implicit assembly functions. This paper presents the new method and includes:

  1. research review,

  2. a procedure for obtaining closed form expressions for the derivative matrices with respect to manufactured dimensions and assembly or kinematic dimensions,

  3. the geometric interpretation of the derivatives in 2-D and 3-D assemblies,

  4. two examples to demonstrate the procedures of applying the new method to mechanical assemblies, and

  5. conclusions.


2. Research Review

The sensitivity evaluation method is related to the type of assembly function. If an explicit function can be established to express the assembly variable in terms of the manufactured dimensions, the sensitivity can be obtained by straightforward procedures [Knappe 1963, Fortini 1967, Cox 1986]. However, finding such an explicit function for all but the simplest assemblies is very difficult.

The authors’ previous papers [Chase, Gao & Magleby 1995, Gao, Chase & Magleby 1994] developed vector loop models for representing mechanical assemblies in 2-D and 3-D space, with which the assembly kinematic constraint equations can be obtained automatically in the form of implicit functions. This is very useful for computer-aided tolerance analysis and allocation, since no user intervention is needed to establish assembly functions.

With implicit functions, the tolerance sensitivities must be derived from the derivatives of the implicit assembly equations by algebraic or numerical operations. In the previous papers, the derivatives with respect to each manufactured dimension and the assembly or kinematic variables, are arranged in matrices, which can be used to calculate the tolerance sensitivity matrix of the assembly. So, a method for efficiently and accurately evaluating derivatives is an essential part of evaluating tolerance sensitivity of an assembly described by implicit functions.

Methods have been developed to calculate the derivative matrices from vector loop-based models of mechanical assemblies. In such models the vectors represent chains of dimensions which contribute to tolerance stackup in the assembly. Closed vector loops describe the kinematic constraints between mating parts. Open loops describe assembly dimensions and features resulting from the dimension chains.

Marler [1988] used simple 2-D vector assembly functions for evaluating the derivatives. Figure 1 shows a closed vector loop. The vectors are joined tip-to-tail. Each vector length Li represents either a component dimension, with its corresponding tolerance, or a kinematic variable, describing an adjustable assembly parameter. The angles fi describe the relative rotation from one vector to the next.


Figure 1. A sample vector loop-based assembly model.

The assembly constraints can be resolved into three scalar equations in the global coordinate directions, representing the sum of vector components in the X and Y directions and sum of rotations about Z:

(2)
(3)
(4)

From equations (2), (3) and (4), the derivative with respect to Li and fi can be easily obtained in closed form.

 

 For translation:   For rotation:
     
 

(5)

  (6)
     

This closed form for evaluating derivatives of the vector loop-based assemblies in 2-D is straightforward and accurate. However, it is very difficult to extend to 3-D assemblies.

A closed 3-D loop can be expressed in terms of a concatenation of coordinate transformation matrices:

[R1][T1][R2][T2]...[Ri][Ti]...[Rn][Tn][Rf] = [I] (7)

where [Ri] and [Ti] represent the rotational and translational operations at Joint i, [Rf] is the final rotation required to bring the loop to closure, and [I] is the identity matrix. This implies that if a kinematic loop describing a mechanism is closed, the coordinate system at the end of the loop must be parallel to and located at the same point as the coordinate system at the beginning.

Robison [1989] used a small perturbation method for evaluating the derivatives on the assembly constraint equation (7). For a 2-D case, if the rotation at Joint i is the variable with respect to which the derivatives are desired, a small angle perturbation df is added to the original value f, then the matrix multiplication of equation (7) is performed:

{Hx,Hy,1}t = [R1][T 1][R2][T2]...[Ri(f + df)][Ti]...
[Rn][Tn]{0 0 1}t = {DX DY 1}t
(8)

The derivatives can then be approximated numerically by:

 
@ (9) @ (10)

where Hx and Hy are the scalar constraints in global x and y directions, DX and DY are the resultants. A similar procedure is followed for derivatives with each of the other variables. This method can easily be extended to 3-D assembly models. The disadvantage of this approach is that it is computationally intensive and its accuracy depends on the size of the perturbation and the size of the matrix equation.

Sandor [1984] introduced a method for accurately evaluating the derivatives of the vector loop-based mechanisms in 2-D and 3-D. He employed a derivative operational matrix and inserted it into the constraint equation (7). Then the matrix multiplications are performed and the derivatives are obtained. A similar procedure was used by Whitney, et al [1994]. This method reduces the derivative to a matrix operation which is equivalent to a small perturbation. Although it is more suitable for automated computation, it still requires substantial matrix multiplications for each sensitivity.

Huo [1996] introduced the variation polygon, a new method for obtaining tolerance sensitivities. It is based on vector polygons, in which dimensional variations are added vectorially, similar to velocity polygons for mechanism analysis. They provide closed form relationships between the dimensional variations and resultant assembly variations. The sensitivities may be derived from the vector polygons. This method has not been generalized for 2-D and 3-D assemblies.

The Global Coordinate Method for computing sensitivities offers some advantages over the current methods described above. It works with both explicit and implicit assembly functions, is simple to use, readily automated, and offers good accuracy and reduced computation. The basics are described in the following sections and demonstrated with examples.

3. Global Coordinate Method for Determining Sensitivity

The 2-D model described in figure 1 represented an assembly by vector chains and relative rotations between adjacent vectors. 3-D assemblies may be represented by similar vector chains. The derivative formula for the new approach can be derived by the differentiation of the 3D vector expression.

V = Xi + Yj + Zk (11)


Let X, Y and Z as well as i, j and k be the functions of variable u. Then differentiating equation (11) gives [Chisholm, 1978]:

(12)

where

w  V = (w2Z - w3Y)i + (w3X - w1Z)j + (w1Y - w2X)k (13)

and w = (w1, w2, w3) are the direction cosines of the axis of rotation. The first three terms in equation (12) result from the change in length of V. The cross product is from it's rotation.

3.1 Derivative with Respect to a Length Variable

If vector V represents the sum of a vector chain, the derivative with respect to a length variable can be obtained by letting u = Li. From equation (12), it can be seen that the last term drops out due to no local rotation. Then

 

(14)

Since the rates of dX/dLi, dY/dLi and dZ/dLi do not change for any variation dLi along the vector Li, the derivatives of the assembly function to such a variable are constants, which are equal to the direction cosines of the vector measured in the global coordinate system.

 
For translational equations:  For rotational equations:
(15)   (18)
(16)   (19)
(17)   (20)

where a, b and g are the direction cosine angles of vector Li and variation vector dLi, Hx, Hy and Hz are the scalar sum of vectors in the global X, Y and Z directions; and Hfx, Hfy and Hfz are the sum of X, Y and Z rotations.

3.2 Derivative with Respect to a Rotation Variable

The derivative with respect to a rotation variable can also be obtained by letting u = fi in equation (12), which is a rotation about one of the axes of the local joint coordinate system. Since this rotation variable is not related to the first three terms in equation (12), they are zeros. Only the last term of the equation is undecided.

Equation (13) gives the derivatives of the assembly functions with respect to the angular variable. In that equation, the rotation is applied at the joint and the variation is measured at the origin of the global coordinate system.

(21)

So, it is easy to write the derivatives for the translational constraint equations in terms of the global coordinates X, Y and Z of joint i and the direction cosines of the rotation:

 

For translational equations: For rotational equations:
   

(22)

(23)

   

If the rotation variable is considered as a vector, equations (23) have the same meanings as equations (15) to (17), that is, they each describe the direction cosines of the rotation variation vector.

If the global coordinates of the joints and the direction cosines of the vectors and local joint axes in an assembly are known, the derivatives with respect to both translational and rotational variables can be obtained very easily.

For a 2-D assembly, simply let Z = 0, w1 = 0, w2 =0 and
w3 = ±1, and the derivatives are:

 

For translational variable: For rotational variable:
= sin a

(24)

 

(25)

where w3 could be either 1 or -1, depending upon the direction of the relative rotation at joint or node i.

4. Geometric Interpretation of the Derivatives

The geometrical interpretation of the derivatives with respect to a variable will help one to understand the relationship between the derivatives and variations in geometry. Any small perturbation at a joint or node will cause the vector loop to fail to close. The variation propagates around the loop and results in a gap at the starting point. If a closure vector is added to close the loop, the ratio of the closure vector to the disturbance at the joint is related to the derivative.

4.1 2-D Mechanical Assemblies

First consider the derivative of the 2-D assembly in Figure 2 with respect to length variable L3. The procedure includes: 1) perturbing the variable by dL3, 2) finding the resultant variations of DX and DY at the origin and 3) dividing these variations by dL3. In this case, the variation DX and DY are the projections of dL3 on X and Y axes, so the ratios

are all constants, where a and b are the direction cosine angles of vector L3.

Figure 2. Figure 1 with perturbation dL3 along vector L3.

Now consider the derivative with respect to a rotational variable. Figure 3 illustrates a loop with an angle perturbation df3 at Joint 3. Since each vector direction is measured relative to the preceding vector, this is equivalent to rotating the remaining vectors, from Joint 3 to the origin, as a rigid body through the angle df3. Such a rigid body rotation around Joint 3 will yield the resultant variations of the end point of the last vector with the magnitudes of DX and DY. From Figure 3, it is easy to see that for small angle df3.

DX = w3Y3df3

DX = -w3X3df3

so

 

 

Figure 3. Figure 1 with angle perturbation df3.

4.2 3-D Mechanical Assemblies

The geometrical description of the derivatives of a vector assembly in 3-D is more complicated as compared with the 2-D case. Figure 4 shows a 3-D vector loop with a perturbation dL3 along the vector L3, DX, DY and DZ are the resultant variations at the end point of the last vector, and these variations divided by dL3 give the derivatives with respect to L3. Just as the case in 2-D, the derivatives with respect to a translational variable can be written as:

where a, b and g are the direction cosine angles of vector L3, or the angles between L3 and X, Y and Z axis respectively.

Figure 4. A 3D vector loop with perturbation dL3.

The most difficult part of the geometrical illustration is to visualize the derivatives with respect to a rotation in 3-D space. Figure 5 describes a 3-D vector loop with an angle variation df3z around local z axis. This rotation is equivalent to rotating the line connecting Joint 3 and the origin of the global coordinate system by an angle variation df3z about the local z axis.

Figure 5. A 3-D vector loop with angle perturbation df3z .

This angle variation at Joint 3 will produce translational variations DX, DY and DZ as well as rotational variations DQx, DQy and DQz at the global coordinate origin. It is easy to obtain the resultant angle variations at the global coordinate system, if we place a unit vector w representing the rotational variation, whose components in the global X, Y and Z directions are w1, w2 and w3 respectively. Then:.

DQx = w1·df3z

DQy = w2·df3z

DQz = w3·df3z

If the angle variable df3z is considered as a vector, w1, w2 and w3 have the same meanings as direction cosines as have been discussed in translational variable case. So the remaining work is to find out DX, DY and DZ caused by df3z.

Figure 6 illustrates how DX is calculated. From the drawing, it can be seen that only rotations around Y1 and Z1 affect DX.

Figure 6. Components of DX caused by df3z .


DX = Y w3·df3z - Z w2·df3z

In the same way, DY and DZ can be found.

DY = Z w1·df3z - X w3·df3z

DZ = X w2·df3z - Y w1·df3z

So the derivatives can be expressed as:

 
 
 

This is called the Global Coordinate Method for determining the scalar derivatives of the kinematic constraint equations. These derivatives can be used to form matrices from which the sensitivities may be derived, as demonstrated in the next section.

5. Examples

The 2-D one-way clutch assembly [Chase, Gao & Magleby 1995] and the 3-D crank slider mechanism [Gao, Chase & Magleby 1994] will be re-examined in this section to show how to apply the Global Coordinate Method to determine the sensitivity matrix for tolerance analysis of mechanical assemblies.

5.1 2-D One-Way Clutch Assembly

Figure 7 shows the vector loop model of the one-way clutch assembly, as described by Fortini [1967]. This is a common device used to transmit rotary motion in only one direction. When the outer ring of the clutch is rotated clockwise, the rollers wedge between the ring and hub, locking the two so they rotate together. In the reverse direction, the rollers just slip, so the hub does not turn. Table 1 lists all the information necessary for evaluating the derivatives with respect to both manufactured and assembly or kinematic dimensions.


Figure 7. Vector loop model of one-way clutch assembly.

 

Table 1. Dimensions of one-way clutch vector loop

Part-Joint Name

Orientation

Joint Coordinates

a Joint 1 f2 a = 90° X = 0.0 Y = 0.0
b Joint 2 a = 0°  
c Joint 3 a = 90°  
c Joint 4 f1 a = 82.982° X = 4.8105 Y = 39.0750
e Joint 5 a = -97.018°  

In this assembly, dimensions a, c and e are the manufactured variables, while b, f1 and f2 are the assembly or kinematic dimensions. From equations (24) and (25), the derivatives may be calculated and grouped into matrices [A] and [B].

[ A ] =

[ B ] =

 

where [A] are derivatives with respect to the manufactured variations and [B] are derivatives with respect to the assembly variables.

Finally, the sensitivity matrix [S] can be calculated as shown by Chase, et al [1995]:

5.2 3-D Crank Slider Mechanism

The vector loop model of the 3-D crank slider mechanism is illustrated in Figure 8 with all dimensions marked. In this assembly, dimensions A, B, C, D and E are the manufactured variables, while f1, f2, f3, f4 and U are the assembly or kinematic dimensions. Table 2 lists the joint coordinates and vector orientations as well as the orientations of the local joint axes around which the rotations will be the variables with respect to which the derivatives are desired. Those data can be easily obtained if the assembly model has been established using assembly modeling software, such as Pro/E, CATIA and etc.

Figure 8. 3-D slider crank assembly

Table 2. Dimensions of crank slider vector loop

Part-Joint Name Orientations (w1 w2 w3) Joint Coordinates (X Y Z)
A Joint 1 (0, 0, 1)  
B Joint 2 (-1, 0, 0)  
C Joint 3 (0, 0.7071, -0.7071)  
D Joint 4 (-0.9239, -0.3536, -0.1465)  
f1 Joint 4 (y) (0, 0.7071, 0.7071) (-12.0000, 10.6066, 9.3934)
f2 Joint 4 (z) (-0.1566, 0.6984, -0.6984) (-12.0000, 10.6066, 9.3934)
E Joint 5 (0, 0, -1)  
f3 Joint 5 (y) (-0.3492, 0.6223, 0.7006) (-39.7164, 0.0000, 5.0000)
f4 Joint 5 (z) (0.8721, 0.4894, 0) (-39.7164, 0.0000, 5.0000)
U Joint 6 (1, 0, 0)  

From equations (22) and (23), the derivative matrix with respect to the manufactured dimensions [A] and with respect to the assembly or kinematic variables [B] can be obtained.

[A]= =

[B] =
=

Since [B] is not a square matrix, it can not be inverted directly. In such cases, the sensitivity matrix may be calculated using a least square fit by inverting the product [B]T[B] and multiplying with the product [B]T[A]. This procedure is described by Gao, et al [1998].

[S]= - ([B]T [B])-1 [B]T [A]

=

 

The statistical variation in displacement U can be estimated by root sum squares from equation (1) using elements of [S]:

 

dU = [ (0.5860 dA)² + (1 dB)² + (0.0735 dC)² + (0.6677 dD)² + (0.5860 dE)²]½

 where dA, dB, dC, dD and dE are the tolerances on dimensions A, B, C, D and E, respectively.

In a similar manner, the calculated tolerance sensitivities [S] may be used to calculate predicted tolerance stackup in any assembly feature by worst case or statistical sums of the component tolerances times their respective sensitivities. Design decisions about which tolerances to tighten or loosen to avoid assembly problems or to reduce cost may also be made based on the sensitivities, as described in many design publications [Fortini 1967, Chase 1991].

6. Conclusions

This research work presented the Global Coordinate Method for evaluating the sensitivity matrix for assembly tolerance analysis. The Global Coordinate Method relates the sensitivity of assembly functions to the geometric information of an assembly, such as the coordinates of the joints, the orientations of the vectors and the local coordinate reference systems in the global coordinate frame. Such data can be obtained easily after the assembly has been generated using modeling software. The outstanding features of this method include its simplicity, accuracy and efficiency.

References

Chase, K. W., Gao, J. and Magleby, S. P., 1995, "General 2-D Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments," Journal of Design and Manufacturing, v 5, 263-274.

Chase, K. W. and A. R. Parkinson, 1991, "A Survey of Research in the Application of Tolerance analysis to the Design of Mechanical Assemblies." Research in Engineering Design, 3 (1991): 23--37.

Chisholm, J. S. R., 1978, "Vectors in Three-Dimensional Space," Cambridge University Press.

Cox, N. D., 1986, "Volume 11: How to Perform Statistical Tolerance Analysis," American Society for Statistical Quality Control.

Fortini, E. T., 1967, " Dimensioning for Interchangeable Manufacture," Industrial Press.

Gao, J., Chase, K. W. and Magleby, S. P., 1998, "Generalized 3-D Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments," IIE Trans, v 30, 367-377.

Huo, Hanqi, 1996, "Variation Polygon-A New Method for Determining Tolerance Sensitivity in Assemblies," Proc. CSME Forum 1996, Ontario, Canada, May 7-9.

Knappe, L. F., 1963, " A Technique for Analyzing Mechanism Tolerances," Machine Design, April 25, pp. 155-157.

Marler, Jaren D., 1988, "Nonlinear Tolerance Analysis Using the Direct Linearization Method," M.S. Thesis, Mechanical Engineering Department, Brigham Young University.

Robison, R. H., 1989, "A Practical Method for Three-Dimensional Tolerance Analysis Using a Solid Modeler," M.S. Thesis, Mechanical Engineering Department, Brigham Young University.

Sandor, G. N., Erdman, A. G., 1984, "Advanced Mechanism Design: Analysis and Synthesis, Volume 2," Prentice-Hall, INC.

Whitney, D. E., Gilbert, O. L. and Jastrzebski, M., 1994 "Representation of Geometric Variations Using Matrix Transforms for Statistical Tolerance Analysis in Assemblies," Research in Engineering Design, vol. 6, pp. 191-210.


Table of Contents

Top of the Page
Abstract
1. Introduction
2. Research Review
3. Global Coordinate Method for Determining Sensitivity

3.1 Derivative with Respect to a Length Variable
3.2 Derivative with Respect to a Rotation Variable

4. Geometric Interpretation of the Derivatives

4.1 2-D Mechanical Assemblies
4.2 3-D Mechanical Assemblies

5. Examples

5.1 2-D One-Way Clutch Assembly
5.2 3-D Crank Slider Mechanism

6. Conclusions
References

The ADCATS site: Home | ADCATS Info | Search | Site Map | Bulletin Board | Reports & Publications | Bibliography | Contact Us

original report by Jinsong Gao, Spencer P. Magleby, & Kenneth W. Chase