时间:2024-07-28
刘德平,于 练,高建设
(郑州大学机械工程学院,河南 郑州 450001)
在现代旋转机械工业中,刀具加工几乎覆盖所有的应用,刀具是否磨损对设备的加工精度、寿命和可靠性有很大的影响,故对刀具磨损阶段的监测有重要的实际意义。一方面,刀具加工磨损时,振动信号故障特征非常弱,常被机床其他零部件产生的噪声所干扰,信号特征具有明显的非平稳性和非线性特性[1];另一方面,难以获得大量精确的刀具磨损阶段故障样本数据限制了传统模型如贝叶斯决策等传统模式的识别性能。支持向量机(SVM)是一种适合于小样本数据的模式识别方法[2],能够根据信号的特征把信号进行分类,可以对非平稳、非线性信号进行识别和分辨[3]。SVM的识别准确率受其参数影响,而最优参数的选取是一个难点[4]。细菌觅食算法(BFA)是一种智能算法,该算法的通用性强、全局搜索性强、计算速度快,且具有自主学习性[5],广泛的应用于参数优化、信号处理等领域[6]。文献[7]将BFA应用到轴承故障诊断、文献[8]将BFA应用到齿轮箱故障诊断,都获得了较好的结果。但当前还没有在刀具故障诊断应用的相关报道。因此,提出利用细菌觅食算法优化SVM参数建立刀具故障诊断模型,提高对刀具磨损故障诊断的精度。
细菌觅食算法是根据大肠杆菌在环境中寻找食物的原理抽象出来的一种智能算法,包括趋向性操作、复制操作和迁徙操作3个基本过程。算法的具体实现步骤如下:
(1)参数初始化,包括细菌总数S,迁徙概率Ped;趋化次数Nc;单向最大游动次数Ns;复制次数Nre;迁徙次数Ned;
(2)确定初始细菌群的位置,依次判定迁移次数、繁殖次数、趋化次数是否达到设定最大值。
(3)趋向性操作。设Pi(j,k,l)为第i个细菌第j次趋向性操作,第k次复制操作,第l次迁徙操作后的坐标,则有:
式中:N2—细菌i趋向操作的次数;N1—比例缩放因子。
(4)复制操作。设细菌种群数M,Fi(j,k,l)为细菌i的适应度值,先对所有细菌的适应度值降序排列,再把排名靠前的M/2个体细菌替换排名靠后的M/2的个体细菌。
(5)迁徙操作。一定概率下,当某个细菌个体满足迁徙的条件,细菌个体本身消失,并随机产生一个新的细菌个体替代原来的个体,保持种群细菌数的均衡。
(6)迁徙次数达到预定值,运算结束。
SVM是一种统计学习理论的新型机器学习方法,被广泛的应用到模式识别、数据分析等领域。SVM的基本原理是构造一个超平面对数据样本进行划分,使分开的样本点到超平面之间的最短距离最大化。处理的数据线性不可分时,引入非负松弛因子ξ来提高SVM的学习能力[9],其目标函数为:
式中:K(x,xi)—径向基核函数;g—核函数参数;δ—核函数函数的带宽。
由式(6)~式(9)可知,SVM模型性能的好坏主要取决于误差惩罚因子C和核函数参数g,因此可以通过寻找最优的参数C和g来提高SVM模型的诊断能力。BFA选取最优C和g的关键在于BFA适应度值的选择,而SVM模型输出的准确率是检验SVM性能最直观、最有效的标准。故选取MATLAB自带SVM作为BFA评估适应度函数,把随机初始化参数组{C,g}代入SVM计算,得出的准确率作为适应度值,并与前一组进行比较,把大的适应度值保存作为新的阈值适应度值。BFA 优化SVM 模型参数C和g的流程图,如图1 所示。图中:i,j,k—趋向、复制和迁徙的计数参数。
图1 参数优化流程图Fig.1 Parameter Optimization Flow Chart
刀具故障诊断实验机床为沈阳第一机床厂CAK3675V数控车床,使用硬质合金车刀车削,工件材料为40Cr。主轴转速为400r/min,进给量为0.2mm/r,背吃刀量为0.5mm,选用加速度传感器采集刀具信号,型号为CT1010L,采样频率为20KHz,安装在刀架底座,如图2所示,实验采集了刀具初期磨损、中期磨损、后期磨损振动加速度信号若干,刀具三种状态下的时域信号图,如图3所示。
图2 刀具振动测试实验装置Fig.2 Tool Vibration Test Experimental Device
图3 刀具故障状态的振动信号Fig.3 Vibration Signal of the Tool Fault State
从上图3看出,刀具磨损阶段振动信号具有非线性、非平稳性特征。互补集合经验模态分解适合处理具有非线性、非平稳特征的信号[11],分解获得若干本征模态分量(IMF),计算各IMF 分量能量并选取前5个高能量比值的分量作为SVM识别的特征参数。对刀具磨损故障振动信号特征值提取步骤如下:
(1)将振动信号经互补集合经验模态分解得若干IMF,各IMF用ai(t)表示,其能量表达式为:
根据上述步骤,实验采集初期磨损、中期磨损和后期磨损三类振动故障信号,每类信号50组,每组2000个数据点。
随机选取刀具初期磨损故障信号10组作为训练样本数据,剩下的40组作为测试样本数据。初始化参数S=40;Ped=0.25;Nc=40;Ns=5;Ned=5;Nre=5;参数C和g的取值范围根据具体情况确定,该实例分析两参数优化区间都选为[0,40];取初期磨损10组数据作为一类,分别取中期、后期磨损20组数据作为另一类进行SVM 训练;得到初期磨损SVM1 模型。BFA 随机初始化参数组{C,g}及对应适应度函数SVM的准确率值,如图4(a)所示,绿色圆圈表示参数组;考虑到细菌觅食算法趋向性、复制、迁徙操作的迭代次数过多,直接给出优化后的最优参数组,如图4(b)所示;参数组最优解误差惩罚因子C1=3.7794;核函数参数g1=3.7882。
图4 BFA优化过程中的细菌种群分布Fig.4 The Distribution of Bacteria in the BFA Optimization Process
将40组测试数据代入SVM1模型中进行故障判别,并与原始默认C=1;g=1的SVM模型的判别结果进行比较结果,如图5所示。认定大的似然值对应的是初期磨损阶段,由图5可知,传统SVM 在第8组和25组数据明显存在误判现象,而优化后的SVM可以准确的判别刀具的磨损阶段。
图5 SVM对正常切削状态的判别Fig.5 SVM Discrimination in the Normal Cutting State
同理,训练分别得到中期磨损SVM2 模型,后期磨损SVM3模型;其对应SVM2 模型优化参数误差惩罚因子C2=39.8532,核函数参数g2=1.8742;SVM3 模型的优化参数误差惩罚因子C3=30.26;核函数参数g3=9.837;其两模型对相应40 组测试数据的判别结果,可见优化模型可以准确的识别测试数据,如图6、图7所示。
图6 SVM对中期磨损状态的判别Fig.6 SVM Discrimination in the Medium-Term Wear State
图7 SVM对后期磨损状态的判别Fig.7 SVM Discrimination in the Later Wear State
为精确判断每组刀具故障数据所属故障状态,先用SVM1判别初期磨损,再把不能判别为初期磨损的故障数据分别输入SVM2及SVM3,找出对应刀具磨损阶段。把SVM2判别为非中期磨损的数据输入SVM1和SVM3、SVM3判别为非后期磨损的故障数据输入SVM1和SVM2再次判别,整理后,刀具故障识别结果,如表1所示。
表1 优化SVM对40个测试样本的判别结果Tab.1 Discriminant Results of Optimized SVM for 40 Test Samples
表中结果表明,优化后的SVM对于刀具故障识别是可靠的,相对于传统的SVM,初期磨损和后期磨损识别的准确率提高了5%,中期磨损识别的准确率提高了7.5%。对于表中未能100%识别故障状态可能由以下二个原因造成;(1)采集刀具故障数据过程中外界振动信号的干扰;(2)刀具故障数据训练样本不足和振动信号特征值的提取不充分。
表2 传统SVM对40个测试样本的判别结果Tab.2 Discriminant Results of Traditional SVM for 40 Test Samples
针对利用传统的SVM 模型对刀具磨损阶段进行故障诊断时,不能够自适应的寻求全局最优参数的现状,提出了BFA优化SVM的刀具故障诊断方法。通过此方法找出了SVM全局最优的惩罚因子C和核函数参数g。将所提方法与未优化的SVM 模型相比,验证了方法的有效性和可靠性,并得到以下结论:
(1)细菌觅食算法可以很好地实现对支持向量机参数的优化,适合于利用支持向量机对刀具故障诊断过程中参数的选取。
(2)与传统的支持向量机相比,BFA优化SVM的刀具故障诊断方法的识别效果更好,准确率更高,是一种判别刀具磨损故障的有效方法。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!