Download as a PDF

1 downloads 0 Views 136KB Size Report
[2, 3], convex polygons [4], edge variations [6], and boundary offsets [5]. This assumes that point un- certainties are isocentric and independent, which of-.
The Linear Parametric Geometric Uncertainty Model: Points, Lines and their Relative Positioning Yonatan Myers and Leo Joskowicz

Two types of geometric uncertainty analysis methods are available. Sampling-based methods analyze the sensitivity to parametric variations by sampling parameter instances [9, 10]. This heuristic approach is general but computationally intensive. Geometrybased methods compute uncertainty zones with offsetting operations and bounding volumes [2, 3, 5, 6]. They derive zones which minimally contain all valid part instances. However, the resulting uncertainty part models are often too simplistic. Computational geometry research focuses on the robustness and accuracy of basic geometric algorithms, such as line intersections and convex hulls. With few exceptions, they do not consider geometric uncertainty, nor describe algorithms for computing it. In this paper, we introduce the Linear Parametric Geometric Uncertainty Model (LPGUM) and derive the worst-case first-order approximations of the uncertainty zones of points and lines in the plane. The model is based on our prior work [11, 12] and is general and expressive. We describe efficient algorithms to compute point and line uncertainty zones and to answer relative positioning queries.

Abstract Characterizing geometric uncertainty is a central problem in mechanical CAD/CAM, robotics, and computer vision. Geometric uncertainty is often studied with simple ad-hoc models that assume independent, isocentric, and isotropic geometric errors. These models are often inadequate and can lead to erroneous conclusions. In this paper, we introduce the Linear Parametric Geometric Uncertainty Model, and derive the worst-case first-order approximation of the uncertainty zones of points and lines in the plane. The model is general and expressive, and allows parameter dependencies. We present the properties of point and line uncertainty zones, and algorithms to compute them and to answer relative positioning queries. 1

Introduction

Geometric uncertainty plays a central role in many fields, including mechanical CAD/CAM, robotics, and computer vision. While geometric models of physical objects and their relative locations are exact, in practice, manufacturing and measurement processes introduce geometric uncertainties. Modern tolerancing and metrology has extensively studied the shape and position uncertainty of parts. Despite recent advances, their characterization and efficient computation remains an open problem [1]. Many models of geometric uncertainty have been proposed. One approach bounds point variations with simple geometric entities, such as rectangles, circles [2, 3], convex polygons [4], edge variations [6], and boundary offsets [5]. This assumes that point uncertainties are isocentric and independent, which often overestimates the real geometric uncertainty. A second approach models geometric feature variations with intervals of the coefficients of their algebraic parameterization [7, 8]. This accounts for features but not for the parameter dependencies between them. A third approach models variations with infinitesimal rigid body transformations that are concatenated to propagate the geometric uncertainty [9]. This allows for parameter dependencies but is limited to points and does not explicitly describe the uncertainty zone. ∗ School of Engineering and Computer The Hebrew University of Jerusalem, yoni [email protected], [email protected]



2

The Linear Parametric Geometric Uncertainty Model (LPGUM)

In the LPGUM, geometric entities are defined by joint parameters, each with a nominal value and uncertainty interval. First-order linear dependency and geometric uncertainty are modeled by a sensitivity matrix. The uncertainty zone is the union of all instances of an entity, resulting from all parameter value combinations. The uncertainty envelope is the uncertainty zone’s boundary. Formally, a parametric uncertainty model P M = (p, p¯, ∆) is defined by a vector p of k parameters over a domain ∆. The parameters’ uncertainty domain is the cross product of the individual parameter domains by an uncertainty interval  ∆i+, each defined − + − + ∆i = p− i , pi , where pi < pi , and pi , pi ∈ R. Each parameter pi has a nominal value p¯i ∈ ∆i , which is the parameter’s value with no uncertainty. The nominal parameters vector p¯ = (¯ p1 , ..., p¯k ) is the vector of the parameter values with no uncertainty. A parametric point v (p) = (x (p) , y (p) , z (p)) is a point defined by three continuous functions x (p) , y (p) , z (p) over the uncertainty domain ∆ of

Science, ISRAEL

1

y

parameter vector p. The nominal point v (¯ p) = (x (¯ p) , y (¯ p) , z (¯ p)), p¯ ∈ ∆, is the location of the point with no uncertainty. The uncertainty zone of parametric point v (p) is the set of all point instances: V (v) = {v (p) | p ∈ ∆}. The uncertainty zone is a closed, connected set, whose boundary is defined by the functions x (p) , y (p) , z (p). The geometric interpretation of the uncertainty zone is that point v can be anywhere in the uncertainty zone, depending on the actual values of its parameters. In general, the uncertainty zone boundary of a point cannot be derived analytically or computed exactly. However, since the parameters’ uncertainty intervals are usually one order of magnitude smaller or less than the nominal value, the standard approach is to approximate them as linear deviations from the nominal value. The deviations are the partial derivatives of the point’s functions evaluated at nominal parameter values:  k  X ∂v(¯ p) v(p) ≈ v(¯ p) + ψi (1) ∂pi i=1

(r− , α+ )

...

(r+ , α− )

(+, −) (−, −)

α

y

α

x (a) Exact model

x (b) Linear approximation y

(+, +, ∗, ∗)

v¯2

v¯2

(+, +)

(∗, ∗, +, −)

r2

(+, −)

v¯1

r1

α1



r

(r− , α− )

α2

x (c) Independent params.

B r

v¯1

α

x (d) Dependent params.

Figure 1: Uncertainty models of a point. (a) Exact model, and (b) linear approximation (the uncertainty zone is shaded). The sign vectors indicate the extreme parameter offsets that define the endpoints (− min, + max). Twopoint models: (c) independent, and (d) dependent parameters. The common uncertainty zone is shaded dark.

four endpoints correspond to the extremal parameter values combinations. The sensitivity matrix Av is: !

p) ¯ respect to pi evaluated at p¯. The constants ∂v( ∂pi can be grouped in a 3 × k uncertainty sensitivity matrix :   ∂x(p) ... ∂x(p) ∂p1 ∂pk   (2) Av =  ∂y(p) ... ∂y(p) ∂p1 ∂pk  ∂z(p) ∂pk

(+, +) (−, +)

¯ (¯ r, α)

r

where ψi = (pi − p¯i ) is the ith parameter offset, and ∂v(p) ∂v(p) ¯ ∂pi = ∂pi |p=p¯ is the partial derivative of v (p) with

∂z(p) ∂p1

y

(r+ , α+ )

∂(r sin α) ∂r ∂(r cos α) ∂r

Av =



| p=p¯

sin α ¯ cos α ¯

∂(r sin α) ∂α ∂(r cos α) ∂α

r¯ cos α ¯ −¯ r sin α ¯

=

|(r=¯ r,α=α) ¯



The approximate uncertainty zone is a rectangle defined by extremal parameter values (Fig. 1b). To illustrate parameter dependencies, consider now two uncertain points and their relative position. When the point parameters are independent and the uncertainty zones overlap (Fig. 1c), their relative ordering can change. In the common zone, some instances of v2 might be below point instances of v1 . Outside the common zone, the order is preserved. When the points depend on the same parameters (e.g., they are on rigid body B), their relative order is always preserved, although their uncertainty zones overlap (Fig. 1d).

Rows represent the sensitivity of the point coordinates x, y, z to variations in the values of parameters p. Columns, (Av )i represent the sensitivity of the point coordinates to variations in the parameter pi value. A point’s LPGUM, LP GU M (v) = (v (¯ p) , p, p¯, ∆, Av ) is defined by the nominal point location v (¯ p), a vector p of k parameters and their uncertainty domain ∆, the nominal values vector p¯, and a 3 × k uncertainty sensitivity matrix Av . Following Eq. 1, the LPGUM of point v, is thus v (p) = v (¯ p) + Av (p − p¯). The LPGUM allows for dependent parameters − and p − p¯ 6= asymmetric uncertainty intervals where i + p − p¯ . We transform an asymmetric model to a i symmetric one by substituting P M = (p, p¯, ∆) by

3

p+ +p−

P M ′ = (p, p¯′ , ∆) where p¯′i = i 2 i . To simplify the notation we denote (p − p¯′ ) as q. We illustrate the LPGUM with an example (Fig. 1). Let v (p) be a point in the plane defined in radial coordinates by two parameters: r, the distance from the origin, and α the angle from the horizontal. Let p = (r, α) be the parameters vector and p¯ = (α ¯ , r¯) the nominal parameters vector. Let the parameter uncertainty intervals be [α− , α+ ] and [r− , r+ ]. The point uncertainty zone is a disc sector, with inner and outer radii, r− and r+ , at angles α− and α+ (Fig. 1a). The

LPGUM of a Point

Consider the uncertainty envelope of a point in the plane defined in the LPGUM model. v (q) = v¯ + Av q

(3)

Finding the extreme vertex of the uncertainty envelope in a given direction d is equivalent to finding the point in direction d that maximizes A⊤ d, q . The v vertex is obtained by solving the linear program:

max A⊤ subject to: q ∈ ∆ v d, q q

2

The maximization is done separately for every parameter qi , as the parameter inequalities are independent. To compute the point uncertainty envelope; sort the column vectors of the sensitivity matrix by their angle, build the cone diagram and compute a sign vector for one cone. Then iterate over all cones according to the angle of the lines bounding them. For every cone flip the parameter associated with the line crossed between p+ and p− , and compute the vertex.

v(q)

v(q)

v(q)

w(q) (b)

(a)

(c) u(q)

v(q)

l(q)

l(q) v(q) (d)

Theorem 1 Let v (q) = v¯ +Av q be an LPGUM point in the plane, dependent on k parameters. Its uncertainty envelope is a convex polygon with at most 2k vertices which can be computed in optimal O (k log k) time, O (k) space. When the parameters q are defined over symmetric intervals, the uncertainty envelope is a centrally symmetric convex polygon (zonotope). 4

u(q)

u(q)

l

(e)

Figure 2: Examples of relative position relations between uncertain points and lines (uncertainty zones are shaded): (a) classification of an uncertain point with respect to a line; (b) relative position of two uncertain points; (c) relative position of three uncertain points; (d) classification of an uncertain point with respect to an uncertain line; (e) uncertain perpendicular bisector of two uncertain points.

LPGUM of a Line

The LPGUM of a parametric line l, defined by a point v (q) and a vector u (q), with sensitivity matrices Av and Au , is the affine combination of the parametric point and the direction vector times a scalar, α ∈ R:

5

Relative Position Relations

We study five types of relative position relations in the LPGUM. Figure 2 illustrates each case.

l (q) = l (v (q) , u (q)) = v¯ + Av q + α (¯ u + Au q) (4)

5.1

Theorem 2 Let l (q) be an LPGUM line defined by Eq. 4 dependent on k parameters. If the line is bounded it has two boundaries each of which has O (k) vertices. The regions outside the uncertainty zone are open and convex.

Uncertain point/nominal line classification

Classifying an uncertain point with respect to a nominal line is equivalent to classifying a convex polygon with respect to a line, which takes O (n log n) time. When the nominal line intersects the point’s zonotope, we compute the parameter values for which the point instances lie on the line or on either side of it. Let l be a line in closed form, y = ax + b and let v be an LPGUM point. The classification of the point instances depends on the value of q and is determined by: (¯ v + Av q)y < a (¯ v + Av q)x + b (5)   a (¯ v )x − (¯ v )y + a (Av )x − (Av )y q + b > 0 (6)

To compute the uncertainty envelope of an LPGUM line l (q), we sweep the values of α. Every value of α yields a zonotope, lα (q). While α changes, lα (q) traces out the line’s envelope. The sweep stops at values of α called events, where the envelope changes. The algorithm iterates over all the events, tracing out the uncertainty envelope segments, and finding new events. When the event queue is empty, the segments  2 are combined. The algorithm runs in O k log k time  2 and O k space. We identify three types of events:

This k-dimensional hyperplane, which cuts the hypercube in parameter space, partitions the point instances into points above, on or below the line.

1. Switch events occur at values of α where two lines of the cone diagram of the

point lα (q), coincide. To = 0. find the events, we solve, (Aα )i , (Aα )⊥ j 2. Flip events, occur at values of α for which a column vector (Aα )i equals zero. To find the events, we solve (Aα )i = 0 for α, for every column. 3. Twist events occur at α values for which the part of lα (q) in contact with the uncertainty  envelope changes. To find the events, we solve l q (i) = l q (j) for the two values of α, where q (i) , q (j) are neighboring vertices parameterizations on the zonotope lα (q). To move the zonotope from event to event, we connect points on the two zonotope boundaries with the same parameterization by a line segment. The swept segments generate a quadratic curve.

5.2

Relative position of two uncertain points

Given two points u (q) , v (q), we define the vector − → d~¯ = u ¯v¯ as the nominal direction from u to v. To see whether for a parameterization q the vector d~ (q) = −−−−−−→ − → u (q) v (q) is in the D opposite E direction to u¯v¯, we check ~¯ d~ (q) < 0. To determine whether to see whether d,

a direction flip can occur, we see if: 

min v¯ + Av q − u +¯Au q , v¯ − u¯ subject to: q ∈ ∆ q

is negative.

3

5.3

Relative position of three uncertain points

6

To determine whether a point w(q) in the plane lies to the left or right of the line from u(q) to v(q), we consider the determinant of the matrix   ux + (Au )x q uy + (Au )y q 1 M (q) =  vx + (Av )x q vy + (Av )y q 1  wx + (Aw )x q wy + (Aw )y q 1

This paper presents a parametric, first-order model for the geometric uncertainty of points and lines in the plane. The model is general, expressive, accounts for parameter dependencies and for asymmetric zones. We present the LPGUM of a point and a line in the plane and describe properties and algorithms to efficiently compute their uncertainty zones and to determine their relative position relations. In the future, we plan to explore the properties of uncertain convex hulls, Voronoi diagrams, and line arrangements, and develop efficient algorithms for their computation.

det (M (q)) is a multivariate quadratic expression (with qi as its variables) for which we must determine which of the following three cases holds.  1. ∃q (1) , q (2) ∈ ∆ such that, det M q (1) < 0 and  det M q (2) > 0, for some parametrizations w (q) is to the left and for others it is to the right. 2. ∀q det (M (q)) > 0, m (q) is always to the left. 3. ∀q det (M (q)) < 0, m (q) is always to the right. To decide the second case, which is the exact opposite of the third, we solve Eq. (7). If the constraint extremum on the determinant is > 0 the case holds. min det (M (q)) q

5.4

Subject to: q ∈ ∆

References [1] ASME Y14.5 Dimensioning and Tolerancing Standard, and ASME Y14.5M Mathematical Definition of Dimensioning and Tolerancing Principles. American Soc. Mech. Engs.,, New York, 1994. [2] S. Akella and M. Mason. Orienting toleranced polygonal parts. International Journal of Robotics Research, 19(12):1147–1170, December 2000. [3] J. Chen, K. Goldberg, M. Overmars, D. Halperin, K.F. B¨ ohringer, and Y. Zhuang. Computing tolerance parameters for fixturing and feeding. The Assembly Automation Journal, 22:163–172, 2002. [4] R.C. Brost and R.R. Peters. Automatic design of 3D fixtures and assembly pallets. In IEEE International Conference on Robotics and Automation, pages 495– 502, Minneapolis Minnesota, April 1996. IEEE Int. [5] J.R. Rossignac and A. A. G. Requicha. Offsetting operations in solid modelling. Computer Aided Geometric Design, 3(2):129–148, 1986. [6] J.-C. Latombe, R.H. Wilson, and F. Cazals. Assembly sequencing with toleranced parts. ComputerAided Design, 29(2):159–174, 1997. [7] S. Gupta and J.U. Turner. Variational solid modeling for tolerance analysis. IEEE Comput. Graph. Appl., 13(3):64–74, 1993. [8] U. Roy and B. Li. Representation and interpretation of geometric tolerances for polyhedral objects. ii.: Size, orientation and position tolerances. ComputerAided Design, 31(4):273–285, 1999. [9] D.E. Whitney. Mechanical Assemblies: Their Design, Manufacture, and Role in Product Development. Oxford University Press, USA, February 2004. [10] M. Giordano, E. Pairel, and S. Samper. Mathematical representation of tolerance zones. In F. van Houter and H. Kale, editors, Global Consistency of Tolerances, pages 177–186, Kluwer Academic Publishers, London, March 1999. [11] Y. Ostrovsky-Berman and L. Joskowicz. Tolerance envelopes of planar mechanical parts with parametric tolerances. Computer-Aided Design, 37(5), 2005. [12] Y. Ostrovsky-Berman and L. Joskowicz. Relative position computation for assembly planning with planar toleranced parts. The International Journal of Robotics Research, 25(2):147–170, 2006.

(7)

Uncertain point/uncertain line classification

To classify an LPGUM point v (q) with respect to an LPGUM line, l (q), we define two points on the line u (q) = lα1 (q) and w (q) = lα2 (q), α1 < α2 and solve the three point classification question above. If case (1) holds the point is on different sides of the line for different qs. If case (2) holds the point is to the left of the line; otherwise it is to the right. 5.5

Perpendicular bisector of two uncertain points

The perpendicular bisector of a segment connecting two uncertain points is defined as follows. Two LPGUM lines l (q) and m (q) are perpendicular to each other if for every parameterization t, l (t) ⊥ m (t). Let u (q) and v (q) be LPGUM points. An LPGUM point a (q) is said to divide the segment u (q) v (q) in the proportion λ ∈ [0, 1], if for any parameterization t, a (t) = λu (t) + (1 − λ) v (t). For λ = 12 , the point a (q) is the mid-point of the segment u (q) v (q). To compute the perpendicular bisector, we find the point at the center of the nominal segment:   u ¯ + v¯ Au + Av vmid (q) = q (8) + 2 2 To find the perpendicular to the line from u to v, we compute the vector d~ (q) = v (q) − u (q) and rotate it by π2 by rotating the nominal part and all column vectors of the sensitivity matrix. All rotations must be in the same direction. The perpendicular bisector to v (q) u (q) is: l⊥ (q) = vmid (q) + αd~⊥ (q)

Conclusion

(9)

4