认证会员

    编程爱好者

  • 585文章 0粉丝 15954浏览
  • 简介:为正在学习编程的朋友提供相关知识内容
  • IP属地:
动态详情

自由曲面数控加工时干涉的判别方法及算例

    更新时间:2023-04-24 13:50浏览次数:38返回列表

1 引言

编制自由曲面数控加工程序时,首先需根据设计意图生成描述自由曲面的数学模型,然后根据该模型生成数控加工刀位点(CL点)轨迹。为保证在数控加工过程中不会发生刀具干涉,需对生成的刀位点轨迹进行刀具干涉判别。由于刀具干涉现象严重影响数控加工质量,因此刀具干涉判别方法作为数控加工自动编程中的一个关键问题受到了广泛重视。刀具干涉可分为刀具底面干涉和刀具侧面干涉(即刀杆碰撞干涉)。目前提出的刀具干涉判别方法(如参数线法、截面线法、多面体曲面加工算法等)一般是基于自由曲面与刀具形状的几何关系建立的,算法较复杂,且与自由曲面刀具轨迹计算方法有关,对于刀具底面干涉和刀具侧面干涉需采用不同的判别算法,因此应用范围受到一定限制。本文基于模式识别原理,采用基于模糊推理的自由曲面描述方法,提出一种适用于不同刀具类型并可同时考虑刀具底面干涉和侧面干涉的刀具干涉判别算法。该算法将刀具(包括刀杆)离散为若干个刀具特征点,将一组描述自由曲面的模糊规则视为模式边界,采用模式识别方法判别刀具特征点所处位置,当其位于自由曲面上或其上方时,可判定无刀具干涉;当其位于自由曲面下方时,则判定将发生刀具干涉。对模糊推理技术的研究表明,一组奇数的三角形模糊划分区域数目,可以任何精度近似表示一个连续函数。此外,无论何种刀具,其底部与刀杆均可通过一些刀具特征点进行描述。因此,本文提出的刀具干涉判别方法具有广泛适用性。


图1 x坐标值的模糊划分

2 基于模糊推理的自由曲面模型

设自由曲面的采样数据为(x1,y1,z1),(x2,y2,z2),…,(xn,yn,zn)。首先将这些数据转换为模糊域中的数据,设该曲面x、y、z的值域区间分别为[x-,x+]、[y-,y+]和[z-,z+],将该区间分别划分为等宽度的2L+1、2M+1和2N+1个区域(L、M、N 为整数),L、M、N值的大小取决于描述曲面的精度,x、y、z值域的每个划分区域宽度均应小于该方向上的允许误差分量。由于一组奇数的三角形模糊划分的模糊规则可以任何精度逼近一个连续函数,因此将各区域的隶属函数取为图1所示的三角形状。这种划分方法可保证每个测量数据均对应有隶属度大于0.5的规则匹配。

设自由曲面在x、y、z 三个坐标方向分别被划分为模糊域(A1,A2,…,A2L+1)、(B1,B2,…,B2M+1)和(C1,C2,…,C2N+1),并以ai、bi、ci分别标记模糊域Ai、Bi、Ci的中点值。根据三角形隶属函数表达式 µAi(x)= { (x-ai-1)/(ai-ai-1) (ai-1≤x≤ai)
(-x+ai+1)/(ai+1-ai) (ai≤x≤ai+1)
0 (其它)
 (1)

可计算出x 坐标值隶属于Ai的隶属度值。同样,分别以bi和ci替代式(1)中的ai,可得到y、z 坐标值隶属于Bi、Ci的隶属度值。通过自由曲面上已知点集(xi,yi,zi),可确定一组描述自由曲面的模糊规则,即

 

  (2)

当已知(xi,yi,zi)为自由曲面上的一点时,即可产生上述规则组中的一个规则。首先由式(1)计算其隶属于某区域的最大隶属度值,例如,xi、yi和zi对应区域A2、B1和C3的隶属度值为最大,则可产生如下规则:
IF x is A2and y is B1 THEN z is C3按此方法,n个数据点即可产生n个规则。但由于每个模糊区域可能包含多个数据点,因此可能发生规则的条件部分相同、但结果不同的情况,即发生规则冲突。为解决此问题,可采用对规则加权的方法确定最终有效的规则。

根据模糊理论,可计算第k个规则条件部分为真的隶属度值,即 µk(x,y)=µAi(x)∧µBj(y)=min[µAi(x),µBj(y)] (3)

记T为满足µk(x,y)≥0.5的(x,y,z)数据集,并令 e= ∑(xi,yi,zi)∈Tµk(xi,yi)zi

∑(xi,yi,zi)∈Tµk(xi,yi)

 (4)

据此可确定模糊规则的结果为:e 值对应的最大隶属度值的区域为Cr。


图2 刀具的特征点

3 刀具干涉的判别

刀具特征点的抽取

对于图2所示刀具,取刀位点P作为刀具坐标系原点,并抽取若干点(xti,yti,zti)(i=1,2,…,m),作为刀具特征点。

在采用球头铣刀进行三坐标数控加工时,刀位点(即CL点)P 在工件坐标系中的坐标值可由零件表面与刀具表面接触点(即CC点)沿法矢方向偏移刀具半径R 后求得。而刀具特征点在工件坐标系中的坐标为相对刀位点P 的坐标偏移量xti、yti和zti值。对于其它刀具形状,可采用类似方法计算出刀具特征点在不同CL点处的坐标值。

刀具干涉的判别

当刀具特征点集位于由CC点构成的曲面上方时,无刀具干涉现象发生,否则判为有干涉现象发生。由CC点构成的曲面可通过上述方法表示为式(2)所示的模糊规则形式,设(xti,yti,zti)为某一刀具特征点,xti、yti的坐标值分别位于区间[aj,aj+1]和[bi,bi+1]内,由式(1)可分别计算出隶属度µAj(xti)、µAj+1(xti)和µBi(yti)、µBi+1(yti)。

根据模糊规则清晰化方法,在CC点构成的曲面中,对应xti、yti坐标的z坐标值计算式为


 

(5)

当zti≥z 时,表明刀具特征点位于曲面之上,无刀具干涉现象发生;当zti当在某CC点处判定有刀具干涉现象发生时,对于刀具底面干涉,可更换较小尺寸的刀具;对于刀具侧面干涉,则需调整刀轴与曲面法向矢量的夹角大小以消除干涉,该角度值可采用遗传算法确定,具体方法可蔡锦达、李郝林所著《基于生物遗传学的机器人位姿控制方法》(发表与《应用科学学报》1999年第2期)中确定机器人位姿控制参数的计算方法。


图3 多值自由曲面及其刀具干涉判别

4 多值自由曲面的处理

图3所示曲面形状是引起刀具侧面干涉的主要原因,这种曲面对应于相同的x、y 坐标将出现两个以上的z 坐标值。对于这种自由曲面的描述,需对模糊规则(2)进行修正,即可能出现以下多层规则表达方式:

第一层:IF x is A2 and y is B1 THEN z is C2

第二层:IF x is A2 and y is B1 THEN z is C4

为正确产生这种多层规则,需对规则的学习算法进行修正,即在式(4)的计算中,将满足µk(x,y)≥0.5的(x,y,z)数据集根据z 坐标的大小(可根据曲面具体情况确定一个阈值e,当|z1-z2|≥e时,说明z1与z2不属于同一层)区分为若干个子集,利用每个子集的数据分别进行式(4)的计算。此时,每个子集将对应一个规则,将z 坐标最小的规则作为第一层规则,其余则按z 坐标值的大小排序,依次作为第二、第三层规则。

对于以多层规则描述的曲面,其刀具干涉的判别算法也应作相应修正,如对于图3所示的三层规则,刀具干涉判别规则为:①刀具特征点位于第一层下面。或者②刀具特征点位于第二层之上,且位于第三层之下。


图4 算例结果

5 算例

为检验本方法的有效性,利用AutoCAD分别设计了一个直纹面和一个孔斯曲面,并将图形信息转换为数据交换文件(*.DXF文件),然后通过VisualC++调用该曲面数据文件,根据上述方法判别曲面干涉情况,最后用脚本文件(*.SCR文件)将计算结果在AutoCAD中显示出来,如图4所示,图中黑色区域为刀具发生干涉的区域。由此可见,本文提出的方法可有效应用于自由曲面数控加工的刀具干涉判别。

6 结论

本文提出的刀具干涉判别方法适用于不同刀具类型,并可同时对刀具底面干涉和刀具侧面干涉进行判别,为解决数控加工中的刀具干涉问题提供了新方法,其主要应用步骤为:

根据各类自由曲面的描述模型,生成一个自由曲面数据集(xi,yi,zi)(i=1,2,…,n);

按照本文第2节所述方法,建立一组描述自由曲面的模糊规则(2);

按照本文第3节给出的刀具干涉判别算法,对刀具干涉情况进行判别和处理。