聂 芬 赵志华
(①山西水利职业技术学院信息工程系,山西 运城 044004; ②西北大学信息科学与技术学院, 陕西 西安 710127)
据统计,在白车身的所有焊点中,很大一部分都是通过焊接机器人来完成的[1],而焊接机器人焊接路径的合理选择能够大大提高生产效率,节约生产成本[2-3]。而一些智能优化算法及其改进型由于具有出色的优化性能,可以较好地实现焊接机器人焊接路径的合理规划,受到了很多学者青睐。如吕文壮等[4]为提高焊接机器人路径规划的效果,提出了改进蚁群算法,解决了路径规划精度低的问题,获得了更短的焊接路径;姚江云等[5]将Levy飞行引入蜂群算法中,提出改进蜂群算法并利用其进行焊接机器人路径规划,获得了更优的焊接机器人避障路径;候仰强等[6]开展了基于多目标遗传算法的双机器人焊接路径规划的研究,获得了双机器人协调焊接的最优路径;张瑞星等[7]将粒子群算法和蚁群算法进行结合,提出蚁群粒子群融合算法并用于双机器人协同焊接路径规划,获得了比其他一些优化算法更好的应用效果。
果蝇优化算法[8](fruit fly optimization algorithm,FOA)同前文提到的蚁群算法、蜂群算法、粒子群算法等相似,同样是一种有效的智能优化算法,具有通俗易懂、实现简单、参数较少等优点,很多学者对其进行了深入的研究和应用。如,杜伟等[9]通过FOA实现了更优支持向量机参数的获取;赵阳等[10]通过FOA实现了转子主动平衡系统时滞的有效辨识;张丽杰等[11]通过FOA实现了节点和容量受限的火灾中人员动态疏散路径的合理规划;李梅红[12]通过改进FOA中步长更新方式,提出了动态变步长果蝇算法,从而实现了对冗余机械臂逆运动学解的高精度求解;李梅红[13]通知在FOA引入向最差个体学习的策略,提出反向认知果蝇算法,从而提高了机器人逆运动学解的求解精度。
本文以提高焊接机器人路径规划的有效性为目的展开研究,针对FOA存在的一些不足,对FOA算法改进,提出改进果蝇算法(improved fruit fly optimization algorithm, IFOA),实现焊接机器人焊接路径的IFOA规划。实验结果表明,对IFOA的改进是合理有效的,相比于其他一些方法,得到的焊接路径更优,效率更高,稳定性更好。
本文以某型点焊机器人为研究对象,将其安装在白车身侧围点焊工位上,其需要在该工位对白车身侧围进行点焊操作。图1给出了某车型白车身的侧围结构示意图,其中图1a为整体结构,图1b为各焊点的局部放大图。从图1中可以看到该车型车身侧围上的焊点很多,同时各焊点之间的相对位置无明显规律可循,分布比较杂乱,如果焊接的路径规划得不合理,则会严重影响生产效率。
焊接机器人的路径规划问题,实际上就是在满足一定的约束条件下,找到一条最优的焊接路径完成各焊点的焊接工作,这与旅行商问题(TSP,即商人从起始城市出发,对每个城市走访一遍后再返回起点,在走访完成后,力求耗时最短或者行走路程最短)十分相似。
焊接机器人在进行焊接操作时,通常只考虑其在起始焊点以及终止焊点的位姿,而其在两个焊点之间移动时采用的控制方式则不必考虑,即只需要对其进行点位控制。在实际应用中,通常还需要考虑到一些干涉问题,如焊枪与车身、焊枪与夹具等。机器人路径规划的好坏需要一个评价的标准,对于焊接机器人而言,通常可以用耗时最少、能耗最少、移动距离最少等标准来进行评价。通过白车身侧围焊点的分布情况进行分析,发现各焊点在z轴上的相对位置偏差较小,可以忽略不计,因此本文不考虑z轴上的偏差,直接将各焊点建立O-xy平面坐标系,并以移动距离最短为目标,进行焊接机器人的焊接轨迹规划,由此建立的目标函数如下:
(1)
(2)
(3)
其中:n为焊点的个数;d(Ci,Ci+1)为焊点Ci和Ci+1之间的距离;d(C1,Cn)为起始焊点和终止焊点之间的距离。
FOA主要有以下几个步骤:
(1)确定相关参数。主要包括M(种群数)、Gmax(最大迭代次数)、X_axis和Y_axis(初始坐标)、L(搜索步长)。
(2)按式(4)确定每个果蝇个体新的位置。
(4)
(3)估计果蝇个体所在位置与原点之间的距离Disti,其倒数即为味道浓度判定值Si。
(5)
(4)将Si代入适应度函数(fitnessfunction)中,得到每个果蝇个体所在位置的食物味道浓度Smelli。
Smelli=function(Si)
(6)
(5)保存该果蝇群体中Smelli最大的果蝇个体的最优适应度值以及它的位置坐标。
[Sg,Xg,Yg]=max(Smelli)
(7)
(6)记录并保留bestSmell及其对应的X、Y坐标,其余果蝇则向该位置聚集。
(8)
(7)重复执行步骤(2)~(5),判断Sbest是否优于前一值。若当前迭代次数小于Gmax,则重复步骤(6)。
通过分析上述FOA算法的基本步骤可知,FOA还存在着一些不足之处:一是其搜索步长L影响着算法的搜索能力,而它在最开始就已被设定好,并不会随着迭代的进行而发生变化,如果从一开始对它的设置就不合理,那么就会对最终的结果造成重要的影响;二是其生成解的方式具有局限性,即在每次迭代过程完成后,每个果蝇个体都飞向最优个体,这就导致当搜索步长发生变化时会造成搜索不均匀的情况出现,进而影响最终的结果。
本文针对FOA存在的上述2个问题对其进行改进,主要创新点体现在以下2个方面:
(1)用自适应步长替代固定步长。初始化种群位置后,果蝇个体的随机方向和距离公式变更为式(9)。
(9)
式中:ω表示步长的权重,它由式(10)确定。
ω=ω0eG
(10)
式中:ω0表示初始步长的权重;G表示权重的系数,它由式(11)确定。
(11)
式中:Sbest为截止到g次迭代的历史最优适应度值;Sg-1为上一次迭代最优适应度值。通过式(9)~(11)就实现了搜索步长的自适应变化,并且它与搜索得到的历史最优适应度值和当代迭代搜索得到的最优适应度值相关,也就是参考了历史和当前相关信息。当Sbest和Sg-1相差较大时,G就变大,进而搜索步长就增大,果蝇个体就需要飞得更远;当Sbest和Sg-1相差较小时,G就变小,进而搜索步长就减小,果蝇个体就进行短距离的飞行。长短飞行的相互协同,就使得果蝇个体在搜索范围内的随机性更强,可以进行更有效的搜索。
(12)
Sgi=Sg+Rgi(i=1,2,…,Ngi)
(13)
式中:Rgi表示烟花爆炸半径;R为常数,用于对Rgi进行调节;Ngi表示爆炸数目;N为常数,用于对Ngi进行调节;ε用于避免除零操作,其为机器最小值。Rgi和Ngi的计算公式为式(14)。这样,通过对当代Sg进行烟花爆炸操作,就产生了Ngi个新的适应度值,而后保留Ngi个新解中的最优适应度值和位置信息。
(14)
IFOA的伪代码如下:
本文以生产线上一白车身侧围焊接工位上的机器人为例,对IFOA方法的有效性进行验证,并从纵向对比和横向对比2个方面进行比较分析。
参与纵向对比的方法包括:IFOA、FOA方法、文献[11]中的LFOA方法、文献[12]中的DCSFOA等4种方法。在该对比中,果蝇种群规模M都设置为30,最大迭代次数Gmax都设置为200,初始搜索步长L设置为1;对于LFOA、DCSFOA两种方法种需要设置的参数,均按照原参考文献进行设置;对于IFOA中的参数,烟花爆炸半径常数R设置为2,爆炸数目常数设置为50,初始步长权重ω0设置为2。
参与横向对比的方法包括:IFOA、文献[4]中的IACO方法、文献[5]中的IABC方法、文献[6]中的IGA方法。在该对比中,相关方法的参数设置均按原文献进行设置。
3.2.1 纵向对比结果分析
采用FOA、LFOA、DCSFOA以及IFOA等4种方法分别进行20次独立的路径规划计算,分别得到图2和、表1和图3的结果,其中图2为20次计算结果的可视化显示,表1为4种方法20计算结果的4项统计指标(最短路径、最长路径、平均值和标准差),图3为4种方法最短规划路径的可视化结果。
从图2中可知,从每种方法计算结果曲线的上下关系来看,FOA位于最上方,本文IFOA位于最下方,LFOA和DCSFOA位置2者之间。这说明IFOA的计算得到了路径是最短的,比其他3种方法得到的路径都要短;从每种方法计算结果曲线的波动程度来看,FOA的波动最大,LFOA的波动次之,DCSFOA和本文IFOA的波动程度大体相当。这说明在20次计算中,FOA和LFOA都存在陷入局部最优无法跳出的情况出现,以至于搜索不到最优解,而DCSFOA和IFOA的波动相对较小,算法的稳定性更强。从表1的结果可知,对于最短路径指标,本文IFOA比其余3种方法中路径最短的DCSFOA都还缩短了30.51 mm;对于最长路径指标,IFOA比LFOA和FOA两种方法的最短路径指标都还要小;对于平均值指标,同样是IFOA比其他3种方法的结果要好;标准差指标体现的是算法的稳定性,因此这也说明了IFOA的算法稳定性较其他3种方法的更强。从图3中可知,从起始点至终止点再返回起始点的路径中,只要IFOA是没有交叉的,其余3种方法的路径或多或少都存在一定的交叉。
表1 纵向对比4种方法的统计结果
通过上述分析结果可以得出:4种方法在路径规划中,IFOA最优,DCSFOA次之,LFOA位列第3,FOA最差。通过对4种方法的具体步骤分析可知,LFOA虽然改变了果蝇个体位置更新方式,但Levy飞行是按照一定概率实现跳跃的,因此还是会出现陷入局部最优的情况;DCSFOA由于变固定步长为动态变步长,实现了搜索步长随迭代过程的变化而变化,因此寻优能力更强,但是随着步长动态变化后,没有考虑生成解的均匀性;而IFOA通过两个方面的改进,增强了算法的总体寻优能力,进而可以得到更好的寻优效果。
3.2.2 横向对比结果分析
采用IACO、IABC和IGA分别进行20次独立的路径规划计算,分别得到图4、表2和图5的结果。需要说明的是,因为在纵向对比中几种方法在耗时上差距很小,对耗时进行对比无太大意义,因此在表1种未对耗时进行对比,而横向对比中几种方法在耗时上差异很大,因此在表2中增加了最短路径耗时的对比。
表2 横向对比4种方法的统计结果
从图4、表2、图5和图3d的结果可以得到如下结论:从路径规划结果来看,IFOA得到的路径长度与IABC基本相当(IFOA比IABC略短5.68 mm),比其余2种方法要短,这说明IFOA的路径规划能力更强;从最短路径规划耗时来看,IFOA的耗时远远小于其余3种方法,特别是比与IFOA路径长度相当的IABC减少了近40 s,这说明IFOA的路径规划效率更高;从20次计算标准差值来看,IFOA的标准差均比其它3种方法的要小,这说明IFOA的路径规划稳定性更好。
本文研究了焊接机器人的焊接路径规划问题。首先,在分析焊接机器人焊接问题的基础上,建立了以焊接路径最短为目标的优化问题;其次,针对FOA存在的两点不足之处,提出了IFOA算法;最后,将IFOA用于解决该优化问题,并与其他6种方法分别进行纵向和横向的对比分析,验证了方法的有效性。