数控车床自动回转刀架英文文献以及翻译

更新时间:2024-05-09 04:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Boolean operations for 3D simulation of CNC machining of drilling tools Dani Tost*, Anna Puig, Llu?′s Pe′rez-Vidal

Software Department, Polytechnical University of Catalonia, Spain Accepted 25 April 2003

Abstract

This paper addresses the simulation of drilling tools CNC machining. It describes a novel approach for the computation of the boundary representation of the machined tools. Machining consists of a sequence of Boolean operations of difference between the tool and the grinding wheels through time. The proposed method performs the dynamic Boolean operations on cross sections of the tool and it reconstructs the 3Dmodel by tiling between the cross sections. The method is based on classical computational geometry algorithms such as intersection tests,hull computations, 2D Boolean operations and surface tiling. This approach is efficient and it provides user control on the resolution of the operations.Abstract This paper addresses the simulation of drilling tools CNC machining. It describes a novel approach for the computation of the boundary representation of the machined tools. Machining consists of a sequence of Boolean operations of difference between the tool and the grinding wheels through time. The proposed method performs the dynamic Boolean operations on cross sections of the tool and it reconstructs the 3Dmodel by tiling between the cross sections. The method is based on classical computational geometry algorithms such as intersection tests,hull computations, 2D Boolean operations and surface tiling. This approach is efficient and it provides user control on the resolution of the operations.

q 2003 Elsevier Ltd. All rights reserved.

Keywords: CNC simulations; Bores machining; Computational

geometry; Boolean operations; Surface tiling

1. Introduction

Most of the research on CNC in CAD is centered on theautomatic computation of tool paths [5,13]. Given a final tool design, the optimal trajectories of the tool and the grinding wheels must be computed yielding as final result the CNC code. Machining simulation and verification hasexactly the opposite goal: to calculate the tool starting from the CNC code and from a geometrical model of the machine, the wheels and the tool before machining. This simulation has three main applications [6]. First, it detects eventual collisions between the tool or any of the grinding wheels and the rest of the machine. It is important to avoid collisions because serious damages to the machines can follow. Next, simulation provides a means of visually verifying the efficiency of the trajectories, which may result in faster and cheaper processes. Finally, the simulation allows users to check if the surface of the resulting tool is effectively the desired one. In the routine practice of machining, experienced operators have enough skills to imagine the tool final shape by only reading the CNC code.

However, they are generally not able to do so with new or non-standard designs. Therefore, the use of a simulation system decreases considerably the tool production cost because it avoids the trial and error process on the real machine with costly materials that is otherwise necessary.

This paper addresses a particular type of CNC machining simulation: the grinding of bores and cutters. Conventional CAD systems do not provide a means of realizing this type of simulations and specific applications are needed. Until recently, most of the

simulation applications dealt only with the machining of 2D cross-sections of the tools and they were restricted to the main fluting operation [3]. Three dimensional applications are rather recent [4,23]. They provide a machining simulation for specific 5-axes machines and they are not applicable to general movements. This paper presents a novel approach for the computation of the external shape of the tools through a sequence of coordinated movements of the tool and the wheels on machines of up to 6-axes. The proposed method reduces the 3D problem to 2D dynamic Boolean operations followed by a surface tiling. The 2D solution involves different techniques of planar computational geometry: from intersections to hull computations.

The paper is structured as follows. In Section 2 we review previous approaches on machining simulations.Section 3 describes briefly the contour conditions of the simulation. Finally, Section 4 describes the computation of Boolean operations and the results of the implementation are shown in Section 5.

2. Previous work

Machining can be considered a dynamic Boolean operation of difference between the grinding wheel and the tool. It is dynamic, because both the tool and the wheels move along time through rotations and translations.

The Vector Cut [8,10], is probably the most referenced numerical control simulation method. It is an approximate solution that represents the frontier as a set of points and normal vectors that will be cut along the path of the grinding wheel. This method is effective for the simulation of sculptured surface polishing, but it is not extensible to complex motions of the tool and/or the grinding wheels. It is mainly useful to detect mistakes in the path suggested

by the presence of abnormally high or small cut vectors. Besides, except for the extension of Ref. [16], it does not yield directly a model of the bit to be machined.

An alternative strategy for machining simulation consists of realizing a sequence of 3D static Boolean operations through time. The main drawback of this strategy is its high computational cost. According to Ref. [11], this is proportional to the number of discrete positions to the fourth. This puts it out of question, in practical terms.Another problem it shows is the granularity of the temporal discretization : it must be very fine if precision in the final tool is required. This means that very little material is cut off in each Boolean operation, and that may entail robustness problems in the computations. A possible method to avoid both problems is to discretize the initial tool model into a voxel or an octree model, [20], to perform all the sequence of Boolean operations on the discrete model and then reconstruct the machined surface, at the end. This approach benefits from the fact that the cost of discrete Boolean operations is much lower and the reconstruction phase at the end of the process is done as late as possible. This option requires the sequence of movements to be specified in terms of relative motion of the grinding wheel, while the tool and its discretization remain fixed. This prerequisite is not always valid and, in particular, it does not hold for the general case of 6-axes machines.

Finally, another option taken into account is that of the computation of the volume swept by the tool and the grinding wheel in their motions. A geometric representation of this volume would allow performing only one Boolean difference operation between the two volumes. The main difficulty of this option is the computation of sweptvolumes. There are several references [1,2,21] on this subject, that contain methods generally applied in CAD for extrusions, collision

detection, and other problems but none of them can be applied to the non-trivial case of simultaneous motion of the two solids in play.

The strategy proposed herein overcomes the disadvantages of these methods. It consists of a double discretization of four dimensional space (3D t time) that reduces the general problem to a sequence of 2D Boolean operations and 3D geometric reconstructions. This algorithm is fast and it provides user-control on simulation accuracy.

3. Scene model

There are different types of machine tools for the fabrication of bores and cutters. They share the same general structure but they differ in the number of degrees of freedom. The method proposed herein deals with machines up to six degrees of freedom. These machines have a static vertical axis (Z in Fig. 1 on which the grinding wheel set can move up and down. One tool is placed on a spindle (the toolholder), that may translate on three axes (X; Y and U) and rotate on two axes (W in relation to the wheel axis and A relative to its own axis). At the beginning of the process, a tool has a piecewise cylindrical or conical shape. Its final shape is the result of a sequence of machining operations consisting of simultaneous movements of the tool and the wheels. The wheel shape is also piecewise cylindrical or conical. It remains unchanged during the process.

The machining process is divided into a set of operations, each one with a specific name in CNC jargon. Each operation is performed using a specific wheel. This information is written in the CNC file.

Specifically, the main operations are (in their usual order):

Fig. 1. 6-Axes machine tool.

Fig. 2. Machining operations on a tool.

* Fluting: performing the lateral helicoidal of straight grooves

* Gashing: cuts in the tool head

* Outer diameter sharpening: edge sharpening of the lateral grooves

* End face sharpening: edge sharpening of the tool head cuts * Notching: direct cut in the tool head.

Fig. 2 shows a real bore and it indicates the operations that have given its shape.

Each operation performs several symmetrical cuts in the tool shape. The tool shown in Fig. 2, for instance, has three lateral grooves realized during the ‘Fluting’ operation. Each cut is performed through a sequence of movements. In the CNC code, each movement corresponds to a line instruction specifying the motion axes (X; Y;U; A; or W for the tool and Z for the wheel) along with the amount of rotation or translation to be performed for each edge.

4. Machining simulation

4.1. Overview

Our approach uses the fact that the tools have a tubular shape. It consists of discretizing the tool in axial sections, performing the machining

operations

on

these

crosssections

and

finally,

reconstructing the surface of the tool by tiling between cross-sections. Before machining, the cross-sections are circles. Afterwards, they have a complex shape that may even have been split into separate connected shells at the tool end.

The movements are divided into blocks, each one corresponding to an CNC operation or even to one cut within an operation. The machining process is performed sequentially for each block. Therefore, as many intermediate models are created as instruction blocks exist. The initial tool is taken as input of the first machining process. The

resulting tool is used in the second block processing and so on. The surface reconstruction step can be performed on any of these intermediate models or, alternatively only on the last one.

Therefore, the simulation process of each instructions block is composed of two steps:

* A 2D Boolean operation process, that receives as input: (i) the tool representation, (ii) the machining wheel representation, (iii) a list of movements and that gives as output a new representation of the tool cross-sections.

* A tiling process that completes the tool representation with the triangulation between contours.

The second step, surface tiling, is a classical subject in computer graphics [14]. It consists of two related problems: (i) establishing correspondences between contours (branching problem) and (ii) searching correspondent vertices to form tiles (correspondence problem). Several solutions have been published to solve both problems based on minimizing the distance between successive contours [7,17] and interpolating in between contours [12]. The method used herein is an extension of these algorithms that adds to these criteria the constraint of tiling between segments of the contour corresponding to the same machining operation. This extension is described in depth in Ref. [22].

4.2. Machining of the tool cross-sections

The computation of the new shape of tool cross section consists of three steps:

* Computation through time of the intersections of the wheel cross sections and the external contour of the tool section. Both

sections are circular and, due to their relative orientation, their intersection is a segment. Therefore, the result of this step is a set of segments.

* Calculation of the hulls of the segments set. These hulls are polygonal approximations of wheel cuts on the tool section.

* Reconstruction of the tool cross section contour given its original shape and the hull curves.

The pseudo-code algorithm below illustrates this process. Let st be the tool cross section at the beginning of the process, where the wheel and ml the movements list. The wheel is discretized into a set of circular cross-sections switch (procedures FirtSectWheel and NextSectWheel). The movement of switch and st is decomposed into a a set of successive positions (inner loop). For each position, the intersection between sw and st is computed in the procedure InterSect. If there is intersection, then the corresponding segment segm is stored in the segments list seglist. Then, the geometry of st, sw and seglist is updated to next positions in the procedure UpdateGeom. The position of st is reset at its initial location for each new wheel section. After all the wheel sections have been processed, the hulls of the segment list are computed in CompHulls and then clipped against the initial contour of st with the procedure Reconstruct.

procedure CrossSection Machining(st: tSection,wh: tWheel, ml: tMovList)

var

sw: tSection segm: tSegment seglist: tSegmentList

hulls: tHullList fvar

InitSegList(seglist) sw U FirstSectWheel (wh) while ValidSection(sw) do endo f mov U FALSE while : endo f mov do

InterSect(st,sw, &segm, &status)

if status ! InsertSegment(segm, seglist) endif UpdateGeom(ml, &st, &sw, &seglist, &endo f mov) endwhile

sw U NextSectWheel(wh,sw) ResetToolPosition(&st) endwhile

CompHulls(slist, &hulls) Reconstruct(hulls, &st) fprocedure

4.2.1. Updating geometry

Each movement instruction is realized at constant speed. Therefore, a movement can be decomposed into n constant intervals of translation in X; Y; Z and U along with rotation in W and A : δA=ΔA/n,δW=ΔW/n,δX=ΔX/n,δY=ΔY/n,δU=ΔU/n andδZ=ΔZ/n.

As mentioned in Section 3, a line movement can be composed of several simultaneous instructions. Most of the tool movements are composed of translations and axial rotations, which are independent. Therefore, the order in which the update of each movement is done is irrelevant. However for conical tools with a round end called ‘ball nose’, simultaneous axial translations and column angle rotations are necessary. These two movements are obviously not independent. This

can be a source of error (Fig. 3) because the real machine rotates the tool column angle at the same time as it translates it along its axis, while in the simulation, for each time interval, the tool is first rotated and next translated along its axis. However, in these cases the original CNC is already decomposed as a set of very small movements with a resolution very similar to the one needed in the machining. Therefore, these movements are not further decomposed in the machining.

The global coordinate system in which the geometry is expressed along time is sketched in Fig. 4. The axis coincide with the machine axis X; Y and Z at the tool home position at the beginning of machining. Let ct(xtk, ytk;,0.0)be the coordinates of the tool section center at instant k: The components of the normal vector of the section are ntk(nxtk, nytk,0.0). It should be noted that nxtk =cos(ωk) and nytk= sin(ωk); being vk the column angle of the tool at instant k: The updated values of these coordinates at k +1.

Fig. 3. Non equivalent transformations

.

Fig. 4. Coordinate system, axes and motion.

5. Conclusions and future work

This paper describes a novel method for the simulation of drilling tools CNC machining. Our approach simplifies the 4D (space t time) Boolean operations between the tool and the wheels by reducing them to a sequence of intersections between 2D perpendicular cross-sections along time. Specifically, the method discretizes the toolinto cross-sections and simulates machining on the cross sections. Next, the shape of the tool is recomputed by tiling between contours. The primary advantage of this approach is its simplicity. It addition, it provides user-control on the resolution of the simulation: spacing between crosssections as well as time interval between consecutive intersections.

Starting from this work, new research and development lines are opened. Specifically, we are working on global pipelines that would put into the same process automatic CNC computation and tool verification. With such pipelines, given a final tool description, the

CNC code to create it would be automatically computed, next using the CNC code as input, tool machining would be simulated. Finally, differences between the input and the output model could be computed and shown.

钻探工具数控加工三维仿真的布尔运算 摘 要

本文旨在对钻探工具数控加工的仿真研究。文章描述了一种新的估算机械工具表现范围的方法。加工包括一系列器械和磨轮之间因时间而产生的差异的布尔操作。该方法执行动态布尔运算工具截面和它重建3Dmodel截面之间的瓦片。这种方法是建立在交叉测验、船体计算等古典计算几何算法之上的。该方法很有效率且能提供给使用者对操作分辨率的控制。

关键词:数控仿真 钻孔加工 计算几何学 布尔数学体系操作 外观铺瓦

1. 序言

数控的CAD研究大多是集中于自动计算刀具路径[5,13]。考虑到最终工具设计,该工具和砂轮的最佳轨迹必须加以计算以产生数控代码。加工仿真和验证有着完全相反的目标:在加工之前从数控代码和机械、车轮及器械的几何模型开始计算器械。该仿真包括三个主要的应用。首先,它检测器械或任意磨轮与机器的其余部分之间可能的碰撞。避免碰撞非常重要因为随之而来的将是对机器严重的损害。其次,仿真提供了一个可视化的手段验证轨迹的效率,这可能产生速率更快成本更低的进程。最后,仿真使使用者能够检查最终产生的器械外观是否恰是需要的那种。在加工的日常实践中,经验丰富的操作者有足够的技能仅通过阅读数控代码来想象工具的最终形状。

然而,他们在新型或非标准化设计中一般都无法做到这些。因此,使用仿真系统大大降低了刀具生产成本因为它避免了在关于实际机器的试验和错误的过程中昂贵的材料的不必要的浪费。本文重在研究数控加工仿真的一种特定类型:孔和刀具的磨削。常规CAD系统不提供实现这种仿真类型的手段,因此,需要特定的应用程序。到目前为止,大多数的仿真应用只涉及工具的2D横截面的加工且他们的加工仅限于主要的开槽操作[3]。而最近的三维应用程序则不同 [4,23]。他们为特定的5轴机器提供加工仿真,并不适用于一般运动。本文提出了一种新方法:通过一系列6轴机器的工具和车轮上的协调动作计算工具的外部形状。该方法将3D问题变为表面铺瓦的二维动态布尔运算。 2D解决方案涉及从十字路口到船身计算的不同平面计算几何的技巧。本文结构如下:在第2节回顾以往关于加工仿真的方法。第3节简要介绍了仿真的大致情况。最后,第4节描述

了布尔操作的计算,第5节展示了实现的结果。 2.以前的工作

加工可以认为是一个动态的砂轮与工具之间的差异的布尔操作。说它是动态的,是因为工具和车轮都是通过旋转和平移沿着时间移动。矢量切割[8,10],可能是最有参考价值的数控仿真方法。这种近似的解决方案代表了沿着磨轮路径切割的一系列点及常规向量的前沿。这种方法对有刻纹的表面抛光的仿真很有效,但它对工具或砂轮的复杂运动无法扩展。其主要用于检测路径中存在的异常高或小的切向量的错误。此外,除文献[16]的延伸,它不会直接产生可加工的位模型。加工仿真的替代战略是通过时间实现三维静态布尔操作序列。这一战略的主要缺点是它的高计算成本。据文献记载[11],这与离散位置数量成四的正比。而就实际情况考虑,这不成问题。它所显现的另一个问题是时空离散的粒度:如果最后的工具需要精度,它就必须非常精细。这意味着在每个布尔操作过程中很少材料被切断,且必须承担在计算过程中可能带来的粗鲁性的问题。避免这两个问题的一种可能的方法是将初始的工具模型离散成一个三维像素或八叉树模型[20],对离散模型进行一系列的布尔操作,最后重建机器表面。这种方法得益于这一事实:该进程最后的重建阶段越晚,离散的布尔操作成本就越低。该方法需要根据砂轮的相对运动而指定的一系列运动,与此同时刀具和其离散保持不变。这个前提不总是有效的,尤其是,它并不能控制6轴机器一般情况。最后,另一种可考虑的选择是工具和磨轮在它们的运动中横扫的体积的计算。该体积的几何表示将仅表现一个两种体积之间的布尔差异操作。此方法主要的困难是扫频体积的计算。关于此主题有一些参考[1,2,21]包含一般应用于CAD挤压的方法,碰撞检测,以及其他问题,但没有一种可以应用到两个固体同时运动的不一般的情况。本文提出的策略克服了这些方法的缺点。它由双离散四维空间(三维时间)组成,可减少由一系列2D布尔运算和三维几何重建导致的的一般问题。该算法很快速且它使用户可以控制仿真精度。

3. 场景模型

制造孔和刀具的机器有不同类型。它们有相同的总体结构,但自由度不同。此处提出的方法是处理关于六自由度的机器的问题的。这些机器有一个静态垂直

轴(图1中的Z其上的砂轮可上下移动。被放置在一个主轴(刀架)上的工具,可能在三个轴(X,Y和U)上调动,在两个轴(与轮轴相关的W轴和与它自己的轴相关的A轴)上旋转。在这一过程的开始,工具有一个分段的圆柱形或圆锥形。其最终形状是一系列由工具和车轮同步动作组成的加工操作的结果。车轮的造型也是分段圆柱形或圆锥形。在这个过程中它保持不变。加工过程被分为一系列操作,每个操作在数控专业术语中都有一个特定的名称。每个操作使用特定的车轮进行运作。该信息被写入数控文件中。具体来说,主要操作是(按其通常顺序排列):图

图1。6轴机床。

图2。加工操作的工具。

2. 加工操作的工具。

*开槽进行直沟槽横向螺旋 *Gashing:用工具头削减 *外径锐化:横向沟槽的边缘锐化 *端面刃磨:工具头削减的边缘锐化 *切角:直接用工具头切。

图2显示了一个真正的孔和使其成形的操作。每个操作进行行若干对称的削减以使刀具成形。举例来说,图2中所示工具有三个通过开槽操作实现了横向沟槽。每次切割通过一系列动作进行。在数控代码中,每一个动作都对应一行指令指定,该指示明确了运动的轴心(X,Y;U;或工具轴W和轮轴Z)以及每个边缘旋转或转化的数量。

4。加工仿真 4.1 综述

我们的方法遵循工具有一个管状形状这一事实。它包含在轴截面离散工具,在横截面进行加工操作,最后,通过在横截面之间铺瓦重构工具的表面。加工前,横截面是圆的。此后,他们有一个复杂的形状,甚至在工具末端可能已被分成单独的连接外形。这些运动分为几块,每一个变动甚至在操作中的一个切割都有相应的数控操作。加工过程由每块运动按顺序进行。因此,有多少指令块存在就有多少中间模型创建。初始工具作为第一个加工过程中的输入,产生的工具应用于第二块加工过程,依次往下。表面重建的步骤,可以在任一中间模型中进行,或者也可以只对最后一个。

因此,每个指令的仿真过程由两个步骤组成:

*二维的布尔操作过程中,作为输入接收:(一)工具的代表,(二)加工轮表示,(三)动作列表,并且给出了一个作为输出的新的工具截面表示。 *一个通过等高线之间的三角完成工具表示的平铺过程。

第二步,表面贴砖,是计算机图形学一个经典的主题 [14]。它由两个相关的问题组成:(一)建立等高线之间的一致(分支问题)和(二)搜索形成铺砖的一致的制高点(一致问题)。多种解决方案已提出,用于解决最大程度缩短连续等高线[7,17]和在等高线之间插入线[12]之间距离的问题。本文所采用的方法是对这些算法的扩展,增加了这些与同样的加工操作相配的等高线分部之间的铺瓦约束的标准。这个扩展具有很高的参考价值。[22]。 4.2 工具截面加工

新工具截面形状的计算包括三个步骤:

*通过车轮截面和工具截面的外部轮廓的交点时间计算。这两个部分是圆形的,由于其相对的方向,他们的交集是一个段。因此,这一步的结果是一组段。 *段集船体的计算。这些船体是在工具截面削减的车轮的多边形近似值。 *给出其原来的形状和船体曲线的工具截面轮廓重建。

下面算法的伪代码演示了这个过程。

在过程伊始,用ST表示工具截面,WH表示车轮,ML表示动作列表。车轮离

散成一系列循环截面SW(Cartwheel和NextSectWheel程序)。SW和ST的运动分解成一系列连续定位(内环)。对于每个位置,用InterSect 程序计算SW和ST之间的交叉。如果有交集,那么相应的段存储在段列表seglist中。然后,用 程序UpdateGeom将ST,SW和seglist的几何学更新到下一个位置。ST的位置是在每个新的轮节的初始位置重置。在所有的车轮截面加工之后,用CompHulls计算段列表的船体,然后用Reconstruct程序裁剪ST的初始等高线。 4.2.1 更新几何

每一个动作指令均以恒定速度实现。因此,运动可以分解成n常数在X; ?;Z之间转化的间距和u沿W和A旋转:dA ? DA=n; dW ? DW=n; dX ? DX=n; dY ?DY=n; dU ? DU=n and dZ ? DZ=n.

正如在第3节提到的,直线运动可以由几个同时指令组成。大部分刀具运动由调动和轴向旋转组成,这是独立的。因此,每一个动作的更新的完成的顺序是互不相干的。然而对有着圆形末端被称为“球的鼻子”的锥形工具 ,必须同时进行轴向调动和柱角轮换。这两个动作显然不是独立的。这可能是一个错误的来源(图3),因为真正的机器旋转工具柱角的同时沿其轴线调动,而在仿真中,对于每个时间间隔,该工具是第先沿轴线旋转随后才沿轴调动。然而,在这些情况下原数控已经分解为一组非常小的变动,其分辨率同加工中所需要得非常相似。因此,这些运动在加工中没有进一步分解。

图 4勾勒出全球坐标系中的几何沿时表示。轴与机轴X,Y和Z在开始加工时工具位置一致。用ctk(xtk, ytk,0.0)表示工具截面中心为即时?时的坐标:节的正常向量的组成部分为ntk(nxtk,nytk,0.0)。应当指出,nxtk=cos(vk)跟nytk=sin(vk);是VK的工具列角即时K:这些坐标更新的值k+1 。

图3。非等效变换。

图4。坐标系,轴和运动。

5. 总结与之后的工作

本文介绍了一种钻井工具数控加工的仿真的新方法。我们的做法,通过减少2D垂直横截面之间沿时间而进行的一系列交叉,简化了工具与车轮之间的四维(空间时间)布尔运算。具体来说,该方法离散了工具截面且仿真了交叉截面的加工。接下来,通过等高线之间的铺瓦重新计算工具的形状。这种方法的主要优点是其简单性。它额外提供用户控制仿真分辨率:横截面之间的间距以及在连续交叉之间的时间间隔。开始从这项工作,新的研究和发展是开放。具体来说,我们正在对全球管道进行研究,将其放到与自动数控计算和工具验证相同的过程中。有了这样的管道,输入最终工具的描述,创建它的数控代码会自动计算,紧

接着将数控代码输入,刀具加工将会仿真。最后,输入和输出模型之间的差异就会计算和显示出来。

本文来源:https://www.bwwdw.com/article/9yag.html

Top