You are on page 1of 180
Automatic Setup Planning and Fixture Design for Machining by Hiroshi Sakurai B.S., Ocean Engineering University of Tokyo Mareh, 1967 S.M., Mechanical Engineering Massachusetts Institute of Technology September, 1982 Submitted to the Department of Mechanical Engineering in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Mechanical Engineering atthe Massachusetts Institute of Technology January, 1990 © Massachusetts Institute of Technology, 1990, All rights reserved. Signature of Author poe eee ‘Department of Mechanical Engineering January 12, 1990 Certified by = oe Professor David C. Gorsard Thesis Supervisor Accepted by ‘ARCHIVES ; Ain A. Sonin mssacwusertsingtmure Caiman, Department Committee ‘OF TECHNOLOGY AUG 13 1990 LIBRARIES Automatic Setup Planning and Fixture Design for Machining by Hiroshi Sakurai ‘Submitted to the Department of Mechanical Engineering on January 12, 1990 in partial fulfillment of the requirements for the Degree of Doctor of Philosophy Abstract The motivation for this work is the automation of machining planning, which is currently performed manually. Though there have been many research efforts toward the automation of machining planning, setup planning and fixture design is one of the least. studied areas and it remains a major missing link in automating machining planning. Basic research issues involved in automating setup planning and fixture design are: 1) representation of the finished part and intermediate workpiece, 2) generation of intermediate workpiece geometry in each setup and 3) selection of locating and clamping pos’ ons. ‘A system was developed which plans setups and designs fixtures for machining a prismatic part on a three-axis machining center. Input to the system is a solid model of the final part, Output from the system is a sequence of setups and fixture configurations to machine the part. Highlights of the work include the following. 1) The finished part and intermediate part are represented as both a feature-based model and a solid model. A feature-based model is generated from the solid model of the part by algorithms for feature recognition developed in this research. 2) For each feature to be machined in a given setup, the volume swept out by the cutter is, generated based on the type of the feature and its spatial relationships with other features. The cutter volume is subtracted from the workpiece solid model of the previous setup. The feature-based model is also updated accordingly. 3) The issue of the selection of locating and clamping positions was studied. Five requirements for proper fixturing were identified. They are: accurate locating, total restraint of workpiece, acceptable workpiece deformation, no interference between fixture, workpiece and cutter, and “goodness” of the design. Accurate locating was studied in the framework of current dimensioning and tolerancing standard. Total restraint of workpiece was studied with both kinematic methods and quasi-static equilibrium methods. For each of these requirements, algorithmic and/or heuristic methods were developed to synthesize and/or analyze fixture configuration. The results of the above study were structured into a "setup planning and fixture design” plan and the plan was in turn implemented and tested with example parts. Thesis Committee: Prof. David C. Gossard, Chairman Prof. Randall Davis Prof. Tomas Lozano-Perez ACKNOWLEGMENTS I wish to thank Professor David C. Gossard for his academic guidance, patience and care all through my graduate studies at MIT. I would like to thank Professor Tomas Lozano-Perez for his invaluable guidance and for his being a great researcher. I would like to thank Professor Randall Davis for his advice and support. Sincere appreciation is expressed to Control Data Corporation for its financial support during my doctoral study at MIT. I wish to thank all the past and present members of the MIT CADLAB and friends for their support and friendship during my stay at MIT. Thank you Jahir, Jay, David, Zuff, George, Eric, Jon, Rick, Takao, Frank, Tom, Joe, Andrea, Deborah, Dorrie, Kenji, Akira and Stephan. My family and I wish to thank Ms. Gossard and Zuff's family for their warm support. Finally, I would like to thank my family, my wife Keiko and my boys Tatsuya and Shunsuke for sharing a happy family life with me. Table of Contents Abstract Acknowledgements —~ Table of Contents List of Figures Nomenclature ~ Chapter 1: Introduction 1.1 Problem Statement - i 1.2. Motivation it 1.3 Contribution 12 1.4 Organization of Document Chapter 2: Background 2.0 Overview -—~ 2.1 Machining Planning 2.2 Importance of Automating Machining Planning 2.3 Previous and Related work 2.3.1 Feature Recognition 2.3.2 Operation Selection and Sequencing 2.3.3 Setup Planning and Fixture Design ~ 2.3.4 Operation Planning -—~ 2.3.5 Other related work -~ 2.4 Setup Plan and Fixture ~ 2.4.1 Requirements for Setup Plan 2.4.2 Requirements for Fixture 2.4.3 Fixture Components -~ 2.4.4 Mechanical Parts To Be Fixtured 2.4.5 Machine Tool -- Chapter 3: Feature Recognition 3.0 Overview — 3.1 Motivation ~ 3.2 Generic Feature vs Specific Feature 3.3. Definition and Representation - 3.3.1 Terminology and General Definition 3.3.2 Basic Facts —~ 3.3.3 User Facts 3.3.4 Representation 3.4. Recognizing Features 3.4.1 Graph-matching ~ 3.4.2 Overlapping Features 3.5 Removing Features -- 3.5.1 Requirements for Volume ~ 3.5.2. Volume Generation by Extending Adjacent Faces 3.6 Implementation and Conclusions. -~ 3.6.1 Implementation 3.6.2 Conclusions Chapter 4: Analysis of Requirements 4.0 Overview - 4.1 Accurate Locating of Workpiece ~ 4.1.1 Locating 4.1.2 Deterministic Locating 4.1.3 Current Practice in Dimensioning and Tolerancing -- 4.1.3.1 Location, Form and Orientation 413.2 Size — 4.1.4 Required Locating Accuracy --~ 4.1.5. Causes of Locating Error 4.1.5.1 Error in Locating Elements 4.1.5.2 Locating with Non-Datum Features ~ 4.1.6 Calculation of Locating Error of Workpiece 42 Total Restraint of Workpiece ~ 59 4.2.1 Kinematic Analysis 4.2.2 Cutting Wrenches and Need of Clamping Forces 4.2.2.1 Estimate of Cutting Wrench -~ 4.2.2.2 Need of Clamping Force 4.2.3 Necessary Clamping forces to Resist a Cutting Wrench 4.23.1 Static Analysis - 4.23.2 Quasi-static Analysis — 42.3.3 Maximum Friction Wrench Theorem 4.2.4 Proof of Maximum Friction Wrench Theorem 4.2.5 Necessary Clamping Forces in a Setup —~ 4.3 Limited Deformation of Workpiece 433.1 Workpiece Deformation Mode ~ 43.2 Limited Workpiece Deformation and Tolerance ~ 4.3.3 First Order Estimate of Workpiece Deformation 4.4 No Interference - 4.4.1 Generation of Solid Models of Cutter Path 4.4.2 Pruning the Search Space 4.5 Goodness 88 108 108 42 15 116 121 122 Chapter 5: Structuring Fixture Design 5.0 Overview 125 5.1 Nature of Fixture Design - 125 5.2 Three Dimensional Geometry 126 5.3 Non-Modularity -. 127 5.4 Setup Planning and Fixture Design Structure -- 130 Chapter 6: Implementation and Case Study 6.1 Implementation 138 6.2 Case Study 1: A simple Part ~ 138 6.3 Case Study 2: ANC 101 Test Part -- 143 Chapter 7: Conclusion 7.1 Conclusion ~ - 149 7.2 Future Work -~ Appendix A: Introduction to Screw Theory Appendix B: Pushing an Object B.1 Problem - B.2 Method --- B.3 Proof of the Validity of the Method —~ Appendix C: Differential Rotation -- References - 150 155 155 157 168 170 List of Figures Figure 2.1 An example of process plan -~ Figure 2.2 An example of operation plan Figure 2.3 Examples of modular fixtures Figure 3.1 Elements and their relations in boundary representation Figure 3.2 A tetrahedron and its B-rep graph Figure 3.3 Slots with different number of boundary edges. ~ Figure 3.4 Difference in solid angles —~ Figure 3.5 Five edge types Figure 3.6 Step feature and a solid model containing a step feature Figure 3.7 Intersecting features ~ Figure 3.8 Slot feature and three volumes capable to remove the feature Figure 3.9 Removing a feature ~ Figure 3.10 Edges and wo edge loops generated - Figure 3.11 An edge view of faces sharing an edge ~ Figure 3.12 An example of feature recognition - Figure 4.1.1 Locating of raw material Figure 4.1.2 An example drawing for the practice in dimensioning and tolerancing -- 60 Figure 4.1.3 Positioning a part in a datum reference frame Figure 4.1.4 Dependent tolerance zones in size dimension ~ Figure 4.1.5 Two independent tolerance zones Figure 4.1.6 Hole tolerances and locating errors Figure 4.1.7 Locating error due to the use of the locator cylinder Figure 4.1.8 New dimensioning scheme and transferred tolerances Figure 4.1.9 Chain dimensioning vs base line dimensioning —~ Figure 4.1.10 Position error of contact point - Figure 4.1.11 A simple 2D locating Figure 4.2.1 Geometric meaning of € Figure 4.2.2 Fixture configurations and need of clamping force Figure 4.2.3 Side clamping scheme ~ Figure 4.2.4 Down-holding clamping scheme Figure 4.2.5 Three dimensional model of down-hoi.iing clamping Figure 4.2.6 Two dimensional model of down-holding clamping. ~ nD Figure 4.2.7 An example of maximum magnitude method ~ Figure 4.2.8 Static indetermination Figure 4.2.9 An object sliding on a horizontal plane Figure 4.2.10 Directions of friction forces --~ Figure 4.2.11 Direction of friction force —~ Figure 4.2.12 Friction forces when the workpiece starts rotating. ~ Figure 4.2.13 Range of possible cutting force direction - Figure 4.3.1 Workpiece deformation and the shape of hole feature — 105 107 109 Figure 4.3.2 An element of a beam ul Figure 4.3.3 Milling a flat face along a thin wall ~ 112 Figure 4.3.4 Mesh generation for a plate model. -~ 4 Figure 4.4.1 Need of extending features to be created 116 Figure 4.4.2 Cutter-swept volume. - 7 Figure 4.4.3 Cutter-swept volume for hole feature --— 18 Figure 4.4.4 Extending a flat feature -- 119 120 Figure 4.4.5 Extending a flat to be side milled ~ Figure 5.1 Setup planning and fixture design structure Figure 5.2. An example of feature-based model Figure 5.3 Possibie cutting directions for flat feature Figure 5.3. Cutting direction table Figure 6.1 Case study 1 Figure 6.2 Case study 2 129 130 132 132 Figure A.1 An example of wrenches and twists 154 Figure B.1 Pushing an object 155 Figure B.2 Coordinate system and friction cone 156 161 Figure B.3 Directions of friction forces - gta osu et gw aerEPpe Nomenclature rotation matrix wrench matrix, twist vector. wrench vector. position vector. direction vector. rotation angle vector. displacement vector. force vector. moment vector. wrench magnitude. Lagrange multiplier for inequality constraint. Lagrange multiplier for equality constraint. friction coefficient. tolerance. dot product of two vectors. cross product of two vectors. virtual work operator gradient operator. 10 Chapter 1 Introduction 1.1 Problem Statement Given a dimensioned and toleranced solid model of a prismatic part, find a sequence of fixture configurations for machining which satisfies the following requirements: 1. Accurate locating of the workpiece . Total restraint of the workpiece during machining Limited deformation of the workpiece No interference between the fixture components and cutter 2 Pe ey 3. "Goodness" Here a prismatic part is defined as a part which can be located and clamped on its planar faces horizontally and/or vertically in relation to the base plate or machine table. Also a three-axis vertical machining center is to be used. 1.2 Motivation Today, we often hear described a picture of an automated machining factory where few or no workers can be seen. This kind of picture gives a false impression that people are not needed in automated machining environment. What is not shown in the picture is the people in the office behind the automated factory where most of machining planning such as process planning and NC code generation is done in a labor-intensive way. The number of peopie needed in machining planning has increased, since automated machining requires more extensive and complete machining planning than manual machining. Automating this labor-intensive machining planning offers benefits of more than just saving labor cost of uw manual machining planning. It also offers the possibility of shorter lead time, higher quality of machined parts, lower part cost and more flexiblity in machining planning. ‘There have been many research efforts aimed at automating machining planning. After an extensive literature survey on these works, I concluded that setup planning and fixture design is one of the least studied areas and it is a major missing link in automating machining planning. It is a difficult area to automate because it involves a lot of non- algorithmic reasoning on the geometry of the finished par, intermediate workpiece, fixture components and cutter path. 1.3 Contribution ‘The main contributions of this work are: 1, The development of an automatic setup planning and fixture design system. 2. The development of a representation of finished part and intermediate workpiece suitable for setup planning and fixture design and the development of a method to generate intermediate workpiece geometry. 3. Feature recognition in solid models with feature removal capability. 4. The proof of maximum friction wrench theorem and its pplication to the calculation of necessary clamping forces. This theorem and the algorithm to find the maximum friction wrench have other applications such as robotic motion planning. 5. Analysis of tolerance in locating a workpiece. 1.4 Organization of Document The organization of this document is as follows: * Chapter 2: An overview of machining planning is presented. Previous work and related work are reviewed. The scope of this research is presented. 12 Chapter 3: The algorithm to recognize and remove features in solid models is presented. Chapter 4; Five requirements for fixture are analyzed in detail and algorithms and heuristics for synthesizing and analyzing fixture configurétion are developed. Chapter 5: The task of setup planning and fixture design is structured so that it can be implemented on computer. Chapter 6; System implementation and case studies are presented. Chapter 7: The main conclusions are stated and possible directions for future work are presented. Appendix A: An introduction to screw theory is presented. Appendix B: The application of the maximum friction wrench theorem to the prediction of the movement of an object being pushed is presented. Appendix C: Differential rotation is presented since it seems to be useful. 13, Chapter 2 Background 2.1 Overview ‘The purpose of this chapter is to present the background information relevant to the research described in the remainder of the thesis. The chapter begins with a general description of machining planning and the importance of the automation of machining planning. Then previous work and related work for the automation of machining planning are presented, and setup planning and fixture design are identified as a major missing link in the automation of machining planning. Finally, requirements for fixture, which will be studied in detail in Chapter 4, are briefly explained and the scope of this research is presented. 2.1 Machining Planning The planning activity performed between product drawing and actual machining is complex and ill-defined, Manufacturing planning, process planning, process engineering, machine routing and machining planning are some of the titles given to the planning activity performed between product drawing and actual machining. Its practice varies among companies and products. Typically, following tasks are involved in this planning activity [Woodhead 86}. Material selection: Given the finished part geometry, a raw material form must be selected, This can be for instance bar stock, plate, casting or forging, Operation selection: For each feature in the finished part, a set of machining operations capable of producing it economically must be selected. 14 ‘Machine and cutter selection: For each machining operation or a group of machining operations to be performed, a machine and a cutter to be used must be selected. Operation sequencing: The order of applying these operations must be determined. This sequencing is influenced by several factors such as accessibility, setup and tolerance. ‘Setup planning: A series of orientations of the workpiece, locating faces and features to be produced in each workpiece orientation must be determined. Fixture design: For each setup, detailed fixture configuration must be designed. Operation parameter selection: Operation parameters such as feed rate, spindle speed and depth of cut, must be selected. These can be selected from machining data handbooks. ‘NC.code generation: NC code to drive NC machines must be generated. ‘Though these tasks are listed roughly in the order they are performed, the interactions among them are very intimate and these tasks are performed in an iterative way. For example, operation sequencing will not be complete until a sequence of setups is planned and a sequence of setups is not complete until the feasibility of fixturing in each setup is confirmed. Yet, the above tasks are usually divided into two groups. The tasks from material selection to setup planning are grouped into process planning and the remaining tasks, operation parameter selection and NC code generation, are grouped into operation planning. Fixture design seems to belong to either of the two groups. Process planning and operation planning are performed by process planners and operation planners respectively. Figure 2.1 and Figure 2.2 are examples of process plan and operation plan [DeGarmo 84]. A process plan lists the operations that must be performed in order to 15 produce the part, in their sequential order, and the machine and the tooling that will be required for each operation. An operation plan provides more detailed information such as, cutters, feed rates, spindle speeds, depths of cut and setup cetails. It is accompanied by NC codes. ROUTING SHEET ame of pant Pench rant no, 2 uanty 000 arena courmenr oune oesceTion oF oresanion | GfCURMENT, | to 1 | turn je, 0.125. ana 0.269 | stu turret | 4682 box toot 2 | cat oft to ad tenet " 6 catort an 3 | wi endian si watenscr | Speuay Eegraesteer s | oogrense 6 | cneex nardnens Figure 2.1 An example of process plan 16 uejd uonesodo Jo ajdurexa uy 7°z anBiy ‘war Omir NHS NOUWEHO 17 2.2 Importance of Automating Machining Planning ‘Though there is not any data on how important it is to automate machining planning, there are some facts and speculations that make us think it is important to automate machining planning. Presently, parts which qualify for mass production account for not more than 25% of the total value of metalworking production in all industrialized metalworking nations. One half of the remaining 75% is produced in job lots of less than 50 workpieces. The number of these parts are increasing each year and their complexity and requirement for accuracy are also increasing {Schultz 81]. Social and technological trends such as demands for customized products, shorter product lives, higher reliability of products, along with superior process tolerances and a wider variety of materials, are some of the driving forces behind the need of smaller batch sizes [DeGarmo 84]. Accordingly, industry is leaning toward Flexible Manufacturing Systems (FMS) to meet the demand of smaller batch sizes and the ever increasing demand for productivity improvement. ‘As FMS advances, less people are seen on the machining factory floor. But in the office next to the factory, many people work on machining planning in a labor-intensive way. This manual machining planning is inflexible to disturbances such as engineering changes and emergency orders and lessens the flexibility of FMS. Manual machining planning has another problem. Since process planning is based on the previous experience of the planner, personal preference, extent of shop knowledge, interpretation of design requirements and other judgement factors, process plans are often inaccurate, inconsistent and faulty. Automating this labor-intensive machining planning offers benefits of more than just saving labor cost of manual machining planning. More importantly, it offers the possibility of shorter lead time, higher quality of machined parts, lower part cost, scheduling flexibility and flexibility to disturbances. 18 2.3 Previous and Related Work There have been two approaches in computerizing process planning: variant and generative. ‘The variant process planner is the application of the concept of group technology to process planning. A company's parts are grouped into families based on ‘geometric and/or manufacturing process similarities. Each group is assigned a unique code and called a part family. A standard process plan is prepared manually for each family and stored in the database. Then to develop a process plan for a new part, a standard process plan is retrieved from the database and modified by a human planner to suit the new part's processing requirements. Variant process planners are in practical use in industry, Since modifications to standard plans are always made by a human planner, the variant process planner is not an automated process planner. There has been no attempt to develop automated process planner based on the variant approach. ‘The generative process planner synthesizes a process plan for the part automatically based on the description of the part and the information available in comprehensive manufacturing database. But presently there is no generative process planner which can generate process plans good enough for practical use. In the following sections, previous and related work on generative process planning and operation planning for non-rotational parts is surveyed. Research projects on process planning and operation planning can be grouped into four groups by the tasks they are aimed at. They are feature recognition, operation selection and sequencing, setup planning and fixture design, and operation planning. Requicha provided an excellent survey of research on feature recognition, operation selection and sequencing, and operation planning (Requicha 88]. 2.3.1 Feature Recognition Human process planners and operation planners recognize the existence of holes, slots, pockets and other features in the product drawing, and plan the machining of each of 19 these features. There is a loose correspondence between features and machining operations. For example, holes may be drilled, reamed or bored, but they are not milled. So it is very helpful in automating machining planning to have a description of the product in terms of features. This description of the product in terms of features is often called feature-based model. In today's CAD, a complete product model exists mostly in the form of a 2D drawing and sometimes in the form of a solid model and much less frequently in the form of a feature-based model. This dominance of 2D drawing will not change soon since a 2D drawing contains so much information concisely and it is so convenient. It is ‘most desirable that a computer program interprets a 2D engineering drawing and generates a feature-based model and a solid model. There have been research efforts made toward machine interpretation of engineering drawing (Markowsky 81] [Sakurai 83] [Lequette 88}. But they have been successful only for simple drawings. Less desirable but still desirable is a computer program which recognizes features in a solid model of the product as human process planners recognize features in a 2D drawing. Woo developed a decreasing convex hull decomposition algorithm to extract removal volumes for machining from a 3D solid model (Woo 82]. It computes the difference between an object and its convex hull, repeating until the null set is produced. Then it rearranges convex hulls to obtain removal volumes for machining. Removal volumes generated are not associated with any particular machining operations. Further, they may not be able to be associated with machining operations because they often have awkward shapes. Kyprianou developed a shape feature recognizer from a boundary representation of a solid model for the purpose of part classification and coding [Kyprianou 80} (Jared 84] In Kyprianou's work, recognizable features are either depressions or protrusions, Depressions are further classified as slots, pockets or through holes, and protrusions are classified as bosses or bridges. Overall shape of a component is recognized from those recognized features. Then the overall shape and the recognized features are fed to a rule- 20 based system to generate a part classification number. Since he didn’t need to classify generic features like ‘through-hole’ into more specific features such as ‘cylindrical through-hole' or ‘countersunk through-hole’, the recognizer neither provides a method for entering the definition of each feature nor can it classify the generic features into specific features, Choi, et al., described methods for recognizing generic hole, slot, and pocket in a solid model {Choi 84]. The definitions of features are embedded in feature recognizing programs written in PASCAL. They actually implemented the method only for recognizing generic hole. Staley, et al., applied syntactic pattern recognition techniques to the classification of holes from their 2D cross-sectional descriptions extracted from a 3D solid model [Staley 83]. Henderson developed a feature recognizer using PROLOG [Henderson 84a] [Henderson tb]. Features are described as rules in PROLOG. A 3D solid model in boundary representation is converted into facts in PROLOG. Then features are recognized with PROLOG's pattern matching mechanism, Since itis hard to write a rule for every specific feature, he wrote rules for swept features like generic holes,slots and pockets. He didn’t classify recognized holes into more specific types of holes. Lee, et al.,used tree manipulation techniques to rearrange an object's CSG representation so as to group certain CSG patterns that correspond to solid features [Lee 87]. Features are defined as CSG combinations of primitives whose axes of symmetry satisfy certain geometric relationships. The drawback of defining features by CSG patterns is that CSG representations are not unique: there are many ways of defining the same feature through Booleen operations on primitives. Joshi, et al., defined features with graphs which represent face adjacency and solid angles around edges (Joshi 88]. Features are recognized by comparing those graphs with 2 the similar graphs extracted from the B-rep of a solid model. Some cases of intersecting features are also handied. A feature cannot contain faces having only convex edges. 2.3.2 Operation Selection and Sequencing Reflecting the popularity of applying AI technology to engineering problems, a great number of Al-based process planners, typically rule-based systems, have been reported. GARI [Descotte 81] [Descotte 85], TOM [Matsushima 82], TIPPS [Chang 83], PROPLAN [Phillips 84], SIPS [Nau 87], HI-Mapp [HI-Mapp 86] and XCUT [Brooks 87] are only some among many process planners. Nore of these Al-based process planners address the entire process planning problem. Here a feature-based model means a representation of the part as a collection of machining features described symbolically. Typically they assume a feature-based model of the part and generate a sequence of operations for producing the part. They perform well in selecting a sequence of operations for producing features in a setup, though accessibility to each feature is not and cannot be chécked. They perform poorly in sequencing the machining of features and in planning setups, and they do nothing at all in fixture design. Those Al-based process planners have neither complete geometry of the part nor adequate geometric reasoning ‘capability needed in performing these tasks. Inui, et al., combined Al-based process planner with a solid modeler (Inui 86]. The solic modeler is used only to verify machining operations. Setup and fixture has to be specified by a human planner. There are a few process planners which use decision trees instead of rule-based systems [Allen 86] [Shea 86]. Allen mentions that process planning requires cause and effect relationships to be clearly identified and that a graphical user interface allows the user to construct and modify the decision tree quite easily. Shea used augmented decision tree, a variation of decision tree, in selecting the cost-minimam sequence of operations for producing a feature, 22 2.3.3 Setup Planning and Fixture Design There has been only one research project on setup planning. Hayes used feature interactions in constraining operation sequence and setup order [Wright 88]. A feature interaction happens when cutting one collection of features affects the way in which others can be made. Most commonly feature interactions result from clamping problems; producing one feature destroys the clamping surfaces needed to grip the workpiece while cutting another feature. She used feature-based model and OPS-5. It seems much more difficult to recognize feature interactions than constraining the setup order based on recognized feature interactions. She does not explain how feature interactions can be recognized with only feature-based model and rule-based system. ‘There have been several research efforts in automating fixture design. These can be divided into two groups: expert systems for synthesis of fixture configurations and kinematic studies for analysis of fixture configurations. Markus developed a Prolog-based expert system which selects fixture components and their positions from given locating and clamping areas on the part (Markus 84]. The paper does not provide enough information to assess the capability and promise of the approach. For example, it does not tell anything on how the interference among the part, fixture components and cutter path is checked. Ferreira decomposed fixturing problems into an AND/OR tree of sub-problems and proposed an expert system for fixture design but did not implement it [Ferreira 85]. Fixture design rules are to be represented as Lisp functions which in turn call Fortran routines if necessary for numerical analysis. Asada applied screw theory in defining the conditions for a workpiece to be totally constrained by point contacts without friction and the conditions for an intermediate fixture layout to provide robust accessibility and deterministic locating (Asada 84]. 23 Chou elaborated on how to check these conditions. He also developed a few algorithms synthesize locating and clamping positions based on these conditions [Chou 86] [Chou 87]. These algorithms may be useful only for Cutkosky is the only one who investigated the restraint of the workpiece by friction force (Cutkosky 89]. He modeled the clamped workpiece as a two-dimensional slab and checked if a given set of clamping forces can resist the cutting force. Despite these works, automatic setup planning and fixture design is far from achieved, Some missing studies are the study of locating accuracy, the study of the restraint of the workpiece in terms of force and moment equilibrium, the study of workpiece deformation, the study of cutting forces critical to total restraint and workpiece deformation, the study of goodness of setup plan and fixture configuration and most importantly the study on how to implement heuristics about the geometry of finished part, intermediate workpiece, fixture components and cutter path. 2.3.4 Operation Planning Operation planning is already partly computerized even though it is not automated. Since the selection of cutting parameters is performed by referring to machining data handbooks in manual operation planning, it is not difficult to computerize and has already been computerized. Given cutting tool code, material cost, operation code, depth of cut or material hardness, this kind of system outputs production-time, number and size of cuts, optimum speed/feed, cutting tool/grade or machine tool respectively [DeGarmo 84]. CUTTECH [Barkocy 84] selects cutting tools, speeds and feeds for a user-defined feature. In NC code generation, the computer is used to convert a part program prepared by a human operation planner into NC code. There have been efforts to generate NC codes directly from a part description [Armstrong 84]. These works typically do not plan hierarchically, ice. istinguish process planning from operation planning. They cater for a single process - milling - and generate cutter path directly from solid models. 24 They have neither the concept of feature nor the sequence of cutting features. They assume that spindle direction and other setup information are given, and attempt to produce the desired part by milling in a single setup, often with a single cutter. An automatic NC code generator in automatic machining planning has to be different from these previous systems since features to be cut and the sequence of cutting these features in each setup will be provided by automatic process planner. If features to be cut are non-flat features such as holes, slots or pockets, NC code generation seems relatively trivial since holes and slots have few alternative cutter paths to produce these features and macros are used to generate NC code for milling pocket features. In contrast to these features, flats have more aliernative cutter paths. Okawa studied how a human part programmer cut a flat or a set of flats and developed an automatic NC code generator based on the heuristics learned from the study [Okawa 85]. MPL [Chan 86] is both a language for representing process plans and a kind of automatic operation planner needed in automatic machining planning environment. If automatic process planner outputs a process plan in MPL language, MPL will generate automatically the workpiece and cutter position instructions and NC code for hole-making and milling operations. Chan concludes that automatic planning of setup and setup sequence is the most important issue arnong several issues which need continuing research. 2.3.5 Other Related Work Simmons used qualitative and quantitative representations and simulations in geologic interpretation [Simmons 83a] [Simmons 83b]. He says it would be difficuit to enforce widespread uniformity of representation. He adds that itis, for example, quite difficult to represent shape using a qualitative representation, His work convinced me the need of multiple representations and the need of simulation of changes when almost all the AI- based process planners use a uniform representation, typically production rules. 25 Study on kinematics and force and torque equilibrium with/without friction forces in robotics to grasp and move an object is very useful in studying the total restraint of the workpiece in fixture design. What is common between robot's grasping and machining fixturing is that two bodies contacting at a point can only push each other. But there are also differences between robot's grasping and machining fixturing. In machining fixturing, locating accuracy is very important. Also forces acting on the workpiece is formidable, It can reach more than 5000 Ib even in machining a part of the size of a textbook. Screw theory is a useful tool to study the restraint of an object kinematically. It was originally studied by Ball (Ball 00]. Ohwovoriole extended it so that it is useful for the study and modeling of situations where the contact between bodies may be broken due tc the relative motion [Ohwovoriole 81]. The kinematic analysis of fixtures by Asada [Asada 84] and Chou [Chou 86] are the direct applications of this extended theory. Nguyen developed an algorithm for constructing force-closure grasps based on the shape of the grasped object [Nguyen 88]. His algorithm finds independent regions of the contact for the fingertips so that the motion of the grasped object is totally constrained. All these works are useful in selecting clamping positions and checking the validity of a fixture configuration. Salisbury introduced friction force into kinematic and force analysis of mechanical hands [Salisbury 83]. Mason studied planar pushing operations under quasi-static assumption (Mason 85]. He developed methods to predict the planar motion of an object being pushed in a direction under the assumption of quasi-static. Goyal studied the planar sliding of a rigid body with dry friction (Goyal 89]. He developed the concept of limit surface for the friction load-motion relation of a planar slider. All these works are useful in determining necessary clamping forces in fixture design. 26 2.4 Setup Plan and Fixture 2.4.1 Requirements for Setup plan A setup plan is a sequence of setups. A setup is the way a workpiece is placed and fixed on a machine table when some featmes are to be machined. Usually the specifications of a setup include such information as features to be cut in the setup, the orientation of the workpiece and locating faces, and how to fixture the workpiece. Often a drawing is also used to convey the setup specifications. So we may say that fixture design is a part of setup planning. But in actuality, fixture design is the major and most difficult part in automating setup planning. Setup sequencing requires fixture design or at least checking of fixturing feasibility since a setup where the workpiece cannot be fixtured is meaningless, Absolute requirements for a setup plan are: (1) The workpiece must be able to be fixtured properly as described in the next section. (2) The cutter must be able to access the features to be machined. The followings are not absolute requirements for a setup plan but heuristics for ‘goodness’ of a setup plan. (1) Minimize the number of setups. The greater the number of setups required in machining a par the greater will be the cost and the inaccuracy of the finished part. (2) When multiple setups are necessary, maintain the same locating faces for the setups to reduce the chance for inaccuracy. 2.4.2 Requirements for Fixture A fixture is a special tool used for locating and firmly holding a workpiece in the proper position during machining [Henriksen 73] [Hoffman 84]. A fixture must satisfy the following five requirements. 27 (1) Accurate locating of the workpiece Because of their closed-loop measuring system and greater rigidity in the structural members, NC machines have greater accuracy and precision than conventional machines. To realize this accuracy in the finished part and ensure that the finished part satisfies its tolerance specifications, a fixture must locate the workpiece accurately in relation to the NC machine coordinate. (2) Total restraint of the workpiece Fixture must restrain the workpiece from moving when the workpiece is being machined and undergoes cutting forces and torques. If it moves, the accuracy of the finished part will be lost. (3) Limited deformation of the workpiece ‘The workpiece may undergo elastic and plastic deformation due to the clamping forces and cutting forces. Fixture must limit the deformation within. an. acceptable amount so that the finished part will satisfy its tolerance specifications. (4) No interference between fixture components and cutter Fixture components should not interfere with the cutter path necessary to produce the features. (5) "Goodness" Satisfaction of the above requirements is not enough. Not all the fixture configurations that satisfy the requirements are acceptable. The fixture configuration must be a "good” one. ‘The number of setups, the number of fixture components used in each setup, ease of loading/unloading a workpiece, low profile, achievable tolerance and the stability of the fixture are some of the criteria for "goodness". 28 These requirements will be examined more deeply in Chapter 4 and then used in structuring setup planning and fixture design in Chapter 5. The requirements above are for the conventional fixture. Bagchi presented requirements peculiar to fixtures for a fully automated factory (Bagchi 86]. They are: automatic part loading/unloading, automatic part clamping, automatic chip removal from the fixture. Also we can think of requirements for automatic fixture assembly. These requirements are out of the scope of this research. 2.4.3 Fixture Components A fixiure is a special tool used for locating and firmly holding a workpiece in the proper position during machining. It is a special tool in the sense that each tool is, generally, designed and built specifically for making one part only even though the functional requirements are always the same. Due to the specialized nature of these tools, their designs are as varied as the parts which they are to serve. A fixture is composed of several kinds of components. They are locators, clamps, supports and the body. Locators are positioned in a fixture in such a way that the workpiece will be located accurately in relation to the machine coordinate frame when it is in contact with all the locators. Clamps generate and direct the acting forces in such a way that the par is securely locked in place under cutting forces. Supports are used to support a workpiece when it may deform under clamping forces or cutting forces. ‘The body of a fixture holds these components together. ‘Though a variety of standard and commercial fixture components are available for use in building a fixture, still a fixture has to be designed and built for each part to accommodate the unique shape of the part. Since designing, machining and building a fixture takes time, itis another cause of inflexibility in flexible manufacturing system. Modular fixturing systems are said to have the potential to solve this problem of inflexibility. They are an extension of the classical machinists’ approach to developing a 29 variety of fixtures from a combination of elements, which are traditionally attached to a cast iron base-plate. A modular fixturing system consists of many different fixturing components that are assembled in different combinations to construct a large number of different fixtures, A typical modular fixturing system is shown in Figure 2.3. Grid-bases have a grid of holes which are used to locate and attach other fixture components accurately and firmly. Every components, including grid holes, are hardened and ground within the tolerance of 0.0004". Even with modular fixturing systems, a fixture has to be designed and assembled, but there won't be casting, welding and machining anymore. Since assembling a fixture will take only a few hours, a modular fixture system offers flexibility. SYSTEM A Figure 2.3 Examples of modular fixtures ‘Though a modular fixturing system consists of many different fixture components, they are classified into several groups of components: horizontal and vertical bases, 30 cylindrical locators and edge locators, pivoting-type horizontal clamps (also called side clamps) and strap-type vertical clamps (also called down-holding clamps), V-blocks, supports and other auxiliary elements to adjust the heights and positions of locators and clamps. Within each group, the differences are simply in the sizes and proportions. In view of this fact, only these types of fixture components with simplified geometry are used in this research on automatic fixture design, without considering how to adjust their height and positions in the actual assembly of a fixture. Limiting types of fixture components can be justified by the fact that all the dedicated fixtures used in a machining factory of a leading film maker are also constructed with these types of fixture components. Vise is a widely used fixture for machining parts of simple geometry. But it is not used in this research because its locating accuracy is low. Power clamps are also available in modular fixturing systems. Other than the placement of power components, the design of a fixture with power clamps is not different from that with manual clamps. If a robot is used for loading and unloading the workpiece, the whole machining process can be automated except the assembly of the fixture. 2.4.4 Mechanical Parts To Be Fixtured ‘We can imagine an infinite number of shapes and there are almost infinite number of differently shaped mechanical parts. But if we look at each mechanical part carefully, we will find a common characteristic in mechanical parts. It is the orthogonality among the important and functional surfaces in a mechanical part. Also these important and functional surfaces are often planar or cylindrical except some special cases such as gears, cams, turbine blades and propellers. Even with gears and cams, the orthogonality holds in one direction. Their functional surfaces are parallel to their rotation axes. The reason may be that conventional machining could generate only planar and cylindrical surfaces very accurately and easily. Even with NC machines, free form surfaces or even two intersecting cylindrical surfaces cannot be machined very accurately. Manual finishing is required to 31 remove the cusps. Because of the orthogonality and the dominance cf planar and cylindrical surfaces in mechanical parts, most mechanical parts can be and are located and clamped horizontally or vertically on their plenar or cylindrical surfaces. In this research on automatic fixture design, mechanical parts which can be located and clamped horizontally or vertically on their planar surfaces are considered and are called prismatic parts. 2.4.5 Machining Tool In modern machining factory, five axis machining centers play the most important role. A five machining center is an NC machine provided with the capabilities of automatic tool change and rotating the cutting tool axis or the workpiece. It can perform various types of machining operations, such as drilling, reaming, boring, milling, contouring, and threading, which used to require many different machines. It allows cutters to access to the workpiece in many orientations in a single setup. In addition to this versatility of machining operations and accessibility, a machining center maintains close and consistently repetitive tolerances. ‘Though it is a challenging and important goal to automate fixture design for such a machining center, in this research a three axis NC machine with an automatic tool changer is assumed to be the machine for which fixtures are to be designed. This decision is made since itis too difficult to jump from scratch to a five axis machine directly. 32 Chapter 3 Feature Recognition 3.0 Overview In this chapter, algorithms to recognize features in solid models and then remove the recognized features from the solid models are presented. They are presented in a more general context than machining since these algorithms are general and can be used in areas other than machining, Also this chapter is complete by itself, It starts with the motivation of the work and the definition of features. Then the algorithm is presented. It ends with the implementation and conclusions. 3.1 Motivation Securing appropriate input data for application programs is always a big problem in computer applications. This is true with the automation of machining planning too. Product drawings have been and will be, at least for a while, the most available, reliable and complete source of product information. Human process planners and operational planners recognize holes, slots, pockets and other features in a product drawing. They recognize those features from the shapes drawn in the product drawing. There have been attempts to make a computer understand product drawings and generate corresponding solid models. These attempts have been successful onty with product drawings composed of very accurate and complete multiple orthographic projections [Markowsky 81] [Sakurai 83). Next to a product drawing, a solid model is currently the best source of product information and there is a large chance that a solid model of a product is available for manufacturing use when the design of the product is finished. Solid models with tolerance 33 and other relevant information may even replace product drawings in the future. If we can make computers recognize machining features in a solid model, which is needed in automating machining planning anyway, the input problem will be solved. This is the motivation of trying to make computer recognize machining features in solid models. 3.2 Generic Feature vs Specific Feature ‘The shape of an object is often described at different abstraction levels. For example, an equilateral triangle is often called simply as a triangle, as an isosceles triangle or as an equilateral triangle. This holds true with shape features too. A hole is a generic feature. It can be a square hole, a rectangular hole or a cylindrical hole depending on the shape of its cross section. It can be a blind hole or through hole. It can be a compound feature such as counterbored hole or countersunk hole. To select machining operations for a hole, we need specific feature names such as cylindrical through-hole or counterbored hole. On the other hand, in selecting machining operations for a pocket, we don't need specific feature names. Milling is the only operation capable of creating a pocket whatever the shape of its cross section is. Actually we don't have names for specific pocket features. So both generic and specific features have to be recognized. The program based on the algorithm presented in this chapter can recognize any specific features. A user can define his own set of specific features by showing examples to the program interactively. This means that the feature recognition program is independent of the definition of each specific feature. But the algorithm cannot recognize generic features. It is easy to write a program which can recognize a single generic feature. ‘Then the definition of a generic feature is embedded in the program. A user cannot easily define his own generic feature. The method taken in this research to overcome this limitation is to define all the types of a generic feature encountered as specific features like square pocket, rectangle pocket and etc. When a specific feature is recognized, its generic 34 type is obtained from its name. Since there are not many generic features in machining, it ‘may not be too bad to write a recognition program for each generic feature, 3.3 Definition and Representation 3.3.1 Terminology and General Definition To recognize a feature in a solid model, first the feature must be defined. Since the boundary representation (B-rep) of a solid model represents the shape of an object completely and since B-rep is used in feature recognition, the elements and terminologies of B-rep will be used in defining features. In B-rep the whole surface of an object is broken into one or more separate pieces called faces, and each face is fully described along with its ‘own boundaries, which take the form of edges and vertices. How each of those elements fits together with each adjacent element is represented as a graph. This adjacency information is informally referred to as the topology of the solid model. Those elements are attached with their corresponding geometric information such as surfaces, curves and points. Figure 3.1 shows elements and their relaticnships in a typical B-rep [Weiler 85]. A loop node is added to cope with multiply connectec fares efficiently. Figure 3.2 shows a tetrahedron and its B-rep graph. Vertices are not shown here. 35 ey 3 ~ solid node ~- face node -- loop node ©O©O edge node (a) Edge node (b) Vertex node = ee 3) ib (c) Loop node (@) Face node (e) Solid node Figure 3.1 Elements and their relations in boundary representation 6 Figure 3.2 A tetrahedron and its B-rep graph Now with the terminologies of B-rep in hand, a shape feature is defined as “a single face or a set of contiguous faces which has certain characteristic facts in topology and geometry”. A single face or a set of contiguous faces is called here a faceser. An edge shared by two faces in a faceset is called an inner edge. An edge belonging to only one face in a faceset is called a boundary edge, since it lies on the boundary of the faceset. Figure 3.3(a) shows a slot feature in which the faceset contains three faces. Edges e; and 2 are inner edges and the other edges are boundary edges, Certain characteristic facts in topology and geometry of a faceset defining each shape feature are called here facts. In general, the specific combination of facts that are relevant in identifying a faceset as a particular shape feature depends on the application. Nonetheless, there seems to be some kinds of facts that are basic to identifying a faceset as a shape feature. In this research, those facts, called basic facts and are always considered relevant in identifying a faceset as a shape feature. Other facts the user may consider relevant in identifying a faceset as a shape feature are called user facts. @ (b) Figure 3.3 Slots with different number of boundary edges 37 3.3.2 Basic Facts ‘The basic facts defining a shape feature are: ‘Topological facts qd) Topology Two facesets having different topologies, i.e., different face adjacencies, have different shapes. So, for a faceset to be a feature, it must have a certain face adjacency. In B-rep, the face adjacency of an object is represented by inner edge adjacency. So when the face adjacency of a faceset is fixed, the edge adjacency among inner edges of the faceset in B-rep is fixed. Because of this topological identity fact, the algorithm can recognize only specific features. Geometric facts Q) @B) Geometric types of faces ‘The shape of planar face looks different from the shape of cylindrical face. In case of cylindrical face, whether the face is concave or convex is taken into account as part of geometric type of face. Solid angle around edges Two facesets composed of faces fj, f and fs in Figure 3.4 have the same property with regard to facts (1) and (2) above, but their shape is quite different. One is a protr:sion and the other is a cavity. The difference lies in the solid angles around edges. Instead of the exact value of the solid angle, edge type is considered a basic fact. Edges are classified into 5 types: convex, concave, smooth convex, smooth concave and smooth mixed depending on the solid angles around the edges. An edge is classified as convex, concave, or smooth if its solid angle is less than, greater than, or equal to 180 degrees, respectively. A smooth edge is further classified into smooth convex, smooth concave or smooth mixed. ‘The edge is classified smooth convex if both faces are convex or one face is convex and the other flat. The edge is classified 38 smooth concave if both faces are concave or one face is concave and the other flat. If one face is convex and the other is concave, the edge is classified smooth mixed. Figure 3.5 shows the five types of edges. Y ome concave Figure 3.4 Difference in solid angles Di BD concave smoothconvex smooth concave smooth mixed Figure 3.5 Five edge types 3.3.3 User Facts The user facts may be the number of boundary edges on each face, any other facts on geometry such as parallelism and perpendicularity among faces, the ranges of angles between faces. Among the various user facts imaginable, some are considered relevant by default in characterizing a shape feature. In the current implementation these default user {facts are parallelism and coaxiality between faces and perpendicularity between connected faces. 39 The number and geometric types of edges on each face needs a comment. When a faceset is composed of faces with given geometric types and face adjacency, the number and geometric types of inner edges on each face are fixed. On the other hand, the number and geometric types of boundary edges on each face can be different. In this work, the number and geometric types of boundary edges are user facts and are allowed to be different so that both faces.ts in Figure 3.3 can be recognized as the same slot feature. 3.3.4 Representation A template feature is the definition of a shape feature provided by the user and a recognized feature is a faceset in a solid model which is recognized to satisfy the facts a template feature has. A template feature is defined by interactively selecting a set of faces composing a feature in a graphic display of the solid model. Then, for every edge belonging to the selected faces, the edge type is determined and stored. Then, out of the B- rep graph of the entire solid model, the subgraph corresponding to the selected faces are copied. This subgraph, called the feature graph, is the representation of the template feature. It contains information to define a specific feature. 3.4 Recognizing Features Feature reco, “on takes place in three steps. Firstly, for each template feature, the entire solid model is searched to find instances of recognized features. Facesets of recognized features are put into a list of recognized features. Secondly, each recognized feature is checked to determine if itis part of another recognized feature of equal or greater complexity. If so, it is removed from the list of recognized features. Thirdly, recognized features are removed to reveal features which may be “hidden” by the recognized features. ‘Then the process returns to the first step in order to recognize newly revealed features. The procedure terminates when no additional features are found. The first and second steps are presented in this section and the third step is presented in the next section. 40 3.4.1 Graph-matching Facesets which satisfies facts in the template feature are searched in the solid model by a graph-matching procedure. The procedure has exact mode where the number of boundary edges are taken into account and non-exact mode where the number of boundary edges are not taken into account. In exact mode, edges are compared one by one in comparing edge loops. In non-exact mode, which is the default mode, consecutive boundary edges of the same edge type are treated as one edge. The procedure for exact mode is explained below and then illustrated with an example. ‘The first face in the template feature graph is compared with every face of the solid model to determine if the two faces have the same geometric type, the same number of loops, and the same number of edges. If two faces do not, the graph-matching starting with that face on the solid model is terminated. When two such faces are found, then the two loops of edges bounding the respective faces are tested for matching type. ‘The first edge in each of the two face loops is chosen as an arbitrary starting point and the test for matching edge type is applied to them. If they match, ie. they are of the same edge type, the test is applied to the next edge in each of the two loops. This is repeated until a full circuit of the loops is made. If at any point, the test fails, the comparison of the edge loops with those starting points is terminated. Every edge in the loop of the face on the solid model serves as a starting point, and whenever all the edges are matched successfully, at which point the faces are said to match, the next faces are compared as follows. Having successfully matched one face of the template feature with one face in the solid model, the procedure now selects as the next face of the template feature to be matched, any face sharing an inner edge with the already matched face. Similarly, the corresponding face in the solid model (which shares the corresponding inner edge in the solid model) is selected as the face to be compared with the selected face of the template feature. The same matching process described above is carried out between the two selected faces except that the test for matching edges of the two faces starts with the shared inner edges. This 41 matching continues until all the faces in the feature graph are correctly matched or any face in the feature graph cannot be matched successfully. It is obvious that the three basic facts described in section 3.2.2 are satisfied when the matching process described above succeeds. It should also be noted that the address of the matching entities cf the solid model, such as face, edge or vertex, is recorded for each entity of the B-rep subgraph of the feature graph. An example is illustrated in Figure 3.6 which shows a template feature graph for a step, a solid model containing a step feature and their respective simplified B-rep graphs. To simplify the explanation, loop nodes and vertex nodes are omitted from the B-rep graphs. Faces and edges of the template feature are labelled "if" and "ef." respectively, while faces and edges of the solid model are labelled "fs_" and "es_" respectively. A face ff in the feature graph is compared with each face of the solid model to determine if the two faces have the same geometric type and the same number and types of edges. Face fsz will be found to match ff; in geometric type, the number of loops and the number of edges. Now the edges bounding the two faces ff and fs2 are searched for a match. The first edge in each of the two face loops are compared to determine if they are of the same edge type: edge es is compared with edge ef. Since they are of the same edge type (convex), the next edge in each loop is compared: edge es, (convex) is compared with edge ef (concave). Since these differ in edge type, the test for matching edges starting with es; and ef; is terminated. Now a test for matching edges starting with es2 of fs and ef; is initiated. ‘This also fails when es3 is compared with ef because they differ in edge type. Now edge matching starts with ess and ef, and this time all the edges can be matched successfully. Now the procedure selects ff; which shares inner edge ef, with ffy to be the next face in the template feature. Since inner edge ess has been already found to match inner edge ef of ff, fs3 is selected as the next face in the solid model. The same matching process described above is carried out between the two faces ff and fs3 except that matching edges of the two faces starts only with matching es, and ef. 42 Vv +++ concave edge convex edge &) Figure 3.6 Step feature and a solid model containing a step feature (a) Step feature and its B-rep graph (b) Solid mode! and a part of its B-rep graph 3.4.2 Overlapping Features A recognized feature may be part of a more complex feature, Also a given faceset may be recognized as the same shape feature more than once. In the example shown in Figure 3.6, there are two ways of matching faces: one pairing fz with ff and fs3 with ff, and the other pairing fs3 with ff and fz with ff. In order to ensure that a given faceset is reported only once, and that features included in other features are not reporied, each faceset is compared with other facesets to determine if it has been included in one of them. Since a faceset is essentially a list of face addresses, this test of inclusion is done by simply checking to determine if all the face addresses of one faceset are included in the list of face 43 addresses of another faceset. If it is, that face set is removed from the list of recognized features. 3.5 Removing Features When two features intersect with each other, faces of the features can be split and the features may not be recognizable by the graph-matching. In this case, by removing one of the features, the faces of the other feature become intact and the feature becomes recognizable, Figure 3.7 shows an example. The upper left window shows a solid model with two intersecting features: a blind-hole and a slot. The slot is not recognizable since one of its faces is split by the blind-hole. If the blind-hole is removed by adding the volume shown in the lower window, the slot becomes recognizable as shown in the upper right window. If neither of the intersecting features are unrecognizable, this method does not work and this is the problem left unsolved. Each recognized feature is removed by generating a solid volume and combining it with the original solid model. When a recognized feature represents a cavity, a volume which fills the cavity is generated and added to the solid model. When a recognized feature represents a protrusion, the volume of the protrusion is generated and subtracted from the solid model, When a feature represents neither cavity nor protusion, however, there is no appropriate volume and the feature cannot be removed. Whether a feature is a cavity or protrusion is found by the edge type of its boundary edges. A faceset is a cavity when all of its boundary edges are convex. A faceset is a protrusion when all of its boundary edges are concave. If a faceset has both convex and concave boundary edges, it is neither a cavity nor a protrusion . In the following, the algorithm is described under the assumption that the recognized feature is a cavity. Figure 3.7 Intersecting features 3.5.1 Requirements for Volume Now for a given recognized feature, there exists an infinite number of volumes able to remove the feature. Figure 3.8 shows a slot feature and three reasonable volumes able to remove the feature. Since the purpose of generating a volume is to make the shape of the solid model simpler, the following requirements for the volume are introduced. (1) No new face should be introduced, Usually the smaller the number of the distinct surface geometry a solid model contains, the simpler its shape is. (2) The volume must be as large as possible. ‘The more feature faces are removed, the simpler the solid model become. The volume cannot extend beyond the feature faces because if it does so, it will introduce a new face. 45 In Figure 3.8, volume A is the one which satisfies those requirements. Volume B introduces a new face whose surface geometry is the same as that of a feature face as highlighted with a thick line. Volume C also introduces a new face whose surface geometry is also new as highlighted with a thick line. slot feature Figure 3.8 Slot feature and three volumes capable to remove the feature 3.5.2 Volume Generation by Extending Adjacent Faces Here, faces in the feature are called feature-face and faces adjacent to any feature face are called adjacent-faces. Intuitively speaking, a volume to be combined to remove a feature is generated by extending the adjacent-faces of the feature. Together with feature- faces, these extended adjacent-faces enclose a volume. The whole process to generate this volume is composed of four steps: (1) edge generation, (2) face generation, (3) block generation and (4) block assembly. Steps (2) and (3) use Markowsky and Wesley algorithm developed in their work of generating a solid model from wire frame (Markowsky 80]. The four steps are described in the following accompanied with the example in Figure 3.9. The cavity in Figure 3.9(a) is the feature to be removed. Figure 3.9 Removing a feature (2) a solid model with a cavity feature (b) generated edges and old edges (©) generated faces (@) generated blocks (©) generated volume (the solid model after the volume is added (1) Edge generation ‘New edges are generated from adjacent-faces and feature-faces. The surface of every adjacent-face is intersected with the surface of every other adjacent-face and also with the surface of every feature-face. Here a surface means the geometry of a face. The surface of a planar face is an infinite plane and the surface of a cylindrical face is an infinite cylindrical surface. Every intersection and also every old edge of the feature-faces is then divided into segments by intersecting it with surfaces of adjacent-faces and feature-faces. Then each of these segments is tested if it is needed or not. Segments lying on the boundary of or inside the adjacent-faces are discarded since they do not lie inside the extended part of the adjacent-faces. Segments lying on the boundary of or outside the feature-face are discarded since they do not lie inside the feature-faces. Also infinite segments are discarded. The remaining segments are added to the faces they are generated from as new edges. The original edges of the adjacent-faces and feature-faces are called here old edges. Figure 3,9(b) shows all the new edges and the old edges of the feature-faces. (2) Face generation For each of adjacent-faces and feature-faces, edge loops are generated from old and new edges with Markowsky and Wesley algorithm, In the case of an adjacent-face, its old edges that are not shared with feature-faces are not used since they can never be the edges of the final volume. The algorithm applied to our problem is described here briefly. Edge loops are found by traversing edges. New edges are traversed twice, once in each direction. Old edges are traversed only once since their directions in the final volume are known. When there are more than one edges connected to the edge being traversed, the leftmost one, when viewed from non-material side of the face, is selected. If an edge is traversed twice in the same direction while finding an edge loop, an edge loop is just found. If an edge is traversed twice in different directions, it is a dangling edge and is not needed on the face being generated. For every edge loop, it is determined whether it 48 bounds inside or outside of the loop. In Figure 10, edge loop A bounds inside and edge loop B bounds outside. Whether an edge loop bounds inside or outside can be determined by calculating its total turning angle with the convention that left turn is positive. If the total turning angle is positive, the edge loop bounds inside. If it is negative, the edge loop bounds outside. Those edge loops are then tested if one lies inside another. Edge loops bounding outside and do not lie inside any edge loop are discarded. Each edge loop bounding inside and do not lie inside any edge loop comprises a face together with the edge loops lying inside it. Figure 3.10 shows the edges on the top surface in Figure 3.9(b) and two edge loops generated from the edges. Since edge loop B bounds outside and does not lie inside another, it is discarded. Figure 3.9(c) shows the faces generated from the edges in Figure 3.9(b). Notice that the dangling edge marked with « in Figure 3.9(b) is gone in Figure 3.9(c). 7 edge loop A edge loop B Figure 3.10 Edges and two edge loops generated 49 (3) Block generation Face loops are generated from the faces generated in (2) again using Markowsky and Wesley algorithm. This process is analogous to the search of edge loops in (2). With the algorithm, face loops are found by traversing faces. Faces which do not contain old edges are traversed twice, assuming material once on each side. Faces which contain old edges are traversed only once since their material sides in the final volume are known, When there are more than one faces sharing an edge with the face being traversed, the one which forms the least material angle along the edge together with the face being traversed is selected. Figure 3.11 is an edge view of four faces sharing an edge with face fy which is the face being traversed. Face fy forms a smaller material angle with face f than with fs and so fy is selected. If a face is traversed twice with different material sides while finding a face loop, it is a dangling face and is discarded. Every face loop is determined if it bounds inside or outside, Whether a face loop bounds inside or outside can be determined by classifying a point sufficiently far from the feature against the face loop. This so-called 3D point classification is a very basic function in solid modeling. Those face loops are then tested if one is contained inside another. Face loops bounding outside and are not contained inside any face loop are discarded. Each face loop bounding inside and is not contained inside any face loop comprises a block together with the face loops contained inside it. Figure 3.9(d) shows the generated blocks. Notice that the face marked with « in Figure 3.9(c) is gone in Figure 3.9(d). (4) Block assembly A volume is generated by assembling the blocks. This process is easy and involves only some bookkeeping. When two blocks share the same face with opposite material sides, ihey are assembled by removing the face and combining other faces. Then within this assembly, two faces having the same surface geometry and having the same edge are combined and the edge is removed. Figure 3.9(e) is the generated volume. 50 The generated volume is combined with the solid model. In doing so, there is no need to perform Boolean operation. It is accomplished by simply removing from the original solid mode! the old edges which belong to the generated volume and new edges which do not belong to the generated volume . Figure 3.9(f) is the solid model after this operation. f Figure 3.11 An edge view of faces sharing an edge ‘An attempt to generate a volume to remove a feature by pruning CSG tree had been made before the approach described above was invented. It was unsuccessful mainly because halfspaces which do not show up in the B-rep are often needed in the CSG tree of the volume to be generated and it is very difficu!t and can be impossible to find those halfspaces. 3.6 Implementation and Conclusions 3.6.1 Implementation The feature recognition algorithm presented in this chapter was implemented independent of automatic fixture design system on IRIS 4D using the solid modeler 51 developed at MIT CADLAB {Gossard 88]. Figure 3.12 is an example of feature recognition. The example model was taken from a paper on manufacturing process planning (Brooks 87]. The upper left window shows the original solid model, the lower window shows the solid volumes generated to remove the recognized features and the upper right window shows the solid model after all the features were recognized and removed. AA function to edit facts in template features interactively was added to the solid modeler to allow the user to add and delete user facts interactively. A geometric fact can be added to a template feature by selecting entities such as face, edge or vertex in the wireframe display of the B-rep subgraph of the template feature and then selecting a geometric fact in the menu. The editor also allows the user to interactively define parameters for a feature. When a feature is recognized, parameter values are also obtained from the feature. For example, if the width of the slot feature is parameterized as "w", then "w = 30.0" is retumed when a slot is recognized and its width is 30. Though graph-matching is an exhaustive search, it does not take too long. Graph- matching of a template features having 4 faces with a solid model having 490 faces took 1 second on Silicon Graphics IRIS 4D/75. The feature recognition algorithm was also incorporated into the automatic fixture Gesign program. Since this algorithm cannot analyze the basic shape of a part which is mostly composed of flat features, a program to analyze the basic shape of a part was developed and incorporated into the automatic fixture design program. 52 Figure 3.12 An example of feature recognition 3.6.2 Conclusions ‘The advantages of the feature recognition algorithm described here are: (1) The definition of feature is separate from the feature recognizing program. ‘The definition of each feature is not embedded in the feature recognizing program. ‘This allows a user to define features without any programming. (2) Each feature can be defined very easily. Shape, especially topology, is very difficult to describe with languages or equations. With the method described here, a user can define a feature just by interactively selecting faces of example features on a graphic display. Also a defined feature can be parameterized interactively and the desired geometric information about the recognized feature can be obtained without any programming. 53 The limitations of this method are: (1) It cannot recognize genetic features. In this method, a recognized features must have the same face adjacency as its template feature. But a pocket feature, an example of generic feature, usually is allowed to have any number of walls and hence is not limited to a particular face adjacency. It is easy to write a program which recognizes a particular generic feature, but the definition of the feature will be embedded in the program. A way to recognize generic features with the method described here is to build a taxonomy of features with specific features at the bottom and more generic features above. This taxonomy can be implemented in the naming of specific features, Then after a specific feature is found, its generic feature type can be found in its name. (2) Itcannot recognize some cases of intersecting features. When features intersect, edges and faces are split or lost and the topology of features may change. If the change is minor, intersecting features are recognizable as shown in Figure 3.7 and in Figure 3.12. The cases where intersecting features are not recognizable include: when intersecting features have coincident faces and when intersecting features split each other completely. Since the current trend in mechanical part representation is toward a higher level scheme called feature-based model, a discussion on feature recognition vs feature-based model is presented here. Features are more natural to designers than primitives used in solid modeling, and at the same time they contain more engineering information which is very useful in many applications including automated machining planning. By providing a designer with a method to model his component with features, both of ease of modeling and a model richer in information can be obtained. But feature-based modeling does not eliminate the need of feature recognition, First, we cannot expect the user to input 54 explicitly all kinds of information needed by various application programs. The computer must be able to deduce information on the shape of a component from its geometric description. One example is a thin wall created by placing a hole too close to the periphery of an object. Second, features are highly domain or application dependent and a feature- based description of the component for an application usually does not satisfy the needs of other applications. Third, we are not sure if a designer can and will define a component completely with features. Functional surfaces can be easily related to functional features, but non-functional surfaces cannot be related to functional features. In generating feature-based model from solid mode! in this research, the most difficult part was analyzing the basic shape of a part into mainly flat features. I could not find how to define the basic shape of a part in the literature of design with features, Flats are difficult in determining cutting directions and difficult in generating their machining volumes. So far feature-based modeler can't solve or even attack these difficulties. It seems that we need both feature recognition and feature-based model. This work on feature recognition has been published (Sakurai 88] and will be published [Sakurai 90]. 55 Chapter 4 Analysis of Requirements 4.0 Overview In this chapter, the five basic requirements for fixture configuration: accurate locating, total restraint, limited workpiece deformation, no interference and goodness, are studied in detail and the algorithms and heuristics ‘for the synthesis and analysis of a fixture configuration are developed. 4.1 Accurate Locating of Workpiece 4.1.1 Locating A three-axis NC machine can move its head in three orthogonal directions which form the machine coordinate system Om-XmYmZm- Xm» Ym and Zn axes may, for example, correspond to the side to side movement of the machine table, the forward and backward movement of the machine table, and the vertical movement of the head respectively. The origin of this coordinate system can be placed anywhere by specifying the desired coordinate values for the current position of the head. ‘An operation planner defines the part coordinate system o-xyz with the reference faces used in dimensioning and tolerancing of the part in its drawing, and generates NC code in the part coordinate system. When machining, first these reference faces are established on the raw material. The machining operations for establishing reference faces are called first operations. The machining operations after the reference faces are physically established are called second operations. Though in both first and second operations locating means to 56 Position and orient a workpiece in machine coordinate system, the requirements for locating are quite different. @ ) Figure 4.1.1 Locating of raw material (a) well located raw material (b) iil located raw material In first operations, a raw material is located and the reference faces are established. The requirement for locating in first operations is to position and orient the workpiece in the ‘machine coordinate system in such a wey that the finished part is entirely inside the raw ‘material and all features to be machined can be actually machined. Figure 4.1.1 shows simple examples of locating raw materials. In Figure 4.1.1(b), the finished pert does not lie inside the raw material. In the case of cast raw material, this locating is a very difficult task even for a human machinist since the variations in the shape and size of casting are large and castings do not have flat perpendicular faces suitable for locating due to draft angles, warpage, shrinkage and etc. To accomplish this locating, a casting is often designed with six small areas organized into three sets of three, two and one areas each on approximately perpendicular faces that will be reliably produced by the foundry on every casting. These small areas are called datum targets and used fo: locating during the first operations. Thus datum targets 57 eliminate selection of locating positions from fixture design process. In this thesis, locating of cast raw material for the first operations will not be discussed anymore. A bar stock raw material has better and predictable accuracy and locating a bar stock ‘material can be performed in a way similar to locating in the second operations. During the second operation, the reference faces are already established in the workpiece. ‘The requirement for locating is to align the part coordinate system attached to the reference faces to the machine coordinate system very accurately. Once the workpiece is located, the desired features are created as the cutter moves along the cutter path prepared by the operation planner. The locating accuracy directly affects the accuracy of the features created. a) (2) (3) (4) (5) ‘There are five issues concerning locating accuracy. They are: Deterministic locating When the workpiece is pushed against the locators, the position and orientation of the workpiece must be determined. Practice in dimensioning and tolerancing The current practice in dimensioning and tolerancing must be reviewed since it is tightly related to accurate locating. Required locating accuracy Since the purpose of locating a workpiece accurately is to create features within their dimensional tolerances, the required locating accuracy for a feature has to be determined from the tolerance specifications of the feature. Causes of locating error The causes of locating error must be identified to find out their impact on locating error. Calculation of locating eor 58 ‘A method must be developed to calculate the locating error from the causes of the locating error identified in (4). 4.1.2 Deterministic Locating A fixture has several locators which serve to position ard orient the workpiece in a desired way. When the workpiece is pushed against the locators, the position and orientation of the workpiece must be determined. This is equivalently expressed as the workpiece cannot slip with respect to any locators while staying in touch with all the other locators. Since locating does not rely on the friction force and a locator applies only a pure reaction force, it can be modeled as a wrench of zero pitch. The possible workpiece movement under locator wrenches can be described by infinitesimal twists. (For an introduction to screw theory, refer to Appendix A.) The necessary and sufficient condition for the deterministic locating is expressed as follows using screw theory extended by ‘Ohwovoriole [Ohwovoriole 81]. ‘The following equation must not have non-trivial solutions. (1.1) wet=fidt+m-@=0 i where w, = [fT mT] is 6 by 1 locating wrench vector of the ith locator and t = [7 ATT is 6 by 1 twist vector. »* is an operator to calculate virtual work between a wrench and a twist. It is obvious that the wrench matrix W = [w, ~~ w,]" must have the rank of six. 4.1.3 Current Practice in Dimensioning and Tolerancing Since a part can never be machined perfectly, designers specify tolerances on part drawing. Tolerance is the maximum allowable deviation of a feature from its ideal geometry in size, location, form and orientation. ANSI Y14.5M - 1982 is a modern and widely accepted standard in dimensioning and tolerancing [ANSI 82]. In this 59 4X 5.0.5.1 x8 DP. Notes: 37 finish all over except 16:00-16:5 dia. to be WH, ‘© [025/a[ D/B] 40+ 0.25 oa al BIE 60+0.25 Z16.00-16.05 [@ (go0sTATBIC] LO 0.02] 4.0+0.25 820.00 Figure 4.1.2 An example drawing for the practice in dimensioning and tolerancing standard, conventional + dimensioning and tolerancing is used for size, and geometric dimensioning and tolerancing (GD & 7) is used for location, form and orientation. These dimensioning and tolerancing practices are explained with an example drawing in Figure 4.1.2. .3.1 Location, Form and Orientation In GD & T, a partis positioned in a datum reference frame using datum features of the part, A datum reference frame is a set of three mutually perpendicular planes and datum features are features of the part used to position it in the datum reference frame. The $16.00-16.05 hole in Figure 4.1.2 is located in the datum reference frame with the three datum features A, B and C. The sequence of positioning the part in the datum reference frame is shown in Figure 4.1.3. The primary datum feature A relates the part to the datum reference frame by bringing a minimum of three points on the feature into contact with the first datum plane as in Figure 4.1.3(a). The part is further related to the frame by bringing at least two points of the secondary datum feature B into contact with the second datum plane as in Figure 4.1.3(b). The relationship is completed by bringing at least one point of the tertiary datum feature C into contact with the third datum plane as in Figure 4.1.3(c). A cylindrical feature is also used for positioning a part in a datum reference frame. In that case, a planar primary datum feature relates the part to the first datum plane. Then the axis of a cylindrical feature relates the part to the intersection of the remaining two datum planes. Locational dimensions of a feature represents tie distances of the feature from these datum planes of the datum reference frame, not the distances from the datum features. A datum reference frame serves perfectly as the part coordinate system to be aligned with the machine coordinate system in locating and is usually used as the part coordinate system in NC code generation. Hence, in turn, datum features serve perfectly as locating faces. 61 ‘Third datum plane Figure 4.1.3 Positioning a part in a datum reference frame .2 Size ‘The diameter of cylindrical or spherical surface and the distance of two parallel planar surfaces are treated as sizes which do not need any datum reference frame. Dimensioning and tolerancing of the distance of two parallel planes as size is explained here since it is confusing. ‘The dimension 60 + 0.25 mm in Figure 4.1.2 is on size, i.e., the distance between the two planar faces, not on locations of the planar faces. The distance must be 62 between 59.75 mm and 60.25 mm at any cross section. Also the two planar faces must not extend beyond the boundary of the perfect form at MMC (maximum material condition). The two hatched zones in Figure 4.1.4 are the zones in which the two planar faces are allowed to lie, but the two planar faces cannot lie in these zones independent of each other because the distance must be greater than or equal to 59.75 mm, The standard was developed for the purpose of measuring machined parts, and in measuring, this dependency of the tolerance zone does not cause any problem since the distance can be measured directly as width. But in machining, this dependency causes a difficulty as described later. Figure 4.1.4 Dependent tolerance zones in size dimension If the workpiece is located with face 1 in Figure 4.1.4 in machining face 2, we do not know the locational tolerance zone for the face 2 unless we first measure the error in the form of face 1. To avoid this dependency, it is suggested here to allocate the size tolerance £7 to the two surfaces as locational tolerances of + 1/2 and form tolerances of 1/2. The size dimension 60 + 0.25 in Figure 4.1.2 is interpreted to two independent tolerance zones shown in Figure 4.1.5. By interpreting linear size dimensions as described here, we can associate a datum reference frame with linear size dimensions and thus we can have a 6 datum feature to locate a workpiece in cutting planar faces dimensioned as size. The price to pay is the tighter tolerance, but the benefit of this interpretation is worth the price. >| <— iL a Hi He i 4 i 4) j Y YW iY) yy} 1 Figure 4.1.5 Two independent tolerance zones 4.1.4 Required Locating Accuracy Locating is an effort to make the part coordinate system defined by datum features coincide with the machine coordinate system. Locating error of the workpiece is defined as the discrepancy between the two coordinate systems and is represented by a twist t = [0° d"J" of the part coordinate system in the machine coordinate system. If there is no locating error, the machine coordinate system coincides with the part coordinate system and the position and orientation of a feature to be cut in the machine coordinate ‘system are the same as these in the part coordinate system. Pm=P n, (4.1.2) where Py = [Bm Yn Zml™ and Mp = [Nyy Rym Myml™ are the position vector and orientation vector of the feature in the machine coordinate system, p= [x y z]” and n= {n, n, n,J" are the position vector and orientation vector of the fature in the part coordinate system. Nm, and n are unit vectors. When there is a locating error, the two coordinate systems are not identical and the position and orientation of the feature undergoes a transformation. Pa=Rp+d ny =Rn (4.1.3) where R and d are the rotation matrix and the translation vector expressing the spatial relationship between the two coordinate systems. Since the discrepancy between the two coordinate systems is very small, R can be expressed as: 1 -0, @y R=| 6, 1 -0, (4.1.4) 6, O 1 The derivation of equation (4.1.4) is presented in Appendix C. As can be seen, for infinitesimal rotations, the order of rotations does not matter in the final transformation, Now the position and orientation errors 5Pyy = [8%m 8Ym 57m] and 8M = [5m Sym ‘Sn,_] of a feature due to the locating error of the workpiece are: 5pm =Pm-P=R,p+d dng =n -n=Ren (4.1.5) where -6, 6 0 -6, 4.1.6) 6, 0 Now these errors, called the locating error of the feature, must be related to the tolerances of the feature. Since machining has other causes of machining errors such as errors in cutter diameter and machine movement, only a portion of the tolerances can be allocated to locating. There is no general answer to what portion of the tolerances should tb: allocated to locating. One literature suggests one half and another suggests one tenth, ‘One of the machinists I interviewed told that the magic number is one fourth at his 65 machining factory. Here this problem is not studied and the entire tolerance is allocated to locating. The way the tolerances are related to 5pm and Sn, depends on the type of a feature. Followings are two examples of how the locating error of a feature has to be related to the tolerances of a feature. (1) Hole feature lesb v.20 (b) @) Figure 4.1.6 Hole tolerances and locating errors (a) locational tolerance and position error (b) diameter tolerance and orientation error In the case of a hole feature, the center of the hole is the position p of the feature and the axis of the hole is the orientation n of the feature. The position error 5p is related to the locational tolerance of the hole, that is expressed as the diameter d, of a cylindrical zone in which the axis of the hole is allowed to lie, with the following inequality. 6p, xnis St (4.1.6) ‘The orientation error 5n,, is related to various tolerances such as diameter tolerance, form tolerance, parallelism tolerance and perpendicularity tolerance. If the diameter tolerance is +8D and the depth of the hole is h, the following inequality must be satisfied. hlnl< 28D (4.1.7) ‘These relations are illustrated in Figure 4.1.6. (2) Flat feature In the case of a flat feature, the approximate center of the flat is the position p of the feature and the normal of the flat is the orientation n of the feature. The position error 8p is related to the locational tolerance of the flat +51 by the following inequality. 18pm x nl < dl (4.1.8) The orientation error 6g, is again related to various tolerances such as size tolerance, flatness tolerance, parallelism tolerance and perpendicularity tolerance. If the size tolerance is 48w and the length of the flat in n direction is 1, the following inequality must be satisfied. 1[Sn| < 8w 4.1.9) ‘Similar inequalities must be developed for each type of features and tolerances. In general, it is impossible to obtain from these inequalities the independent range of the value for each component of @ and d. For example, for a hole whose axis is parallel to z axis, inequalities (4.1.6) and (4.1.7) are expressed as follows and it is obvious that the inequalities do not give the independent ranges of the values. (-y0,+ 28) +d,)?+ (x0,- 20, +d,)> 3 (4.1.13) We don't know beforehand at which locators the contact breaks. 74 Linear Programming is a very powerful tool to deal with linear inequalities. The above problem can be solved with the following formulation. Maximize -\(w, *t) subject to W*t25 (4.1.14) This formulation can also handle the case of n equals six. The argument behind this formulation is that the objective function is maximum when six rows satisfy equality and other n - 6 rows satisfy inequality (4.1.13). ‘The following is a simple 2D example of calculation of locating error. A 2D rectangle is located with three locators as shown in Figure 4.1.11. If the third locator has a position error of 6 in y direction, equation (4.1.12) becomes: 1 0-y,][4x] fo) 0 1 xa/ld,|=|0 (4.1.15) 0 1 x36 ‘The solution is: o=- 84, y,9.dy mm" x,0 (4.1.16) From this result, we can conclude that the position of the locators should be as apart as possible to make @ smaller for a certain 5. Figure 4.1.11 A simple 2D locating 75 4.2 Total Restraint of Workpiece It is obvious that a workpiece should not move at all during both clamping and actual machining. First, kinematic analysis with screw theory is presented to see if the workpiece has no degree of freedom. Then, in the rest of the chapter, force and moment equilibrium analysis is presented to calculate necessary clamping forces to prevent the workpiece from moving under the cutting wrenches. To prepare for the force and moment equilibrium analysis, an existing method to estimate cutting wrenches generated in cutting features is introduced and the need for substantial clamping forces is explained. Next, it is shown that necessary clamping forces cannot be obtained by static force and moment equilibrium analysis. Instead, a method to calculate the necessary clamping forces using the maximum friction wrench theorem is presented. Next the theorem is proved based on Coulomb's friction law and Kuhn and Tucker's optimality condition for convex problems. Finally, the necessary clamping forces are calculated for multiple or continuously varying cutting wrenches generated in a setup. The application of maximum friction wrench theorem to the prediction of the movement of an object being pushed is presented in Appendix B. 4.2.1 Kinematic Analysis In this section, first the necessary and sufficient kinematic condition for a clamping sequence not to move the workpiece is presented and an easy and efficient method to check this condition for a clamping sequence is described. Then, the necessary and sufficient kinematic condition for a fixture configuration not to allow the workpiece any degree of freedom is presented and a method to check this condition for a given fixture configuration is presented. 16 (Clamping sequence If the sequence of applying clamps is not correct, the workpiece may be moved when a clamp is applied onto the workpiece. The workpiece will not move under additional clamping wrench if the following inequalities have no solutions. w*t20 1) Wart t> 0 a where w, are locator and clamping wrenches and t is a twist. The first n inequalities specify twists allowed under the n wrenches. If there is no twist which satisfies those n inequalities, then the workpiece is already restrained. If there are such twists, the additional wrench w,,1 should not be repelling to any of these twists. Linear Programming is a well developed and widely used tool for optimizing a linear objective function under linear inequality constraints. With a small trick, it can be used to check the existence of a solution to the linear inequalities. Here a small positive number € is introduced to change the strict inequality W,,, * ¢ > 0 into the combination of inequality and equality W,,1*t2€. This € means that w,,1 can be repelling to some of the twists satisfying the inequalities (4.2.1). This is easily understood with a simple 2D example in Figure 4.2.1. wy, wz and ws are the wrenches already applied and w, is the additional wrench. The x component of w, pushes the workpiece away from the wrench W3. But if the x component of wg is very small and there is enough friction between the workpiece and wy and w,, the workpiece will not move. In actual practice, clamps are applied onto faces which may deviate from their ideal geometry within their tolerances. One reasonable value fore is: ext (4.2.2) where tis the tolerance of the face on which the additional wrench is applied and 1 is the length of the face. 1 Now Linear Programming, which is readily available in the form of a small computer routine [Press 88], can be applied as follows: Maximize dy (4.2.3) subjectto -Wi* t20 Waa tt2e where d, is a component of t = [0, 6, 8, d, dy d,]? and can be replaced by any component of t. If there is no twist which satisfies the constraints, Linear Programming returns the message of “no feasible solution". 1,2,3 Ws wit 20 t weet2e y Wo wi x Figure 4.2.1 Geometric meaning of & (2) Degree of freedom The necessary and sufficient condition for a fixture configuration not to allow the workpiece any degree of freedom is that the following inequalities have no non-trivial solution. Wet20 (4.2.4) where W = [W1.--W1]" is the locator and clamp wrench matrix. Again, this condition is checked easily with Linear Programming. The formulation is as follows: 7B For each component of t maximize and minimize the component subjectto W*t20 (4.2.5) If the maximam and minimum are zero for every component, there is no non-zero twist which satisfies the constraint and hence the condition is satisfied. Otherwise, the workpiece has degrees of freedom. ‘Another method to check the existence of the solution to a set of linear inequalities is to use the theory of polyhedral convex cones by Goldman and Tucker (Goldman 56]. The theory is interesting and useful, but Linear Programming is good enough for the check of the kinematic restraint as shown above. ‘The above conditions on clamping sequence and degree of freedom and the methods to check if the conditions are satisfied ere useful when friction forces are not relied on in restraining the workpiece and the positions and directions of locators and clamps are so diverse. But in the actual fixturing, the positions and directions of locators and clamps are often selected in an organized way and also friction forces play a very important role in restraining the workpiece. So, the kinematic conditions described above are usually automatically satisfied if friction forces are taken into account. 4.2.2 Cutting Wrenches and Need of Clamping Forces In this section, a widely used method to estimate cutting wrenches is presented. Then when and why clamping forces are needed is explained. Here the word cutting wrench is used instead of cutting force since cutting can generate both force and torque. 4.2.2.1 Estimate of Cutting Wrench ‘The physical phenomena of cutting is so complex and so many elements are involved that even for a single tip cutting it is impossible to estimate the cutting wrench accurately. 19 ‘The estimates of cutting wrenches for drilling and milling, where much more complex cutters than a single tip cutter are used, are always approximate. Still they are much better than no estimate at all. There are a few well known formula for estimating cutting wrenches [TMEH 89] [Moltrecht 81]. The following formula for estimating cutting wrenches in drilling and milling are taken from [TMEH 89]. (1) Cutting wrench in drilling In drilling, cutting wrench is divided into drill torque and downward thrust. They are functions of the drill diameter, drill shape, feed per revolution, and work iece material. ‘The effects of cutting fluids and drilling helix angle are relatively minor. Reasonable estimates of torque and thrust of sharp twist drills of various sizes and designs can be made from the following formulas: For torque: M=K f08 di 8 A (4.2.6) For thrust: T=2K 8 dS B+K AE (4.2.7) where: M = torque, in-Ib T = thrust force, Ib K = work-material constant (given in a table) drill feed, inch per round drill diameter, inch drill design constants (given in a table) d ABE Recommended drill feed can be obtained from a machining data table. To get a feel of the order of the magnitude of cutting wrenches, they are calculated with the above formulas for two cases. The torque and thrust for drilling a two inch 80 diameter hole in a material of stainless steel are 5200 in-Ib and 10600 Ib respectively. The thrust for drilling a 0.6 inch diameter hole in a material of stainless steel is 1300 Ib. (2) Cutting wrench in milling In milling, the cutting force tangent to the effective cutting radius of the cutter is dominant and is given by the following formula: F= 180K T (1000 fd)" (4.2.8) where: = tangential force, Ib = work-material constant (given in a table) average number of cutter teeth in contact with the workpiece = feed per tooth, inch = depth of cut, inch aaa aon " 1 = amachining exponent for different workpiece materials (given in a table) Recommended feed per tooth can be obtained from a machining data table. To find the order of the magnitude, the cutting force is calculated with the above formulas for a case. ‘The tangential force for milling a three inch thick material of stainless steel of three inch thick with two inch diameter cutter is 20001b. The direction of the tangential force is difficult to predict because it varies with the width of cut, cutter design, cutting fluid and operating parameters. Also during the milling of a feature, the position of the cutter, the direction of feed, the depth of cut and the width of cut change dramatically. As the result, the position, the direction and the magnitude of the cutting force vary drastically. ‘The cutting force in milling a feature cannot be represented with a single force vector. This poses problems in both calculating necessary clamping forces and estimating workpiece deformation since there is no simple method to find the critical cutting force of the continuously varying cutting force. 81 The tangential force for a plain milling cutter used in a climb (or down) milling application, which is always preferred, tends to pull the workpiece into the cutter. This results in a small feed load. The cutting wrenches easily run into hundreds or thousands of pounds as shown by examples. The weight of the workpiece and its inertial force are small compared with the cutting wrenches and need not be considered in calculating clamping forces or workpiece deformation. 4.2.2.2 Need of Clamping Force Clamping force is a force actively applied to a workpiece when the work piece is located and “lamped. When a workpiece is totally restrained without counting on friction forces, a substantial clamping force is not needed. Figure 4.2.2(a) shows this with a two dimensional example. Locators and clamps are just in touch with the workpiece and there is no pushing among them. When the workpiece is cut, the set of locators and clamps reacts to any cutting wrench with reaction forces, each clamp or locator exerting a reaction force of the same magnitude as the force it receives, and the workpiece will stay in equilibrium. In contrast to this, the friction force is counted on in the fixture configuration in Figure 4.2.2(b). ‘The x component of the cutting force must be resisted by the friction force. To generate this friction force, a substantial clamping force must be exerted when the workpiece is clamped. In actual practice of fixturing, the friction force is almost always telied on. In the following, the necessity of clamping force is discussed for two clamping schemes: side clamping (horizontal clamping) and down-holding clamping (vertical clamping). These two clamping schemes and a combination of them are the only clamping schemes available in modular fixturing systems and also they represent the most cases of clamping in general. 82 (b) Figure 4.2.2 Fixture configurations and need of clamping force (a) does not need clamping forces (b) needs clamping forces (1) Side clamping Figure 4.2.3 shows an example of side clamping scheme. A side clamp is designed to have a pivoting action when the bolt is tightened. This pivoting action generates a downward force as well as a horizontal force and pushes the workpiece downward as well as horizontally. This downward force is a friction force and its magnitude is proportional to the magnitude of the horizontal force by Coulomb's law. If side clamps do not have the pivoting action and downward forces are not generated, the workpiece will be pushed only horizontally and one of the vertical faces of the workpiece will make face-contact with side clamps or locators and the bottom face of the workpiece, which is the primary locating face, will not be in face-contact with the base plate. Even with the downward force generated by the pivoting actions, machinists feel that the workpiece floats and they always use down-holding clamps as long as possible. ‘The vertical component of a cutting force is downward as in drilling or very small as in milling. As the result, substantial clamping force is not necessary when side clamps are used as in Figure 4.2.2a) and clamping forces are not estimated for side clamping scheme. When side clamps are used as in Figure 4.2.2(b) where the friction force is relied on in 83 restraining the workpiece, a substantial clamping force is necessary. The method to estimate necessary clamping forces for down-holding clamping, which is presented later in this chapter, cannot be applied as it is since the forces between the workpiece and clamps and between the workpiece and locators change as the cutting wrench is applied in the case of side clamping while they do not change in the case of down-holding clamping. In the several examples of side clamping schemes I found, side clamps are used as in Figure 4.2.2(b). But this problem was not further studied. workpiece a Figure 4.2.3 Side clamping scheme (2) Down-holding clamping Figure 4.2.4 shows a simple example of down-holding clamping scheme. This is the most commonly used clamping scheme. As can be seen, clamping forces are purely downward. The bottom face of the workpiece is in face-contact with the base plate. “! 1€ friction force is the major force to resist the horizontal cutting forces and torques. To resist large cutting forces with the friction force, large clamping forces are needed. In the rest of this chapter, a method to estimate necessary clamping forces for down-holding clamping scheme is discussed. 84 workpiece / “ ‘Co Figure 4.2.4 Down-holding clamping scheme Necessary clamping forces are not calculated both in the current machine shop practice and in the literatures on fixture design. A designer selects a particular size of clamp based on his experience and instinct. The clamping force when the bolt of a clamp is tightened ‘manually is not controlled either. One machining expert mentioned that this practice causes some problems in the accuracy of the finished part, but these problems may not be serious enough to worry about. Since a computer program cannot select the size of clamps by instinct, a method to estimate necessary clamping forces is developed and presented in the following. This method may help a human designer in selecting clamps of appropriate size and may improve the accuracy of the finished part. In presenting the method, an analysis model of the clamping scheme has to be defined first. When the workpiece is supported with locators, clamping forces are usually applied exactly above the locators to avoid workpiece deformation due to the clamping forces. In this case, the reaction forces from the locators are easily found from the given clamping forces. When there is no supporting locator, we have to find out the pressure distribution on the bottom face of the workpiece. Realistically it is impossible to find out the pressure distribution since elastic analysis involving microscopic geometry of the workpiece, which there is no way to know, is needed. Instead, the pressure distribution is replaced with point forces parallel and opposite to the clamping forces. The locators on the side faces of the workpiece do not contribute in restraining the workpiece when the cutti' “orces are 85 directed away from the locators. So these locators are neglected in the calculation of the necessary clamping forces. Also the vertical component of a cutting force is neglected. In drilling, the downward thrust is substantial and it contributes to restraining the workpiece. The negligence of this force results in larger clamping forces. In milling, a cutting force may have upward component, but itis small and can be neglected. Figure 4.2.5 shows a free body diagram of down-holding clamping scheme modeled as described above. Friction forces are divided into x and y components. Since clamping forces and locator reaction forces remain constant while the horizontal cutting force varies in direction and magnitude, this model is two dimensional. As the sets of forces acting on the top face and on the bottom face are symmetric, this model can be replaced with a pure two dimensional model as shown in Figure 4.2.6. Now the analysis of this model to calculate the necessary clamping force is presented. —P cutting wrench —> clamping force —+ locator reaction force —» friction force Figure 4.2.5 Three dimensional model of down-holding clamping 86 cutting wrench We resultant friction wrench We ‘> x Py clamping position Figure 4.2.6 Two dimensional model of down-holding clamping 4.2.3 Necessary Clamping Forces to Resist a Cutting Wrench 4.2.3.1 Static Analysis ‘An attempt was made to calculate the necessary clamping forces with force and ‘moment equilibrium analysis. Let fg; denote the magnitude of the clamping force of the ith clamp, pi = (x; yi ]T denote the ith clamping position, f,= {fix fiy J” denote the friction force at the ith clamping position, p. = [xe Ye I" denote the position of the cutting force, fe = [fox fey JF denote the cutting force, m, denote the cutting torque, We = [Wex Wey Wan I = Ufex fey Xefey - Yefex + me] denote the resulting cutting wrench resolved around the origin and n denote the number of clamps. See Figure 4.2.6. Now, with these notations, the force and moment equilibrium is expressed as: Wex = {is (4.2.9) Wer 87 With matrix and vector notations, equation (4.2.9) is: Wi=-we (4.2.10) If this equation is solved, the necessary clamping forces are: Vit Fy (4.2.11) where 1 is the friction coefficient. But the problem is statically indeterminate and the solution has q = 2 n - 3 free variables and is expressed as follows: fat,+ dain (4.2.12) where fp is a particular solution, 4; is a free variable and vis a basis of the null space of W. Making the problem determinate requires elasticity. To avoid this, quasi-static analysis is introduced in the next sections. 4.2.3.2 Quasi-Static Analysis In the previous section, clamping forces to balance the cutting wrench were sought by solving static equilibrium equations for the cutting wrench. In this section, the problem is reversed. When and how does the workpiece start slipping if the magnitude of the cutting wrench is increased gradually ? Once the workpiece stars slipping, the instantaneous velocity and the resulting friction force at each clamping position are uniquely related by Coulomb's law. ‘The Coulomb's law of dry friction, when the normal force N 2 0 is treated as known, states a relation between the friction force f and sliding velocity v formulated as follows : 88 ‘There exists 1 2 O, the friction coefficient, such that if v=0:IN SpN (4.2.13) if v #0: IN =yN (4.2.14) and the vectors fand v are parallel with opposite directions. Since we are interested in when the workpiece starts slipping, we will use static friction Coefficient instead of kinetic friction coefficient. To avoid dynamics getting involved, the quasi-static assumption is made here. Quasi- static means that the inertia of the workpiece is negligible, When the cutting force is barely large enough to move the workpiece, the acceleration of the workpiece is very small. By this assumption, the static equilibrium equation (4.2.10) remains valid when the workpiece starts slipping. Now how can we use equation (4.2.14) to solve equation (4.2.10) ? One way is to assume the center of rotation. Then the friction force at each clamping position can be expressed with the coordinates of the center of rotation based on equation (4.2.14). “Then equation (4:2.10) can be soived for the coordinates of the center of rotation. Let po = [xo yo IT be the center of rotation when the workpiece starts moving and let's assume a clockwise rotation. Then the friction force at the ith clamping position is, [i] where f, is the clamping force common to the all the clamps. Then equation (4.2.10) is _Hfe_[ (yi yo) [pu poll -Cxi- x0) (4.2.15) expressed as, Vir YO up 2 iprspd HM (Xi - Xo) fe) = -Wey 2. 2 rpg HO = (4.2.16) 89 Here unknowns are xo, yo and f.. Since these equations contain lots of square root terms, ‘a numerical method like Newton-Raphson's method must be used and the solution can not be zeliably obtained. Furthermore, when the center of rotation coincides with one of the clasnping positions, equations (4.2.16) is invalid since the friction force ar that clamping position is different from the one given by equation (4.2.15). So, before solving equation (4.2.16), the following equations must be solved for every clamping position p;. (fe) + fiy =-Wey i ej (4.2.17) F-22009) WOE Ges 4 fy <0 Won ij it [pi- Pal fe +f - (ufo? <0 ‘The unknowns are fix, fiy and fe. If the jth clamping position coincides with the center of rotation, the above equations (4.2.17) have a solution, Also, the workpiece may translate. Conceptually, a translation can be thought as a rotation around infinity. But numerically, it causes a trouble. So, it must be checked if the cutting wrench goes through the center of friction before solving equations (4.2.16). Mason tried to find out the center of rotation when a planar object is pushed by the method described here and had convergence problem (Mason 85]. So, I did not try to solve these nasty non-linear equations. 4.2.3.3 Maximum Friction Wrench Theorem ‘The method applied here to solve the problem is based on a theorem about the friction of the multiple point contact found and proved in this research. The proof of the theorem is presented in the next section. When the theorem is applied to the current clamping problem, it means: When the workpiece starts slipping, the magnitude of the resultant friction . ; Because of the quasi-static assumption, the direction of the friction wrench is opposite to that of the cutting wrench an} its magnitude is the same as that of the cutting wrench when the workpiece starts slipping. This relation is shown in equation (4.2.10) where W fis the friction wrench and we is the cutting wrench. A friction wrench whose direction is opposite to that of the cutting wrench is expressed as: Wi=-wl (4.2.18) where I is the magnitude of the wrench and w = (Wx Wy Wm ] is the direction of the cutting wrench and is given by the following: We weet (4.2.19) Now the theorem is represented as the following maximization problem. Maximize = I=- w: (Wf) subjectto wx (Wf) =0 (4.2.20) f+ fy Sta? for The equality constraint assures that the frict'on wrench is parallel to the cutting wrench. Since the objective function and inequality constraints are convex functions and equality constraints are linear, optimization theory guarantees that the maximum obtained is global 91 {Avriel 76]. When the maximum magnitude is obtained, friction forces are also obtained at the same time. Then the necessary clamping force for each clamp is obtained as: f, f, (4.2.21) necessary = fei where I, is the magnitude of the cutting wrench and Imax is the maxiraum magnitude obtained from the maximization (4.2.20). fei represents the ratio of the magnitude among the clamping forces. If the magnitude of the clamping forces is the same, fei is one. Any two dimensional movement can be expressed as a rotation around a point. The center of rotation of the workpiece can br easily obtained by drawing lines perpendicular to the friction forces at the clamping positions. The intersection of these lines is the center of rotation. In implementing this method, Linear Programming was used again. Since the inequality constraints in maximization (4.2.20) are circles, they are easily approximated with regular polygons and Linear Programming becomes applicable. ‘The method was implemented on IRIS 4D graphics workstation. In the case where four clamps are used and each inequality constraint is approximated with 36 facets, the obtained friction forces were correct to the third digit and the computing time required was less than a second. Figure 4.2.7 shows an example. The clamping positions and the position and the direction of the cutting force are shown in Figure 4.2.7(a). The equation. (4.2.18) and maximization (4.2.20) are written as: fix 1O1010]g 9 O10101 =-|0.707|1 1212-10 0.707! 3,1 w w Maximize T= -0.707(fix - fiy + fax + 3fzy - fsx + fay) subjectto fix + fax +f, =0 92 fix + 3fly ~ fox - fay + fax tay = Rr fysl fori=1,2,3 The result is shown in Figure 4.2.7(b). Imax is only 2.267 even though there are three clamps. The center of rotation of the workpiece coincides with one of the clamping positions. Imax = 2.267. @) () Figure 4.2.7 An example of maximum magnitude method Though the method can be applied only to multiple point contact cases as in the example, there is no limitation to the number of contact points. I guess that by approximating a pressure distribution with many contact points, we can estimate clamping forces satisfactorily accurately for any pressure distribution. The remaining problem is that * there is no way to find the pressure distribution itself. Cutkosky is the only one who considered friction force in automating fixture design [Cutkosky 89]. He checked if a given set of clamping forces can prevent the workpiece from slipping in the following way. His idea is to check if a cutting wrench lies inside of the limit surface of the given clamping forces. A three dimensicnal limit surface in force 93 and moment space is a concept developed by Goyal [Goyal 89]. It is a closed surface and represents the frictional load-motion relation of a planar slider based on friction laws. A vector from the origin to a point on the limit surface represents the friction wrench w = [fy f, m]™ generated by the slider and the normal at the point represents the direction of the corresponding motion of the slider v= [vx vy @]T. The problem with this is that limit surface is simply a concept and it cannot be expressed analytically. So Cutkosky calculated points on the limit surface for assured centers of rotation. Then he approximated the limit surface with an ellipsoid using the calculated points on the limit surface. He says that a friction force is not exactly predictable anyway, this approximation is acceptable. ‘The method used in this work directly calculates the point on the limit surface for the direction of a given cutting wrench. There is no approximation at all and CPU time required is minimal. Also this method is useful in predicting the motion of a planar slider as presented in Appendix B. The method can be applied to three dimensional cases only if the cutting wrench is perpendicular to the clamping forces and the forces exerted by the clamps can remain constant. But in three dimensional cases, usually they do not remain constant and it requires elasticity to calculate the forces exerted by the clamps. A simple example in Figure 4.28 shows this difficulty. In Figure 4.2.8(a), a workpiece is located and clamped with a locator and a clamp. The reaction force fj of the locator is equal to the clamping torce fe. Now in Figure 4.2.8(b), a cutting force few: is applied. What are the forces fy' and f.' exerted by the locator and the clamp ? We need elasticity to answer this question. Qe — fi fe f) feu fe @) ©) Figure 4.2.8 Static indetermination 94, 4.2.4 Proof of Maximum Friction Wrench Theorem In this section, the maximum friction wrench theorem that is used in calculating necessary clamping forces is proved. Figure 4.2.9 shows an object supported at multiple points and sliding on a horizcatal plane. The maximum friction wrench theorem is: (1) When the magnitude of the friction wrench is the maximum under Coulomb's Jaw, the object is sliding. (2) When the object is sliding, the magnitude of the friction wrench is the maximum under Coulomb's law. or in simpler words, it means that when you try to move an object lying on a plane, it resist you as much as possible. Horizontal supporting face Wrench \ J perspective view he fiont view ‘The object is supported at multiple points. Figure 4.2.9 An object sliding on a horizontal plane Before starting the proof, Kuhn and Tucker's op.imality conditions for convex program is reviewed [Avriel 76]. 95 Kuhn and Tucker's optimality conditions for convex program Given a constrained optimization problem of the form: (CP) Minimize F(x) subjectto g(x) SO istyym (Pl) h(x) =0 j=l (P.2) xe R™ where F(x) and g(x) are convex functions and hj(x) are linear. ‘The followings are the necessary and sufficient conditions for the global optimality. There exist vectors x*, 4° and j1*, with x* satisfying (P.1) and (P.2), and (KT) VF(x*) +e Vex") + ba Vayx*)=0 Aj g(x") =0 at20 F(x*) is the global minimum of (CP). The maximization problem (4.2.20) is changed into the following minimization problem by simply multiplying the objective function by -1. Minimize F(f) =-I=w, Dias Wy Yhy+ Wn LO fy yj fix) (4.2.22) subjectto (= filet fiy- (fei) SO fori (4.2.23) hy) = Wy DGKifiy- ¥; fix) - Win Dfiy= 0 (4.2.24) 96 hf) = Wn Shia wD: fiy- Yi fi) =0 (4.2.25) (4.2.26) hy =, Shy: wy Dn f= [fix fiy fax fay JT Since F(f) is linear and hence convex, g; are convex and I, hg and h3 are linear, this optimization is a convex program and Kuhn and Tucker's optimality conditions for convex program are applicable. The necessary and sufficient conditions for the global optimality applied to this problem are: There exist vectors {, A*, 1°, with f satisfying (4.2.23) through (4.2.26), and VEC) +A; Veit") + Dal vay) =0 (KT.1) Ag) =0 isl (KT.2) ar2o (KT.3) Now we are ready to prove the theorem. To avoid the notations get meaninglessly confusing, * is omitted, 7) n_the magnitude of the friction w1 is aximum_un omb' ject is slid When the magnitude of the friction wrench is maximum, Kuhn and Tucker's conditions hold true. Among the equations in (KT.1), only two of them contain fix and fiy. They are: 97 WW mY; wy wnt Wx; re |= (4.2.27) or “Want Wy = HW), (Wx tH Wm BW) | 4 og, lf |- (om * BW y= HW) i= Wy + HW HW) Ms “es By taking scalar product between equation (4.2.28) and vector (-fiy fix J", we eliminate A;. [Com HM y~ HaWa) Y= e+ Ham Hy fig 4 [n+ Hy y= HW) Ki= CWy +H, Wy= Hy Iie O (4.2.29) Now let 0: denote Wm + [L1Wy ~ H2Wx. (1-1) Tf ct = Wm + LrWy = Haw, #0 Equation (4.2.29) can be expressed as: (xi - Xo ) fix + (yi - yo) fiy = 0 (4.2.30) where xg = yt HM nH OF Win Hy Wy- HW (4.2.31) _ Mat HW" Hay Y0- Wont HW y> HW Note that xo and yo are independent of x; and yj; . It will be shown that they are the coordinates of the center of rotation. Now equation (4.2.28) can be expressed as: (4.2.32) 98 This equation tells that if A; =0 then x;= xo and yj = yo. This means that at most only one A; can be zero. Otherwise, we will have x; = xj and y; = y; and two distinct support points coincide. (KT.2) dictates that gi(x) must be zero when 2; #0. ‘This means that at all clamping positions, except the one which coincides with (xo yo ), the following equality holds. fit fiy- (fei)? =0 (4.2.33) By taking vector product between equation (4.2.32) and vector [(x; - xo) -(yi- yo)]", we get (i = x0)? + (Yi yo)? = 2A; - x0 My - Gi - yoda] (4.2.34) Similarly for the jth support point, 2h (xj- x0)? + (yj- yo)? = Des + Xo Mfiy ~ (Yj - Yoox] (4.2.35) Assume Aj #0 and Aj #0. Then A; > 0 and Aj > 9 from (KT.3), Now by multiplying equation (4.2.34) with equation (4.2.35), we get [0x - xo fiy ~ (Vi ~ yo)Fix] [0x5 - x0 fy - (95 - YoDfin) Si Lexi - x0)? + (i - yo )*I [6x5 - x0)? + (5 - Yo?) > 0 (4.2.36) ij Now we interpret the equations we obtained. By using vector notation, equation (4.2.30) is expressed as: fi (Pi- po) =0 -~- fyis perpendicular to (pi - po). fy (py- Po) =O -- fyis perpendicular to (py - po). Similarly, equation (4.2.36) is expressed as:

You might also like