< Home  ADCATS Info  Search  Site Map  Bulletin Board  Reports & Publications  Bibliography  Contact Us  
Publication # 975  
Home : Publication's Index : #975 
ADCATS Report No. 975
Kenneth W. Chase
Spencer P. Magleby
Department of Mechanical Engineering
Brigham Young University
Provo, Utah
Jinsong Gao
Bourns, Inc.
Ogden, Utah
Abstract
Assembly tolerance analysis is a key element in industry for improving product quality and reducing overall cost. It provides a quantitative design tool for predicting the effects of manufacturing variation on performance and cost. It promotes concurrent engineering by bringing engineering requirements and manufacturing requirements together in a common model.
A new method, called the Direct Linearization Method (DLM), is presented for tolerance analysis of 2D and 3D mechanical assemblies, which generalizes vector loopbased models to include small kinematic adjustments. It has a significant advantage over traditional tolerance analysis methods in that it does not require an explicit function to describe the relationship between the resultant assembly dimension(s) and manufactured component dimensions. Such an explicit assembly function may be difficult or impossible to obtain for complex assemblies.
The DLM method is a convenient design tool. The models are constructed of common engineering elements: vector chains, kinematic joints, assembly datums, dimensional tolerances, geometric feature tolerances and assembly tolerance limits. It is well suited for integration with a commercial CAD system as a graphical front end. It is not computationally intensive, so it is ideally suited for iterative design.
A general formulation is derived, detailed modeling and analysis procedures are outlined, and the method is applied to two example problems.
Tolerance analysis and tolerance control have become the focus of increased activity as manufacturing industries strive to increase productivity and improve the quality of their products. The effects of tolerance specifications are farreaching, as shown in figure 1. Not only do the tolerances affect the ability to assemble the final product, but also the production cost, process selection, tooling, setup cost, operator skills, inspection and gaging, and scrap and rework. Tolerances also directly affect engineering performance and robustness of a design. Products of lesser quality, excess cost or poor performance will eventually lose out in the marketplace.
Figure 1. Effects of tolerance specifications are farreaching.
Engineering design and manufacturing have competing tolerance requirements. Engineers want tight tolerances to assure proper performance; manufacturing prefers loose tolerances to reduce cost. There is a critical need for a quantitative design tool for specifying tolerances. Tolerance analysis brings the engineering design requirements and manufacturing capabilities together in a common model, where the effects of tolerance specifications on both design and manufacturing requirements can be evaluated quantitatively.
Statistical tolerance analysis offers powerful analytical methods for predicting the effects of manufacturing variations on design performance and production cost. There are, however, many factors to be considered. Statistical tolerance analysis is a complex problem that must be carefully formulated to assure validity, and then carefully interpreted to accurately determine the overall effect on the entire manufacturing enterprise.
New CAD tools for tolerance evaluation are being developed and integrated with commercial CAD systems so that assembly tolerance specifications may be created with a graphical preprocessor and evaluated statistically. Builtin modeling aids, statistical tools and a manufacturing process database will allow the nonexpert to include manufacturing considerations in design decisions. The architecture for the ComputerAided Tolerancing System (CATS) is shown in figure 2. Use of these new tools will reduce the number of manufacturing design changes, reduce product development time, reduce cost and increase quality. They will elevate tolerance analysis to the level of an accepted engineering design function, alongside finite element analysis, dynamic analysis, etc.
Figure 2. Computeraided tolerance analysis system.
This chapter will present a comprehensive system for analytical modeling of assembly variations. A versatile modeling procedure is described, which is adaptable to graphical modeling. With only a few basic elements, a designer can represent a wide range of assembly applications. An efficient solution procedure, based on linear algebra, is demonstrated, which requires analysis of only one assembly to estimate tolerance accumulation throughout the assembly. The system is ideally suited to CAD integration and iterative design. Three detailed examples illustrate the method.
2.0 Three Sources of Variation in Assemblies
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 stackup of the component variations.
There are three main sources of variation which must be accounted for in mechanical assemblies:
Dimensional and form variations are the result of variations in the manufacturing processes or raw materials used in production. Kinematic variations occur at assembly time, whenever small adjustments between mating parts are required to accommodate dimensional or form variations.
Tolerances are added to engineering drawings to limit variation. Dimensional tolerances limit component size variations. Geometric tolerances, defined by ANSI Y14.5M1982 [ASME 1992], are added to further limit the form, location or orientation of individual part features. Assembly tolerance specifications are added to limit the accumulation of variation in assemblies of parts.
The twocomponent assembly shown in Figure 3 demonstrates the relationship between dimensional variations in an assembly and the small kinematic adjustments which occur at assembly time. The three component dimensions A, R, and q vary as shown. The variations in the three dimensions have an effect on the distance U, locating the point of contact on the horizontal surface. U is important to the function of the assembly.
The parts are assembled by inserting the cylinder into the groove until it makes contact on the two sides of the groove. For each set of parts, the distance U will adjust to accommodate the current value of dimensions A, R, and q. The assembly resultant U1 represents the nominal position of the cylinder, while U2 represents the position of the cylinder when the variations DA, DR, and Dq are present. This adjustability of the assembly describes a kinematic constraint, or a closure constraint on the assembly.
It is important to distinguish between component and assembly dimensions in figure 3. Whereas A, R, and q are component dimensions, subject to random process variations, distance U is not a component dimension, it is a resultant assembly dimension. Variations in A, R, and q occur during manufacture of individual parts. U is not a manufacturing variable, it is a kinematic assembly variable. Variations in U can only be measured after the parts are assembled. A, R, and q are the independent variables in this assembly. U is a dependent variable.
Figure 3. Kinematic adjustment due to component variations
Figure 4 illustrates the same assembly with exaggerated geometric feature variations. For production parts, the contact surfaces are not really flat and the cylinder is not perfectly round. The pattern of surface waviness will differ from one part to the next. In this assembly, the cylinder makes contact on a peak of the lower contact surface, while the next assembly may make contact in a valley. Similarly, the lower surface is in contact with a lobe of the cylinder, while the next assembly may make contact between lobes.
Local surface variations such as these can propagate through an assembly and accumulate just as size variations do. Thus, in a complete assembly model all three sources of variation must be accounted for to assure realistic and accurate results.
Figure 4. Adjustment due to geometric shape variations
The objective of this chapter is to generalize the procedures for computeraided tolerance modeling and analysis of 2D and 3D mechanical assemblies using vector loopbased assembly models. In vector models, all three variation sources may be included. Of particular interest will be the assembly kinematics employed to set up the kinematic assembly constraints and their solution through a linearization procedure, by which assembly variations can be predicted and evaluated.
3.0 Sample Assembly Variation Problem
To illustrate the problems associated with 2D tolerance analysis, consider the simple assembly shown in figure 5, as described by Fortini [1967]. It is a drawing of a oneway mechanical clutch. 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. The pressure angle F1 between the two contact points is critical to the proper operation of the clutch. If F1 is too large, the clutch will not lock; if it is too small the clutch will not unlock.
Figure 5. Oneway clutch assembly and its relevant dimensions
The primary objective of performing a tolerance analysis on the clutch is to determine how much the angle F1 is expected to vary due to manufacturing variations in the clutch component dimensions. The independent manufacturing variables are the hub dimension a, the cylinder radius c, and the ring radius e. The distance b and angle F1 are not dimensioned. They are assembly resultants which are determined by the sizes of a, c and e when the parts are assembled.
Variations in b and F1 are examples of the small kinematic adjustments between the mating parts which occur at assembly time in response to the dimensional and geometric feature variations of the components in the assembly. For example, if the roller in the clutch assembly is produced undersized, as shown in figure 6, the points of contact with the hub and ring will shift, causing kinematic variables b and F1 to increase.
Figure 6. Example of kinematic or assembly variations due to a change in the roller size.
Usually, limiting values of kinematic variations are not marked on a mechanical drawing, but tolerances on critical performance variables, such as a clearance or a location, may appear as assembly specifications. The task for the designer is to assign tolerances to each component in the assembly so that each assembly specification is met, in this case, the limits on pressure angle F1.
Estimating the variation of an assembly parameter, such as F1, requires an assembly function which relates the assembly parameter to the relevant component dimensions that contribute to the assembly variation. The assembly function can take the form of explicit or implicit algebraic equations.
3.1 Explicit Assembly Equations
By trigonometry, the dependent assembly resultants, distance b and angle F1, can be expressed as explicit functions of a, c and e.
(1) 
The expression for angle F1 may be analyzed statistically to estimate quantitatively the resulting variation in F1 in terms the specified tolerances for a, c and e. If performance requirements are used to set engineering limits on the size of F1, the quality level and percent rejects may also be predicted.
3.2 Implicit Assembly Equations
Figure 7 shows a vector model overlaid on the clutch assembly. The vectors represent the part dimensions which contribute to the overall assembly dimensions. Kinematic joints are placed at the points of contact between mating parts. Assembly relationships are described by loops or chains of vectors from which a set of algebraic equations may be derived. Simultaneous solution of the algebraic kinematic equations permits the prediction of the resulting kinematic adjustments and assembly variations caused by small manufacturing variations. Form variations may be added to the model and their effects may be predicted as well.
The resulting nominal assembly dimensions and variations may be analyzed statistically and compared to engineering design specs to predict the number of rejected assemblies to expect in production. Design iteration of the component tolerances may then be applied until the desired quality levels are achieved.
Figure 7 Kinematic joints and vector loop representing the oneway clutch assembly
From the clutch assembly vector loop, three scalar loop equations may be derived:
Hx = b + c·cos(90° + f1) + e·cos(270° + f1) = 0  (2) 
Hy = a + c + c·sin(90° + f1) + e·sin(270° + f1) = 0  (3) 
Hq = 90°  90° + 90° + f1 + 180° + f2 = 0  (4) 
The known independent variables in this set of equations are a, c, and e. The unknown dependent variables are b, f1 and f2. Examination of the system of equations reveals that they are nonlinear implicit functions, which must be solved simultaneously for all three dependent variables.
Establishing explicit assembly functions, such as equation (1), to describe assembly kinematic adjustments, places a heavy burden on the designer. For most mechanical assemblies, this relationship may be difficult or impossible to obtain. It is very difficult to define such explicit assembly functions in a generalized manner for "reallife" mechanical assemblies. This difficulty makes the use of explicit functions impractical in a CADbased system intended for use by mechanical designers.
A procedure for solving implicit systems of assembly equations, based on vector loop representations, will be presented in section 6, but we must first present a general method for deriving the equations which describe assembly variations.
It is the kinematic variations which result in implicit assembly functions. Current tolerance analysis practices fail to adequately account for this significant variation source. In a comprehensive assembly tolerance analysis model, all three variations should be included: dimensional, geometric and kinematic. If any of the three is overlooked or ignored, it can result in significant error. Only when a complete model is constructed, can the designer accurately estimate the resultant variations in an assembly.
4. Methods Available for Tolerance Analysis
This section will briefly review the methods available for nonlinear tolerance analysis when an explicit assembly function is provided which relates the resultant variables of interest to the contributing variables or dimensions in an assembly. The purpose of the review is to provide background for a discussion of a generalized method for treating implicit functions. A more comprehensive review may be found in a previous paper [Chase and Parkinson, 1991].
4.1 Linearized Method for Estimating Variation
The variation in b and F1 may be estimated by applying error analysis methods, in which the explicit function is linearized in terms of the independent variables a, c and e, and the values of expected error in a, c and e, that is, their tolerances. The linearization method is based on a first order Taylor series expansion of the assembly function, equation (1). The partial derivatives of F1 are evaluated at the nominal values of a, c and e. Then the variation DF1 may be estimated by a worst case or statistical model for tolerance accumulation [Cox 1986, Shapiro & Gross 1981].
(Worst Case)  (5)  
(Statistical)  (6) 
The derivatives of F†1 with respect to each of the independent variables a, c and e are called the "tolerance sensitivities". They are essential to the models for accumulation, hence, the need for an explicit function is apparent.
System moments is a statistical method for expressing assembly variation in terms of the moments of the statistical distributions of the components in the assembly. The first four moments describe the mean, variance, skewness and kurtosis of the distribution, respectively. A common procedure is to determine the first four moments of the assembly variable and use these to match a distribution that can be used to describe system performance [Evans 1975a, 1975b, Cox 1979, 1986, Shapiro & Gross 1981].
Moments are obtained from a Taylor's series expansion of the assembly function F1(xi) about the mean, retaining higher order derivative terms, as shown in equation (7):
E[mk] =  
(7) 
where mk is the kth moment, E is the expected value operator, xi are the variables a, c, and e, and m are their mean values. Expanding the truncated series to the third and fourth power yields extremely lengthy expressions for the third and fourth moments.
Clearly, this method also relies on an explicit assembly function.
The basic idea of quadrature is to estimate the moments of the probability density function of the assembly variable by numerical integration of a moment generating function, as shown in equation (8):
(8) 
where mk is the kth moment of the assembly distribution, w(a), w(c) and w(e) are the probability density functions for the independent variables a, c and e, and ma , mc and me are their mean values. Engineering limits are then applied to the resulting assembly distribution to estimate the statistical performance of the system [Evans 1967, 1971, 1972].
The HasoferLind Reliability Index, also called Second Moment Reliability Index, was originally developed for structural engineering applications [Hasofer & Lind 1974, Ditlevsen 1979a, 1979b]. This sophisticated method has been applied to mechanical tolerance analysis [Parkinson 1978, 1982, 1983, Lee & Woo 1990]. The reliability index may be used to approximate the distance of each engineering limit from the mean of the assembly, and estimate the percent rejects. It requires only the means and covariances of the independent variables, which assumes that all the independent variables are normally distributed and independent.
The general idea of the Taguchi method is to use fractional factorial or orthogonal array experiments to estimate the assembly variation due to component variations. It may further be applied to find the nominal dimensions and tolerances which minimize a specified "loss function". The Taguchi method is applicable to both explicit and implicit assembly functions [Taguchi 1978].
The Monte Carlo simulation method evaluates individual assemblies using a random number generator to select values for each manufactured dimension, based on the type of statistical distribution assigned by the designer or determined from production data. Each set of dimensions is combined through the assembly function to determine the value of the assembly variable for each simulated assembly. This set of computed assembly values is then used to calculate the first four moments of the assembly variable. Finally, the moments may be used to determine the system behavior of the assembly, such as the mean, standard deviation, and percentage of assemblies which fall outside the design specifications [Sitko 1991, Fuscaldo 1991, Craig 1989].
An explicit assembly function is required to permit substitution of random sets of component dimensions and compute the change in assembly variables for each assembly.
The kinematics present in a tolerance analysis model of an assembly is different from the traditional mechanism kinematics. The input and output of the traditional mechanism are large displacements of the corresponding components, such as the rotation of the input and output cranks of a fourbar linkage. The linkage is composed of rigid bodies, so all the component dimensions remain constant, or fixed at their nominal values.
In contrast to this, the kinematic inputs of an assembly tolerance analysis model are small variations of the component dimensions around their nominal values, and the outputs are the variations of assembly features, including clearances and fits critical to performance, as well as small kinematic adjustments between components.
The kinematic adjustments in an assembly have a similar meaning to kinematic degrees of freedom in a mechanism, but the input motions do not refer to displacements of a mechanism. They actually represent differences from the nominal dimension from one assembly to the next. It is the assemblytoassembly variation of an assembly line, not the timevariation of a single assembly, that is described by assembly kinematics.
The kinematic assembly equations describe constraints on the interaction between mating component parts. These constraints also serve as functions by which assembly variations may be studied. Since the assembly model is similar to a classical kinematic mechanism model, the analysis methods developed for mechanism kinematics can be applied to assembly variation analysis.
6. VectorLoopBased Assembly Models
Using the concepts presented in section 3 and 4, vectorloopbased assembly models use vectors to represent the dimensions in an assembly. Each vector represents either a component dimension or kinematically variable dimension. The vectors are arranged in chains or loops representing those dimensions which "stack" together to determine the resulting assembly dimensions. The assembly tolerance specifications are the engineering design limits on those assembly feature variations which are critical to performance.
The other model elements include kinematic joints, datum reference frames, feature datums, assembly tolerance specifications, component tolerances, and geometric feature tolerances. Using relatively few model elements, vector models can describe a broad spectrum of assembly applications for tolerance analysis.
Kinematic joints describe motion constraints at the points of contact between mating parts. Marler [1988] and Chun [1988] defined a set of kinematic joint types to accommodate the kinematic variations at the contact points in 2D assemblies. Figure 8 shows the joints and datums for 2D analysis. Corresponding modeling rules have been developed for correctly representing the kinematic degrees of freedom in an assembly.
Larsen [1991] and Trego [1993] further developed Chun and Marler's work and automated the procedure of generating vector loop relationships for assemblies.
Figure 8. 2D kinematic joint and datum types
7. DLM  Linearization of Implicit Assembly Functions
The Direct Linearization Method for assembly tolerance analysis is based on the first order Taylor's series expansion of the assembly kinematic constraint equations with respect to both the assembly variables and the manufactured variables (component dimensions) in an assembly. Linear algebra is employed to solve the resulting linearized equations for the variations of the assembly variables in terms of the variations of the manufactured components. The resulting explicit expressions may be evaluated by either a worst case or statistical tolerance accumulation model.
7.1 Kinematic Assembly Constraint
Figure 9 shows a vector loop model of an assembly in 2D. Each vector defines the relative rotation and translation from the previous vector. If a vector represents a component dimension, then its variation is the specified component tolerance. If it is a kinematic variable, its variation must be determined by solving the vector equation. A similar interpretation holds for the relative angles. Whether a length or angle is a kinematic variable is determined by the degrees of freedom of the corresponding kinematic joint defined at the points of contact between mating parts.
Figure 9. A sample vectorloopbased assembly model
A closed vector loop, such as that shown in figure 8, defines a kinematic closure constraint for the assembly. This means there is some adjustable element in the assembly which always permits closure. Closed loop constraints can readily be expressed as implicit assembly functions.
An open vector loop describes a gap or a stack dimension, corresponding to a critical assembly feature. The gap variation is the result of the accumulation of component tolerances.
Many assembly applications may be described by an implicit system of open and closed loops requiring simultaneous solution. When no adjustable elements are present, no closed loops are required, in which case, open loops may be expressed as explicit assembly functions.
Assembly tolerance limits are determined by performance requirements. Component tolerance limits are determined from process characterization studies, but may have to be modified as a result of tolerance analysis, which reveals how each component variation contributes to the overall assembly variation. Engineering design limits may be placed on any kinematic variation in a closed loop or any assembly feature variation defined by an open loop. By comparing the computed variations to the specified limits, the percent rejects and assembly quality levels may be estimated.
By summing the vector components in the global x and y directions and summing the relative rotations, a vector loop produces three scalar equations, each summing to zero, as shown in equations (9), (10) and (11).
= 0  (9) 
= 0  (10) 
= 0 or 360°  (11) 
It is significant that each vector direction, represented by the arguments of the sine and cosine functions in the above equations, is expressed as the sum of the relative angles of all the vectors preceding it in the loop. Both the manufactured and kinematic angles are relative angles. This allows rotational variations to propagate realistically through an assembly, producing rigid body rotations of stacked mating parts. This effect of individual angle variations could not be described if global angles were used in the equations.
7.2. Taylor's Expansion of Implicit Assembly Functions
The first order Taylor's series expansion of the closed loop assembly equations can be written in matrix form:
{DH} = [A]{DX} + [B]{DU} = {Q}  (12) 
where
{DH}: the variations of the closure relation,
{DX}: the variations of the manufactured variables,
{DU}: the variations of the kinematic assembly variables,
[A]: the first order partial derivatives of the closure functions with respect to the manufactured variables,
[B]: the first order partial derivatives of the closure functions with respect to the kinematic assembly variables, .
Solving equation (12) for DU gives (assuming that [B] is a fullranked matrix):
{DU} = [B]^{1}[A]{DX}  (13) 
For an open loop assembly constraint, there may also be one or more closed loop assembly constraints which the assembly must satisfy. The strategy for such a system of assembly constraints is to solve the closed loop constraints first, then substitute the solution in the open loop assembly constraint. The variations of the open loop variables may then be evaluated directly. This procedure may be expressed mathematically as follows:
{DV} = [C]{DX} + [D]{DU}  (14) 
where
DV: the variations of the open loop assembly variables,
[C]: the first order derivative matrix of the assembly variables with respect to the manufactured variables in the open loop,
[D]: the first order derivative matrix of the assembly variables with respect to the kinematic assembly variables in the open loop, .
If [B] is fullranked, equation (12) may be written as:
{DV} = ([C]  [D][B]^{1}[A]){DX}  (15) 
7.3. Estimation of Kinematic Variations and Assembly Rejects
The estimation of the kinematic variations can be obtained from equation (13) for the closed loop constraint, or equation (15) for the open loop constraint, by a worst case or statistical tolerance accumulation model.
Worst case:  Statistical model:  
£ TASM  (16)  £ TASM  (17) 
where i = 1,..., n assembly variables, tolj is the tolerance of the jth manufactured dimension, TASM is the design specification for the ith assembly variable and [S] is the tolerance sensitivity matrix of the assembly.
For closed loop constraints  For open loop constraints  
[S] = [B]^{1}[A]  (18)  [S] = [C]  [D][B]^{1}[A]  (19) 
The estimation of the assembly rejects is based on the assumption that the resulting sum of component distributions is Normal or Gaussian, which is a reasonable estimate for assemblies of manufactured variables. If all the component tolerances are assumed to represent three standard deviations of the corresponding process, the estimate of the related assembly variation will be three standard deviations. Equation (17) may easily be modified to account for tolerance limits which represent a value other than three standard deviations.
When tolerance limits have been specified for an assembly variation, the mean and standard deviation of the assembly variable can be used to calculate by either integration or table the assembly rejects for a given production quantity of assemblies.
As examples to demonstrate the procedure of applying the DLM assembly tolerance analysis method to real assemblies, the oneway clutch assembly and a geometric block assembly are examined in detail.
8.1. Example 1. OneWay Clutch
Figure 7 illustrated the vectorloopbased model of the oneway clutch assembly. Table 1 shows the detailed dimensions for the assembly.
Table 1 Dimensions of oneway clutch vector loop
Part Name 
Transformation

Nominal Dimension

Tolerance(±) 
Variation 
Height of hub 
Rotation 
90° 

Translation a 
27.645 
0.0125 
Independent 

Position of roller 
Rotation 
90° 

Translation b 
4.81053 
? 
Kinematic 

Radius of roller 
Rotation 
90° 

Translation c 
11.43 
0.01 
Independent 

Radius of roller 
Rotation f1 
7.01838° 
? 
Kinematic 
Translation c 
11.43 
0.01 
Independent 

Radius of ring 
Rotation 
180° 

Translation e 
50.8 
0.05 
Independent 

Closing vector 
Rotation f2 
97.01838° 
? 
Kinematic 
Translation 
0 
The question marks in the above table indicate the kinematic variations which must be determined by tolerance analysis.
From Figure 7, the loop equations of the assembly follow naturally as:
Hx = b + c·cos(90° +f1) + e·cos(270° +f1) = 0  (20) 
Hy = a + c + c·sin(90° +f1) + e·sin(270° +f1) = 0  (21) 
Hq = 90°  90° + 90° + f1 + 180° +f2 = 0  (22) 
The known independent variables in this set of equations are a, c, and e. The unknown dependent variables are b, f1 and f2.
Note that dimension c appears twice in equation (21). Since both vectors are produced by the same process, they will both be oversized or undersized simultaneously.
Applying the DLM method, the first order derivative matrices [A], [B] and the sensitivity matrix [S] can be obtained.
[ A ] =  = =  (23) 
[ B ] =  = =  (24) 
[ S ] = [ B ]^{1}[ A ] = 
(25) 
With the sensitivity matrix known, the variations of the kinematic or assembly variables can then be calculated by applying equation (14) or (15).
Worst case:  Statistical model:  
(26) 
In this assembly, dimension f1 is the one which has a specified design tolerance since its mean value and variation will affect the performance of the clutch. The design limits for f1 are set to be TASM = ± 0.6s, with a desired quality level of ±3.0 standard deviations. The number of standard deviations Z to which the design spec corresponds may be calculated from the relation:
Z = * 3.0 = 2.7523 (27)
The number of standard deviations Z can then be used to estimate the assembly reject rate h either from standard tables or by integration of the Normal distribution between limits.
Reject Rate = h = 0.002959 dpu, or defects per unit (28)
The assembly rejects for a production run of 1000 assemblies can be estimated by
Assembly Rejects 
= 2 h * Number of Assemblies (29)
= 2(0.002959)1000 = 5.918 
So, there would be about six which would function improperly (three at each design limit).
8.2. Example 2. Geometric Block Assembly
Figure 10 shows a geometric block assembly. The resultant assembly dimension U1 is very difficult to express explicitly as a function of only the independent component dimensions a, b, c, d, e and f. It is very difficult to define such explicit assembly functions in a generalized manner for "reallife" mechanical assemblies. This difficulty makes the use of explicit functions impractical in a CADbased system intended for use by mechanical designers.
Figure 10. Simple geometric block assembly
The geometric block assembly requires three vector loops to completely describe the assembly relationship, even though it is only a simple threecomponent assembly. Figure 11 shows the vector loop assembly model. Table 2 gives all the dimensions for the three vector loops.
Figure 11. Vector loop model of the geometric block assembly
Table 2 Dimensions of the geometric block assembly
Loop Name 
Part Name 
Transformation 
Nominal Dim 
Tolerance(±) 
Loop 1 
Ground 
Rotation 
90° 

Closing angle
90° 
Translation U3 
10.0477 
? 

Block 
Rotation f2 
74.7243° 
? 

Translation U2 
8.6705 
? 

Cylinder 
Rotation 
90° 

Translation a 
6.62 
0.2 

Cylinder 
Rotation f1 
74.7243° 
? 

Translation a 
6.62 
0.2 

Ground 
Rotation 
90° 

Translation U1 
18.7181 
? 

Loop 2 
Ground 
Rotation 
90° 

Closing angle 180° 
Translation U3 
10.0477 
? 

Block 
Rotation f2+90° 
164.7243° 
? 

Translation b 
6.805 
0.075 

Block 
Rotation 
90° 

Translation U4 
2.1894 
? 

Ground 
Rotation f3 
105.2761° 
? 

Translation d 
4.06 
0.15 

Ground 
Rotation 
90° 

Translation f 
3.905 
0.125 

Loop 3 
Ground

Rotation 
90° 

Closing angle
180° 
Translation U3 
10.0477 
? 

Block

Rotation f2+90° 
164.7243° 
? 

Translation b 
6.805 
0.075 

Block

Rotation 
90° 

Translation U5 
27.2965 
? 

Ground

Rotation U4 
105.2761° 
? 

Translation c 
10.675 
0.125 

Ground

Rotation 
90° 

Translation e 
24.22 
0.35 

Ground

Rotation 
0° 

Translation f 
3.905 
0.125 
For each vector loop, three equations having the same format as equation (20) to (21) can be obtained. Therefore, nine equations are required to describe the assembly.
[A] =  i: the no. of loops; j: the no. of independent variables  
=  (30)  
[B] =  i: the no. of loops; j: the no. of dependent variables  
=  (31)  
[ S ] =  [ B ]1[ A ]  
=  (32) 
The variations of the kinematic or assembly variables can then be calculated by applying equation (16) or (17).
Worst case:  Statistical model: 
(33) 
In this assembly, dimension U1 is the feature for which a design tolerance was specified, since its value and variation will affect the desired performance of the assembly. If the design limits for U1 are set to be T_{ASM} = ± 0.28 and the estimated variation DU1 represents 3.0 standard deviations, then the design spec corresponds to Z standard deviations, where:
Z = * 3.0 = 2.8019 (34)
Then, the predicted reject rate for each design limit is estimated from
Reject Rate  = h = 0.002540 dpu 
Assembly Rejects  = h * Number of the Assemblies = 2(0.002540)1000 = 5.08 per 1000 assemblies (35) 
9. Tolerance Analysis of Mechanical Assemblies in 3D Space
Estimating variations in 3D assemblies is considerably more difficult than 2D. The mathematical representation of the assembly functions requires concatenated transformation matrices. Global coordinate data for positioning and orienting important features and mating surfaces are difficult to calculate. The task is better suited for modeling the geometry on a 3D CAD system and extracting the relevant geometry from the CAD model. Establishing a sound mathematical basis is a necessary first step. Engineering models of assembly variations must include all three contributing sources:
Gilbert [1992] and Whitney, et al [1994] proposed a system to estimate the propagation effect of the dimensional and geometric feature tolerances of components in an open loop assembly using the linearized model of the 4x4 transformation matrix constraint developed by Veitschegger and Wu [1986]. Several geometric feature tolerances were studied and geometric feature variations were characterized for certain mating conditions between the parts.
Lin and Chen [1994] developed a linearized scheme for tolerance analysis of closed loop mechanisms in 3D space using the 4x4 transformation matrix in the DenavitHartenberg (DH) symbolic notation common to robotics. This method is significant since it has the capability of assessing the influence of each error component on a machine's accuracy, and it is also capable of including geometric feature variations. It is particularly useful to allocate a machine's tolerances at its design stage or to characterize the performance of an existing machine. Thus far, the method has not been applied to static assemblies. It has only been applied to robotic mechanisms with revolute and prismatic joints (see next section for joint classifications).
Robison [1989] and Gao, Chase, & Magleby [1996] developed the DLM for treating implicit assembly functions, such as kinematic constraints, for assembly tolerance analysis in 3D space. It is a generalized approach, employing common engineering concepts of open or closed vector loops, kinematic joints and geometric feature tolerances.
The DLM is based on the first order Taylor's series expansion of the assembly kinematic constraint equations with respect to both assembly variables and manufactured component dimensions in an assembly. The implicit equations describing the kinematic constraints are reduced to a set of linear equations for small changes about the nominal. Martix algebra is employed to solve the linearized equations for the variations of each assembly variable in terms of the variations of the manufactured components by either worst case or statistical models.
Assembly geometry is reduced dramatically, so it is very efficient computationally. It is suited for integration with commercial CAD systems, by which the required geometry may be extracted directly from a solid model. The DLM method has been extended to include all geometric feature variations in 2D and 3D assemblies [Chase, Gao, Magleby & Sorensen 1996].
9.1. Kinematic Constraint Equations
The mating conditions for 3D assemblies require a variety of kinematic joints to describe the possible relative motions between mating parts. Fig. 12 shows a set that can handle a wide variety of assembly constraints. The kinematic degrees of freedom vary from zero for the rigid joint to five for the spherical slider and crossed cylinder joints.
The vector loop equations were derived for 2D assemblies in Section 6. Each vector loop equation for 2D assemblies resulted in three scalar equations, representing the sum of the x and y projections of the dimension vectors in global coordinates and the sum of the relative rotations.
In 3D space, the system of equations is more complicated. Each vector loop equation for 3D assemblies results in six scalar equations, representing the sum of the x, y and z projections of the dimension vectors in global coordinates and the sum of the relative rotations about the three global axes. The projection equations still hold in global x, y, and z, but the rotation constraints can only be expressed in matrix form.
Figure 12. 3D kinematic joints
A kinematic constraint equation for a 3D mechanical assembly can be described by a closed vector loop. As the vector loop is traversed from the beginning point to the end point, the dimensions of each component and the relative rotations are summed. The translations must sum to zero and the rotations must be such that the coordinate system at the end is congruent with the one at the beginning.
To express the loop equations in matrix form, each vector may be expressed as a product of transformation matrices. The transformation from joint i1 to i consists of a combination of three rotation and one translation matrix. We define the translation to always be along the local x axis, following the next vector in the chain. The magnitude of the translation, L, is the length of the next vector. The rotation matrices describe the relative rotation from one vector to the next. For 3D transformations, we have
[Rx] = (36)  [Rz] = (38) 
[Ry] = (37)  [T] = (39) 
With this convention, a closed loop kinematic constraint can be written as equation (40), meaning that the product of all the transformation matrices is equal to the identity matrix.
[R1][T1][R2][T2]...[Ri][Ti]...[Rn][Tn][Rf] = [I](40)
where
[Ri]: the product of rotation matrices at joint i,
[Ti]: the translation matrix at joint i,
[Rf]: the final rotation required to bring the loop to closure,
[I]: the identity matrix.
From the theory of mechanisms, up to six independent equations can be drawn from each loop equation (40) [Sandor 1984]. Therefore, each loop constraint may be solved for up to six unknowns or assembly variables.
These are nonlinear equations, and require a nonlinear solver to find solutions. However, for small variations about the nominal of each component in the assembly, the solutions can be approximated by the DLM. Therefore, only the derivatives are needed to formulate the linearized equations.
Robison [1989] used a small perturbation method for evaluating the derivatives on the assembly constraint equation (8). For a 3D case, if the translation or rotation at joint i is the variable with respect to which the derivatives are desired, a small length perturbation dL or angle perturbation df is added to the original value, then the matrix multiplication of equation (40) is performed:
for translation
[R1][T1]...[Ri][Ti(L+dL)]...[Rn][Tn]{0 0 0 1}^{t} = {DX DY DZ 1}^{t} (41)
for rotation
[R1][T1]...[Ri(f+ df)][Ti]...[Rn][Tn]{0 0 0 1}^{t} = {DX DY DZ 1}^{t} (42)
the derivatives can then be approximated numerically by:
Translational variable  Rotational variable 
(41)  
= 0  = cos a 
= 0  = cos b 
= 0  = cos g 
where Hx, Hy and Hz are the translational constraints, and Hqx, Hqy and Hqz are the rotational constraints in x, y and z directions respectively, and a, b and g are the global direction cosine angles of the local axis around which the rotation is made [Gao 1993].
9.3. Linearization of the Implicit Assembly Constraints
The first order Taylors series expansion of the closed loop kinematic constraints, equation (38), can be written in matrix form:
{DH} = [A]{DX} + [B]{DU} = {Q} (42)
where
{DH}: the variations of the clearance,
{DX}: the variations of the manufactured variables,
{DU}: the variations of the assembly variables,
[A]: the first order partial derivatives of the manufactured variables,
[B]: the first order partial derivatives of the assembly variables.
Matrix [A] and [B] can be obtained by the method discussed above. Each column of the [A] matrix takes following format,
{Ai} = {, , , , , }^{t} (43)
where xi is the ith manufactured dimension. Matrix [B] has the same column notation except that the variable is ui instead of xi.
To correctly map the derivatives into the A or B matrices requires that each vector and rotation in the loop be identified as either a dependent or independent variable or a constant. A set of modeling rules is required when creating the model, which assure the proper relationships between the vectors passing through each joint and the joint axes. Consistent relationships permit construction of algorithms for correctly making the determination and performing the mapping [Chase & Trego 1994].
Solving equation (42) forDU gives (assuming that [B] is a fullranked matrix):
{DU} = [B]^{1}[A]{DX} (44)
If the [B] matrix is singular or nonsquare, that means the system is overconstrained, or has too many equations, and a least square fit must be applied to solve equation (42).
{DU} =  ([B]^{T}[B])^{1}[B]^{T}[A]{DX} (45)
For an open loop kinematic constraint, there may also be one or more closed loop kinematic constraints which the assembly must satisfy. The strategy for such a system of assembly constraints is to solve the closed loop constraints first, and then substitute the solution in the open loop kinematic constraint. Finally evaluate the variations of the open loop variables.
{DV} = [C]{DX} + [D]{DU} (46)
where
DV: the variations of the open loop assembly variables,
[C]: the first order derivative matrix of the manufactured variables in the open loop,
[D]: the first order derivative matrix of the assembly variables in the open loop.
If [B] is fullranked, equation (46) can be written as:
{DV} = ([C]  [D][B]^{1}[A]){DX} (47)
or, when [B] is not,
{DV} = ([C]  [D]([B]^{T}[B])^{1}[B]^{T}[A]){DX} (48)
9.4. Estimation of Kinematic Variations and Assembly Rejects
The estimation of the kinematic variations can be obtained from equation (44) or (45) for the closed loop constraint, or equation (47) or (48) for the open loop constraint, by a worst case or statistical accumulation model, as we obtained for 2D assemblies.
Worst case:  Statistical model: 
£ T_{ASM} (49)  £ T_{ASM} (50) 
where :
i = 1,..., n assembly variables,
tolj is the tolerance of the jth manufactured dimension,
T_{ASM} is the design specification for the ith assembly variable and
[S] is the tolerance sensitivity matrix.
For determined and overdetermined systems, [S] is given respectively by:
For closed loop constraints  
[S] = [B]^{1}[A]  (determined)  (51)  
[S] =  ([B]^{T}[B])^{1}[B]^{T}[A]  (overdetermined)  (52)  
For open loop constraints  
[S] = [C]  [D][B]^{1}[A]  (determined)  (53)  
[S] = [C]  [D]([B]^{T}[B])^{1}[B]^{T}[A]  (overdetermined)  (54) 
The estimation of the assembly rejects for specified tolerance limits may be obtained from standard tables or by integration of the resulting Normal distribution between limits.
As an example to demonstrate the procedure of applying DLM to a real assembly, the 3D crank slider mechanism shown in figure 12 is examined in detail. The assembly consists of a base, a crank, a link and a slider. The crank rotates around its shaft. This rotation is transmitted by the crank lever to the connecting rod or link. The connecting rod pivots around the "ball joints" as the slider moves forward and backward. The dimensions which govern the operation of the crank slider assembly are shown in the figure.
The assembly constraint equation for this mechanism can be obtained by rotating and translating the local joint coordinate system while traversing the assembly vector loop. When the vector loop is been completely traversed, an assembly constraint equation in the form of equation (40) results. The dependent kinematic variables must be identified before the system can be analyzed.
For analysis, the input crank is rotated to some predetermined position, therefore, it is not an unknown. The two spherical joints are defined with two rotational degrees of freedom [Sandor 1984]. Together, they have four degrees of freedom. The slider can move only forward and backward, so it has one degree of freedom. The rotation of the connecting rod around its axis is arbitrary and therefore meaningless to the tolerance analysis. So, the total kinematic or assembly variables in this system are five instead six, as expected for a 3D assembly loop.
The geometric data of the crank slider mechanism is given in Table 3, with the global reference frame defined in Figure 12.
Figure 13. 3D crank slider mechanism with dimensions
Table 3 Geometric data of the crank slider mechanism
Part Name 
Transformation 
Nominal Dimension 
Tolerance(±) 
Height of base  Rotation  Y = 90° z = 0°  
Translation A  20 
0.025 

Position of crank  Rotation  Y = 90° z = 0°  
Translation B  12 
0.0125 

Length of crank arm  Rotation  Y = 90° z = 45°  
Translation C  15 
0.0125 

Length of link  Rotation f1 f2  Y = 99.007° z=20.705° 
? ? 
Translation D  30 
0.03 

Height of slider  Rotation f3 f4  Y=78.157° z=44.473° 
? ? 
Translation E  5 
0.0025 

Position of slider  Rotation  Y = 90° z = 29.298°  
Translation U  39.7164 
? 
[B]=  =  (55) 
The derivative matrix with respect to the assembly variables can be expressed as:  
[A] =  =  (56) 
The derivative matrix with respect to the manufactured variables can be obtained in the same way.
Equation (51) can not be used to find the sensitivity matrix since the [B] matrix is not a square matrix. Therefore, equation (52) must be used to find a least square fit solution.
[ S ]  =  ([ B ]T[ B ])1[ B ]T[ A ]  
=  (57) 
With the sensitivity matrix known, the variations of the kinematic or assembly variables can then be calculated by applying either equation (49) or (50).
Worst case:  Statistical model:  
(58) 
In this assembly, dimension U is the one which has the design specification, since its value and variation will affect the performance of the mechanism. If the design spec for U is set and the estimated variation DU equals 3.0 standard deviations, then the assembly reject rate can be calculated from standard tables or by integration of the resulting Normal distribution.
This example is evaluated at the predetermined position of the crank arm. However, this procedure can be applied repeatedly to find the maximum variation of the position of the slider as the crank arm is incremented through 360 degrees.
This chapter has presented a comprehensive method for modeling and analyzing variation in 2D and 3D mechanical assemblies. It will make possible new CAD tools for engineering designers which integrate manufacturing considerations into the design process. Using this method, designers will be able to quantitatively predict the effects of variation on performance and producibility.
After the product is in production, manufacturing systems personnel can substitute more accurate data into the model. Tolerances may be reallocated among the components to reduce overall cost. "Whatif" studies can be performed to determine the effect of vendorsupplied components which are out of spec.
If design and manufacturing personnel can adopt a common engineering model describing assembly variation, it can serve as a vehicle for resolving their often competing tolerance requirements. Tolerance analysis can become a common meeting ground where they can work together to systematically pursue cost reduction and quality improvement.
The DLM approach for 2D and 3D tolerance analysis is compatible with product design and development processes. It is well suited to design iteration and optimization. Modeling elements are familiar to most engineers, making it suited to the technical skills of engineering designers. A high level of integration with commercial CAD systems should enhance its acceptance by the design community.
A preliminary study compared the DLM assembly tolerance analysis method with Monte Carlo simulation [Gao 1993, Gao, et al 1995]. The results show that the DLM produces accurate estimates of variation for a broad range of assembly applications.
The geometrical feature variations of the components in an assembly, mentioned in the introduction, were not discussed. A detailed treatment may be found in a separate paper by the authors [Chase, et al, 1996].
This work was sponsored by ADCATS, the Association for the Development of ComputerAided Tolerancing Software, a consortium of twelve industrial sponsors and the Brigham Young University, including: Allied Signal Aerospace, Boeing, Cummins, FMC, Ford, HP, Hughes, IBM, Motorola, Sandia Labs, Texas Instruments and the U.S. Navy. Major portions of this research were performed by former graduate students Jaren Marler, Ki Soo Chun, Angela Trego and Richard Robison, with helpful suggestions by Dr. Alan R. Parkinson of the Mechanical Engineering Department.
ASME, 1982, "Dimensioning and Tolerancing," ANSI Y14.5M  1982, American Society of Mechanical Engineers, New York, NY.
Chase, K. W., Gao, J., and Magleby, S. P., 1995, "General 2D Assembly Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments," J. of Design and Manufacturing, v 5 n 4.
Chase, K. W., J. Gao, S. P. Magleby and C D. Sorensen, 1996, "Including Geometric Feature Variations in Tolerance Analysis of Mechanical Assemblies", Accepted for publication in Institute of Industrial Engineers Transactions.
Chase, K. W., and Trego, A., 1994, "AutoCATSComputerAided Tolerancing System, 2D Modeling User Guide," ADCATS publication, Brigham Young University, Provo, UT.
Chase, K. W., and Parkinson, A.R., 1991, "A Survey of Research in the Application of Tolerance Analysis to the Design of Mechanical Assemblies," Research in Engineering Design, v 3, pp.2337.
Chun, Ki S., 1988, "Development of TwoDimensional Tolerance Modeling Methods for CAD Systems," M.S. Thesis, Mechanical Engineering Department, Brigham Young University.
Cox, N. D. (1979), "Tolerance Analysis by Computer," J. of Quality Technology, v 11, n 2, pp. 8087, April.
Cox, N. D., 1986, "Volume 11: How to Perform Statistical Tolerance Analysis," American Society for Quality Control, Statistical Division.
Craig, M., 1989, "Managing Variation Design using Simulation Methods," Failure Prevention and Reliability  1989, ASME Pub. DEvol 16, pp. 153163.
Ditlevsen, O., 1979a, "Generalized Second Moment Reliability Index," J. of Struct. Mech., 7(4), pp.435451.
Ditlevsen, O., 1979b, "Narrow Reliability Bounds for Structural System," J. of Struct. Mech., 7(4), pp.453472.
Evans, D. H., 1967, "An Application of Numerical Integration Techniques to Statistical Tolerancing," Technometrics, v 9, n 3, Aug.
Evans, D. H., 1971, "An Application of Numerical Integration Techniques to Statistical Tolerancing, II  A Note on the Error," Technometrics, v 13, n 2, Feb.
Evans, D. H., 1972, "An Application of Numerical Integration Techniques to Statistical Tolerancing, III  General Distributions," Technometrics, v 14, n 1, May.
Evans, D. H., 1975a, "Statistical Tolerancing: State of the Art, Part 2. Methods of Estimating Moments," J. of Quality Technology, v7,n 1, pp.112, Jan.
Evans, D. H., 1975b, "Statistical Tolerancing: State of the Art, Part 3. Shift and Drifts," J. of Quality Technology, v 7,n 2, pp.7176, Apr.
Fortini, E. T., 1967, "Dimensioning for Interchangeable Manufacturing," Industrial Press.
Fuscaldo, J. P., 1991, "Optimizing Collet Chuck Designs Using Variation Simulation Analysis," SAE Technical Paper Series, No. 911639, Aug.
Gao, J., 1993, "Nonlinear Tolerance Analysis of Mechanical Assemblies," Dissertation, Mechanical Engineering Department, Brigham Young University.
Gao, J., K. W. Chase and S. P. Magleby "General 3D Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments", Submitted for publication in Institute of Industrial Engineers Transactions.
Gao, J., Chase, K. W., and S. P. Magleby, 1995, "Comparison of Assembly Tolerance Analysis by the Direct Linearization and Modified Monte Carlo Simulation Methods," Proc. of the ASME Design Engineering Technical Conferences, Boston, MA, pp. 353360.
Gilbert, O. L., 1992, "Representation of Geometric Variations Using Matrix Transforms for Statistical Tolerance Analysis in Assemblies," M.S. Thesis, Massachusetts Institute of Technology, Department of Mechanical Engineering, Cambridge, June.
Hasofer, A. M., Lind, N. C., 1974, "Exact and Invariant Second Moment Code Format," J. of The Engineering Mechanics Division, ASME, EM1, pp.111121, Feb.
Larsen, G. C., 1991, "A Generalized Approach to Kinematic Modeling for Tolerance Analysis of Mechanical Assemblies," M.S. Thesis, Mechanical Engineering Department, Brigham Young University.
Lee, W. J., Woo, T. C., 1990, "Tolerances: Their Analysis and Synthesis," J. of Engineering for Industry, v 112, pp.113121, May.
Lin, P. D., and Chen, J. F., 1994, "Analysis of Errors in Precision for Closed Loop Mechanisms," Journal of Mechanical Design, vol 116, pp. 197203.
Marler, Jaren D., 1988, "Nonlinear Tolerance Analysis Using the Direct Linearization Method," M.S. Thesis, Mechanical Engineering Department, Brigham Young University.
Parkinson, D. B., 1978, "Firstorder Reliability Analysis Employing Translation System," Eng. Struct., v 1, pp.3140, Oct.
Parkinson, D. B., 1982, "The Application of Reliability Methods to Tolerancing," J. of Mechanical Design, ASME, v 104, pp.612618, July.
Parkinson, D. B., 1983, "Reliability Indices Employing Measures of Curvature," Reliability Engineering, pp. 153179, June.
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.
Shapiro, S. S., Gross, A., 1981, "Statistical Modeling Techniques," Marcel Dekker.
Sitko, A. G., 1991, "Applying Variation Simulation Analysis to 2D Problems," SAE Technical Paper Series, No. 910210, Feb.
Taguchi, G., 1978, "Performance Analysis Design," International Journal of Production Design, 16, pp.521530.
Trego, A., 1993, "A Comprehensive System for Modeling Variation in Mechanical Assemblies," M.S. Thesis, Mechanical Engineering Department, Brigham Young University.
Veitschegger, W. K. and Wu, C., 1986, "Robot Accuracy Analysis Based on Kinematics," IEEE Journal of Robotics and Automation, vol. RA2, no. 3, pp. 171179, September.
Whitney, D., O. L. Gilbert, and M. Jastrzebski, 1994, "Representation of Geometric Variations Using Matrix Transforms for Statistical Tolerance Analysis of Assemblies," Research in Engineering Design, 6, pp.191120.
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