• Aucun résultat trouvé

Lower Envelopes for Path Verification in Multi-Axis

Dans le document Mathematics and Visualization (Page 70-73)

1.7 Applications

1.7.3 Lower Envelopes for Path Verification in Multi-Axis

In a typical multi-axis NC-machining collision-avoidance problem we are given a rotating milling-cutter (also called atool), whose profile — with respect to its axis of symmetry — is typically piecewise linear or circular, moving in space among polyhedral solids bounded by triangular facets. These triangles model the workpiece sculptured by the tool as well as other static parts of the NC-machine [277]. Our goal is to verify a given motion path for the tool between two given configurations,23so it can move near the workpiece without damaging it or any of the other static parts of the machine.

The path-verification problem was addressed by many researchers (see, e.g., [348, 211]) but most proposed algorithms are based on various approxi-mation schemes or pose certain restrictions on the shape of the tool. However, two recent papers by the same group of authors offer a novel approach for path verification, based on exact geometric computations. In [213] it is shown how to answer a single tool–model interference query, when the tool remains static at a given configuration, by computing the lower envelope of algebraic arcs

23In the NC-machining literature, a configuration is often referred to as acontact location (CL) point, as the tool tip is typically in contact with the workpiece, and this is the only type of contact that we allow.

of degree 2.24We assume, without loss of generality, that the tool tip is posi-tioned at the origin with thez-axis being its axis of symmetry. We now wish to locate all the closest model triangles to the z-axis. This is performed, tak-ing advantage of the symmetry of the rotattak-ing tool, by radially projecttak-ing the relevant model triangles around thez-axis onto theyz-plane, i.e., by applying a transformationR:R3R2 such that (ˆx,y) =ˆ R(x, y, z) = (z,

x2+y2).

The image of a triangle under R is the trace that the triangle etches on the yz-plane (more precisely, on the half-plane y >0) when rotated around thez-axis. It is possible to show that the trace of the triangle is determined by the projected curves that result from applyingRon the triangle edges — these are finite arcs of canonical hyperbolas — plus (possibly) an additional line segment in the ˆxˆy-plane.

It is now possible to compute the lower envelope of the set of hyperbolic arcs and line segments obtained from the triangles. This is carried out using an extension ofCgal’s arrangement package (see Sect. 1.4.1) that computes the lower envelope of any set of curves in a robust manner, using the divide-and-conquer approach, combined with the traits class designed for conic arcs (see Sect. 1.4.2). Finally, it is possible to perform a simultaneous traversal over the lower envelope and the tool’s profile along the ˆx-axis (which corresponds to the original z-axis) and compare the two entities. If at some point the profile lies above the lower envelope, we conclude that there is a collision between the tool and the model and identify the triangles that are intersected by the tool; see the example depicted in Fig. 1.21 for an illustration. If we haventriangles, the total running time isO(2α(n)nlogn+m) wheremis the number of segments in the tool’s profile, andαdenotes the inverse Ackermann function.

The lower envelope approach is generalized in [335], where it is used to im-plement acontinuous path verification scheme for multi-axis NC-machining, that is, to detect collisions between the model and the tool while the latter continuously moves along some given path. The tool-path is approximated by a sequence of sub-paths of pure translational motions interleaved with pure rotational motions, guaranteeing that the approximation error is bounded by some prescribed ε. Each sub-path is separately verified.

It is possible to apply the appropriate transformation, with respect to each sub-path, that ensures that the translation (or rotation) in the sub-path is taking place on the xz-plane. We now assume that the tool is fixed, such that the tip of the tool is always positioned at the origin with the z-axis being its axis of symmetry, and the model is moving. The radial projection of any segment (triangle edge) in the model around the z-axis is therefore continuously changing. Thus it creates a surface patch σ of a terrain ˆy = ˆ

y(ˆx, τ) in the ˆxˆyτ-space, whereτparametrizes the motion in the corresponding

24Given a set of planar curves, we can regard eachx-monotone curve as the graph of a continuous univariate function defined on an interval of the x-axis, such that the lower envelope of the set is the point-wise minimum of these functions.

Fig. 1.21.The profile of a complex tool containing 5000 segments (drawn in a thick dark line) as it interferes with the lower envelope of a set of about 800 hyperbolic arcs and line segments obtained by radially projecting the model triangles around the tool’s symmetry axis

sub-path. The key observation made here is that we are only interested in the

“lowest” points in this surface patch, the ones closest to the z-axis. To this end, we compute the silhouette25 of the patch σ, which is a planar curve in the ˆxˆy-plane, defined as

silσx) = inf

τ y(ˆˆx, τ). (1.3)

It is now possible to compute the lower envelope of the silhouette curves of all relevant triangle edges and to proceed as we did in the discrete case.

However, we now have to inflate the profile of the tool byεbefore comparing it with the lower envelope, in order to account for the approximation error caused by our path decomposition scheme.

In [335] it is shown that the silhouette of a line segment (representing a triangle edge) in case of a pure translational motion is comprised of at most five hyperbolic arcs, so in this case the continuous collision check is asymptotically as fast as the discrete query using the exact-computation mechanisms. Things get more complicated for rotational motions, but in this case one can obtain a good approximation of the silhouette curves using rational arcs of a relatively low degree.

The collision-detection algorithms were implemented in theIritmodeling environment [7], while the lower-envelope calculations and the comparison of the envelope with the tool profile were carried out with a recent extension to theCgalarrangement package [334]. It should be noted that the hyperbolic arcs we encounter are portions of canonical hyperbolas with the ˆx-axis being their major axis. Thus, the intersection points between each pair of hyperbolic

25The silhouette is often referred to as theenvelope. To avoid confusion with lower envelopes of finite sets of curves, we stick with the term silhouette.

arcs can actually be computed by solving only quadratic equations. This fact not only simplifies the code that handles the geometric constructions and predicates for our planar curves, but also helps in significantly reducing the running time of the algorithm.

1.7.4 Maximal Axis-Symmetric Polygon Contained in a Simple

Dans le document Mathematics and Visualization (Page 70-73)