基于GA—NOA优化算法的侧铣刀轴轨迹规划*

2018-11-01 09:24刘红军
组合机床与自动化加工技术 2018年10期
关键词:适应度曲面遗传算法

刘红军,李 斌

(沈阳航空航天大学 a.机电工程学院;b.研究生院,沈阳 110136)

0 引言

非可展直纹面是工程中常见的一种曲面,并且应用在航空航天、国防工业、船舶等重要领域,加工此类零件难度较大,一直是数控加工领域研究的难点,因此非可展直纹面的加工方法以及加工精度成为主要的研究问题[1]。目前,国内外学者主要集中在局部刀位优化方法的研究,对整体优化方法以及结合智能算法的研究比较少,并且停留在一些比较传统单一的优化算法,缺少对新算法应用在侧铣加工非可展直纹面领域的认识与研究。通过对各种智能算法进行理论研究,综合比较各种智能算法优缺点,最终选择遗传算法与非线性规划的混合算法作为研究对象。通过MATLAB仿真对研究结果进行认证,预计最终能在效率上有明显的提高,误差也能得到明显的改善。

遗传算法(Genetic Algorithms)[2]是一类依靠生物的进化规律演化而来的随机优化方法。它的主要特别之处能够直接对结构对象进行操作,不受到函数之类的约束条件的限制;并且具有内在的隐并行性和非常强的全局搜索优化的能力;遗传算法[2]采用了概率的优化思想方法,能够直接获取并且能够引导优化的搜索空间,自动调节搜索的方向,没有确切规则去限制。遗传算法[3]针对适应度函数能够较快的进行收敛计算,优化结果合理。

非线性规划算法(Nonlinear Optimization Algorithm)的研究主要针对于多元实函数在等式或者不等式约束的情况下的极值问题,并且在它们其中有一个或多个未知量的非线性函数。非线性规划算法经过将近70年的发展逐步在进行完善,并且成功的应用到了多个领域,传统的非线性规划算法主要通过梯度降阶的方法来进行求解的,它具有明显的优点是局部搜索能力比较强,和遗传算法形成了明显的互补优势。

考虑到两种算法的互补优势,本文提出遗传算法和非线性规划算法的混合算法。针对刀具轨迹优化问题提出了单刀位下的误差函数,再结合遗传算法和非线性规划算法混合算法的求解策略并对其进行优化处理,得到最优单刀位,进而获得优化后的刀轴轨迹面,进一步计算得到包络误差。

1 初始刀位确定

确定初始刀位,首先确定刀轴位置即确定刀轴基准点和刀具轴线的矢量方向,采用三点偏置法来确定初始刀位,刀具选用圆柱刀,如图1所示。

图1 确定初始刀轴矢量

如图1所示,设直纹面定义为:

R(u,v)=(1-v)R0(u)+vB(u)u,v∈0,1

(1)

它的等距面定义为:

R′(u,v)=R(u,v)+Rcn(u,v)u,v∈0,1

(2)

式中,RC—圆柱刀刀具半径;R0u,R1u—两条准线的矢径;n(u,v)—设计曲面的单位法矢。

本文采用三点偏置法来确定初始刀位,确定初始刀位的具体过程如下所示:

2 单刀位下的误差度量函数

非可展直纹面直母线各点处法矢不同,无法用半径大于0的圆柱滚动包络面形成,除非滚动半径为0[4]。真实的加工误差为刀具包络面相对与设计曲面的法向误差。非可展直纹面的几何特性决定了加工该类曲面有着不可避免的原理性误差,那么对于每个刀位下,理想状况下有:

|PiQi|=r(Pi)i=1,2,…,n,n

|PiQi|—刀轴一点到非可展直纹面的距离;r(Pi)—刀轴一点到圆锥面的距离。

显然,若要使误差减小,就应使||PiQi|-r(Pi)|的值尽可能小,若每个刀位下刀轴上的每一点都尽可能满足上述条件,进而得到的刀具包络面会最大限度逼近设计曲面。

由以上分析可知,单刀位下的误差度量函数如下:

c—表示刀轴位姿。

式中,r(Pi)为已知量,因此核心部分是如何求解|PiQi|,即求解一点pi到非可展直纹面r(ui,vi)的距离问题。设垂足坐标(ui,vi),则垂足点满足以下方程:

[Pi-r(ui,vi)]·ru(ui,vi)=0

[Pi-r(ui,vi)]·rv(ui,vi)=0

其中,ru(ui,vi)—Pi点在u方向的切矢;

rv(ui,vi)—Pi点在v方向的切矢。

方程的解析求解较复杂,不便于计算,本文使用数值法对其求解。单刀位的误差度量函数的求解可以看作是一个函数的极小值求解问题,由于函数难以建立明确的函数表达式,用传统方法难以求解,智能算法在求解该类问题有着特别的优势,单刀位误差函数作为智能算法优化的目标函数[5]。

3 刀位优化

3.1 初始种群的生成

初始种群的生成采用如下步骤:

(1)以初始刀轴两端点P1,P2为球心,分别建立半径为R的球形区域,作为初始种群生成区间。

(2)随机在两个球形区域内产生一个点。每个点作为刀轴的一个端点。两个点作为一个点对,构成了一个新的刀轴矢量,重复上述步骤A次,构成一个大小为A的矢量数组P[0],P[1],P[2]…P[A-1]。

(3)设刀轴矢量端点坐标Q1(X1,Y1,Z1)和Q2(X2,Y2,Z2)。则数组P[]中每个元素分别为关于X1,Y1,Z1,X2,Y2,Z2的6维矢量,总计A个6维矢量作为智能算法的初始种群。

3.2 基于GA-NOA算法的优化过程

算法设计流程如下:

(1)种群初始化:遗传算法与其它算法不同的是不能直接处理空间参数问题,因此需要把所要求取的问题所有可能性的解进行编码,组合成遗传空间中一条条染色体。

(2)公告板初始化:每个染色体对应一个刀轴矢量,计算每个染色体的适应度值,即单刀位误差度量函数的值,综合比较选择误差比较小的值赋值给公告板。适应度函数是来度量种群中个体优劣的指标,并作为以后遗传操作的依据,适应度函数的设计要结合求解问题本身,适应度函数的设计直接影响到遗传算法的性能。

(3)遗传算法的基本操作:遗传算法先后要经过选择操作、交叉操作、变异操作三个过程,每次新的个体更新后计算适应度值并与公告版比较,若较优,则更新公告板;否则,公告板不变。

(4)遗传算法终止条件:当遗传算法达到给定精度时,算法终止。即满足

其中,ε为一个足够小的正量,若满足上式条件,将最优值赋值公告板,否则转到步骤(3)继续迭代。

(5)赋值非线性规划算法:获取公告板的值赋值gbest,以遗传算法计算得到最优个体位置为圆心,建立半径为R的解域范围,由于最优个体位置已经是误差较小的位置,即可以这样认为最优位置在最优个体附近。随机在解域范围中生成N个个体位置,赋予每个个体初始化速度。

(6)适应度值计算:计算每个个体的适应度值与gbest值进行比较,若值较小,则更新当前最优位置赋值给gbest。

(7)个体状态更新。

遗传算法个体进化速度和位置更新公式:

(8)计算更新后个体的适应度:重新计算每个个体的适应度值,并与其历史值作比较,若较小,更新pbest值;将其与遗传空间中最好粒子位置gbest比较,若较小 ,更新gbest值。

(9)更新公告板:重复步骤(7)~(8),当达到遗传空间迭代次数后,将gbest值赋值公告板,作为最优解输出。

图2 ga-noa算法流程图

4 包络误差的计算

4.1 圆柱刀侧铣加工的包络原理

在几何角度上来讲,误差的大小是根据实际加工曲面与设计曲面之间法向误差来度量的,在每个到刀位刀具面族形成了实际上的加工曲面,所谓的误差问题就是研究刀具包络面与设计曲面或称为理想曲面之间的无限逼近问题[6]。如图3所示,本文选择圆柱刀进行加工,在理想加工条件下,就是刀具的包络面与设计曲面之间无限接近,也就是说刀轴的轨迹面相对于设计曲面之间偏置了圆柱刀半径的距离。

图3 误差等价替换示意图

4.2 基于映射曲线的刀位误差

第一步我们确定的初始刀位,由于误差比较大,在应用于实际加工之前对刀位需要进一步优化,如图4所示通过映射的方法来描述每个刀位的加工误差,找出减小加工误差的方法[7]。

图4 圆柱铣刀的映射曲线示意图

其中,C——圆柱刀面;T——刀具轴线单位矢量;S(u,v)——设计曲面;T(b)——映射曲线;P——刀具轴线上的一点;N——设计曲面上的垂足点;b——刀具轴线参数;R——圆柱刀半径;n——垂足点N处的单位法向量;Β——n与t之间的夹角。

根据图4的几何关系,可以得到以下方程:

加工曲面的形成过程就是刀具面族的包络过程,刀具在每个瞬时形成一条切触线,这些切触线的集合形成了加工曲面[8]。在本文上面所提到的映射曲线就是所谓的刀具在实际加工过程中在工件表面留下的痕迹,所谓的加工误差就是痕迹曲线到设计曲面之间的距离。

根据上面对映射曲线的定义,以及对加工误差的理解,我们知道映射曲线与设计曲面之间距离的绝对值越小,加工误差越小[9]。如图5所示,当刀具的映射曲线在设计曲面之内,这时就产生了所谓的过切误差;当刀具的映射曲线在设计曲面之外,这时就产生了所谓的欠切误差。

图5 误差示意图

如图5所示,在其中某个刀位下加工误差方程可以表示如下:

Δ=T(b)-S(u′,v′)

在上面所表示的方程中,T(b)所表示的是刀轴的映射曲线,S(u′,v′)所表示的是映射曲线在加工曲面是所对应垂足点之间的连线。

由于曲面是非可展直纹面,所以在实际加工过程中,刀轴上一点P所对应的非可展直纹面上的垂足点N处的单位法向量n随着加工的进行而不断地发生变化,因此这里采用数值算法来求解[7]。

由于不能求出映射曲线和加工误差方程,因此需要对刀轴参数b离散化,离散化后得到的刀位误差方程如下所示:

5 仿真结果与分析

本文仿真所用的数据参考文献[8]来进行的,把整个大的曲面分为10个小的曲面片,我选择其中第2个曲面片来进行仿真的,曲面片的顶部导线和底部导线都是非均匀有理B样条曲线,两条导线具有相同节点矢量[0,0,0,0,0.2,0.4,0.6,0.8,1.0,1.0,1.0,1.0],它们的控制顶点如下表1中所示,曲面片模型如图6所示。

图6 叶片曲面模型

表1 曲面片2边界B样条曲线控制点(mm)

选用圆柱刀的参数为半径为10mm,高度为30mm。接下来在曲面上均匀划分11个刀位,对每个刀位进行单刀位误差函数的计算,如表2给出当u=0的时候,在此刀位下的优化结果。如图7所示,反映单刀位全局最优值的收敛情况,当迭代次数达到26次以上收敛趋于平缓。

表2 单刀位的优化结果

图7 单刀位全局最优值的收敛情况

表3 初始轴迹面边界B样条曲线控制点(mm)

表4 优化后轴迹面边界B样条曲线控制点(mm)

图8 初始包络误差图

图9 优化后包络误差图

由表3和表4的数据,对比图8和图9可以看出初始轴迹面下曲面最大极差已达到0.5mm。优化后最大极差为0.0389mm。

通过仿真结果图像看出,收敛的时间比前人研究得到明显改善,主要得益于遗传算法和非线性规划算法的优点,能够快速准确地捕捉刀位点,在实际加工中能够有效地提高加工效率。从优化后的包络误差图像可以看出,通过对全局优化后误差也得到相应的改善。通过仿真结果与前人比较,说明采用遗传算法与非线性规划算法结合是非常有效的,混合算法思想对未来研究者指引了解决问题的新方向,不在局限于单一的某一种算法,对科学研究的意义非常重要。

6 结束语

本文的研究结果可以得出混合智能算法的研究思想完全可以应用到侧铣刀位轨迹优化的研究领域,并且能够得到让人意想不到的结果,在理论上给实际加工明显地提高了效率,减小了加工误差,带来很大的经济价值。本文的研究对前人算法的应用进行改变,不在局限于单一算法的研究,在侧铣刀位轨迹优化领域应用混合智能算法开辟新的出路。在该领域目前主要集中几何单一方面进行刀位轨迹进行优化,在实际加工中还要面临切削力等复杂因素,因此在接下来的研究中要加入一些补偿因子,在通过模拟仿真实验不断地接近实际加工环境,本方法最终才能在实际加工中得到应用。

猜你喜欢
适应度曲面遗传算法
改进的自适应复制、交叉和突变遗传算法
简单拓扑图及几乎交错链环补中的闭曲面
基于遗传算法的智能交通灯控制研究
第二型曲面积分的中值定理
一种基于改进适应度的多机器人协作策略
关于第二类曲面积分的几个阐述
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于曲面展开的自由曲面网格划分
基于改进的遗传算法的模糊聚类算法
基于改进多岛遗传算法的动力总成悬置系统优化设计