基于遗传算法确定测量起始点方法的研究
2011-07-10许红亮李郝林
许红亮,李郝林
(上海理工大学 机械工程学院,上海 200093)
0 引言
在精密加工中,经常需要对加工工件进行检测,以调整加工工艺参数,提高加工精度和效率。准确确定曲线测量的起始点是精密测量中的最基本的程序,也是确保获得正确测量数据的必要条件。国内外对凸轮测量起始点的确定方法进行了相关的研究,能有效地提高凸轮的测量效率[1,2]。但是,由于该方法研究的特定对象,其并不适用于确定任意曲线的测量起始点。在数控机床上对零件实现高精度加工的关键是提高机床的加工定位精度。针对该问题,本文研究了自由曲线在线测量过程中起始点测量问题,提出了一种基于遗传算法的测量起始点确定方法。本文以渐开线齿轮磨削中的齿形误差测量[3~5]为例,详细地分析了测量起始点难于精确确定问题的研究过程。
1 遗传算法测量起始点
1.1 遗传算法简介
遗传算法[6]简称GA(Genetic Algorithm),是一种模仿生物界自然选择和自然遗传机制的随机全局搜索和优化方法,借鉴了达尔文的进化论和孟德尔的遗传学说。遗传算法与传统的算法不同,大多数古典的优化算法是基于一个单一的度量函数的梯度或较高次统计,以产生一个确定性的试验解序,而遗传算法不依赖于问题具体的领域,对问题的种类有很强的鲁棒性,通过有组织、随机的信息交换来重组适应性好的个体,生成新的群体。基于其实用、高效、鲁棒性强的特点,遗传算法得到了迅速的发展。
选择、交叉、变异是遗传算法的三个基本算子,从任一随机产生的初始种群出发,通过随机的选择、交叉、变异操作,产生一群更适应环境的个体,使群体进化到搜索空间中越来越好的区域,重复这个过程,进过若干代之后,直到收敛到满足要求的种群停止,求得问题的最优解。而个体的好坏用适应度来衡量,度量个体适应度的函数称为适应度函数,其与具体求解的问题有关。在寻优的过程中,一般前几代就有可能将搜索范围缩小在一个很小的区域内,但是要精确到接近目标值则需要根据三个遗传算子进行多次的迭代计算。
1.2 确定优化模型及适应度函数
在线测量的优化对象为α0、φ,基于上述特点应用遗传算法解决该组合优化问题。而遗传算法中采用适应度函数值来评估个体性能并指导搜索,基本不用搜索空间的知识。适应度函数主要用于对当前一代中的各个染色体进行评价,通过评价在下一代中除去若干个低性能的染色体,保留一些高性能的染色体,并通过遗传算子补充一些新的染色体,最后得到比较优秀的群体,满足问题的要求。因此,适应度函数的选取相当重要,其选取标准为:规范性(单值、连续、严格单调)、合理性(计算量小)和通用性。在具体的应用中,适应度函数的设计要结合求解问题本身的要求而定,其直接决定了遗传算法的性能。
针对齿形误差在线测量,定义染色体形式为(α,φ),考虑实际的参数误差范围范围,确定α的取值范围为(0°,20°), φ的取值范围为(-1’,1’)。在线测量误差评定的目的是找到最佳(α,φ),使得由该参数确定的理论渐开线与测头实际测得的渐开线最接近。因此,定义适应度函数为:
图1 遗传算法流程图
1.3 遗传算子的选取
遗传算法的三个基本操作为:选择、交叉和变异。在实际的应用中,并没有一定的理论选取依据,往往需要经过多次实验后,才能确定其合理的取值范围。本算法的进化代数取为100代,在产生初始种群时,由于缺乏一定的信息,需要在参数(α,φ)的取值范围内随机地产生100个染色体。在寻优的初始阶段,各参数值的分散性较大,那么此时,遗传算子对优化结果和优化效率均有一定的影响。下面详细说明本算法中应用的各个控制参数的选取。
选择是在群体中选择生命力强的个体产生新的群体的过程。其主要目的是为了避免有用遗传信息的丢失,提高全局收敛性和计算效率。由于选择的个体确定了进行交叉和变异操作的个体,所以选择操作是交叉和变异的基础。在本算法中,选取最佳保留选择操作,即首先按轮盘赌选择方法进行遗传算法的选择操作,然后将当前群体中适应度最高的个体完整地复制到下一代群体中,用来代替每代群体经过遗传操作后适应度最低的个体,这样避免了由于随机操作产生的误差,能保证适应度高的个体被选中。
交叉是按某种方式对两个相互配对的染色体互换其部分基因,从而产生两个新的个体。其是产生新个体的主要方法,决定了遗传算法的全局搜索能力。该算子的设计和实现与具体问题密切相关,针对本文要解决的问题,选择双亲双子单点法,其运算公式为:
变异是以较小的概率对个体上的某个某些基因进行改变,从而形成一个新的个体。其是产生新个体的辅助方法,决定了遗传算法的局部搜索能力。本算法选取基本位变异操作,随机地选择一个染色体(α,φ),并随机地使其中一个参数按变异概率在其取值范围内增加或减少。
虽然具有更好的安全性和耐受性,第二代抗抑郁药物的副作用还有待进一步改善,这是抗抑郁药物研发的一个方向。此外,相当一部分患者未能对现有的典型抗抑郁药物疗法(第一代药物和第二代药物)作出良好反应,并被称为“难治型抑郁症”或者“治疗抵抗型抑郁症”。因此,研发治疗难治型抑郁症的药物是抑郁症疗法的一个重要研究方向,其中一个策略是使用非典型抗抑郁药物。
1.4 遗传算法在测量起始点确定中具体实现
已知实际测量所得的曲线轮廓的坐标数据,在本文齿形误差在线测量中,已知齿轮模数和齿数,进而知道齿轮的渐开线方程,重点是确定两个主要参数α、φ,使得由该参数确定的理论误差测量值与测头实际测量值的差值最小。以下介绍确定α、φ的具体步骤:
1)确定变量的约束条件:
2)确定适应度函数:
3)选择实数编码方式,种群中个体数目为100,交叉概率为0.84,变异概率为0.05,最大终止代数为100;
4)随机产生样本容量为100的初始种群,染色体表示为(α,φ);
5)根据适应度函数进化种群,直到满足结束条件止。
2 计算机仿真验证
为了验证本文所提出的方法的有效性,本文以模数为5、齿数为13的齿轮为例,进行了计算机仿真。利用MATLAB编制了适应度函数及遗传算法主程序,设置了不同的测量起始参数值α0、φ,将该参数所确定的渐开线作为测头实际轨迹曲线,计算由该曲线与测头理想轨迹的距离,将这些计算值作为测头的齿形误差测量值,即fdi。然后,根据这些齿形误差值计算理论起始参数值α0、φ,并将计算结果与所设置的α0、φ进行比较,计算结果如下:
1)设置的测量起始参数为:α0=4,φ=0 时,
仿真时计算的测量起始参数为:
α0=4.001214994084712,φ=-0.009324026416845
齿形误差为:2.9802µm
迭代过程图形如图2所示。
图2 α0=4,φ=0时每一代的最好解与平均值
2)设置的测量起始参数为:α0=5,φ=0 时,仿真时计算的测量起始参数为:
α0=4.971130280598032,φ= 0.043062952623043齿形误差为:3.2587µm
迭代过程图形如图3所示。
图3 α0=5,φ=0时每一代的最好解与平均值
3)设置的测量起始参数为:α0=6,φ=0 时,仿真时计算的测量起始参数为:
α0=5.999834411512355,φ= 0.000258342120353齿形误差为:1.5724µm
迭代过程图形如图4所示。
图4 α0=6,φ=0时每一代的最好解与平均值
4)设置的测量起始参数为:α0=8,φ=0 时,仿真时计算的测量起始参数为:
α0=7.971332505869118,φ=-0.0132944464489852齿形误差为:3.0216µm
迭代过程图形如图5所示。
图5 α0=8,φ=0时每一代的最好解与平均值
图6 α0=10,φ=0时每一代的最好解与平均值
5)设置的测量起始参数为:α0=10,φ=-0.5时,
计算仿真的测量起始参数为:
α0=9.697299112062872,φ=-0.403484597171212
齿形误差为:3.6512µm
迭代过程图形如图6所示。
由以上分析可以看出,当设置的测量位置不同时,最小的齿形误差为1.57µm,即测试起始参数为α0=6,φ=0。所以测量起始点应定为压力角为6°的时候,并且齿轮分度误差值为1.57µm。消除了由于测头初始位置的不确定以及分度误差造成的测量位置不确定给齿形误差的测量带来的附加误差。
3 结束语
本文主要研究的是自由曲线在线测量起始点的确定方法,从而补偿了在线测量中因测头位置不同而产生的附加误差。本文从自由曲线在线测量系统的设计出发,分析了附加误差产生的原因,提出了一种基于遗传算法的测量起始点确定的算法。并以齿形误差在线测量为例,进行了计算机仿真,证明了该方法的可行性。
[1] 刘兴富.凸轮测量起始点确定及测点布局方法[J].机械制造,2003,41(462):47-49.
[2] 包园园,李郝林,李志强.基于三次样条函数的自由曲线测量中数据处理方法研究[J].精密制造与自动化,2008,(4).
[3] 喻彩丽,高良凤.齿轮齿形误差的测量和求解新方法[J].机械加工与自动化,2002,5:19-20.
[4] 李文龙,商向东,等.大齿轮在机测量关键技术分析[J].工具技术,1997,31(11):32-34.
[5] 周克民,胡云昌.遗传算法计算效率的改进[J].控制理论与应用,2002,11(5):193-197.
[6] 王小平,曹立明.遗传算法——理论、应用与软件实现[M].西安:西安交通大学出版社,2002.