李鹏飞,刘 威,2,张子煜,王天力,范吕阳
(1.苏州科技大学 机械工程学院,江苏 苏州 215011;2.苏州科技大学 天平学院,江苏 苏州 215011)
在数控加工刀轨生成中,逼近误差是指在进给方向上刀具从一个刀位点运动到下一个刀位点形成的包络面与刀触点轨迹线之间的最大误差,逼近误差与相邻刀触点、刀位点的距离(即步长)正相关。步长规划方法主要有等参数法、等距法、步长筛选法和等误差步长法[1-3]。
在三轴球头刀精加工中,逼近误差计算的实质是在刀触点轨迹线上搜索一刀触点,此刀触点到刀位点连线的距离为最值,是典型的多目标优化问题。目前计算逼近误差一般采用几何迭代法[4-6],其原理在提高计算效率方面的瓶颈,导致需要大量逼近误差计算的高精度刀轨和等误差刀轨的生成时间难以减少。
智能算法是对生物群体协同搜索机制和物理原理驱动下的变化现象抽象、提炼出的优化算法,在全局寻优的精度和效率上比传统的迭代法优势明显[7-9],理论上能够用于在刀触点轨迹线上搜索与刀位点连线的距离为最值的点。
作为应用最广泛的智能算法之一,粒子群算法[10]模拟鸟群或蜂群的觅食行为进行最优解搜索,算法思路清晰、计算高效,被广泛应用于多个领域[11-13]。但粒子群算法易过早收敛、陷入局部最优[14],为此,文献[15]提出了带约束因子的粒子群优化算法,以提高算法灵活性和收敛速度。文献[16-19]则对惯性权重的变化分别提出了模糊系统动态调整、线性递减、随机惯性、非线性递减的优化策略,以保持局部最优和全局最优之间的平衡。文献[20]提出一种跟随非线性惯性权重系数变化的动态学习因子,以提高算法的全局搜索能力和局部搜索精度。
受粒子群算法、逼近误差计算过程原理相似和上述研究成果启发,本文建立逼近误差计算的刀触点区间与粒子搜索区间之间的映射关系,提出逼近误差适应度函数、惯性权重因子和学习因子的创建和优化方法,最终完成整个粒子群算法的构造,实现逼近误差的高效计算。
现有方法常以刀触点轨迹线上的弦弧之间的弓高误差近似作为逼近误差[21],如图1 所示,一般将相邻两刀触点PiCC、Pi+1CC间的刀触点轨迹线视为等半径圆弧,即Ri=Ri+1。已知弓高误差最大允许值eG、刀触点PiCC及其曲率半径Ri,由勾股定理可得式(1),变换可得式(2)并求出步长Di。然而真实的逼近误差是刀具包络面与刀触点轨迹线之间的误差,刀触点轨迹线曲率越大,与弓高误差之间的差值越大。且在凸区域时,真实逼近误差大于弓高误差,凹区域时小于弓高误差。
图1 弓高误差示意图
在三轴精加工中,球头刀包络面为以相邻刀位点连线为轴线,半径为R 的圆柱体,相邻刀位点PiCL和Pi+1CL之间的真实逼近误差ei如图2 所示,其中PiCC、Pi+1CC为刀触点,点pj为刀触点轨迹线上与PiCL、Pi+1CL距离最小的点,逼近误差ei可由式(3)表示。
图2 逼近误差示意图
其中,R 为球头刀半径,Li为刀触点线上的点pj到线段PiCLPi+1CL的距离。
真实误差计算过程可视为在刀触点轨迹线上搜索到刀位点连线距离为最值的特定数据点的过程,现有常用方法离散法是在刀触点轨迹线上获取离散数据点并进行计算,但需生成大量离散数据点才能满足高精度要求,计算效率难以提高已成为真实误差广泛应用的最大瓶颈。
粒子群算法的每个粒子都具有由适应度函数决定的适应值,粒子在每次迭代中不断更新,并逐渐接近理论最优粒子及其最优解。
设在一个D 维搜索空间中有N 个粒子,第i 个粒子的位置和“飞行”速度如式(4)和(5)所示,历次迭代搜索到的个体最优值位置参数pbest可由式(6)表示,历次迭代搜索到的种群最优值位置参数可由式(7)表示。
第k 代的第i 个粒子的第d 维向第k+1 代进化时速度和位置的更新如式(8)所示,其中d=1,2,3,…,D,w 为惯性权重因子,c1、c2分别为个体、群体学习因子,、r1、r2(0,1)之间相互独立的随机数,f 为适应度函数,粒子群中两个极值pbest和gbest由式(9)和(10)求出。随着迭代次数的增加,所获得的极值逐渐逼近理论解,一般以迭代次数上限或极值变化量(即计算精度)为终止条件结束算法。
逼近误差的计算过程是在相邻刀触点之间搜索距离最值的过程,与粒子群算法相同,也是一种全局寻优过程。为了实现运用粒子群算法计算逼近误差,提出适应度函数、粒子搜索区间、惯性权重和学习因子的建立和优化方法。本节以任意一行刀触点轨迹CC 中第i 个和i+1 个刀触点PiCC、Pi+1CC及其刀位点PiCL、Pi+1CC为例阐述算法。
令刀触点PiCC、Pi+1CC在刀触点轨迹线上的参数分别为ui、ui+1,则逼近误差所对应的点位于区间[ui、ui+1]的局部刀触点轨迹线上。与点坐标相比,参数u 仅一维,且直接决定点的相对位置和坐标,更适合作为粒子。为了提高算法的规范性和普适性,提出将局部刀触点轨迹线映射到标准区间[0,1],以[0,1]内的离散数值作为实际计算的粒子。任意刀触点轨迹线上的点pj的粒子mj可由式(11)求出,映射过程如图3 所示。
图3 刀触点映射到标准区间示意图
由式(3)可知,刀位点PiCL、Pi+1CL之间的逼近误差是刀触点PiCC、Pi+1CC之间的刀触点轨迹到线段PiCLPi+1CL的距离与刀具半径R 差值的最值,因此两者之间的差值是理想的适应度函数。对于区间[0,1]内的任意第j 个粒子mj,其适应度的计算流程如下:
步骤1:运用式(12)计算出粒子mj所对应的刀触点的参数值uj,代入式(13)计算出参数值uj在刀触点轨迹线CC 上对应的点pj。
步骤2:运用式(3)计算出刀触点到刀位点连线之间的距离Lj。
步骤3:运用式(14)计算出粒子mj的适应度值。
粒子群算法的初期一般需要较大的惯性权重因子以获得较强的全局搜索能力,并随着迭代次数增加递减,从而加快粒子收敛到全局最优[22]。
为了解决常用的惯性权重线性递减方法在前期全局搜索能力弱的不足,本文利用余弦曲线在区间[0,π/2]内的前、中、后段下降速度由慢到快的非线性特点,提出将粒子群优化算法的迭代次数映射到此区间,获得的惯性权重函数如式(15)所示,其中k 为迭代次数,wmax、wmin为惯性权重系数最大、最小值。此函数能够在搜索初期、中期、后期分别获得较慢、较快、快速的惯性权重下降速度,从而使粒子的全局搜索能力在初期时较强,随后逐渐减弱,而局部搜索能力逐渐增强。
个体、群体学习因子,分别决定了自身、群体最优位置在粒子飞行速度计算中的权重,当时,粒子的运动更偏向个体最优方向,反之则更偏向群体最优方向。
在迭代初期,由于距离最优解较远,粒子应注重自我认知,根据个体最优解进行搜索;在迭代中后期,粒子较为接近最优解,应注重群体认识,侧重群体最优解邻域的局部搜索。为此,本文对学习因子采用线性变化的策略,计算式(16)所示,其中c1max、c1min、c2max和c2min分别为个体、群体学习因子的最大、最小值,随着迭代次数k 的增加,c1、c2分别减小、增大。
本节基于上述逼近误差和粒子群算法的原理和优化方法,设计基于粒子群优化算法的逼近误差计算流程。通过计算粒子适应度值,迭代求出最优粒子及其最优适应度值,以设置的计算精度作为计算终止条件,最后输出最优解作为逼近误差。整个计算流程示意图如图4 所示,详细过程如下:
图4 逼近误差计算流程图
步骤1:将搜索区间[ui,ui+1]映射到[0,1],设置种群规模N、速度阈值vmax、vmin和计算精度。
步骤2:随机所有粒子的初始位置和初始速度。
步骤3:根据2.2 节计算出粒子的适应度值获得群体最优粒子gbest。
步骤4:以式(15)自适应改变惯性权重w,根据式(16)自适应改变学习因子c1、c2。
步骤5:以式(8)更新粒子速度和位置。
步骤6:根据2.2 节计算出粒子的适应度值。
步骤7:以式(9)和(10)更新个体最优pbest和全局最优gbest。
步骤8:如果满足计算精度,转到步骤9,否则转到步骤3 继续迭代。
步骤9:输出当前最优粒子位置和适应度值,即最大逼近误差位置和逼近误差值,算法终止。
算法运算过程中,惯性权重最大最小值wmax和wmin的取值对算法性能影响很大,然而取值并无明确的理论依据,多采用实验法选值,常将其设置在0.4 到0.9 之间[23]。算法选用了多组数值进行测试,当wmax=0.9、wmin=0.4 时,性能提高明显,代入式(15)获得惯性权重w 计算式,随迭代次数k 的变化如图5 所示。
图5 惯性权重变化图
与惯性权重类似,常将个体、群体学习因子的最大、最小值c1max、c1min、c2max和c2min设置为2[23]。本文结合优化后惯性权重的变化趋势,选用了多组数值组合进行了测试,当c1max=2.5、c1min=1.6、c2max=2.2、c2min=1.3 时,学习因子变化如图6 所示,满足了前中期加强粒子运动遍历性、全局搜索能力和后期加强局部搜索能力的要求。
图6 学习因子变化图
完成上述数值选取后,在课题组自主开发的CAM 软件上完成了所有算法的程序开发,实现了逼近误差计算功能。
以图7(a)中的曲面为例生成刀轨,曲面尺寸为120 mm×120 mm×45 mm,刀具为直径10 mm 的球头刀,刀轨行数为80,按照等误差步长法生成刀轨,计算精度为0.1。分别采用几何迭代算法[6]和本文算法进行等误差刀轨计算,生成的逼近误差范围为9~10 的等误差刀轨如图7(b)所示,再取4 种不同范围逼近误差进行计算,运行环境为Intel i7-10700、16G RAM 的计算机,所消耗的时间见表1,本文算法比几何迭代算法的计算时间减少了16%以上,对比标准粒子群优化算法的计算时间减少了7%以上,验证了在计算效率上的优势。
图7 自由曲面与生成的等误差刀轨
为了提高数控加工中逼近误差的计算效率,本文对粒子群优化算法计算逼近误差进行了研究。为了提高算法普适性,将刀触点轨迹线上搜索范围映射到标准区间,提出了适应度函数,优化了惯性权重因子和学习因子的变化策略。实验结果表明,所提出的算法耗时更短。在未来的研究中,可进一步在结构、参数优化等方面改进算法,或探索其它类型的智能算法,以提高逼近误差的计算效率。