时间:2024-07-28
高一鸣,侯伯杰,高建设
(郑州大学机械与动力工程学院,河南 郑州 450001)
随着我国先进制造技术的不断发展,工件的制造精度不断提升,在线测量技术成为高效率、高精度检测主要手段之一[1-3]。基于触发式的数控车床在线测量系统使用大量测点保证测量的精度,而连接这些测点的路径的长短关系到系统的检测效率。
目前国内外一些专家学者也在这一领域进行了研究,文献[4]利用最近邻插入算法对数控切割路径进行优化排序。文献[5]提出利用遗传算法对加工路径进行优化,减少空刀路长度。文献[6]提出一种新型混合离散粒子群算法用于在线测量的全局路径优化。由于当前研究在线检测的路径优化,单纯依靠TSP 数学模型,并未考虑合理避障对路径优化的影响,因此在线检测路径优化的模型仍有一定的研究空间。
根据DXF文件结构组成特点,提取DXF文件中的几何尺寸信息,建立初始测量路径并通过改进式蝙蝠算法对工件检测路径进行优化,提高了数控车床在线检测的效率。
轴类零件的在线检测过程首先要明确零件的尺寸信息,依据零件的尺寸和测量项目规划检测路径。采用读取DXF 格式文件,获取零件的尺寸信息。获取DXF文件几何信息过程,如图1所示。利用打开文件对话框打开选中的DXF文件,利用Stream-Reader类遍历读取文件中的组码和组值,依次将图元坐标信息存放在集合中[7-8]。
图1 读取DXF文件流程Fig.1 Process of Reading DXF File
DXF文件图元信息按照相应类别存储之后,需要对存储的数据进行整理,提取出几何图形的尺寸信息。对于轴类零件而言,直线和圆弧是此类工件的主要图元信息。为此针对轴类典型工件设计提取几何信息算法如下:
(1)轴长排序:首先将起点和终点Y值相等的直线放在同一数组中,其次整理这些直线起点、终点坐标,直线的方向是根据制图者绘制这条直线方向生成的,如果起点坐标的X值比终点的大,需要交换起始和终点的坐标值,然后将这些直线按照起点的大小进行排序,遍历找出其中起点坐标X值相同并且终点坐标X值相同的两条直线,并将其中一条直线剔除。最后根据直线的坐标计算出轴类零件所有轴段从左向右的轴长。
(2)轴径排序:首先将起点和终点X值相同的直线放在同一数组中,将直线方向调为一致,如果终点坐标的Y值比起点的坐标小,调换起点和终点的坐标值,然后将这些直线按照X值的大小进行排序,遍历找出起点坐标Y值相同,并且终点坐标Y值相同的两条直线,将其中一条直线剔除,现在数组中直线为各轴段代表轴径的直线。最后根据直线坐标计算出直线的长度即为从左到右各个轴段的轴径。
经过对工件DXF文件的读取,获取到工件的尺寸信息,在此基础上,对该工件的尺寸误差和形位公差测量,建立初始测量路径模型。
在数控车床刀具运行的轨迹在X-Z二维平面中,求解测头经过所有测量点的最短路径,其本质就是一个典型的旅行商问题[9]。根据蝙蝠算法解决TSP问题的方法,将所有的测量项目的起点作为一个点集,而将测头开始测量的位置作为整个路径的起点和终点,利用蝙蝠算法求解最短路径的节点顺序。
传统的检测路径规划是每测量一个点,为了保护测头将测头抬高至安全高度,产生了大量的不必要的测头移动,为了避免此种情况,采用绕点避障的方法,避开与之相交的点,如图2所示。
图2 两测点避障路径规划Fig.2 Obstacle Avoidance Path Planning at Two Measuring Points
在点pi(xi,yi)移动到pi+2(xi+2,yi+2)过程中顶点p0(x0,y0)可能成为障碍点,将p0点坐标带入不等式式(1)成立,则p0为障碍点,则需新建避障点pi+1(xi+1,yi+1),pi到pi+2的路径为pi→pi+1→pi+2,两点的距离,如式(2)所示。
3.3.1 算法参数初始化
蝙蝠种群初始位置的表达:种群中第i只蝙蝠位置用随机生成的n个不重复排列的正整数方式表达,n为所有点的个数,例如Xi=(6,4,3,5,2,1)表示第i只蝙蝠检测路径为6→4→3→5→2→1。但在检测工件时,起始点和终止点要在同一位置,所以蝙蝠位置的第一个点为起点和终点要固定不变,其他位置的点随机排列变化。
3.3.2 适应度函数
假设路径中有n个测量点,其中包括起点,根据种群中第i只蝙蝠Xi的位置(p1,p2,…,pn),若Xi的坐标为(xm,zm),则Xi的适应度函数:
3.3.3 更新操作
对每一只蝙蝠i,根据式(4)重新计算位置、速度和频率,从而使蝙蝠i产生新的位置。
式中:fi—第i只蝙蝠的脉冲频率;fmin、fmax—该种群蝙蝠的最小、最大脉冲频率—第i只蝙蝠在迭代t次时的速度和位置;β—(0,1)之间的随机数。在对蝙蝠的位置为离散点时,上式中的操作算子需重新定义。位置(x1,x2,x3,…,xn)与速度(v1,v2,v3,…,vn)加、减法:
位置、速度与脉冲频率的乘积:
在经过上述操作运算,蝙蝠位置X已不符合编码的规则,要经过修正操作使得当前位置的解符合编码要求,具体操作包括:取整、取模、去除重复点、补充未取到的点。例如,n=11当前解X(1.23,3.89,-5.11,8.93,9.08,10.36,6.68,-0.95,6.13,-2.35,5.86),经过取整和取模得到X(1,4,5,9,9,10,7,1,6,2,6),可以发现测量点1、6、9重复,将后面重复的点去除,然后找出未出现的点(3,8,11)随机排列放在后面,得到X=(1,4,5,9,10,7,6,2,8,3,11)。
3.3.4 改进式蝙蝠算法局部搜索
在局部搜索阶段,是在当前蝙蝠最优个体的附近进行扰动搜索。此时的搜索距离不能过大,否则就变成了全局搜索,导致后期搜索过慢,但是搜索距离也不能过小,否则容易陷入局部最优[9],综合以上因素,并融合遗传算法交叉变异的优化特点,在局部搜索阶段,提出交叉的操作方法,以跳出局部最优解。具体方法,如图3所示。随机生成两个正整数r1,r1∈(1,2,…,n),将两数之间的数组取出,并重新随机排列组合,生成一组新的解。
图3 交叉操作Fig.3 Cross Operation
G代码的编程软件主要有UG、ProE等,这些编程软件适应广泛[10],但针对特定的工件编程过程过于繁琐,所以这里根据改进式蝙蝠算法寻优的最短路径结果,依次规划测头的行进路径,自动生成数控程序。在线检测程序分为四部分:指令段、移动段、检测段、结束段。其中移动段程序是根据DXF文件提取的尺寸信息和改进式蝙蝠算法寻优结果生成驱动测头移动的G代码。而检测段是依靠G31跳转指令代码,在接触到工件表面时,记录此时的坐标,并跳转到下一行继续执行。
为了验证该优化方法的有效性,对复杂阶梯轴零件的尺寸精度进行测量。首先将该算法在MATLAB 中实现,并编译成IBA.dll动态链接库,以待在线检测系统软件调用优化的检测点顺序结果。实验设备选用:数控车床采用鑫盛AD-25全功能卧式数控车床,数控系统为华中数控HNC-818,测头选用先锋机电RPS-L11系列的测头,测头行进进给速度1000mm/min,接近速度200mm/min。针对典型复杂阶梯轴进行检测路径规划实验。阶梯轴与检测项目,如图4所示。主要的检测项目为轴径、轴长与键槽长度。
图4 复杂阶梯轴测点分布Fig.4 Distribution of Complex Step Axonometric Points
在路径优化中分别采用改进式蝙蝠算法(IBA)、遗传算法(GA)、蝙蝠算法(BA)三种方法对阶梯轴的检测顺序进行优化,三种算法的迭代次数为200次,种群数量为100,其中改进式蝙蝠算法和蝙蝠算法的脉冲频率取值范围[0,2],初始脉冲率为0.1,响度为0.9,脉冲变化率为0.9,响度变化率为0.9,遗传算法的交叉概率为0.9,变异概率为0.1。优化结果比较,如表1所示。
表1 阶梯轴实验结果对比Tab.1 Comparison of Experimental Results of Stepped Shaft
根据表1实验结果可以看出,IBA相比于GA和BA达到最优路径的迭代次数最少,收敛速度最快,寻优效果最好,迭代过程,如图5所示。得到最短路径,如图6所示。点集顺序为:12 →4 →5 →6 →7 →8→9 →11 →10 →3 →2 →1→12。与传统人工规划路径相比,检测路径缩短了12.3%,有效的提高了检测效率。
图5 改进式蝙蝠算法迭代过程Fig.5 Iterative Process of Improved Bat Algorithm
图6 改进式蝙蝠算法规划结果Fig.6 Improved Bat Algorithm Planning Results
提出基于改进式蝙蝠算法优化测量路径的方法,该方法采用读取DXF文件,获取待测工件的尺寸信息,再利用改进式蝙蝠对顺序检测路径进行优化,寻找最短的检测路径,通过G代码生成模板,自动生成检测数控代码。为验证该方法的有效性,针对复杂阶梯轴的在线检测路径进行优化,相比其他的优化方法和人工规划路径,检测路径更短,证明方法可有效规划出最短路径,提高了在线检测的效率。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!