多轴复杂体零件“降维打击”的编程方式及其BP神经网络优化

2022-09-16 07:25王钧李玮王周梅刘斌郭志伟魏新宇
机床与液压 2022年14期
关键词:降维后处理轮廓

王钧,李玮,王周梅,刘斌,郭志伟,魏新宇

(西南林业大学机械与交通学院,云南昆明 650224)

0 前言

在数控编程中,四五轴编程是解决复杂零件加工的有效手段,甚至是叶轮等零件加工的必备手段。但是多特征体零件在四轴和五轴编程中因为其复杂的特征关系和复杂的矢量控制,一直是编程工程师的难题。许多CAM软件没有针对多轴加工提供足够完善的解决方案,大多都需要使用者凭经验进行变通处理,特别是复杂体零件。其主要原因就是四五轴的刀轴矢量不像三轴是固定不旋转的,特别是五轴有两个旋转轴。控制好这两个轴的合理摆动,并且做到加工中不干涉、不碰撞就显得尤为重要。特别是在具有上千个特征和奇特曲面的复杂体中,既要完成复杂的刀路设计,还要保证其安全、可靠、不过切,一旦出现失误,其加工就会出现严重的过切或者失误,严重的会造成刀具断裂、工件破坏和机床损坏。所以如何解决这一问题一直是编程工程师要面对的痛点和难题。基于以上问题,针对复杂零件加工,本文作者提出了一种新型的编程思路,将多轴刀路在空间维度上降低为2D生成刀路后又转回3D,实现良好的四五轴编程方式,具体实施过程如图1所示。并且使用MATLAB构建神经网络来解释难以用公式表达和描述的空间曲线变化规律,以满足深入学习和开发的实际需求。

1 降维编程方法及思路

四五轴编程为了更好地控制刀轴的变化,大多通过点、线、辅助曲线、曲面和外形轮廓的方式进行刀路驱动,以完成加工的刀轨设计,也可以理解为四五轴的刀路情况取决于做出来的辅助面(线)的质量。但是对于一些体量较大、构造面复杂需要制作很多辅助面(线)驱动的零件则显得较为麻烦,并且多次的选用操作非常容易出错。为了达到将复杂的刀路简单化处理的目的,采用了如图1所示的编程思路和方法,具体流程为:(1)使用投影法可以先将复杂零件的特征从模型上抽取下来,在二维平面展开,并根据展开曲线编制刀路路径;(2)展开后将编制出的刀路路径程序通过后处理转换成样条曲线,根据其空间坐标关系再缠绕到复杂零件上;(3)根据缠绕回去的曲线,编制该多轴程序;(4)将程序传输至系统,即可上机进行试切加工。

图1 编程思路流程

2 展开刀路与缠绕刀路之间的转换

为了进一步说明降维法编程之间各曲线和刀路路径设置更深层次的关系和转化机制,将对其曲线进行多方面研究。但是其整个曲线的点位多达30万点,每个点又有3个坐标值,数据量太大,很难进行数据分析与处理。为了更好地进行数据分析,故将其曲线提取出具有代表性的外层轮廓进行分析和研究。

2.1 各曲线之间的关系

图2所示为各编程曲线之间的关系,缠绕曲线为一个空间中的立体3D曲线,它的3D空间刀轴矢量如图2所示,其矢量并不固定,而且根据其法向的变化而变化,很难控制。在空间中垂直于该缠绕曲线的矢量做任意旋转都能是该直线的刀轴矢量,所以就造成了在编程过程中多轴刀路的刀轴矢量不容易控制的状况。任意方向的矢量都会造成刀轴错乱,甚至导致进、退刀撞刀的事故。为了避免上述情况的发生,使用基准坐标系中的、、先将其展开为由多个点构成的样条曲线,如图2中绿色路径所示,其刀轴矢量在图2所示的2D空间中都是垂直于展开平面的,编程就相对方便,编程时就不会再出现刀轴不确定、难固定等情况。完成编程后,因为该曲线与模型保持着相互联系的特点,所以就可以根据其模型的自有特征和空间坐标关系再缠绕回去。该操作可以保证每一个曲线的刀轴矢量都垂直于加工面的切线方向,不会出现错乱,从而精确控制刀轴和投影矢量。但是由于2D平面的刀路曲线是不可以直接缠绕的,所以必须借助一个刀路路径转样条曲线(.dat)的后处理工具,通过该后处理工具将刀路路径转换成样条曲线,再将该样条曲线根据其空间坐标关系缠绕回复杂零件上。最后通过缠绕的曲线编制成四五轴程序,利用该加工程序实现复杂四五轴零件的加工。

图2 编程曲线关系

2.2 刀路路径转样条曲线后处理的制作

除了上述的转换关系,要完成降维编程,其关键的辅助工具就是上文中说到的刀路路径转样条曲线的后处理工具。该后处理的作用是将刀路文件转换为样条曲线,方便降维缠绕。进入后处理编辑器中,如图3所示,在UGPOST中首先创建一个通用后处理,设置完成后只保留M0M_set_seq_off(关闭所有行号),将所有代码里面的G代码和M代码删除,并强制输出、、三个坐标值,让每个类型的坐标中间用空格隔开,不允许出现“;、,。”等特殊符号,程序结束时加入M0M_set_seq_off,要求linea output,保存输出格式为.dat(样条曲线的格式)。完成上述设置后就可以得到以下3个文件:(1)pui(用户界面文件);(2)tcl(控制机床运动事件处理文件);(3)def(格式的定义文件)。这3个后处理程序是完成以上四五轴复杂零件编程中降维编程的关键工具。

图3 后处理制作

3 降维与升维之间的关系及理论推导

在上述的表达中已经阐述了如何运用升维和降维的思路解决四五轴编程中复杂零件的编程问题。但是具体应用中该处理方法还是比较繁琐的,如何将复杂零件加工中降维编程中所包含的数学关系及运用机制通过制作二次开发软件甚至是专用的定制命令的方式呈现出来,更好地帮助广大编程工程师解决实际问题,就是本文作者要解决并达到的重要目的。

但是由于3D空间曲线在投影过程中有较为复杂空间的转换,一个坐标点单一的变量要由多个变量通过某种规律转换,但该规律很难用数学公式表达。BP神经网络模型是一种具有代表性的神经元结构化模型,是典型的多层神经网络。为了更好地解决该问题,采用MATLAB的神经网络构建其输入、输出及其隐含内容。通过算法的不断学习,选取特征参数,离散化学习来拟合出其中的关系。

抽取出如图2中展开曲线的坐标,具体数值如表1所示。为了使最后得到的拟合数据更接近实际值,在展开曲线和缠绕曲线中各取1 000个坐标点,作为实验数据,进行BP神经网络的模拟学习。图4所示为BP神经网络的算法关系,通过使用已知的两组坐标点进行神经网络结构构建,对展开曲线以及缠绕曲线的坐标点进行分析,构建输入输出层和隐含层。通过查询相关研究成果,表明仅含有一个隐含层的BP神经网络可以任意精度逼近任意的非线性系统。因此,在该模型设计中选择15层神经网络对相关数据进行预估,添加15个隐含层,通过前向信号传播和误差反向传播的数据来动态调整每层的权重,权重调整的过程就是BP神经网络的学习和训练过程。通过BP神经网络的不断模拟训练,就可以达到输入任意的一组、、(展开坐标)值就可以输出另外一组与之对应的、、(缠绕坐标)数值,从而达到简单的升维和降维操作,而不再需要复杂的关系转换。

表1 展开缠绕曲线点位坐标

图4 算法关系图

构建完其输入、输出关系后,需要知道其中的原理及其过程。如式(1)所示,输入值等于权重值(输入到隐含层的权重)和输入的具体数值的乘积,但是由于输入值不是只有一个,单个表达式中为15。

(1)

如式(2)所示,隐含层的输出等于公式(1)中的隐含层输入值的激活函数,故可表达为()。其中表示激活函数,其作用是将包含的数值作非线性映射处理,net表示该数据为隐含层。

=()

(2)

如式(3)所示,已知以上两个值后,就可以求出预测值等于权重(隐含层到输出层)与隐含层输出值的激活函数的乘积。

(3)

如式(4)所示,根据以上逻辑就可以推导其预测输出值。但其预测输出值还存在着一定的误差。使用实际值和预测值进行一个对比,就可以得到其误差函数。

(4)

如式(5)所示,其表示的是误差函数对的敏感程度,其意义是求出对的影响程度的大小。故需要求出和的偏导,但是数学中不能直接求出,故先对求导,接着求对的偏导,再求对的偏导,最后求对的偏导,公式中∂为求偏导符号。

(5)

完成上述推导后,使用MATLAB对其点位进行处理,即可得到如图5所示的对应训练的训练值、验证值、测试值、最佳值分布曲线。通过这种正向计算输出、反向传播误差的多次迭代后,系统的性能指标将随着迭代次数的增加而减小,经过不断调整权值,性能指标不断降低,网络最后达到稳定状态。从图5可以看出:在训练到第5组时基本已经进入理想状态,各条曲线变化率基本稳定;当在24组时达到最佳值网络收敛,基本呈稳定状态,训练结果良好。

图5 训练情况分布曲线

将1 000组数据分成不同组别,分别作为训练、验证、测试数据,用这3组数据的结果分别同目标的理想值进行对比。从图6可以看出:3组对比数据的相似度均达到了0.97以上。根据经验值来说,一般达到0.8以上就已经相似了,所以此次实验结果非常理想。

图6 预测值和真实值之间的关系

综上所述,通过BP神经网络对1 000组数据的展开值和1 000组数据的缠绕值的坐标点进行训练,获得了满足输入、输出之间隐含的逻辑关系。能够输入任意一个、、的坐标值,就可以输出与之相对应的降维后的轮廓曲线的、、坐标值,并且还能获得其优化解,为降维编程方法提供一个快捷有效的使用方案和方法。

4 造成编程难和过切的原因分析及解决方案

由于在多轴编程中经常会出现细微的过切、抬刀、插刀、矢量不均匀等情况,是驱动曲线或者曲面提供的刀轴矢量不够优化导致的。为了说明该方案的刀路优化性,文中也对刀路路径的设置与优化进行了分析。

由图7可以看出:将多轴的原始编程轮廓取出来进行空间的曲线分析,发现该曲线有以下特点:

图7 多轴轮廓3D空间分析图

(1)过渡段曲线曲梳不平滑,突变较多。(这是造成跳刀、乱矢量主要原因)

(2)极点处相邻曲率变化超过90°(这是选线时出现不连接或者产生跳刀的主要原因)。

(3)总体曲梳不顺滑,过渡圆角处呈现非线性变化或者扇形递增减少,很难实现其线性关系。

将四五轴的轮廓抽取进行“降维”展开以后,得到如图8所示的降维处理后多轴轮廓3D空间分析图,通过分析该曲线可以明显得出整体曲线中部分曲梳短而平滑,过渡圆润。在过渡角A、B、C、D、E、F处明显有渐进的扇形过渡区域,标志着该区域能够良好地、渐进地进行过渡,从而提高机床的加工精度。这种现象在刀路路径中表现为旋转轴移动线性且顺滑,无突变或跳刀。扇形区域呈逐渐增加后又减少的趋势,G处虽然平滑,但是无剧烈突变,也呈线性增加,且不起主要作用。在刀路设计中符合编程工程师想要的等间距、精细节、缓过渡等原则,是解决复杂形状四五轴编程的有效手段。

图8 降维处理后多轴轮廓3D空间分析图

通过分析以上造成编程时过切、抬刀、插刀、矢量不均匀等情况的主要原因后,可知在转折点或接头点处容易造成曲梳过大,导致曲线断开,也是导致跳刀、振动和错乱的主要原因。使用投影轴变化后生成的刀路驱动曲线平滑稳定,是理想的四五轴编程驱动,对复杂类的四五轴曲面编程是一种很好的解决方式。

5 方法数据对比及其验证

为了说明该方法的最终结果是可行的,是能够保证精度的,本文作者将同一模型的普通多轴编程的NC代码轮廓曲线、降维法编程的NC代码轮廓曲线、MATLAB自动生成的NC代码轮廓曲线分别取出,使用Origin软件对其进行曲线拟合,再将拟合后的3条曲线进行同一坐标系对比,说明该方法得到的曲线轮廓和使用普通方法得到的轮廓虽然在数值上截然不同,但是最终拟合的空间曲线完全相同,加工轨迹相同,加工尺寸和精度也相同。

通过上述说明,对于复杂体零件的编程一共有以下3种方式:(1)普通选线法得到的刀路路径;(2)通过降维方法得到的刀路路径;(3)通过MATLAB训练后得到的刀路路径,且MATLAB得到的曲线又是在降维法的基础上得到的。为了证明针对复杂零件编程中第二、第三种方法的可行性和正确性,开展了3种方式曲线拟合的对比实验,获得了如表 2 所示的展开缠绕曲线点位坐标。对3种方法编程得到的刀路路径曲线(由于数据过多,只选取一条轮廓刀路)进行数据分析,通过分析3组数据的相对误差,来论证针对复杂零件编程中第二、第三种方法的可行性和正确性。

表2 展开缠绕曲线点位坐标

数据分析所采用的软件是Origin 2018 软件。图9就是利用Origin进行数据整理导入的结果,将采集好的3组数据分别导入到软件中,对3组数据进行编排。3组数据的每一行分别由、、三个数据组成。一个、、坐标在空间中分别代表一个点,所有的点拟合完成以后,组成了该条刀路路径的空间曲线。

图9 数据整理导入

将整理好的3组曲线分别拟合成空间曲线,完成后将3组曲线进行对比分析,并且添加投影线。如图10所示,图(a)、图(b)、图(c)分别为各组曲线拟合后的刀具路径曲线,图(d)为3组曲线拟合对比图。可以看出:其结果都保持一致,并且从投影曲线可以看出无错位点,无不相交点。可以很好地说明3种方法最后达到的刀路路径效果都是相同的。表明这3种编程方法均可达到相同的加工要求和加工效果,并且能够保证复杂零件的加工精度。

图10 3种刀路拟合及其投影对比曲线

6 结论

讲述了使用降维方法如何将复杂体的编程通过将多轴刀路在空间维度上降低为2D生成刀路后又转回3D,来解决复杂体编程的难题,其中主要叙述了其思路及其工具后处理的制作。为了更好地、更快捷地使用该方法,运用MATLAB对其进行分析,构建BP神经网络,通过训练达到能够自动输出需要的刀路路径,从而免去中间较为繁琐的步骤。并对输出的刀路编程所用的曲线进行了曲率曲梳分析,说明该方法对于处理复杂体编程、优化刀路、减少跳刀、增强平滑性、减少刀具切削力的变化等方面有非常好的效果。最后为了证明提出的方法是切实可行的,将普通编程的刀路曲线、降维法编程的刀路曲线、MATLAB自动生成的刀路曲线通过Origin分析软件进行处理,分别进行拟合后又将3组曲线进行对比,得出3种方法虽然过程不同,得到的数据从数值上也各不相同,但是最后的拟合结果是一模一样的,也证明了该方法是可行的、正确的。

猜你喜欢
降维后处理轮廓
混动成为降维打击的实力 东风风神皓极
车身接附点动刚度后处理方法对比
果树防冻措施及冻后处理
Helicobacter pylori-induced inflammation masks the underlying presence of low-grade dysplasia on gastric lesions
降维打击
一种改进的稀疏保持投影算法在高光谱数据降维中的应用
基于柴油机排气后处理的排放控制技术应用研究
发动机排气后处理技术
儿童筒笔画
创造早秋新轮廓