三角网格曲面环形刀五轴加工宽行距刀具路径生成方法

2021-06-09 09:50陈良骥马龙飞
农业机械学报 2021年5期
关键词:面片曲率触点

陈良骥 赵 波 马龙飞 高 飞

(天津工业大学机械工程学院,天津 300387)

0 引言

应用计算机辅助设计与制造(CAD/CAM)和计算机数控(CNC)技术加工复杂零件时,需获得零件待加工曲面的精准数学模型,在此基础上还需生成高效、高精度的加工刀具路径。在各种曲面数学模型中,参数化样条曲面已较早地被应用于产品的数字建模领域。参数曲面数控加工刀具路径生成方法存在以下共性问题:涉及主曲率、法曲率等诸多数学计算,这其中又涉及参数曲面的多阶偏导运算,使这类方法的计算任务量较大;在切触区域以外的较远端区域不能较好地研究刀具与参数曲面间的干涉与碰撞问题。

近年来,随着精密测量仪器及图形处理器技术(GPU)的发展,对零件待加工表面进行精密测量及快速逆向数据处理后,可将其表达为三维点云数据集的形式,并可按一定的规则最终形成零件表面的三角网格曲面[1-3],由此产生面向三角网格曲面的刀具路径生成方法。现行三角网格曲面数控加工刀具路径生成方法主要包括平行截面法(截平面法)、改进的截平面法、拟合参数曲面法[4-5]。陈甜甜等[6]基于三角网格的Loop细分,使用截平面法获得球头刀的刀具轨迹,但这种方法获得的刀具轨迹的总长度较大,加工效率较低,且仅适用于三轴数控加工。ZHANG等[7]提出了基于局部剖分的三角网格刀具路径生成算法,但该算法不能对刀具进行倾斜调整,无法计算出刀具姿态角,因此只能用于三轴数控加工。黄琴[8]提出了一种适用于三轴数控加工的等误差参数法,可生成三角网格曲面的刀具路径,但同样存在加工效率较低、不能调整刀具倾斜角等问题。在三角网格曲面五轴数控加工刀具路径生成方面,已有不少研究成果[9-15]。

目前,基于三角网格曲面的刀具路径生成较多采用了球头刀截平面法,该方法虽可将刀触点路径的生成计算简化为求取平面与三角面片交线的计算,也可简化球头刀刀具路径的计算过程,但由于球头刀刀具姿态的调整与加工行距的改变并不密切,导致无法实现变行距的刀具路径生成,生成的刀具路径加工行距较小、加工路径总长度较大,直接影响了曲面的数控加工效率。

针对现行方法存在的问题,本文提出一种面向环形刀的变行距刀具路径生成方法,以加工残留高度为约束条件,以刀触点处获得最大切削宽度为优化目标,对三角网格曲面与刀具接触的局部进行分析,以期实现对环形刀刀具姿态角的优化调整,提高三角网格曲面的数控加工效率。

1 三角网格曲面分析

1.1 三角网格文件拓扑重建

标准的STL文件输出的信息为每个三角面片的3个顶点坐标值以及每个面片所对应的单位法矢。但由于STL文件中三角网格的存储信息是紊乱无序随机排列的,而后续工作需要频繁利用到各信息间的关系,所以需重新建立三角网格信息的拓扑关系。

建立点表(Vertex)。保证无重复地将每个点的信息都储存在点表中,其中点表中每个点的信息包含有此点的序号及其坐标值,点的序号即所建立点表的行号。

建立面表(Face)。保证无重复地将每个三角面片信息储存在面表中,面表中每个三角面片的信息包含有构成该三角面片的3个顶点序号和该面片的序号,面的序号即所建立面表的行号。

建立面法矢表(Normalf)。保证每个三角面片的法矢量都无重复地储存在面法矢表中,法矢表的行号即其所对应的面的序号。

假定以点V1为公共顶点的三角面片有A、B、C、D、E,每个三角面片的3个顶点和法矢量如图1所示,据此可分别建立用于存放面片、顶点、法矢量数据信息的面表、点表和面法矢表数据信息存放模式。

1.2 初始刀触(CC)点的求取

对于三角网格曲面的五轴数控加工而言,刀具路径的生成始于刀具与曲面切削接触点(即刀触(CC)点)坐标的计算。曲面的三角网格上CC点坐标的计算通常采用求交计算的方法,如图2所示。

为确定某条刀触点轨迹在整个三角网格上的具体位置,需锁定该轨迹上每个刀触点所对应三角面片的具体索引位置,提出一种合理有效的求交算法,以便可以在无序排列的三角网格表面上求得所需的交点坐标。

在进行求交计算时,由于三角网格数据无序的特性,简单使用遍历的索引方式其搜寻计算速率必然缓慢。使用高维空间索引结构KdTree来对拓扑重建后的三角网格数据进行分割。

沿模型Y方向将其划分为n个矩形区域,得到分割网格参数Face_divide、Vertex_divide。X方向与之同理,即X方向将其划分n个矩形区域。划分区域数量n依照以下分割网格原则:对网格顶点数据进行Kd空间树划分。从模型边界开始,使用垂直于水平面的截平面与网格模型求交(求交时使用的面表与点表为包含模型所有数据的Face、Vertex表),得到一系列三角网格曲面上的交点,以2倍刀具直径为搜索半径对这些点使用Kd范围搜索,寻找此范围内的所有三角网格顶点坐标,剔除重复点后得出一组分割网格参数Face_divide、Vertex_divide。以此类推直至将整个模型覆盖,得到n个网格分割区域。

求交计算步骤为:

(4)由于三角形的每条边被2个三角形所共用,因此会造成数据冗余。此时进行重复性判断,若产生重复交点,则舍去。

(5)得到交点,并建立求交三角形索引表,此时可以由面法矢表(Normalf)获取其所对应的面法矢。

1.3 刀触点沿行距方向的曲率计算

在三角网格曲面中,获取刀触点处沿各方向上曲面的曲率信息对刀具路径的生成有着至关重要的作用,其中本文涉及计算的曲率为与刀触点轨迹线垂直方向(即行距方向)上的曲面曲率。

由1.2节中的求交算法可知,刀触点可能正好是网格顶点或位于三角面片的某条边上。网格顶点即为刀触点的情形计算过程比较简单,若刀触点位于网格顶点,此时可以直接输出此点坐标,而其单位法矢量可由公式直接求得。但刀触点位于三角面片某边上的计算过程却比较复杂,本文将主要分析刀触点落在三角面片边上时的情形。

如图3所示,设CCi+1,j和CCi-1,j为CCi,j前后相邻的刀触点,3点共同构成局部刀触点轨迹线,Ti,j为通过刀触点CCi,j并垂直于CCi-1,j与CCi+1,j连接线的垂平面,平面Ti,j的单位法矢量为

(1)

设矢量d为当前刀触点轨迹线Si,j={CCi,j|i=1,2,…,n}相对于下一条相邻刀触点轨迹线Si,j+1={CCi,j+1|i=1,2,…,n}的行距方向的单位法矢量,则d计算式为

d=zl/|zl|

(2)

式中z——工件坐标系Z轴方向的单位矢量

由于三角网格曲面仅直接给出所有三角面片的法矢量,而所有顶点处不直接给出法矢量,只能通过间接方式近似求得。在计算机图形学中,通常是以顶点相关联的方向矢量来替代几何表面的真实几何法线。据此,可通过计算与顶点有关的所有三角面片的法矢量取平均值后再进行归一化处理获得。

如图4所示,fk为一个三角面片,Vi、Vi+1为三角面片fk的2个顶点,Nfk为三角面片fk的面法矢量,ni为待求网格顶点Vi处曲面的单位法矢量。

可先构建网格顶点Vi的一阶邻域,使用相关三角面片的面积进行加权求和的方法来计算网格顶点Vi的法矢量,计算式为

(3)

式中F——三角面片表(Face)

Afk——三角面片fk的面积

三角网格曲面的网格顶点处曲率需构造出该点的一阶邻域信息来进行估算。主要利用Taubin提出的理论[16]计算曲面的第二基本形式,通过求解矩阵计算曲率。

由欧拉公式可知,对于曲面上任意给定的点vi,沿矢量Tθ方向的曲率kvi(Tθ)为

kvi(Tθ)=kmaxcos2θ+kminsin2θ

(4)

其中

Tθ=Tmaxcosθ+Tminsinθ

(5)

式中kmax、kmin——点vi处的最大和最小主曲率

Tmax、Tmin——点vi处最大和最小主曲率对应的最大和最小主方向矢量

θ——矢量Tθ与点vi处kmax对应最大主方向矢量Tmax之间的夹角

将式(4)的kvi(Tθ)从-π到π求积分,可以得到对称矩阵Evi为

(6)

将Evi分解为

(7)

其中

(8)

由式(4)~(8)可求得最大、最小主曲率为

(9)

求解对称矩阵Evi不为0的特征值所对应的特征向量即为最大、最小主曲率分别对应的最大、最小主方向矢量Tmax、Tmin。

由最大、最小主曲率求解得平均曲率HG及高斯曲率K为

(10)

(11)

(12)

再由欧拉公式,可得三角网格曲面在网格顶点处沿行距方向d的法曲率为

(13)

则位于线段V1V2上的点CCi,j处沿行距方向d的曲率可以采用线性插值方法计算,计算式为

kp(d)=μkV1(α1)+(1-μ)kV2(α2)

(14)

其中

μ=|CCi,j-V2|/|V1-V2|

2 加工行距的优化调整

以刀触点C为研究对象,建立图6所示的环形刀刀具偏转模型。刀刃圆环面部分的半径为r,底部平面圆部分的半径为R;xtytzt为刀具坐标系;以点C为原点,xc轴为刀具进给方向,zc轴为曲面在点C处的法向,按照右手法则建立刀触点局部坐标系xcyczc;以环形刀中心为支点绕yc轴旋转的角度λ为前倾角(λ的取值范围为[0,π/2]),再以点C为支点绕zc轴旋转的角度ω为侧倾角(ω取值范围为[-π/2,π/2])。

环形刀的刀刃曲面在点C处主曲率为

(15)

式中k0——圆环面沿走刀方向曲率

kπ/2——圆环面垂直走刀方向曲率

(16)

调整好初始前倾角λ后,若λ过大,则加入侧倾角ω来控制λ,此时刀具有效切削半径计算式为

(17)

将球头刀加工行距计算公式[8]推广,最终可得倾斜状态下的环形刀加工行距计算式为

L=

(18)

式中rp——刀触点曲面沿行距方向的曲率半径

h——加工表面残留高度

当刀触点局部曲面为凸曲面时取“+”、凹曲面时取“-”。

设(λ,ω)为一条刀触点路径上的第i个刀触点处{CCi,j|i=1,2,…,n}的刀具姿态角组合。当给定刀具前倾角λ=λi时,对每一个侧倾角ω,均可相应得到1种刀具姿态。由式(17)、(18)可知,不同刀具姿态角的组合(λ,ω)可以有不同的刀具有效切削半径reff,进而就有不同的加工行距。将式(17)代入式(18),以0.01°为迭代精度同时改变λ与ω,可以得到图7所示刀具前倾角λ和刀具侧倾角ω的不同组合对加工行距L的定量影响关系,可见刀具姿态角组合对加工行距的影响关系整体呈抛物线形式,存在最佳刀具姿态角组合使得加工行距达到最大值。

对第i个刀触点,可以使用离散搜索的迭代方法,在实现加工行距最大的目标条件下,计算出相应的刀具前倾角与侧倾角的最佳组合(λi,ωi),使得

(19)

式中Θ——刀具无干涉区域

本文加工行距的优化调整主要采用式(16)~(18)迭代计算的方法,选取迭代精度为0.01°,每次迭代减小λ的同时增大ω,以此搜寻求解刀具前倾角与侧倾角的最佳组合(λi,ωi)。具体迭代求解过程如图8所示。

在下一条相邻刀具路径生成过程中,施加加工行距约束条件后,可能会产生一些位于三角面片内部的刀触点。由三角网格曲面特性可知,每个三角面片内的点所包含几何信息一致,所以为了去除冗余刀触点并减少计算量,需要对这些内部点{C′i,j+1|i=1,2,…,n}进行修正,如图9所示。最终选用位于网格线上的点{Ci,j+1|i=1,2,…,n}作为下一条相邻刀触点路径上的数据点。

当刀具姿态角确定后,其在工件坐标系下的刀位点CL和刀轴单位矢量zt计算式为

(20)

3 干涉处理及路径优化

五轴数控加工的干涉分为局部干涉和全局干涉,局部干涉包括由于刀具有效切削半径大于待加工曲面曲率半径引起的局部曲率干涉以及待加工曲面局部曲率变化较大而引起的局部刀底干涉;全局干涉则是刀杆与待加工曲面间的干涉。局部曲率干涉问题已在第2节中得以解决,而局部刀底干涉和全局干涉则需建立一种新的环形刀刀具离散模型进行干涉的检测与修正。

3.1 刀具离散模型建立

如图10所示,CL表示环形刀的刀心点,基于刀心点建立环形刀刀具坐标系CLxtytzt。在CLxtyt平面内,设任意方向与xt轴的转角参数为φ;在刀刃圆环面的一个截平面CLztxt内,设任意方向与zt轴的转角参数为τ。建立环形刀刀刃圆环面部分在刀具坐标系CLxtytzt关于φ与τ的参数方程为

(φ∈[0,2π],τ∈[0,π/2])

(21)

由于刀触点一侧为切削区域,所以取远离刀触点一侧φ∈[π/2,3π/4],τ∈[0,π/2]区域为离散区域,记为{qi∈D3,1≤i≤n}。

如图11所示,刀杆部位离散建模时,为了提高干涉检测效率,以zt方向为离散轴,离散精度ε=0.1 mm,获得{Om|O1,O2,…,On}一系列离散点,离散点的个数n为

(22)

式中H——刀杆总长度

round()——取整函数

刀杆离散点的第1个点O1位于距刀刃圆环面顶端Δh=R+r处、最后一个点On位于刀杆顶端。因干涉检测是在以每个离散点Om为球心,刀杆半径R+r为搜索半径的球状区域内检测,所以与第1个离散点O1相对应的部分(即图10中刀杆Δh部分)则会检测不到,需要进行单独离散。这里对Δh所对应的刀杆圆环面部分仍按精度ε进行离散,可获得离散点集为{repm|rep1,rep2,…,repn},如图12所示的红色点云所示。

3.2 干涉检测与修正

干涉检测时,可通过待加工曲面的网格顶点是否落在刀具体内来判断当前位置是否发生干涉。

对刀刃圆环面部分的局部刀底干涉,本文提出干涉检测离散搜索算法为:

(1)首先以圆环刀点O为查询点,以长度R+r为查询距离阈值,从构建的曲面KdTree数据集中使用范围搜索(Radius searches)查找所有与查询点距离小于阈值R+r的数据点,记为{pi∈R3,1≤i≤n}。

(2)设点CL坐标为(x0,y0,z0),对所有pi(a,b,c)选取满足条件a≤x0的点为刀刃圆环面干涉侧的空间数据点集,记为Γ,其空间表示如图13所示。

(3)取点集Γ中的一个点Q(a1,b1,c1),搜寻{qi(x,y,z)∈D3,1≤i≤n}中满足z-c1≤δ(δ可以设置为给定值0.1 mm),确定{qi(x,y,z)∈D3,1≤i≤n}中z值与Q(a1,b1,c1)的c1值最接近的所有点,这些点将与Q(a1,b1,c1)处于同一水平高度,形成如图14中红色椭圆线所示的点集Ω。

若Ω中存在点满足x≤c1且同时有b∈(ymin,ymax)(ymax、ymin分别为{qi(x,y,z)∈D3,1≤i≤n}中y值的最大和最小值),则该点Q(a1,b1,c1)可判定为一个干涉点。

(4)重复执行步骤(1)~(3),最终可得到所有发生干涉的点的集合Λ。

对刀杆部分的全局干涉检测,首先使用Kd范围搜索,以Om为查询点,R+r为阈值,则小于阈值的点应为干涉点。由于每一搜索区域为球状,所以需要对刀杆未检测到的Δh部分进行补充干涉检测,对该部分离散点集{repm|rep1,rep2,…,repn}进行干涉检测的方法可参照局部刀底干涉检测方法。

关于干涉发生时修正处理的总体思路为:当存在干涉点集Λ时,先确定其中干涉量最大的点pi及对应于Ω中的刀具离散点qi,调整此时刀具前倾角λ和侧倾角ω,使该点的干涉量为0时为止,以此避免刀具干涉的产生。记干涉点{pj}(j=0,1,2,…,n)∈Λ,刀具离散点{qj}(j=0,1,2,…,n)∈Ω,其中最大干涉量为εr,则有

(23)

设刀具干涉修正后的刀具前倾角和侧倾角修正增量角分别为λ′和ω′。如图15所示,黑实线刀具表示未进行干涉修正时的刀具姿态,蓝实线刀具表示干涉修正之后的刀具姿态,φ为矢量Cpi与矢量Cqi的夹角,表示为避免干涉时刀具应绕刀触点C转过的增量角度。增量角φ计算式为

(24)

图15中刀具在空间中的姿态由两个倾角λ与ω共同表示,所以需要将增量角φ转换为刀具的两个增量倾角。依据为将增量角φ投影至刀具坐标系,分别计算其在xtzt平面内的分量λ′与xtyt平面内的分量ω′。采用将构成增量角φ的边矢量Cpi与矢量Cqi直接投影到刀具坐标系的方法求取λ′与ω′。投影分解的计算过程为

yt=xtzt

(25)

(26)

(27)

(28)

(29)

3.3 本文方法技术路线

三角网格曲面环形刀五轴加工宽行距刀具路径生成及刀具干涉检测与修正方法技术路线如图16所示。

4 实例计算及数据对比

为了验证提出算法的有效性,使用如图17a所示50 mm×50 mm的复杂曲面模型进行验证计算。可以看出该曲面模型同时具有凹面及凸面且曲率变化较大。通过编制的Matlab程序读取曲面模型的STL文件,经本文的拓扑关系重建算法建立的三角网格曲面模型如图17b所示,此三角网格模型一共包含1 567个顶点、2 994个三角面片。

选取刀具参数为R=1 mm、r=1 mm的环形刀,及刀具参数为R=2 mm的球头刀,规定残留高度为0.003 mm。

图18为部分相邻的几条刀触点路径,取其中一条刀轨,其加工行距曲线如图19所示。由图19可以看出,本文方法获得的加工行距优化前后都优于球头刀加工时的行距,相比于截平面法,本文提出的加工行距优化方法,为了保证曲面每一处皆可加工到而选取当前刀轨上所有刀触点对应行距的最小值作为生成下一条刀轨的方法,可使原有的加工行距得以进一步增大,优化后行距最大提高了约0.5 mm。图20为加工行距优化前后前倾角和侧倾角的变化趋势,可以看出,在行距优化前没有侧倾角,仅根据无曲率干涉的约束条件设置了前倾角不大于某个临界角,结合图19可以发现,在加工行距较窄的区域,通过降低前倾角,相应的加大侧倾角使刀具有效切削半径增大,进而达到加工行距变宽的目的。同时由图18的各刀触点路径可以看出,刀触点路径的连续性较好,可实现预期加工行距变宽的目标,能提高复杂曲面的加工效率。

使用本文方法生成的加工行距优化后的刀触点路径如图21a所示,使用改进的环形刀截平面法[9]所生成的刀触点路径如图21b所示,而使用球头刀截平面法所生成的刀触点路径如图21c所示,可以看出本文方法所生成的刀触点路径的加工行距明显变宽。

3种方法得到的刀触点路径的刀轨数量和刀轨总长度如表1所示。由表1可知,与加工三角网格曲面广泛使用的截平面法相比,本文方法加工效率有大幅度提升,而对比最常用的球头刀加工三角网格曲面的方法其加工效率更是达到了数倍的提升。

表1 3种方法的计算结果比较

针对图21a的刀触点路径,通过本文的干涉检测方法,检测到该路径存在的部分干涉区域如图22中的红色区域所示。通过对此区域的一条刀触点路径(图22中的绿色路径)进行干涉修正处理,分别获得干涉修正后的刀具前倾角增量λ′及侧倾角增量ω′,如图23所示。干涉处理前后的前倾角及侧倾角曲线变化如图24所示。

修正前后该路径上一个点位修正效果如图25所示。由图25a可以看出,刀具与三角网格曲面发生了局部刀底干涉的情况,直接导致远离刀触点的刀具底部和已加工表面产生了切削接触;由图25b可以看出,远离刀触点的刀具底部已与曲面脱离了切削接触,进而避免了刀底干涉的发生。

为了验证本文算法的有效性,在相同条件下,使用截平面法及本文方法通过精雕公司JDGR400 A-C型双摆台结构五轴机床对硬铝合金材料进行加工(图26)。加工完成后,使用雷尼绍OMP60型测头对工件表面粗糙度进行检测(图27)。采用截平面法加工获得曲面加工件及其局部行距放大效果图(图28),经检测,该工件最大加工残高为0.003 9 mm,局部行距为0.56 mm。图29为使用本文方法加工获得的曲面加工件其局部行距放大效果图,其表面最大加工残高为0.004 2 mm,局部行距为1.03 mm。由此可见,在获得相近加工残高(表面粗糙度)的前提下,相对传统的截平面加工方法,本文方法明显增加了加工行距,有利于缩短工件曲面五轴加工路径的总长度,可有效提高曲面五轴加工效率。

5 结论

(1)针对三角网格文件生成的大量无序状离散数据,对其进行了拓扑关系重建,同时提出了一种新的三角网格求交算法,该方法逻辑清晰、易于实现,且具有较易去除冗余数据的特点。

(2)针对三角网格曲面不连续的特点,提出了一种基于KdTree搜索的刀具干涉检测及其修正的方法。

(3)针对环形刀的五轴加工,提出了一种可变行距的宽行加工刀具路径生成方法,该方法在保证表面粗糙度、无刀具干涉的前提下,使加工行距变宽,进而提高了曲面五轴加工效率。

猜你喜欢
面片曲率触点
一类具有消失χ 曲率的(α,β)-度量∗
儿童青少年散瞳前后眼压及角膜曲率的变化
铁路信号灯用交流继电器转换时间提取方法
面向复杂曲率变化的智能车路径跟踪控制
基于电路分割法汽车电动车窗控制开关故障的检修
航空电转换器的损伤原因分析及修理
接触器辅助触点接触电阻产生原因分析
不同曲率牛顿环条纹干涉级次的选取
河沿面片
河沿面片