Publication # 983  
Home : Publication's Index : #983 
Global Coordinate Method For Determining Sensitivity in Assembly Tolerance Analysis
Jinsong Gao
HewlettPackard Corp.
InkJet Business Unit
San Diego, CA
Kenneth W. Chase
Spencer P. Magleby
Mechanical Engineering Department
Brigham Young University
Provo, UT
ED1
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.
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 rootsumsquares:
(1) 
where
dUi is an assembly feature variation,
dxj is the set of component variations,
and S_{ij} is the sensitivity .
To perform an analysis, assembly functions must be derived which describe the nominal geometry of each assembly feature U_{i} in terms of the component dimensions x_{j} . 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 2D and 3D 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:
research review,
a procedure for obtaining closed form expressions for the derivative matrices with respect to manufactured dimensions and assembly or kinematic dimensions,
the geometric interpretation of the derivatives in 2D and 3D assemblies,
two examples to demonstrate the procedures of applying the new method to mechanical assemblies, and
conclusions.
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 2D and 3D space, with which the assembly kinematic constraint equations can be obtained automatically in the form of implicit functions. This is very useful for computeraided 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 loopbased 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 2D vector assembly functions for evaluating the derivatives. Figure 1 shows a closed vector loop. The vectors are joined tiptotail. 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.
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 L_{i} and f_{i} can be easily obtained in closed form.
For translation:  For rotation:  
(5) 
(6)  
This closed form for evaluating derivatives of the vector loopbased assemblies in 2D is straightforward and accurate. However, it is very difficult to extend to 3D assemblies.
A closed 3D loop can be expressed in terms of a concatenation of coordinate transformation matrices:
[R_{1}][T_{1}][R_{2}][T_{2}]...[R_{i}][T_{i}]...[R_{n}][T_{n}][R_{f}] = [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 2D 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:
{H_{x},H_{y},1}^{t} = [R_{1}][T _{1}][R_{2}][T_{2}]...[R_{i}(f
+ df)][T_{i}]... [R_{n}][T_{n}]{0 0 1}^{t} = {DX DY 1}^{t} 
(8) 
The derivatives can then be approximated numerically by:
@  (9)  @  (10) 
where H_{x} and H_{y} 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 3D 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 loopbased mechanisms in 2D and 3D. 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 2D and 3D 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 2D model described in figure 1 represented an assembly by vector chains and relative rotations between adjacent vectors. 3D 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 x V = (w_{2}Z  w_{3}Y)i + (w_{3}X  w_{1}Z)j + (w_{1}Y  w_{2}X)k  (13) 
and w = (w_{1}, w_{2}, w_{3}) 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/dL_{i}, dY/dL_{i} and dZ/dL_{i} do not change for any variation dLi along the vector L_{i}, 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 L_{i} and variation vector dL_{i}, H_{x}, H_{y} and H_{z} are the scalar sum of vectors in the global X, Y and Z directions; and Hf_{x}, Hf_{y} and Hf_{z} 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 = f_{i} 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 2D assembly, simply let Z = 0,
w_{1} = 0,
w_{2} =0 and
w_{3} = ±1, and the derivatives are:
For translational variable:  For rotational variable:  
= sin a 
(24) 
(25) 

where w_{3 } 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.
First consider the derivative of the 2D assembly in Figure 2 with respect to length variable L_{3}. The procedure includes: 1) perturbing the variable by dL_{3}, 2) finding the resultant variations of DX and DY at the origin and 3) dividing these variations by dL_{3}. In this case, the variation DX and DY are the projections of dL_{3} on X and Y axes, so the ratios

are all constants, where a and b are the direction cosine angles of vector L_{3}.
Now consider the derivative with respect to a rotational variable. Figure 3 illustrates a loop with an angle perturbation df_{3} 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 df_{3}. 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 _{df}_{3}.
DX = w_{3}Y_{3}df_{3}
DX = w_{3}X_{3}df_{3}
so

The geometrical description of the derivatives of a vector assembly in 3D is more complicated as compared with the 2D case. Figure 4 shows a 3D vector loop with a perturbation _{d}L3 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 _{d}L3 give the derivatives with respect to L3. Just as the case in 2D, the derivatives with respect to a translational variable can be written as:
where a, b and g are the direction cosine angles of vector L_{3}, or the angles between L_{3} and X, Y and Z axis respectively.
The most difficult part of the geometrical illustration is to visualize the derivatives with respect to a rotation in 3D space. Figure 5 describes a 3D vector loop with an angle variation df_{3z} 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 df_{3z} about the local z axis.
Figure 5. A 3D 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 w_{1}, w_{2} and w_{3} respectively. Then:.
DQ_{x} = w_{1}·df_{3z}
DQ_{y} = w_{2}·df_{3z}
DQ_{z} = w_{3}·df_{3z}
If the angle variable df_{3z} 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 df_{3z}.
Figure 6 illustrates how DX is calculated. From the drawing, it can be seen that only rotations around Y_{1} and Z_{1} affect DX.
DX = Y w_{3}·df_{3z}
 Z w_{2}·df_{3z}
In the same way, DY and DZ can be found.
DY = Z w_{1}·df_{3z}  X w_{3}·df_{3z}
DZ = X w_{2}·df_{3z}  Y w_{1}·df_{3z}
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.
The 2D oneway clutch assembly [Chase, Gao & Magleby 1995] and the 3D crank slider mechanism [Gao, Chase & Magleby 1994] will be reexamined 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 2D OneWay Clutch Assembly
Figure 7 shows the vector loop model of the oneway 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 oneway clutch assembly.
Table 1. Dimensions of oneway clutch vector loop
PartJoint Name  Orientation 
Joint Coordinates 
a Joint 1 f_{2}  a = 90°  X = 0.0 Y = 0.0 
b Joint 2  a = 0°  
c Joint 3  a = 90°  
c Joint 4 f_{1}  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, f_{1} and f_{2} are the assembly or kinematic dimensions. From equations (24) and (25), the derivatives may be calculated and grouped into matrices [A] and [B].
[ A ] =  

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 3D Crank Slider Mechanism
The vector loop model of the 3D 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 f_{1}, f_{2}, f_{3}, f_{4} 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.
PartJoint Name  Orientations (w_{1} w_{2} w_{3})  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)  
f_{1} Joint 4 (y)  (0, 0.7071, 0.7071)  (12.0000, 10.6066, 9.3934) 
f_{2} Joint 4 (z)  (0.1566, 0.6984, 0.6984)  (12.0000, 10.6066, 9.3934) 
E Joint 5  (0, 0, 1)  
f_{3} Joint 5 (y)  (0.3492, 0.6223, 0.7006)  (39.7164, 0.0000, 5.0000) 
f_{4} 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]=  = 

= 
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].
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.
Chase, K. W., Gao, J. and Magleby, S. P., 1995, "General 2D Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments," Journal of Design and Manufacturing, v 5, 263274.
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): 2337.
Chisholm, J. S. R., 1978, "Vectors in ThreeDimensional 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 3D Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments," IIE Trans, v 30, 367377.
Huo, Hanqi, 1996, "Variation PolygonA New Method for Determining Tolerance Sensitivity in Assemblies," Proc. CSME Forum 1996, Ontario, Canada, May 79.
Knappe, L. F., 1963, " A Technique for Analyzing Mechanism Tolerances," Machine Design, April 25, pp. 155157.
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 ThreeDimensional 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," PrenticeHall, 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. 191210.
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