一种机械加工表面粗糙度预测方法与流程

文档序号:16135667发布日期:2018-12-01 00:56阅读:227来源:国知局

本发明属于机械加工技术领域,尤其是涉及一种机械加工表面粗糙度预测方法。

背景技术

智能加工作为智能制造的关键技术,需要对机械加工过程实时在线监测,采集切削力、振动、声发射、温度等检测信号,提取相关特征,对切削过程的状态进行判定,并能对加工质量、刀具耐用度和工艺系统的稳定性进行预测,进而调整切削参数来实现智能控制。在机械加工中,表面粗糙度是衡量产品表面质量的重要指标之一。因此,如何有效地预测工件的表面粗糙度成为了机械制造领域的一个关键问题。

目前,国内外许多学者对表面粗糙度预测技术进行了深入研究。目前关于表面粗糙度预测研究方法主要分为三种:基于切削理论模型、基于切削参数的经验模型以及基于人工智能的预测方法。基于切削理论模型和基于切削参数的经验模型的预测方法,由于误差较大,更多的是采用人工智能的预测方法。bp神经网络具有理论上逼近任何非线性连续函数的能力,因而其在研究中得到广泛的应用,但是bp算法容易陷入局部极小值,无法达到全局最优点,而copula分布估计算法(copulaestimationofdistributionalgorithm,copulaeda)则是基于全局来寻找最优解,因此很好的弥补了bp算法的劣势。



技术实现要素:

针对智能制造中通过在线监测切削加工过程来判定系统的状态及预测,提出了基于copulaeda和bp神经网络混合算法的表面粗糙的预测新方法,以监测信号作为变量参数,以表面粗糙度作为输出,选取足够数量的变量参数和对应的表面粗糙度作为样本数据;然后,对样本数据进行归一化处理;进而,基于公式,采用试凑法确定网络结构;然后,初始化copulaeda的群种,通过计算预测值和实测值的误差选择s个优秀个体;通过copula分布估计算法来优化网络参数,将最优的权值和阈值赋给神经网络;最后基于bp算法进一步修正网络的参数,直至达到期望误差或者迭代次数,保存最终的网络来计算表面粗糙度的预测值。

本发明通过以下技术方案实现:一种机械加工表面粗糙度的预测方法,包括以下步骤:

步骤s1、样本数据的获取:选取多组检测参数和对应的表面粗糙度作为样本数据;

步骤s2、样本数据预处理:将步骤s1中的检测参数和表面粗糙度数据进行归一化,并将归一化后的参数和表面粗糙度分别作为神经网络的输入和输出样本;

步骤s3、确定神经网络结构:利用试凑法确定确定网络结构;

步骤s4、初始化群种:随机产生p个神经网络的权值和阈值;

步骤s5、选择s个优秀个体:将s4产生的p个神经网络的权值和阈值逐一赋给神经网络,计算表面粗糙度ra预测值和实测值的误差,选择s个优秀个体;

步骤s6、基于copula分布估计算法优化网络参数:利用copula分布估计算法优化网络参数,得到最优的权值和阈值,并将最优的权值和阈值赋给神经网络;

步骤s7、基于bp算法优化网络参数:将s6得到的最优的权值和阈值赋给神经网络,直至达到期望误差或者迭代次数,得到最终的最优权值和阈值来计算表面粗糙度的预测值。

上述方案中,所述步骤s3具体为:根据输入层和输出层单元格数来确定隐含层的单元个数,基于公式其中m为输入层单元个数,n为输出层单元个数,利用试凑法确定误差最小时所对应的节点数。

上述方案中,所述步骤s4具体为:随机产生p个神经网络的权值和阈值{xi1,xi2,…xij},i=1,2,…,p,j是权值和阈值按照编码方式排列成长度为k(m+n)+n+k的一维数组的字符数,表示权值和阈值初始群种的维数,其中m为输入层单元个数,n为输出层单元个数,k为隐含层单元个数。

上述方案中,所述步骤s5具体为:将步骤s4产生的p个权值和阈值逐一赋给神经网络,并用归一化的切削力f作为输入得到的表面粗糙度ra预测值,以实测值和预测值误差大小来评价这p个权值和阈值优劣,从其中选择误差最小的r个个体以及随机选择t个个体作为copulaeda的s个优秀个体,s=r+t。

上述方案中,所述步骤s6具体为:建立所述s个优秀个体{xij,i=1,2,…,s}的概率分布模型fj,利用copula函数进行采样,产生r个服从联合分布函数c的变量u1k,u2k,…ujk,表示第k组j维变量,k=1,2,…,r,根据公式xjk=fj-1(ujk),得到r个新个体x1k,x2k,…xjk,同时从s个优秀个体中选择d个个体,并随机产生p-r-d个个体,将这三组组合起来作为下一代初始群种,返回步骤s5,直到达到期望误差或者迭代次数,停止优化,选出误差最小所对应的个体解码得到最优的权值和阈值。

上述方案中,所述步骤s7具体为:将步骤s6得到的最优的权值和阈值赋给神经网络,并在训练样本数据的过程中利用bp算法不断的修正权值和阈值,达到期望误差或者迭代次数停止训练,得到最终的最优权值和阈值。

上述方案中,还包括步骤s8;所述步骤s8为评价网络,具体为:将步骤s7得到的最终权值和阈值赋给网络,以验证实验的切削力f为输入,并计算预测的表面粗糙度ra和实测值的误差,以此来评价网络结构的准确性和可靠性。

上述方案中,所述优秀个体s的个数不少于p/2个

上述方案中,选用正态分布作为优秀个体的边缘分布,选用claytoncopula函数进行采样。

上述方案中,所述步骤6和步骤7在优化神经网络参数过程中,以表面粗糙度误差率最小为作为选择最优权值和阈值的评价标准。

与现有技术相比,本发明的有益效果是:本方法将copulaeda和bp算法相结合来优化神经网络,既解决了单一bp算法容易陷入局部极小的情况,又解决了单一copulaeda算法收敛速度慢的缺点,为自动化加工和机械加工过程在线监测提供了一个新的视角。通过在线监测运行状态下的工艺系统,能够实现机械表面加工质量的预测预报,对于实现智能制造和工业4.0具有重要的科学意义和较大的实用价值。

附图说明

图1是本发明一实施方式的copulaeda-bp混合算法流程图;

图2是本发明一实施方式的1-4-1的神经网络模型。

具体实施方式

下面结合附图1以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。

如图1所示,本发明所述一种机械加工表面粗糙度预测方法:包括以下步骤:

步骤s1、样本数据的获取;

步骤s2、样本数据预处理:

将实验结果中的检测参数和表面粗糙度数据进行归一化,并将归一化后的参数和表面粗糙度分别作为神经网络的输入和输出样本;

步骤s3、确定网络结构:

根据输入层和输出层单元格数来确定隐含层的单元个数,本文输入和输出各有一个单元,根据其中m为输入层单元个数,n为输出层单元个数,利用试凑法确定误差最小时所对应的节点数为最优;

步骤s4、初始化群种:

随机产生p个神经网络的权值和阈值{xi1,xi2,…xij},i=1,2,…,p,j是权值和阈值按照编码方式排列成长度为k(m+n)+n+k的一维数组的字符数,表示权值和阈值初始群种的维数,其中m为输入层单元个数,n为输出层单元个数,k为隐含层单元个数;

步骤s5、选择s个优秀个体:

将步骤s4产生的p个权值和阈值逐一赋给神经网络,并用归一化的切削力f作为输入得到的表面粗糙度ra预测值,以实测值和预测值误差大小来评价这p个权值和阈值优劣,从其中选择误差最小的r个个体以及随机选择t个个体作为copulaeda的s个优秀个体,s=r+t;

步骤s6、基于copula分布估计算法优化网络参数:

建立这s个优秀个体{xij,i=1,2,…,s}的概率分布模型fj,利用copula函数进行采样,产生r个服从联合分布函数c的变量(u1k,u2k,…ujk),表示第k组j维变量,k=1,2,…,r,根据公式xjk=fj-1(ujk),得到r个新个体(x1k,x2k,…xjk),同时从s个优秀个体中选择d个个体,并随机产生p-r-d个个体,将这三组组合起来作为下一代初始群种,返回步骤s5。直到达到期望误差或者迭代次数,停止优化,选出误差最小所对应的个体解码得到权值和阈值;

步骤s7、基于bp算法优化网络参数:

将步骤s6得到的最优的权值和阈值赋给神经网络,并在训练样本数据的过程中利用bp算法不断的修正权值和阈值,达到期望误差或者迭代次数停止训练,最终得到最优的权值和阈值;

步骤s8、评价网络:

将步骤s7得到的最终权值和阈值赋给网络,以验证实验的切削力f为输入,并计算预测的表面粗糙度ra和实测值的误差,以此来评价网络结构的准确性和可靠性。

具体实施例:

在铣削45钢试验中,本实例选用主切削力为检测参数。

s1、样本数据的获取

为了较好地描述切削力与表面粗糙度两变量的相关性,选取不同切削条件下所对应的切削力和表面粗糙度值作为样本数据,如表1所示。

其中,v代表切削速度,af代表切削速度每齿进给量,ap代表切削深度,f代表切削力,ra代表二维表面粗糙度。

表1铣削试验结果

s2、样本数据预处理

本实例采用的数据预处理方法是对数据进行归一化,它能够提高网络的收敛速度,同时还能避免数值问题,而且在bp算法中常采用sigmoid函数作为转移函数,归一化能够防止净输入绝对值过大而引起的神经元输入饱和现象。将s1中的检测参数和表面粗糙度数据进行归一化,并将归一化后的参数和表面粗糙度分别作为神经网络的输入和输出样本。本实施例使用的归一化公式为:

式一中x'是经过归一化公式变换后的数据,x是原始数据,xmax和xmin分别为原始数据中的最大值和最小值。

s3、确定神经网络结构

神经网络中各层节点数的选择对网络的性能影响很大,所以,需要对各层节点数进行优选。输入层和输出层的节点数目取决于实际问题的数据源,隐含层神经元个数的确定是一个十分复杂的问题,与具体的问题、输入和输出层神经元个数有着重要的关系,大大影响了神经网络的预测精度。如果隐含层神经元个数选取太少时,网络不能充分学习,局部极小的状况就多,学习过程可能不收敛;如果隐含层神经元个数选择太多时,造成学习时间太长,误差也比较大,网络容易出现训练过度的现象。所以隐含层神经元个数应该存在一个最佳的数目,但是目前并没有很好的确定方法,根据输入层和输出层单元格数来确定隐含层的单元个数,本实施例中输入和输出各有一个单元,本实例根据其中m为输入层单元个数,n为输出层单元个数,即隐含层神经元个数取值范围为[3,11],使用相同的样本集进行训练,采用试凑法来计算最合适的节点数,使得网络误差最小的神经网络就是所需的隐含层节点个数,最终确定隐含层单元个数为4。

s4、初始化群种

随机产生p=50个权值和阈值{xi1,xi2,…xij},i=1,2,…50,j是权值和阈值按照实数编码方式排列成长度为k(m+n)+n+k的一维数组的字符数,表示权值和阈值初始群种的维数,其中m为输入层单元个数,n为输出层单元个数,k为隐含层单元个数。本实施例的编码长度j=4×(1+1)+1+4=13。

图2是本实例1-4-1的神经网络模型其中1-4-1代表输入层有一个单元数,隐含层有4个单元数,输出层有一个单元数。隐含层到输入层的权值矩阵为阈值矩阵为输出层到隐含层的权值矩阵为阈值矩阵为b2=[b6],则神经网络权值和阈值编码后的形式为:

characteri=[w21w31w41w51w62w63w64w65b2b3b4b5b6]式二

式二中i表示第i组权值和阈值经编码后的字符串。

s5、选择s个优秀个体

将随机产生的p=50个权值和阈值一一赋给神经网络,将归一化处理后的64组样本数据中的切削力值作为输入,得到64个表面粗糙度的预测值,反归一化处理后计算与样本数据中的表面粗糙度值的误差,选出误差最小的r=15个字符串,再随机选择t=10个字符串作为copulaeda的s(s=r+t=25)个优秀个体。

s6、基于copula分布估计算法优化网络参数

建立这s个优秀个体{xij,i=1,2,…,25,j=1,2,…,13}的概率分布模型fj,选用正态分布作为其边缘分布,即xi~(mean(xi),std(xi)),利用copula函数,本实例选用claytoncopula进行采样,产生r=25个服从联合分布函数c的变量(u1k,u2k,…ujk),k=1,2,…,25,根据公式xjk=fj-1(ujk),得到25个新个体(x1k,x2k,…xjk),同时从s=25个优秀个体中选择d=10个个体,并随机产生p-r-d=50-25-10=15个个体,将这三组组合起来作为下一代初始群种,返回s5。直到达到期望误差或者迭代次数,停止优化,选出误差最小所对应的个体解码得到权值和阈值。

s7、基于bp算法优化网络参数

设置网络的迭代次数(net.trainparam.epochs=10000),网络的迭代步长(net.trainparam.show=50),网络的训练目标(net.trainparam.goal=0.001),相网络的学习系数(net.trainparam.lr=0.05),网络的动量因子(net.trainparam.mc=0.9),将s6得到的最优的权值和阈值赋给神经网络,并在训练样本数据的过程中利用bp算法不断的修正权值和阈值,达到期望误差或者迭代次数停止训练,最终得到最优的权值和阈值。输入层到隐含层的权值为[5.6000;-5.6000;5.6000;5.6000],阈值[-5.6000;1.8667;1.8667;5.6000],隐含层到输出层的权值为[0.3575;0.5155;0.4863;-0.2155],阈值为0.3110。

s8、评价网络

保存经过copulaeda-bp混合算法优化后的神经网络,将验证实验中的12组切削力f归一化处理后作为输入,得到12组表面粗糙度的预测值rapre,并计算其与实测值的误差,结果如表2所示。

表2表面粗糙度预测模型的分析结果

从表2中可以看出,该预测模型的平均准确率是91.98%,所有预测数据的准确率均高于80%,低误差率说明了表面粗糙度预测值rapre与测量值ra的拟合情况良好。

所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变型均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1