滚动直线导轨副运动精度分析的遗传算法研究

   2023-07-11 互联网2730
核心提示:  摘要:为了使滚动直线导轨副运动精度的动态检测结果精度提高,分析了直线度误差评定基准直线的求解过程,从而采用遗传算法对其

  摘要:为了使滚动直线导轨副运动精度的动态检测结果精度提高,分析了直线度误差评定基准直线的求解过程,从而采用遗传算法对其进行寻优,详细讨论了采用遗传算法求解直线度误差的处理过程;对不同工况时的运动精度分别用首尾连线法、最小二乘法及遗传算法进行了实例计算分析比较,遗传算法评定直线度误差精度高且具有良好的稳定性.

  运动精度是指空间中一点在运动过程中实际位移和理论位移的趋近程度[1].为了使滚动直线导轨副运动精度的检测结果更精确及提高检测效率,我们研制了滚动直线导轨副运动精度综合检测仪.此设备处理的检测数据量大,对精确度要求非常高,因而对评定算法的要求也高.目前直线度误差的一些数据处理方法,比如首尾连线法、最小二乘法,其计算出的直线度误差值不太精确,以至于影响精密测量的最终结果.经过研究,认为可采用遗传算法来解决这个问题.

  1 直线度误差处理算法研究

  直线度误差就是被测实际线对其理想直线的变动量[2].根据GB1958-80,在评定直线度误差的时候,应该使被测直线对理想直线的变动量为最小.在给定平面内,直线度误差值使用包容被测实际要素的两平行直线的最小区域宽度f来表示.

  如图1所示,图中直线1和直线3为包容直线,2为理想直线,4是实际的直线.由此可见,确定理想直线的位置,使其满足最小条件是评定直线度误差值的关键.

    建立如图2的直角坐标系,图中X轴为测量基准,(x, y)中x为测量点的位置;y为测量点相对于测量基准的高度值,也就是测得的误差值.根据上面的讨论,为了求出符合最小条件的直线度的误差值,必须先求出符合最小条件的评定基准直线y=ax+b在曲线图上的位置.根据直线度的定义,由图可以建立一个表示直线度误差的目标函数

式中,y为测量所得的直线度误差值;x为检测点在测量方向上的位置,(y-(ax+b))max表示(y-(ax+b))的最大值;(y-(ax+b))min表示(y-(ax+b))的最小值.根据直线度误差计算性质,可以将评定直线平移到原点即y=ax,而对最终的评定结果没有影响.因此式(3)等价于

  已知被评定直线在直角坐标系中的倾斜角在(-π/2,π/2)范围内.因而解决这个问题的关键就是在直线的倾斜角θ∈(-π/2,π/2)范围内,搜索一条斜率为a=tanθ的直线使f的值为最小,这个最小值就是所要求的直线度误差.即求

 

  因此其实质是一个函数的优化问题.为了保证最终求得的直线度误差值的精度,采用遗传算法来解决这个函数优化问题.

  1.1 直线度常规算法

  直线度的常规算法主要有首尾连线法和最小二乘法.首尾连线法是计算误差最常用的一种算法,计算直线度也经常使用该法.用根据最小二乘法的原理[3]确定的评定基准直线来求解的直线度误差,就是最小二乘法的直线度误差.使用最小二乘法确定的评定基准直线比首尾连线法确定的评定基准直线更接近理想直线.

  1.2 基于遗传算法求解直线度误差

  用遗传算法求解的运算过程如下[4]:

  a.确定种群规模、交叉概率、变异概率和最大进化代数.本文选取种群规模M=80,交叉概率Pc=0.6,变异概率Pm=0.001,最大进化代数T=300.

  b.个体编码和解码.遗传算法的运算对象是表示个体的符号串,这里是直线的斜率.直线倾斜角θ∈(-π/2,π/2),用长度为12位的二进制编码Y来表示评定直线对X轴的倾斜角.12位二进制编码将θ离散化为4 095个均等的区域.考虑到θ的边界条件,选定它的解码公式为

  假设某一个体的编码X为000010011111(它的十进制数大小为159)则根据式(5),其对应的角度为α=159×π/4 095-π/2=-3 936π/8 190.

  c.确定个体适应度函数.可以根据式(2)确定适应度函数为

  d.初始化M=80的群体.遗传算法是对群体进行的进化操作,需要给其准备一些表示起始搜索点的初始群体数据.根据所要解决的问题情况,随机选取80个12位的二进制数作为初始群体.

  e.计算每个个体的适应度.遗传算法中以个体适应度的大小来评定各个个体的优劣程度,个体适应度由式(7)来计算.

  f.选择运算.选择运算(或称为复制运算)是在当前代种群中选择出一些比较优良的个体即适应度高的个体复制到下一代群体中.本文采用的选择算子是比例选择算子.对于某个个体A,它的适应度为F(A),而当前群体适应度的总和为F,则这个个体被选中遗传到下代群体中的概率为F(A)/F.

  g.交叉运算.交叉运算是将当前群体内的各个个体随机搭配成对,对每一对个体以Pc=0.6的概率交换它们之间的部分基因位.具体操作过程是:首先对当前群体进行随机配对,其次随机设定交叉点的位置.比如在当前群体中随机选择的两个个体的编码为000000011001和

  010000111111,而随机选定的交叉点位置从高位到低位的值为10,则这两个体经过交叉操作后所产生的下一代个体的编码为000000011011和0100000111101.

  h.变异运算.变异运算是对个体的某一个或某一些基因座上的基因值按Pm=0.001的概率进行改变.改变的基因位置随机产生.例如上文中提到的个体X的编码为000010011111,假设随机选定的基因位2,X经变异操作后产生的下一代个体为010010011111.

  i.用上一代适应度最大的个体取代当前群体中适应度最小的个体.如果种群未达到最大的进化数T,则转向步骤e.否则,此时种群中适应度最大的个体就是所对应的问题解,就是全局最优解.

  2 计算实例分析

  表1是型号为HTLG30AA的滚动直线导轨副在不同的预紧力Fp作用下的四组运动精度检测数据.表2是某型号的滚动直线导轨副在不同速度下的三组运动精度数据.

  表3和表4是对表1和表2的数据分别用遗传算法、首尾连线法、最小二乘法进行运动精度计算的结果比较.

  从上述计算结果可以看出用遗传算法来评定直线度误差,评定直线更为贴近最小条件下的理想直线,计算结果精度高且具有良好的稳定性.三种方法的计算结果稍有出入,说明评定直线的不同.

  与首尾连线法、最小二乘法相比,采用遗传算法计算直线度误差精度高,完全满足最小条件的评定标准,理论上可以无限逼近真实值,并且适合在计算机上实现实时计算.笔者在滚动直线导轨副运动精度综合检测仪上使用遗传算法进行滚动直线导轨副运动精度计算,获得了满意的结果.

  参考文献

  [1]刘建素,李 准,郑时雄等.滚动直线导轨副误差均化作用理论分析.华南理工大学学报(自然科学版),2001(3): 43~46

  [2]张泰昌,陈志东,李隆铸.直线度与平面度误差值的评定.北京:计量出版社,1981.

  [3]李庆扬,王能超,易大义.数值分析.武汉:华中理工大学出版社,1982.

  [4]周 明,孙树栋.遗传算法原理及应用.北京:国防工业出版社,1999.

  作者简介:孙健利(1943-),男,教授;武汉,华中科技大学机械科学与工程学院(430074).

  基金项目:国家火炬计划资助项目(96D231D7800450).


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅