Tolerance envelopes of planar mechanical parts with parametric tolerances Yaron Ostrovsky-Berman and Leo Joskowicz School of Engineering and Computer Science The Hebrew University of Jerusalem, Jerusalem 91904, Israel Email: [email protected] Abstract We present a framework for the systematic study of parametric variation in planar mechanical parts and for efficiently computing approximations of their tolerance envelopes. Part features are specified by explicit functions defining their position and shape as a function of parameters whose nominal values vary along tolerance intervals. Their tolerance envelopes model perfect form Least and Most Material Conditions (LMC/MMC). Tolerance envelopes are useful in many design tasks such as quantifying functional errors, identifying unexpected part collisions, and determining device assemblability. We derive geometric properties of the tolerance envelopes and describe four efficient algorithms for computing first-order linear approximations with successive accuracy. The results from experiments on 14 realistic part models demonstrate that on average, our algorithms are an order of magnitude faster and more accurate than the commonly used Monte Carlo simulation, and produce better results than the computationally expensive Taguchi method.

Keywords: tolerancing, parametric models, tolerance zones, mechanical design.

1

Introduction

Manufacturing and assembly processes are inherently imprecise, producing parts that vary in size and form. The need to control the quality of the production and to manufacture parts interchangeably led to the development of tolerance specifications. Tolerance specifications are the critical link between the designer and the manufacturer. Designers prefer tight tolerances to ensure that the part will fit in the assembly and perform its function. Manufacturers, on the other hand, prefer loose tolerances to lower the production cost and decrease the need for quality machine tools and precision measurement machines. Tolerance analysis methods play a key role in bridging between the two. Tolerance allocation is difficult even to the most skilled of designers because it requires identifying the critical interactions of toleranced dimensions, which often have complex dependencies. Tolerancing methods have been developed and incorporated into most modern CAD software. Given a tolerance allocation, tolerance analysis consists of predicting the effect of the allowed variations on the design functions. Tolerance synthesis consists of finding tolerance intervals that meet the functional requirements at the lowest cost. A key problem in tolerance analysis is computing the tolerance envelope of a part from its tolerance specification. Tolerance specifications define a family of parts consisting of all valid instances of the part. The tolerance zone of a part is the difference between the smallest volume containing all part instances and the largest volume contained in all part instances. Its boundaries, called the part tolerance envelope, define the worst-case variability of the part features, and thus model perfect form Most and Least Material Conditions (MMC/LMC). Part tolerance zones are useful in design tasks such as quantifying functional errors, identifying unexpected part collisions, and determining device assemblability. 1

Recent research in Computer-Aided Tolerancing (CAT) describes methods for defining and computing tolerance zones for individual features from their tolerance specifications [1, 5]. However, many issues regarding tolerance zones for entire parts remain open: what is their geometric complexity, what are good approximations, and how to efficiently compute them. Previous works are limited by the descriptive power of their variational models, by the quality of the approximations they produce, and by their computational efficiency. In this paper, we present a framework for the systematic study of parametric variation in planar mechanical parts and for efficiently computing approximations of their tolerance envelopes. The framework reflects current tolerancing practice, incorporates common tolerancing assumptions, and exposes the computational trade-offs. Of the two commonly used tolerance specification methods [25], geometric and parametric, we chose parametric specification because it is best suited for functional tolerancing, can be used to describe most geometric specifications, and has a simple, mathematically well-defined semantics within which part variability can be studied analytically. In the proposed model, part features are specified by explicit functions defining their position and shape as a function of parameters whose nominal values vary along tolerance intervals. We derive geometric properties of the worst-case tolerance envelopes and describe four efficient algorithms for computing first-order linear approximations with successive accuracy. We test the algorithms on 14 realistic part models and compare their quality and efficiency with the commonly used Monte Carlo and Taguchi sampling methods. The experiments demonstrate that on average, our algorithms are an order of magnitude faster and more accurate than Monte Carlo simulation, and produce better results than Taguchi’s method, whose performance degrades exponentially with the number of parameters, and thus is inappropriate for interactive tolerance analysis. The rest of the paper is organized as follows. In Section 2 we review previous methods of worst case tolerance analysis using tolerance zones and their counterparts in parametric spaces. In Section 3 we present the parametric tolerancing model and give a concrete example. In Section 4 we define the linear approximation of toleranced vertices and segments and derive results on the geometric properties and complexity of their tolerance envelopes. In Section 5 we describe four algorithms for the computation of segment tolerance envelopes, with successive complexity and accuracy. In Section 6 we present our experimental results, and in Section 7 we conclude with a summary and future work.

2

Previous work

Several models have been proposed to model parametric part variations. These include simpleshaped regions around boundary points [11, 26] and fixed-distance boundary offsets [15, 18], which are computationally efficient but do not have the required semantics of the tolerance specification. Pottmann et al. [17] model freeform curves whose control points lie within convex tolerance zones. The tolerance zones traced by these curves are overly conservative because they ignore parameter dependencies which preclude significant regions of the zone. Pino et al [16] describe a kinematic model to simulate the “motion” of the features tolerance zone but do not describe how to compute the entire part tolerance zone. Bhide et al. [3] use areal coordinates to describe the Tolerance Map, a convex volume of points corresponding to all possible locations and variations of a plane which can arise from geometrical tolerances on size, form, and orientation. Desrochers et al. [8] use a similar concept, in which the location and orientation of the plane are described by screw parameters of small displacement. Both these methods enable stack up analysis in an assembly, but do not compute the corresponding volumes for the entire part. Sacks and Joskowicz [19] describe a kinematic tolerance analysis method that computes contact tolerance zones of planar parametric parts in configuration space. The method uses a similar parametric part model and computes contact zones which complement the part tolerance envelopes used in this paper. 2

A few CAT packages provide tools for computing worst-case part tolerance zones [22]. Some compute tolerance zones from many randomly generated part shape instances drawn from a presupposed parameter distribution (the Monte Carlo method) [6], or sample instances of the part with extremal parameter values (the Taguchi method) [7]. These methods are expensive and incomplete, as mechanical assemblies typically have hundreds of features defined by tens of parameters. ADAPT [20], developed by Ford for internal use, computes the tolerance envelopes of parametric planar parts with procedural definitions [13]. It has one procedure for each of the many feature definition cases and incorporates ad-hoc simplifying assumptions that preclude quantifying the approximation error. The drawbacks of these methods motivate our work.

3

Tolerancing model

We propose the following tolerancing model for planar parts, which is very general in its semantics and has good computational properties. Let A be a simple planar part whose boundary consists of curved segments. Its nominal shape and variation is defined by an m-dimensional parameter vector p. Each parameter has a nominal value and a tolerance interval, typically much smaller than the nominal dimension. Formally, the toleranced parametric part model is a 4-tuple A = hV, S, p¯, ∆i, such that: • V = {v1 (p), v2 (p), . . . , vn (p)} is the vertex set, where each vertex vi (p) = (xi (p), yi (p)), 1 ≤ i ≤ n, is defined by an explicit standard elementary function of the parameter vector p = (p1 , p2 , . . . , pm ). • S = {s1 , s2 , . . . , sn } is the segment set, where the ith segment is a curve connecting the vertices vi , vi+1 , 1 ≤ i ≤ n − 1. Segment sn connects the vertices vn , v1 . A curve is a parametric function si : [0, 1] ×
The tolerance interval of the ith parameter is the interval: Pi = [¯ pi + δi− , p¯i + δi+ ]. The tolerance interval of the model is an m-dimensional hyperbox defined by the Cartesian product of the intervals: P = P1 × P2 × . . . × Pm . We assume without loss of generality that tolerance intervals are symmetric, i.e. δi+ ≥ 0 and δi− = −δi+ . Asymmetric intervals [¯ pi + δi− , p¯i + δi+ ] are δ + +δ −

made symmetric by shifting the nominal value to the middle of the interval: pˆi = p¯i + i 2 i , δ + −δ − δˆi+ = i 2 i , δˆi− = −δˆi+ , where pˆi , δˆi+ , and δˆi− are the shifted nominal value, maximal and minimal variations, respectively. An instance A(p) of the part model is the part defined by the parameter vector p = (p1 , p2 , . . . , pm ), where pi ∈ Pi , 1 ≤ i ≤ m. Figure 1 shows an example of a parametric part model of a portion of a sewing machine cover. The tolerance envelopes of a point v and of a segment s of the part model are the boundaries of the union of all their instances, denoted Ep (A, v) and Es (A, s) respectively. The outer and inner tolerance envelopes of the part, Eo (A) and Ei (A), are the boundaries of the union and the intersection of all the instances, respectively. The model can be directly generalized to parts with holes by treating each boundary separately. Note that the proposed model has the same semantics as the standard dimensional 3

OQPSRT PUWV?PT             !   #"  "$%&'(*) + +   "$ '$, *) +-" + !  .)/  "$%&'(*) +  "$ '$, .*) + .-"  .0/  "$%&'(*) $  1 '$, *)  2   XZY[\ ]^ _`-^#R^#[aPT$PRV^#]bcTdP\ ReT Y _PR^#]fPSV H ;F5467 : 898 #3 5467 3898 H 3#>I467 : 898  /;:5467 3898 H 3 5467 3898  /=<#5467 >898 H "3 5467 3898  "=898 #@> 3.7 <A*4=<A ! /6:B.7 >#A*4=<A !/@3 3.7 CA*4=<A -"D<E7 F.A*4=<A *)@G A!4=<A

J

J

J

J M N"

N.)

K 

N0 K!L

M"

M N.

N

K 

J"

N. K M

K ) J

N.2

Figure 1: Tolerance specification of a portion of a sewing machine cover. Vertices v 1 , . . . , v7 are functions of subsets of the 13 parameters: lengths li , angles αi and radii ri . The part on the right is the nominal part instance defined by the parameter vector (¯l1 , . . . , ¯l4 , α ¯1, . . . , α ¯ 5 , r¯1 , . . . , r¯4 ). tolerancing scheme. Conventional tolerance drawings can be translated to the explicit functional representation. In the following, we assume that the parameters define geometrically valid part instances with the same topology and no self-intersections. When these assumptions do not hold, the specification describes physically unrealizable parts with no engineering meaning. Such invalid part models must be identified and reported to the engineer, so they can be fixed. The automatic validation of tolerance specifications is an important topic of current research [14, 24].

4

Tolerance envelope properties

We now present the properties of the tolerance envelopes of individual segments. These form the basis for efficient computation of the part tolerance envelope. We define the functions sl , sa , and sb to parameterize line, arc, and B´ezier curve segments, respectively. The parameter λ ∈ [0, 1] interpolates between the endpoints v 1 (p) and v2 (p). sl (λ, p) = (1 − λ)v1 (p) + λv2 (p) sa (λ, p) = (1 − λ)v1 (p) + λv2 (p) + c−1 X sb (λ, p) = Bic−1 (λ)bi (p)

(1) ⊥ h(λ, p)v12 (p)

(2) (3)

i=0

where h(λ, p) =

−1+

q 1+4λ tan2

α(p) −4λ2 2 α(p) 2 tan 2

tan2

α(p) 2

is the height of the triangle defined by v1 (p),

⊥ is the normalized vector perpendicular to v − v , α(p) ≤ π is v2 (p), and the arc point, v12 2 1 c−1 the arc angle, {bi (p)}i=0 are the B´ezier control points such that b0 (p) ≡ v1 (p), bc−1 (p) ≡ v2 (p), and Bic (λ) = ci λi (1 − λ)c−i are the Bernstein polynomials. In the following we will slightly overload the notation of segments and write s to mean the toleranced segment, s(p) to mean the instance of s by the parameter vector p, and s(λ, p) to mean a point on the instance s(p) determined by the λ parameter.

4

With today’s manufacturing capabilities, tolerance intervals are usually at least two orders of magnitude smaller than nominal dimensions. Therefore, we use the standard first-order approximation and linearly approximate the vertex and segment functions around the nominal values. The linear approximation of vertex vi (p) is defined by: vi (p) ≈ vi (¯ p) +

 m  X ∂vi (¯ p) ∂pj

j=1

δj

(4)

p) ≡ ∂v∂pi (p) |p=¯p is the partial derivative where δj ≡ (pj − p¯j ) is the j th parameter offset and ∂v∂pi (¯ j j of vi (p) by parameter pj evaluated at the nominal parameter value p¯. Similarly, the linear approximations of line, arc, and B´ezier curve segments are, respectively:

sl (λ, p) ≈ sl (λ, p¯) + sa (λ, p) ≈ sa (λ, p¯) +

m X

(1 − λ)

j=1 m X

(1 − λ)

j=1

h(λ, p¯)

⊥ (¯ ∂v12 p)

∂pj

sb (λ, p) ≈ sb (λ, p¯) +

∂v1 (¯ p) ∂v2 (¯ p)  +λ δj ∂pj ∂pj

+

∂v2 (¯ p) ∂v1 (¯ p) +λ + ∂pj ∂pj

∂h(λ, p¯) ⊥  v12 (¯ p) δj ∂pj

m X c−1 X j=1 i=0

(5)

Bic−1 (λ)

∂bi (¯ p)  δj ∂pj

(6) (7)

In the rest of this paper we refer to the envelope of the part after the linear approximation as the tolerance envelope, and to the actual envelope as the non-linear tolerance envelope. A key property of these approximations is that they depend only on the parameters that define the segment coordinates, which are those with non-zero partial derivatives. In complex assemblies, the number of such parameters, ki , is usually much smaller than the total number of part model parameters m. In the sewing machine cover (Fig. 1), ki ranges from 2 to 9. In the following, k is the maximum number of dependent segment parameters. Consider now the tolerance envelope of a vertex. According to EquationP 4, the displacement of v(p) from the nominal point in a given direction d is hv(p) − v(¯ p), di = h m j=1 uj δj , di, where

h·, ·i is the vector inner product and uj ≡

∂v(¯ p) ∂pj .

Thus the maximal displacement of a vertex v

in direction d occurs at extremal parameter offset values δj+ or δj− . The sign of each parameter offset depends on the direction d and on the directions of the partial derivatives:  − huj , di < 0  δj − d δ huj , di = 0 and huj , d⊥ i < 0 (8) δj =  j+ δj otherwise

where d⊥ is clockwise perpendicular to d. Note that when the derivative uj is perpendicular to d, we assign an extremal value to δj . This ensures that the offsets determine v(p) uniquely given a direction d. Equation 8 shows that each non-zero partial derivative u j divides the plane into two halves separated by a line Lj perpendicular to uj , so that one half gets a maximal offset δj+ and the other a minimal offset δj− . We define Lj as passing through the nominal vertex v(¯ p), and oriented so that the positive offset sign is on its left. The lines Lj induce a subdivision of the plane into 2k cones, which we call the cone diagram (Fig. 2a). The parameter Pmoffset dsigns for all directions d within a cone are the same, and define a d vertex v (p) = v(¯ p) + j=1 uj δj which achieves the maximal displacement of v(p) in the cone’s directions. The chain of vertices defined by v d (p), where d is taken once for each cone, is the

5

‡5ˆ o p/q rq ps

km

}?~ z g w {Stux

k!n

‡Q‰

kl

orq rq p.s

| l

orq p/q r s

‡Œˆ

‘(’“ ”•S–

‡Œˆ ‡Q‰

‡eŠ

-…†ƒ ‡Œˆ

 ‰Ž

‡QŠ

‡QŠ ‡Q

| n -‚†ƒ

| m



!‚„ƒ

g-hi€ j orq rq r s

‡QŠ

‡Q‰‹ ‡QŠ

‡QŠ

o p/q pq p.s

o pq pq r s

tuvwSx?ySz-{ w wSz g w vu i w

‡Œˆ

‡Œˆ

‡Q‰

(a)



— ˜“™

-…†ƒ

(b)

Figure 2: The cone diagram. (a) The function v(p) has three non-zero partial derivatives: u 1 , u2 , and u3 . These define the cone diagram lines L1 , L2 , and L3 (dashed), which divide the plane into cones with unique sign vectors (shown with +, − signs). Each sign vector defines parameter offsets that determine an extremal instance of v. The tolerance envelope of v is the solid convex polygon. (b) Topological events. The cone diagram and the tolerance envelope of the point are shown before, during, and after the topological event. The top figure shows a switch event, in which two cone diagram lines (L2 and L3 ) merge before switching position. The bottom figure shows a flip event, in which the line defined by u2 changes orientation as a result of u2 becoming zero. tolerance envelope of v(p). The following theorem summarizes the properties of the tolerance envelope of a point. Theorem 1. Let A be a toleranced parametric part model and let v(p) be a point on its boundary with k non-zero partial derivatives. Then the point tolerance envelope E p (A, v) is the boundary of a convex, centrally symmetric polygon with at most 2k vertices, and can be computed in optimal O(k log k) time. Proof. For each of the parameters pj with non-zero derivative uj , define the segment ξj ≡ [uj δj− , uj δj+ ]. Let v(pj ) = v(¯ p1 , p¯2 , . . . , pj , . . . , p¯m ), that is all parameters but pj are at their nominal values. Observe that as pj changes from p¯j + δj− to p¯j + δj+ the point v(pj ) moves along the segment ξj translated by v(¯ p), so it traces the set {v(¯ p) + x|x ∈ ξj } which is the Minkowski sum of v(¯ p) and ξj . The Minkowski sum operation is commutative, so the tolerance envelope of v is the sum of v(¯ p) with all the segments ξj where uj 6= 0. The Minkowski sum of segments is a convex centrally symmetric polytope called a zonotope [10, 27]. The complexity of a zonotope in the plane is at most twice the number of generating segments, that is 2k. To compute the envelope, first sort the derivatives according to polar angles, and construct the corresponding cone diagram. Then, choose an arbitrary cone and compute its sign vector and corresponding vertex according to Eq. 8. Compute the next vertices by advancing the cones counter-clockwise, updating the vertex coordinates according to the parameter that inverts its sign. The running time is dominated by the sorting operation, which takes O(k log k). The algorithm is optimal because the angular sorting problem can be directly reduced to finding the tolerance envelope of a point. We now turn to the tolerance envelopes of segments. Conceptually, these are the boundaries of the area swept by the point tolerance envelope as it moves along the nominal segment from one 6

V1(p) V1(p)

V2(p)

š  œ ?Ÿ ž

š-› œ ?Ÿ ž

(a) line segment

(b) circular arc

V2(p)

(c) B´ezier curve

Figure 3: Tolerance envelopes of individual segments. Solid thick curves represent the nominal segments, solid thin closed curves represent the tolerance envelopes, which bound all the thin polygons representing instances of point tolerance envelopes along the segment. ª ¦ ¦©¨

¤¥ ¤¨

¦ ¥

«¬­®¯

¡„¢

¡£ §

°±²³´

(a)

(b)

Figure 4: Proof of monotonicity of the tolerance envelope. (a) case 1: w is a midpoint of the segment s(pw ); (b) case 2: w is the left endpoint of s(pw ). The light gray polygon is the tolerance envelope of v1 . endpoint to another. The sweep defines an arrangement of curves, whose outer cell defines the tolerance envelope (Fig. 3). The tolerance envelope of a point on a nominal segment is computed as for vertices, except that the vectors uj are now functions of λ (the terms in brackets in Eqs. 5, 6, and 7). As the point moves between the segment endpoints, its cone diagram lines rotate, thus changing the shape of the tolerance envelope. When the cone diagram lines overlap or change their orientation, the topology of the diagram (and therefore of the point envelope) changes (Fig. 2b). The following lemmas state important properties of segment envelopes. Lemma 1. Let s be a segment of the toleranced parametric part model, let v 1 and v2 be its two endpoints, and let L12 be the line determined by v1 (¯ p) and v2 (¯ p). Define the up and down directions to be orthogonal to L12 and the orientation of an instance s(p) to be the direction of s(0, p)s(1, p) with respect to the L12 -axis. If every instance of s is monotonic with respect to L12 and has the same orientation as the nominal segment, then the upper and lower parts of the tolerance envelope are L12 -monotone. Proof. By contradiction. Assume that the upper part of the envelope is not monotone and that the non-monotone section of the envelope points towards the left as illustrated in Figure 4. Then there exist two points on the upper part of the envelope t1 , t2 such that a line L orthogonal to L12 intersects both (assume t1 is the lower point). The points define an area T bounded on the right by L and on the left by the envelope. Let w be the leftmost point on the boundary of T , and let w1 and w2 be the endpoints of a segment instance s(pw ) that intersects w (assume w1 is the left endpoint). Since every instance is L12 -monotone, either w1 is to the left of w (and therefore outside of T ) or w1 = w. In the first case (Figure 4a) there must be a point on s(pw ) between w1 and w that is outside of the tolerance envelope. But this is a contradiction, because the envelope contains all the instances. In the second case (Figure 4b) there must exist two additional points r1 , r2 that intersect L, otherwise w would be the point dividing the upper 7

and lower parts of the envelope from the left, and t1 would belong to the lower envelope. These points define a similar area R with q as its leftmost point. Note that q is also an endpoint of an instance of the segment, s(pq ). Since both w and q are left endpoints of instances of s, they are part of the tolerance envelope of v1 . But according to our construction there exists a point on the segment connecting q to w outside of the envelope, a contradiction to the convexity of the point tolerance zone. Lemma 2. Let s, v1 , v2 , and L12 be as in Lemma 1, let n ˆ be the normalized vector in the (1) (2) direction of L12 , and let ui and ui denote the partial derivatives by pi of v1 and v2 respectively. Then every instance of s is L12 -monotone and has the same orientation as the nominal segment if the following conditions hold: P (2) (1) ˆ iδi+ | < kv1 (¯ p) − v2 (¯ p)k 1. If s is a line segment, then m i=1 |hui − ui , n

2. If s is a circular arc segment with angle α(p), and α12 (p) is the angle made by v2 (p)−v1 (p) and L12 , then in addition to condition 1, we require that maxp (α(p)/2 + α12 (p)) < π/2. 3. If s is a cubic B´ezier curve with control points b1 , b2 , b3 , b4 whose derivatives are (4) (1) (2) (3) u1 , u1 ,u1 , and u1 respectively, then the nominal segment must be L12 -monotone, Pm (i ) (i ) p) − bi2 (¯ p)k for each of the following pairs of indices: ˆ iδi+ | < kbi1 (¯ and i=1 |hui 1 − ui 2 , n (i1 , i2 ) ∈ {(1, 2), (1, 3), (1, 4), (2, 4), (3, 4)}. For quadric curves with control points b 1 , b2 , b3 the same condition applies with index set {(1, 2), (1, 3), (2, 3)}.

Proof. In the following we assume without loss of generality that L12 is horizontal in the positive x direction. We divide the proof according to the segment type: 1. Line. Every non-vertical line segment is L12 -monotonic. We show that all the instances have the same orientation as the nominal segment if and only if the condition holds. The left side of the condition sums the maximal contribution of each parameter in advancing v1 and v2 towards each other in the x direction. If the sum is less than the nominal horizontal distance (the right hand side) then the line segment has the same orientation. If the condition does not hold, then the instance that achieves the maximum has the opposite orientation (or is vertical). 2. Arc. Observe that every arc with angle α > π in not x-monotone. Arcs with smaller angles are not monotone when the angle of the tangent to the right vertex with the positive xaxis is smaller than 90◦ (Fig. 5). This angle is equal to the sum of the angles α(p)/2 and α12 (p) as defined above. A symmetrical condition exists for the tangent to the left vertex.

µŒ¹$º ¸ ·

¾(¿À†Á„ÂÀ*¾ ¸ ¶

µ

»¼½

µ6¶ ·

Figure 5: Monotonicity condition for circular arcs 3. B´ezier. Let bix denote the x-coordinate of the ith control point. Then a cubic B´ezier curve is x-monotone if b1x < b2x , b3x < b4x , and a quadric curve is x-monotone if b1x < b2x < b3x . This follows from the fact that the derivative of the x-coordinate of the curve is strictly positive when the control points are thus constrained. The lemma’s conditions ensure that 8

the monotonicity conditions are true for the nominal curve, and by the same argument as for line segments remain true for every instance of the curve, because b 2x , b3x cannot cross the endpoints’ x-coordinate.

From Lemmas 1 and 2 we directly get the following corollary: Corollary 1. The tolerance envelope of a segment that satisfies the conditions of Lemma 2 is L12 -monotone. In the following, we assume for simplicity of presentation that the toleranced segments satisfy the conditions of Lemma 2, thus their tolerance envelopes are L12 -monotone and their upper and lower envelopes are well defined. This assumption holds for most practical applications. When it does not hold, the required modification to the algorithms slightly increases the asymptotic complexity. Lemma 3. The tolerance envelope of a line segment sl consists of four parts: two convex polylines corresponding to the left and right sections of the envelope, and two concave curves corresponding to the upper and lower sections of the envelope. Proof. According to Theorem 1, the tolerance zones of the vertices are convex polygons. Their boundaries correspond to endpoints of the segment’s instances, and contribute to the left and right sections of the tolerance envelope (see Figure 3a). Define the upper (lower) envelope as the section of the envelope that is disjoint from the tolerance zones of the vertices, and above (below) the nominal segment. We now prove that it is concave. Let Es (A, sl ) be the tolerance envelope of sl , and let q ∈ Es (A, sl ) be a point on the upper envelope. Then q is incident on some line segment instance sl (pq ). Let hq be the supporting line of sl (pq ), and let h+ q be the halfspace containing hq and above it. Note that hq is tangent to the envelope at q because otherwise there would exist q 0 ∈ hq above the upper envelope. Now let H be the set of all supporting lines of points on the upper envelope. Since each of the lines is tangent to the tolerance envelope, envelope is contained in the boundary of the intersection of all T the tolerance + the halfspaces, ∂ h∈H h . The intersection is convex, so its boundary is a convex curve. The upper envelope is a continuous subset of the curve, and therefore convex (in fact it is concave because the tolerance zone is below the upper envelope). The proof for the lower envelope is symmetrical.

5

Tolerance envelope computation

We now address the representation and computation of part tolerance envelopes. We are interested in part tolerance envelopes whose segments are as few and as simple as possible, yet are as close as possible to the real boundary. Simple segments follow the perfect form assumption, which stipulates that the tolerance envelope of a segment is a chain of segments of the same type, and facilitates further analysis and manipulation, such as stack-up tolerance analysis, collision detection, and assembly planning. Fewer segments speed up computation but compromise accuracy and simplicity, e.g., one long spline curve versus many short line segments. Since different applications will require different trade-offs between shape simplicity, accuracy, and efficiency, we define four successive approximations for segment tolerance envelopes: 1. Independent Parameter Approximation (IPA); 2. Extremal Parameter Approximation (EPA); 3. Extremal Vertex Approximation (EVA); and 4. Best Segment Approximation (BSA). We describe them next.

9

5.1

Independent Parameter Approximation (IPA)

When the parameters of the segment control points are independent (i.e. each control point has a different set of parameters with non-zero partial derivatives), the control points can vary anywhere within their tolerance zones independently from the other points. This problem was studied in [13] for line segments and circular arcs, and in [17] for B´ezier curves. The tolerance zone under the independency assumption is a conservative approximation, as it contains the tolerance zone defined by dependent parameters, and thus never underestimates the worst case variation of the part. For the case of line segment envelopes, the approximated tolerance zone contains every line segment connecting points in the two endpoints’ envelopes. Thus the IPA envelope is the boundary of the convex hull of the vertices of the tolerance envelopes of the endpoints. It is computed in O(k log k) time by finding the outer tangents of the two polygonal envelopes. We defer the discussion for the case of circular arcs and B´ezier curves to Section 5.4.

5.2

Extremal Parameter Approximation (EPA)

The vertices of the tolerance envelope of the starting endpoint have unique offset vectors that define instances of the toleranced segment. These instances define the starting paths of the vertices in the sweeping of the tolerance envelope described at the end of Section 4. Similarly, the vertices of the tolerance envelope of the other endpoint define the end of the sweep paths. The instances correspond to the starting and ending topology of the tolerance envelope, and if there are no additional topological events in between, then the upper and lower envelopes of the arrangement they define is a good approximation to the upper and lower parts of the tolerance envelope. We find the upper and lower envelopes of the arrangement with a divide-and-conquer method [12] in O(k log k) time.

5.3

Extremal Vertex Approximation (EVA)

The tolerance envelope defined by the interpolation parameter λ is the boundary of a convex polygon containing all the points s(λ, p) with p ∈ P. Except for specific values of λ (see below), there is a unique polygon vertex that attains the maximal displacement from the nominal point s(λ, p¯) in the direction d orthogonal to the tangent to the nominal segment at s(λ, p¯). We call this vertex an extremal vertex. This vertex has the offset vector of the cone that contains the direction d, and as we change λ it will trace a path on the instance defined by this offset vector. The offset vector of the extremal vertex changes only when the cone containing d changes. We call this an extremal event. The values of λ at which extremal events occur are solutions to the equation hui (λ), d⊥ (λ)i = 0 (there are O(k) such events). The tolerance envelope polygon in an extremal event λe has an edge parallel to the tangent at s(λe , p¯). One endpoint of this edge is the extremal vertex of λ < λe , and the other is the next extremal vertex. Note that because of the symmetry of the point tolerance envelope, there is a symmetrical vertex for each extremal vertex (from the other side of the nominal segment). The EVA extends EPA by computing the extremal events and the instances of segments corresponding to all the extremal vertices along the sweep. It computes the upper and lower envelope of the arrangement defined by these instances. The computation of extremal instances dominates the time complexity of the algorithm, with O(k) arithmetic operations per instance, for a total of O(k 2 ) operations.

5.4

Best Segment Approximation (BSA)

This method computes the tolerance envelope of a segment up to the desired degree of accuracy. For applications that support general algebraic curves, it computes the exact tolerance envelope

10

Ã/Å Æ

Ã!Ä SÉ ÓÓÑÍÈÔ Õ=ÉËÔÍ.Ï Ç È-É#ÊËÌ*Í.Î/Ï-ÐÉÑ$Ò

Û/Ý$Þ ß?àâááSãaä„åæç!èé ê(ë

Ö×(Ø.چÐØ.Ù ÃÅ

Ö×$Ø.Ù

Û„Ü Þ

ÛÝ Ã!ÄÆ

ۄÜ

(a) endpoints move along lines

(b) endpoints move along circular arcs

Figure 6: Sweep of envelope edges between two consecutive topological events. (after the linear approximation of the segment). The algorithm performs the sweep of the tolerance envelope from one endpoint to the other. A key issue is the identification of discrete events in which the topology of the cone diagram changes. The values of λ in which topological changes occur are solutions to the equations ⊥ hui (λ), u⊥ j (λ)i = 0 and ui (λ) = 0, where uj (λ) is perpendicular to uj (λ). The first equation corresponds to two cone diagram lines coinciding. We call this a switch event (Fig. 2b top). The second equation corresponds to a cone diagram line disappearing before changing its orientation. We call this a flip event (Fig. 2b bottom). Flip events are degenerate cases that occur frequently in practice. They are equivalent to k simultaneous switch events, but we treat them separately for efficiency and robustness. In between topological events, each vertex of the point envelope has a constant parameter offset vector, and therefore moves on a curve of the same type as the nominal segment. A basic step in the algorithm is to compute the boundary of the area swept by two neighboring point envelope vertices (an edge) from one topological event to the next. Figure 6 shows the area swept by an edge whose endpoints move along the path of line and arc segments. The boundary consists of a chain of segments of the nominal type and a general curve. The general curve is obtained with one of the following methods: 1. Closed form expression. Let s(p) denote the toleranced segment instance with parameter vector p, and let pq1 and pq2 denote the parameter vectors of the endpoints of the swept edge (note that they differ in one parameter sign only). Define the parameter vector p(ξ) = (1 − ξ)pq1 + ξpq2 . Then s(ξ) ≡ s(p(ξ)) defines a 1-parameter family of segments. From the classical theory of envelopes in Differential Geometry [4, 23], the envelope of a 1-parameter family of curves is a curve that is tangent at each of its points to some curve of the family. For parametric curves (x(λ, ξ), y(λ, ξ)) it is the solution to the equation ∂x ∂y ∂x ∂y ∂λ ∂ξ − ∂ξ ∂λ = 0. We solved the equation for the envelopes of the 1-parameter families of curves s(ξ), and obtained expressions of the following form: an hyperbola for a family of line segments, a general quadratic curve for circular arcs, and a rational parametric curve for B´ezier curves. To obtain the sweep boundary, we find the intersection of the envelopes with the extremal curves s(0) and s(1). 2. Direct approximation. Each point on the curve is incident on some instance of s(ξ). By sampling a constant number of instances with ξ ∈ [0, 1] and computing the envelope of them, we obtain an approximation of the curve without having to compute it explicitly. For applications that require perfect form tolerance envelopes, we approximate the swept curves either directly as in method 2 above, or by sampling a constant number of points on the 11

1. 2. 3. 4.

5.

Solve the topological event equations hui (λ), u⊥ j (λ)i = 0 and ui (λ) = 0 for consecutive lines Li and Lj in the cone diagram. Store the events in a priority queue according to λ values. Compute the offset vectors of the starting tolerance envelope and store their corresponding segment instances. While the event queue is not empty, remove an event from the queue. i. If switch event (λ, i, j) a. Sweep the four edges defined by (i, j) from previous to current λ. b. Flip the signs of the i and j parameter offsets in the two middle cones. c. Solve the topological event equations for the two new pairs of neighboring lines and insert the events into the queue. ii. If flip event (λ, i) a. Sweep all the edges from previous to current λ. b. Update all the instances by flipping the ith parameter offset sign. Compute the upper and lower envelopes of the segments from all the sweeps. Table 1: The Best Segment Approximation (BSA) algorithm of a single segment.

curve. The Douglas-Peucker heuristic [9] minimizes the error in a the simplification of discrete curves. It can be adapted to general continuous curves by using the curve derivatives. In our implementation, we approximated the curve with five segments using method 2. Table 1 summarizes the BSA algorithm. The algorithm starts by calculating topological events in the initial cone diagram and storing the events in a priority queue according to λ values. It then iterates over the events, computing the upper and lower envelopes of the area swept by the edges that participate in the current topological event. Switch events involve only six cones (three symmetrical) which correspond to four edges of the tolerance envelope. After lines Li and Lj switch, they have new neighbors in the cone diagram and the algorithm checks for new topological events. Flip events affect the entire cone diagram and therefore require all the edges to be swept from their previous to the current topological event. Note that the algorithm iterates over all the topological events with λ ∈ [0, 1] in order, because the events discovered in step 4.i.c. occur after the event that triggers the check. The final step computes the upper and lower envelopes of all the segments produced by the sweep during step 4. The correctness of the algorithm follows from Theorem 1, Equalities 5 − 7, and from the observations made above. We now analyze the time and space complexity of the algorithm for a single segment. Let ts and tf denote the number of switch and flip topological events, respectively. Step 1 solves O(k) polynomial equations of a bounded degree in O(k) time. Steps 2 and 3 require O(k log k) time and O(k) space. Step 4 iterates a total of ts + tf times, where queue operations take O(log(ts +tf )) time. Switch events require O(1) update and edge sweep operations, while a flip events requires O(k) operations, thus step 4 produces t = O(ts + k(1 + tf )) sweep segments, though not all of them contribute to the tolerance envelope. In the worst case, t s = O(k 2 ) and tf = O(k), so t = O(k 2 ), but on average t is much smaller. The computation of the upper and lower envelopes in step 5 takes O(t log t) time [12], and dominates the time complexity of the algorithm. The space complexity of the algorithm is dominated by the combinatorial complexity of the segment tolerance envelope, which is O(t). We return now to the case of independent parameters. Since each of the vectors u i (λ) depends on the partial derivative of one control point only, its size changes as λ varies but its direction does not. Thus there are no topological changes in the cone diagram. In fact it remains the same for all values of λ. The tolerance envelope in this case consists of O(k) swept edges between the endpoints’ tolerance envelopes. In the IPA algorithm we force this case to occur by treating each control point as if it has its own parameters. Thus if there are c control points 12

Approximation IPA (line) IPA (other) EPA EVA BSA

Space O(n) O(nk) O(nk) O(nk) O(nk 2 )

Time O(nk log k) O(nk log k) O(nk log k) O(nk 2 ) O(nk 2 log k)

Conservative yes yes no no yes

Table 2: Properties of the approximation algorithms for a part with n segments of the same type. The actual space and time upper bounds include a multiplicative factor due to the complexity of Davenport-Schinzel sequences [21], which, for all practical cases, can be treated as a small constant. For the time complexity, we assume that the intersection of B´ezier curves of low degree is found in O(1) time. with at most k non-zero partial derivatives each, then the cone diagram consists of at most ck lines of fixed directions. The envelope is computed as in the BSA algorithm, with special attention to the degeneracies introduced at the endpoints (where a subset of the parameters get zero weight). Note that in [17] the tolerance zone is represented implicitly by the curvature of its envelope, while our method provides an explicit representation of the envelope.

5.5

Tolerance envelope of the part

The tolerance envelope of the entire part is computed by merging the tolerance envelopes of its segments. Consecutive segments have one common vertex, at the envelope of which their segment envelopes terminate. When the segment envelope chains do not intersect, we merge them with vertices on the common vertex envelope. When they do intersect, we find the intersection with a segment intersection algorithm [2] in O(t log t) time, where t is the length of both chains, and merge the chains at the intersection point. If there is more than one intersection then the envelope has a hole or self intersects. In this case the algorithm informs the user that the part model is invalid and must be fixed. Table 2 summarizes the computational properties of the approximation algorithms. The IPA is the least accurate but gives good results when there are no extremal events in the cone diagram. EPA gives tighter results but misses segment instances that may contribute to the envelope when more than one topological event occurs. The EVA improves on EPA at the cost of time complexity by tracking extremal changes without calculating topological events. BSA is the most computationally expensive but gives both accurate and conservative results. Let approx(A) denote the area bounded by the outer tolerance envelope produce by the corresponding approximation of part A, then the relation between the four approximations is EP A(A) ⊆ EV A(A) ⊆ BSA(A) ⊆ IP A(A). The relation is reversed for the inner tolerance envelope.

6

Experimental results

We implemented the four algorithms for parts composed of line and arc segments. The implementation was written in C++ with the CGAL library, and run on a 2.4 GHz Pentium 4 with 1GB RAM under Windows XP. To empirically quantify the accuracy of the approximations, we compared them with a dense sampling of the non-linear tolerance envelope (the envelope of the part without the linear approximation). For each sampled point, we compute its parametric function and solve the non-linear optimization problem consisting of maximizing the offset in the normal direction. For efficiency, we initialize the optimization procedure with the offset vector computed in the

13

no. 1 2 3 4 5 6 7 8 9 10 11 12 13 14

name cover handbrake axis support optical filter camera cam camera shutter geneva driver geneva wheel pin wheel gear driver gear follower curved link long link 8 tooth key

n 7 20 14 16 5 12 12 24 28 7 16 16 34 26

m 9 22 19 17 5 24 9 11 10 6 6 23 25 47

kmax 9 7 10 10 5 12 6 6 4 4 6 7 10 22

k 4 4 5 6 4 6 4 5 4 3 5 5 6 13

tol(mm) 0.33 0.36 0.36 0.09 0.26 0.51 0.64 0.40 0.67 0.7 0.6 0.3 0.22 0.05

time(sec) 142 832 494 590 81 487 152 548 721 106 300 745 1701 2851

Table 3: Model parameters and real envelope computation times. The table lists, for each model, the number of vertices n, the total number of parameters m, the maximal and average number of non-zero partial derivatives of a segment kmax and k respectively, the average tolerance interval length, tol, and the running time of the non-linear optimization algorithm in seconds.

BSA IPA Monte-Carlo

(a) the BSA envelope of the cover

(b) detail

Figure 7: (a) A portion of the sewing machine cover tolerance envelope, and; (b) an enlarged detail of it. Solid thick curves are the nominal part boundary. Dashed, thin solid, and alternating dashed curves are BSA, IPA, and Monte Carlo envelopes, respectively. previous sampled point. Our experiments determined that a uniform sampling of 200 points per segment gives satisfactory results. We implemented the optimization algorithm in MATLAB. Table 3 shows the characteristics of the 14 different models we tested, each with the running time of the optimization algorithm. The running times range from 80 seconds to more than 45 minutes, much too long for interactive design (the MATLAB profiler shows that 54.5% of the time is spent running built-in optimized C code, so the running time can be cut in half at the most). The models and their tolerance envelopes are available in our web site: http://www.cs.huji.ac.il/∼yaronber/Tolerance Envelopes.htm We compare the results of our algorithms with those produced by the Monte Carlo and Taguchi sampling methods used in most CAT systems (e.g. CATIA, TASys, TolStack). Sampling methods repetitively generate valid instances of the part and analyze each part individually. The Monte Carlo method randomly picks parameter values from a uniform distribution, and repeats the simulation a given number of times (we used 100 instances in our experiments). The Taguchi method picks all possible combinations of predetermined extremal values of the

14

30

40

frequency (%)

frequency (%)

25 20 15 10 5 0 0

0.02

0.04 error (mm)

(a) BSA absolute error

10

0.2

0.4 0.6 0.8 error (mm)

1

1.2

(b) Monte Carlo absolute error 25

30

20

25

frequency (%)

frequency (%)

20

0 0

0.06

35

20 15 10

15 10 5

5 0 0

30

1

2

3 4 error (%)

5

0 0

6

(c) BSA relative error

6

12 18 24 30 36 42 48 54 60 error (%)

(d) Monte Carlo relative error

Figure 8: Error distribution of the envelope approximations of the sewing machine cover. The horizontal axis is the difference between the distances of the non-linear and approximated envelopes from the nominal boundary. The vertical axis is the percentage of the envelope with this error. The top two graphs show the absolute difference value in millimeters, while the bottom two show the relative difference value from the actual distance. parameters (3 values per parameter), and thus has exponential complexity. To asses the ability of sampling methods to compute the worst case, we computed the envelope which minimally contains all the sampled instances and the envelope which is maximally contained in them, and compared them with the outer and inner envelopes produced by the optimization algorithm. Note that this is faster than the actual process, because we skip the analysis of every sampled instance. Figure 7 shows the results of the algorithms on the sewing machine cover. Note that the IPA envelope is too conservative, while the Monte Carlo envelope is too optimistic, missing the instances that cause extremal offsets from the nominal. Figure 8 shows a detailed comparison of the accuracy of the BSA and the Monte Carlo envelopes of the sewing machine cover. Notice the BSA is roughly 10 times more accurate. This characterizes the results of all our experiments, as shown in Tables 4, 5, and 6. The tables summarize the error statistics of the tolerance envelopes of the proposed algorithms and the sampling methods on the 14 models of Table 3. For each entry, the first three columns show the relative difference (in percentage) between the distances of the non-linear envelope and the approximated envelope from the nominal boundary (mean, standard deviation, and maximum). The following three columns show the statistics of the absolute value of the difference. The last column shows the computation running time (in milliseconds for our algorithms and in seconds for the sampling methods). In general, the BSA envelope is the most accurate, followed by EVA and EPA. The IPA envelope is the least accurate in terms of maximal error, but for many applications (such as 15

model

1a 1b 1c 2 3 4 5 6 7 8 9 10 11 12 13 14 average

relative(%) x ¯ σ max 1.71 1.30 5.37 3.43 2.61 11.8 0.81 0.60 3.01 0.23 0.32 3.91 0.52 0.47 2.73 1.52 3.56 27.2 2.28 2.28 12.6 0.67 0.73 5.17 2.07 0.55 3.52 1.31 1.12 4.71 0.53 0.21 1.37 0.71 0.42 1.68 0.27 0.50 4.80 0.56 0.77 9.24 0.85 1.70 9.85 0.43 0.22 2.30 0.97 1.01 6.74

BSA value(mm) x ¯ σ max 0.023 0.019 0.069 0.093 0.077 0.284 0.005 0.004 0.014 0.001 0.001 0.013 0.007 0.005 0.041 0.003 0.006 0.031 0.011 0.011 0.049 0.010 0.011 0.078 0.026 0.009 0.076 0.010 0.007 0.102 0.006 0.002 0.025 0.005 0.003 0.015 0.003 0.006 0.061 0.006 0.018 0.269 0.011 0.022 0.173 0.003 0.002 0.021 0.008 0.008 0.073

time (ms) 406 401 411 687 594 1313 500 438 297 829 828 125 1109 844 2453 1891 879

relative(%) x ¯ σ max 1.83 2.08 26.8 3.86 4.51 48.2 0.85 0.97 16.8 0.23 0.32 3.91 5.91 14.6 80.8 2.91 9.37 96.7 2.44 2.18 12.6 1.82 4.39 42.8 1.54 0.92 3.52 1.31 1.12 4.71 0.56 0.37 4.47 0.78 0.63 5.16 0.27 0.50 4.80 2.56 8.31 56.7 0.88 1.71 9.85 0.43 0.22 2.30 1.67 3.33 25.3

EPA value(mm) x ¯ σ max 0.023 0.020 0.093 0.096 0.079 0.343 0.005 0.005 0.029 0.001 0.001 0.013 0.162 0.478 2.816 0.007 0.044 0.828 0.012 0.011 0.049 0.039 0.102 0.718 0.020 0.014 0.076 0.010 0.007 0.102 0.007 0.006 0.102 0.006 0.007 0.069 0.003 0.006 0.061 0.042 0.148 0.931 0.012 0.023 0.173 0.003 0.002 0.021 0.024 0.062 0.432

time (ms) 172 173 179 437 391 594 172 329 110 453 578 94 547 422 1110 1531 495

Table 4: Approximation error statistics of BSA and EPA tolerance envelopes. assembly planning) its conservative envelope is sufficient for completeness of the analysis. Experiments 1a-1c test the effect of the tolerance interval length on the quality of the envelopes. In experiment 1a we used the specification of Figure 1, and in 1b and 1c multiplied and divided the tolerance intervals by 2, respectively. As expected from our algorithms, the tighter the tolerances the better the approximation, and vice versa (because of the linear approximation). Note that this is not so in the Monte Carlo method, where the relative error remains approximately the same. Also note the mean and standard deviation of the absolute error of our algorithms are the same order of magnitude as the average tolerance interval squared. This is also expected from the linear approximation. In experiments 1d-1f we tested the effect of the number of generated instances on the quality of the Monte Carlo envelope. We used 10, 1000, and 10000 instances in experiments 1d, 1e, 1f, respectively, and 100 instances in all other experiments. Notice that using 100 times more instances only halves the error, hinting at an exponential number of instances needed to achieve good results. Taguchi’s method generates all the instances with extremal and nominal parameter values, that is 3k instances. These include all the instances used by the EPA and EVA algorithms, but not BSA. As expected, the accuracy of Taguchi’s method lies between EVA and BSA, but its running time is much too long for interactive computation except in the simplest of models. The 8-toothed key (example 14) requires a tolerance chain specification and has two segments with 22 parameter dependencies. Our computer ran out of memory before it could compute the envelope of 3 22 instances. Tolerance chains this long are not uncommon in realistic specifications. Figure 9 shows the optical filter (model 4) and part of its tolerance envelope in detail. We interactively changed the tolerance intervals until the envelope of the cavity shown in the detail was wide enough. Note the overly conservative approximation of the IPA caused by tight dependencies between the arc parameters. This example also demonstrates a rare special case in which the EPA inner envelope has a large error. This can be avoided at no asymptotic cost by including the nominal segment and the instances corresponding to the midpoints of the tolerance envelope edges. However, for most cases the additional cost is not justified.

7

Conclusion

We have presented a framework for modeling parametric variation in planar parts with curved boundaries and for efficiently computing first-order approximations of their worst-case tolerance envelopes. Based on the geometric properties of the tolerance envelopes that we derived,

16

model

1a 1b 1c 2 3 4 5 6 7 8 9 10 11 12 13 14 average

relative(%) x ¯ σ max 1.82 2.08 16.8 3.86 4.50 48.1 0.85 0.97 16.8 0.23 0.32 3.91 2.95 8.00 48.1 2.91 9.37 96.7 2.30 2.26 12.6 1.39 3.00 22.2 1.54 0.92 3.52 1.31 1.12 4.71 0.54 0.26 4.47 0.74 0.53 5.16 0.24 0.38 4.80 2.56 8.31 56.7 0.88 1.71 9.85 0.43 0.22 2.30 1.53 2.74 22.2

EVA value(mm) x ¯ σ max 0.023 0.020 0.093 0.096 0.079 0.342 0.005 0.005 0.029 0.001 0.001 0.013 0.055 0.158 0.951 0.007 0.044 0.828 0.011 0.011 0.049 0.033 0.094 0.718 0.020 0.014 0.076 0.010 0.007 0.102 0.007 0.004 0.102 0.006 0.006 0.069 0.003 0.005 0.061 0.042 0.148 0.931 0.012 0.023 0.173 0.003 0.002 0.021 0.020 0.038 0.284

time (ms) 174 173 174 453 407 609 188 359 156 453 688 95 594 453 1172 1500 521

relative(%) x ¯ σ max 5.47 17.9 138 8.59 23.5 153 5.08 16.3 132 0.65 2.23 20.3 12.2 36.7 240 19.1 106 1133 24.9 21.3 85.7 1.20 2.36 24.2 43.1 32.5 96.5 7.79 9.33 44.6 0.52 0.21 1.37 0.75 0.40 1.68 0.57 1.06 6.14 5.83 18.0 155 1.10 1.91 9.85 0.43 0.22 2.30 8.58 18.1 140

IPA value(mm) x ¯ σ max 0.040 0.074 0.484 0.134 0.194 1.075 0.019 0.040 0.230 0.003 0.014 0.119 0.184 0.463 2.22 0.026 0.100 0.615 0.111 0.084 0.322 0.024 0.071 0.743 0.525 0.376 1.103 0.097 0.126 0.570 0.006 0.002 0.025 0.006 0.003 0.015 0.008 0.015 0.088 0.067 0.174 1.175 0.015 0.029 0.173 0.003 0.002 0.021 0.079 0.110 0.561

time (ms) 234 233 234 610 328 688 235 172 173 484 797 125 937 500 1500 412 514

Table 5: Approximation error statistics of EVA and IPA tolerance envelopes. model

1a 1b 1c 1d 1e 1f 2 3 4 5 6 7 8 9 10 11 12 13 14 average

Monte Carlo relative(%) value(mm) x ¯ σ max x ¯ σ max 16.7 10.9 56.2 0.294 0.274 1.198 16.5 11.8 51.4 0.587 0.593 2.316 18.3 11.2 52.9 0.157 0.135 0.552 39.3 16.7 97.5 0.616 0.426 1.854 10.7 8.93 50.6 0.190 0.197 1.072 8.45 8.70 39.6 0.138 0.153 0.840 12.7 10.2 47.3 0.071 0.080 1.016 22.7 15.9 97.9 0.571 0.531 2.525 19.5 11.2 94.1 0.064 0.066 0.867 15.8 12.9 84.2 0.084 0.076 0.477 23.8 11.6 57.9 0.479 0.394 0.227 10.5 9.12 47.3 0.149 0.162 0.818 15.0 9.96 48.6 0.209 0.202 1.066 22.5 9.63 52.3 0.294 0.127 0.974 10.8 10.2 46.7 0.113 0.109 0.476 27.9 9.42 55.2 0.374 0.126 0.824 21.7 12.8 56.8 0.258 0.232 2.586 29.2 13.8 58.7 0.427 0.402 3.145 30.3 12.9 59.7 0.228 0.124 0.525 19.9 11.4 61.6 0.258 0.207 1.194

time (sec) 1.94 1.92 1.95 0.19 18.6 215 5.67 3.10 4.18 1.36 2.59 1.66 5.53 9.95 1.95 4.53 4.91 9.30 4.64 4.38

Taguchi relative(%) value(mm) x ¯ σ max x ¯ σ max 1.73 1.31 5.82 0.028 0.022 0.070 3.43 2.62 11.8 0.093 0.078 0.284 0.82 0.62 3.14 0.005 0.005 0.016 NA NA NA 0.23 0.32 3.91 0.001 0.001 0.013 1.19 3.01 19.8 0.021 0.064 0.394 1.84 4.14 27.9 0.004 0.009 0.191 2.28 2.29 12.6 0.012 0.011 0.049 1.22 3.01 20.7 0.030 0.100 0.786 1.49 0.98 3.52 0.020 0.014 0.076 1.31 1.12 4.71 0.010 0.007 0.102 0.54 0.24 4.31 0.007 0.004 0.102 0.71 0.42 1.68 0.005 0.003 0.015 0.27 0.50 4.80 0.003 0.006 0.061 0.85 1.42 10.8 0.011 0.028 0.285 0.86 1.70 9.85 0.012 0.023 0.173 insufficient resources 1.11 1.57 10.0 0.012 0.022 0.178

time (sec) 26.2 27.2 25.2

13.7 345 135 1.57 646 1.00 7.01 4.11 0.47 13.7 15.9 259 ∞ 113

Table 6: Approximation error statistics of Monte Carlo and Taguchi tolerance envelopes. we developed four efficient algorithms that trade-off between shape simplicity, accuracy, and efficiency. Their complexity ranges from O(n) space and O(nk log k) time complexity for the Independent Parameter Approximation, to O(nk 2 ) space and O(nk 2 log k) time complexity for the Best Segment Approximation, where n is the number of boundary segments and k is the maximum number of dependent segment parameters. The algorithms offer clear running time, simplicity, and accuracy advantages over the commonly used Monte Carlo and Taguchi sampling methods, as demonstrated by our experimental results. We are currently investigating the use of tolerance envelopes in a variety of mechanical design and assembly planning tasks, including tolerance envelope stack-up in chains of mated parts, assembly planning with tolerance parts, and toleranced configuration space computation [19]. We are also planning to extend the framework to solid models such as triangular meshes.

Acknowledgement: This work was partially supported by grant from the Israeli Ministry of Science and Technology, Grant Number 01-01509.

17

BSA+EPA+IPA IPA Monte Carlo

IPA

(a)

EPA BSA

(b)

Figure 9: (a) Optical filter nominal part; (b) detail of the tolerance envelopes

References [1] The American Society of Mechanical Engineers, New York. ASME Y14.5M-1994 Mathematical Definition of Dimensioning and Tolerancing Principles, 1994. [2] I. J. Balaban. An optimal algorithm for finding segments intersections. In Proc. of the 11th annual symposium on Computational Geometry, pages 211–219, 1995. [3] S. Bhide, J. K. Davidson, and J. J. Shah. Areal coordinates: The basis of a mathematical model for geometric tolerances. In Proc. of the 7th CIRP Int. Seminar on Computer-Aided Tolerancing, pages 35–44, Paris, France, 2001. [4] V. C. Boltyanskii. Envelopes. Pergamon Press, 1964. Translation from Russion by Robert B. Brown. [5] A. Clem´ent, A. Rivi`ere, P. Serr´e, and C. Valade. The TTRS: 13 constraints for Dimensioning and Tolerancing. In H. A. ElMaraghy, editor, Geometric Design Tolerancing: Theories, Standards and Applications, pages 122–131. Chapman & Hall, London, 1998. [6] D. DeDoncker and A. Spencer. Assembly tolerance analysis with simulation and optimization techniques. SAE Transactions, 96(1):1062–1067, 1987. [7] J. R. D’Errico and N. A. Zaino Jr. Statistical tolerancing using a modification of Taguchi’s method. Technometric, 30(4):397–405, 1988. [8] A. Desrochers, V. B´eron, and L. Laperri`ere. Revisiting screw parameter formulation for accurate modeling of planar tolerance zones. In Proc. of the 8th CIRP Int. Seminar on Computer-Aided Tolerancing, pages 239–248, Charlotte, NC, 2003. [9] D. H. Douglas and T. K. Peucker. Algorithms for the reduction of the number of points required to represent a digitized line or its caricature. Canadian Cartographer, 10(2):112– 122, 1973. [10] H. Edelsbrunner. Algorithms in Combinatorial Geometry, volume 10 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Heidelberg, West Germany, 1987. [11] K. Goldberg, J. Chen, M. Overmars, D. Halperin, B. Karl, and Z. Y. Shape tolerance in feeding and fixturing. In P. Agarwal, L. Kavraki, and M. Mason, editors, Robotics, The Algorithmic Perspective. A.K Peters, The Netherlands, 1998.

18

[12] J. Hershberger. Finding the upper envelope of n line segments in O(n log n) time. Information Processing Letters, 33:169–174, 1989. [13] C. U. Hinze. A Contribution to Optimal Tolerancing in 2-Dimensional Computer Aided Design. PhD thesis, Johannes Kepler Universitt Linz, 1994. [14] T. Kandikjan, J. J. Shah, and J. K. Davidson. A mechanism for validating Dimensioning and Tolerancing schemes in CAD systems. Computer Aided Design, 33:721–737, 2001. [15] J.-C. Latombe, R. Wilson, and F. Cazals. Assembly sequencing with toleranced parts. Computer-aided Design, 29(2):159–174, 1997. [16] L. Pino, F. Bennis, and C. Fortin. Calculation of virtual and resultant parts for variational assembly analysis. In Proc. of the 7th CIRP Int. Seminar on Computer-Aided Tolerancing, pages 83–92, Paris, France, 2001. [17] H. Pottmann, B. Odehnal, M. Peternell, J. Wallner, and R. Ait Haddoi. On optimal Tolerancing in Computer-Aided Design. In Geometric Modeling and Processing 2000, pages 347–363, Hong Kong, China, 2000. [18] J. R. Rossignac and A. A. G. Requicha. Offseting operations in solid modelling. Computer Aided Geometric Design, 3:129–148, 1986. [19] E. Sacks and L. Joskowicz. Parametric kinematic tolerance analysis of general planar systems. Computer-Aided Design, 30(9):707–714, 1998. [20] Schultheiss R., Ford Werke AG, Koln, Germany. ADAPT Users Manual: Computer-Aided Tolerance Analysis and Design, 2000. [21] M. Sharir and P. Agarwal. Davenport-Schinzel Sequences and Their Geometric Applications. New York: Cambridge University Press, 1995. [22] O. W. Solomons, F. van Houten, and H. Kals. Current status of CAT systems. In Proc. of the 5th CIRP Int. Seminar on Computer-Aided Tolerancing, Toronto, 1997. [23] M. Spivak. A Comprehensive Introduction to Differential Geometry. Publish or Perish, 2 nd edition, 1979. In 5 volumes. [24] N. F. Stewart. Sufficient condition for correct topological form in tolerance specification. Computer Aided Design, 25(1), 1993. [25] H. Voelcker. A current perspective on Tolerancing and Metrology. Manufacturing Review, 6(4):258–268, 1993. [26] C. K. Yap and E.-C. Chang. Issues in the Metrology of Geometric Tolerancing. In J.-P. Laumond and M. Overmars, editors, Algorithms for Robot Motion Planning and Manipulation, pages 393–400, Wellesley, Massachusetts, 1997. A.K. Peters. [27] G. M. Ziegler. Lectures on Polytopes, volume 152 of Graduate Texts in Mathematics. Springer-Verlag, Heidelberg, 1994.

19

Tolerance envelopes of planar mechanical parts with parametric ...

Recent research in Computer-Aided Tolerancing (CAT) describes methods for defining and computing ...... Canadian Cartographer, 10(2):112–. 122, 1973.

356KB Sizes 5 Downloads 134 Views

Recommend Documents

Tolerance envelopes of planar mechanical parts with parametric ...
Email: [email protected]. Abstract. We present a ..... The automatic validation of tolerance specifications is an important topic of current research [14, 24].

reverse engineering mechanical parts pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. reverse ...

Pretreatment of seed with H2O2 improves salt tolerance ...
above, were sown in pots (30cm diameter and. 10cm deep) ... tion of germination in all pots, uniform seedlings. (thinned ..... In line with these findings, as a result.

Comparison of Parametric and Non-Parametric ...
Systems (ITS) applications, in particular for safety and energy management ... Technology, China. R. Bajcsy is with the ... Section III introduces the models implemented ... 1As an alternative to iterative prediction, the GMR and ANN approaches.

FREE Download Parametric Modeling with ...
important Parametric. Modeling techniques and concepts. Each lesson introduces a new set of commands and concepts, building on previous lessons. The lessons guide the user from constructing basic shapes to building intelligent solid models, assemblie

Comment on “Maximal planar networks with large ...
May 10, 2006 - pression of P(k). Instead of n(N,k), let us investigate the time evolution of p(k,ti,t), the probability that at time t a node i introduced at time ti has a ...

A PLANAR DIFFUSION WITH RANK-BASED ...
well-posed? If so, what is the probabilistic structure of the resulting two-dimensional diffusion process? What are its transition probabilities? How does it look like when time is reversed? Questions like these arise in the context of systems of dif

pdf-1271\the-coloring-book-of-cards-and-envelopes ...
Try one of the apps below to open or edit this item. pdf-1271\the-coloring-book-of-cards-and-envelopes-flowers-and-butterflies-by-nosy-crow.pdf.

parts of speech exercises with answers pdf
answers pdf. Download now. Click here if your download doesn't start automatically. Page 1 of 1. parts of speech exercises with answers pdf. parts of speech ...

Arrangements of Planar Curves - Semantic Scholar
Computer Science Department. D-67653 ... Conics and cubics A conic (or conic curve) is an algebraic curve of degree at most 2 and a cubic (or cubic curve) is ...

Maximal planar networks with large clustering ...
Examples are numer- ous: these include the Internet 15–17, the World Wide Web ... of high computing powers, scientists have found that most real-life ... similar to Price's 79,80. The BA ... In our opin- ion, Apollonian networks may be not the netw

Dealing with uneven floors during planar robot ...
A rugged and unpredictable environment is exactly what is expected in the case of Urban ... 3D scans return a full point cloud representing the ..... At this point we have managed to calculate the angles (θx,θy) that would transform the robot's ...