Relative positioning of variational part models for design analysis

Relative positioning of variational part models for design analysis

Research Relative positioning of ,variational part models for design analysis Rajneet Sodhi and Joshua U Turner A collection of functionally oriente...

1MB Sizes 0 Downloads 25 Views

Research Relative positioning of ,variational part models for

design analysis Rajneet Sodhi and Joshua U Turner

A collection of functionally oriented assembly relations serves as an ~mplIcit representation for part positions m an assembly The actual determination of part positions from the assembly relations has been extensively researched for assemblies in which parts are at their nominal shapes and sizes However, design-analysis algorithms such as those used in tolerance analysis reqmre the determination of the final assembly configuration, where the indIwdual part geometries incorporate simulated manufacturing variations The paper describes a constrained-optimization technique for the determination of part positions m assemblies of nomdeal parts Because the manufacturing variations are relatively small, the authors' techmque hneanzes the rotational elements in the constraint formulation The constraint-optimization formulation seeks to sansfy the assembly relations to the maximum extent possible that is consistent with their relative functional significance Noninterference constraints between the mating parts are enforced

Keywords: assembly modelling, linear programming, variational geometry, tolerance analysis

A collection of simple assembly relations serves as a functional description of the design requirements for the mating of parts in an assembly The assembly relations also serve as lmphclt representations for the relative part positions in the assembly The actual determination of part positions from the assembly relations is an important step in several CAD applications Much of the previous work In relative part positioning has been focused on assemblies in which the constituent parts maintain their nominal shapes and dimensions In NY State Center for AdvancedTechnology,RensselaerDesignResearch Center, Rensselaer PolytechmcInstitute, 110 Eighth Street, Troy, New York 12180, USA Paper recel~'ed 12 October 1992 Revised 28 May 1993

366

such nominal assemblies, each assembly relanon can be exactly satisfied, and each is modelled as a set of equality constraints However, in some design-analysis algorithms (such as those used in tolerance analysis), the assemblies may contain part models that incorporate simulated manufacturing variations Under these conditions, the exact-fit assumption must be abandoned, and the assembly relations must be treated differently The actual determination of parts positions must be such that the assembly relations are satisfied to the maximum extent possible This paper presents a constralned-optimlzanon technique for determining relative part positions m assemblies containing variational part models The assembly relations between the part models may be contacts, attachments, assembly dimensions, alignments, or enclosures The assembly relations are treated as constraints (for example noninterference) or goals (for example the maximal proximity of attached contacts) Noninterference constraints from the contact relations are used to define a region of the configuration space within which the goals are maximally satisfied The functional semantics of the assembly relations are used to define a sequence in which the relations are satisfied Because manufacturing variations in the part models are always small relative to the nominal geometry, the rotational terms in the constraint formulation are hnearlzed, and the formulation is solved using linear-programming techniques The part-positioning technique described in this paper is currently being used for the solution of toleranclng problems i It is also useful in other applications involving positioning with nonldeal geometries, for example, this technique has also been used m the positioning of datum reference frames relative to the corresponding datum features 2 The next section reviews previous work in relative part positioning Background for the approach taken in this

0010-4485/94/05/0366-13 © 1994 Butterworth-Hememann Ltd Computer-Aided Des)gn Volume 26 Number 5 May 1994

Relatwe pos)t)on)ng of varmtmnal part models for design analysis R Sodhl and J U Turner

paper is established in the section on assembly representation and modelling The subsequent sections describe the constrained-optimmation techmque for part positiomng First, the mathematics behind the formulation of constraints and goals is developed. Next, the solution of the constraints using hnear programming IS described The section on the solution of assembly relations describes the actual constraints set up from the assembly relations, and the sequence in which the constraints are solved to generate an optimal assembly configuration An example IS presented to illustrate the relative part positioning. The use of this technique in tolerance analysis is briefly described Finally, the limitations of the current work and conclusions are given

LITERATURE

REVIEW

Research in relative part positioning can be classified according to the techniques for modelling the assembly relations in terms of constraints, or according to the technique for solving the constraints

Coarse

versus

fine part positioning

In coarse-postttonm9 strategies, it is assumed that all the mating relations between parts can be exactly satisfied The relations are modelled using equality constraints, and the constraints are solved to determine the final part posmons Lee and Andrews 3 develop a set of equality constraints for the aoamst andfits assembly relations. The unknowns in these constraints are the 12 variable coefficients of the 4 x 4 transformation matrix that describes the position of each part However, these 12 variables are not independent, and extra equations are introduced to Incorporate the dependencies between the variables In Reference 4, the six independent relative degrees of freedom of each part are used as the variables in formulating the constraints. In Reference 5, the relations are extended to support spherical contacts. Ambler and Popplestone 6-s set up equality expressions that describe the relatwe motion constraints for each pair of mating features in the assembly In ad&tlon to the assembly relations described above, their technique also allows for the development of expressions for the higher kinematic relations Rosslgnac 9 describes a positioning strategy in which four types of motions, mImmum-dlstance translation, minimum-twist rotation, translation along an ax~s, and rotation around an axis, are used to satisfy the desired assembly relations. Turner ~° describes a coarse-posltlomng approach using relative-positioning operators (RPOs) Examples of RPOs for coarse positioning Include the face-edge-vertex operator, in which mating faces, edges, and vertices from two polyhedral parts are constrained to be coincident Coarse-positioning strategies are limited in apphcatlon

to the positioning of nominal parts in assembhes. The assumption that the assembly relations can be modelled as equality constraints is not valid when the shapes of individual components are subject to small Independent variations Under these conditions, it is impossible to satisfy exactly each individual relation, and the partpositioning problem involves determining positions such that the relations are satisfied to the maximum extent possible. In fine-posltwnmg strategies, both equality and inequality constraints are used to define a region of the configuration space within which the positioning degreeof-freedom variables must lie Part positions are determined such that the assembly relations are optimally satisfied within this region. Comparatively little research has been done in developing strategies for fine part positioning Fleming ILl2 analytically determines the extreme configuration of every contact to generate bounds on the degree-offreedom variables These bounds can be simplified, and combined to generate the part positions Scott and GabrIele ~3 describe a technique for the positioning of polyhedral parts The user defines primary, secondary and tertiary mating features The system then sets up precise linear and nonlinear constraints by determining the active faces, edges and points. While this approach is accurate in determining the relative positions, its extension to a general system for determining part positions seems to be difficult to realize Inui and Klmura a4 determine possible assembly configurations by trying to realize 1-point contacts, and then successively moving the components to realize additional greater point contact This technique can be combinatorially exploswe, particularly when a large number of face contacts are involved Turner 15 describes a mathematicalprogramming strategy for determining part positions in assemblies involving mating polyhedra, or mating holes and posts The work is limited to 2D models. This paper represents a continuation of the work for a general determination of part positions in assemblies containing 3D solid models, with mating assembly relations being any of the following contacts, attachments, assembly dimensions, alignments or enclosures

Simultaneous

versus

sequential positioning

A second classification for part-positioning capabilities is based on the manner in which the constraints are solved. In References 3 and 4, the equations are solved simultaneously using numerical approaches such as the Newton-Raphson method and the least-squares teehmque. The use of Newton-Raphson-based solutions necessitates extra computation to determine a set of equations that is exactly equal to the number of variables. In addition, the results are sensitive to the choice of a starting solution Mullineaux 16 describes a strategy that converts a system of equations into a single unconstrained goal function, and then finds part positions by optimizing the goal

Computer-Aided Des)gn Volume 26 Number 5 May 1994

367

Relatwe pos)tmntng of vartatmnat part models for destgn analys)s R Sodh~ and J U Turner

function However, care has to be taken to ensure that the final solution is not an unwanted local optimum In References 6 and 8, a symbolic-algebraic reduction technique is used to simplify and solve the constraints The symbolic solution is slow, and, m Reference 17, the authors describe the use of faster cycle-detection and table look-up procedures In each of the strategies described above, the entire system of constraints is solved simultaneously In satisfying all the assembly relations simultaneously, the number of equations may grow linearly (for weakly connected assemblies), or in a quadratic manner (for strongly connected assemblies), with the number of parts m the assembly Kim and Lee s suggest a modification to the part-positioning capabilities in References 3 and 4, determining part positions simultaneously only for parts for which the graph of assembly relations takes the form of a local independent loop In most actual mechanical assemblies, part posmonlng is carried out sequentially For the simple assembly of Ftgure 1, the relations m the assembly are an attached planar contact between the plates, another attached planar contact between the top plate and the planar surface of the bolt, and an alignment between the hole axes One possible sequential strategy would be to first position the plates such that the planar contact is satisfied, and the holes line up to the maximum extent possible Then, the bolt could be positioned to pass through the holes Using a sequential strategy, only a small number of relations, and hence constraints, have to be satisfied at each stage, even if the assembly consists of a large number of parts In addition, simultaneous positioning results can be unreahstlc when the parts deviate from the nominal If the hole in the bottom plate is not perpendicular to the planar contact face, a strategy in which parts are positioned simultaneously, while the maximum positioning errors of all the relations are minimized, may result in the configuration shown in Fzgure lb This is clearly unrealistic, particularly since a configuration can be found which satisfies the functional

A,B,C,D

A,B,C,D

simultaneously

sequentially

positioned

positioned

Figure 2

Picture-frame assembly

requirement However, there are certain assemblies in which it is necessary to position parts simultaneously Consider, for example, Figure 2, in which the sides of a picture frame are positioned together In such an assembly, the frame elements must be positioned simultaneously to achieve the best fit, a sequential strategy will not work Thus it should be possible for a system that positions parts sequentially most of the time to be able to resort to simultaneous positioning However, such cases are infrequent, and not typical of most mechanical assembhes Sequential strategies for positioning parts are described in References 9, 13 and 18 In this paper, we describe a sequential, two-at-a-time positioning of parts Some details of the way in which the parts are set up for positioning are described below

ASSEMBLY REPRESENTATION AND MODELLING This section briefly describes the assembly representation and modelling techniques that form a basis for the part-positioning capabilities described in this paper

Assembly representation b

c

Figure ! Simultaneous and sequential posmonlng, (a) nominal model, (b) simultaneous positioning, (c) sequential posmonmg

368

Computer-A)ded Design Volume 26 Number 5 May 1994

The assembly relations used to specify assembly information are described below, and shown m Figures 3 and 4 These

Relatwe posltlomng of variational part models for design analysis R Sodhl and J U Turner

Contact

Attachment

I AssemblyDlmensmn

Figure 3 Primaryassembly relations

Enclosure

Ah nment

Figure 4 Secondaryassembly relations

relations can be specified by the user, or generated from higher-level, functional assembly features 19 •









Contacts specify contacting mating surfaces These surfaces can be any of the following lower kinematic pairs planar, cyhndrlcal, spherical, conical or prismatic Attachments Identify contacts between mating surfaces that are specifically enforced by the presence of an attachment agent (such as a fastener, weldment or spring) This assembly relation ts specified by Identifying the attachment agent and the list of contacts that It enforces Assembly &menstons locate a geometric element (surface, line or point) of one part relative to another Assembly dimensions and their associated tolerances specify the required precision of assembly operations In addition to distance specaficatlons, perpen&cularity, angularity and parallelism dimensions can also be specified Enclosures, in which one part is enclosed by another when ItS motion m two opposite directions IS constrained by the enclosing part This relation is automatically generated from mformatlon about the contacts in the assembly Ahgnments, in which two parts are aligned when a third part (the alignment agent) encloses or ts enclosed by both, and the same face of the alignment

agent is involved in both enclosures Ahgnments can be between axes or faces (planar, conical, cylindrical or spherical) This relation IS automatlcally generated from information about the contacts

A s s e m b l y modelling

The assembly relations described above, and the parts that they relate, define a relational graph representation of the assembly This representation is converted Into a sequential hierarchy by successively grouping together pairs of parts that completely constrain each other's relative degrees of freedom. In addition, certain assembly heuristics are enforced when choosing the parts to be assembled. For example, it is a requirement that tightly enclosed parts (such as b 1 and b 4 in Ftgure 5) be posmoned before the enclosing parts (the fasteners) After each grouping operauon, the alignment and enclosure relations are recomputed It IS important to note that the resulting hierarchy simply corresponds to a posmonlng of the parts in an order that seems most hkely to meet the functional requirements An assembly sequence planner would also incorporate manufactunng and geometric knowledge, and might generate a different sequence Further details on the generation of this hierarchy can be found in References 18, 20 and 21. An example hierarchy generated by this method IS shown In F~gure 5 Each nonleaf node of the hierarchy depicts two parts (or subassemblies) that are being positioned together The right child of each nonleaf node (referred to as the target node) is positioned relative to the geometry to the left of the node (called the reference geometry) The relations that are involved in th~s mating are stored in a relative-positioning operator attached to the target node The RPO is thus an unevaluated representation of the part position Whenever the RPO is evaluated, the

I

I

I

I

b]

3

,~IA(2) Figure 5 Assemblyhierarchy [CON contact, ATT attachment, ALl alignment, ENC enclosure]

Computer-Aided Design Volume 26 Number 5 May 1994

369

Relatwe pos)homng of varmhonal part models for design analysts R Sodht and J U Turner

relations involved m the corresponding mating are satisfied to the m a x i m u m extent possible, to determine the 4 x 4 transformation that applies to the target node F i g u r e 5 also shows the assembly relations between the parts (or subassemblies) being assembled

of functional and objecUve constraints revolves the distance equation between a plane and a point, ,is discussed below

Distance equation between plane and point CONSTRAINED-OPTIMIZATION FORMULATION

The signed distance between a plane and a point is given by the equation

To completely specify the position of a part in a coordinate system, a 4 x 4 transformation matrix is used Since manufacturing variations in part geometries are relatively small in comparison with the nominal model, the requisite rotations for the positioning of the parts are small, and the rotational elements can be llneanzed Given hneanzed rotational elements, a small variation in the orientation and position of the part is given by the following 4 × 4 matrix (called the differential-motion matrix in Reference 22)

l O._Ov]

,q =

--0=

0v t:t

1

Ox

-- O~

1

lv

(1)

t:

where the matrix variables are the six relative degrees of freedom Ox, 0r and 0. represent rotations about the x, y and z axes respectively tx, tv and t= are translations in the x, y and z directions Each point and direction on the target node is multiplied by the Eg transformation to calculate its new position In the new posmon, the target node should satisfy the assembly relations that hold between it and the reference geometry While the assembly relations may not be exactly satisfied, they must be satisfied to the maximum extent possible The first step in solving for the variables of the matrix Y" is the generation of constraints between the target and reference geometry using the assembly relations involving the target node Constraints can be either functional or objective Functional constraints define a feasible region of the configuration space within which the final 6-tuple of position variables must lie The Initial feasible region ~s generated from the mating contacts, and defines a region of noninterference Objective constraints (or goals) express the positioning requirements of the assembly relations For example, an attachment relation between two faces requires maximal proximity between the contact faces The functional and objective constraints are then solved using linear programming to find an optimal position for the target node Both functional and objective constraints are expressed as constraints on the distance between plane-vertex pairs in the reference and target-node geometnes The generation

370

Computer-Aided Design Volume 26 Number 5 May 1994

D = N.p-

(2)

dtst

where N = [nx, nv, n=] is the unit normal of the plane, p = Ix, y, z] IS the location of the point, d~st is the signed distance of the plane from the origin (d~st is positive if the plane normal points away from the origin), and • is the dot-product operation D is positive if the point is outside the half space determined by the plane and the direction of its normal D is negative if the point is inside the half space To use this equation m evaluating a relatwe-posmoning operator, two cases arise, depending on whether the vertex is part of the reference geometry or the target geometry For a reference plane and target vertex, Equation 2 becomes (3)

D = N . ( p E g ) -- dlst

where 3 < is the d]fferentlal-transformatlon matrix given in Equation 1, and N and p are expressed as homogeneous coordinates This expansion ymlds the following distance equation in terms of the six degrees of freedom D = O~[n=y - n r z ] + Or[nxz - n=x] +

O..Enrx -

n~y]

+ txn ~ + tyn v + t=n= + xn~ + y n r + zn= - dtst

(4) For a reference vertex and target plane, the inverse transform has to be apphed to the vertex geometry (both reference and target geometry are described m the common coordmate system of the parent of the target node), and Equation 2 becomes D = N " (pEg - 1) _ d~st

The inverse of a matrix of the form

B,; By B: C,~ Cy C:

Px Pr P=

(5)

Relat,ve pomtmmng of varlatmnal part models for des)gn analysm R Sodh) and J U Turner

not dewate by more than the difference in the radn, and the u p p e r and l o w e r limit values are generated from the difference in the radii. The nominal distance d between the axes is 0 Again, D is given by Equatmn 4 or Equation 6, with the degree-of-freedom variables as the unknowns

IS given by

iAx x cx Ar

Br

Cr

Az

B=

C=

-P'A

-P'B

-P'C

where A, B, C and P are the four row vectors 22 We obtain ~ r - 1 as follows

Creating objective constraints from the distance equation There are two different ways in which the distance equation is used In defining objective constraints.

X - 1= -

Oz

1

-- O~

Or

0x

1

tr

tz

-- t x

Using this Y" - 1 In Equation 5, and expanding, we obtain the following distance equation in terms of the six degrees of freedom. D = Ox[zn r - yn=] + Or[xn z - znx] + O=[ynx - x n r ] --

txn x --

tyr/y

--

tzn z +

xn x +

y n r + Znz -- dlst

(6) Creating functional constraints from the distance equation

The requirement of achieving maximal proximity between two attached planar faces can be achieved by minimizing the m a x i m u m distance between one face and the vertices of the other face. This, combined w~th the noninterference constraints between the two faces, ensures that the distance is mimmlzed without interference For each plane-vertex pair, the distance equation of D IS given by Equation 4 or Equation 6 Minimizing the m a x i m u m distance can be done by introducing a new decismn variable (say Z), constraining each distance to be smaller than or equal to Z, and minimizing Z, 1 e by generating new constraints of the form D, ~< Z

(9)

Functional constraints are defined in one of two ways: Functional constraints corresponding to planar noninterference requirements constrain the vertex coordinates to be on the nonmaterial side of the mating face These functional constraints have the form O >i 0

(7)

where D is given by either Equation 4 or Equation 6, depending on the target and reference geometry. Functional constraints can also be used to create a boundary w~thm which a geometric element is constrained. If d is the nominal separation between the plane and the vertex, and u p p e r and l o w e r are the allowable deviations from the nominal, we generate such a functmnal constraint by defining the following mequahtles:

and using hnear-programmlng techniques to minimize Z In some cases, we want to satisfy a relation where the related features are separated by some distance As an example, consider an assembly-dimension relation in which two planes are constrained to be parallel and at a nominal distance d apart In such a case, each varlanced point of the face to be transformed should be as close as possible to the nominal distance d, but the point should be free to vary in both directions. In this case, we wish to minimize [ D - d[, l e. minimize the maximum of (O - d) and (d - D) To minimize the m a x i m u m of (D - d) and (d - D), we generate two new constraints for each plane-vertex pair (D, - d) ~< Z

(10)

(d - O,) ~ Z

(11)

d + l o w e r <~ D <<. d + u p p e r

and minimize Z or l o w e r <~ D - d <~ u p p e r

(8)

MODIFICATION

OF EQUATIONS

FOR

LINEAR P R O G R A M M I N G An example of where such a functional constraint is used is when two cylindrical faces are involved in a noninterference contact In this case, the axes may

The functional and objective constraints that are generated for the assembly relations are solved using

Computer-Aided Design Volume 26 Number 5 May 1994

371

Relatwe postt)onmg of vartat)onal part models for design analys~s R Sodht and J U Turner

hnear-programmlng techniques 23 To use hnear programmlng, the constraint equations have to be cast into a standard form Maximize some objective function f(X), subject to constraints of the form 0,(X) ~< 0 This section discusses the modifications to the functional and objective constraints described above for linear programming The formulation of the overall objective function f(X) is described Finally, some refinements are discussed that improve the performance of the linearprogramming solution

M o d i f i c a t i o n to constraints The conversion of >~ constraints to ~< inequalities is easily achieved. Similarly, equality constraints are handled in the simplex hnear-programming method using artlfioal variables It is also required that the decision variables in the equations be nonnegatlve To impose nonnegativ~ty constraints on the degree-of-freedom variables 0x, 0 r, . , we need to replace them by

O~ = 0', -- al Or= O~ - - a 2

The final overall objecUve function ~s to minimize f(X) = N" masterZ + ~, Z, I=l

where the first term minimizes the maximum of the Z,s, and the second term simultaneously minimizes the sum of all the Z,s The masterZ variable is multiplied by N (the number of Z, in the formulation), so that both the objective requirements are equally weighted To illustrate the role of the objective function, Fzyure 6 shows the positioning of a bolt through two holes whose centres do not match Without loss of generality, the example is hmlted to a 2D case H 1 and H 2 are two out-of-alignment holes with centres hi and h 2, respectively The bolt B has to be positioned to pass through the holes The desired position of the centre of the bolt is at b Each of the two hole axes is approximated by a set of n Intersecting planes Here, n = 2 For an arbitrary starting position of the bolt centre b', obJective constraints that seek to minimize the plane-vertex distances dl-d , are set up If the objective is just to minimize the sum of dl-d ~, the bolt may also be positioned at hi or h 2 However, the simultaneous objecttve of minimizing the maximum of the Z,s associated with dx-d 4 achieves the final positioning of the hole centre at point b The following variables exist in the final formulation

etc •

where the as are new varmbles that ensure that all the decision variables remain positive Six different variables are used (instead of only one), to improve the numerical stability of the linear program





six degree-of-freedom variables and the corresponding nonnegatlvlty variables, Z,s associated with each of the objective constraints, where a single objective constraint is split over two equations (for example Equations l0 and l 1), the same Z, is associated with both equations, masterZ, to minimize the m a x i m u m of the Z,s

F o r m u l a t i o n o f objective function To express the positioning requirements of assembly relations, objective constraints are generated for planevertex pairs of the mating geometric elements Each objective constraint is associated with a varmble Z, The manner in which these variables are mampulated in the overall objective function to optimally satisfy the assembly relations is now described Each Z, variable is equal to the deviation of the plane-vertex pair from its nominal position (Equations 9-11) Since the optimal position for a part is at its nominal location, the general goal of the objective function is to minimize the maximum of the Z, By itself, this objective does not further reduce any of the other Z, Therefore, our objective function also simultaneously minimizes the sum of the Z, To minimize the maximum of the Z,s, a new variable, masterZ, is Introduced, and additional constraints are added These are of the form

Z, <~ masterZ

372

Computer-A~ded Design Volume 26 Number 5 May 1994

Figure 6

Posmonlng bolt through out-of-ahgnment holes

Relatwe pos~bonmg of varmtmnal part models for demgn analysm R Sodh~ and J U Turner

The coefficients of the variables in the formulation are as follows: obJeCtive function 0 coel~clents

l

at1

constraint coefficients

0

0

0

~/

. . . . . . . . . .

I

1

1

1

o

o

o

oOoO

a21 a3 l

a2 ~ a32

a23 aa3

az 12 a312

0 0

0 0

0 0

0

0

am 1 o.÷11 a.*2 i

a. 2 a=+t2 a=÷22

a. 3 a~+13 a=+13

a=l x a..lt 2 a=+212

0 0 0

-1 0 0

0 --I 0

0 0 I

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

1

1 0 0

0 I 0

0 0 I

0 0 0

degree of freedom and n o n n e g a t l w t y vanables

-1 1

/ /

I o°ob'.,~'.':,;,s constraints to rmmmlz¢ m a x i m u m of

Z,s

tndlwdual Z, variables

masterZ variable

At the top are the coefficients of the overall objective function Below are the coefficients of the functional and objective constraints In the functional constraints, only the degree-of-freedom and nonnegatlvlty variables are used. Each of the obJective constraints has a corresponding Z, variable Finally, constraints are added that minimize the maximum of the Z,s These involve only the masterZ and the Z, variables.

Refinements to reduce total number of constraints The number n of constraints generated is proportional to the number of assembly relations between the pair of parts being assembled, and as generally small However, the simplex algorithm is proportional to the cube of the number of constraint equations 23, and thus it is desirable to keep n as small as possible This section introduces some of the optlmlzations that can be carried out to reduce the number of constraints, and thus improve the performance of the method. •



As described m the next section, different types of assembly relation are optimized sequentially, depending on their functional significance. Attachment relations are satisfied first, and subsequent relations are satisfied while preserving the attachments This is achieved by converting the inequahty attachment objective constraints (of the form of Equation 9) to equality constraints. However, there is also a contact relation for every attachment relation. The equality constraints from the attachment relations are at least as restrictive as the corresponding functional constraints (Equation 7) from the contact relations The functional constraints are thus redundant after the parts have been optimally positioned for attachment relations, and can be dropped The number of constraints and the complexity can be substantially reduced if it is known that no rotation variations are needed to move the target node into position In a tolerance analysis, it is convenient to permit the user to suppress all orientation variations to obtain fast, approximate

results In this case, the rotation variables 0x, Or, O= can be eliminated In addition, distance equations do not need to be generated for all plane-vertex pairs for features involved in a relationship. Since only translations are going to occur, only one plane-vertex equation is needed per relation Even if rotation variations are allowed, the number of plane-vertex pairs that are used to generate constraints can be reduced by considenng a subset of the vertices of each face One technique that is used in the current implementation is the use of a bounding box for each planar face, and the use of only the vertices of the bounding box in setting up the constraints.

SOLUTION

OF ASSEMBLY RELATIONS

This section describes the manner in which the assembly relations are satisfied to determine the relative position of mating parts Each relation generates functional or objective constraints, which are solved using linear programming to determine the positions of the parts. The constraints generated from each relation, and the sequence in which the relations are satisfied, are discussed below

Generation of constraints from assembly relations This section describes the constraints generated from the different assembly relations

Contacts A contact exists between mating part faces. Depending on the type of face, contacts can be planar, cyhndncal, conical, spherical or prismatic Currently, only the lower kinematic pairs are supported m our implementation A contact relation between two faces can be intentional (specified by the designer as an attachment), or it can occur because of the positioning of the parts, without specific designer intent In either case, a functional constraint ensures that the two faces do not interfere with each other. For each planar contact, noninterference functional constraints corresponding to Equation 7 are generated If the faces are also attached, objective constraints that explicitly optimize the contact relation are generated as well These correspond to Equation 9 In the case in which contacts are between nonplanar faces, functional constraints define a boundary within which the resolved geometries of the contacting parts must lie (for cyhndrical and comcal faces, the resolved geometry is the centreline, and, for spherical faces, it is the centrepolnt). For example, for a loose (clearance) cylindrical contact, the centreline of each face is constrained to lie within a boundary of the other

Computer-Aided Destgn Volume 26 Number 5 May 1994

373

Relahve pos)t)on)ng of varlahonal part models for design analys)s R Sodh) and J U Turner

centrehne, as determined by the difference of the radn If the contact is an Interference contact, then the functional constraint is an equality constraint, forcing the two centrehnes to be coincident These functional constraints correspond to Equation 8 If the nonplanar faces are also attached, then objective constraints which minimize the maximum distance between the resolved geometries of the faces are generated These correspond to Equations l0 and 11

Attachments An attachment relation is used when a contact between faces is specifically enforced by the presence of attachment agents As described above, the processing of the contact relations generates the necessary constraints to optimize the attachments

Enclosures Enclosures are generated when two or more contacts prevent the movement of a part on both sides in any given direction The enclosed body should be positioned within the enclosing agents Objective constraints are generated for all the contacts involved in the enclosure When these are solved simultaneously, the enclosed body IS centred within the enclosing bodies

assembly dimension constraining the distance between two planar faces, with the nominal distance between them being zero However, the alignment relation is always symmetrical When the ahgnment involves nonplanar faces, the objective constraints set up seek to align the resolved geometry of the faces axes in the case of cylindrical and conical faces, and the centrepoint in the case of spherical faces

Assembly positioning heuristics The functional constraints generated from the contact relations defne an initial region of the configuration space within which the 6-tuple of positioning degree-of-freedom variables of the target part must lie. ObJective constraints are generated that correspond to each of the other relations In our implementation, the assembly relations are solved in the following sequence •



Assembly dimensions Assembly-dimension relations specify constraints that locate geometric elements (surfaces, lines or points) on one part relative to geometric elements of another part Assembly-dimension relations are used to generate objective constraints These constraints seek to satisfy the assembly dimension to the m a x i m u m extent possible, in other words, to bring a part as close as possible to its nominal position For symmetrical assembly-dimension relations, for instance between two planar faces, the &stance constraints must be applied for the vertices of the target face with respect to the reference face, and also for the vertices of the reference face with respect to the target face Thus each face should lie in a tolerance zone determined by the other face acting as a datum For such relations, use is made of both Equations 3 and 5 for generating the constraint equations Some locating assembly dimensions, however, are not symmetrical For instance, for an assembly dimension that locates a straight edge and a planar face, the edge has to be located with respect to the face In this case, only one of Equations 3 and 5 is used, depending on whether the edge is in the target or reference geometry





First, all attachments are satisfied to the maximum extent possible If there are multiple attachments between two parts, these attachments are solved simultaneously Next, alignments are satisfied, while the attachments already satisfied are maintained After the attachments and alignments have been satisfied, the target node is moved around so that any designer-specified assembly dimension is achieved as far as possible Finally, enclosed parts are centred within their enclosing parts Thus, enclosures are optimized only after all the other assembly relationships have been satisfied

At each stage, relations that have been optimized in preceding stages are preserved by converting their Nominal Model

Vananced

models

D

r~

Alignments Alignments are caused when two faces are ahgned by the presence of a third face in contact with both For alignments between planar faces, objective constraints are generated which ensure that points on the two faces Involved in the ahgnment lie as close to a plane as possible This problem is identical to the case of an

374

Computer-Aided Design Volume 26 Number 5 May 1994

Assembly duncnslon opUmlzodfirst

Attachmm~ts opmmzed before assemblydunenslons

Figure7 Assemblyposmomng heuristic example 1

Relative posmtmnmg of varlabonal part models for desmgn analysis R Sodhm and J U Turner

Nominal Models

Varianced

Models

Enclosure optimized

Attachments and alignments

first

optimized beforeenclosures

Figure 8 Assemblypositioningheuristic example 2

objective constraints to equality functional constraints This ordering of the assembly relations is simply a heuristic, which seems to conform well to the order in which assembly relations are hkely to be satisfied when the parts are actually assembled. Ftgures 7 and 8 show two examples that illustrate the positioning heuristic Ftgure 7 shows two blocks attached to a bottom plate The two blocks are separated by a distance D (an assembly dimension). Block A and plate C have been assembled together, and block B IS being positioned with respect to the A-C subassembly One of the faces of block A is imperfect The two varianced models show the result of assembling the parts in different sequences, with the assembly dimension optimized first, and with the attachment optimized first It IS obvious that attachments have to be satisfied first to obtain a stable assembly, and then the assembly can be manipulated to satisfy the assembly dimensions Only for a nominal model can both the relations be satisfied exactly Fzgure 8 shows that enclosures have to be satisfied after all the other relationships have been satisfied. It shows a hole through a container and its lid The lid is enclosed within the sides of the container If the hole in either the lid or the container is off-centre, then, functionally, centring the alignment is more important than centring the enclosure.

EXAMPLE

a

I

i

\ \\

II

bl

\

\

I

Figure 9 Sequence of relatlons solved for top-and-bottom-plates

subassembly, (a) attachment relationship optimized, (b) ahgnment relationship optimized

First, the two plates are positioned The assembly relations involved in this positioning are a planar attached contact between the plates, and an alignment between the two holes For the attached contact, functional constraints are generated that ensure nonInterference between the parts, and objective constraints are generated that try to bring the two faces as close as possible. After the planar attached contact has been optimized, the relationship between the two planar faces is preserved (by converting the objective constraints into equality functional constraints) New objectwe constraints are generated from the alignment relation, and optimized to align the two hole axes. This sequence is shown in

Figure 9 This section gives an example to illustrate our approach for fine positioning The assembly considered consists of a bolt passing through holes In two plates (see Ftgure la). The parts are positioned as follows.

After the plate subassembly has been formed, the bolt is positioned with respect to this subassembly (see Figure 10). The assembly relations include a planar attached contact between the bolt and the top face of the

Computer-Aided Desmgn Volume 26 Number 5 May 1994

375

Relatwe poslt~omngofvanatlonal part models fordes~gn analysis R Sodh~and J UTurner

subassembly, two cyhndrlcal contacts between the bolt and the holes in the subassembly, and an enclosure [the bolt is enclosed within the holes) Functional constraints are set up from the planar contact ensuring noninterference between the related faces, and from the cylindrical contacts ensuring that the bolt axes stay within a zone defined by the difference of the bolt and the hole radii (these constraints are set up from the vertices on the bolt axes to two planes that define the hole axes, and wee versa) ObJective constraints are first set up from the planar attached contact to bring the attached faces as close as possible Then, while preserving the attachment, objective constraints from the enclosure relation are generated to centre the bolt within the holes The final configuration for three different vananced assemblies is shown in Figure 11 Three successively larger

Figure 10 Sequence of relations solved for bolt-and-plates assembly, (a) attachment relationship optimized, (b) enclosure relationship optimized

Figure 11 Free relative part positioning

376

Computer-Aided Design Volume 26 Number 5 May 1994

variations are introduced in the orientation of the hole m the bottom plate In the first two case~. ~t is possible to find a configuration such that the bolt can be dropped through the two holes, while satisfying the noninterference requirements and preserwng the attachment relations However, for a large enough variation m the orientation of the hole, noninterference requirements imply that the attachment between the bolt and the top plate cannot be exactly satisfied, and the final configuration of the assembly ~s shown in Ftqure 11 on the bottom right

APPLICATION

IN TOLERANCE

ANALYSIS

Most of the critical design functions that are analysed in a tolerance analysis are functions of an assembly of parts, rather than a single part This section briefly describes the application of the part-positioning technique described in this paper for tolerance analysis Once a hierarchical assembly model of the form of Ftgure 5 has been generated, a dependency graph is set up that indicates the part positions which must be recomputed in response to a simulated manufacturing variation in the geometry of some part model, or a change in the position of some part or subassembly Manufactunng variations, corresponding to variations of size, location, orientation or form, may be simulated by associating a set of independent parameters (called model variables) with each face in the assembly, and assigning values to the model variables For each model-variable change, the dependency graph indicates the part positions to be reevaluated The part-positioning algorithm determines the configuration of the assembly in response to the simulated variation The relationship between the modelvariable change, the tolerances and the design functions gives rise to a feasibility-space representation, which can be used for a worst case, or a statistical tolerance analysis or synthesis computation Finally, the part-positioning algorithm may be used to illustrate a worse case assembly configuration for a particular destgn function

Relatwe poslUomng of varlaUonal part models for design analysis R Sodhl and J U Turner

Additional details of the tolerance-analysis algorithms can be found in References 1 and 24. Detads of the creation of variational part models can be found in Reference 25. Detads of the dependency-graph generation can be found in Reference 18.

LIMITATIONS This section describes some hmltations of the partpositioning formulation described in this paper The performance of the linear program is sensitive to the number of constraint equations Some of the refinements described above improve the performance In addition, work is currently in progress that uses a degree-of-freedom analysis to reduce the numbers of variables and constraints for each phase of the part positioning A different approach to optimizing the performance is the provision of specialized positioning techniques for commonly occurring combinations of relations, this does not rely on an optimization solution The current method of preserving previously satisfied relations by converting the constraints generated from them into equahtles can overconstraln subsequent phases of the positioning for some combinations of relations For example, Figure 12 shows an assembly in which there ts an attachment relation between the top block and the two top faces of the bottom block If there is also an assembly dimension relating the horizontal location of the top block to the side of the bottom block, It should be possible to slide the top block horizontally while still preserving the attachments However, in the configuration shown in Fzoure 12b, no horizontal translation is possible, because such motion is prohibited by the equality constraint on the plane-vertex pair shown. In this example, the problem can be resolved by treating the attachment as an asymmetrical relation (generating plane-vertex equations only for the vertices of the bottom part with respect to the mating face of the top part) In more complicated situations, a separating plane of translation can be introduced

No translauonal degree of freedom

Available translauonal degree of freedom

.t a

I

CONCLUSIONS This paper has presented a technique for determining the optimal configuration of assemblies of part models containing simulated manufacturing variations. The technique is based on the formulation and solution of a constrained optimization problem. The contact relations in the assembly are used to define functional noninterference constraints Other relations, such as attachments, alignments, assembly dimensions and enclosures, are then sequentially optimized by the generation of objective constraints, and the solution of a linear program The relations are satisfied in a sequence that seems to be consistent with the functional significance of the relations Some examples were presented to demonstrate this sequence The functional and objective constraints are formulated using plane-vertex distance equations Since the simulated manufactunng variations are small, the rotations required to assemble the parts are small, and hence the rotational terms in the functional and objective constraints can be hnearlzed One of the several exact-positioning strategies described in the review section can be used to compute mitial positions based on the nominal parts, and then our technique can be used to determine the effect of variations in individual part geometries on the assembly This work is currently being used an the solution of tolerancing problems In such problems, the effects of the variation of part features on the functlonahty of the assembly are to be determined The constrained formulation can also be used for other similar applications that mvolve the positioning of nontdeal geometries

ACKNOWLEDGEMENTS The work reported in this paper is supported by the US National Science Foundation, under grants DDM8908160, DDM-8914172 and DDM-9057598, by the Center for Advanced Technology in Automation and Robotics (CAT), USA, and by the industrial associates of the Rensselaer Design Research Center, USA. CAT IS partially funded by a block grant from the New York State Science and Technology Foundation, USA. Any opinions, findings and conclusions or recommendations expressed are those of the authors, and they do not necessarily reflect the views of the sponsoring agencies

REFERENCES 1

b

2 Figure 12

Equahty constraints overconstraln posmonlng

Turner, J U and Gmlford, J D 'Research m automated tolerancmg at RPI' Proc 1993 NSF Design & Manufacturing Grantees Conf Charlotte, NC, USA (6-8 Jan 1993) pp 709-714 (Techmcal Report 92026 Rensselaer Design Research Center, Rensselaer Polytechmc Institute, USA) N~gam, S, Gmlford, J and Turner, J 'Generalmed computanon of datum reference frames for geometric tolerance analysis' Proc

Computer-Aided Design Volume 26 Number 5 May 1994

377

Relahve poslhomng of variational part models for design analysis RSodhl and J UTurner

3 4 5 6 7 8 9 10 11 12 13 14

15 16 17

18

19

378

1993 ASME Design 4utomation ConJ Albuquerque, NM, USA (19 22 Sep 1993) (submitted for presentation) Lee, K and Andrews, G "Inference of the positions of components in an assembly Part 2' Comput-Aided Des Vol 17 No 1 (1985) pp 20-24 Rocheleau, D N and Lee, K 'System for interactive assembly modeling' Comput-Alded Des Vol 19 No 2 (1987) pp 65-72 Klm, S H and Lee, K 'Assembly modeling system for dynamic and kinematic analysis' Comput-4lded Des Vol 21 No 1 (1989) pp 2-12 Ambler, A P and Popplestone, R J "Inferring the positions of bodies from specified spatial relationships' Arttf lntell Vol 6 (1975) pp 157-174 Popplestone, R J, Ambler, A P and Bellos, 1 M 'RAPT a language for describing assemblies" lndust Robot Vol 5 No 3 (1978) pp 131-137 Popplestone, R J, Ambler, A P and Bellos, I M 'An interpreter for a language for describing assembhes' A r t ( lntell Vol 14 (1980) pp 79-107 Rossignac, J R 'Constraints m constructive solid geometry" Proc 1986 Wkshp Interactive 3D Graphics Chapel Hill, NC, USA (23, 24 Oct 1986) pp 93-110 Turner, J U 'Exploiting solid models for tolerance computations' in Wozny, M, Turner, J and Prelss, K (Eds) Geometrw Modeling Jot Product Engineering North-Holland (1990) Fleming, A 'Analysis of uncertainties m a structure of parts' Pro~ 9th lnt Joint Conf Artificial Intelhgence Los Angeles, CA, USA (18-23 Aug 1985)pp 1113-1115 Fleming, A "Geometric relationships between toleranced features" 4rtff lntell Vol 37 No 1 3 (1988) pp 403-412 Scott, R T and Gabriele, G A 'Computer aided tolerance analysis of parts and assemblies' Proc 1989 Design Automation Conf Montreal, Canada (17-21 Sep 1989) pp 29-36 Inul, M and Klmura, F 'Algebraic reasoning of position uncertainties of parts m an assembly' 1991 ACM Syrup Solid Modehnq Foundations and CAD/CAM Apphcations Austin, TX, USA (5-7 Jun 1991) pp 419-428 Turner, J U 'Relative positioning of parts in assembhes using mathematical programming' Comput-Alded Des Vol 22 No 7 (1990) pp 394-400 Mulhneux, G "Optimization scheme for assembling components' Comput-Aided Des Vol 19 No 1 (1987) pp 35-40 Corner, D F, Ambler, A P and Popplestone, R J 'Reasoning about the spatml relationships derived from a RAPT program for describing assembly by robot' Pro~ Int Joint Conf 4rtificial lntelhqence (1983) pp 842 844 Subramamam, S, Turner, J and Sanderson, A "Establishing part positions in assembly modeling' in Turner, J, Pegna, J and Wozny, M (Eds) Product Modeling for Computer-Aided Design and Manu~acturm 9 North-Holland (1991) pp 199-226 Sodhl, R and Turner, J U 'Representing tolerance and assembly reformation in a feature-based design environment' Proc 1991 ASME Design Automation Conf Miami, FL, USA (22-25 Sep 1991) pp 101 108

Computer-Aided Design Volume 26 Number 5 May 1994

20

21 22 23 24 25 26

Snkanth, S "A unified framework lor assembly modehng" Master s Thesis Rensselaer Polytechnic Institute, USA (Aug 1990) l Techmcal Report 90023 Rensselaer Design Research Center, Rensselaer Polytechnic Institute, USA) Turner, J U, Subramamam, S and Gupta, S "(_onstraint representation and reducuon m assembly modehng and analysis' IEEE Trans Robot & Automat Vol 8 No 6 (1992) pp 741 750 Paul, R P Robot Mampulators Mathematlc~, Proqrammmq and Control MIT Press, USA (1981) HIlher, F S and Lleberman, G J lntrodu(tum to Operations Research Holden Day, USA 11980) Turner, J U 'A feasibdlty space approach for automated tolerancmg' 4SME J Enq lndust (accepted for publication) Gupta, S and Turner, J U "Variational solid modeling for tolerance analysis' Proc 1991 ASME Computers m Enqmeermq Conf Santa Clara, CA, USA (18-22 Aug 1991) Turner, J U and Guilford, J D 'Research in automated tolerancmg at RPI' Proc 1992 NSF Design & Manufacturmq Grantees Con[ (8-10 Jan 1992) (Techmcal Report 91026 Rensselaer Design Research Center, Rensselaer Polytechnic Institute, USA)

Rajneet Sodhl is currently working towards a PhD zn computer-systems engineering He obtained a BS m 1988 from the Blrla Institute of Technology, India He has since worked with the Rensselaer Design Research Center on the tolerances and quahty engineering program, and the Center for Advanced Technology m Robotics and Automation His research interests are m the areas of relative part po~monm 9, assembly modelling, sohd modelhnq, and featurebased design

Joshua Turner is an assistant professor m electrical, computer and systems engineering, and the director of a research program m tolerances and quality engineering He was named a US National Science Foundation Presutentlal Young Investigator m 1990 His research interests are m tolerances, assembly modelling and solid modelling