incorporating geometric variation with kinematic tolerance...

229
INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE ANALYSIS OF 3D ASSEMBLIES by Jeffrey G. Dabling A thesis submitted to the faculty of Brigham Young University in partial fulfillment of the requirements for the degree of Master of Science Department of Mechanical Engineering Brigham Young University December 2001

Upload: others

Post on 17-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

INCORPORATING GEOMETRIC FEATURE VARIATION WITH

KINEMATIC TOLERANCE ANALYSIS OF 3D ASSEMBLIES

by

Jeffrey G. Dabling

A thesis submitted to the faculty of

Brigham Young University

in partial fulfillment of the requirements for the degree of

Master of Science

Department of Mechanical Engineering

Brigham Young University

December 2001

Page 2: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

Copyright © 2001 Jeffrey G. Dabling

All Rights Reserved

Page 3: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

BRIGHAM YOUNG UNIVERSITY

GRADUATE COMMITTEE APPROVAL

of a thesis submitted by

Jeffrey G. Dabling

This thesis has been read by each member of the following graduate committee and bymajority vote has been found to be satisfactory.

_________________________ ___________________________________Date Kenneth W. Chase, Chair

_________________________ ___________________________________Date Larry L. Howell

_________________________ ___________________________________Date Alan R. Parkinson

Page 4: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

BRIGHAM YOUNG UNIVERSITY

As chair of the candidate’s graduate committee, I have read the thesis of Jeffrey G.Dabling in its final form and have found that (1) its format citations, and bibliographicalstyle are consistent and acceptable and fulfill university and department style require-ments; (2) its illustrative materials including figures, tables, and charts are in place; and(3) the final manuscript is satisfactory to the graduate committee and is ready for submis-sion to the university library.

_________________________ ___________________________________Date Kenneth W. Chase

Chair, Graduate Committee

Accepted for the Department

___________________________________Brent L. AdamsGraduate Coordinator

Accepted for the College

___________________________________Douglas M. ChabriesDean, College of Engineering and Technology

Page 5: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

ABSTRACT

INCORPORATING GEOMETRIC FEATURE VARIATION WITH

KINEMATIC TOLERANCE ANALYSIS OF 3D ASSEMBLIES

Jeffrey G. Dabling

Department of Mechanical Engineering

Master of Science

As technology increases and performance requirements continually tighten, the

cost and required precision of assemblies increase as well. There exists a strong need for

increased attention to tolerance analysis to enable high-precision assemblies to be manu-

factured at lower cost. Methods for tolerance analysis of 2D and 3D assemblies have been

developed and are in use in both research and commercial applications. These methods

are usually very complex, and are usually best implemented in some type of automated

software. However, existing variation analysis software does not yet have an industry-

wide user base. In an effort to greatly increase the proportion of companies with variation

analysis capability, Paul Faerber [Faerber 1999] developed the TAKS method (Tolerance

Analysis Using Kinematically-Derived Sensitivities), allowing the creation of a tolerance

model from a kinematic mechanism using equivalent variational mechanisms (EVMs).

Page 6: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

Such a model can then utilize much more widely used kinematic analysis software to per-

form tolerance analysis on an assembly, and even increment the position of the mecha-

nism for conducting analyses at every desired position very quickly. However, the TAKS

method was limited to 2D and did not incorporate geometric feature variation. This thesis

expands upon Faerber’s work to develop a kinematic analogy to 3D tolerance analysis that

also allows for inclusion of geometric feature variation sources. Libraries of 3D EVMs

are introduced that incorporate both dimensional and geometric variation in a kinematic

model. Methods of incorporating these equivalent joints into a kinematic model are set

forth and analysis techniques are explained. The use of a commercial kinematic software

package to automate the analysis is also demonstrated.

Page 7: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

ACKNOWLEDGMENTS

I would like to thank my wife, Denette, for her patience and willingness to help me

accomplish this goal, and for her understanding of why this was so important to me. I will

always be indebted to Dr. Chase for his wonderful guidance and great friendship that truly

made it an enjoyable experience to pursue this thesis. Additionally, I would like to

acknowledge the help of Geoff Carlson for his work in preparing code to conduct analyses

with the Sandor method. Finally, I thank my Heavenly Father for His ever-vigilant care

and the love with which He guides me in all aspects of my life, including this research.

Page 8: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

viii

TABLE OF CONTENTS

CHAPTER 1 Introduction .............................................................................................1

1.1 Variation Example ..............................................................................................21.2 Review of Previous Research .............................................................................31.3 Objectives ...........................................................................................................61.4 Research Approach .............................................................................................61.5 Research Scope ...................................................................................................71.6 Thesis Results .....................................................................................................71.7 Thesis Overview .................................................................................................8

CHAPTER 2 Tolerance Analysis Background ............................................................9

2.1 Direct Linearization Method...............................................................................92.2 Incorporating Geometric Variation into Vector Models...................................15

2.2.1 Effects of Geometric Form Variation in Assemblies............................152.2.2 Statistical Tolerance Analysis and the Envelope Rule .........................192.2.3 Using Geometric Variation with the DLM ...........................................192.2.4 Example DLM Solution with Geometric Variation - Wedge Problem 23

2.3 Tolerance Analysis using Kinematic Sensitivities............................................302.3.1 Equivalent Variational Mechanisms.....................................................32

2.3.1.1 Vector Loops and DRF ................................................................322.3.1.2 Equivalent Variational Sources ...................................................332.3.1.3 Equivalent Variational Joints .......................................................35

2.3.2 Example EVM Solution - One-Way Clutch .........................................372.4 Conclusion ........................................................................................................40

Page 9: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

ix

CHAPTER 3 3D Kinematics Background..................................................................43

3.1 3D Kinematics ..................................................................................................443.1.1 Coordinate System Transformations ....................................................443.1.2 Elementary Derivative Operator Matrices, Qlm....................................473.1.3 Loop Derivative Operator Matrices, Dm...............................................483.1.4 Kinematic Position Analysis.................................................................483.1.5 Kinematic Velocity Analysis ................................................................51

3.2 Global Coordinate Method ...............................................................................533.3 3D Example: Crank Slider Assembly...............................................................57

3.3.1 Crank slider using Derivative Operator Matrix method .......................593.3.2 Crank slider using Global Coordinate method .....................................63

3.4 Conclusion ........................................................................................................67

CHAPTER 4 3D Equivalent Variational Mechanisms .............................................69

4.1 Vector Loops.....................................................................................................694.2 Equivalent Variational Sources ........................................................................704.3 3D Equivalent Variational Joints ......................................................................714.4 Complete EVM Examples ................................................................................76

4.4.1 Crank Slider EVM ................................................................................764.4.2 Swash Plate EVM .................................................................................79

4.5 Overview...........................................................................................................834.6 Conclusion ........................................................................................................85

CHAPTER 5 Including Geometric Variation in EVMs............................................87

5.1 Geometric Equivalent Variational Joints ..........................................................885.2 GEVM Examples ..............................................................................................98

5.2.1 Crank Slider GEVM .............................................................................985.2.2 Printhead GEVM ................................................................................101

5.3 Conclusion ......................................................................................................105

Page 10: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

x

CHAPTER 6 Analytical Examples............................................................................107

6.1 Crank Slider Analysis .....................................................................................1076.1.1 Gathering Model Parameters ..............................................................1086.1.2 Forming Partial Derivative Matrices ..................................................1106.1.3 Calculating Sensitivities .....................................................................1136.1.4 Modeling Issue....................................................................................114

6.2 Swash Plate Analysis ......................................................................................1156.2.1 Gathering Model Parameters ..............................................................1156.2.2 Forming Partial Derivative Matrices ..................................................1176.2.3 Calculating Tolerance Sensitivities ....................................................119

6.3 Printhead Analysis ..........................................................................................1206.3.1 Gathering Model Parameters ..............................................................1206.3.2 Calculating Closed-Loop Sensitivities................................................1226.3.3 Calculating Open-Loop Sensitivities ..................................................126

6.4 Conclusion ......................................................................................................130

CHAPTER 7 Implementation in ADAMS................................................................131

7.1 Modeling in ADAMS .....................................................................................1317.2 Crank Slider ....................................................................................................134

7.2.1 Initial Setup.........................................................................................1347.2.2 Create Links ........................................................................................1357.2.3 Adding EVJs .......................................................................................1397.2.4 Static Analysis ....................................................................................1427.2.5 Kinematic Analysis.............................................................................144

7.3 Swash Plate .....................................................................................................1467.4 Printhead .........................................................................................................1477.5 Modeling Tips.................................................................................................149

7.5.1 Query Select........................................................................................1497.5.2 Use of Dummy Parts in EVJs .............................................................1507.5.3 Multiple Vector Loops........................................................................1507.5.4 Measuring Direction Cosines in ADAMS ..........................................150

CHAPTER 8 Conclusions and Recommendations ..................................................153

8.1 Contributions and Results ...............................................................................1538.2 Conclusions.....................................................................................................1558.3 Recommendations...........................................................................................155

Page 11: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

xi

APPENDIX A Derivation of Qlm ...............................................................................159

APPENDIX B Derivative of the General Loop Closure Equation.........................163

APPENDIX C Derivation of Dm ................................................................................165

APPENDIX D Derivation of Global Coordinate Method .......................................169

D.1 Derivative with Respect to a Length Variable ...............................................170D.2 Derivative with Respect to a Rotation Variable ............................................171D.3 Geometric Interpretation of the Derivatives ..................................................172

APPENDIX E Crank Slider Example Supplement .................................................177

APPENDIX F ADAMS Modeling Methods..............................................................181

F.1 Modeling the Vector Loop as an EVM ..........................................................182F.1.1 Creating Parts .....................................................................................182F.1.2 Creating Markers ................................................................................183F.1.3 Creating Geometry .............................................................................185F.1.4 Creating Mass Properties....................................................................185F.1.5 Applying a Slider Joint .......................................................................186F.1.6 Finishing the Vector Loop..................................................................186

F.2 Joint Location and Orientation .......................................................................187F.3 Modeling Equivalent Variational Sources......................................................192F.4 Conducting the Analysis.................................................................................193

F.4.1 Creating Measures ..............................................................................193F.4.2 Static Assemblies...............................................................................196F.4.3 Kinematic Mechanisms ......................................................................198

F.5 Extracting Sensitivities ...................................................................................200F.5.1 Exporting Results from Static Assemblies .........................................201F.5.2 Exporting Results from Kinematic Mechanisms................................204

APPENDIX G Macro for Creation of EVMs in ADAMS.......................................205

Page 12: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

xii

LIST OF TABLES

TABLE 2.1 Explanation of Modes of Geometric Variation in Assemblies . . . . . . . . . 16

TABLE 2.2 Rotational and translational variations associated with corresponding geometric feature tolerance-kinematic joint combinations in 3D. . . . . . . 18

TABLE 2.3 Manufactured dimensions for wedge problem . . . . . . . . . . . . . . . . . . . . . 23

TABLE 2.4 Kinematic assembly variables for wedge problem . . . . . . . . . . . . . . . . . . 23

TABLE 2.5 Geometric tolerance variables for the wedge example. . . . . . . . . . . . . . . 25

TABLE 2.6 Comparison of Kinematic and Tolerance Analyses . . . . . . . . . . . . . . . . . 31

TABLE 2.7 Nominal dimensions and tolerances for the clutch model (modified from Faerber 1999) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

TABLE 3.1 Manufactured dimensions for crank slider problem . . . . . . . . . . . . . . . . . 58

TABLE 3.2 Kinematic assembly variables for crank slider problem. . . . . . . . . . . . . . 58

TABLE 3.3 Global coordinates and orientations for crank slider vector loop joints . . 64

TABLE 5.1 Rotational and translational variations associated with corresponding geometric feature tolerance-kinematic joint combinations in 3D. . . . . . . 89

TABLE 6.1 Manufactured dimensions for crank slider problem . . . . . . . . . . . . . . . . 108

TABLE 6.2 Kinematic assembly variables for crank slider problem. . . . . . . . . . . . . 109

TABLE 6.3 Geometric tolerance variables for crank slider problem. . . . . . . . . . . . . 109

TABLE 6.4 Global coordinates and orientations for crank slider vector loop joints . 110

TABLE 6.5 Kinematic assembly variables for Swash Plate problem . . . . . . . . . . . . 115

TABLE 6.6 Independent dimensions for Swash Plate problem . . . . . . . . . . . . . . . . . 116

TABLE 6.7 Global coordinates and orientations for Swash Plate vector loop joints and nodes, measured from tail of vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Page 13: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

xiii

TABLE 6.8 Independent dimensions for Printhead problem . . . . . . . . . . . . . . . . . . . 121

TABLE 6.9 Dependent variables for Printhead problem . . . . . . . . . . . . . . . . . . . . . . 121

TABLE 6.10 Geometric tolerance variables for Printhead problem . . . . . . . . . . . . . . 122

TABLE 6.11 Global coordinates and orientations for Printhead vector loop joints . . 123

TABLE 7.1 Modeling Information for the Crank Slider . . . . . . . . . . . . . . . . . . . . . . 136

TABLE 7.2 Data for creating GEVJs in the crank slider assembly . . . . . . . . . . . . . . 140

TABLE 7.3 Data for creating Measures for the crank slider assembly . . . . . . . . . . . 142

TABLE 7.4 Proper velocity function configuration for analyses. . . . . . . . . . . . . . . . 143

TABLE 7.5 Comparison of kinematic ADAMS results to Global Coordinate Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

TABLE E.1 Table of variable entries for forming transformation matrices............... 178

TABLE F.1 Sample output of numeric results ........................................................... 203

Page 14: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

xiv

LIST OF FIGURES

Figure 1.1 Kinematic adjustments due to component dimension variations [Chase 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Figure 1.2 Kinematic Adjustments due to geometric shape variation [modified from Chase 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Figure 2.1 3D Kinematic Joint Types, with the number of Degrees of Freedom indicat-ed [Chase et al. 1996] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Figure 2.2 3D Effects of Geometric Variation [Chase et al. 1996] . . . . . . . . . . . . . . 17

Figure 2.3 Degrees of Freedom for kinematic motions and geometric feature variations [Chase et al. 1996] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Figure 2.4 Geometric tolerances in wedge problem . . . . . . . . . . . . . . . . . . . . . . . . . 24

Figure 2.5 Vector loop for wedge problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Figure 2.6 Graphical representation of propagation of geometric variation . . . . . . . 26

Figure 2.7 One-way clutch assembly with DRFs. [modified from Faerber 1999]. . . 33

Figure 2.8 Vector loop used to analyze the one-way clutch model. [Faerber 1999] . 33

Figure 2.9 Equivalent elements representing independent linear and angular variation. [modified from Faerber 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Figure 2.10 Equivalent variational joints for use in EVM vector models [modified from Faerber 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Figure 2.11 Equivalent Variational Mechanism for one-way clutch. [modified from Faerber 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Figure 3.1 Variation measured at the local joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Figure 3.2 Variation measured at global origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Figure 3.3 3D crank slider and its vector loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Page 15: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

xv

Figure 4.1 Equivalent Variational Sources for incorporating independent variation in kinematic models [modified from Faerber 1999] . . . . . . . . . . . . . . . . . . . 71

Figure 4.2 Explanation of elements used in EVMs . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Figure 4.3 3D Parallel Cylinders Joint and its EVJ . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Figure 4.4 3D Edge Slider joint and its EVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Figure 4.5 3D Cylindrical Slider joint and its EVJ . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Figure 4.6 3D Point Slider and its EVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Figure 4.7 3D Spherical Slider and its EVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Figure 4.8 3D Crossed Cylinder Joint and its EVJ . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Figure 4.9 Crank Slider model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Figure 4.10 Datums used in Crank Slider model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Figure 4.11 Vector loop for 3D Crank Slider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Figure 4.12 EVM for 3D Crank Slider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Figure 4.13 Swash Plate mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Figure 4.14 DRFs for the Swash Plate model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Figure 4.15 Vector loop for Swash Plate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Figure 4.16 EVM for Swash Plate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Figure 4.17 3D Kinematic Joint Types, with the Degrees of Freedom indicated [Chase et al. 1996] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Figure 4.18 3D Equivalent Variational Joints, with the kinematic DOFs indicated [Chase et al. 1996] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Figure 5.1 Rigid Joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Figure 5.2 Prismatic Joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Figure 5.3 Revolute Joint and its GEVJ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Figure 5.4 3D Parallel Cylinders Joint and its EVJ and GEVJ . . . . . . . . . . . . . . . . . 92

Figure 5.5 Cylindrical Joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Figure 5.6 Spherical Joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Page 16: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

xvi

Figure 5.7 Planar Joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Figure 5.8 3D Edge Slider joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Figure 5.9 3D Cylindrical Slider joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . 95

Figure 5.10 Point Slider joint and its GEVJ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Figure 5.11 Spherical Slider joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Figure 5.12 Crossed Cylinder joint and its GEVJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Figure 5.13 Crank Slider model with geometric tolerance callouts . . . . . . . . . . . . . . . 99

Figure 5.14 GEVM for Crank Slider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Figure 5.15 Vector loop for the printhead model. . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Figure 5.16 GEVM for Printhead assembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Figure 6.1 GEVM for Crank Slider model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Figure 6.2 EVM for the Swash Plate model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Figure 6.3 GEVM for Printhead assembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Figure 7.1 Representation of a part in ADAMS [modified from Faerber 1999] . . . 132

Figure 7.2 Sublink and slider EVM representation [modified from Faerber 1999]. 133

Figure 7.3 Crank Slider GEVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Figure 7.4 Crankslider model as seen after creation of A link. . . . . . . . . . . . . . . . . 137

Figure 7.5 Complete EVM loop in ADAMS. Icons removed from model for clarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Figure 7.6 Swash Plate vector loop on right, and completed ADAMS model on left. Icons removed from ADAMS model for clarity. . . . . . . . . . . . . . . . . . . 147

Figure 7.7 Printhead vector loop and ADAMS model. Icons removed from ADAMS model for clarity.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Figure D.1 A 3D vector loop with perturbation δL3 . . . . . . . . . . . . . . . . . . . . . . . . 172

Figure D.2 A 3D vector loop with angle perturbation δθ3z . . . . . . . . . . . . . . . . . . . 173

Figure D.3 Components of ∆X caused by δθ3z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Page 17: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

xvii

Figure F.1 Representation of marker placement on sublinks with slider joint [modified from Faerber 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

Figure F.2 I moves relative to J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

Figure F.3 ADAMS joints used in EVMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Figure F.4 Joint Measure Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Figure F.5 Translational Measure Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Figure F.6 Analysis Submenu in Main Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Figure F.7 Export Numeric Results Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

Figure F.8 Selecting Results for Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

Figure G.1 Macro Panel Interface for Independent EVM Macro . . . . . . . . . . . . . . 207

Page 18: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

1

CHAPTER 1 INTRODUCTION

As technology increases and performance requirements continually tighten, the

cost and required precision of assemblies increase as well. There exists a strong need for

increased attention to tolerance analysis to enable high-precision assemblies to be manu-

factured at lower cost. Methods for tolerance analysis of 2D and 3D assemblies have been

developed and are in use in both research and commercial applications.

Current specialized tolerance analysis software applications are capable of graphi-

cally creating an assembly tolerance model, automatically generating assembly functions,

and solving for predicted variation of critical features. These applications are highly auto-

mated, and have analysis algorithms built in. However, the number of seats of commer-

cial tolerancing software is relatively small compared to the amount of CAD and

kinematic/prototyping software currently in use. In an effort to greatly increase the capa-

bility of variation analysis in industry, Paul Faerber [Faerber 1999] developed the TAKS

method (Tolerance Analysis Using Kinematically-Derived Sensitivities), allowing the cre-

ation of a tolerance model from a kinematic mechanism using equivalent variational

Page 19: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

2

mechanisms (EVMs). Such a model can then utilize a common kinematic software pack-

age to perform tolerance analysis on an assembly, and even increment the position of the

mechanism for conducting analyses at every desired position very quickly. However, the

TAKS method was limited to 2D and did not incorporate geometric feature variation.

This thesis expands upon Faerber’s work to develop a kinematic analogy to 3D tolerance

analysis that also allows for inclusion of geometric feature variation sources.

1.1 Variation Example

Manufacturing fluctuations result in dimensional variation of the parts of an

assembly, such as the cylinder and groove shown in Figure 1.1. As small ∆ are added to

the nominal dimensions of R, A, and θ, the cylinder must seek a new contact position.

Manufacturing variations propagate kinematically through the assembly and accumulate

to create variation ∆U in the dependent assembly variable U when the parts are assembled.

Variation in manufacturing can also cause geometric form and feature variation, as seen in

Figure 1.2. The form variations in circularity, angularity, and flatness cause additional

assembly variation in the placement of the cylinder (∆U).

Thus, both dimensional and geometric variations propagate kinematically through-

out an assembly, and accumulate statistically. Geometric variations can contribute signif-

icantly to the performance of an assembly, and should be considered in any

comprehensive analysis.

Page 20: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

3

1.2 Review of Previous Research

Tolerance analysis of mechanical assemblies has been developed for some time to

predict the effects of variation on product performance and quality. This section presents

a review of literature that relates to the work of this thesis, to better demonstrate the need

for this research and its place among existing work.

[Marler 1988] implemented a 2D method for linearized vector-based tolerance

analysis, the Direct Linearized Method (DLM). The DLM provided a relatively simple

method for linearizing the vector loop equations of a tolerance model using a first order

Taylor expansion, and then extracting the sensitivities and solving for dependent assembly

variables using matrix algebra. [Robison 1989] and [Gao 1993] expanded this work to

3D, and [Goodrich 1991] and [Gao 1993] also developed methods for incorporating geo-

metric variation in the DLM tolerance analysis. These methods provide a basis for the 3D

tolerance analysis discussed in this thesis.

U

θ + ∆θ

θ

A

A

+

∆ A

U + ∆ U

R R + ∆ R

U

θ

A

U + ∆ U

R R

Figure 1.1 Kinematic adjustments due to component dimension variations [Chase 1999]

Figure 1.2 Kinematic Adjustments due to geometric shape variation [modified from Chase 1999]

Page 21: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

4

[Gao, Chase & Magleby 1998a] then developed a method for simplifying the cal-

culations of sensitivities in vector loop equations with the Global Coordinate Method

(GCM). The Global Coordinate Method can be used with the DLM to allow the use of

simplified closed-form solutions for the derivatives. Instead of numerically evaluating the

derivatives, expressions derived in the GCM are evaluated using direction cosines of vec-

tors and global coordinates of joints in the loop. This method is efficient and is shown to

be very accurate. The GCM is used in conjunction with the DLM to simplify the evalua-

tion of derivatives for the analysis methods presented in this thesis.

[Faerber 1999] developed the TAKS (Tolerance Analysis using Kinematic Sensi-

tivities) to provide a link between the kinematic analysis and variation analysis. The result

was a method for modifying a conventional kinematic vector model to represent dimen-

sional variation in an assembly and allow extraction of tolerance sensitivities for variation

analysis. He showed that a commercial kinematic software package can be used to con-

duct tolerance analysis on mechanical assemblies, either static or kinematic. This method

was developed only in 2D, without accounting for geometric variation in the assembly.

Similar to the research presented in [Gao 1993], [Whitney, Gilbert and Jastrzebski

1994] developed a method for conducting vectorial tolerance analysis of 3D assemblies

with 4x4 transformation matrices that incorporates some geometric feature variation. This

method characterizes tolerance zones with kinematic parameter boundaries. Then, like

the DLM, variabilities are included in the matrix transform for specific degrees of free-

dom, depending on the joint. A probability function is generated to estimate the position

and orientation of the variable within the tolerance zone. However, the emphasis of the

Page 22: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

5

paper is tolerance analysis for assembly sequence evaluation, for the purpose of analyzing

the way assemblies are assembled. Because of this, these authors do not include individ-

ual geometric variation types such as those specified by form or circular size tolerances,

explaining that these types of geometric variations cannot be modeled easily with matrix

transforms using their method. Additionally, their methods are not applied to mecha-

nisms.

[Desrochers and Riviere 1997] contribute a 3D transformation matrix method for

tolerancing and clearance calculation. This method is based on the TTRS structure (Tech-

nologically and Topologically Related Surfaces), which create composite surfaces and

datums within and between the parts of an assembly upon which all tolerancing is based.

They define and categorize tolerance zones and elementary surface types for use with the

TTRS methodology, which determine what degrees of freedom are available for different

mating conditions, similar to what is done with the DLM method in Chapter 2 (Table 2.2).

All forms of geometric variation can be included in this matrix method, and although their

paper does not delineate a method specifically for tolerance analysis, it can be easily

adapted to include tolerance stack-up analysis. However, it does not allow for statistical

tolerance analysis. Again, this method does not encompass kinematic mechanisms in

motion, but only static assemblies.

The research area for this thesis has not been widely explored. Very few have

looked at incorporating geometric variation into 3D vector models, and none have

expanded such work to include the ability to analyze variation of mechanisms using kine-

matic software.

Page 23: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

6

1.3 Objectives

The purpose of this research is to develop a 3D kinematic analogy for tolerance

analysis of mechanisms. Specifically, the objective is to:

1. Expand upon Faerber’s kinematic analogy to perform tolerance analysis of

assemblies using 3D mechanisms, modified to include dimensional and geo-

metric variation.

2. Create a library of 3D equivalent kinematic joints for use in tolerance analysis.

3. Create a library of equivalent joints to allow inclusion of geometric variation in

analysis.

4. Demonstrate the kinematic analogy by employing commercial kinematic soft-

ware to perform tolerance analysis of both static assemblies and mechanisms.

1.4 Research Approach

The objectives of this research are accomplished in a systematic manner. First,

techniques for modeling 3D assemblies in kinematic equations are developed using the

direct linearized method and the global coordinate method, combined with Faerber’s

work. These techniques are demonstrated with two examples that incorporate many dif-

ferent joint types. Geometric variation is then incorporated into this system, again demon-

strated by example. The method for conducting analysis with these three kinematic and

geometric equivalent variational mechanisms is demonstrated using the Global Coordi-

nate method. The modeling techniques are then implemented in ADAMS to verify the

Page 24: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

7

previous three problems, demonstrating the utility of the methodology in commercial soft-

ware.

1.5 Research Scope

The thesis will define a method for performing 3D tolerance analysis, including

geometric variation, that is based upon kinematic equations and sensitivities. This

research explores a linear, or 1st-order analysis method, and does not delve into the 2nd-

order analysis techniques. Additionally, the research concentrates on enabling the model

to account for variation due to geometric form and feature variation, not to mathematically

model or approximate the full implications of a geometric tolerance callout; such as MMC

or RFS modifiers.

1.6 Thesis Results

This research enables statistical tolerance analysis of kinematic assemblies in 3D.

Techniques have been developed to allow inclusion of geometric variation in 3D vector

assemblies. A library of 3D equivalent variational mechanism was defined to allow mod-

eling of tolerance analysis problems in modified kinematic assemblies. An additional

library was defined for EVMs that include geometric variation. With these libraries and

modeling techniques, tolerance analysis of a mechanism or static assembly can be per-

formed in commercial kinematic software, allowing automated tolerance analysis of a

mechanism at various positions, if desired.

Page 25: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

8

1.7 Thesis Overview

The remaining chapters in this thesis proceed as follows: Chapter 2 presents the

tolerancing background from Jinsong Gao and Paul Faerber. Chapter 3 presents back-

ground in 3D kinematics, comparing different methods for obtaining sensitivities from an

assembly model. Chapter 4 contains the techniques for implementing the new library of

equivalent variational mechanisms (EVMs) developed in 3D for this thesis. Chapter 5

demonstrates techniques for a similar library of GEVMs for modeling geometric variation.

Analytical examples showing the methods for conducting tolerance analysis using these

new modeling techniques and EVMs are illustrated in Chapter 6. Example assemblies

demonstrating how these modeling techniques are implemented in ADAMS are shown in

Chapter 7. Finally, Chapter 8 contains concluding statements and recommendations for

future research.

Page 26: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

9

CHAPTER 2 TOLERANCE ANALYSIS BACKGROUND

This thesis draws from and expands upon previous research in the areas of toler-

ance analysis. [Gao 1993] presented improved methods for performing a linearized toler-

ance analysis in 3D which also incorporates geometric variation. [Faerber 1999]

established an analogy between kinematic velocity analysis and tolerance analysis. These

research topics have been expanded and blended together to accomplish the objectives of

this thesis.

2.1 Direct Linearization Method

Analysis of variation for complex assemblies often results in implicit functions in

3D which normally produce a set of non-linear equations. This makes the analysis tedious

and complicated. Linearizing the equations can reduce the complexity and can be justified

as a reliable method of analysis by the fact that dimensional variations are generally orders

of magnitude smaller than the physical dimensions of the assembly. The geometry is not

changed sufficiently to modify the sensitivities significantly. Linearization is therefore a

Page 27: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

10

proper method for simplifying the analysis, and provides an excellent approximation to

the solution.

The Direct Linearization Method (DLM) was first developed by [Marler 1988] in

2D and subsequently expanded to 3D by [Robison 1989] and [Gao 1993]. The constraints

in an assembly are described by vector loops in 2D or matrix loops in 3D, which are

formed into kinematic constraint equations. These consist of a concatenation of homoge-

neous transformation matrices that describes the vector path in terms of rotations about

local x, y, and z axes, and translations along the vector path (x-axis by definition). Trans-

formation matrices for a 3D assembly are shown in Equations (2.1):

(2.1)

where φx, φy, and φz are relative rotations about their corresponding axes, and Tx, Ty, Tz are

localized components of the translation vector between nodes of the vector loop. The

transformation matrices are concatenated together to form assembly constraint equations

Rx

1 0 0 00 φxcos φxsin– 0

0 φxsin φxcos 0

0 0 0 1

= T

1 0 0 Tx

0 1 0 Ty

0 0 1 Tz

0 0 0 1

=

Ry

φycos 0 φysin 0

0 1 0 0φysin– 0 φycos 0

0 0 0 1

=

Rz

φzcos φzsin– 0 0

φzsin φzcos 0 0

0 0 1 00 0 0 1

=

Page 28: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

11

that represent the rotations and translations that occur along the path of the vector loop

that characterizes the assembly and its critical features. Such constraint equations appear

as shown in Equation (2.2). [Rf] is the final loop closure rotation matrix. For a closed

loop assembly, [H]=[I], where [I] represents the identity matrix. For an open loop assem-

bly, [H] represents the clearance or gap in the assembly.

(2.2)

The constraint equations in (2.2) are nonlinear. The DLM uses a first-order Taylor

expansion to linearize the equations as an approximation of the dimensional variations. If

a small variation or perturbation is assumed for each assembly member, the approximation

is very good. Using the linearized Taylor expansion, only first derivatives need to be cal-

culated.

[Robison 1989] introduced a perturbation method for extracting derivatives. The

small perturbations ∆L and ∆φ are added one at a time to the translation and rotation matri-

ces, respectively, in Equation (2.2) at the point where the variations occur. Then the

matrix multiplications in Equation (2.2) are carried out. Note that when the perturbations

are included in the constraint equations, the loop will no longer close, resulting in a clo-

sure error vector {∆X ∆Y ∆Z 1}T. Once the constraint equations for the assembly loop

have been written, the following numerical partial derivatives of the equations may be

approximated for each length and angle variation in the loop:

R1[ ] T1[ ] R2[ ] T2[ ]… Ri[ ] Ti[ ]… Rn[ ] Tn[ ] Rf[ ] H[ ]=

Page 29: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

12

(2.3)

where ωx, ωy and ωz are the direction cosine angles of the axis of the rotation φi; while Hx,

Hy and Hz are the sum of vectors in the global X, Y, and Z directions; and Hθx, Hθy and Hθz

are the sum of rotations about the X, Y, and Z axes, respectively [Gao, Chase and Magleby

1998b].

The assembly constraint equation (2.2) can then be linearized using a first order

Taylor expansion, producing matrix equation (2.4):

(2.4)

where {δH} is the vector of clearance variations,

{δX} is the vector of the variations for the manufactured variables,

{δU} is the vector of the variations for the assembly variables,

[A] is the matrix of the first order partial derivatives with respect to the manufac-

tured variables, and

Length Variation

∂Hx∂Li---------- ∆X

∆Li--------≅

∂Hy∂Li---------- ∆Y

∆Li--------≅

∂Hz∂Li--------- ∆Z

∆Li--------≅

∂Hθx∂Li

------------- 0=

∂Hθy∂Li

------------- 0=

∂Hθz∂Li

------------ 0=

Angular Variation

∂Hx∂φi---------- ∆X

∆φ-------≅

∂Hy∂φi---------- ∆Y

∆Li--------≅

∂Hz∂φi--------- ∆Z

∆Li--------≅

∂Hθx∂φi

------------- ωx=

∂Hθy∂φi

------------- ωy=

∂Hθz∂φi

------------ ωz=

δH{ } A[ ] δX{ } B[ ] δU{ }+ 0{ }= =

Page 30: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

13

[B] is the matrix of the first order partial derivatives with respect to the assembly

variables.

Matrices [A] and [B] are obtained using the derivatives in Equations (2.3), and are

used with open or closed-loop systems. The columns of [A] have the form:

(2.5)

where xi is the ith manufactured dimension or angle. The columns of [B] are also obtained

using the format in Equation (2.5), but with ui in place of xi, where ui is the ith assembly

variable. To obtain these matrices, it is important to determine which dimensions in the

assembly loop are dependent or independent variables. The manufactured dimensions for

use in [A] are independent variables, where the assembly values in [B] are dependent.

Equation (2.4) can be evaluated for a closed-loop system ({δH} = {0}), assuming

that [B] is a square matrix, and then solved for {δU}:

(2.6)

Equation (2.6) describes the small adjustments {δU} which take place in the assembly in

response to small dimensional variations {δX}. For an assembly where [B] is not square,

this equation must be modified to include a least-squares fit solution to the inverse, as

shown below:

(2.7)

Ai{ }δHxδxi----------

δHyδxi----------

δHzδxi---------

δHθxδxi

-------------δHθyδxi

-------------δHθzδxi

------------, , , , , T

=

δU{ } B[ ] 1– A[ ] δX{ }–=

δU{ } B[ ]T B[ ]( )1–

B[ ]T A[ ] δX{ }–=

Page 31: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

14

The -[B]-1[A] matrix in Equation (2.6) (or the -([B]T[B])-1[B]T[A] portion of Equa-

tion (2.7)) contains the sensitivities of the dependent assembly variables to the indepen-

dent manufacturing dimensions.

For an open-loop, the close-loop solution should first be solved for {δU} and then

utilized in Equation (2.8) to solve for the open-loop kinematic variations:

(2.8)

where {δΦp} is the vector of variations of open loop assembly variables,

[C] is the matrix of the partial derivatives with respect to the manufactured vari-

ables of the open loop, and

[D] is the matrix of the partial derivatives with respect to the open-loop assembly

variables.

When [B] is a square matrix, the open-loop equation is solved for {δV}:

(2.9)

When [B] is singular, another least-squares method must be used, as shown below:

(2.10)

In the above equations, the ([C]-[D][B]-1[A]) or ([C]-[D]([B]T[B])-1[B]T[A]) por-

tions of the solution represent the sensitivities of the dependent variables to the indepen-

dent open-loop variables. They are the tolerance sensitivities used in evaluating the

assembly variations and rejects for closed loop assemblies [Gao, Chase and Magleby

1998b].

δΦp{ } C[ ] δX{ } D[ ] δU[ ]+=

δΦp{ } C[ ] D[ ] B[ ]– 1– A[ ]( ) δX{ }=

δΦp{ } C[ ] D[ ] B[ ]T B[ ]( )– 1– B[ ]T A[ ]( ) δX{ }=

Page 32: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

15

2.2 Incorporating Geometric Variation into Vector Models

The methods for incorporating geometric variation in vector loop models were

explained in [Chase et al. 1996]. Geometric variation only propagates through an assem-

bly at the contact points between mating parts. To represent this in a vector model, a zero-

length vector with a specified variation is inserted into the vector loop at the point of sur-

face contact where the geometric variation applies. The zero-length vectors are indepen-

dent variation sources for the model, introducing linear or angular variation depending on

the nature of the contact between the mating surfaces.

2.2.1 Effects of Geometric Form Variation in Assemblies

The various types of mating conditions for 3D assemblies may be represented as

kinematic joints, as shown in Figure 2.1. The arrows indicate the unconstrained degrees

of freedom in each joint. Depending on the joint used, variation will propagate through

different rotational and translational directions associated with the joint axes. The direc-

tions of variation propagation may be different for each axis, as demonstrated in Figure

2.2. Using an example of surface waviness due to geometric variation in flatness, the two

modes of variation can be explained in Table 2.1.

To correctly incorporate geometric variation in a tolerance model, the types of spe-

cific variation for each joint type must be understood, as well as how the joint affects the

variation. Each joint type has specific kinematic degrees of freedom that allow certain

types of motion, as seen in Figure 2.1. Where kinematic degrees of freedom (K) exist, no

Page 33: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

16

Figure 2.1 3D Kinematic Joint Types, with the number of Degrees of Freedom indicated [Chase et al. 1996]

Rigid (no motion) Prismatic (1) Revolute (1) Parallel Cylinders (2)

Cylindrical (2) Spherical (3) Planar (3) Edge Slider (4)

Cylindrical Slider (4) Point Slider (5) Spherical Slider (5) Crossed Cylinders (5)

Z

Y

X

TABLE 2.1 Explanation of Modes of Geometric Variation in Assemblies

Variation Type Cause of Variation

Translational Results from line contact, such as a cylinder on a plane. The cylinder could rest on a peak or down in a valley of the surface waviness (as shown in Figure 2.2), resulting in vertical changes in the cylinder position from one assembly to the next.

Rotational Results from surface contact. The corner of a block could rest on a peak or down in a valley of the surface waviness (as shown in Figure 2.2), resulting in rotation of the block from one assembly to the next.

Page 34: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

17

propagation of geometric variation will occur, as shown in Figure 2.3. In those directions

where motion is constrained, however, the possibility exists for propagation of geometric

variation (F). This will occur when the mating surfaces are subject to errors in shape or

Figure 2.2 3D Effects of Geometric Variation [Chase et al. 1996]

The effect of feature variations in 3D depends upon the joint type and which joint axis you are looking down.

3D cylindrical slider joint

View looking down the cylinder axis

View normal to the cylinder axis

x

y

z

Nominal Circle

Cylindricity Tolerance Zone

Translational Variation

Flatness Tolerance Zone

Flatness Tolerance Zone

Rotational Variation

x y

z

K

K

F

F

K Kinematic Motion F Geometric Feature Variation

x y

z

K

K K

F

F

K K

F

Cylindrical Slider Joint Planar Joint

Figure 2.3 Degrees of Freedom for kinematic motions and geometric feature variations [Chase et al. 1996]

Page 35: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

18

orientation. Understanding the constrained degrees of freedom, it is possible to map the

variation that will occur due to specific geometric variation types corresponding to each

3D kinematic joint. Such a mapping is shown in Table 2.2, where the most common com-

binations of joint types and geometric variations are included. This data has been devel-

oped by [Goodrich 1991] and [Ward 1992], and updated in the publication [Chase et al.

1996]. Note that from Figure 2.3, the total number of kinematic and geometric DOFs for

any joint should sum to six. Therefore, in the most general case, the number of geometric

varations shown in Table 2.2 would be equal to the number of kinematic DOFs for that

TABLE 2.2 Rotational and translational variations associated with corresponding geometric feature tolerance-kinematic joint combinations in 3D

Joints

Geom Tol

Revolute

Cylindrical

Prismatic

Planar

Crscyl

Spherical

Parcyl

Edgsli

Cylsli

Pntsli

Sphsli

R x R z R x R z R x R z R x R z R x R z R x R z R x R z T y

R x R z R x R z R x R z R x R z R x R z R x R z R x R z T x T z T x T z

R x R z R x R z R x R z R x R z R x R z R x R z R x R z T x T z T x T z

R x R y R z

R x R z

R x R z

R x R y R z R x R y R z R x R y R z R x R y R z R x R y R z

T x T y T z T x T y T z T x T y T z T x T y T z T x T y T z

T y T y T y T y T y T y

T y T y R x T y R x T y R x T y R x R x T y R x R x R x

E P

P

P

P

C

Pt

S

T y R x T y R x T y R x

T y R x T y R x T y R x T y R x T y R x T y R x

T y R x T y R x T y R x T y

T y R x T y R x T y R x

T y R x T y R x T y R x T y R x T y R x T y R x

T y R x T y R x T y R x T y T y R x T y R x T y R x

T y T y T y T y T y T y T y T y

T y T y T y T y T y T y T y T y

T y T y T y

n Table 2.2 Note: Crscyl = Crossed CylindersParcyl = Parallel CylindersEdgsli = Edge slider (E for edge, P for plane)Cylsli = Cylindrical slider (C for cylinder, P for plane)Pntsli = Point slider (Pt for point, P for plane)Sphsli = Spherical slider (S for sphere, and P for plane)

Page 36: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

19

joint subtracted from six. However, the table as shown is not in the most generalized

form, and has neglected some variations thought to be less significant or more easily

attributed to dimensional variation.

2.2.2 Statistical Tolerance Analysis and the Envelope Rule

ANSI Y14.5M-82 defines Rule #1 as: “the surface of a feature shall not extend

beyond the boundary (envelope) of perfect form at MMC.” This is also known as the

Envelope Rule. It is important to note in this discussion of geometric feature variation that

the Envelope Rule applies only to worst case tolerance analysis.

The Envelope Rule, and Geometric Dimensioning & Tolerancing modifiers MMC

and LMC, were established for 100% inspections, to allow for inspection with “go/nogo”

gages. Statistical methods do not require 100% inspection. In an inspection with a “go/

nogo” gage, the only concern is whether the part will pass or fail, with no regard for where

the part lies in a theoretical distribution. This rule requires that all features of a part must

lie within a specified boundary (tolerance zone) established relative to the maximum

material condition (MMC). Thus, the rule does not allow any parts to be outside the speci-

fication at this condition, while a statistical analysis will always predict that some percent-

age of the assemblies will fail. Therefore, the envelope rule cannot be applied to statistical

tolerance analysis [Goodrich 1991].

2.2.3 Using Geometric Variation with the DLM

Once the effects of the geometric feature variation have been characterized in the

assembly, they can be incorporated into the tolerance model using the DLM. For a geo-

Page 37: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

20

metric feature that induces a rotational variation at a joint as indicated in Table 2.2, a rota-

tional matrix using rotation variables φx, φy, or φz is inserted into the assembly constraint

Equation (2.2) as shown in Equation (2.1). Where Table 2.2 indicates a translational vari-

ation for the specific joint, a translational matrix using the variables Tx, Ty, or Tz is

inserted into the assembly constraint equation.

In conventional tolerance analysis, variation is approximated by the dimensional

tolerances by assuming each tolerance represents 3σ, or half the process capability. So, in

like manner, the geometric variation will be assumed to be equal to the geometric toler-

ances by setting the geometric tolerance band equal to ±3σ of the process capability.

The variables used for geometric feature variation have nominal values of zero and

variation corresponding to the specified tolerance value. For example, the rotational vari-

ation due to flatness variation in a joint between two planar surfaces depends on the allo-

cated flatness tolerance value and the characteristic length, which is the length of contact

between the two surfaces. This variation is shown in Equation (2.11),

(2.11)

where ±∆β is the rotational variation caused by flatness variation in a planar joint. The

translational variation in a joint between a cylinder and a plane is equal to ±α/2, where α

is the width of the tolerance zone. Once the assembly constraint equation has been written

to include the geometric variation variables, derivatives can be approximated using Equa-

tions (2.3).

∆β tan 1– Flatness Tolerance ZoneCharacteristic Length

---------------------------------------------------------------------- =

Page 38: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

21

Using the DLM, the assembly constraint equation with geometric feature variables

can be linearized using a Taylor expansion as was done in Equation (2.4). However, the

equations have been modified to account for the geometric variation. The linearized equa-

tion becomes:

For a closed loop (2.12)

For an open loop (2.13)

where [F], [G] are the partial derivative matrices with respect to the geometric feature

variables, and {δα} contains the variations of the geometric feature variables. Note that

[G] is specifically for partial derivatives with respect to geometric feature variables that

occur exclusively in the open loop. The form of [F] or [G] will be similar to that of [A] or

[B] in Equation (2.5), replacing xi or ui with αi for the geometric variables. {δH}, {δΦp},

{δX}, {δU}, [A], [B], [C] and [D] are as defined for Equations (2.4) and (2.8).

Solving for{δU}, Equation (2.12) becomes:

(2.14)

Substituting {δU} from Equation (2.14), and solving for {δΦp}, Equation (2.13)

becomes:

(2.15)

δH{ } A[ ] δX{ } B[ ] δU{ } F[ ] δα{ }+ + 0{ }= =

δΦp{ } C[ ] δX{ } D[ ] δU{ } G[ ] δα{ }+ +=

δU{ } B[ ]– 1– A[ ] δX{ } B[ ] 1– F[ ] δα{ }–=

δΦp{ } C[ ] D[ ]– B[ ] 1– A[ ]( ) δX{ } G[ ] D[ ] B[ ] 1– F[ ]–( ) δα{ }+=

Page 39: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

22

In Equation (2.14), there are two sensitivity matrices. The sensitivity matrix for the

dimensional variables [Sd] and the matrix for the geometric feature variables [Sα], are

shown in Equation (2.16).

For closed loops (2.16)

The open-loop equation also has two sensitivity matrices analogous to those shown in

Equation (2.16), which are shown below:

For open loops (2.17)

The sensitivity matrices in Equations (2.16) and (2.17) can then be used to esti-

mate the kinematic and assembly variations as well as the assembly reject rate, as shown

in the root sum square equation in (2.18),

(2.18)

where Told is the tolerance vector for the dimensional variables,

Tolα is the tolerance vector for the geometric feature variables,

n is the number of dimensional variables,

m is the number of geometric feature variables,

and TASM is the design limit for assembly variation ∆Ui.

In Equation (2.18), ∆Ui2 is an estimate of the statistical variance of Ui [Chase et al. 1996].

Sd[ ] B[ ]– 1– A[ ]=

Sα[ ] B[ ]– 1– F[ ]=

Sd[ ] C[ ] D[ ] B[ ] 1– A[ ]–( )=

Sα[ ] G[ ] D[ ] B[ ] 1– F[ ]–( )=

∆Ui Sijd Tolij

d( )2 SijαTolij

α( )2

j 1=

m

∑+

j 1=

n

∑ TASM≤=

Page 40: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

23

2.2.4 Example DLM Solution with Geometric Variation - Wedge Problem

Following is a simple example to demonstrate the DLM using 2D vector loops.

The wedge problem consists of a rectangular block with a rounded corner that is assem-

bled into a groove. Table 2.3 and Table 2.4 describe the manufactured and assembly vari-

ables, respectively, with their nominal values and tolerances, where applicable.

Figure 2.4 demonstrates the layout of the wedge example, illustrating the various

dimensions and geometric tolerances imposed on the assembly. Given these dimensions

and geometric variations, a vector loop for the assembly can be created, as shown in Fig-

ure 2.5. This vector loop is not the only possible vector loop for this configuration.

Depending on the function of the assembly, the dimensioning scheme, or the method used

for determining acceptance or rejection of the parts, the vector loop may follow a different

TABLE 2.3 Manufactured dimensions for wedge problem

Variable Description Nominal Dim. Tolerance

A Height of wall 0.75" ± 0.01"

H Height of block 1.375" ± 0.005"

R1 Radius of curve 0.75" ± 0.01"

R2 Radius of curve 0.75" ± 0.01"

R3 Radius of curve 0.75" ± 0.01"

θ Angle of overhang 35° ± 1.0°

TABLE 2.4 Kinematic assembly variables for wedge problem

Variable Description Nominal Dim. Design Spec.

Ul Horizontal position of block

0.379" ± 0.05"

U2 Angular distance to contact point

0.853" N/A

φ Contact angle 35° N/A

Page 41: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

24

path. Notice that the vector loop passes only through known manufactured dimensions

(A, R, θ) or adjustable assembly dimensions (U1, U2, φ).

In addition to the dimensional and assembly variation described in Tables 2.3 and

2.4, the geometric variation corresponding to the specified form tolerances must be con-

sidered. Table 2.5 presents these variations. The type of physical variation introduced

into the model is associated with the specific tolerance and joint type, as determined from

Table 2.2.

While the flatness callout for the bottom surface of the groove and the block both

have tolerance values that indicate a rectangular tolerance zone, the actual variation intro-

duced into the model is rotational, per Table 2.2. Therefore, the rotational variation due to

these tolerances was calculated from Equation (2.11) and are included in Table 2.5.

Notice that the width of the block corresponds to the characteristic length in Equation

(2.11) and must be known, even though this length is independent of the vector loop. The

value specified for this contact length was twice the value of R, or 1.5 inches.

A

.01

φ

U 1

θ

R

U 2

H

.02

.01

.01

U1

θ

A

H

U2

φ

R3

R2

R1

Figure 2.4 Geometric tolerances in wedge problem Figure 2.5 Vector loop for wedge problem

Page 42: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

25

The form tolerances at the point of contact between the round corner of the block

and the angled surface of the groove introduce only translational variation. The value for

the variation is simply plus or minus one half the width of the tolerance zone specified on

the drawing, as explained in Section 2.2.3.

The [F] matrix, from Equation (2.12), is obtained by taking partial derivatives of

the loop equations with respect to each geometric variation, one at a time. Since it is a

partial derivative, all other dimensions and geometric variables are held fixed.

Figure 2.6 demonstrates the effect of the partial derivative with respect to the flat-

ness variation of the bottom groove surface. The induced rotational variation, ∆β1, propa-

gates kinematically throughout the entire assembly as if the vector loop was transformed

as a rigid body from that point on. Figure 2.6 describes the effect of the partial derivative

with respect to β1 not the complete response of all the loop variables.

TABLE 2.5 Geometric tolerance variables for the wedge example

Variable Description Nominal Variation

β1 Variation in flatness on bottom surface of groove

0 ±0.38197°

β2 Variation in flatness on bottom surface of block

0 ±0.38197°

α3 Tolerance for profile variation on round of block

0 ±0.005”

α4 Tolerance for flatness variation on angular surface of groove

0 ±0.005”

Page 43: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

26

Given the vector loop and geometric variations, the equations for the vector loop

can be produced for the x, y and θ components as shown in Equations (2.19), (2.20) and

(2.21), respectively:

(2.19)

(2.20)

(2.21)

Notice that the geometric variations β1 and β2 are introduced in vector H and

appear in each term throughout the remainder of the vector loop equations from the point

they were inserted. A small change in β1 or β2 not only causes vector H to rotate, but also

each vector following H in the loop. The result is a rigid body rotation of the vectors as a

∆β1 ∆Y

∆X

Figure 2.6 Graphical representation of propagation of geometric variation

Hx U1 0( ) R1 0( ) H 90 β1 β2+ +( ) R2 270 β1 β2+ +( ) +cos+cos+cos+cos=

R3 90 φ β1 β2+ + +( ) α3 90 φ β1 β2+ + +( ) α4 90 φ β1 β2+ + +( ) +cos+cos+cos

U2 180 φ β1 β2+ + +( ) A 270 β1 β2+ +( )cos+cos 0=

Hy U1 0( ) R1 0( ) H 90 β1 β2+ +( ) R2 270 β1 β2+ +( ) +sin+sin+sin+sin=

R3 90 φ β1 β2+ + +( ) α3 90 φ β1 β2+ + +( ) α4 90 φ β1 β2+ + +( ) +sin+sin+sin

U2 180 φ β1 β2+ + +( ) A 270 β1 β2+ +( )sin+sin 0=

Hθ 0 0 90 β1 β2 180 180 φ 90 90 θ– 90+ + + + + + + + + + 0= =

or…φ θ=

Page 44: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

27

block, as shown in Figure 2.6. This will also result in a very large number of terms in [F],

where the derivatives of the loop equations are taken with respect to β1 and β2.

Also note in the Hθ equation (2.21), it is shown that φ is equivalent to θ, which

would also signify that δφ=δθ, and thus φ is no longer an unknown dependent variable, as

its variation is always known from θ. So, θ is substituted for φ throughout Equations

(2.19) and (2.20), and the Hθ equation becomes unnecessary and can be dropped from the

partial derivative matrices shown below, as is the φ column from [B]. The matrix [A] is

reduced to:

(2.22)A[ ]

∂hx∂R1---------

∂hx∂H--------

∂hx∂R2---------

∂hx∂R3---------

∂hx∂θ--------

∂hx∂A--------

∂hy∂R1---------

∂hy∂H--------

∂hy∂R2---------

∂hy∂R3---------

∂hy∂θ--------

∂hy∂A--------

=

Page 45: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

28

where:

(2.23)

Then the matrix [B] of partial derivatives with respect to dependent variables is

formed below:

(2.24)

where:

(2.25)

∂hx∂R1--------- 0( )cos 1= =

∂hy∂R1--------- 0( )sin 0= =

∂hx∂H-------- 90 β1 β2+ +( )cos=

∂hy∂H-------- 90 β1 β2+ +( )sin=

∂hx∂R2--------- 270 β1 β2+ +( )cos=

∂hy∂R2--------- 270 β1 β2+ +( )sin=

∂hx∂R3--------- 90 θ β1 β2+ + +( )cos=

∂hy∂R3--------- 90 θ β1 β2+ + +( )sin=

∂hx∂θ--------

R3– 90 θ β1 β2+ + +( ) –sin

α3 90 θ β1 β2+ + +( ) –sin

α4 90 θ β1 β2+ + +( ) –sin

U2 180 θ β1 β2+ + +( )sin

= ∂hy∂θ--------

R3 90 θ β1 β2+ + +( ) +cos

α3 90 θ β1 β2+ + +( ) +cos

α4 90 θ β1 β2+ + +( ) +cos

U2 180 θ β1 β2+ + +( )cos

=

∂hx∂A-------- 270 β1 β2+ +( )cos=

∂hy∂A-------- 270 β1 β2+ +( )sin=

B[ ]

∂hx∂U1----------

∂hx∂U2----------

∂hy∂U1----------

∂hy∂U2----------

=

∂hx∂U1---------- 0( )cos 1= =

∂hx∂U2---------- 180 θ β1 β2+ + +( )cos=

∂hy∂U1---------- 0( )sin 0= =

∂hy∂U2---------- 180 θ β1 β2+ + +( )sin=

Page 46: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

29

The matrix [F] of partial derivatives with respect to geometric variations is as

shown below:

(2.26)

where:

(2.27)

When [A], [B] and [F] are formed, the nominal values of the dependent and inde-

pendent variables are inserted into the matrices for use in calculations, remembering that

F[ ]

∂hx∂β1---------

∂hx∂β2---------

∂hx∂α3---------

∂hx∂α4---------

∂hy∂β1---------

∂hy∂β2---------

∂hy∂α3---------

∂hy∂α4---------

=

∂hx∂β1---------

H 90 β1 β2+ +( ) R2 270 β1 β2+ +( ) R3 90 θ β1+ + β2+( ) +sin+sin+sin[–

α3 90 θ β1 β2+ + +( ) α4 90 θ β1 β2+ + +( ) +sin+sin

U2 180 θ β1 β2+ + +( )sin A+ 270 β1 β2+ +( )sin ]

=

∂hx∂β2---------

H 90 β1 β2+ +( ) R2 270 β1 β2+ +( ) R3 90 θ β1+ + β2+( ) +sin+sin+sin[–

α3 90 θ β1 β2+ + +( ) α4 90 θ β1 β2+ + +( ) +sin+sin

U2 180 θ β1 β2+ + +( )sin A+ 270 β1 β2+ +( )sin ]

=

∂hy∂β1---------

H 90 β1 β2+ +( ) R2 270 β1 β2+ +( ) R3 90 θ β1+ + β2+( ) +cos+cos+cos

α3 90 θ β1 β2+ + +( ) α4 90 θ β1 β2+ + +( ) +cos+cos

U2 180 θ β1 β2+ + +( )cos A+ 270 β1 β2+ +( )cos

=

∂hy∂β2---------

H 90 β1 β2+ +( ) R2 270 β1 β2+ +( ) R3 90 θ β1+ + β2+( ) +cos+cos+cos

α3 90 θ β1 β2+ + +( ) α4 90 θ β1 β2+ + +( ) +cos+cos

U2 180 θ β1 β2+ + +( )cos A+ 270 β1 β2+ +( )cos

=

∂hx∂α3--------- 90 θ β1 β2+ + +( )sin–=

∂hy∂α3--------- 90 θ β1 β2+ + +( )cos=

∂hx∂α4--------- 90 θ β1 β2+ + +( )sin–=

∂hy∂α4--------- 90 θ β1 β2+ + +( )cos=

Page 47: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

30

the geometric variation variables have nominal values of zero. The results are shown in

their evaluated forms in Equations (2.28), (2.29) and (2.30).

(2.28)

(2.29)

(2.30)

From Equation (2.16), the sensitivity matrices can now be calculated,

(2.31)

(2.32)

and then used to calculate the assembly variation in the model using Equation (2.18).

2.3 Tolerance Analysis using Kinematic Sensitivities

The TAKS method (Tolerance Analysis using Kinematic Sensitivities) developed

by [Faerber 1999] employed an analogy which relates tolerance sensitivities to kinematic

velocity sensitivities. This velocity/variation analogy was developed previously by [Huo

1995]. Faerber developed methods for extracting tolerance sensitivities from a modified

kinematic analysis using equivalent variational mechanisms (EVMs). These EVMs

exploited the relationship between the kinematic velocity equations and the tolerance

A[ ] 1 0 0 0.573576– 0.125103– 00 1 1– 0.819152 1.128919– 1–

=

B[ ] 1 0.819152–0 0.573576–

=

F[ ] 0.000103– 0.000103– 0.819152– 0.819152–1.128919– 1.128919– 0.573576– 0.573576–

=

Sd B[ ] 1– A[ ]– 1– 1.428148 1.428148– 1.743447 1.487160– 1.428148–0 1.743447 1.743447– 1.428148 1.968210– 1.743447–

= =

Sα B[ ] 1– F[ ]– 1.612160– 1.612160– 0 01.968210– 1.968210– 1– 1–

= =

Page 48: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

31

analysis equations. Table 2.6 demonstrates a comparison between kinematic and toler-

ance analyses.

Input velocities are introduced in the kinematic model corresponding to dimen-

sional variation in the assembly model, enabling the analysis of tolerances using kinematic

equations. The TAKS method and associated EVMs made possible the use of kinematic

software, not only to perform tolerance analysis of mechanisms through the full range of

motion, but also the analysis of static mechanical assemblies.

The TAKS method consists of four main steps. The first step is to characterize the

assembly geometry by identifying datum reference frames and independent and dependent

variables, and create a vector loop. The second is to create an EVM, as described briefly

in Section 2.3.1. The third step is to perform a kinematic analysis of the EVM. Normally,

this analysis would be done in a kinematic software package, like ADAMS. However, a

detailed example of the kinematic analysis for the EVM of a one-way clutch will be dem-

onstrated numerically in Section 2.3.2. The last step after the kinematic analysis is to

extract the sensitivities and calculate the predicted assembly variation.

TABLE 2.6 Comparison of Kinematic and Tolerance Analyses

Kinematic Analysis Tolerance Analysis

Model: Vector loop w/ kinematic joints Vector loop w/ kinematic joints

Describes: Instantaneous velocities Probable assembly variations

Input: Link positions and input link velocities

Dimensional variations in angles and link lengths

Outputs Output link velocities Dependent assembly varia-tions in angles and link lengths

Angles: Absolute Relative

Sensitivities Kinematic velocity sensitivities Tolerance sensitivities

Page 49: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

32

2.3.1 Equivalent Variational Mechanisms

To enable the kinematic analogy, Faerber developed EVMs. An EVM is a modi-

fied mechanism that is theoretically and analytically equivalent to the original mechanism.

It has only been modified to allow dimensional variation to be introduced into the model,

and to facilitate the modeling of the mechanism in kinematic software. This section will

explain the different elements that make up the equivalent variational mechanisms used to

model variation in kinematic assemblies. The methods for creating the vector loop, the

sources of the variation, and the equivalent joints for the EVM will be discussed.

2.3.1.1 Vector Loops and DRF

A proper vector loop is required for developing a successful analysis of an EVM.

As the vector loop for the assembly passes through the part, it must first pass through the

datum reference frame (DRF) of each part. The DRF of a part or a feature is a local coor-

dinate system upon which all the part geometry is defined. The vectors leading to and

from the DRF correspond to physical dimensions and kinematic variables in the assembly.

Figure 2.7 shows a one-way clutch assembly, with the part and feature DRF

shown. The one-way clutch is an assembly with a hub that is designed to spin freely,

being disengaged from the ring when rotated in one direction. In the other direction, the

rollers provide friction that engages the hub to the ring, allowing rotation to be transmitted

from hub to ring. Note that the part DRFs for the hub and the ring are coincident. Due to

symmetry, only one fourth of the clutch need be analyzed. Therefore, Figure 2.8 illus-

Page 50: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

33

trates one quarter of the clutch assembly, with a vector loop that passes through each part

DRF and each feature DRF.

2.3.1.2 Equivalent Variational Sources

All sources of variation for the assembly need to be included in the EVM. There

are independent and dependent variation sources. Independent variation sources come

from dimensional or geometric variation in the parts. These two sources of variation are

independent of each other, but both can contribute significantly to the assembly variation.

Faerber’s work did not encompass form variation, and thus a major objective of this thesis

is the incorporation of geometric variation into the kinematic tolerance modeling process.

The variations are modeled by including equivalent variational elements in the

EVM. Independent linear variations are modeled by splitting a link in the vector model

into two sublinks and joining them with a translational joint and applying a unit linear

velocity. Independent angular variations are modeled by creating a pin joint at the point of

variation, and applying a unit angular velocity. As velocity is analogous to variation, a

hub

ring

roller

spring

= Cylindrical DRF

21

"c1

M

a

c2

c1

"b

"f

b

f

"c2

Figure 2.7 One-way clutch assembly with DRFs. [modified from Faerber 1999]

Figure 2.8 Vector loop used to analyze the one-way clutch model. [Faerber 1999]

Page 51: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

34

specified velocity must be included in the assembly for every dimension with specified

variation. The equivalent elements allow for dimensional variation to be introduced using

traditional kinematic elements. Figure 2.9 shows representations of these equivalent ele-

ments for independent linear and angular variation.

Dependent dimensional variations will have the same equivalent elements, but

with unknown velocity functions. This is because the variation of a dependent joint is an

unknown variable to be solved for in the tolerance analysis. The kinematic adjustments

that occur at the time of part assembly are dependent variations. They depend upon the

dimensional and geometric variations of the individual parts that determine how the

assembly fits together.

Figure 2.9 Equivalent elements representing independent linear and angular variation. [modified from Faerber 1999]

2 ± d2 d2dt

Equivalent elementEquivalent elementAngular dimension

d2dt

2

Pin Joint

dl

Equivalent elementEquivalent elementLength dimension

l ± dl

dldt

Slider Joint

Page 52: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

35

2.3.1.3 Equivalent Variational Joints

In addition to the variation sources, the EVM must include equivalent joints to

properly model the geometry and constraints of the assembly. The equivalent joints

developed by Faerber can be seen in Figure 2.10. Each joint simulates a type of contact in

a 2D mechanical assembly by replicating its degrees of freedom with an equivalent skele-

ton model joint. The skeleton model permits inclusion of varying length and angular

dimensions in the joints. Similar to this collection of 2D equivalent joints, a library of 3D

equivalent joints has been developed for this thesis that allow the variation and degrees of

freedom of a mechanical assembly to be properly modeled in a skeleton model described

by vector equations. These equivalent joints are demonstrated in Chapter 4. An addi-

Figure 2.10 Equivalent variational joints for use in EVM vector models [modified from Faerber 1999]

PlanarJoint

Joint SkeletonModel

EquivalentJoint

CylindricalSlider Joint

Edge SliderJoint

ParallelCylinders

Jointcenter of curvature

Page 53: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

36

tional library that allows for inclusion of geometric variation in the model is included in

Chapter 5.

When the vector loop has been incorporated with the equivalent variational ele-

ments and joints, a complete EVM can be constructed. Figure 2.11 displays the Equiva-

lent Variational Mechanism for the one-way clutch, with the vector loop and all equivalent

variational elements and joints, overlaid on the clutch geometry. Note that the indepen-

dent dimensional variation vectors a, c1, c2, and f become links in the equivalent mecha-

nism, containing translational joints with prescribed input velocities added to

appropriately model the dimensional variation. The dependent assembly variation vector b

has no specified velocity applied, as discussed in Section 2.3.1.2. Also note that since

Faerber’s work did not include geometric variation, the model does not include cylindric-

ity or circularity variation. Therefore, the radius of this cylinder must be considered uni-

form, and c1 = c2. In addition, the variation of each radius vector must be identical, thus

, for which will be substituted.

Figure 2.11 Equivalent Variational Mechanism for one-way clutch. [modified from Faerber 1999]

a

b

c2

f

Rigid JointRevolute Joint

Prismatic Joint

Slider Jointc1

..

.

.

c·1 c2·= c·

Page 54: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

37

2.3.2 Example EVM Solution - One-Way Clutch

Faerber included in his thesis the analysis of a one-way clutch, with the full classi-

cal tolerance solution in addition to the EVM solution for comparison. The EVM solution

is included here for demonstration. Figure 2.7 shows the one-way clutch assembly. The

only position of interest in this clutch is the engaged position, and thus can be modeled as

a static assembly. The proper vector loop for this analysis is shown in Figure 2.8, with the

pressure angle, Φ, as the critical assembly feature. The dimensions and tolerances for this

assembly are found in Table 2.7.

A few points must be clarified about the EVM in Figure 2.11 before the analysis is

presented. Since form variation is neglected in this model, it must be assumed that c2 and

f are always colinear. To enforce this in the model, rigid joints have been placed between

the c2 and f links, allowing no relative motion between the two. We can then form the fol-

lowing equation in terms of absolute angles for the vector loop demonstrated in Figure

2.8.

(2.33)

TABLE 2.7 Nominal dimensions and tolerances for the clutch model (modified from Faerber 1999)

Dimension Nominal SizeInitial

Tolerance (+/-)

1/2 hub radius, a 27.645 mm .050 mm

roller radius, c 11.430 mm .010 mm

1/2 ring radius, f 50.800 mm .0125 mm

roller contact, b 4.8105 mm unknown

pressure angle, φ 7.0184 unknown

aeiθ1 beiθ1 c1eiθc1 c2eiθc2 feiθf+ + + + 0=

Page 55: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

38

Equation (2.33) has been shown in absolute angles, which is the traditional form

for kinematic equations. However, tolerances are relative variations. A dimensional or

form variation in a part is relative to the datum surfaces used in producing the part. Small

changes in part length or form due to manufacturing variations propagate throughout an

assembly. With this characteristic of manufacturing variation, it is advantageous to con-

duct analyses in relative angles to avoid the necessity of conversions later on. Noting the

following relationships between absolute angles θi and relative angles αi in the one-way

clutch,

(2.34)

Equation (2.33) is converted to relative angles in Equation (2.35), with the additional sub-

stitution of , as the assembly constraint is on φ, and not αc2. The remainder of

the analysis will be conducted in relative terms.

(2.35)

The first step in the analysis is now to differentiate this position equation with respect to

time, noting that θ1, αb, αc1, and αf are constant terms. This yields the velocity equation:

(2.36)

Equation (2.36) is partitioned into real and imaginary components as:

θb θ1 αb+= θc2 θ1 αb αc1 αc2+ + +=

θc1 θ1 αb αc1+ += θf θ1 αb αc1 αc2 αf+ + + +=

φ αc2–=( )

aeiθ1 bei θ1 αb+( ) c1ei θ1 αb αc1+ +( ) c2ei θ1 αb αc1 φ–+ +( )+ + + +

fei θ1 αb αc1 φ– αf+ + +( ) 0=

a· eiθ1 b·ei θ1 αb+( ) c· ei θ1 αb αc1+ +( ) ei θ1 αb αc1 φ–+ +( )+( )+ + +

f·ei θ1 αb αc1 φ– αf+ + +( ) φ·– ciei θ1 αb αc1+ +( ) fiei θ1 αb αc1 φ– αf+ + +( )+( ) 0=

Page 56: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

39

(2.37)

Equation (2.37) is then displayed in matrix format,

(2.38)

where [A] and [B] are defined as follows:

(2.39)

(2.40)

a· θ1cos b· θ1 αb+( )cos c· θ1 αb αc1+ +( )cos θ1 αb αc1 φ–+ +( )cos+( )+ + +

φ· c θ1 αb αc1 φ–+ +( )sin f θ1 αb αc1 φ– αf+ + +( )sin+( ) +

f· θ1 αb αc1 φ– αf+ + +( )cos 0=

a· θ1sin b· θ1 αb+( )sin c· θ1 αb αc1+ +( )sin θ1 αb αc1 φ–+ +( )sin+( )+ + +

φ· c– θ1 αb αc1 φ–+ +( )cos f– θ1 αb αc1 φ– αf+ + +( )cos( ) +

f· θ1 αb αc1 φ– αf+ + +( )sin 0=

A[ ]a·

B[ ]b·

φ·

+ 0=

A[ ]θ1( )cos θ1 αb αc1+ +( )cos θ1 αb αc1 φ–+ +( )cos+[ ] θ1 … αf+ +( )cos

θ1( )sin θ1 αb αc1+ +( )sin θ1 αb αc1 φ–+ +( )sin+[ ] θ1 … αf+ +( )sin=

B[ ]θ1 αb+( )cos c θ1 αb αc1 φ–+ +( )sin f θ1 αb αc1 φ– αf+ + +( )sin+[ ]

θ1 αb+( )sin c– θ1 αb αc1 φ–+ +( )cos f– θ1 αb αc1 φ– αf+ + +( )cos[ ]=

Page 57: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

40

When Equation (2.38) is solved for the dependent variables and , Equation (2.41)

results.

(2.41)

Using the nominal dimensions as in Table 2.7:

(2.42)

The [-B-1A] matrix is a Jacobian matrix which contains the kinematic sensitivities for the

one-way clutch. They express the dependent velocities, and , in terms of the indepen-

dent velocities, , and . As the kinematic equations for the EVM were carried out in

terms of relative equations, these kinematic sensitivities are exactly equal to the tolerance

sensitivities for the variations on the clutch. These sensitivities can then be used in a root-

sum-squares expression or in a worst-case model, to analyze the tolerances of the clutch

[Faerber 1999].

2.4 Conclusion

The Direct Linearized Method provides a solid background for performing a lin-

earized vector loop tolerance analysis of assemblies. Using additional techniques with the

DLM, geometric variation can be included in vector models. Applying the analogy

between kinematic velocity and variation, Faerber developed techniques for using 2D

b· φ·

φ·

B 1–– A[ ]a·

=

α· c2 8.122– 16.3068– 8.184

0.2078– 0.414– 0.2063

=

b· φ·

a· c· f·

Page 58: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

41

kinematics of mechanisms to perform 2D tolerance analysis of assemblies. These analysis

methods and modeling techniques provide a fundamental background to the research pre-

sented in this thesis.

Page 59: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

42

Page 60: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

43

CHAPTER 3 3D KINEMATICS BACKGROUND

An important objective of this research is to show that classical 3D kinematic anal-

ysis methods can be used to obtain tolerance sensitivities. The Derivative Operator Matrix

method (DOM) in [Sandor and Erdman 1984] is a well-established analytical 3D kine-

matic method which has been implemented in commercial software. This chapter presents

two methods for sensitivity extraction, the kinematics-based DOM, and a tolerance-based

method called the Global Coordinate Method (GCM) [Gao, Chase and Magleby 1998a],

and compares them using a 3D kinematic example.

The DOM uses homogeneous transformation matrices and derivative operator

matrices to arrive at closed-form sensitivities. The GCM similarly arrives at closed-form

sensitivities, but does so with vector loop equations instead of matrix loop equations. The

results of the two methods for arriving at sensitivities are presented and compared in this

chapter.

Page 61: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

44

3.1 3D Kinematics

[Sandor and Erdman 1984] demonstrate a method for performing kinematic analy-

sis in 3D that lends itself to automation by computer. The method uses Derivative Opera-

tor Matrices that reduce the work in evaluating derivatives to a simple matrix

multiplication.

3.1.1 Coordinate System Transformations

The DOM method uses 4x4 homogeneous transformation matrices to traverse the

vector loop of the kinematic model. It is necessary to establish a local coordinate system

for each link in the vector loop. Therefore, the transformation matrices locate and orient

the local coordinate system for each link relative to the previous link. The basic transfor-

Page 62: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

45

mation matrices used are the same as in the DLM, and are reprinted from Equation (2.1) as

Equation (3.1), below:

(3.1)

These basic transformation matrices can be concatenated together to form matri-

ces for several different possible transformations, such as those in the following equations.

Equations (3.2) through (3.5) are four of the seven elementary transformation cases

Rx

1 0 0 00 φxcos φxsin– 0

0 φxsin φxcos 0

0 0 0 1

= T

1 0 0 Tx

0 1 0 Ty

0 0 1 Tz

0 0 0 1

=

Ry

φycos 0 φysin 0

0 1 0 0φysin– 0 φycos 0

0 0 0 1

=

Rz

φzcos φzsin– 0 0

φzsin φzcos 0 0

0 0 1 00 0 0 1

=

Page 63: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

46

explained on page 587 of [Sandor and Erdman 1984], where x, y, z are the translation vari-

ables, and θx, θy, and θz are the rotation variables about the X, Y, and Z axes, respectively.

Type 1: Translation, with rotation about x-axis (3.2)

Type 2: Translation, with rotation about y-axis (3.3)

Type 3: Translation, with rotation about z-axis (3.4)

Type 4: Translation only (3.5)

As in the 3D DLM, the DOM method uses a type of matrix loop equation. In the

DOM, the matrix loop is described by a sequence of general transformation matrices, [Lij],

necessary to locate and orient the local coordinate system of each link relative to the next.

(Note that Sandor uses [Sij] in his notation, but this was changed to avoid later confusion

with the derivative matrix [S].) The [Lij] general coordinate transformation is a concatena-

tion of all elementary transformation matrices [Tij] required to define the coordinate sys-

tem j relative to the coordinate system i. Such a loop equation, for a closed-loop system

Tij1[ ]

1 0 0 x0 θxcos θxsin– y

0 θxsin θxcos z

0 0 0 1

=

Tij2[ ]

θycos 0 θysin x

0 1 0 yθysin– 0 θycos z

0 0 0 1

=

Tij3[ ]

θzcos θzsin– 0 x

θzsin θzcos 0 y

0 0 1 z0 0 0 1

=

Tij4[ ]

1 0 0 x0 1 0 y0 0 1 z0 0 0 1

=

Page 64: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

47

with n local coordinate systems, would appear as in Equation (3.6), where [Ln0] represents

the transformation from the nth coordinate system to coordinate system 0, and [L00] repre-

sents the entire loop starting at system 0 and ending again at system 0 [Sandor and Erdman

1984].

(3.6)

3.1.2 Elementary Derivative Operator Matrices, Qlm

To simplify the evaluation of derivatives, Sandor and Erdman express the evalua-

tion of a partial derivative as a product of matrices. To accomplish this, the partial deriva-

tive of a general elementary matrix [Lij] is defined as:

(3.7)

where qm is the variable quantity with respect to which the partial derivative is being

taken. [Qlm] is a derivative operator matrix associated with the matrix [Lij]. There is a

distinct elementary derivative operator matrix [Qlm] for each type of elementary transfor-

mation matrix in equations (3.2) through (3.5). The subscript l on the [Qlm] matrix indi-

cates which type of elementary transformation matrix it is associated with, while the m

subscript indicates which variable the partial derivative is taken with respect to. The deri-

vation of these matrices is shown in APPENDIX A.

L00[ ] L01L12L23…L n 1–( )nLn0 I[ ]= =

∂ Lij qm( )[ ]

∂qm-------------------------- Lij qm( )[ ] Qlm[ ]=

Page 65: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

48

3.1.3 Loop Derivative Operator Matrices, Dm

Once the elementary derivative operator matrices for each of the elementary matri-

ces have been defined, the derivative of the entire loop equation can be evaluated. To

facilitate this, another type of derivative operator matrix, [Dm], will be designated. From

[Sandor and Erdman 1984], the derivative of the general loop closure equation can be

shown:

(3.8)

The derivation of Equation (3.8) is shown in APPENDIX B, where [Dm] is defined as the

derivative operator matrix of the loop equation relative to the mth variable in the loop, as

shown in Equation (3.9). The derivation of the [Dm] matrices is shown in APPENDIX C.

(3.9)

The matrices and techniques developed in the previous sections and appendices

can be used in the analysis of a mechanism, as is shown in the next section.

3.1.4 Kinematic Position Analysis

Using the methods defined in the previous sections, [Sandor and Erdman 1984]

outlined a method for performing a kinematic position analysis of a mechanism.

Referring to the loop-closure equation in Equation (3.6), note that [L00] only pro-

duces a closed-loop equation, and thus equals the identity matrix [I] when all dependent

variables are set to the correct values. This characteristic can be used to solve for

∂ L00[ ]

∂qm---------------- Dm[ ] L00[ ]=

Dm[ ] L01L12…L k 1–( )k( ) Qim[ ] L01L12…L k 1–( )k( ) 1–=

qD{ }

Page 66: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

49

the dependent variables. Rewriting Equation (3.6) in terms of its independent and

dependent variables gives:

(3.10)

Using a non-linear solution method, Equation (3.10) can be solved for its roots,

giving the dependent variable values. A Newton-Raphson solution is shown below.

Using a small initial estimate of dependent variables , Equation (3.10) can be solved

to obtain a correction value used to iterate until an appropriate solution is found.

Going through a Newton-Raphson procedure, [Sandor and Erdman 1984] shows that

Equation (3.10) can be linearized to obtain:

(3.11)

where m is the total number of all independent and dependent variables. The procedure is

continued to show how scalar equations can be pulled out of this 4x4 matrix equation.

The derivative operator matrices beginning at Equation (C.5) have, for the mth variable,

the general form:

(3.12)

qI{ }

L00 qD qI,( )[ ] I[ ]– 0=

q̂D{ }

∆qD{ }

Di[ ] ∆qi{ }

i 1=

m

∑ L001– I–[ ]=

Dm[ ]

0 D12mD13m

D14m

D21m0 D23m

D24m

D31mD32m

0 D34m

0 0 0 0

=

Page 67: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

50

Not all of these elements are needed. Only six elements are needed to form the

independent scalar equations, D13, D21, D32, D14, D24, and D34. Only certain elements

are needed from the right side of Equation (3.11) as well, which is shown below:

(3.13)

From Equation (3.13), only the E11, E13, E14, E21, E22, E24, E32, E33, and E34 terms are

used in the formation of the scalar equations. Note that when the correct values are input

for the dependent variables in the system, Equation (3.13) will be largely zero, or close to

it. These scalar equations can be written as:

(3.14)

[Sandor and Erdman 1984] shows how Equation (3.14) can be partitioned and sim-

plified. Where r is the number of dependent variables, [SD] is the top-left section of

L001– I–[ ]

E111– E12 E13 E14

E21 E221– E23 E24

E31 E32 E331– E34

0 0 0 0

=

D131D132

… D13m

D211D212

… D21m

D321D322

… D32m

D141D142

… D14m

D241D242

… D24m

D341D342

… D34m

∆q1

………

∆qm

E13 E11 E33 2–+ +

E21 E11 E22 2–+ +

E32 E22 E33 2–+ +

E14

E24

E34

=

or S[ ] ∆q{ } R{ }=

r r×

Page 68: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

51

[S], and {R1}is the top r section of {R}. Then a simplified partitioning of Equation (3.14)

can be represented as:

(3.15)

To solve for {∆qD}, its equation is first written out:

(3.16)

Then, because the independent variables are not changed, {∆qI} is zero, and Equation

(3.16) can be solved for {∆qD}:

(3.17)

Then {∆qD} is added to , which results in a new estimate . Iteration is contin-

ued, where both [L00] and are updated until the correction values are small and [L00]

approaches the identity matrix [Sandor and Erdman 1984]. The final values of are

the nominal values necessary to close the loop in response to inputs . This is a draw-

back to this method, as it is computationally intensive to recalculate the entire matrix con-

catenation equation [L00] in every iteration.

3.1.5 Kinematic Velocity Analysis

Once the position analysis is complete, the velocity analysis may begin, which

involves finding the dependent velocity variables, , given the independent velocity

SD SI

A B

∆ qD

∆ qI R1

R2

=

SD[ ] ∆ qD{ } SI[ ] ∆ qI{ }+ R1{ }=

∆qD{ } SD[ ] 1– R1{ }=

q̂D{ } q̂D{ }

q̂D{ }

qD{ }

qI{ }

q· D{ }

Page 69: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

52

variables . Taking the derivative of the loop equation (3.6) with respect to time

yields:

(3.18)

Recognizing that [L00]=[I] once the dependent variables of the position analysis

have been determined, the partial derivative in Equation (3.18) can be replaced with a

derivative operator from Equation (3.7) to form:

(3.19)

The scalar equations resulting from this matrix equation are:

(3.20)

where [S] is the same matrix as in Equation (3.14). Again, [Sandor and Erdman 1984]

shows that this can be partitioned to solve for the dependent variables . Where r

again is the number of dependent variables, and s is the number of independent variables,

[SI] is the top-right portion of the [S] matrix. The solution for the dependent vari-

ables can then be expressed as:

(3.21)

q· I{ }

d L00[ ]

dt----------------

∂ L00[ ]

∂ qi{ }----------------

d qi{ }

dt--------------

i 1=

m

∑ 0= =

Di[ ] L00[ ] q· i{ }

i 1=

m

∑ Di[ ] q· i{ }

i 1=

m

∑ 0= =

S[ ] q·{ } 0=

q· D{ }

r s×

q· D{ } SD[ ] 1– SI[ ] q· I{ }–=

Page 70: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

53

Notice the correlation between Equation (3.21) and Equation (2.6) from the DLM

(reprinted in Equation (3.22)):

(3.22)

Remember that {δU} is the vector of dependent variables, and {δX} is the vector of inde-

pendent variables, for small changes from the nominal. [A] and [B] are the matrices of the

partial derivatives of the closed loop assembly equations with respect to the independent

and dependent variables, respectively, and are equal to the tolerance sensitivities when

combined as -[B]-1[A]. These matrices correlate to what is shown in Equation (3.21), if

relative angles are used in the kinematic model.

It can thus be seen that the DOM method results in kinematic sensitivities of a

form very similar to what was shown with the DLM, but with a considerably different path

taken to arrive at that point.

3.2 Global Coordinate Method

Another method for calculating sensitivities is presented here, to be contrasted

with the DOM shown previously. The Global Coordinate Method (GCM) was presented

by [Gao 1993] as a simplified way of evaluating derivatives and extracting sensitivities

from tolerance models. It derives closed-form sensitivities by approximating the effect of

small perturbations on the loop closure equation. It is used together with the DLM to ana-

lyze the tolerances of an assembly using vector loops instead of transformation matrices.

δU{ } B[ ] 1– A[ ] δX{ }–=

Page 71: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

54

The Global Coordinate Method in 3D represents assemblies by vector loops and

relative rotations between vectors, and can be derived starting from the differentiation of

the 3D vector expression.

(3.23)

Let X, Y, Z and {i}, {j}, {k} be functions of the variable u. Then, differentiating

results in [Chisholm 1978]:

(3.24)

where:

(3.25)

and {ω}={ωx, ωy, ωz}, which are the direction cosine angles of the local axis of rotation to

the origin. The first three terms of Equation (3.25) are due to change in length of {V},

while the cross product in the last term is from rotation of {V} about its tail.

To evaluate derivatives with respect to a translational variable, the substitution

u=Li is made in Equation (3.24). When the equation is evaluated for a translational deriv-

ative, the non-translational components drop out, such as the cross-product term. Addi-

tionally, to evaluate the derivatives with respect to a rotational variable, the substitution

u=φi is made in Equation (3.24). When the rotational derivatives are evaluated, similarly,

the non-rotational components drop out, meaning the first three terms of the equation dis-

appear. Equation (3.25) gives the derivatives of the assembly functions with respect to the

angular variable. In Equation (3.24), the rotation is applied at the tail of vector {V}, and

V{ } X i{ } Y j{ } Z k{ }+ +=

d V{ }du

-------------- dXdu------- i{ } dY

du------ j{ } dZ

du------ k{ } ω V×{ }+ + +=

ω V×{ } ωyZ ωzY–( ) i{ } ωzX ωxZ–( ) j{ } ωxY ωyX–( ) k{ }+ +=

Page 72: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

55

the variation is similarly measured at the joint instead of at the origin of the global coordi-

nate system, as shown in Figure 3.1. If the rotation is about the tip of {V} and the varia-

tions are referenced from the global coordinate system, as shown in Figure 3.2, the signs

of the first three angular variations are reversed, as shown below:

Y

X

∆ y ∆ x

θ R

ω

(x,y,z)

V δβ

V δβ θ V

∆X V– δβ θV( )sin Y– δβ= =

∂X∂β------ Y–=

……………∆Y Vδβ θV( )cos Xδβ= =

∂Y∂β------ X=

Y

X ∆ y

∆ x

θ V

θ V

ω

(x,y,z) V

δβ

∆X Vδβ θV( )sin Yδβ= =

∂X∂β------ Y=

……………∆Y V– δβ θV( )cos X– δβ= =

∂Y∂β------ X–=

Figure 3.1 Variation measured at the local joint Figure 3.2 Variation measured at global origin

Page 73: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

56

(3.26)

where cosα, cosβ, and cosγ are the direction cosines of the vector Li to the global origin;

ωx, ωy and ωz are the direction cosines of the axis of the rotation φi; X, Y and Z are the glo-

bal coordinates of the joints; Hx, Hy and Hz are the sum of vectors in the global X, Y and Z

directions; and Hθx, Hθy and Hθz are the sum of rotations about the X, Y and Z axes,

respectively. A more detailed derivation is shown in APPENDIX D [Gao, Chase and

Magleby 1998a].

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 transla-

tional and rotational variables can be obtained very easily. These derivatives could then

be inserted into [A] and [B] used in the DLM to arrive at sensitivities, as described below.

Length Variation

∂Hx∂Li---------- αcos=

∂Hy∂Li---------- βcos=

∂Hz∂Li--------- γcos=

∂Hθx∂Li

------------- 0=

∂Hθy∂Li

------------- 0=

∂Hθz∂Li

------------ 0=

Angular Variation

∂Hx∂φi---------- ωzY ωyZ–=

∂Hy∂φi---------- ωxZ ωzX–=

∂Hz∂φi--------- ωyX ωxY–=

∂Hθx∂φi

------------- ωx=

∂Hθy∂φi

------------- ωy=

∂Hθz∂φi

------------ ωz=

Page 74: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

57

For a specific assembly, the derivatives from Equation (3.26) that reference the

independent variables are organized in [A], as described in Section 2.1 and Equation (2.5)

of Chapter 2. The derivatives that reference the dependent variables are organized to form

[B]. Then, the sensitivities can be calculated, and the unknown (dependent) variables can

be solved for as shown in Equation (2.6), reprinted below:

(3.27)

Thus, the Global Coordinate Method enables the sensitivities to be obtained using

Equation (3.26) in a closed-form manner. This simplifies the analysis and amount of nec-

essary calculations by eliminating the concatenation of transformation matrices.

3.3 3D Example: Crank Slider Assembly

This section will demonstrate both the Derivative Operator Matrix and Global

Coordinate methods in deriving the sensitivities for the 3D Crank Slider example. The

ease of use, efficiency, and accuracy of both methods will be evaluated and compared.

The crank slider is shown in Figure 3.3, along with its vector loop. In this figure,

the independent and dependent variables are also illustrated. Table 3.1 further describes

the independent variables, and Table 3.2 describes the dependent variables for the loop.

Note that the rotational dependent variables in Table 3.2 represent nominally zero-degree

rotations about the final joint coordinate system. There are intermediate non-zero rota-

tions required to arrive at these final joint coordinate systems, and these angles are

described in APPENDIX E, along with all other information necessary to model the crank

δU{ } B[ ] 1– A[ ] δX{ }–=

Page 75: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

58

X ZY

a

b

c

d

eu

φ1 φ2

Crank

Base

Link

Slider

2

1

3

4

5

6

φ3 φ4 φ5

Figure 3.3 3D crank slider and its vector loop

TABLE 3.1 Manufactured dimensions for crank slider problem

Variable Description Nominal Dim.

a Height to cylinder 20 cm

b Length of cylinder 12 cm

c Length of crank 15 cm

d Length of link 43 cm

e Height of slider 5 cm

TABLE 3.2 Kinematic assembly variables for crank slider problem

Variable Description

φl Rotation about local Y axis of Joint 4

φ2 Rotation about local Z axis of Joint 4

φ3 Rotation about local Y axis of Joint 5

φ4 Rotation about local Z axis of Joint 5

φ5 Rotation about local X axis of Joint 5

u Length of gap from Joint 6 to origin

Page 76: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

59

slider assembly. However, once the final joint coordinate system is arrived at, the depen-

dent variables used to describe these final rotation axes have nominal angles of zero, so as

not to change the final joint coordinate system in its nominal position.

3.3.1 Crank slider using Derivative Operator Matrix method

The first step in using Sandor’s Derivative Operator Matrix method is to form the

general transformation matrices that describe the matrix loop for the model. Although a

transformation matrix can be made to include both a translation and a rotation variable in

one matrix, it is best to create a separate transformation matrix for each translation and

each rotation in the loop. This facilitates the creation of derivative operator matrices later.

This requires that there be more than one matrix for a transformation between joints, so an

extra subscript is added to distinguish between the different transformation matrices.

The loop starts from the global origin (Node 1), and proceeds first to Node 2, as

indicated on Figure 3.3. Therefore, the first transformation is a -90° rotation about the

global Y axis, as shown in Equation (3.28), which was calculated from Equation (3.3).

(3.28)L12RY[ ] T12

2[ ]

0 0 1– 00 1 0 01 0 0 00 0 0 1

= =

Page 77: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

60

The next transformation in the loop needs to translate up the newly transformed X

axis, along the length of the a vector, which is accomplished in Equation (3.29). This was

calculated from Equation (3.5).

(3.29)

Another rotation about the Y axis occurs at Joint 2 and is shown below:

(3.30)

The remaining transformation matrices are formed in a similar manner to com-

pletely traverse the vector loop shown in Figure 3.3. Table E.1 in APPENDIX E contains

the information necessary to form all twenty-one transformation matrices. These transfor-

mation matrices are concatenated together to form the loop matrix equation [L00]=[I], as

was shown in Equation (3.6).

The next step in the DOM method is to form the loop derivative operator matrices,

as shown in APPENDIX C. The concatenations for each variable in the matrix must be

formed so that the loop DOMs can be formed as shown below:

(3.31)

After the concatenation is formed up until the variable of interest (k), the inverse of

the concatenation is formed as described in APPENDIX C. Then, it is a simple matter to

L12TX[ ] T12

4[ ]

1 0 0 200 1 0 00 0 1 00 0 0 1

= =

L12RY[ ] T12

2[ ]

0 0 1– 00 1 0 01 0 0 00 0 0 1

= =

Dm[ ] L01L12…L k 1–( )k[ ] Qim[ ] L01L12…L k 1–( )k[ ] 1–=

Page 78: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

61

apply the proper [Qim] matrix from APPENDIX A as shown in Equation (3.31). How-

ever, this is not necessary, as APPENDIX C shows the loop DOM equations in closed

form, such that once the concatenation for the kth variable is calculated, specific terms

from that concatenation are inserted into the closed form equations to produce the loop

DOM.

For example, the first operation in the loop is the Ry in the [L12ry] matrix. As this

is the first matrix, the concatenation to this point is simply itself:

(3.32)

such that the loop derivative operator matrix for this Type 2 rotation (about the Y axis) is

taken from the closed-form Equation (C.5) to create:

(3.33)

L12[ ]

0 0 1– 00 1 0 01 0 0 00 0 0 1

=

D12[ ]

0 0 1 00 0 0 01 0 0 00 0 0 0

=

Page 79: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

62

For a variable further down the loop, such as the φ4 rotation (the 12th variable in

the loop), the same procedure is followed. The concatenation is calculated to that point, as

shown below:

(3.34)

Then, as this variable is a rotation about the Z axis, the Type 3 transformation

matrix (i = 3) form of Equation (C.5) is used to produce:

(3.35)

The remaining [Dm] matrices are formed similarly. As the loop derivative opera-

tor matrices are individually formed, specific elements from each matrix are extracted to

assemble the [S] matrix, as shown in Equation (3.14).

At this point, this example departs somewhat from the standard DOM, as the point

of this example is to simply extract the kinematic sensitivities as shown in Equation

(3.21). Thus, instead of solving for the values of the {∆q} vector in Equation (3.14), this

example will simply partition the [S] matrix to obtain the tolerance sensitivities by matrix

L12RYL12TX

…L45RZ[ ]

0 0.3452– 0.9385 53.439–0 0.9385 0.3452 01– 0 0 5

0 0 0 1

=

D123[ ]

0 0 0.3452 1.7260–0 0 0.9385– 4.6925

0.3452– 0.9385 0 18.4471–0 0 0 0

=

Page 80: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

63

operations. From the comparison between Equation (3.21) and Equation (3.22), it is

shown that:

(3.36)

or, in the case of the crank slider, where [SD] is not square:

(3.37)

Where r is the number of independent variables, and s is the number of dependent

variables, the top left portion of [S] is named [SD]; and the top right portion

of [S] is named [SI].

These partitioned matrices are then manipulated as shown in Equation (3.36) to

obtain the sensitivities as shown:

(3.38)

3.3.2 Crank slider using Global Coordinate method

The first step in using the global coordinate method for analyzing an assembly is to

create a vector loop that characterizes the assembly and describes the unknown kinematic

variables, such as the loop in Figure 3.3. Once this is obtained, the next step is to obtain

the coordinates of each node in the loop, referenced to the global origin. In addition, the

STol SD[ ] 1– SI[ ]–=

STol SD[ ]t SD[ ]( )1–

SD[ ]t SI[ ]–=

r r×( ) r s×( )

a b c d e

STOL

φ1φ2φ3φ4φ5u

0.0161– 0 0.0234 0.0025– 0.01610.0170– 0 0 0.0059 0.0170

0.0233 0 0.0166– 0.0023– 0.0233–0.0024 0 0 0.0009– 0.0024–0.0006 0 0.0165 0.0060– 0.0006–0.1060– 1 0.1060– 1.038 0.1060

=

Page 81: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

64

direction cosines of each vector and for the axis of each rotational variable must be found,

referenced to the global origin. This information can easily be obtained from a CAD sys-

tem if the assembly has been modeled in such software. The coordinates and orientations

for the crank slider model are presented in Table 3.3. Note that the sensitivities that we

take for rotations should be about the final joint coordinates. In the Global Coordinate

Method, any chosen axis can easily be used, as only the direction cosines of that axis must

be know before it can be used. However, in the DOM method, normally, sensitivities are

only taken about the intermediate rotations. Therefore, a few changes were made to the

matrices when the crank slider was evaluated with the DOM, as shown in APPENDIX E.

TABLE 3.3 Global coordinates and orientations for crank slider vector loop joints

Part-Node Name Orientations (ωx,ωy,ωz)

Global Joint Coordinates (X,Y,Z)

a node 1 (0, 0, 1) (0, 0, 0)

b node 2 (-1, 0, 0) (0, 0, 20)

c node 3 (0, 0.7071, -0.7071) (-12, 0, 20)

d node 4 (-0.9637, -0.2467, -0.1022) (-12, 10.6066, 9.3934)

φl node 4 (y) (-0.2453, 0.6669, 0.7036) (-12, 10.6066, 9.3934)

φ2 node 4 (z) (-0.1054, 0.7032, -0.7032) (-12, 10.6066, 9.3934)

e node 5 (0, 0, -1) (-53.439, 0, 5)

φ3 node 5 (y) (-0.3452, 0.9385, 0) (-53.439, 0, 5)

φ4 node 5 (z) (0.9385, 0.3452, 0) (-53.439, 0, 5)

φ5 node 5 (x) (0, 0, -1) (-53.439, 0, 5)

u node 6 (1, 0, 0) (-53.439, 0, 0)

Page 82: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

65

Using the data gathered in Table 3.3, the closed-form derivatives from Equation

(3.26) for both the independent and dependent variables can be evaluated, as shown in

Equations (3.39) and (3.40):

(3.39)A[ ]

∂Hx∂A

----------∂Hx∂B

----------∂Hx∂C----------

∂Hx∂D----------

∂Hx∂E

----------

∂Hy∂A

----------∂Hy∂B

----------∂Hy∂C----------

∂Hy∂D----------

∂Hy∂E

----------

∂Hz∂A---------

∂Hz∂B---------

∂Hz∂C---------

∂Hz∂D---------

∂Hz∂E---------

∂Hθx∂A

-------------∂Hθx∂B

-------------∂Hθx∂C

-------------∂Hθx∂D

-------------∂Hθx∂D

-------------

∂Hθy∂A

-------------∂Hθy∂B

-------------∂Hθy∂C

-------------∂Hθy∂D

-------------∂Hθy∂D

-------------

∂Hθz∂A

------------∂Hθz∂B

------------∂Hθz∂C

------------∂Hθz∂D

------------∂Hθz∂E

------------

0 1– 0 0.9637– 00 0 0.7071 0.2467– 01 0 0.7071– 0.1022– 1–0 0 0 0 00 0 0 0 00 0 0 0 0

= =

Page 83: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

66

(3.40)

The next step is to use the DLM equations to calculate the assembly sensitivity

matrix. As [B] is a square matrix, the DLM Equation (2.6) will be used, as represented

below:

(3.41)

B[ ]

∂Hx∂φ1----------

∂Hx∂φ2----------

∂Hx∂φ3----------

∂Hx∂φ4----------

∂Hx∂φ5----------

∂Hx∂U----------

∂Hy∂φ1----------

∂Hy∂φ2----------

∂Hy∂φ3----------

∂Hy∂φ4----------

∂Hy∂φ5----------

∂Hy∂U----------

∂Hz∂φ1---------

∂Hz∂φ2---------

∂Hz∂φ3---------

∂Hz∂φ4---------

∂Hz∂φ5---------

∂Hz∂U---------

∂Hθx∂φ1

-------------∂Hθx∂φ2

-------------∂Hθx∂φ3

-------------∂Hθx∂φ4

-------------∂Hθx∂φ5

-------------∂Hθx∂U

-------------

∂Hθy∂φ1

-------------∂Hθy∂φ2

-------------∂Hθy∂φ3

-------------∂Hθy∂φ4

-------------∂Hθy∂φ5

-------------∂Hθy∂U

-------------

∂Hθz∂φ1

------------∂Hθz∂φ2

------------∂Hθz∂φ3

------------∂Hθz∂φ4

------------∂Hθz∂φ5

------------∂Hθz∂U

------------

= =

1.1983 14.0640– 4.6925– 1.7260– 0 16.1390 9.4285– 1.7260– 4.6925 53.4390– 05.4010– 7.3205– 50.1525– 18.4471– 0 00.2453– 0.1054– 0.3452– 0.9385 0 0

0.6669 0.7032 0.9385 0.3452 0 00.7036 0.7032– 0 0 1– 0

S[ ] B[ ] 1– A[ ]–=

Page 84: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

67

where [S] is the sensitivity matrix for any assembly with a square [B]. Thus, the sensitivi-

ties for the crank slider assembly can readily be calculated:

(3.42)

Comparing these results with those shown in Equation (3.38), it is clear that the

results from the DOM and GCM are identical.

3.4 Conclusion

The DOM method is a standard method of kinematic analysis. It uses a perturba-

tion method for arriving at sensitivities from closed-form derivatives using homogeneous

transformation matrices. The GCM for determining sensitivities also uses closed-form

derivatives and sensitivities. Both methods assume small variations about the nominal

values, and that sensitivities remain constant for any one position of a mechanism.

In the preceeding example, both methods were compared computationally to more

objectively determine which method requires more effort to calculate sensitivities. In

terms of similarities, it should again be noted that both methods eliminate the need to

numerically solve for derivatives, as closed-form derivative equations are supplied in

APPENDICES A and C for the DOM method, and in Equation (3.26) for the GCM.

a b c d e

S[ ]

φ1φ2φ3φ4φ5u

0.0161– 0 0.0234 0.0025– 0.01610.0170– 0 0 0.0059 0.0170

0.0233 0 0.0166– 0.0023– 0.0233–0.0024 0 0 0.0009– 0.0024–0.0006 0 0.0165 0.0060– 0.0006–0.1060– 1 0.1060– 1.038 0.1060

=

Page 85: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

68

However, referencing the amount of matrix operations necessary, there is a large

difference between the two methods. Using the number of matrix multiplications required

just for the Crank Slider model, the two methods can be compared. To form the loop

derivative operator matrices ([Dm]), it is required to complete 47 matrix concatenations.

That is, according to Equation (3.9), the first loop DOM is formed with two matrix multi-

plications by multiplying the first concatenation (simply the first transformation matrix in

the loop) by [Qim], and then by a closed-form inverse of the concatenation to that point.

The next DOM is formed through three matrix multiplications, multiplying one more

transformation matrix onto the loop concatenation, and then again by [Qim], and then by

the closed-form inverse of the concatenation to that point. The remainder of the 16 trans-

formation matrices are treated the same way, totalling in 47 matrix multiplication opera-

tions.

For the Global Coordinate method, the model is treated as an assembly of vectors.

Once the information about the joint coordinates and direction cosines is gathered for the

model, the sensitivity matrices are assembled according to the closed-form equations in

Equation (3.26). No matrix multiplications are necessary.

The two methods were compared in this chapter using the crank slider example,

showing the Global Coordinate Method to be more efficient and easier to use. Although

both methods were used for verification for all cases presented in this thesis, the results

were identical, thus only the Global Coordinate Method results are shown in Chapter 6,

where the full analysis of each example is presented.

Page 86: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

69

CHAPTER 4 3D EQUIVALENT VARIATIONAL MECHANISMS

A key to the modeling of mechanical assemblies using a kinematic analogy is the

proper use of equivalent variational mechanisms (EVMs) in the kinematic model. Chapter

2 demonstrated the concept of EVMs, which were equivalent mechanisms designed to

allow the modeling of mechanical assemblies that incorporate dimensional variation. In

that chapter, the 2D EVMs developed by [Faerber 1999] were demonstrated, which

allowed dimensional variation to be incorporated into both mechanisms and static assem-

blies. This chapter will present a comprehensive set of 3D EVMs and detail the necessary

techniques for incorporating them into kinematic models. The objective of these EVMs is

to create a kinematic model which can correctly calculate sensitivities to dimensional vari-

ation using conventional kinematic modeling techniques.

4.1 Vector Loops

The first step to proper modeling of an assembly or mechanism with EVMs is the

development of the vector loop. A few of the basic rules in developing vector loops are

described below, from [Chase 1999]:

Page 87: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

70

• First, the set of loops must pass through every part and joint in the assembly.

• As a vector loop traverses a part, it must enter the part through a joint, and pass through the part’s DRF (see Section 2.3.1.1), and then exit through a joint to the next part.

• Additionally, no single loop may pass through a part or joint more than once; but it may start and end in the same part.

• There must be enough vector loops to solve for all the kinematic vari-ables: one loop for every three variables in a 2D assembly, or for every six variables in a 3D assembly.

• Finally, the paths of a vector loop must follow part dimensions or kine-matic variables.

4.2 Equivalent Variational Sources

A successful EVM includes kinematically equivalent joints that allow the inclu-

sion of variational elements. From Section 2.3.1.2, in the background discussion of

Equivalent Variational Sources, [Faerber 1999] showed that as velocity can be made anal-

ogous to variation, velocity elements should be added to the EVMs to allow variation to be

included.

The elements used in the EVMs to represent dimensional variation are illustrated

in Figure 4.1. All vectors in an EVM in which linear variation could occur are given slider

(prismatic) joints to allow linear variation. Thus, each vector, or link, in the assembly is

modeled with two sublinks joined by a slider joint. Where angular dimensional variation

could occur, a pin joint is inserted. The input velocities shown in Figure 4.1 are applied

only when the corresponding variation source is independent, such as a dimension or

angle created by a production process. When equivalent variational elements are included

in kinematic models, to allow small adjustments due to kinematic (dependent) variation,

Page 88: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

71

no input velocity is applied. Also note, if prismatic or pin joints already exist in the model

in the appropriate places, duplicate joints are not created, as these equivalent variational

sources do not replace existing joints [Faerber 1999]. Figure 4.2 demonstrates these ele-

ments, plus all other elements used in the creation of the EVMs and explains their pur-

pose.

4.3 3D Equivalent Variational Joints

Note that equivalent variational joints (EVJs) are only necessary for those joints

which, if modeled with vectors, would have vectors with dimensioned variables passing

through points of contact between the two parts, such that dimensional variation could be

physically introduced into the assembly through the joint. Therefore, the following joints

2 ± d2d2dt

Equivalent elementAngular dimension

2

dl

Equivalent elementLength dimension

l ± dl

Figure 4.1 Equivalent Variational Sources for incorporating independent variation in kinematic models [modified from Faerber 1999]

Page 89: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

72

do not need EVJs, or in other words, are identical in EVM form: rigid, prismatic, revolute,

cylindrical, spherical, and planar.

Parallel Cylinders Joint: The parallel cylinders joint has only two degrees of

freedom. One degree of rotation where the cylinders are free to rotate about each other,

and the other DOF is the freedom of the cylinders to translate along their cylindrical axes

with respect to each other. This joint does have an EVJ, as dimensional variation can be

introduced into this joint. The parallel cylinders joint and its proposed EVJ are shown in

Figure 4.3. The EVJ represents the translational degree of freedom with a prismatic joint

at the point of contact, which allows translation between the cylinders along the cylindri-

A Prismatic Joint shows a translational kinematic DOF

A hollow Pin Joint shows a variation source for angular dimensional variation

A Planar Joint shows translational kinematic DOFs in two directions, with a rotational DOF

A Spherical Joint shows rotational kinematic DOFs about all 3 axes

A schematic slider joint represents an additional prismatic joint used as an equivalent variation source for linear dimensional variation

A 3D representation of a Pin Joint shows a rotational kinematic DOF

A lock symbol indicates a Rigid Joint, which eliminates any DOFs between two parts.

Figure 4.2 Explanation of elements used in EVMs

Page 90: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

73

cal axes while constraining the cylinders to remain parallel. Then, pin joints are added at

the equivalent centers of the cylinders (separated from the point of contact by R1 and R2,

respectively), which allow rotation only about the cylindrical axes. R1 and R2 include

slider joints, added to represent dimensional variation in the cylinder radii.

Edge Slider: The edge slider joint allows translation along the plane of contact (in

both directions), rotation about the line of contact, and rotation about the axis normal to

the plane of contact. The EVJ is therefore constructed with a planar joint to allow the

translational and the second rotational degree of freedom, with a revolute joint coincident

with the center point of contact to allow rotation about the line of contact. The edge slider

joint and its equivalent are shown in Figure 4.4. Notice that this joint type will allow no

dimensional variation to propagate. An EVJ is thus included only because this joint type

may not be available in some kinematic modelers.

Parallel Cylinders (2) Equivalent Variational Joint

R1

R2 R2

R1

Figure 4.3 3D Parallel Cylinders Joint and its EVJ

Edge Slider (4) Equivalent Variational Joint

Figure 4.4 3D Edge Slider joint and its EVJ

Page 91: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

74

Cylindrical Slider: The cylindrical slider is similar to the edge slider, except that

the line of contact is characterized by a cylinder instead of a prism or edge. Therefore, the

EVJ will also be similar, except that the revolute joint is no longer in-plane with the planar

joint, but offset by the radius of the cylinder. The radius R is the dimensional variable, and

its variation is represented by a slider joint. The cylindrical slider and its EVJ are shown

in Figure 4.5.

Point Slider: The point slider allows translation in both directions of the plane of

contact, as well as rotations about each of these axes. Additionally, it allows the slider to

rotate about its own vertical axis. The equivalent for the point slider includes a planar

joint at the plane of contact, to allow the translations along the plane. A spherical joint is

also added, such that the center of the sphere is at the point of contact, to allow for rota-

tions about all three axes. Note that the rotational degree of freedom in the planar joint

must be removed, or restricted, to ensure that too many degrees of freedom are not intro-

duced into the equivalent mechanism. Again, note that no dimensional variation is con-

tributed by this joint, and its EVJ is included only because the joint type may not be

available in all kinematic modelers. The point slider and its EVJ are shown in Figure 4.6.

Cylindrical Slider (4) Equivalent Variational Joint

R

Figure 4.5 3D Cylindrical Slider joint and its EVJ

Page 92: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

75

Spherical Slider: The spherical slider is very similar to the point slider, except

that the spherical joint is offset from the contact plane by the distance R, the radius of the

sphere. The spherical radius requires a slider joint to representing its dimensional varia-

tion within the joint. Again, the rotational degree of freedom in the planar joint must be

deactivated. The spherical slider is shown along with its EVJ in Figure 4.7.

Crossed Cylinders: The crossed cylinders joint allows five degrees of freedom,

similar to the point and spherical slider joints shown previously. Rotation is allowed

about the axis of each cylinder, in addition to the rotation of the cylinders with respect to

each other about an axis normal to the contact point. Translation is allowed along the axis

of each cylinder. The EVJ for this joint therefore includes a planar joint, which allows for

translation along the contact plane between the cylinders, and allows one cylinder to rotate

about an axis normal to the contact plane relative to the other cylinder. Then, extended

Point Slider (5) Equivalent Variational Joint

Figure 4.6 3D Point Slider and its EVJ

Spherical Slider (5) Equivalent Variational Joint

R R

Figure 4.7 3D Spherical Slider and its EVJ

Page 93: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

76

from the contact plane at distances of R1 and R2, respectively, are pin joints oriented to

allow rotation about the axis of each cylinder. R1 and R2 require slider joints for dimen-

sional variation, as in the parallel cylinders joint. The crossed cylinders joint and its

equivalent are shown in Figure 4.8.

4.4 Complete EVM Examples

This section will detail the construction of EVMs for the Crank Slider model and

the Swash Plate model.

4.4.1 Crank Slider EVM

The Crank Slider model is shown in Figure 4.9. The first step in developing an

EVM for this model is to establish the datums for the assembly. Figure 4.10 shows the

critical Datum Reference Frames (DRFs) for the Crank Slider assembly. The global ori-

gin (X, Y, Z) marks the central DRF of the assembly. The other, smaller coordinate sys-

tems (x, y, z) represent local DRFs for each part. For added clarity, some DRFs and

datums have not been shown. The part and assembly DRFs form the basis for the vector

loop model.

Crossed Cylinders (5) Equivalent Variational Joint

R1

R2

R1

R2

Figure 4.8 3D Crossed Cylinder Joint and its EVJ

Page 94: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

77

The next important determination in the vector loop model is locating and identify-

ing joint types used in the assembly. A vector loop is then constructed which passes

through the joints and datum features of the parts in the assembly. It is important to follow

Figure 4.9 Crank Slider model

X Z

Y

x

x

x

xx

y

y

y

y

z

zy

z

z

z

Figure 4.10 Datums used in Crank Slider model

Page 95: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

78

the rules cited in Section 4.1 for creating vector loops. Figure 4.11 demonstrates a vector

loop created for this assembly which passes through each part, joint and DRF.

Next, modifications are made to the vector loop to allow the inclusion of dimen-

sional variation. According to the equivalent variational elements shown in Figure 4.2,

schematic slider joints for independent dimensional variation are inserted into each vector

representing an independent dimension. Although this model has none, at this step hollow

pin joint symbols would be added to represent any independent angular dimensional vari-

ation. The proper EVMs can then be inserted into the model. The joint between the crank

and the base at vector b is best modeled with a pin joint, as there is rotation without trans-

lation. Spherical joints will be placed at both ends of the link. The joint between the

slider and the base, where vector e connects with u, will be represented by a simple pris-

matic joint. No rotation of the slider is permitted, and translation is limited to one axis.

X ZY

a

b

c

d

eu

φ1 φ2

Crank

Base

Link

Slider

2

1

3

4

5

6

φ3 φ4 φ5

Figure 4.11 Vector loop for 3D Crank Slider

Page 96: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

79

There will also be fixed joints placed at the junction of vectors a & b, and a & u, as they

each make up part of the base. This completes the EVM for the Crank Slider, which is

shown in Figure 4.12.

4.4.2 Swash Plate EVM

The Swash Plate assembly shown in Figure 4.13 is a type of follower mechanism.

The angled plate is attached to the central shaft and rotates about the axis of the shaft. The

cylinder pivots about the follower, which also pivots from the arm, allowing the mecha-

nism to maintain contact with the swash plate.

Figure 4.14 shows the DRFs for the Swash Plate model. Some DRFs have been

removed for improved clarity and simplicity. The global coordinate axes are the main

DRF for the assembly, while the axes and DRFs shown are the main reference frames for

X

Y

Z

b

a

Crank

u e

d

c

Link

Slider

φ1 φ2

φ3 φ4 φ5

Figure 4.12 EVM for 3D Crank Slider

Page 97: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

80

the individual parts of the assembly. In addition to the DRFs, the joints in the assembly

must be identified and located. The rules of vector loop creation require specific paths

through specific joint types, following the joint axes. When the joints have been properly

identified, the DRFs and joints are then used to form the vector loop, which is shown in

Figure 4.15. Note that the j vector is nominally zero, and describes the movement of the

Figure 4.13 Swash Plate mechanism

X

Y

Z

x z

xx

x

xx

y

yy

y

y

y

z

z

z

zz

Figure 4.14 DRFs for the Swash Plate model

Page 98: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

81

cylinder along the swashplate normal to the k vector. The k vector then simply describes

the movement of the cylinder along the Z-axis of the swash plate.

The vector loop can then be modified to show the EVM for the Swash Plate. The

four parts in the mechanism can be assembled using only three joint types in the EVM. As

every mechanism is treated as a static assembly during a tolerance analysis, the kinematic

degree of freedom that allows the arm to rotate about the shaft in the cylindrical joint will

be turned off. The joint between the Arm and the Follower allows only simple kinematic

rotation, and can be represented as a pin joint (φ1). The joint between the Follower and the

Cylinder can similarly be represented as a pin joint, as the Cylinder can rotate about an

axis colinear with the g vector (φ2). The joint between the Cylinder and the Swash Plate

exhibits sliding of the cylinder along the plate, and is best represented as a Cylindrical

Slider joint.

Y

ZX

da

bc

e

fg

i jk

l

φ 2

φ1

φ 3

h

Figure 4.15 Vector loop for Swash Plate

Page 99: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

82

While all of the degrees of freedom associated with the Cylindrical joint are

needed in this model, some of these DOFs are represented by other aspects of the EVM

and are necessarily turned off to maintain the mechanism at zero DOFs for a static toler-

ance analysis at each position of the mechanism. Thus, the X and Y translational DOFs of

the planar joint in the Cylindrical Joint EVM are deactivated. The DOF for rotation about

the cylindrical axis allowing the i vector to be maintained normal to the swashplate is still

intact, and is represented with φ3. The DOF for rotation about the Z axis (j vector) of the

planar joint is not needed, as the j vector will stay perpendicular to k throughout any vari-

ation from its nominal. Therefore, any variation in the contact point of the cylinder in the

global X direction will be characterized by variation in length of j. Any variation in the

contact point in the global Z direction will be characterized by a change in length of k.

The EVM is thus formed by inserting the equivalent joints and variational sources into the

vector loop, as shown in Figure 4.16.

Figure 4.16 EVM for Swash Plate

Page 100: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

83

4.5 Overview

As a summary of the concepts presented in this chapter, classic 3D kinematic

joints can be modified to include dimensional variation in the joint. This results in equiv-

alent variational joints, which are used to form equivalent variational mechanisms.

The kinematic joint types included in this thesis are common joints often found in

mechanism design. The joints are shown in Figure 4.17 (reprinted from Figure 2.1). It is

important to remember that not all joint types require an equivalent joint. The equivalent

joints that are required are summarized in Figure 4.18.

Figure 4.17 3D Kinematic Joint Types, with the Degrees of Freedom indicated [Chase et al. 1996]

Rigid (no motion) Prismatic (1) Revolute (1) Parallel Cylinders (2)

Cylindrical (2) Spherical (3) Planar (3) Edge Slider (4)

Cylindrical Slider (4) Point Slider (5) Spherical Slider (5) Crossed Cylinders (5)

Z

Y X

Page 101: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

84

The purpose of the EVJ is to allow a kinematic model of a mechanical joint to

include dimensional variation that might occur in the joint. However, some joint types do

not generate any dimensional variation within the joint. This can best be evaluated by

examining the vector loop that would pass through the joint. For example, a pin joint has

one vector entering and one vector exiting the joint, where both vectors are joined by a

rotational degree of freedom. While the external vectors entering and exiting the joint

could have dimensional variation, the joint itself is represented by the rotational degree of

freedom, which can generate no dimensional variation. Another example would be the

cylindrical joint. This joint consists of two cylinders which are everywhere in contact.

Since there is no clearance in the joint, it behaves much the same as the pin joint, provid-

Figure 4.18 3D Equivalent Variational Joints, with the kinematic DOFs indicated [Chase et al. 1996]

Rigid (no motion) Prismatic (1) Revolute (1) Parallel Cylinders (2)

Cylindrical (2) Spherical (3) Planar (3) Edge Slider (4)

Cylindrical Slider (4) Point Slider (5) Spherical Slider (5) Crossed Cylinders (5)

No Change R2

R1

R R

No Change

No Change

No Change

No Change

No Change

R1

R2

Page 102: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

85

ing rotation about the centerline. The radii of the inner and outer cylinders do not intro-

duce variation either internally or externally. An internal vector allows translation

between the two cylinders. This translation, however, is kinematic and does not generate

nor does it propagate dimensional variation. By contrast, the parallel cylinders joint does

require a distinct EVJ. As can be seen in Figure 4.18, the parallel cylinders EVJ includes

two vectors internal to the equivalent joint which represent R1 and R2 of the cylinders. It

is necessary to model this joint with an EVJ so that variation can be introduced into these

radii.

An additional reason to have an EVJ for some joints is the possibility that a kine-

matic modeler may not include a specific joint type in its joint library. ADAMS does not

include a parallel cylinders joint, or an edge slider, or any of the other kinematic joint

types that have been represented by EVJs in this research. Thus, it is required to model

these joints with equivalent joints, even though perhaps no dimensional variation is gener-

ated within the joint, as is the case with the edge slider.

4.6 Conclusion

With the development of Equivalent Variational Mechanisms, the dimensional

variation in a 3D mechanical assembly can be included in a kinematic velocity analysis of

the equivalent mechanism. An EVM is simply constructed of equivalent variational

sources and equivalent variational joints. Use of the EVM allows the use of kinematic

software to model assemblies with dimensional variation and solve for the tolerance sensi-

Page 103: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

86

tivities. Additionally, the kinematic software can analyze not just mechanisms, but also

static assemblies when using EVMs.

Page 104: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

87

CHAPTER 5 INCLUDING GEOMETRIC VARIATION IN EVMS

The previous chapter introduced a comprehensive set of Equivalent Variational

Mechanisms (EVMs) for including dimensional variation in kinematic models of mechan-

ical assemblies. However, as was shown in the background sections of this thesis, geo-

metric variation, not just dimensional variation, can contribute significantly to the total

assembly variation. Therefore, this chapter will illustrate how geometric variation can be

accounted for using modified versions of the EVMs presented in Chapter 4. A Geometric

Equivalent Variational Mechanism (GEVM) can be created simply by adding specific

degrees of freedom to the equivalent variational joints demonstrated in Chapter 4.

Only form variations occurring in mating contact surfaces between parts of assem-

blies can introduce variation, which can then accumulate statistically and propagate kine-

matically. Surface variations at any other location will not contribute to assembly

variation. The kinematic degrees of freedom between mating parts also occur between the

mating surfaces, and are modeled as kinematic joints located at the points of contact. The

Page 105: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

88

joint axes are aligned with the kinematic degrees of freedom, which can adjust in response

to variation. Motion constraints are also described by kinematic joints.

5.1 Geometric Equivalent Variational Joints

When the dimensional EVJs were presented in Chapter 4, it was noted that not all

of the included kinematic joint types generate dimensional variation. Thus, not all joint

types required an EVJ. However, all of the kinematic joint types can introduce and propa-

gate geometric variation. Thus, each will have a geometric equivalent variational joint

(GEVJ). The modifications to the EVJs were accomplished by adding to the EVJ the

degrees of freedom that are able to introduce geometric variation. This differs according

to joint type and geometric tolerance callout, as shown in Table 5.1 (reprinted from Table

2.2).

The specific directions of rotations and translations shown in this table assume the

joints to be in the orientations shown later in this chapter. To apply this data to an actual

joint, the DOFs cited in the table must be referenced to the orientation of the generic joints

in this chapter and then reoriented according to the local coordinate system of the actual

joint to be analyzed. Also note that although there are 121 different possible combinations

of joint/geometric tolerance combinations in Table 5.1, there exist only eight unique vari-

ation configurations. That is, several joint/tolerance combinations exhibit the same

“RxRz” variation configuration, while several others exhibit the “TyRx” configuration.

This enhances the ability to automate the use of geometric variation, as only these eight

configurations need be programmed.

Page 106: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

89

The following GEVJs include all degrees of freedom introduced by any of the tol-

erance callouts in Table 5.1. However, when modeling, care must be taken to remove the

degrees of freedom that do not apply to the specific situation. For example, when model-

ing a Planar joint which has an angularity callout applied to it, there is no geometric fea-

ture variation in the Ty axis according to the table. Thus, that geometric variation degree

of freedom could be removed for that situation, even though the generic GEVJ includes it.

Rigid Joint: The rigid joint had no EVJ for dimensional variation. Additionally,

it has zero kinematic degrees of freedom. From Figure 2.3, it was shown that in any axis

TABLE 5.1 Rotational and translational variations associated with corresponding geometric feature tolerance-kinematic joint combinations in 3D

Joints

Geom Tol

Revolute

Cylindrical

Prismatic

Planar

Crscyl

Spherical

Parcyl

Edgsli

Cylsli

Pntsli

Sphsli

R x R z R x R z R x R z R x R z R x R z R x R z R x R z T y

R x R z R x R z R x R z R x R z R x R z R x R z R x R z T x T z T x T z

R x R z R x R z R x R z R x R z R x R z R x R z R x R z T x T z T x T z

R x R y R z

R x R z

R x R z

R x R y R z R x R y R z R x R y R z R x R y R z R x R y R z

T x T y T z T x T y T z T x T y T z T x T y T z T x T y T z

T y T y T y T y T y T y

T y T y R x T y R x T y R x T y R x R x T y R x R x R x

E P

P

P

P

C

Pt

S

T y R x T y R x T y R x

T y R x T y R x T y R x T y R x T y R x T y R x

T y R x T y R x T y R x T y

T y R x T y R x T y R x

T y R x T y R x T y R x T y R x T y R x T y R x

T y R x T y R x T y R x T y T y R x T y R x T y R x

T y T y T y T y T y T y T y T y

T y T y T y T y T y T y T y T y

T y T y T y

n Table 5.1 Note: Crscyl = Crossed CylindersParcyl = Parallel CylindersEdgsli = Edge slider (E for edge, P for plane)Cylsli = Cylindrical slider (C for cylinder, P for plane)Pntsli = Point slider (Pt for point, P for plane)Sphsli = Spherical slider (S for sphere, and P for plane)

Page 107: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

90

of a joint for which a kinematic degree of freedom did not exist, geometric feature varia-

tion would propagate. As the rigid joint has no kinematic degrees of freedom, it must

propagate geometric feature variation through all six available axes. Thus, the equivalent

joint must allow for translational geometric variation in X, Y and Z, and rotational geomet-

ric variation about these same axes. It is modeled by using a spherical joint attached to a

planar joint through a slider joint. The nominal value of the translational vector between

the spherical and planar joints may be zero, such that all rotational and translational varia-

tion nominally occurs at the contact point between the two parts. Additionally, the rota-

tional degree of freedom on the planar joint must be disabled to avoid introducing too

many degrees of freedom into the joint. The rigid joint and its GEVJ are shown in Figure

5.1, where all axes that generate geometric feature variation are marked with an f.

Note that the added planar joint does not respond kinematically to absorb dimen-

sional variation. The vectors in the sliding plane represent process variations, such as a

block welded or bolted to a plate, where locating errors may occur before the welding

operation takes place. The result is a 2D position error which varies from assembly to

assembly. It is a variation source that can propagate through the assembly along with

dimensional variation.

Equivalent Variational Joint

Geometric EVJ (6 feature DOFs)

Rigid (no motion)

No Change

f f

f f

f f X Y

Z

Figure 5.1 Rigid Joint and its GEVJ

Page 108: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

91

Prismatic Joint: The prismatic joint also has no dimensional EVJ. However, a

GEVJ does exist. From Table 2.2, it is shown that rotations about the X, Y and Z axes can

propagate as geometric variation through this joint. Therefore, the only modification to

the original joint is to add a spherical joint to one end of the prismatic joint. In modeling

practice, there would be no distance between the prismatic and spherical joints, such that

the rotational variations occurred at the point of contact between the two parts. This new

GEVJ and the original prismatic joint are illustrated in Table 5.2, where the axes through

which geometric variation can propagate are denoted by f.

Revolute Joint: Once again, the revolute joint has no EVJ for dimensional varia-

tion. The GEVJ, however, adds an additional four degrees of freedom to the joint, per

Table 2.2. The revolute joint can propagate geometric variation through translations in the

X and Z axes, and rotations about the same. The GEVJ for the revolute joint is a simple

mechanism composed of a spherical joint with two translational slider joints. The rotation

about the Y axis of the spherical joint supplies the original kinematic degree of freedom,

while the additional two rotations and two translations provide the ability to propagate

geometric feature variation. The X and Z translations represent the variation in the Y axis

location, while the X and Z rotations represent the variation in the Y axis orientation.

Equivalent Variational Joint

Geometric EVJ (3 feature DOFs)

Prismatic (1)

No Change f

f f

X Y

Z

Figure 5.2 Prismatic Joint and its GEVJ

Page 109: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

92

Notice that the slider joint for translation in the X direction is added at the end of the slider

joint for the Z translation, such that there is only one vector path through the part. How-

ever, the X rotation is still about the X axis of the spherical joint, and not about the relo-

cated slider joint vector for the x-direction. The nominal length for both of these slider

joint vectors is zero. The Revolute joint and its GEVJ are shown in Figure 5.3.

Parallel Cylinders Joint: The parallel cylinders joint does have an EVM from

Chapter 4, which is shown in Figure 5.4. The geometric variation/joint combination table

specifies that the parallel cylinders joint only allows geometric variation to propagate

through translation in the Y axis and rotation about the X axis. Therefore, an equivalent

pin joint is added that rotates about the X axis, where the kinematic rotation is about the Z

axis. The additional slider joint vector has a nominal length of zero (as do all geometric

tolerance variables) and is added between the additional pin joint and the original pris-

Equivalent Variational Joint

Geometric EVJ (4 feature DOFs)

No Change f

f

Revolute (1)

Y

X

Z f

f

Figure 5.3 Revolute Joint and its GEVJ

Parallel Cylinders (2) Equivalent Variational Joint

R1

R2 R2

R1

Geometric EVJ (2 feature DOFs)

R2

R1 f

f

d

d X

Z

Y

Figure 5.4 3D Parallel Cylinders Joint and its EVJ and GEVJ

Page 110: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

93

matic joint, denoted by an f to distinguish it from the dimensional slider joints denoted by

d.

Cylindrical Joint: Similar to the revolute joint, the cylindrical joint has no

dimensional EVJ. From Table 5.1, however, it can be seen that geometric variation is

propagated through this joint by translation in the X and Z directions, and through rotation

about the same. There is a spherical joint with a kinematic prismatic acting along the Y

axis, and two slider joints for translation in the X and Z axes. The prismatic joint and the

spherical rotation about the Y axis provide the original kinematic degrees of freedom. The

two slider joints and spherical rotations about the X and Z axes provide for the propagation

of geometric variation, for which all the nominal values are zero. Note that the transla-

tions along the X and Z axes represent the variation in the location of the Y axis, where the

rotations about the X and Z axes represent variation in the orientation of the Y axis. Again,

as in the revolute joint, notice that the slider joint for feature variation in the X direction is

added to the tip of the Z slider joint vector, such that there can only be one vector path

through the joint. The cylindrical joint and its GEVJ are illustrated in Figure 5.5.

Spherical Joint: While the spherical joint does not generate dimensional varia-

tion, it does generate geometric variation through translation in all three axes. The GEVJ

Equivalent Variational Joint

Geometric EVJ (4 feature DOFs)

No Change

f

f

Y

X

Z f

f Cylindrical (2)

Figure 5.5 Cylindrical Joint and its GEVJ

Page 111: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

94

for this joints includes a planar joint to provide two degrees of translation, and a slider

joint between the spherical and planar joints to provide the last degree of translation. The

slider joint vector has a nominal value of zero, such that the spherical joint is normally

coincident with the center of the planar joint and the contact point of the two mating parts.

The rotational DOF of the planar joint must be removed to avoid introducing too many

DOFs. The spherical joint and its GEVJ are shown in Figure 5.6. Note that the GEVJ for

the spherical joint is nearly identical to that for the rigid joint. The only differences are

which DOFs are kinematic and which are geometric. In the spherical GEVJ, only the

translational DOFs are geometric.

Planar Joint: The GEVJ for the planar joint is again identical to that used by the

spherical or rigid joint. The axes which propagate geometric variation in this joint are

translation along Y and rotation about X and Z. The planar joint in the GEVJ would intro-

duce an additional rotational DOF, so this must be removed. The GEVJ for the planar

joint is shown in Figure 5.7. Again, notice that the slider joint vector between the planar

and spherical joints is nominally zero-length.

Edge Slider: The edge slider GEVJ includes two additional degrees of freedom to

introduce geometric variation in translation along the Y axis and rotation about the X axis.

Equivalent Variational Joint

Geometric EVJ (3 feature DOFs)

No Change

f f

f

Spherical (3)

X Y

Z

Figure 5.6 Spherical Joint and its GEVJ

Page 112: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

95

The slider and pin joints are simply added on the underside of the planar joint, as seen in

Figure 5.8. The placement of the pin joint below has been exaggerated somewhat for vis-

ibility, but technically it is centered upon the planar joint, and is maintained coincident

with the planar joint and the original kinematic revolute joint, such that the rotations about

the X and Z axes and the translations along the X, Y and Z axes all occur at the same point

in space.

Cylindrical Slider: The GEVJ for the cylindrical slider is only modified from the

dimensional EVJ by adding a pin joint and slider joint, as shown in Figure 5.9. Geometric

Equivalent Variational Joint

Geometric EVJ (3 feature DOFs)

No Change f

f f

Planar (3)

X

Z

Y

Figure 5.7 Planar Joint and its GEVJ

Figure 5.8 3D Edge Slider joint and its GEVJ

Geometric EVJ (2 feature DOFs)

f f

Edge Slider (4) Equivalent Variational Joint

X

Z

Y

Figure 5.9 3D Cylindrical Slider joint and its GEVJ

Geometric EVJ (2 feature DOFs)

Equivalent Variational Joint

Cylindrical Slider (4)

R

f f

R d X

Z

Y

Page 113: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

96

variation can be introduced through rotation about the X axis and translation in the Y axis.

Notice that the nominal value of the dimensional slider is still equal to the radius of the

cylinder, as it was in the dimensional EVJ.

Point Slider: The point slider can propagate geometric variation only through

translation in the Y axis. Thus, the transition from the standard EVJ to a GEVJ is quite

simple. A translational slider joint is added to represent the geometric propagation, where

the nominal length for this vector is zero. The rotational degree of freedom in the planar

joint is removed. The point slider and its GEVJ are shown in Figure 5.10.

Spherical Slider: The spherical slider GEVJ is very similar to the point slider

GEVJ and includes the same axis of geometric variation propagation. However, as the

spherical joint is offset from the contact plane by the radius of the spherical part, there

exists both dimensional and geometric variation between the spherical joint and the planar

joint. The vector representing the spherical radius R requires a slider joint, representing

dimensional variation within the joint, as was included in the EVM, and is marked with a

d. The slider joint included to provide for propagation of geometric feature variation in

the translation along Y is marked with an f, and has a nominal length of zero. The two

vectors are connected with a rigid joint (the lock icon) to ensure the variation sources

Figure 5.10 Point Slider joint and its GEVJ

Geometric EVJ (1 feature DOF)

Equivalent Variational Joint

f

Point Slider (5)

X

Y

Z

Page 114: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

97

remain colinear. Again, the rotational degree of freedom in the planar joint must be deac-

tivated. The spherical slider is shown along with its GEVJ in Figure 5.11.

Crossed Cylinders: Again, the GEVJ for the crossed cylinders joint require only

one additional DOF for propagation of geometric variation, translation in Y. Similar to the

spherical slider GEVJ, the geometric variation is added at the same point as the dimen-

sional variation, and thus there are two vectors connected together with a rigid joint (sym-

bolized by the small lock icon) to ensure the two variation sources remain colinear.

Again, the nominal lengths of the dimensional variation vectors are equal to R1 and R2,

respectively, while the nominal length of the geometric variation vector f is zero. The

crossed cylinders joint and its equivalent are shown in Figure 5.12.

Note, there could be two feature DOFs, one for each cylinder. Although each of

these two possible feature DOFs represent a single constrained directions, there are two

Figure 5.11 Spherical Slider joint and its GEVJ

Geometric EVJ (1 feature DOF)

f

Spherical Slider (5) Equivalent Variational Joint

R R

Y

X

Z

R d

Figure 5.12 Crossed Cylinder joint and its GEVJ

Geometric EVJ (1 feature DOF)

Crossed Cylinders (5) Equivalent Variational Joint

R1

R2

R1

R2 R2

R1 f

d X

Y

Z

Page 115: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

98

sources for the DOF. Recall, in general, when two surfaces mate, each is subject to sur-

face variations which contribute variation to the assembly.

5.2 GEVM Examples

To demonstrate the GEVMs developed in this chapter, the Crank Slider example

will be revisited, but with geometric tolerance callouts added to introduce geometric vari-

ation. A model of a simple printhead assembly will also be shown. Since the process for

developing a full EVM, starting with DRFs and vector loops, was explained in Chapter 4,

the full process will not be included here. Each example will show the model and a few

sample geometric tolerance callouts and then introduce the GEVM for those callouts.

5.2.1 Crank Slider GEVM

The Crank Slider model is again shown in Figure 5.13 with a few geometric toler-

ance callouts. Note that in a standard mechanical assembly, many more geometric toler-

ances may be applied. Additionally, a geometric tolerance should be called for each

mating surface of a joint where any callout is used. However, for simplicity and clarity of

these examples, callouts will be applied to only two joints, and only one per mating sur-

face of each joint.

In this Crank Slider example, a concentricity callout has been applied to the Crank.

This callout is used to ensure the inner surface of the Crank’s cylindrical feature is con-

centric with the datum axis through the cylindrical post on the Base, such that the Crank

will rotate about the center axis of the cylindrical post. The tolerance zone given for this

Page 116: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

99

callout is 0.001 cm. A flatness callout with a tolerance of 0.001 cm is applied to the bot-

tom surface of the slider that interfaces with the Base.

With these callouts added, the EVM is changed only slightly to form the GEVM,

shown in Figure 5.14. The GEVJ that replaces the Revolute joint consists only of a spher-

ical joint. The GEVJ has two nominally zero-length vectors (α1 and α2) that are shown in

the inset figure, and contribute translational variation in the local y and x directions of the

joint, respectively (out from the crank orthogonal to c, and down the length of c). The

inset figure presents the geometric variation variables α1 and α2 as introducing variation

into the vector loop, causing the c vector and the rest of the loop afterwards to be adjusted

from their nominal positions. However, when α1 and α2 assume their nominal zero val-

ues, no modification is transmitted to the vector loop.

X ZY

a

b

c

d

eu

φ1 φ2

Crank

Base

Link

Slider

2

1

3

4

5

6

φ3 φ4 φ5

.001

.001

Figure 5.13 Crank Slider model with geometric tolerance callouts

Page 117: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

100

Although the general GEVJ of the revolute joint allows rotation about all axes in

addition to the translations included here, the concentricity callout in this model only indi-

cates geometric variation propagation in the translational axes of the local x and y direc-

tions. Thus, the rotations of the spherical joint about the local x and y axes were removed,

as only rotation about the local z axis (about b) is required for the kinematic joint.

The flatness callout on the prismatic joint between the slider and the base results in

the GEVJ shown at that point: a spherical joint fixed to the end of the existing prismatic

joint. This GEVJ introduces geometric rotational variation about the local x, y and z axes,

which are represented by the angular variables β1, β2 and β3, respectively. The angular

variables have nominal values of zero. A tolerance analysis can be performed on the

X

Y

Z

b

a

Crank

u e

d

c

Link

Slider

φ1,φ2

φ3,φ4,φ5

b

a

cα2

α1

Tx

Ty

inset

β1

β3Ry

Rx

β2

Rz

Figure 5.14 GEVM for Crank Slider

Page 118: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

101

GEVM to solve for the sensitivities of the assembly (φ1, φ2, φ3, φ4, u) variables due to the

geometric (α1, α2, β1, β2, β3) and dimensional (a, b, c, d, e) variables.

5.2.2 Printhead GEVM

The Printhead model used in this research is a simplified model of a printhead as

might be seen in a typical inkjet printer. The vector loop used for this model is illustrated

in Figure 5.15. The placement of some vectors has been offset to enhance visibility of the

two loops. There are two loops used with this mechanism. The first loop is closed, and

locates all the parts and joints for this model. The second loop is open and is used to

describe the critical assembly feature for this model, φ2, the angle of the printhead plat-

form (vector h) to the horizontal base datum. In a printer, a print cartridge would be

mounted on this platform and would need to be kept at a very specific distance from the

printing surface.

Z

XYa

b

cde

f

g

h

ij

k

l

Loop 2(Open)

Loop 1(Closed)

φ3

φ2

.001

.001

φ1

q

1

PrintheadPlatform

Printhead Body

Contact PostBase

SupportRod

Figure 5.15 Vector loop for the printhead model

θ

Page 119: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

102

Loop 1 starts at the global origin with vector a. It travels up and along the cylindri-

cal support rod through b and through the dependent variable c, where it enters the crossed

cylinders joint through the support rod radius d. At this point, the dependent variable φ1 is

introduced, which is the rotation of the two cylinders with respect to each other about the

axis of the support rod denoted by the vector c. A crossed cylinders joint will normally

have a similar rotation about the axis of the mating cylinder, but in this vector loop such a

rotation is not possible, so that DOF has been removed. The DOF allowing the cylinders

to rotate with respect to each other about the axis normal to the contact point (d) between

them has also been removed, as such a motion is similarly not possible in this simplified

configuration.

Loop 1 leaves the crossed cylinders joint through the radius e of the contact post.

The loop then travels backward through the post and through the printhead body along

dependent variable f and independent variable g to the centerline of the cylindrical feature

in the printhead. The cylindrical feature forms a cylindrical joint with the base unit. Nor-

mally, this cylindrical joint allows the printhead to translate along the cylindrical axis (j),

but as the mechanism needs to be held at a single position for tolerance analysis, this DOF

has been removed.

The vector loop then leaves the cylindrical joint through the end of the cylinder,

passing through i and j. At this point, another dependent angle φ3 appears, which repre-

sents the rotation of the printhead about the cylindrical axis (j). Then the loop passes back

down to the bottom surface of the base through k and closes at the origin with l. As the

Page 120: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

103

printhead and the base are the only two parts in this assembly, the crossed cylinders and

the cylindrical joint are the only two kinematic joints encountered.

The open loop is rather simple, and follows the same vectors as the first loop from

a to the tip of g. Here, the open loop deviates from the first loop by traveling up the print-

head platform in h. An additional dimensioned angle θ1 is introduced, which defines the

position of the platform, and thus h, relative to the printhead body. The h vector is used to

define the assembly angle φ2, as discussed earlier.

The geometric tolerances applied to this model include a true position and a cylin-

dricity callout. A position callout with a tolerance of 0.001 cm as shown in Figure 5.15 is

placed on the hole feature of the base, which mates with the cylindrical feature of the

printhead. This position callout affects the cylindrical joint there, and thus introduces geo-

metric translational variation at the junction of vectors j and k in the local y and x axes of

the k vector. The cylindricity callout is placed on the contact cylinder of the printhead

(feature described by f), which is part of the crossed cylinders joint, and has a diametral

tolerance zone of 0.001 cm. The geometric variation introduced by a cylindricity callout

on a crossed cylinders joint is translational. It occurs in the direction normal to the contact

point between the two cylinders, and is introduced at the contact point between vectors d

and e.

Again, in addition to the GEVJs that will be introduced due to the joint types and

geometric tolerance callouts above, a slider joint representing dimensional variation will

be placed on every independent dimension in the model, and a hollow pin joint (see Figure

Page 121: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

104

4.2) representing the dimensional variation of θ1 will be placed between g and h. The

complete GEVM is shown in Figure 5.16, where the redundant vectors for the open vector

loop have been removed for clarity.

In the GEVM shown, the cylindrical joint is replaced by a prismatic joint on j with

a spherical joint and two nominally zero-length slider joints. Again note that the transla-

tional DOF that would allow rigid-body translation has been removed, such that j is

treated as a simple independent dimension. Inset A demonstrates the geometric slider

joints α2 and α3, which are shown disturbing the vector loop, although their nominal

lengths are zero.

The crossed cylinders joint is represented with a planar joint, a revolute joint, and

three slider joints. Again note that two rotational kinematic DOFs in this joint have been

deactivated as mentioned in the description of the vector loop because they do not physi-

Z

XYa

b

cd

g

h

ij

k

l

φ1c

B

Loop 2(Open)

Loop 1(Closed)

φ2

j

k

φ3

α3

A

α2

Inset B

Inset A

φ3

θ1

ef

α1

d

fe

Figure 5.16 GEVM for Printhead assembly

Page 122: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

105

cally occur in this model. Two of the slider joints represent the dimensional variation of

the radius vectors d and e of the contacting cylinders. The third slider joint, α1 represents

the degree of geometric translational variation in the joint. Notice that the geometric

translational variation must necessarily be inline with the radii of the cylinders, and thus is

fixed to the top radius vector with a fixed joint. The planar joint contains two translational

degrees of freedom, which are represented in the kinematic vectors c and f. That is, the

kinematic variation that would occur in vectors c and f will be taking place in the planar

joint.

5.3 Conclusion

With the addition of a few degrees of freedom to account for geometric variation

propagation, the equivalent variational joints of Chapter 4 are transformed into geometric

equivalent variational joints. This new library of equivalent joints enables a kinematic

model of a mechanical assembly (either kinematic or static) to include geometric variation

as well as dimensional variation.

Page 123: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

106

Page 124: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

107

CHAPTER 6 ANALYTICAL EXAMPLES

The previous two chapters introduced the kinematic and geometric 3D Equivalent

Variational Mechanisms and demonstrated how the equivalent mechanisms are con-

structed. This chapter will demonstrate the analysis of each of the examples set forth in

Chapters 4 and 5. The Crank Slider and Printhead analyses will include geometric varia-

tion as shown in Chapter 5. The analysis for the Swash Plate will be conducted without

geometric variation, as shown in Chapter 4. It should be understood that even for a mech-

anism, a tolerance analysis is conducted at a single position, and thus each of these mech-

anisms will be held at a fixed position for their analyses.

6.1 Crank Slider Analysis

The Crank Slider example was demonstrated in Chapter 5 with geometric varia-

tion, using the Direct Linearization Method. The same example will be shown again here,

Page 125: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

108

with delineated steps for analyzing as an Equivalent Variational Mechanism. The Crank

Slider is shown again in Figure 6.1, with the geometric callouts shown as αi and βi.

6.1.1 Gathering Model Parameters

The first step in analyzing any mechanism is to create the vector loop and GEVM,

as demonstrated previously in Chapter 4 and Chapter 5. The manufactured, assembly, and

geometric variables for the loop are shown again in Table 6.1, Table 6.2, and Table 6.3,

respectively.

X

Y

Z

b

a

Crank

u e

d

c

Link

Slider

φ1 φ2

φ3 φ4 φ5

b

a

cα2

α1

Tx

Ty

inset

β1

β3Ry

Rx

β2

Rz

1

23

4

5

6

Figure 6.1 GEVM for Crank Slider model

TABLE 6.1 Manufactured dimensions for crank slider problem

Variable Description Nominal Dim.

a Height to cylinder 20 cm

b Length of cylinder 12 cm

c Length of crank 15 cm

d Length of link 43 cm

e Height of slider 5 cm

Page 126: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

109

Recall that the amount of variation introduced by the geometric variations are cal-

culated according to Equation (2.11) and the associated paragraphs. That section of Chap-

ter 2 explains that the variation of a translational geometric variable is equal to ±α/2,

where α is the tolerance zone, and that the variation of a rotational geometric variable is

related to the width of the tolerance zone and the length of the contact between the two

parts. Therefore, the dimensions of the slider part in the X and Y directions must be

known, although they do not directly affect the vector loop dimensionally. The dimension

of the slider in the global Y direction is 15 cm, while the dimension in the global X direc-

tion is 24 cm. The corresponding variations are thus calculated, and are included in Table

TABLE 6.2 Kinematic assembly variables for crank slider problem

Variable Description

φl Rotation about local y-axis of Joint 4

φ2 Rotation about local z-axis of Joint 4

φ3 Rotation about local y-axis of Joint 5

φ4 Rotation about local z-axis of Joint 5

φ5 Rotation about local x-axis of Joint 5

u Length of gap from slider to origin

TABLE 6.3 Geometric tolerance variables for crank slider problem

Variable Description Nominal Dim.Tolerance

Zone Variation

αl Linear variation in local y-axis due to concentricity callout

0 cm 0.001 cm ± 0.0005 cm

α2 Linear variation in local x-axis due to concentricity callout

0 cm 0.001 cm ± 0.0005 cm

β1 Rotational variation about local x-axis due to flatness callout

0° 0.001 cm ± 0.00382°

β2 Rotational variation about local y-axis due to flatness callout

0° 0.001 cm ± 0.00239°

β3 Rotational variation about local z-axis due to flatness callout

0° 0.001 cm ± 0.00239°

Page 127: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

110

6.3. After calculating variations, the coordinates of each joint in the loop are obtained,

referenced to the global origin. In addition, the direction cosine angles of each vector and

each axis of rotation are calculated. These coordinates and direction cosines are included

in Table 6.4

6.1.2 Forming Partial Derivative Matrices

Using the data in Table 6.4, the matrices from the Global Coordinate Method that

describe the assembly can be formed with the elements shown in Equation (3.26). The [A]

matrix is formed with partial derivatives of the six components of the 3D vector equations

TABLE 6.4 Global coordinates and orientations for crank slider vector loop joints

Part-Joint Name Orientations (ωx,ωy,ωz)

Global Joint Coordinates (X,Y,Z)

a joint 1 (0, 0, 1) (0, 0, 0)

b joint 2 (-1, 0, 0) (0, 0, 20)

c joint 3 (0, 0.7071, -0.7071) (-12, 0, 20)

α1 joint 3 (Ty) (0, 0.7071, 0.7071) (-12, 0, 20)

α2 joint 3 (Tx) (0, 0.7071, -0.7071) (-12, 0, 20)

d joint 4 (-0.9637, -0.2467, -0.1022) (-12, 10.6066, 9.3934)

φl joint 4 (Ry) (-0.2453, 0.6669, 0.7036) (-12, 10.6066, 9.3934)

φ2 joint 4 (Rz) (-0.1054, 0.7032, -0.7032) (-12, 10.6066, 9.3934)

e joint 5 (0, 0, -1) (-53.439, 0, 5)

φ3 joint 5 (Ry) (-0.3452, 0.9385, 0) (-53.439, 0, 5)

φ4 joint 5 (Rz) (0.9385, 0.3452, 0) (-53.439, 0, 5)

φ5 joint 5 (Rx) (0, 0, -1) (-53.439, 0, 5)

u joint 6 (1, 0, 0) (-53.439, 0, 0)

β1 joint 6 (Rx) (1, 0, 0) (-53.439, 0, 0)

β2 joint 6 (Ry) (0, 1, 0) (-53.439, 0, 0)

β3 joint 6 (Rz) (0, 0, 1) (-53.439, 0, 0)

Page 128: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

111

Hx, Hy, Hz, Hθx, Hθy, and Hθz, with respect to the independent manufactured dimensions,

as shown in Equation (6.1).

(6.1)A[ ]

∂Hx∂A

----------∂Hx∂B

----------∂Hx∂C----------

∂Hx∂D----------

∂Hx∂E

----------

∂Hy∂A

----------∂Hy∂B

----------∂Hy∂C----------

∂Hy∂D----------

∂Hy∂E

----------

∂Hz∂A---------

∂Hz∂B---------

∂Hz∂C---------

∂Hz∂D---------

∂Hz∂E---------

∂Hθx∂A

-------------∂Hθx∂B

-------------∂Hθx∂C

-------------∂Hθx∂D

-------------∂Hθx∂D

-------------

∂Hθy∂A

-------------∂Hθy∂B

-------------∂Hθy∂C

-------------∂Hθy∂D

-------------∂Hθy∂D

-------------

∂Hθz∂A

------------∂Hθz∂B

------------∂Hθz∂C

------------∂Hθz∂D

------------∂Hθz∂E

------------

0 1– 0 0.9637– 00 0 0.7071 0.2467– 01 0 0.7071– 0.1022– 1–0 0 0 0 00 0 0 0 00 0 0 0 0

= =

Page 129: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

112

The [B] matrix is formed of all the partial derivatives with respect to each of the

dependent variables, as shown in Equation (6.2):

(6.2)

B[ ]

∂Hx∂φ1----------

∂Hx∂φ2----------

∂Hx∂φ3----------

∂Hx∂φ4----------

∂Hx∂φ5----------

∂Hx∂U----------

∂Hy∂φ1----------

∂Hy∂φ2----------

∂Hy∂φ3----------

∂Hy∂φ4----------

∂Hy∂φ5----------

∂Hy∂U----------

∂Hz∂φ1---------

∂Hz∂φ2---------

∂Hz∂φ3---------

∂Hz∂φ4---------

∂Hz∂φ5---------

∂Hz∂U---------

∂Hθx∂φ1

-------------∂Hθx∂φ2

-------------∂Hθx∂φ3

-------------∂Hθx∂φ4

-------------∂Hθx∂φ5

-------------∂Hθx∂U

-------------

∂Hθy∂φ1

-------------∂Hθy∂φ2

-------------∂Hθy∂φ3

-------------∂Hθy∂φ4

-------------∂Hθy∂φ5

-------------∂Hθy∂U

-------------

∂Hθz∂φ1

------------∂Hθz∂φ2

------------∂Hθz∂φ3

------------∂Hθz∂φ4

------------∂Hθz∂φ5

------------∂Hθz∂U

------------

= =

1.1983 14.0640– 4.6925– 1.7260– 0 16.1390 9.4285– 1.7260– 4.6925 53.4390– 05.4010– 7.3205– 50.1525– 18.4471– 0 00.2453– 0.1054– 0.3452– 0.9385 0 0

0.6669 0.7032 0.9385 0.3452 0 00.7036 0.7032– 0 0 1– 0

Page 130: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

113

Finally, the [F] matrix is formed, which contains the partial derivatives with

respect to each of the geometric variables in the assembly, shown in Equation (6.3).

(6.3)

6.1.3 Calculating Sensitivities

From these matrices, the tolerance sensitivities for both the dimensional and the

geometric variables can be found, using equations from the DLM. As the [B] matrix for

this model is square, the DLM equations for square matrices from Sections 2.1 and 2.2 are

used:

(6.4)

(6.5)

where [Sd] is the dimensional sensitivity matrix, and [Sα] is the geometric sensitivity

matrix. The sensitivity matrices are calculated and shown in the following equations:

F[ ]

∂Hx∂α1----------

∂Hx∂α2----------

∂Hx∂β1----------

∂Hx∂β2----------

∂Hx∂β3----------

∂Hy∂α1----------

∂Hy∂α2----------

∂Hy∂β1----------

∂Hy∂β2----------

∂Hy∂β3----------

∂Hz∂α1---------

∂Hz∂α2---------

∂Hz∂β1---------

∂Hz∂β2---------

∂Hz∂β3---------

∂Hθx∂α1

-------------∂Hθx∂α2

-------------∂Hθx∂β1

-------------∂Hθx∂β2

-------------∂Hθx∂β3

-------------

∂Hθy∂α1

-------------∂Hθy∂α2

-------------∂Hθy∂β1

-------------∂Hθy∂β2

-------------∂Hθy∂β3

-------------

∂Hθz∂α1------------

∂Hθz∂α2------------

∂Hθz∂β1

------------∂Hθz∂β2

------------∂Hθz∂β3

------------

0 0 0 0 00.7071 0.7071 0 0 53.4390.7071 0.7071– 0 53.439– 0

0 0 1 0 00 0 0 1 00 0 0 0 1

= =

Sd[ ] B[ ] 1– A[ ]–=

Sα[ ] B[ ] 1– F[ ]–=

Page 131: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

114

(6.6)

(6.7)

The sensitivities can then be used with Equation (6.8) (reprinted from Equation

(2.18)) to estimate the variation ∆Ui for each critical assembly feature Ui.

(6.8)

6.1.4 Modeling Issue

As this chapter discusses the analysis of the models, it is appropriate to point out

an important modeling nuance. Although this published version of the crank slider model

includes three rotations at the second spherical joint (φ3, φ4, and φ5), previous modeling

attempts did not include the final rotation about the x-axis, φ5. However, without allowing

a b c d e

Sd[ ]

φ1φ2φ3φ4φ5u

0.0161– 0 0.0234 0.0025– 0.01610.0170– 0 0 0.0059 0.0170

0.0233 0 0.0166– 0.0023– 0.0233–0.0024 0 0 0.0009– 0.0024–0.0006 0 0.0165 0.0060– 0.0006–0.1060– 1 0.1060– 1.038 0.1060

=

α1 α2 β1 β2 β3

Sα[ ]

φ1φ2φ3φ4φ5u

0.0006 0.0234 0.0849– 0 00.0240– 0 0.0848 0 0

0.0163 0.0166– 0.3465 0.9386– 00.0035 0 0.9508– 0.3452– 00.0173 0.0165 0.1194– 0 10.2560– 0.1060– 1.2798 5– 0

=

∆Ui Sijd Tolij

d( )2 SijαTolij

α( )2

j 1=

m

∑+

j 1=

n

∑ TASM≤=

Page 132: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

115

for this third rotation, the model did not appear to be kinematically valid, and the analysis

results did not correlate between the Global Coordinate Method and the velocity analyses

in ADAMS. Thus, the third rotation was added, and the results presented here were fur-

ther verified by an independent velocity analysis of the mechanism using hand calcula-

tions.

6.2 Swash Plate Analysis

The Swash Plate example was demonstrated in Chapter 4. The same example is

shown here again, with basic steps for performing the analysis using the Global Coordi-

nate method.

6.2.1 Gathering Model Parameters

Again, the first step of the analysis was to create the vector loop and EVM, as

shown in Chapter 4. The EVM developed previously in that chapter is shown again in

Figure 6.2. The dependent variables for this vector loop are shown in Table 6.5. The

independent variables are shown in Table 6.6. With the vector loop and the independent

TABLE 6.5 Kinematic assembly variables for Swash Plate problem

Variable Description Nominal Dim.

φl Rotation of Arm about d vector axis

18.4853°

φ2 Rotation of Cylinder about g vector

φ3 Contact angle of Cylinder to Swash Plate

-8.4853°

j Distance of contact point travel from the nominal along length of arm

0"

k Distance from contact point to shaft

3.75"

Page 133: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

116

and dependent variables defined, the coordinates of the tail of each vector and the direc-

tion cosines of each vector and each axis of rotation can be found. For the Swash Plate,

this data is shown in Table 6.7.

Figure 6.2 EVM for the Swash Plate model

TABLE 6.6 Independent dimensions for Swash Plate problem

Variable Description Nominal Dim.

a Height from top of shaft to Arm

1.5"

b Length of Arm 5"

c 1/2 Thickness of Arm 0.5"

d Distance from Arm to Follower

2.5"

e Width of Follower 1.25"

f Length of Follower 4.9413"

g Distance from Follower to Cylinder mount

0.6"

h Distance from Follower axis to Cylinder Axis

0.6"

i Radius of Cylinder 0.3751"

l Distance from contact point to top of shaft

4.6954"

Page 134: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

117

6.2.2 Forming Partial Derivative Matrices

Using the data in Table 6.7, the matrices of the partial derivatives with respect to

the independent and dependent variables can be formed according to Equation (3.26) of

TABLE 6.7 Global coordinates and orientations for Swash Plate vector loop joints and nodes, measured from tail of vector

Part Name Orientations (ωx,ωy,ωz)Global Joint

Coordinates (X,Y,Z)

a (0, -1, 0) (0, 5, 0)

b (-1, 0, 0) (0, 3.5, 0)

c (0, -1, 0) (-5, 3.5, 0)

d (0, 0, 1) (-5, 3, 0)

e (0, 0, 1) (-5, 3, 2.5)

φ1 (Rx) (0, 0, 1) (-5, 3, 2.5)

f (0.9484, -0.3171, 0) (-5, 3, 3.75)

g (0.9484, -0.3171, 0) (-0.3137, 1.4333, 3.75)

h (-0.3171, -0.9484, 0) (0.2554, 1.2431, 3.75)

φ2 (Rx) (0.9484, -0.3171, 0) (0.2554, 1.2431, 3.75)

i (-0.1736, -0.9848, 0) (0.06514, 0.6741, 3.75)

φ3 (Rx) (0, 0, -1) (0.06514, 0.6741, 3.75)

j (0.9848, -0.1736, 0) (0, 0.3046, 3.75)

k (0, 0, -1) (0, 0.3046, 3.75)

l (0, 1, 0) (0, 0.3046, 0)

Page 135: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

118

the Global Coordinate method. The [A] matrix of the independent variables is formed

below:

(6.9)

A[ ]

∂Hx∂A----------

∂Hx∂B

----------∂Hx∂C----------

∂Hx∂D----------

∂Hx∂E----------

∂Hx∂F

----------∂Hx∂G----------

∂Hx∂H----------

∂Hx∂I

----------∂Hx∂K----------

∂Hy∂A----------

∂Hy∂B

----------∂Hy∂C----------

∂Hy∂D----------

∂Hy∂E----------

∂Hy∂F

----------∂Hy∂G----------

∂Hy∂H----------

∂Hy∂I

----------∂Hy∂K----------

∂Hz∂A---------

∂Hz∂B---------

∂Hz∂C---------

∂Hz∂D---------

∂Hz∂E---------

∂Hz∂F---------

∂Hz∂G---------

∂Hz∂H---------

∂Hz∂I

---------∂Hz∂K---------

∂Hθx∂A

-------------∂Hθx∂B

-------------∂Hθx∂C

-------------∂Hθx∂D

-------------∂Hθx∂E

-------------∂Hθx∂F

-------------∂Hθx∂G

-------------∂Hθx∂H

-------------∂Hθx

∂I-------------

∂Hθx∂K

-------------

∂Hθy∂A

-------------∂Hθy∂B

-------------∂Hθy∂C

-------------∂Hθy∂D

-------------∂Hθy∂E

-------------∂Hθy∂F

-------------∂Hθy∂G

-------------∂Hθy∂H

-------------∂Hθy

∂I-------------

∂Hθy∂K

-------------

∂Hθz∂A

------------∂Hθz∂B

------------∂Hθz∂C

------------∂Hθz∂D

------------∂Hθz∂E

------------∂Hθz∂F

------------∂Hθz∂G

------------∂Hθz∂H

------------∂Hθz

∂I------------

∂Hθz∂K

------------

=

0 1– 0 0 0 0.9484 0.9484 0.3171– 0.1736– 01– 0 1– 0 0 0.3171– 0.3171– 0.9484– 0.9848– 1

0 0 0 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0

=

Page 136: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

119

The [B] matrix of dependent variables is formed here:

(6.10)

6.2.3 Calculating Tolerance Sensitivities

As shown in the Crank Slider example earlier, the tolerance sensitivity matrix for

this model can now be determined from the calculated [A] and [B] matrices. Since [B] is

not a square matrix, the version of the DLM equations from Section 2.1 for non-square

matrices must be used. The tolerance sensitivity matrix is calculated and shown below:

(6.11)

Then, once the sensitivities are calculated, they can be used to estimate the assem-

bly variation for the Swash Plate, using Equation (6.8).

B[ ]

∂Hx∂φ1----------

∂Hx∂φ2----------

∂Hx∂φ3----------

∂Hx∂J

----------∂Hx∂K----------

∂Hy∂φ1----------

∂Hy∂φ2----------

∂Hy∂φ3----------

∂Hy∂J

----------∂Hy∂K----------

∂Hz∂φ1---------

∂Hz∂φ2---------

∂Hz∂φ3---------

∂Hz∂J

---------∂Hz∂K---------

∂Hθx∂φ1

-------------∂Hθx∂φ2

-------------∂Hθx∂φ3

-------------∂Hθx

∂J-------------

∂Hθx∂K

-------------

∂Hθy∂φ1

-------------∂Hθy∂φ2

-------------∂Hθy∂φ3

-------------∂Hθy

∂J-------------

∂Hθy∂K

-------------

∂Hθz∂φ1

------------∂Hθz∂φ2

------------∂Hθz∂φ3

------------∂Hθz

∂J------------

∂Hθz∂K

------------

3 1.1890 0.6741– 0.9848 05 3.5565 0.06514 0.1736– 00 1.2599– 0 0 1–0 0.9484 0 0 00 0.3171– 0 0 01 0 1– 0 0

= =

a b c d e f g h i l

Sd[ ]

0.1826 0.0322 0.1826 0 0 0.02736 0.02736 0.1834 0.1855 0.1826–0 0 0 0 0 0 0 0 0 0

0.1826 0.0322 0.1826 0 0 0.02736 0.02736 0.1834 0.1855 0.1826–0.4314– 0.9394 0.4314– 0 0 1.0277– 1.0277– 0.1113– 0.2617– 0.4314

0 0 0 1 1 0 0 0 0 0

=

Page 137: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

120

6.3 Printhead Analysis

The Printhead assembly was first introduced in Chapter 5, where the vector loop

was shown with geometric tolerance callouts and the GEVM developed. The Printhead is

demonstrated again here, where the steps for completing the variation analysis of this

assembly using the Global Coordinate method is presented. The GEVM for this model is

shown again in Figure 6.3.

6.3.1 Gathering Model Parameters

The first few steps of the analysis are identifying the joint types and DRFs in the

assembly to properly form the vector loop, and then creating the GEVM as was shown in

Chapter 5. Once these have been established, the independent, dependent and geometric

variables must be identified. The independent (dimensioned) and dependent (kinematic)

Z

XYa

b

cd

g

h

ij

k

l

φ1c

B

Loop 2(Open)

Loop 1(Closed)

φ2

j

k

φ3

α3

A

α2

Inset B

Inset A

φ3

θ1

ef

α1

d

fe

Figure 6.3 GEVM for Printhead assembly

Page 138: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

121

variables for the Printhead assembly are shown in Figure 6.8 and Table 6.9, respectively.

The geometric variables and their variations are included in Table 6.10.

As was mentioned with the analysis of the Crank Slider in Section 6.1, the amount

of variation due to each geometric callout must be calculated from the specified tolerance

zone. For these simple translational variations, the values are equal to half of the specified

TABLE 6.8 Independent dimensions for Printhead problem

Variable Description Nominal Dim.

a 0.600 cm

b 0.500 cm

d Radius of support rod 0.125 cm

e Radius of connecting cylinder 0.125 cm

g Distance from cylindrical axis to front face of printhead

3.65 cm

h Distance from cylindrical axis to top of platform

2.00 cm

θ1 Angular dimension from printhead body to platform

90°

i 2.00 cm

j Distance from edge of print-head to side face of base

1.00 cm

k 0.750 cm

l 4.75 cm

TABLE 6.9 Dependent variables for Printhead problem

Variable Description Nominal Dim.

c Distance from side face of assembly to cylindrical con-tact point

3.00 cm

φl Rotation of cylinders wrt each other about c

f Distance from cylindrical contact point to front face of printhead

0.500 cm

φ2 Angle from printhead plat-form (h) to horizontal datum

90°

φ3 Angle of rotation of print-head about j

Page 139: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

122

tolerance zone. The values are included in Table 6.10. Also note again that the nominal

values for all geometric variables are zero.

Once the variables and their nominal values have been collected, they are used to

assemble the table of global direction cosines for each vector and dependent revolution

axis, as well as the global coordinates for the dependent angles. This data is summarized

for the Printhead in Table 6.11.

6.3.2 Calculating Closed-Loop Sensitivities

With the information in Table 6.11, the matrices for the partial derivatives of the

model can be formed according to the Global Coordinate method. The [A] matrix for the

TABLE 6.10 Geometric tolerance variables for Printhead problem

Variable Description Nominal Dim. Variation

αl Linear variation in local x-axis due to cylindricity callout

0 cm ± 0.0005 cm

α2 Linear variation in local x-axis due to position callout

0 cm ± 0.0005 cm

α3 Linear variation in local y-axis due to position callout

0 cm ± 0.0005 cm

Page 140: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

123

TABLE 6.11 Global coordinates and orientations for Printhead vector loop joints

Part Name Orientations (ωx,ωy,ωz)Global Joint

Coordinates (X,Y,Z)

a (0, 1, 0) (0, 0, 0)

b (0, 0, 1) (0, 0.6, 0)

c (1, 0, 0) (0, 0.6, 0.5)

d (0, 0, 1) (3, 0.6, 0.5)

φl (Ry) (-1, 0, 0) (3, 0.6, 0.5)

α1 (Tx) (0, 0, 1) (3, 0.6, 0.5)

e (0, 0, 1) (3, 0.6, 0.625)

f (0, 1, 0) (3, 0.6, 0.75)

g (0, 1, 0) (3, 1.1, 0.75)

h (0, 0, 1) (3, 4.75, 0.75)

θ1 (Ry) (-1, 0, 0) (3, 4.75, 0.75)

φ2 (Ry) (-1, 0, 0) (3, 4.75, 0.75)

i (-1, 0, 0) (3, 4.75, 0.75)

j (-1, 0, 0) (1, 4.75, 0.75)

k (0, 0, -1) (0, 4.75, 0.75)

φ3 (Rz) (-1, 0, 0) (0, 4.75, 0.75)

α2 (Tx) (0, 0, -1) (0, 4.75, 0.75)

α3 (Ty) (0, -1, 0) (0, 4.75, 0.75)

l (0, -1, 0) (0, 4.75, 0)

Page 141: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

124

partial derivatives with respect to the independent variables for the closed loop is shown

below:

(6.12)

A[ ]

∂Hx∂A

----------∂Hx∂B

----------∂Hx∂D----------

∂Hx∂E

----------∂Hx∂G----------

∂Hx∂I

----------∂Hx∂J

----------∂Hx∂K----------

∂Hx∂L

----------

∂Hy∂A

----------∂Hy∂B

----------∂Hy∂D----------

∂Hy∂E

----------∂Hy∂G----------

∂Hy∂I

----------∂Hy∂J

----------∂Hy∂K----------

∂Hy∂L

----------

∂Hz∂A---------

∂Hz∂B---------

∂Hz∂D---------

∂Hz∂E---------

∂Hz∂G---------

∂Hz∂I

---------∂Hz∂J

---------∂Hz∂K---------

∂Hz∂L

---------

∂Hθx∂A

-------------∂Hθx∂B

-------------∂Hθx∂D

-------------∂Hθx∂E

-------------∂Hθx∂G

-------------∂Hθx

∂I-------------

∂Hθx∂J

-------------∂Hθx∂K

-------------∂Hθx

∂L-------------

∂Hθy∂A

-------------∂Hθy∂B

-------------∂Hθy∂D

-------------∂Hθy∂E

-------------∂Hθy∂G

-------------∂Hθy

∂I-------------

∂Hθy∂J

-------------∂Hθy∂K

-------------∂Hθy

∂L-------------

∂Hθz∂A

------------∂Hθz∂B

------------∂Hθz∂D

------------∂Hθz∂E

------------∂Hθz∂G

------------∂Hθz

∂I------------

∂Hθz∂J

------------∂Hθz∂K

------------∂Hθz

∂L------------

=

0 0 0 0 0 1– 1– 0 01 0 0 0 1 0 0 0 1–0 1 1 1 0 0 0 1– 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0

=

Page 142: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

125

The [B] matrix for the partial derivatives with respect to the dependent variables

for the closed loop is formed below:

(6.13)

The [F] matrix for the partial derivatives with respect to the geometric variables

for the closed loop is formed below:

(6.14)

B[ ]

∂Hx∂C----------

∂Hx∂φ1----------

∂Hx∂F

----------∂Hx∂φ3----------

∂Hy∂C----------

∂Hy∂φ1----------

∂Hy∂F

----------∂Hy∂φ3----------

∂Hz∂C---------

∂Hz∂φ1---------

∂Hz∂F---------

∂Hz∂φ3---------

∂Hθx∂C

-------------∂Hθx∂φ1

-------------∂Hθx∂F

-------------∂Hθx∂φ3

-------------

∂Hθy∂C

-------------∂Hθy∂φ1

-------------∂Hθy∂F

-------------∂Hθy∂φ3

-------------

∂Hθz∂C

------------∂Hθz∂φ1

------------∂Hθz∂F

------------∂Hθz∂φ3

------------

1 0 0 00 0.5– 1 0.75–0 0.6 0 4.750 1– 0 1–0 0 0 00 0 0 0

= =

F[ ]

∂Hx∂α1----------

∂Hx∂α2----------

∂Hx∂α3----------

∂Hy∂α1----------

∂Hy∂α2----------

∂Hy∂α3----------

∂Hz∂α1---------

∂Hz∂α2---------

∂Hz∂α3---------

∂Hθx∂α1

-------------∂Hθx∂α2

-------------∂Hθx∂α3

-------------

∂Hθy∂α1

-------------∂Hθy∂α2

-------------∂Hθy∂α3

-------------

∂Hθz∂α1------------

∂Hθz∂α2------------

∂Hθz∂α3------------

0 0 00 0 1–1 1– 00 0 00 0 00 0 0

= =

Page 143: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

126

With the partial derivative matrices formed, the sensitivities for the closed loop

variables can be calculated. As [B] is not square, similar to the Crank Slider example, the

same sensitivity equations used there must be used here. From Equations (6.4) and (6.5),

the dimensional and geometric sensitivity matrices are calculated and shown below:

(6.15)

(6.16)

6.3.3 Calculating Open-Loop Sensitivities

The sensitivity matrices above were calculated for the closed loop in the Printhead

model. The open loop in the model requires calculation of separate sensitivities. The

equations for open-loop sensitivity calculation were originally presented in Sections 2.1

and 2.2. Equation (2.8) demonstrated how the variation of the open-loop assembly vari-

able is calculated, and is reprinted below:

(6.17)

a b d e g i j k l

Sd[ ]closed

cφ1f

φ3

0 0 0 0 0 1 1 0 00 0.2410 0.2410 0.2410 0 0 0 0.2410– 01– 0.0602– 0.0602– 0.0602– 1– 0 0 0.0602 1

0 0.2410– 0.2410– 0.2410– 0 0 0 0.2410 0

=

α1 α2 α3

Sα[ ]closed

cφ1f

φ3

0 0 00.2410 0.2410– 00.0602– 0.0602 10.2410– 0.2410 0

=

δΦp{ } C[ ] δX{ } D[ ] δU{ }+=

Page 144: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

127

This can be expanded to include the solution for {δU} from the closed-loop analy-

sis:

(6.18)

However, due to the geometry of this printhead assembly and the simplified vector

loop chosen, the entirety of Equation (6.18) is not necessary. Equation (6.18) is composed

of six rows of equations; one equation for each direction of translation and rotation in 3D.

This open loop only has sensitivities to rotations about the global X axis, or the local Z axis

relative to the open-loop assembly variable φ2. Therefore, this equation can be reduced as

shown below:

(6.19)

where δθ1 is the only relevant independent variable from the open-loop {δX} vector, and

δφ3 is the only relevant section of the {δU} vector. The simplified components of Equa-

tion (6.18) used to arrive at Equation (6.19) are explained below.

Before the simplified equations are explained, it should be noted that, in general,

the general form of the solution shown in Equation (6.18) should be followed. As there

may be dependencies of the closed-loop dependent variables upon the open-loop indepen-

dent variables, a simplified equation such as that shown in Equation (6.18) may contain

two variables that are not completely independent of each other. Such a circumstance

would result in an incorrect solution for the assembly variation, as the root-mean square

equation (shown in Equation (6.8)) assumes each of the components used are completely

δΦp{ } C[ ] δX{ } D[ ] B[ ]t B[ ]( )–1–

B[ ]t A[ ] δX{ } B[ ]t B[ ]( )–1–

B[ ]t F[ ] δα{ } +=

δφ2 δθ1 δφ3+=

Page 145: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

128

independent of each other. However, as there is no such dependency of φ3 to θ1, this sim-

plified solution may be used.

The term δθ1 is obtained from [C]{δX}. The basic [C] matrix for open-loop equa-

tions contains partial derivatives with respect to only the independent variables of the

open loop. However, to facilitate the matrix operations that take place in Equation (6.18),

columns of zeroes will be added to [C] in the locations of all the independent variables of

the closed loop in [A], and {δX} will similarly be augmented to include all independent

variables from the closed and open loops. The augmented [C] matrix is then reduced to

include only the row corresponding to the equation for rotation about the Z axis, with

zeroes in every position except that for θ1, such that the simplified [C]{δX} is shown

below:

(6.20)

The δφ3 term is then calculated from the expanded [D]{δU} product shown in

Equation (6.18). The -([B]T[B])-1[B]T[A] and -([B]T[B])-1[B]T[F] portions of that product

are initially obtained from Equations (6.15) and (6.16), respectively. From both of these

are taken only the fourth row, which contain the sensitivities for φ3. {δX} is the standard

vector of all the independent variables for the closed loop, while {δα} is the vector of all

the geometric variables for the closed loop. [D] is the matrix of dependent variables for

a b … l θ1C[ ] δX{ } 0 0 … 0 1 δa

δb…δl

δθ1 δθ1= =

Page 146: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

129

the open loop with a fourth column added for φ3. The row corresponding to the rotation

equation about Z is all that is included from this matrix, consisting of zeroes in all but the

φ3 position.

(6.21)

Thus, using Equations (6.19) through (6.21), the variation for the assembly con-

straint angle φ2 can be calculated. It should be noted that with this type of solution for

open-loop equations, the sensitivities come out directly; no matrix inversion operations

are necessary to obtain the sensitivities as were required for the closed loop. The coeffi-

cients for δθ1 and δφ3 in Equation (6.19) are the sensitivities, which both equal unity.

This is of course confirmed by intuition from looking at the model that the amount of vari-

ation on the angle from the platform is going to be directly related to the dimensioned

angle of the printhead platform and the kinematic angle of the entire printhead. The 3σ

tolerance values can be inserted into the {δX} and {δα} vectors to be used in a root-mean

squares statistical equation (as in Equation (6.8)) to calculate a 3σ value for the assembly

variation in φ2.

D[ ] B[ ]t B[ ]( )–1–

B[ ]t A[ ] δX{ } B[ ]t B[ ]( )–1–

B[ ]t F[ ] δα{ } =

c φ1 f φ30 0 0 1

a b … l

1– 0.0602– … 1

δaδb…δl

α1 α2 α3

0.2410– 0.2410 0

δα1

δα2

δα3

δφ3=

Page 147: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

130

6.4 Conclusion

Using the methods outlined in this thesis, a thorough tolerance analysis can be con-

ducted for any mechanical assembly, even those including geometric variation. The anal-

ysis is fairly simple and easy to perform when using the Global Coordinate Method.

However, while this analysis was not difficult, the preferred method would be to have it

automated in some fashion.

Page 148: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

131

CHAPTER 7 IMPLEMENTATION IN ADAMS

The EVMs and GEVMs developed in this thesis will now be applied, demonstrat-

ing the ability to perform tolerance analysis in the commercial kinematic/dynamic model-

ing package ADAMS. The version of ADAMS used in this research is 10.1.

First, a brief explanation of the methods used in modeling EVMs in ADAMS will

be presented. Then, each of the assemblies analyzed in Chapter 6 will be modeled in

ADAMS, allowing for verification of the results previously presented. For brevity, only

the Crank Slider will be shown in full detail with an explanation on how the model was

implemented in ADAMS, including the analysis results obtained. The Swash Plate and

Printhead will be presented with their results from ADAMS and descriptions of any mod-

eling intricacies found in the development of those EVMs/GEVMs.

7.1 Modeling in ADAMS

There exist a few basic concepts in ADAMS that, once grasped, make the compre-

hension of the modeling process much easier. [Faerber 1999] gave a basic background to

Page 149: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

132

the ADAMS modeling environment, much of which is summarized here. Additionally,

the underlying theory for most of the ADAMS modeling concepts presented in this chap-

ter originated with Faerber, specifically in his fifth chapter. Thus, the reader is encour-

aged to refer to his work.

Two elements in ADAMS are referred to most often, and determine the location

and orientation of all other elements of an ADAMS model. The first is the part. A part is

simply a local coordinate system defined in space. Inherently, there is no geometry, and

no mass. The part is represented by a triad at some location and orientation, as shown in

Figure 7.1. Child to the part is the marker. Markers are used to locate points on a part,

and is a triad in space, with no inherent form. The representation of a marker is identical

to the part triad shown. While a part triad defines the coordinate system for the entire part,

markers are used to define the extents and geometry of the part. Markers are used to

locate and orient joints and motions between parts, and all measurements in ADAMS of

velocity, position, or otherwise are based on markers.

Y

Z

X

Figure 7.1 Representation of a part in ADAMS [modified from Faerber 1999]

Page 150: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

133

With an understanding of the importance of markers and their relationships to

parts, the concepts behind modeling EVMs can be developed. The basic procedure for

creating EVMs in ADAMS (the same procedure applies for GEVMs) consists of creating

link geometry in the same position and orientation as the vector loop used to describe the

assembly. The links consist of two sublink parts joined by a prismatic joint. Together, the

sublinks form one major link, or the equivalent of one vector from the assembly vector

model. The split between the two sublinks could occur at any point along the length of the

vector, but for convenience in modeling, the joint between the two will be placed at the

tail of the vector. Therefore, the first sublink is a zero-length link. The two markers defin-

ing it, as well as the first marker defining part 2, are necessarily all coincident. A repre-

sentation of these sublinks and the markers used to define them is shown in Figure 7.2.

The prismatic joints enable the link to include translational dimensional variation if it rep-

resents an independent vector. If the link represents a dependent vector, the prismatic

joints allow it to absorb assembly variation.

0

3

21

LinkSchematicRepresentation

MarkerPlacement

Part 1

Part 2

Figure 7.2 Sublink and slider EVM representation [modified from Faerber 1999]

Page 151: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

134

Once links have been created to represent the vector loop, the EVM is completed

by placing Equivalent Variational Joints to properly constrain the links of the model. The

analysis of the EVM is conducted by activating a unit velocity on a joint representing one

independent variable, and measuring the output velocities on each of the dependent vari-

ables. These output velocities will equal the tolerance sensitivities, if the EVM has been

developed correctly, and unit input velocities are used. Detailed methods for correctly

implementing EVMs and performing analyses in ADAMS are included in APPENDIX F,

with macros described in APPENDIX G which can automate some of the procedures.

7.2 Crank Slider

The following description of the creation of the crank slider model in ADAMS is

based on the assumption of at least a basic understanding of the ADAMS interface and the

modeling details contained in APPENDIX F. Additionally, the modeling techniques

described here will make use of the macros described in APPENDIX G. The reader

should refer to both APPENDICES F and G for more detailed description of modeling

EVMs/GEVMs in ADAMS.

7.2.1 Initial Setup

To properly model the crank slider in ADAMS, a few setup procedures should

come first. The units for all angles during modeling should be set to DEGREES. The

units can be changed from the SETTINGS - UNITS menu. The default coordinate system

for this model should be set to Body-Fixed 231, which can be done from the SETTINGS -

COORDINATE SYSTEM menu. This specifies that all rotations entered are taken to be

Page 152: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

135

relative to the local body coordinate system, where the first rotation is applied about the y-

axis, the second is applied about the new z-axis, and the last is applied about the final x-

axis. The name of the model database in ADAMS should be renamed to “crankslider”,

which is done under the BUILD - MODEL - RENAME menu. Select the model that cur-

rently exists, which is most likely named “.model”, and rename it to “crankslider”. Next,

two markers will be created for convenience in later modeling. The first will be named

“.ground.ground_marker”, and will be created at an orientation of “180,0,-90” relative to

“.crankslider.ground”. The second marker will be named “.ground.fixed_a”, and will be

created at a location of “0,0,0” and an orientation of “-90,0,0” relative to “.crank-

slider.ground.ground_marker”.

7.2.2 Create Links

Modeling a EVM/GEVM in ADAMS requires specific knowledge about the posi-

tion and orientation of each part relative to each other. As the EVM or GEVM should

have already been designed before modeling in ADAMS, all such information will already

be known. The GEVM for the crankslider is shown in Figure 7.3, with the pertinent mod-

eling information displayed in Table 7.1.

From the model information in Table 7.1, the equivalent links for each of the vec-

tors can be created using the modeling macros defined in APPENDIX G. The

evm_independent macro is activated, and “a” is entered for the “Part Name” field. The

value “20” is entered for “Link Length”, with “0,0,0” in the “Position” field. As this is the

first part to be created, it must be oriented relative to the ground marker established ear-

Page 153: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

136

lier, thus an orientation of “-90,0,0” is entered for “Initial Orientation”, with “.crank-

slider.ground.ground_marker” in the “Relative To What” field. The width and depth

fields may be left at their defaults, although values of “40” will be entered into both fields

for purposes of better visibility in this example. The “End Orientation” field defines the

orientation of the a3 marker to assist in orienting the next link in the loop, and thus is filled

X

Y

Z

b

a

Crank

u e

d

c

Link

Slider

φ1,φ2

φ3,φ4,φ5

b

a

cα2

α1

Tx

Ty

inset

β1

β3Ry

Rx

β2

Rz

Figure 7.3 Crank Slider GEVM

TABLE 7.1 Modeling Information for the Crank Slider

Variable Type LengthFinal

Orientation

a I 20 cm (-90, 0, 0)

b I 12 cm (90, 45, 0)

α1 I 0 cm (0, 90, 0)

α2 I 0 cm (0, 0, 0)

c I 15 cm (96.051985, -14.280631, 0)

d I 43 cm (-81.732552, -44.720313, 0)

e I 5 cm (-90, -20.194857, 0)

u D 53.439 cm (0, 0, 0)

Page 154: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

137

with “-90,0,0”. At this time, the velocity field may be left at “0*time”. Click OK. At this

point, the model will appear as shown in Figure 7.4.

What has been created by the macro, although it is not well seen in the figure, are

one zero-length sublink a1 connected to a 20 cm sublink a2 by a slider joint. The slider

joint has a velocity function applied, which is actually a displacement function currently

set at “0*time”. Four markers have been created, where the markers a0 and a1 belong to

part a1, and are both at the origin, along with marker a2, which belongs to part a2. Then,

markers a_geom and a3 were created at the end of the vector, where a3 is oriented to align

with the next part to be created. Finally, geometry was added to both parts, along with

mass properties.

The b link is created next, again using the macro. Into the “Part Name” field is

entered “b”, with “12” entered in the length field, and “90,45,0” entered in the “End Ori-

entation” field. For the remainder of the links in the mechanism, including b, all informa-

Figure 7.4 Crankslider model as seen after creation of A link

Page 155: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

138

tion needed in the macro that is not given in Table 7.1 will be entered the same for each

link. Every part will be located with “0,0,0” for both the “Position” and “Initial Orienta-

tion” fields, with the *3 marker of the *2 part from the link last created in the “Relative To

What” field. All geometry will be given values of “40” to coincide with the values given

for a. Thus, the fields for b will be entered after this manner, with “.crankslider.a2.a3” in

the “Relative To What” field. The entries for a were different because it was the first link

in the model, and thus did not have a previous part to establish its orientation with a *3

marker.

The remaining parts, except for u, are created using the macro according to this

method and the information in the table. Note that α1 and α2, being geometric variables,

are zero-length vectors. Therefore, although they are created using the same methods, it

can’t be verified as readily (by visual inspection) whether the parts were actually created

correctly. Care should be taken to ensure all vectors are created in the correct orientations.

For u, the vector is dependent, where all others are independent. Thus, it should

not have a velocity function applied to its slider joint. If the dependent variant of the

macro is used, no change is necessary in the method of locating it and orienting it relative

to the other parts in the assembly. If the same independent EVM macro is used, the user

will need to go in afterwards and delete the velocity function that would be applied by the

macro.

For model verification when all is completed, the u part should line up with the

ground_marker, and the u2.u3 marker should be completely coincident with

Page 156: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

139

ground_marker. Some correction may be needed in the end to make this happen, due to

the effect of any small round-off error earlier in the model which propagates through the

vector chain. The completed assembly of EVM links for the crank slider model is shown

in Figure 7.5.

7.2.3 Adding EVJs

After all of the links, or equivalent vectors, have been created in the model, Equiv-

alent Variational Joints are added to properly constrain the links. It does not matter what

order the joints are added, but it is typically easier to create all joints of one type at the

same time. All the joints to be added can be seen in the crank slider GEVM in Figure 7.3.

Notice that although the original mechanism had four joint types, including a revolute

joint, the GEVM has reduced this to three due to the replacement of the revolute joint with

a spherical joint in placing that GEVJ.

Figure 7.5 Complete EVM loop in ADAMS. Icons removed from model for clarity.

Page 157: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

140

The first joints to be created are the fixed joints. These will be added between vec-

tors that make up the same assembly part, and thus should not move relative to one

another, and between vectors where the constraints of the assembly simply dictate that no

movement occur between the parts. From the Command Navigator, select CON-

STRAINT - CREATE - JOINT - FIXED. The fixed joint menu will appear, enabling the

user to create fixed joints as defined in APPENDIX F. Fixed joints can then be placed

using “Position by Using Markers”. The information necessary for creating the required

fixed joints is found in Table 7.2.

Next to be added are the spherical joints. Go to CONSTRAINT - CREATE -

JOINT - SPHERICAL in the Command Navigator. The spherical joints can also be cre-

ated using “Position By Using Markers”, as indicated in APPENDIX F. The information

required to place these joints is also found in Table 7.2. Some additional information,

however, is required to properly constrain the spherical joints.

With the “spherical_b_alpha” joint, note that not all of the DOFs available in the

generic EVJ for the revolute joint are used here, due to the specific geometric callout used,

Joint Type Joint Name I marker J marker

Fixed fixed_ab b1.b0 a2.a3

Fixed fixed_alpha12 alpha21.alpha20 alpha12.alpha13

Fixed fixed_alpha2c c1.c0 alpha22.alpha23

Fixed fixed_u_ground ground.ground_marker u2.u3

Fixed fixed_a_ground a1.a0 ground.fixed_a

Spherical spherical_b_alpha alpha11.alpha10 b2.b3

Spherical spherical_cd d1.d0 c2.c3

Spherical spherical_de e1.e0 d2.d3

Spherical spherical_eu u1.u0 e2.e3

TABLE 7.2 Data for creating GEVJs in the crank slider assembly

Page 158: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

141

and thus the rotations about the x and y-axes should be turned off. In addition, as it is

desired to hold the crank at one position during the static analysis, the rotation about the z-

axis should also be turned off. This is done by selecting the joint once it is created, click-

ing on the MODIFY context menu that appears, and then clicking IMPOSE MOTIONS.

In this interface, simply set the DOF type for ROTX, ROTY, and ROTZ to “Disp(time)=”,

and the default function “0*time” will appear in the “f(time)” field. This will freeze the

spherical joint from any rotation about its local x, y, or z-axes.

For the “spherical_cd” joint, another motion constraint must be added, as the rota-

tion of the link shaft about its lengthwise axis is an idle degree of freedom that does not

contribute to the analysis. Thus, to keep the model at zero degrees of freedom, ROTX for

the “spherical_cd” joint will be turned off.

In the “spherical_eu” joint, rotational velocity functions are added for the β1, β2,

and β3 geometric rotational variables that exist at this point. Just as with the independent

translational velocities, the displacement functions applied here will each be “0*time”,

until the analysis for each one is conducted, where the velocities will then be temporarily

changed to “1*time”. These input velocities are applied to ROTX, ROTY, and ROTZ,

through the MODIFY - IMPOSE MOTIONS context menu as described above.

Note that another prismatic joint does not have to be added to u for the GEVJ as

one was already created in that position when the link was formed using the macro.

Page 159: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

142

7.2.4 Static Analysis

With the GEVJs properly placed to constrain the links in the model, and velocity

functions created on all necessary parts, the model is ready to have measures created for

the dependent variables. Once that is accomplished, the model is ready for analysis.

In ADAMS, a “measure” is quite simply an instruction commanding the model to

record, or measure, some characteristic between two angles, whether it be a force, angle,

velocity, or nearly any other measurable characteristic. A measure will be created for

each dependent variable, and thus, although it is possible to measure many characteristics

in ADAMS, all measures created for EVM analyses will measure rotational or transla-

tional velocities. Section F.4.1 explains in detail how measures are created, and that infor-

mation will not be repeated here. It is sufficient to state here that rotational joint measures

should be created on the spherical_cd and spherical_de joints, and a translational joint

measure will be created on the trans_u joint. The information necessary to create these

joints according to the instructions in the appendix are contained in Table 7.3.

Now that the measures are created, an analysis must be run in ADAMS, where all

of the constraints and velocities are applied, calculations performed, and the results for the

Measure Name Joint Name Measure Type

Relative To:

Measured Axis From/At:

phi1 spherical_cd rotational velocity d1.d0 Y N/A

phi2 spherical_cd rotational velocity d1.d0 Z N/A

phi3 spherical_de rotational velocity e1.e0 Y N/A

phi4 spherical_de rotational velocity e1.e0 Z N/A

phi5 spherical_de rotational velocity e1.e0 X N/A

u trans_u translational velocity u1.u1 X u1.u1

TABLE 7.3 Data for creating Measures for the crank slider assembly

Page 160: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

143

measures are recorded at each time step. The analyses are run with unit velocities set at

each independent variation, one at a time. Starting at a, set the displacement function to

“1*time”. Run the analysis with an “end time” of 1, and 1 for “step size”. These analysis

settings will apply the velocities and calculate the results starting at time zero, ending at

time one, with only one analysis step. When the first run is complete, modify the

LAST_RUN analysis to the name “static_trans_a” to save the results. For the next Run,

set the displacement function at a back to “0*time”, and set the function for b to “1*time”.

Run the analysis again. Save the results again, as “static_trans_b”. Reset the function on

b to “0*time”. This process is repeated for each independent variation source, both

dimensional and geometric, as shown in Table 7.4.

When all the analyses have been run, the results from each of the applied measures

will have been stored internally in ADAMS. Currently, because there is no variation anal-

ysis add-on or interface for ADAMS, the measured results, or sensitivities, must be

extracted before they can be used in externally performed assembly variation calculations.

Following the instructions in Section F.5.1, export the results from all the analyses. The

Run A B C D E α1 α2 β1 β2 β3

1 1*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time

2 0*time 1*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time

3 0*time 0*time 1*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time

4 0*time 0*time 0*time 1*time 0*time 0*time 0*time 0*time 0*time 0*time

5 0*time 0*time 0*time 0*time 1*time 0*time 0*time 0*time 0*time 0*time

6 0*time 0*time 0*time 0*time 0*time 1*time 0*time 0*time 0*time 0*time

7 0*time 0*time 0*time 0*time 0*time 0*time 1*time 0*time 0*time 0*time

8 0*time 0*time 0*time 0*time 0*time 0*time 0*time 1*time 0*time 0*time

9 0*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time 1*time 0*time

10 0*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time 0*time 1*time

TABLE 7.4 Proper velocity function configuration for analyses

Page 161: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

144

columns formed by the data at time zero from a, b, c, d, and e are assembled together to

form the [Sd] matrix of sensitivities for dimensional variation, and the columns from α1,

α2, β1, β2, and β3 are assembled to form the [Sα] matrix of sensitivities due to geometric

variation. These results for the crankslider assembly are shown in Equations (7.1) and

(7.2), respectively:

(7.1)

(7.2)

7.2.5 Kinematic Analysis

One of the advantages to performing tolerance analysis in ADAMS is its ability to

automatically increment the position of the mechanism and perform an analysis at each

position. This section will demonstrate such an analysis for the crank slider, run for 45

degrees from the default position of the crank slider to the bottom-dead-center (BDC)

position, where the crank is pointing straight down. The results from ADAMS will be

verified against results from the Global Coordinate Method at both the nominal 45° crank

a b c d e

Sd[ ]

φ1φ2φ3φ4φ5u

0.01609– 0 0.02339 0.00254– 0.016090.01697– 0 0 0.00592 0.01697

0.02325 0 0.01662– 0.00231– 0.02325–0.00244 0 0 0.00085– 0.00244–0.00061 0 0.01646 0.00595– 0.00061–

0.1060– 1 0.1060– 1.03768 0.1060

=

a b c d e

Sα[ ]

φ1φ2φ3φ4φ5u

0.00063 0.02339 0.08490– 0 00.02400– 0 0.08484 0 0

0.01626 0.01662– 0.3465 0.9386– 00.00345 0 0.9508– 0.3452– 00.01732 0.01646 0.1194– 0 1

0.2560– 0.1060– 1.2798 5– 0

=

Page 162: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

145

position and the BDC position. Again, the methods for performing analyses on kinematic

mechanisms are well defined in Section F.4.3, and therefore, what is stated there will not

be entirely repeated here.

The first change to the model to prepare it for kinematic analysis is to change the

rotational motion constraint on the z-axis (ROTZ) of the joint spherical_balpha1 from

“0*time” to “-1d*time” to allow the larger kinematic motion of the crank, verifying that

the negative sign will move the crank counter-clockwise from 45° to BDC. Verify that all

other input velocities in the model are set to zero. Then, run the analysis with “end time”

set to 45, and “step size” set to “0.01”. Save the results under a unique name. Now, mod-

ify the current “0*time” displacement function on a to a velocity of “cos(20*pi*time)”.

Perform the analysis again with the same settings. Save these results. The cosine velocity

function applied as the input dimensional variation ensures the assembly geometry will be

returned to nominal for each analysis time-step. A detailed explanation of the use of this

cosine function is included in Section F.4.3.

Following the instructions in APPENDIX F, export the data from each analysis.

Normally, to obtain sensitivities, the analyses would be repeated for each independent

variation, but for brevity, only the results for the input variation on A will be shown here.

A comparison between the results from ADAMS at two of the positions in the

analysis and the corresponding values from the Global Coordinate Method is shown in

Table 7.5. It is noted that in addition to some small round-off error in the results, it is

apparent that there is some significant error in a few of the results from ADAMS at the

Page 163: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

146

BDC end position. This results from the integration error that accumulates as the analysis

progresses. [Faerber 1999] noted this error source, and explains that it comes from the

numerical methods ADAMS uses to solve for the position of the mechanism at each new

time step. This error can be reduced by decreasing the step size of the analysis, which can

greatly increase the time required to perform the analysis, or restart the analysis at a new

position of the mechanism. It can be seen that the results are identical between ADAMS

and the GCM at the initial 45° position of the analysis. Additionally, when a static analy-

sis is restarted at the BDC position, the results also come out identical to the GCM results

at BDC as shown in Table 7.5.

7.3 Swash Plate

The Swash Plate assembly and its completed ADAMS model are shown in Figure

7.6. The joint icons and markers have been removed for clarity.

The sensitivity results from the velocity analysis in ADAMS are presented in

Equation (7.3). The results obtained from ADAMS are identical to the dimensional toler-

ADAMS Global Coordinate

VariableStart

Position: 45°End:BDC

Restart @BDC 45° BDC

φ1 -0.01609 -0.02326 -0.01609 -0.01609 -0.02326

φ2 -0.01697 0 -0.01697 -0.01697 0

φ3 0.02325 0.02183 0.02325 0.02325 0.02326

φ4 0.00244 0.00803 0.00244 0.00244 0

φ5 0.00060 0 0.00060 0.00061 0

u -0.10607 0.00043 -0.10607 -0.10602 0

TABLE 7.5 Comparison of kinematic ADAMS results to Global Coordinate Method

Page 164: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

147

ance sensitivities obtained in Chapter 6 (Equation (6.11)) using the Global Coordinate

Method.

(7.3)

7.4 Printhead

The completed model of the Printhead in ADAMS is shown in Figure 7.7 along-

side the vector loop used to build the model. With the completed model built in ADAMS,

velocity analyses were performed to extract the closed-loop sensitivities shown in Equa-

tions (7.4) and (7.5):

Figure 7.6 Swash Plate vector loop on right, and completed ADAMS model on left. Icons removed from ADAMS model for clarity.

Y

ZX

da

bc

e

fg

i jk

l

φ 2

φ1

φ 3

h

a b c d e f g h i l

S[ ]

φ1φ2φ3jk

0.1826 0.0322 0.1826 0 0 0.02736 0.02736 0.1834 0.1855 0.1826–0 0 0 0 0 0 0 0 0 0

0.1826 0.0322 0.1826 0 0 0.02736 0.02736 0.1834 0.1855 0.1826–0.4314– 0.9394 0.4314– 0 0 1.0277– 1.0277– 0.1113– 0.2617– 0.4314

0 0 0 1 1 0 0 0 0 0

=

Page 165: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

148

(7.4)

(7.5)

where [Sd] contains the dimensional sensitivities, and [Sα] is the matrix of geometric sen-

sitivities.

Note that angular variation for φ2 does not appear in the sensitivity matrices shown

above. In Chapter 6, it was shown that the open-loop assembly variation δφ2 could be

Z

XYa

b

cde

f

g

h

ij

k

l

φ3

φ2

φ1

q

1

Figure 7.7 Printhead vector loop and ADAMS model. Icons removed from ADAMS model for clarity.

θ

a b d e g i j k l

Sd[ ]closed

cφ1fφ3

0 0 0 0 0 1 1 0 00 0.2410 0.2410 0.2410 0 0 0 0.2410– 01– 0.0602– 0.0602– 0.0602– 1– 0 0 0.0602 1

0 0.2410– 0.2410– 0.2410– 0 0 0 0.2410 0

=

α1 α2 α3

Sα[ ]closed

cφ1fφ3

0 0 00.2410 0.2410– 00.0602– 0.0602 10.2410– 0.2410 0

=

Page 166: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

149

determined from Equation (7.6), where the variation sensitivities are equal to unity, or the

coefficients of δθ1 and δφ3:

(7.6)

where δθ1 represents a manufactured (independent) variable, and δφ3 represents a kine-

matic variable. In this equation, the variation in the assembly variable φ2 is due to the

variation in φ3 and θ1. The φ3 variation can be found from the closed loop sensitivity

matrices, and the θ1 variation is defined by the manufacturing process used to make the

features that determine θ1.

7.5 Modeling Tips

This section includes helpful hints for modeling in ADAMS. They do not apply

directly to any one model, but are helpful for improving general EVM modeling practice.

7.5.1 Query Select

When modeling complex assemblies in ADAMS, joint symbols, part symbols,

markers, and motion constraints all get placed on top of each other. This makes it difficult

to select the appropriate element when needed. It should be remembered that ADAMS

has built in a type of “Query Select” picking menu. If a desired item is in a crowded area

of the model, simply right-click near the item, and a menu will come up with all the model

elements near that point. Selecting the appropriate element from this menu will then bring

up a context menu with choices specific to that element, enabling that item to be selected,

modified, or measured.

δφ2 δθ1 δφ3+=

Page 167: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

150

7.5.2 Use of Dummy Parts in EVJs

On some of the Equivalent Variational Joints, it will be necessary to create small

’dummy’ parts to facilitate the joint creation. These zero-length parts will be necessary

for any equivalent joint that requires two kinematic joints to be mated directly together,

with no vectors in between them. Examples of where this would be needed include the

Edge Slider, where the pin joint must be connected directly to the planar joint, and the

Point Slider, where the spherical joint must be directly attached to the planar joint. In

ADAMS, two joints cannot be directly connected in this manner, but must have a part to

connect them. A simple zero-length part can be created through the PART-CREATE

interface in the Command Navigator. At least one marker should be added, although addi-

tional markers may be necessary if it is desirable to connect markers to the two joints at

different orientations.

7.5.3 Multiple Vector Loops

It is important to note that redundant vectors from assemblies with multiple vector

loops are eliminated in the ADAMS model. Creating redundant vectors, simply because

that vector is part of multiple loops, serves no purpose in ADAMS.

7.5.4 Measuring Direction Cosines in ADAMS

When modeling an assembly in ADAMS, it is often beneficial to verify the model

by measuring the direction cosines and comparing against the model specifications. Mea-

suring the direction cosines in ADAMS requires creating an Orientation Measure. This is

accomplished by clicking BUILD - MEASURE - ORIENTATION - NEW. The orienta-

Page 168: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

151

tion measure window will appear. After the name field is entered, “Direction Cosines” is

selected from the “Characteristic” menu. The “To Marker:” field should be filled with the

name of the local marker whose direction cosines are to be measured. The “From

Marker:” should be filled with the name of a marker representing the global coordinate

system for the model, such as .ground.ground_marker from the previous crank slider

example.

To better facilitate the completion of the “Component” field, a bit of background is

given on how ADAMS refers to the direction cosines. In ADAMS, it is possible to mea-

sure nine different direction cosines. In general, a direction cosine is the cosine of an

angle measured from one axis to another. Specifically, ADAMS calculates these angles

from one coordinate system to another, measuring angles from each of the three axes of

one coordinate system to each of the three axes in the other, resulting in nine cosines. The

orientation measure refers to each of these nine cosines by their location in a matrix

formed internal to ADAMS. Then, assuming a ground marker in the “From Marker:”

field as described above, a representation of this matrix of cosines is shown in

Equation (7.7):

(7.7)

where the (i,j)th element of the matrix represents the direction cosine from the local axis

represented by the jth column to the global axis represented by the ith row. Thus, the (2,3)

3 3×

Local

Global

X

Y

Z

x y z

αx αy αz

βx βy βz

γx γy γz

Page 169: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

152

component represents the cosine from the local z-axis to the global Y-axis. With this nota-

tion, it can be seen that the first column represents all three direction cosines for the x-axis

of the local coordinate system, which should be the vector path, if the model is setup

according to the ADCATS convention.

Thus, the orientation measure is finished by choosing the appropriate element from

the direction cosine matrix in the “Component” field. To obtain the three cosines for one

axis will require three measures.

Page 170: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

153

CHAPTER 8 CONCLUSIONS AND RECOMMENDATIONS

The purpose of this thesis has been to extend the existing analogy between kine-

matic velocity and variation to 3D assemblies that incorporate geometric as well as dimen-

sional variation. This chapter will examine the objectives of this thesis and discuss how

they were met, and discuss what conclusions can be drawn from the results. Recommen-

dations for future research stemming from this thesis will also be presented.

8.1 Contributions and Results

The specific objectives of this research were originally outlined in the introduction

to this thesis and are included again below, with a description of how they were accom-

plished.

1. “Expand upon Faerber’s kinematic analogy to perform tolerance analysis of

assemblies using 3D mechanisms, modified to include dimensional and geo-

metric variation.” The TAKS method developed in 2D by Faerber has been

implemented successfully in 3D assemblies using the Direct Linearized

Page 171: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

154

Method for describing the model with kinematic equations in vector form, and

using the Global Coordinate Method to allow simple extraction of the toler-

ance sensitivities for both dimensional and geometric variation.

2. “Create a library of 3D equivalent kinematic joints for use in tolerance analy-

sis.” A library of new Equivalent Variational Joints was developed for com-

monly used 3D kinematic joint types, and was implemented with examples to

explain their use to form Equivalent Variational Mechanisms (EVMs).

3. “Create a library of equivalent joints to allow inclusion of geometric variation

in analysis.” Added to the standard EVJ library was a group of modified joint

types, Geometric Equivalent Variational Joints (GEVJs), that allow the kine-

matic model to include both geometric and dimensional variation in a velocity

analysis.

4. “Demonstrate the kinematic analogy by employing commercial 3D kinematic

software to perform tolerance analysis of both static assemblies and mecha-

nisms.” Examples of both EVMs and GEVMs were modeled using the com-

mercial kinematic modeler ADAMS, demonstrating the viability of the

equivalent mechanism approach. Additionally, the advantages of tolerance

modeling in kinematic software were highlighted by showing the ability of the

software to automatically step through the position of a mechanism, perform-

ing tolerance analyses at each position.

Both the EVMs and the GEVMs give the capability to accurately model variation

in a kinematic assembly. The Global Coordinate Method used to analyze these mecha-

Page 172: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

155

nisms was compared to the Derivative Operator Matrix method by Sandor, and was shown

to be much easier to perform and much more efficient. The analysis of the EVMs and

GEVMs using the Global Coordinate Method produced sensitivities which match those of

a tolerance analysis conducted on the standard assembly.

8.2 Conclusions

This research has further developed the velocity/variation analogy by Faerber to

3D models that include geometric variation. The ability to perform tolerance analysis on a

kinematic model has wide applications. As the use of kinematic modeling software is

much more widespread than that of variation analysis software, the ability to use kine-

matic software to perform tolerance analysis of a mechanism can have great impact on the

quality of mechanism design. Both geometric and dimensional variation can be included

in a kinematic model of a mechanism or a static assembly to allow for analysis of variation

during the design of the assembly.

8.3 Recommendations

The EVMs and GEVMs set forth in this thesis were very successful. However,

they are fairly complex, and thus difficult to implement manually in a standard kinematic

modeler. Further work is encouraged to produce software that would automate the imple-

mentation of the equivalent mechanisms in a kinematic software package. Such software

could allow the user to automate the task of creating the multiple links and slider joints

necessary to implement variation in a mechanism. Additionally, it could allow the user to

Page 173: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

156

include or remove geometric variation from the model and its joint types by a simple

menu pick. It would be useful to allow the user to access the individual degrees of free-

dom in a joint, and set specific degrees of freedom to be either kinematic or geometric, or

constrained.

The research in this thesis applies to rigid assemblies and mechanisms. It is rec-

ommended that this variation/velocity analogy be expanded to include analysis of flexible

assemblies. Additionally, work should be done to include geometric variation in flexible

assembly analysis.

Finally, one of the delimitations set forth in this research was to look at the first-

order sensitivities only. Previous to this research, work was done in developing a second-

order TAKS analogy linking acceleration analysis with the higher statistical moments,

including skewness and kurtosis. This work involved only 2D assemblies, and did not

encompass geometric variation. Further work should be done to expand this second-order

analogy to 3D, and include geometric variation in the methods used.

Page 174: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

157

APPENDIX

Page 175: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

158

Page 176: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

159

APPENDIX A DERIVATION OF QLM

The derivation of the elementary derivative operator matrices, [Qlm] is given in this

appendix, as taken from page 614 of [Sandor and Erdman 1984].

The partial derivative of the elementary transformation matrix is formed by replac-

ing each entry in the matrix by its partial derivative. For a Type 1 matrix, taking the deriv-

ative with respect to θ gives:

(A.1)

If the elementary derivative operator matrix, , is utilized in forming the partial

derivative as in Equation (3.7), then Equation (A.2) becomes:

(A.2)

∂ Tij1[ ]

∂θ---------------

0 0 0 00 θsin– θcos– 00 θcos θsin– 00 0 0 0

=

Q1θ[ ]

∂ Tij1[ ]

∂θ--------------- Tij

1[ ] Q1θ[ ]

0 0 0 00 θsin– θcos– 00 θcos θsin– 00 0 0 0

= =

Page 177: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

160

As was shown in Equation (3.2), the Type 1 elementary transformation matrix is:

Type 1: Translation, with rotation about x-axis (A.3)

Substituting from Equation (A.3),

(A.4)

Equation (A.4) can then be solved for , producing the following:

(A.5)

In a similar manner, the elementary derivative operator matrices with respect to θ

for Type 2 and Type 3 transformations can also be found:

(A.6)

(A.7)

Tij1[ ]

1 0 0 a0 θxcos θxsin– b

0 θxsin θxcos c

0 0 0 1

=

∂ Tij1[ ]

∂θ--------------- Tij

1[ ] Q1θ[ ]

1 0 0 a0 θcos θsin– b0 θsin θcos c0 0 0 1

Q1θ[ ]

0 0 0 00 θsin– θcos– 00 θcos θsin– 00 0 0 0

= = =

Q1θ[ ]

Q1θ[ ]

0 0 0 00 0 1– 00 1 0 00 0 0 0

=

Q2θ[ ]

0 0 1 00 0 0 01– 0 0 0

0 0 0 0

=

Q3θ[ ]

0 1– 0 01 0 0 00 0 0 00 0 0 0

=

Page 178: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

161

For the Type 4 transformation, three elementary derivative operator matrices are

shown, with respect to translation in the x, y, and z direction:

(A.8)

(A.9)

(A.10)

Q4x[ ]

0 0 0 10 0 0 00 0 0 00 0 0 0

=

Q4y[ ]

0 0 0 00 0 0 10 0 0 00 0 0 0

=

Q4z[ ]

0 0 0 00 0 0 00 0 0 10 0 0 0

=

Page 179: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

162

Page 180: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

163

APPENDIX B DERIVATIVE OF THE GENERAL LOOP CLOSURE EQUATION

The derivation of the derivative of the general loop closure equation is shown in this

appendix, as taken from [Sandor and Erdman 1984].

The general loop closure equation is show in Equation (B.1), where the variable in

question qm, with respect to which the partial derivative shall be taken, is contained in the

[L(k-1)k] matrix.

(B.1)

Since the variable in question is contained in only one of the elementary matrices

[Lij], taking the partial derivative only affects that matrix, as shown in Equation (B.2).

(B.2)

L00[ ] L01[ ] L12[ ]… L k 1–( )k qm( )[ ] Lk k 1+( )[ ]… L n 1–( )n[ ] Ln0[ ]=

∂ L00[ ]

∂qm---------------- L01[ ] L12[ ]…

∂ L k 1–( )k qm( )[ ]

∂qm---------------------------------------- Lk k 1+( )[ ]… L n 1–( )n[ ] Ln0[ ]=

Page 181: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

164

Thus, as with Equation (3.7), this partial derivative will be replaced by a matrix

product:

(B.3)

This derivative evaluation can be further simplified if the Identity matrix formed

with the concatenation and its inverse is considered, as in Equation (B.4),

(B.4)

which can then be substituted back into Equation (B.3) to obtain the following:

(B.5)

From Equation (B.1), the product of the last two concatenations in Equation (B.5) are

equal to [L00], and thus the equation can simplify to:

(B.6)

where

(B.7)

[Dm] is defined as the derivative operator matrix of the loop equation relative to the mth

variable in the loop. The derivation of the [Dm] matrices is shown in APPENDIX C.

∂ L00[ ]

∂qm---------------- L01[ ] L12[ ]… L k 1–( )k qm( )[ ] Qim[ ] Lk k 1+( )[ ]… L n 1–( )n[ ] Ln0[ ]=

I[ ] L01L12…L k 1–( )k[ ] 1– L01L12…L k 1–( )k[ ]=

∂ L00[ ]

∂qm---------------- L01L12…L k 1–( )k qm( )[ ]Qim L01…L12…L k 1–( )k[ ] 1– L[ 01L12…=

…L k 1–( )k ] Lk k 1+( )…L n 1–( )nLn0[ ]

∂ L00[ ]

∂qm---------------- Dm[ ] L00[ ]=

Dm[ ] L01L12…L k 1–( )k[ ] Qim[ ] L01L12…L k 1–( )k[ ] 1–=

Page 182: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

165

APPENDIX C DERIVATION OF DM

The derivation of the loop derivative operator matrices, [Dm] is given in this appendix, as

taken from [Sandor and Erdman 1984].

In Section 3.1.3, it is shown that the partial derivative of the general loop closure

equation (Equation (3.9)) is shown to be of the form demonstrated in Equation (C.1):

(C.1)

where:

(C.2)

There is a unique [Dm] for each rotation and translation in the loop, as it is defined

as the derivative operator matrix of the loop equation relative to the mth variable in the

loop. The concatenation [L01L12...L(k-1)k] shown in Equation (C.2) is the concatenation of

all transformation matrices up until the transformation including the mth variable in the

loop, which is the matrix [L(k-1)k]. To facilitate finding the inverse in Equation (C.2), the

∂ L00[ ]

∂qm---------------- Dm[ ] L00[ ]=

Dm[ ] L01L12…L k 1–( )k[ ] Qim[ ] L01L12…L k 1–( )k[ ] 1–=

Page 183: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

166

[L01L12...L(k-1)k] concatenation is shown in Equation (C.3) to retain the general form of a

transformation matrix, where the 3x3 [R] matrix is a concatenation of rotations and the

fourth column with the ∆ terms is a translation concatenation.

(C.3)

The 3x3 rotational [R] portion is orthogonal, thus the inverse of that portion is equal to its

transpose. Thus, by common linear systems theory, the inverse of Equation (C.3) can be

written in closed form, without resorting to matrix inversion:

(C.4)

The inverse is thus found simply by taking the appropriate terms of the [L01L12...L(k-1)k]

concatenation (as shown in Equation (C.3)) and arranging them as shown in Equation

(C.4). Using the equations for [Qlm] defined in APPENDIX A (Equations (A.5) through

(A.10)) and Equations (C.3) and (C.4) to form the concatenation and its inverse, Equation

(C.2) can be derived for the various types of transformations. The general form of these

loop derivative operators for each type of elementary transformation matrix are shown in

Equations (C.5) through (C.8), into which the specific terms of the [L01L12...L(k-1)k] con-

catenation for the kth variable are inserted to form the loop derivative operator matrix for

this variable.

L0k[ ]

r11 r12 r13 ∆x

r21 r22 r23 ∆y

r31 r32 r33 ∆z

0 0 0 1

=

L0k1–[ ]

r11 r21 r31 ∆xr11 ∆yr21 ∆zr31+ +( )–

r12 r22 r32 ∆xr12 ∆yr22 ∆zr32+ +( )–

r13 r23 r33 ∆xr13 ∆yr23 ∆zr33+ +( )–

0 0 0 1

=

Page 184: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

167

The derivative operators with respect to θ for the elementary transformation matri-

ces, [T1], [T2], and [T3] are shown in Equation (C.5), where i represents which transforma-

tion matrix is being evaluated [Sandor and Erdman 1984].

(C.5)

For the type 4 translational matrix, the derivative operators are shown below with respect

to the x, y, and z directions [Sandor and Erdman 1984].

Derivative with respect to x direction (C.6)

Derivative with respect to y direction (C.7)

Derivative with respect to z direction (C.8)

Dmi[ ] L0k[ ] Qiθ[ ] L0k

1–[ ]

0 r3i– r2i ∆yr3i ∆zr2i–

r3i 0 r1i– ∆zr1i ∆xr3i–

r– 2i r1i 0 ∆xr2i ∆yr1i–

0 0 0 0 i 1 2 3, ,=

= =

Dm4x[ ] L0k[ ] Q4x[ ] L0k

1–[ ]

0 0 0 r11

0 0 0 r21

0 0 0 r31

0 0 0 0

= =

Dm4y[ ] L0k[ ] Q4y[ ] L0k

1–[ ]

0 0 0 r12

0 0 0 r22

0 0 0 r32

0 0 0 0

= =

Dm4z[ ] L0k[ ] Q4z[ ] L0k

1–[ ]

0 0 0 r13

0 0 0 r23

0 0 0 r33

0 0 0 0

= =

Page 185: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

168

Page 186: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

169

APPENDIX D DERIVATION OF GLOBAL COORDINATE METHOD

The following is the derivation of the Global Coordinate Method as shown in

[Gao, Chase and Magleby 1998a].

The Global Coordinate Method in 3D represents assemblies by vector loops and

relative rotations between vectors, and can be derived starting from the differentiation of

the 3D vector expression.

(D.1)

Let X, Y, Z and i, j, k be functions of the variable u. Then, differentiating results in

[Chisholm 1978]:

(D.2)

where:

(D.3)

and {ω}={ω1, ω2, ω3}, which are the direction cosine angles of the axis of rotation.

V{ } X i{ } Y j{ } Z k{ }+ +=

d V{ }du

-------------- dXdu------- i{ } dY

du------ j{ } dZ

du------ k{ } ω V×{ }+ + +=

ω V×{ } ω2Z ω3Y–( ) i{ } ω3X ω1Z–( ) j{ } ω1Y ω2X–( ) k{ }+ +=

Page 187: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

170

D.1 Derivative with Respect to a Length Variable

Where {V} represents a vector loop, the derivative with respect to a length variable

can be obtained by letting u=Li in Equation (D.3). From Equation (D.2), the last term is

due to rotation of {V}, while the first three terms are due to its change in length. When the

derivative is taken with respect to a length variable, that last term drops out, as there is no

rotation:

(D.4)

The terms do not change for any variation δLi along the vector Li.

Thus the derivatives of the assembly function are constant terms, and are equal to the

direction cosine angles of the vector, measured in the global coordinate system. These

derivatives appear as:

(D.5)

where α, β, γ are the direction cosine angles of vector Li and variation vector δLi in the X,

Y and Z directions, respectively; Hx, Hy, and Hz are the scalar sum of vectors in the global

X, Y and Z directions; and Hθx, Hθy and Hθz are the sum of X, Y and Z rotations.

∂ V{ }∂Li

-------------- δXδLi-------- i{ } δY

δLi-------- j{ } δZ

δLi-------- k{ }+ +

δLi 0→

lim=

δXδLi-------- δY

δLi-------- δZ

δLi--------, ,

Translational Equations

∂Hx∂Li---------- αcos=

∂Hy∂Li---------- βcos=

∂Hz∂Li--------- γcos=

Rotational Equations

∂Hθx∂Li

------------- 0=

∂Hθy∂Li

------------- 0=

∂Hθz∂Li

------------ 0=

Page 188: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

171

D.2 Derivative with Respect to a Rotation Variable

To obtain the derivative with respect to a rotation variable from Equation (D.2), let

u=φi, where φi is a rotation about one of the axes of the local joint coordinate system.

Again, several terms from Equation (D.2) drop out. As the first three terms of this equa-

tion are only related to translations, they are all zeros for the derivative with respect to

rotation. Only the cross product term needs to be determined. Equation (D.3) gives the

derivatives of the assembly functions with respect to the angular variable. In that equa-

tion, the rotation is applied at the joint and the variation is similarly measured at the joint,

instead of at the origin of the global coordinate system. If the variations are to be con-

verted to be referenced from the global coordinate system, only the signs need to be

reversed:

(D.6)

From Equation (D.6), it is easy to derive the derivatives for the translational con-

straint equations in terms of the global coordinates X, Y, and Z of joint i and the direction

cosines of the rotation:

(D.7)

∂ V{ }∂φi

------------- ω3Y ω2Z–( ) i{ } ω1Z ω3X–( ) j{ } ω2X ω1Y–( ) k{ }+ +=

Translational Equations

∂Hx∂φi---------- ω3Y ω2Z–≅

∂Hy∂φi---------- ω1Z ω3X–≅

∂Hz∂φi--------- ω2X ω1Y–≅

Rotational Equations

∂Hθx∂φi

------------- ω1=

∂Hθy∂φi

------------- ω2=

∂Hθz∂φi

------------ ω3=

Page 189: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

172

Again, it is noted that the ωi terms are the direction cosine angles of the axes of

rotation, such that if an axis of rotation is considered a vector, the derivatives in Equation

(D.7) of the rotation equations are analogous to the derivatives of the translational equa-

tions in Equation (D.5).

D.3 Geometric Interpretation of the Derivatives

To further illustrate the derivation of the derivatives demonstrated in this Appen-

dix, the geometric interpretation of the same is shown here, as taken from [Gao 1993].

Figure D.1 shows a 3D vector loop with a perturbation δL3 along the vector L3. ∆X, ∆Y,

and ∆Z are the resultant variations at the end point of the last vector. When these varia-

X

Y

∆ Y ∆ X ∆ Z

Z

δ L

L

L

L

L

L

1 2

3 3 4

5

Figure D.1 A 3D vector loop with perturbation δL3

Page 190: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

173

tions are divided by δL3, the results are the derivatives with respect to L3. Thus the deriv-

atives with respect to a translational variable δL3 can be obtained simply, as shown:

(D.8)

where α, β, γ are the direction cosine angles of vector L3, or the angles between L3 and the

global X, Y and Z axes, respectively.

For a rotational variation, the derivatives are harder to illustrate, but the process for

arriving at the derivatives is similar. Equation (D.2) shows a 3D vector loop with an angle

variation δθ3z around a local z axis. This angle variation at Joint 3 will produce transla-

tional variations ∆X, ∆Y and ∆Z as well as rotational variations ∆Θx, ∆Θy, ∆Θz at the glo-

Translational Equations

∂Hx∂L3---------- ∆X

δL3---------≅ αcos=

∂Hy∂L3---------- ∆Y

δL3--------- βcos=≅

∂Hz∂L3--------- ∆Z

δL3--------- γcos=≅

Rotational Equations

∂Hθx∂L3

------------- 0=

∂Hθy∂L3

------------- 0=

∂Hθz∂L3

------------ 0=

X

Y

Z

L

L

L

L

L x

y

z δθ

Joint 3

1

2

3 4

5

3z

Figure D.2 A 3D vector loop with angle perturbation δθ3z

Page 191: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

174

bal coordinate origin. It is easy to obtain the resultant angle variations at the global

coordinate system, if we place a unit vector ω representing the rotational variation, whose

components in the global X, Y, and Z directions are ω1, ω2 and ω3 respectively. Then:

(D.9)

If the angle variable δθ3z is considered as a vector, ω1, ω2 and ω3 have the same

meanings as directions cosines that have been discussed in the translational variable case.

So the remaining work is to find out ∆X, ∆Y, and ∆Z caused by δθ3z.

Figure D.3 illustrates how ∆X is calculated. From the figure, it can be seen that

only rotations about Y1 and Z1 affect ∆X.

Thus:

(D.10)

∆Θx ω1δθ3z=

∆Θy ω2δθ3z=

∆Θz ω3δθ3z=

X

Y

Z

x

y

z δθ

Y

X

Z

(X Y Z)

∆Θ = ω δ θ

∆Θ = ω δ θ

∆Θ = ω δ θ

Y ω δ θ

− Z ω δ θ ∆ X

1

1

1

y

x z

3z 2 3 z

1 3 z 3 3 z

3 3 z

2 3 z

Figure D.3 Components of ∆X caused by δθ3z

∆X Yω3δθ3z Zω2δθ3z–=

Page 192: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

175

In the same way, ∆Y and ∆Z can be found:

(D.11)

So the derivatives can be expressed as:

(D.12)

∆Y Zω1δθ3z Xω3δθ3z–=

∆Z Xω2δθ3z Yω1δθ3z–=

Translational Equations

Hx∂

θ3z∂----------- ∆X

δθ3z-----------≅ Yω3 Zω2–=

Hy∂

θ3z∂----------- ∆Y

δθ3z-----------≅ Zω1 Xω3–=

Hz∂

θ3z∂----------- ∆Z

δθ3z-----------≅ Xω2 Yω1–=

Rotational Equations

Hθx∂

θ3z∂------------

∆Θxδθ3z-----------≅ ω1=

Hθy∂

θ3z∂------------

∆Θyδθ3z-----------≅ ω2=

Hθz∂

θ3z∂------------

∆Θzδθ3z-----------≅ ω3=

Page 193: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

176

Page 194: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

177

APPENDIX E CRANK SLIDER EXAMPLE SUPPLEMENT

This appendix contains supplemental information for the Crank Slider example

analyzed in Chapter 3 using the Derivative Operator Matrix method.

Table E.1 contains the values for each rotation and translation necessary to create a

matrix loop of the Crank slider model. The general notation for a transformation matrix in

this appendix is [Lij,m], where i represents the origination node for the transformation, j

represents the destination node, and m differentiates which among the transformations Tx,

Rx, Ry, or Rz are indicated for that matrix. Therefore, the transformation for the translation

in X between nodes 1 and 2 is [L12,tx], and is described in the second row of the table. The

transformation for the rotation about the Y axis between nodes 4 and 5 is [L45,ry], and is

described in the eleventh row in the table.

The table also provides additional information necessary to understand the model.

In the “Matrix #, Variable (Type)” column is a simple number index used for convenience

in referring to the matrices in the table and the names of each of the independent and

Page 195: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

178

dependent variables in the loop. A transformation described with a “c” in this column is a

constant, and no variation is input and no derivative operator matrix is used on this vari-

able. No variable names are assigned to these constant values. A matrix followed by a

variable name and an “i” indicates an independent variable, and is a source of variation in

the model. A variable with a “d” indicates a dependent variable, or one which responds to

the variation in the independent variables. It is the dependent variables whose values are

TABLE E.1 Table of variable entries for forming transformation matrices

Matrix #,Variable (Type)

Transformation Matrix

Type 4 X

Type 1 θx

Type 2 θy

Type 3 θz

Node 1 1, c Ry -90°

2, A (i) Tx 20 cm

3, c Ry -90°

Node 2 4, B (i) Tx 12 cm

5, c Ry -90°

6, c Rz 45°

Node 3 7, C (i) Tx 15 cm

8, c Ry 96.051985°

9, c Rz -14.280631°

10, φ1 (d) Ry 0°

11, φ2 (d) Rz 0°

Node 4 12, D (i) Tx 43 cm

13, c Ry -81.732552°

14, c Rz -44.720313°

15, φ3 (d) Ry 0°

16, φ4 (d) Rz 0°

17, φ5 (d) Rx 0°

Node 5 18, E (i) Tx 5 cm

19, c Ry -90°

20, c Rz -20.194857°

Node 6 21, U (d) Tx 53.439 cm

Page 196: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

179

iterated to find proper loop closure when a position analysis is performed using the DOM

method.

To form transformation matrices from this table, the variable value in that row is

inserted into the appropriate elementary transformation matrix from Equations (3.2)

through (3.5). Therefore, to form the fourth matrix, as the variable is in the “Type 4 - X”

column, the Type 4 matrix from Equation (E.1) (reprinted from Equation (3.5)) is used,

and 12 cm is input for the X variable in that matrix, resulting in Equation (E.2). The rest

of the matrices are formed similarly.

(E.1)

(E.2)

Of special interest in this table are the matrices 8 through 11, and 13 through 17.

They bring to light an important characteristic of the DOM method. In its standard use,

sensitivities can only be calculated for those variables contained in the transformation

matrices necessary to traverse the matrix loop describing the mechanism.

For example, if a rotation φ1 is made about the local y-axis in one transformation,

and then a rotation φ2 is made about the newly-transformed z-axis in the next transforma-

tion to arrive at a new coordinate system, the DOM provides for taking sensitivities about

Tij4[ ]

1 0 0 x0 1 0 y0 0 1 z0 0 0 1

=

L23 tx,[ ]

1 0 0 120 1 0 00 0 1 00 0 0 1

=

Page 197: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

180

φ1 and φ2, not about the axes of the final coordinate system. However, in conducting a tol-

erance analysis, it is always proper to measure sensitivities about the final joint coordi-

nates, not about the intermediate rotations used to arrive at the coordinate system.

Therefore, matrices 8 and 9 in Table E.1 represent the rotations necessary to arrive

at the final joint coordinate system for the spherical joint at Node 4 (see Figure 3.3).

Matrices 10 and 11 then contain dependent, nominally 0° rotation variables about the final

y- and z-axes of the joint, respectively. As matrix 10 is nominally zero, it will not change

the coordinate system, and matrix 11 will represent the z-axis of the same coordinate sys-

tem. The sensitivities taken about the final y- and z-axes of the joint, φ1 and φ2, respec-

tively, are then actually represented in matrices 10 and 11, while matrices 8 and 9 must

remain as constants so as to not change the desired coordinate system of the joint. Matri-

ces 13 and 14 are followed by 0° rotation matrices for the same reason.

Page 198: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

181

APPENDIX F ADAMS MODELING METHODS

This appendix contains a manual for properly modeling EVMs in ADAMS. These

methods were followed when creating and analyzing the mechanisms demonstrated in

Chapter 7. As this section will only serve useful to those who are attempting to model

EVMs and GEVMs in ADAMS, it will be assumed that the reader has already become

somewhat familiarized with the ADAMS interface through the on-line documentation

such as “Getting Started Using ADAMS/View”, or “Learning ADAMS/View Basics”.

To summarize what is contained in this appendix, the first step to modeling an

EVM is to locate and orient the local coordinate systems of each part in the assembly, or

each vector in the loop. Each of these parts are then augmented with markers that define

the extents of the parts. Markers serve as local coordinate systems that allow parts to be

joined, and allow displacement and velocity between parts to be tracked. Once the parts

and markers are created, geometry is added to give visibility to the parts. Until then, the

parts are only identified by coordinate system triads in space. Then, as explained in Sec-

tions 2.3.1.2 and 4.2, each vector in the loop is represented by two sublinks in ADAMS

Page 199: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

182

which are joined by a slider joint. Once the slider joints are added, the remaining Equiva-

lent Variational Joints and Geometric Equivalent Variational Joints (Chapters 4 and 5) are

assembled to the model to properly constrain the links with respect to each other. This

appendix will show how to model the basic joint types which are used in the creation of

the EVJs and GEVJs, but does not actually show how to build those equivalent joints spe-

cifically. See Chapters 4 and 5 on how the basic joint types are used together to form

equivalent joints. Velocity functions are then added to the slider joints on the independent

links, and measures are created to track the velocities of the dependent links. The analyses

are performed, and finally the sensitivities are extracted.

F.1 Modeling the Vector Loop as an EVM

The basic steps for modeling EVMs were outlined in [Faerber 1999] along with a

suitable naming convention for the associated parts and links. The naming convention

defined by Faerber will be used here, with only small modification, and the reader is

encouraged to read Chapter 5 of his thesis for any questions regarding this convention. As

a newer version of ADAMS (10.1) with a much improved interface is being used with this

research, these basic modeling steps will be updated in this section, although Faerber’s

underlying methods are still the same.

F.1.1 Creating Parts

Parts can be created in ADAMS by clicking PART - CREATE - RIGID_BODY -

NAME_AND_POSITION in the Command Navigator. As described by Faerber, it is

convenient to create the first sublink of the EVM with zero length. For an EVM represent-

Page 200: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

183

ing the vector “A” of the tolerance vector loop, the first part is named “.model.a1”, where

“model” is the name of the model in ADAMS. “0,0,0” is entered into the “Location”

field, and normally “0,0,0” is entered into the “Orientation” field. The location and orien-

tation are relative to some object or marker, whose name is entered in the “Relative To”

field. For the first link in the EVM, the model or the ground part is selected for the “Rela-

tive To” field. Note that the convention used here is that the length of the vector is defined

as being along the local x-axis of the link. If the orientation of the ground part or whatever

marker is being referenced in the “Relative To” field is not oriented in this manner, the

“Orientation” field of part a1 should be changed to reflect that.

The second sublink for the A vector is now created and named “.model.a2”. As

the first sublink is to be zero-length, the second is placed directly on top of it. Thus, the

“Relative To” field is entered with the name “.model.a1”, and the “Location” and “Orien-

tation” fields are again entered as “0,0,0”.

F.1.2 Creating Markers

At least two markers are created on each part to define the linear extent of the part.

As discussed in Faerber’s naming convention, the two markers which define the extents of

part a1 are named a0 and a1, and are both coincident with the initial position of part a1, as

it is a zero-length part. They can be created by clicking MARKER - CREATE in the

Command Navigator. The “Marker Name” field will be entered with “.model.a1.a0” for

the a0 marker, and “.model.a1.a1” for the a1 marker. The “Relative To” field is entered

with the part “a1” (“.model.a1”) for both markers, in addition to “0,0,0” for the location

and orientation of both markers.

Page 201: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

184

The part a2 will have three markers; two will define the extents of the part and the

third will define the orientation of the next link in the vector chain. A representation of the

placement of these markers is shown in Figure F.1. The markers a2 and a_geo_mar (or

some other suitable name) are oriented identically, and are used to define the extents of the

part. The markers a2 and a_geo_mar are created similarly to a0 and a1, but based on part

a2, such that the name for each marker will be “.model.a2.a2” and

“.model.a2.a_geo_mar”. Marker a2 is placed coincident with the first two markers, and

thus its location and orientation are “0,0,0” relative to marker a1. Although the orientation

of a_geo_mar is also “0,0,0” relative to a1, as it defines the extent of this vector A, its

location will be entered as “X,0,0”, where X is the length of the vector A as defined in the

vector loop.

The final marker, a3, will be placed at the same location as a_geo_mar relative to

marker a1, but will be oriented differently. It is generally much more convenient to orient

a3 to align with the orientation of the next link in the vector chain. Therefore, the orienta-

0

3

21

LinkSchematicRepresentation

MarkerPlacement

Part 1

Part 2 Geo_mar

Figure F.1 Representation of marker placement on sublinks with slider joint [modified from Faerber 1999]

Page 202: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

185

tion for a3 will be entered such that its local coordinate system corresponds to the desired

orientation for the next link in the vector loop, remembering to enter the values in

body231 sequence.

F.1.3 Creating Geometry

Geometry is created for the sublink parts to make them visible. This is accom-

plished by selecting GEOMETRY - CREATE - SHAPE - LINK. A standard name, such

as “.model.a1.geom” could be created for the geometry that will be attached to the a1 part.

The names of the I and J markers that define the part will be entered, which would be

“.model.a1.a1” and “.model.a1.a0”, respectively, for the a1 part geometry. The width and

depth may be entered as whatever values seem visually appealing to the user. This same

process is repeated for the a2 part, where the geometry is based on markers a2 and

a_geo_mar. The a_geo_mar was created specifically as a reference for the geometry, as

the two markers which define the geometry must have the same orientation, while marker

a3 is given a different orientation. Note that due to the way geometry is created by

ADAMS, even the zero-length sublinks will be visible once geometry is added.

F.1.4 Creating Mass Properties

Although mass properties should not be necessary in ADAMS for a strictly kine-

matic analysis, they may be needed if the model has more than zero kinematic degrees of

freedom, which would require running a dynamic analysis. Note that the resulting veloc-

ity sensitivities should be the same regardless of whether dynamic or kinematic is chosen

for the analysis type. The process for applying mass properties starts with selecting PART

Page 203: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

186

- CREATE - RIGID_BODY - MASS_PROPERTIES. The part name to which the mass

properties will be applied is selected, and “Calculated Mass Properties” and “Material

Type” are selected. Then the user may double-click the field to the right of “Material

Type”, and select one of the materials there. It does not matter which material type is cho-

sen.

F.1.5 Applying a Slider Joint

To finish the EVM link, a slider joint must be applied between the two sublinks.

This translational joint is added by selecting CONSTRAINT - CREATE - JOINT -

TRANSLATIONAL. The joint could be named “a_trans”, or something similar, identify-

ing both the joint type and the part name. The translational joint is then positioned using

coordinates, as discussed in Section F.2, using part a1 as the “I Part”, and part a0 as the “J

Part”. The location is “0,0,0” and the orientation is “90,90,0” relative to “.model.a1.a1”.

If this is to be an independent link, then a velocity function will be added, as described in

Section F.3.

F.1.6 Finishing the Vector Loop

The previous sections have shown how to model a single EVM link for a tolerance

vector loop. Finishing the model simply requires repeating this process for subsequent

vectors. If the final marker for each link, the a3 marker as discussed above, is properly

oriented to align with the next link, then the initial orientations and locations of all parts *1

and *2, and all markers *0, *1, and *2, will always be “0,0,0” relative to the previous

marker. The only modification between links need be the position and orientation of the

Page 204: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

187

geometry marker and the *3 marker, to properly represent the length of the vector, and the

orientation of next vector in the loop. Note that it is usually convenient to have the *3

marker of the last vector in the loop align with the ground marker. It should also be noted

that manually creating these EVM links is tedious, and can be a source for introducing

error into the model if not done precisely. For this purpose, macros were created to auto-

mate the process of building the links as described in Sections F.1.1 through F.1.5, and are

described in APPENDIX G.

After completing each of the individual links, joints are added to constrain the

links together to properly model the EVM or GEVM, as discussed in the next section.

F.2 Joint Location and Orientation

Although there are multiple ways of creating and orienting joints in ADAMS, the

explanations in this section will demonstrate the creation of joints using the “Command

Navigator” in ADAMS, accessed through the TOOLS - COMMAND NAVIGATOR

menu. The joint creation menus can be found in the Command Navigator by choosing

CONSTRAINT - CREATE - JOINT. The methods explained below allow more precise

control over the exact placement and orientation of joints than do other methods, and are

thus more convenient for constructing EVMs. Also note that all orientations are entered in

the Body-fixed 231 coordinate system, where the first rotation is made about the local y-

axis, the second rotation is made about the newly-transformed local z-axis, and the third

rotation is made about the newest local x-axis. This coordinate system is chosen by click-

Page 205: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

188

ing SETTINGS - COORDINATE SYSTEM, and choosing “231” for rotation sequence,

and clicking “Body-Fixed”.

PIN JOINT: The pin (revolute) joint, by default, is oriented such that rotation

occurs about the z-axis of the marker it is oriented with respect to. If rotation about the z-

axis of an existing marker is desirable, the pin joint should be modeled using “Position by

Using Markers” under the CREATE - JOINT - REVOLUTE menu. In ADAMS, the

adopted convention is that “I” is located/oriented relative to “J”. Thus, the “I Marker

Name” field should be filled with the marker of the part that will be moving relative to the

other part. The “J Marker Name” field should then be filled with the marker with respect

to which the rotation is occurring. The relationship between the I and J markers is

depicted in Figure F.2. The z-axis of both the I and the J markers should be colinear with

the desired axis of rotation.

However, if the desired rotation is to be about an axis not represented by an exist-

ing marker, the joint should be oriented using “Position by Using Coordinates”, whereby

coordinates are input which give a specific orientation relative to an existing marker. The

j i

Vrel

MovingPart

Figure F.2 I moves relative to J

Page 206: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

189

part with respect to which the rotation will occur should be entered in the “J Part Name”

field, with the “I Part Name” field containing the part which will rotate with respect to the

“J Part”. The “Relative To” field is filled with the name of a marker with respect to which

the pin joint will be located and oriented. The “Location” and “Orientation” fields are

then filled with the relative coordinates and orientation angles of the joint. If a marker is

chosen which is coincident to the desired location of the joint, then “0,0,0” is entered in

the “Location” field. To align the axis of rotation of the pin joint with the x-axis of the

specified “Relative To” marker, enter the orientation as “90,0,0”. To align the axis of

rotation with the y-axis of the specified marker, enter the orientation as “0,0,90”. The pin

joint, in addition to each of the joints discussed in this section, can be seen as represented

in ADAMS in Figure F.3.

TRANSLATIONAL JOINT: The translational joint should always be modeled

using “Position by Using Coordinates” to orient the axis of translation along the x-axis of

the appropriate part, which is a convention used in the ADCATS research group. This is

P in Tr a n s la t io n a l S p he r ic a l

F ixe d P la n a r C ylin d r ic a lFigure F.3 ADAMS joints used in EVMs

Page 207: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

190

achieved by entering “90,90,0” as the orientation. This rotation is necessary because the

joint will be created with the translational degree of freedom occurring about the local z-

axis. The other fields are filled as described in the “Position by Using Coordinates” para-

graph of the Pin Joint section.

SPHERICAL JOINTS: Spherical joints can be easily oriented using the “Position

Using Markers” method. The I and J markers for the two parts being joined are preferably

coincident, with all three axes of the markers’ coordinate systems colinear, but it need not

be so if the spherical joint will be used exclusively for dependent angles. However, for

applying angular velocities to the joint axes for dimensional or geometric variation, the

two markers should be identical in orientation.

FIXED JOINTS: Fixed joints can be placed using any convenient method. If they

are placed using the “Command Navigator” and “Position Using Markers”, the marker

from each part to be joined must have exactly the same orientation for the X, Y, and Z axes.

The icon that is displayed defaults to displaying the joint in the XY plane of the chosen

markers. It should not make a difference in the way the constraint is treated, but if it is

desired to display the joint icon in a different plane or orientation, “Position by Using

Coordinates” may be used with satisfactory results.

Additionally, the fixed joint may be placed using the graphical joint menu in the

Main Toolbox, and “2 Bod - 1 Loc” construction. Here, the user selects the first part to be

joined, then the second (where the first part is constrained relative to the second), and then

the marker at which the joint is to be placed. If “Normal to Grid” is selected, the joint icon

Page 208: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

191

will simply appear facing normal to the model grid, which is most likely desirable. If

“Pick Feature” is selected, after picking the two parts (“bodies”) and location, the user is

prompted to select the orientation of the joint by selecting an axis which the joint face will

be normal to. Again, the orientation of a fixed joint is inconsequential with regard to the

functionality of the constraint or the axes that will be constrained, but these methods may

be used to orient the icon for the convenience of the user.

PLANAR JOINTS: Planar joints are oriented by default, such that the two transla-

tional degrees of freedom are along the local x and y-axes, or that the “plane” of the planar

joint is in the XY plane of the local markers. “Position by Using Markers” should nor-

mally be used, but if the local markers are not oriented such that this would give correct

placement of the joint, then “Position by Using Coordinates” should be used. The orienta-

tion should be set such that the XY plane of the joint is in the plane of the desired transla-

tional degrees of freedom.

CYLINDRICAL JOINT: The cylindrical joint is oriented such that the translation

occurs along the local z-axis. If the existing local markers are oriented such that this is

desirable, then “Position by Using Markers” is the easiest method of creation. However, if

the cylindrical joint needs to be oriented along an axis not represented by the z-axis of an

existing marker, then “Position by Using Coordinates” should be used. The instructions in

the Pin Joint sections regarding this apply to the cylindrical joint as well.

Page 209: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

192

Once all of the proper Equivalent Variational Joints have been added to the model,

Equivalent Variational Sources must be added to the degrees of freedom which represent

independent and geometric variation, as explained in the next section.

F.3 Modeling Equivalent Variational Sources

The steps for modeling Equivalent Variational Sources consist of adding velocity

functions to the independent and geometric variables as described in Section 4.2.

To avoid problems with initial conditions (ICs), all velocity functions should be

modeled as displacement functions per time. For example, with length and time units set

to centimeters and seconds respectively, a velocity function of “1” will give a velocity of 1

cm/s, while an analogous displacement function of “1*time” will also give 1 cm/s. The

use of the displacement function forces ADAMS to input a velocity of 1cm/s, with all ini-

tial conditions set to zero. If a velocity function is used, there exist initial conditions that

are usually left undetermined, and ADAMS may set these ICs to any “convenient” values

to allow the model to assembly properly just prior to a kinematic analysis. Such undeter-

mined ICs can lead to inaccurate analysis results.

The displacement function can be added to any joint that has been used to model

dimensional or geometric variation in the model. Once the joint has been selected, a right-

click will bring up a context menu from which the MODIFY menu should be selected.

From this menu, IMPOSE MOTION is selected. From the IMPOSE MOTION menu, the

appropriate degree of freedom TYPE should be set to “disp(time)”, and the F(TIME)

Page 210: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

193

should be entered as “1*time”. Note that this same procedure is followed for both transla-

tional and angular variation sources, inputting the same function for both cases.

F.4 Conducting the Analysis

A simulation, or analysis is performed on the model in ADAMS which actually

applies the input velocities and measures the output velocities. One of the advantages of

using ADAMS to conduct the tolerance analysis is its ability to perform such analyses on

assemblies at one static location, or automate a series of analyses at multiple positions of a

mechanism.

F.4.1 Creating Measures

After the whole EVM/GEVM has been created, measures must be put on the

dependent variables to measure the output velocities. The process is fairly straightfor-

ward. For a rotational dependent variable, regardless of whether it is a revolute, spherical,

or even cylindrical joint, simply right-click near the joint that describes the dependent

variable and select the proper joint from the menu. Select the MEASURE menu, which is

shown in Figure F.4. It is most convenient to give the measure the same name as the

dependent variable it is measuring. The “Joint” field will be filled automatically. Only

the “Characteristic” field needs to be changed from the default to show “Relative Angular

Velocity”. Then the component must be chosen, defining whether the rotation being mea-

sured is about the X, Y, or Z local axis. The “From/At” field will affect which direction is

considered positive. Normally, the marker specified as the “J” marker when defining the

Page 211: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

194

joint will be the appropriate choice. The last issue is defining which marker this measure

is being oriented by, which is defined in the “Represent Coordinates In:” field. It is the

marker specified in this field that determines which coordinate system will be referred to

in measuring about the axis specified in the “Component” field. It is best to select the *0

marker of the part which exits the joint. For example, in the first spherical joint in the

crank slider, between parts C and D (specifically C2 and D1), the *0 marker for D1 will be

chosen, “.d1.d0”, as shown in Figure F.4. Thus, as the D part is moved about, the measure

will accurately record the appropriate rotations. Finally, ensure that the “Create Strip

Chart” box is checked so that a real-time plot will be superimposed on the model, and

click “OK”.

For a translational dependent variable, the measure can be created as described

above, by right-clicking near the joint, selecting the joint from the available choices, and

Figure F.4 Joint Measure Menu

Page 212: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

195

then selecting the MEASURE menu. The resulting Joint Measure menu shown in Figure

F.5 is actually identical to that shown in Figure F.4, except that different options are avail-

able when “Relative Velocity” is appropriately chosen from the “Characteristic” field

instead of the “Relative Angular Velocity” chosen for the rotational variables. This trans-

lational measure should similarly be named for the dependent variable it is to measure.

The “Joint:” field is again already filled. The “Component” field for a translational vari-

able should always be selected as X, with the “Represent coordinates in:” and the “Do time

derivatives in:” fields filled with the name of the *0 marker for the translational joint

being measured. The “From/At:” field should again be chosen to be the marker created on

the “J” part specified when creating the translational joint, which is normally the *1 part.

Again, verify the “Create Strip Chart” box is checked, and click “OK”. The procedures

here should be repeated to create a measure for every dependent variable in the model.

Figure F.5 Translational Measure Menu

Page 213: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

196

F.4.2 Static Assemblies

The contributions to variation are isolated by activating a unit velocity in one of

the independent dimensional or geometric vector links and setting all other input veloci-

ties to zero. The only exception to this procedure is the case where more than one velocity

is controlled by a single dimension, such as if two vectors described the radius of a cylin-

der as shown in the clutch example in Chapter 2, Figure 2.11. In such a case, both vectors

describe the same radius, and their velocities would be always equal if no geometric vari-

ation is considered, such that any sensitivity analysis run on that radius would be con-

ducted with an equal input velocity on both vectors.

The dependent variable output velocities resulting from the analysis will be equal

to the tolerance sensitivities for the variable with the active unit velocity. Each analysis

will thus form a column of the sensitivity matrix for the model, showing the sensitivities

of each dependent variable to that independent variable. One such analysis must be con-

ducted for each dimensional variable to form the entire -[B]-1[A] dimensional sensitivity

matrix, and one for each geometric variable to form the entire -[B]-1[F] geometric sensi-

tivity matrix [Faerber 1999].

To simplify the model and aid in debugging any possible problems, the model

should be restricted to zero kinematic degrees of freedom, and the analysis should be run

in kinematic mode. The number of idle degrees of freedom in the model can be checked

by clicking TOOLS - MODEL VERIFY. The resulting display will describe whether the

model is perfectly constrained with zero degrees of freedom, underconstrained with idle

Page 214: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

197

kinematic degrees of freedom, or overconstrained. Note that if the model has fewer than

six dependent variables, then the model will likely be shown as overconstrained, as there

are fewer variables than equations in the 3D environment. This is acceptable, and the

model can still be analyzed in kinematic mode. If the model verification shows extra

degrees of freedom, the model is underconstrained and should be inspected to find any

parts that are still free to move. For example, it is shown in Chapter 7 that the crankslider

has an idle degree of freedom. It was removed by imposing a displacement function of

“0.0*time” on the x-axis of the spherical_cd joint, which prevents the link from spinning

freely along its axis between the two spherical joints.

Once the proper velocities have been applied and measures created, the analysis

can be run. The analysis menu shown in Figure F.6 can be accessed by clicking on the

calculator icon in the Main Toolbar. Select “Kinematic” for analysis type, and enter an

end time of “1” second. Enter “1” for the step size. Then click the Start button, indicated

in Figure F.2. The analysis will run through its calculations and the sensitivities will be

ready for extraction. The results at time zero are the correct sensitivities, as the partial

Figure F.6 Analysis Submenu in Main Toolbox

Start Button

Page 215: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

198

derivatives in the sensitivity calculations are small instantaneous changes. Each new anal-

ysis is by default named LAST_RUN. As the analysis LAST_RUN is always overwritten

with the results from the last analysis conducted, the current results should be saved by

selecting ANALYSIS - MODIFY from the Command Navigator. Select this in the “Anal-

ysis Name” field, then type in a new name in the “New Analysis Name” field to uniquely

identify the analysis that has been run.

F.4.3 Kinematic Mechanisms

For a mechanism, a series of analyses must be run at incremental positions of the

input crank. ADAMS can fully automate the analyses with the incrementing of the input

crank to create a tolerance analysis solution at every position of mechanism. For such

analysis, there are two types of motions. There are the small kinematic adjustments due to

dimensional and geometric variation in the model, and there are larger kinematic motions

due to inputs in the mechanisms such as the rotational motion of the crank in the crank

slider assembly. Therefore, an analysis of the mechanism first needs to be run, where the

only input velocity is on the input crank. The displacement function used to apply veloc-

ity on the larger kinematic motion is usually specified as “1d*time”, which, for a rota-

tional input, will result in a constant velocity of 1 degree per second, assuming the unit for

time is specified as seconds. This is a benchmark, performed at each position of the input

crank to determine the contribution of the input crank motion to the assembly variation.

Then, with the larger kinematic motion still active, the analyses for the individual inde-

pendent variations are conducted one at a time, and the sensitivities due to the larger kine-

matic motion are subtracted from the sensitivities due to the smaller independent

Page 216: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

199

variations [Faerber 1999]. Note, if the variation due to error in the input crank angle is

desired, a unit velocity would be applied to the crank in a static analysis as described in the

previous section, and the sensitivities to each output variable would be calculated.

The critical modification is in the velocity applied to the independent variables. In

a static assembly, when only one analysis is run, a constant velocity can be applied to the

link, as only the result at time zero matters. However, in a mechanism, where multiple

analyses will be conducted, it is important that the links of the mechanism return to their

nominal lengths at each position, so the analysis at each position can then be run at the

nominal lengths. To get the link with the input “variation” to return to its nominal length

at each position of interest, the input variation is simulated with an oscillating velocity

function.

This process is detailed in Chapter 5 of [Faerber 1999], however the basic theory is

to set the period of the velocity function equal to the step size of the analysis. When a

cosine function is used, this results in the link returning back to nominal length with a unit

velocity at every analysis step. Equation (F.1) demonstrates the proper velocity function

as entered in ADAMS for use with an analysis that has a step size of 1 second. Where

more resolution in the analysis is desired, the step size can be decreased, which would

require modifying the cosine function. For example, a step size of 1/10th of a second

would require a cosine function as shown in Equation (F.2).

(F.1)

(F.2)

2 pi time⋅ ⋅( )cos

20 pi time⋅ ⋅( )cos

Page 217: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

200

The first analysis is run with only the velocity applied to the larger kinematic

motions. The step size should be modified according to the required resolution and the

period of the oscillating velocity functions that will be run subsequently. The analysis end

time should then be modified to allow the mechanism to move through the desired range

of motion. For example, a desired travel of 90 degrees would be obtained by setting the

end time (or duration) to 90 seconds if the analysis is set with a step size of one second,

and the velocity applied to the kinematic motion is 1 degree/second. It is important that

each of the analyses, both of the larger kinematic motion and of each of the smaller kine-

matic adjustments, have the same number of analysis steps, such that the column of data

for each analysis is the same length. This will be important when exporting the results.

Run the analysis, then save this analysis by modifying the name of the

LAST_RUN analysis as described at the end of Section F.4.2. Then, when each of the

independent variation source analyses are run with their oscillating velocity functions,

each one should be saved off to a unique and identifiable analysis name.

F.5 Extracting Sensitivities

When the velocity sensitivities are properly extracted from ADAMS, they will be

equal to the tolerance sensitivities, because of the velocity/variation analogy. The sensi-

tivities are extracted by performing multiple analyses, one for each dimensional and geo-

metric variation, as detailed in Section F.4. If the analyses were properly saved which

contain the dependent velocities caused by each independent input velocity, then extract-

Page 218: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

201

ing the sensitivities requires little more than selecting the desired results and exporting a

text file from ADAMS.

F.5.1 Exporting Results from Static Assemblies

Once each analysis has been run and saved, go to the REVIEW - POSTPROCESS-

ING menu, which will bring up the ADAMS/PostProcessor interface. Note that returning

to the standard ADAMS/View modeling interface is accomplished by selecting FILE -

CLOSE PLOT WINDOW. From the PostProcessor, select FILE - EXPORT - NUMERIC

DATA. This will bring up the Export interface, as shown in Figure F.7.

In the “File Name” field, any desired file name may be used, although a *.txt

extension should probably be used when working in a MS Windows environment. The

“Sort By” field should be set to “Time”, and the “Order” set to “ascending”. The “Results

Data” field is where the results from each measure from each analysis are selected so that

Figure F.7 Export Numeric Results Menu

Page 219: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

202

all the sensitivities can be output in one file. Double-clicking on the blank “Results Data”

field brings up a Database Navigator window, as shown in Figure F.8. All the saved anal-

yses will be available. When each analysis is expanded one level, the names of the mea-

sures from the model will be visible at this level, in addition to many other joints and

components of the analysis. Simply expand each applicable measure name so that the

measure components Q and TIME are visible, as shown in Figure F.8. The Q component

is the numeric result. Expand the measures for each analysis, and then select one TIME

component (it doesn’t matter which, as all will be identical) and each Q component for

Figure F.8 Selecting Results for Export

Page 220: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

203

every measure of each analysis. Hold down the CTRL button in Windows to select multi-

ple components. Once all of the components have been selected, click OK.

The resulting file can be imported into MS Excel, or viewed in any standard text

viewer, and should appear as partially shown in Table F.1. ADAMS outputs numeric data

only five columns at a time. So, after the first five sets of data, it starts a new row. Each

row of data is preceded by a legend of sorts that explains what result is included in which

column. The legend for the first set of data in Table F.1 explains that the first column is

the Time index, showing the first row of the data to be at time zero. It shows also that the

remaining four columns of data in this first group are the sensitivities of φ1, φ2, φ3, and φ4

to the input of a. As was mentioned earlier, only the first row of numbers, at time zero,

represent the sensitivities of the dependent variables to the independent variables. The

numbers can then be pulled out of this file to form the sensitivity matrices for the dimen-

sional variations in -[B]-1[A] and for the geometric variations in -[B]-1[F].

A. .crankslider_43.static_a_trans.TIME (sec) B. .crankslider_43.static_a_trans.phi1.Q (rad/sec) C. .crankslider_43.static_a_trans.phi2.Q (rad/sec) D. .crankslider_43.static_a_trans.phi3.Q (rad/sec) E. .crankslider_43.static_a_trans.phi4.Q (rad/sec) A B C D E 0.000000E+000 -1.609298E-002 -1.696848E-002 2.325045E-002 2.443767E-003 1.000000E+000 -1.603477E-002 -1.711457E-002 2.333839E-002 2.195408E-003 A. .crankslider_43.static_a_trans.phi5.Q (rad/sec) B. .crankslider_43.static_a_trans.trans_u_MEA_1.Q (cm/sec) C. .crankslider_43.static_trans_b.phi1.Q (rad/sec) D. .crankslider_43.static_trans_b.phi2.Q (rad/sec) E. .crankslider_43.static_trans_b.phi3.Q (rad/sec) A B C D E 5.982019E-004 -1.060714E-001 -1.573668E-006 2.507410E-007 9.430637E-007 7.729214E-004 -1.305217E-001 -1.573668E-006 2.507403E-007 9.430638E-007

TABLE F.1 Sample output of numeric results

Page 221: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

204

F.5.2 Exporting Results from Kinematic Mechanisms

Exporting the results for a kinematic mechanism is essentially the same, with one

important step added. As mentioned in the analysis section, the sensitivities due to the

larger kinematic motions must be subtracted from each set of results from the dimensional

and geometric input analyses. So, the results saved from the larger kinematic motion and

from each of the analyses with the dimensional and geometric input velocities are

exported from ADAMS using the process described in the previous section. Notice now

that instead of having data for time zero and time one, data will exist for the full range of

motion specified during the analysis. If the exported data is taken into Excel, the columns

of results can be manipulated to bring out the tolerance sensitivities at each position spec-

ified in the analysis. Although there is a function for performing subtraction of data

curves in the ADAMS postprocessor, it is easier to handle all of that data in Excel after-

wards. The individual columns of data from the larger kinematic motion results need to be

subtracted from the corresponding columns of the results from each of the independent

variation source analyses. The resulting columns are the tolerance sensitivities through

the whole range of motion.

Page 222: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

205

APPENDIX G MACRO FOR CREATION OF EVMS IN ADAMS

The creation of EVM linkages manually in ADAMS can be repetitive and tedious.

To alleviate such monotony, macros were created to automate the basic tasks of building

independent and dependent EVM links in ADAMS. The macros, of course, work identi-

cally for EVMs or GEVMs.

Included at the end of this appendix is the full text of the macro for creating inde-

pendent EVM links. The macro for creating dependent EVM links is not included, as it is

identical to the independent macro, except it does not contain the last three lines of func-

tional code that pertain to creating the velocity function on the slider joint, and the

USER_ENTERED_COMMAND is “evm_dependent”, instead of “evm_independent”.

Once this macro has been copied to a text file named with a *.cmd extension, such

as “evm_independent.cmd”, it may be readily imported into ADAMS. The procedure for

doing so starts with selecting TOOLS - MACRO - READ from the menu bar on the top of

the ADAMS screen. Under “Macro Name”, any desirable name may be entered. It is by

this name that the macro will be referred to in ADAMS. In the “File Name” field, type or

Page 223: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

206

select the path of the *.cmd macro file. It is recommended to select “YES” under “WRAP

IN UNDO”, so that the entire EVM may be deleted with a single UNDO command if a

mistake is made. Also, “CREATE PANEL” should be set to “YES”. Click OK. Now, the

macro will be available through the Command Navigator. If the Command Navigator was

open during the creation of the macro, it will have to be closed and re-opened to refresh its

listing. Where the name of the macro is found in the Command Navigator, it may be dou-

ble-clicked to bring up a menu panel interface created for this macro. It will appear as

shown in Figure G.1.

Use of the macro is fairly simple. In the PART NAME field, the name of the vec-

tor should be input. Such that if the vector loop model contains a dimension “A” which

will be modeled by an EVM link, then “A” will be input as the part name. The macro will

automatically create the two distinct parts named “A1” and “A2”. The desired vector

length, or link length of the EVM should be input in the LINK LENGTH field. The POSI-

TION field describes the initial position of the A1 part and the A0 marker relative to what-

ever part or marker is described in the RELATIVE TO WHAT field. This field will

normally be filled with the *3 marker of the previous link. Normally, the POSITION will

be set to “0,0,0”, but it may be necessary or desirable at times to do otherwise. The INI-

TIAL ORIENTATION field likewise describes the orientation of the EVM relative to the

prescribed marker. This will also normally be “0,0,0”, as the *3 marker of the previous

link is usually oriented to align with the next link in the vector loop, but sometimes it may

be chosen otherwise. An example of when this would be used is at the beginning of the

Page 224: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

207

vector loop, where the first vector does not travel down the length of the global X-axis, an

initial orientation must be entered to properly orient the EVM link.

The GEOM WIDTH and GEOM DEPTH fields simply determine the size of the

geometry link that is created to give the EVM links form. Any values convenient to the

user may be chosen, as they do not affect the analysis or model in any way.

The END ORIENTATION field will set the orientation of the *3 marker. Nor-

mally, this is prescribed such that the marker will be oriented to the next vector in the

loop. In addition to simplifying the creation of the next EVM, as it can then simply be

located and oriented exactly as is this *3 marker, but for Fixed Joints and some other joint

types, it will be necessary to have a marker on each part that are perfectly aligned and

Figure G.1 Macro Panel Interface for Independent EVM Macro

Page 225: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

208

coincident. If the END ORIENTATION field is set properly, then the *3 marker of one

link and the *0 marker of the next link can be used for such purposes.

The VELOCITY FUNCTION field is used to impart a velocity to the independent

links to represent dimensional or geometric variation. As described in Section F.3, a dis-

placement function is actually preferred, to avoid initial condition issues. The field name

says VELOCITY to reflect the purpose of the function, while the macro will actually cre-

ate a displacement function. As such, the function should be entered as either “1*time” or

“0*time” to create a velocity from the displacement function. As all of the EVM links are

being built, it is probably easiest to leave all the functions at “0*time”, and then simply go

modify the one function that will be used as the input variation for that analysis. The dis-

placement function is named “slider_A”, for a vector named “A”, and can be modified by

selecting the motion (represented by an arrow outline), right-clicking, and choosing

MODIFY.

Even when all of the EVM links representing the vectors in the vector loop have

been created using this macro, the EVM is not yet complete. Afterwards, the Equivalent

Variational Joints must be inserted between the EVM links to properly constrain the

model. For GEVMS, appropriate velocities must be added to represent geometric varia-

tion inputs. And, measures must be created to record data from the dependent variables.

While the macros do not complete the entire EVM, they greatly simplify the building pro-

cess and reduce the modeling time.

Page 226: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

209

NOTE: Sometimes, when creating a part using the macros, especially when creat-

ing zero-length parts, the *.cm marker which locates the center of mass for the part, is ori-

ented in some strange manner. This does not affect the outcome of the analysis, and

doesn’t appear to affect the mechanism in any way.

Macro Code:

!------------evm_independent.cmd------------------------------------------!USER_ENTERED_COMMAND evm_independent!HELP_STRING This macro is to create a EVM part with a joint(parts 1 and 2)!Parameter: $part_name!Parameter: $link_length:t=real!part create rigid_body name_and_position part_name=$'part_name'1 &location=$position orientation=$initial_orientation &relative_to=$relative_to_what!marker create marker_name="$'part_name'0" location=0,0,0 orientation=0,0,0 &relative_to=$'part_name'1!marker create marker_name="$'part_name'1" location=0,0,0 orientation=0,0,0 &relative_to=$'part_name'1!geometry create shape link link_name="link_$'part_name'1" i_marker="$'part_name'1" &j_marker="$'part_name'0" width=$geom_width:U=.5 depth=$geom_depth:U=.1!part create rigid_body mass_properties part_name=$'part_name'1 material_type=steel!part create rigid_body name_and_position part_name=$'part_name'2 &location=0,0,0 orientation=0,0,0 relative_to=$'part_name'1!marker create marker_name="$'part_name'2" location=0,0,0 orientation=0,0,0 &relative_to=$'part_name'2!marker create marker_name="$'part_name'3" location=$'link_length',0,0 &orientation=$'end_orientation' relative_to=$'part_name'2!marker create marker_name="$'part_name'_geom_marker" location=$'link_length',0,0 &orientation=0,0,0 relative_to=$'part_name'2!geometry create shape link link_name="link_$'part_name'2" &i_marker="$'part_name'_geom_marker" &j_marker="$'part_name'2" width=$geom_width depth=$geom_depth

Page 227: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

210

!part create rigid_body mass_properties part_name=$'part_name'2 material_type=steel!constraint create joint translational joint_name="trans_$part_name" &i_part_name=$'part_name'2 j_part_name=$'part_name'1 location=0,0,0 orientation=90,90,0 &relative_to=$'part_name'1!constraint create motion_generator motion_name="slider_$part_name" &joint_name="trans_$part_name" function=$velocity_function:D=0.0*time &type_of_freedom=translational time_derivative=displacement!----------------------------------------------------------

Page 228: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

211

REFERENCES

ANSI (American National Standard Institute), 1982, Dimensioning and Tolerancing,ANSI Y14.5M - 1982. New York: American Society of Mechanical Engineers (ASME).

Chase, K.W., 1999, "Multi-Dimensional Tolerance Analysis." Chapter in Dimensioning &Tolerancing Handbook, ed. Paul J. Drake, Jr., New York: McGraw Hill.

Chase, K.W., Gao, J., Magleby, S.P., Sorensen, C.D., 1996, “Including Geometric FeatureVariations in Tolerance Analysis of Mechanical Assemblies,” IIE Transactions (Instituteof Industrial Engineers), Vol. 28, No. 10, Oct. 1996, pp. 795-807.

Chisolm, J.S.R., 1978, “Vectors in Three-Dimensional Space,” Cambridge UniversityPress.

Desrochers, A., Riviere, A., 1997, “Matrix Approach to the Representation of ToleranceZones and Clearances,” International Journal of Advanced Manufacturing Technology,Vol. 13, No. 9, pp. 630-636.

Faerber, P., 1999, “Tolerance Analysis of Assemblies Using Kinematically-DerivedSensitivities,” M.S. Thesis, Brigham Young University, Provo, Utah.

Gao, J., 1993, “Nonlinear Tolerance Analysis of Mechanical Assemblies,” Ph.D. Disserta-tion, Brigham Young University, Provo, Utah.

Gao, J., Chase, K.W., Magleby, S.P., 1998a, “Global Coordinate Method for DeterminingSensitivity in Assembly Tolerance Analysis,” Proceedings of the ASME InternationalMechanical Engineering Conference and Exposition, Anaheim, California.

Gao, J., Chase, K.W., Magleby, S.P., 1998b, “Generalized 3-D Tolerance Analysis ofMechanical Assemblies with Small Kinematic Adjustments,” IIE Transactions (Instituteof Industrial Engineers), Vol. 30, No. 4, April 1998, pp. 367-377.

Goodrich, C.G., 1991, “Representation and Modeling of Geometric Form Variations for3-D Tolerance Analysis,” M.S. Thesis, Brigham Young University, Provo, Utah.

Huo, H., 1995, “New Tolerance Analysis Methods for Preliminary Design in MechanicalAssemblies,” Ph.D. Dissertation, Brigham Young University, Provo, Utah.

Marler, J.D., 1988, “Nonlinear Tolerance Analysis Using the Direct LinearizationMethod,” M.S. Thesis, Brigham Young University, Provo, Utah.

Page 229: Incorporating Geometric Variation with Kinematic Tolerance ...adcats.et.byu.edu/Publication/01-2/Dabling01-2.pdf · INCORPORATING GEOMETRIC FEATURE VARIATION WITH KINEMATIC TOLERANCE

212

Robison, R.H., 1989, “A Practical Method for Three-Dimensional Tolerance AnalysisUsing a Solid Modeler,” M.S. Thesis, Brigham Young University, Provo, Utah.

Sandor, G., and Erdman, A., 1984, Advanced Mechanism Design: Analysis and Synthesis,Vol. 2, New Jersey: Prentice Hall.

Ward, K., 1992, “Integrating Geometric Form Variations into Tolerance Analysis of 3-DAssemblies,” M.S. Thesis, Brigham Young University, Provo, Utah.

Whitney, D.E., Gilbert, O.L., Jastrzebski, M., 1994, "Representation of Geometric Varia-tions Using Matrix Transformations for Statistical Tolerance Analysis in Assemblies,"Research in Engineering Design, Vol. 6, pp. 191-210.