一种基于分组教与学算法的圆度误差评定方法与流程

文档序号:11199699阅读:626来源:国知局
一种基于分组教与学算法的圆度误差评定方法与流程

本发明属于机械零件的数字化检测领域,特别是涉及一种基于分组教与学算法的圆度误差评定方法。



背景技术:

圆度误差是回转体零件的重要形位误差之一,影响着零件的装配精度和使用寿命。因此,如何精确的获得零件圆度的误差信息,保证机械产品的设计质量,是现阶段重要的研究课题之一。

国家标准规定了四种圆度的误差评定方法,包括最小外接圆法,最大内接圆法,最小二乘法和最小区域法,其中最小二乘法和最小区域法的使用最为广泛。针对机械零件圆度误差的评定算法,王东霞等在其文献《微分进化算法在圆度误差评定中的应用》中采用了微分进化算法对圆度误差进行了评定,岳武陵等在其文献《基于仿增量算法的圆度误差快速准确评定》中采用了仿增量算法对圆度误差进行了评定,陈飒等人在其文献《基于改进遗传算法的圆度误差评定》中采用遗传算法对平面度误差进行了评定。

综上所述,随着计算机技术和人工智能技术的不断发展,圆度误差评定方法也越来越完善,精度也越来越高,而其中最主要的方法就是结合各类优化算法对最小区域法进行不断的研究。教与学优化算法是2012年提出的一种新型全局智能优化算法,其算法参数很少,算法鲁棒性很好,可以通过引入相关策略,进一步提高算法精度,由于教与学优化算法良好的计算性能,现阶段已经被广泛的应用于各类工程领域。

本发明是在基本教与学算法的基础上,对算法初始化过程增加了分组策略,进一步提高算法的搜索能力,避免算法陷入局部最优,以提高零件平面度的评定精度。



技术实现要素:

本发明的目的是提供一种基于分组教与学算法的圆度误差评定方法,以提高圆度误差的评定精度和计算稳定性。

一种基于分组教与学算法的圆度误差评定方法,主要包括以下内容:

步骤一:确定被测零件的被测圆要素,通过三坐标测量机获取零件的测量数据点为pi(xi,yi)(i=1,2,…,n);

步骤二:根据圆度误差的最小区域原则,点到圆心的距离公式,如公式(1)所示;建立圆度误差的数学模型,如公式(2)所示。其中rij为测点到圆心的距离,(xi,yi)为测点坐标,(aj,bj)为同心圆圆心坐标值,f(a`,b`)为圆度误差;

f(a′,b′)=min(max(rij)-min(rij))(2)

步骤三:读取测量数据pi(xi,yi)(i=1,2,...,n),带入公式(2)中,对教与学算法的参数进行初始化,主要包括初始化学生x=(x1,x2,...,xi),i=1,2,...,n,其中xi表示班级里的学生i,n为学生数量。对于某个学生xi,又有xi=(xi1,xi2,...,xij),j=1,2,...,d,xij表示学生i所学的科目j,d为总科目,最优解为xt,即适应度值最优的为班级老师成绩,教与学优化算法的迭代次数w,爬山搜索算法迭代次数w,进入步骤四;

步骤四:采用种群分组和洗牌策略的目的是增强学生间的信息交流能力,通过建立新的小组和各组的老师,从而增加算法的全局搜索能力,避免算法早熟。首先定义种群分组策略:确定班级里小组数目m,每组的学生人数n,从而确定产生初始学生数目为f(f=m×n)计算每个学生的适应度,将学生按照适应度按优劣进行排序,并记录下整个种群的适应度值最优的学生xt。按小组数目m将学生进行分组,划分准则是将排名第1的学生放入第1个小组,第2个学生放入第2个小组,第m个学生放入第m个小组,然后再将m+1个学生放入第1个小组,以此类推,第2m个学生放入第m个小组,其中,第q个小组yq表达式为:yq=x(q+m(p-1)),p=1,...,n;q=1,...m)。同时记录全局最优学生xt和组内最优学生xt,m。

步骤五:计算每个学生的适应度函数值,并根据公式(3)、(4)和(5)对学生的成绩进行更新,式中:x(i,j)’为学生i的科目j更新后的成绩;x(i,j)为学生i的科目j更新前的成绩;rand为[0,1]之间的随机数;xt(j)为教师的科目j成绩;t为教学因子;x(j)为学生科目j的成绩;m(j)为班级里第j个科目的平均成绩;round为四舍五入的取整函数。教学阶段完成后,通过对比适应度值的优劣,完成解的更新,进入步骤五;

x(i,j)′=x(i,j)+rand×(xt(j)-tm(j))(3)

t=round[1+rand(0,1)](4)

步骤六:对学生成绩进行再次“学习”,具体方式是通过随机抽取两个学生,对比其适应度值得大小,让适应度值大的向适应度值小的进行学习更新,更新公式如(6)所示,式中:x′a为学生a学习后的成绩;xa为学生a学习前的成绩;xb为学生b学习前的成绩。当学习过程完成后,进一步和老师的成绩xt进行对比,完成解的更新,进入步骤七;

x′a=xb+rand×|xa-xb|(6)

步骤七:判断算法是否当迭代完成,当满足w次迭代后,算法终止,此时全局最优解xt的适应度函数值为所求平面度误差值,如果算法未能完成w次迭代,则将此次迭代得到的全局最优解作为班级老师,带入下一次迭代过程。

与现有技术相比,本发明具有如下的优点:

通过建立平面度误差评定的最小区域法参数方程,比较直观的反映了平面度的求解数学模型,是一种通用的数学模型,没有计算几何中的坐标变换过程与测点预处理过程等繁琐的建模过程,可以充分的应用到所测的数据,并且可以应用于大量的测点数据之中,在算法应用层面,该算法在标准教与学优化算法的基础上,相引入了两次爬山搜索策略,进一步提高了算法的精度,收敛速度更快,求解过程完全符合国际标准中的最小区域原理,因此计算结果精度更高。

附图说明

图1是本发明的算法流程;

图2是本发明的圆度误差迭代求解曲线图。

具体实施方式

为了更加清晰具体的表达本发明的设计方案和优点,下述过程将结合附图对整个评定的方案流程进行详细的描述。

本发明提供了一种基于二次爬山教与学算法的平面度误差评定方法,主要包括以下内容:

步骤一:确定被测零件的被测圆要素,通过三坐标测量机获取零件的测量数据点为pi(xi,yi)(i=1,2,…,n);

步骤二:根据圆度误差的最小区域原则,点到圆心的距离公式,如公式(1)所示;建立圆度误差的数学模型,如公式(2)所示。其中rij为测点到圆心的距离,(xi,yi)为测点坐标,(aj,bj)为同心圆圆心坐标值,f(a`,b`)为圆度误差;

f(a′,b′)=min(max(rij)-min(rij))(2)

步骤三:读取测量数据pi(xi,yi)(i=1,2,...,n),带入公式(2)中,对教与学算法的参数进行初始化,主要包括初始化学生x=(x1,x2,...,xi),i=1,2,...,n,其中xi表示班级里的学生i,n为学生数量。对于某个学生xi,又有xi=(xi1,xi2,...,xij),j=1,2,...,d,xij表示学生i所学的科目j,d为总科目,最优解为xt,即适应度值最优的为班级老师成绩,教与学优化算法的迭代次数w,爬山搜索算法迭代次数w,进入步骤四;

步骤四:采用种群分组和洗牌策略的目的是增强学生间的信息交流能力,通过建立新的小组和各组的老师,从而增加算法的全局搜索能力,避免算法早熟。首先定义种群分组策略:确定班级里小组数目m,每组的学生人数n,从而确定产生初始学生数目为f(f=m×n)计算每个学生的适应度,将学生按照适应度按优劣进行排序,并记录下整个种群的适应度值最优的学生xt。按小组数目m将学生进行分组,划分准则是将排名第1的学生放入第1个小组,第2个学生放入第2个小组,第m个学生放入第m个小组,然后再将m+1个学生放入第1个小组,以此类推,第2m个学生放入第m个小组,其中,第q个小组yq表达式为:yq=x(q+m(p-1)),p=1,...,n;q=1,...m)。同时记录全局最优学生xt和组内最优学生xt,m。

步骤五:计算每个学生的适应度函数值,并根据公式(3)、(4)和(5)对学生的成绩进行更新,式中:x(i,j)’为学生i的科目j更新后的成绩;x(i,j)为学生i的科目j更新前的成绩;rand为[0,1]之间的随机数;xt(j)为教师的科目j成绩;t为教学因子;x(j)为学生科目j的成绩;m(j)为班级里第j个科目的平均成绩;round为四舍五入的取整函数。教学阶段完成后,通过对比适应度值的优劣,完成解的更新,进入步骤五;

x(i,j)′=x(i,j)+rand×(xt(j)-tm(j))(3)

t=round[1+rand(0,1)](4)

步骤六:对学生成绩进行再次“学习”,具体方式是通过随机抽取两个学生,对比其适应度值得大小,让适应度值大的向适应度值小的进行学习更新,更新公式如(6)所示,式中:x′a为学生a学习后的成绩;xa为学生a学习前的成绩;xb为学生b学习前的成绩。当学习过程完成后,进一步和老师的成绩xt进行对比,完成解的更新,进入步骤七;

x′a=xb+rand×|xa-xb|(6)

步骤七:判断算法是否当迭代完成,当满足w次迭代后,算法终止,此时全局最优解xt的适应度函数值为所求圆度误差值,如果算法未能完成w次迭代,则将此次迭代得到的全局最优解作为班级老师,带入下一次迭代过程。

以上所述,仅为本发明教佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化和替换,都应涵盖在本发明的保护范围之内,因此,本发明的保护范围应该以权利要求的保护范围为准。

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