基于遗传算法的相切圆弧逼近非圆曲线算法
第26卷第6期 兰州交通大学学报(自然科学版) Joumal of Lanzhou Jiaotong University(Natural Sciences) Vo1.26 No.6 Dee.2007 2007年12月 文章编号:1001—4373(2007)06—0005—04 基于遗传算法的相切圆弧逼近非圆曲线算法 蔡慧林, 戴建强 (兰州交通大学机电工程学院,}{ 肃兰州 730070) 摘要:利用数控机床对非圆曲线进行加工时,采用直线段或相交圆弧对曲线进行拟合加工,在节点处存在尖点, 影响轮廓的光滑性,且利用直线段拟合非圆曲线生成的程序段数多,影响编程效率.用极坐标表示圆弧,便于对相 切圆弧的参数进行处理,减少计算量,将遗传算法用于相切圆弧逼近非圆轮廓曲线节点计算优化,利用其自适应迭 代寻优的概率算法对圆弧段参数进行优化,并给出了具体算例证明该算法的有效性 关键词:数控加工;非圆曲线;节点计算;遗传算法;优化 中图分类号:TH165 文献标识码:A 曲线、曲面加工,是现代数控机床的基本功能, 但目前大多数数控系统所具备的加工功能通常只有 直线、圆弧与有限的几种典型曲线.在实际加工中, 总是落在前一段圆弧的极径上,约束描述较简单,用 遗传算法全局寻优的特点对相切圆弧参数进行优 化,使每一圆弧段与实际轮廓曲线的逼近误差小于 允许逼近误差. 为实现对非圆轮廓曲线的加工,通常采用直线或圆 弧来逼近所需加工的非圆曲线来进行编程.直线逼 近轮廓曲线时,可采用弦线插补法、切线插补法或割 线插补法,直线段的两个端点都取在曲线上,计算比 1相切圆弧逼近轮廓曲线的参数计算 这种方法的特点是,逼近轮廓曲线的第一段圆 弧的起点为逼近曲线的端点,且在该点处圆弧与曲 较简单.圆弧逼近轮廓曲线时,可采用相交圆弧或相 切圆弧,这些圆弧可通过曲率圆法、三点圆法和相切 圆法求取_1q].当用直线或相交圆弧逼近轮廓曲线 时存在一个共同的问题是,在相邻两直线或相交圆 弧的节点处存在尖点,不利于加工质量的提高.为 此,不少研究者在寻求用相切圆弧来逼近非圆轮廓 曲线方法,以求在避免上述问题的同时,尽量减少程 序段的数量,提高数控加工中编程效率,但这些算法 都是基于直角坐标系的,要保证相邻圆弧相切,计算 线相切,逼近轮廓曲线的最后一段圆弧的终点是轮 廓曲线的另一个端点,在该端点处圆弧与曲线相切, 其余相邻各圆弧段彼此相切,切点落在由允许拟合 误差 所确定的公差带中. 如图1所示,设轮廓曲线AG为: v=厂( ) (1) ( ¨ ) 比较复杂.文献[4]提出了一种用最少圆弧段逼近轮 廓曲线的方法,但计算工作量很大,文献[5]提出的 一种依据曲线曲率分别用直线、圆弧混合来逼近轮 廓曲线的方法,这种方法并不能最大限度地减少程 序段的数量,文献[6]提出了一种用最4"-乘圆弧逼 近方法,由于需要对用最小二乘法所得圆弧进行二 次处理,算法比较复杂,计算量大,且圆弧数量并非 最少.本文用极坐标方程来描述彼此相切的逼近圆 弧,由于相切圆弧中第二段圆弧的圆心坐标(极点) 图l 相切圆弧逼近的轮廓曲线 Fig.1 Curve approached by tangent—ar ̄ 收稿日期:2007—07—23 项目基金:兰州市院地院企科技合作项目(06—2—50) 作者简介:蔡慧林(1965一),男,湖南益阳人,副教授. 维普资讯 http://www.cqvip.com 6 兰州交通大学学报(自然科学版) ( )一max(R × ) 第26卷 (7) 在加工区间连续.圆弧AB是逼近曲线AG的第一 段圆弧,圆弧 是逼近曲线AG的最后一段圆弧, 圆弧U是处于圆弧AB与圆弧FG之间彼此相切的 一由于曲线是连续的,在一段圆弧上均匀取若干 点分别计算其逼近误差,以各点逼近误差的和与圆 弧长度的比值来衡量圆弧对曲线的逼近程度,由此 构建函数: 系列圆弧中的任意一段.采用极坐标描述圆弧段, 圆心角为 ,圆弧的起点坐标为( ,Y ),终点坐 设任意段圆弧JJ的圆心坐标为Q (n ,6 ),半径为 ,标(z。 ,Y )( =l,2,…, ), 为拟合圆弧的段数.要 ( )=∑ / ( ) (8) 确定逼近该曲线的圆弧,必须计算出该圆弧的极点、 极径和极角,此圆弧的可行性以圆弧与曲线间的逼 近误差作为衡量标准,并同时满足式(2)以保证第 一段圆弧与曲线相切A点,最后一段圆弧与曲线相 切于G点,所有相邻圆弧彼此相切. 8l一8H+eH, 2≤i≤ —l;] 一 , 一1; > (2) 一/3, + , Z— . J 式中:屉为第i段圆弧在圆弧起点处的切线的斜率 角,即圆弧起点处顺时针方向的切向矢量与X轴正 向间的夹角,rad;/? ̄为曲线起点处切线的斜率角, rad;lf ̄为曲线终点处切线的斜率角,rad. 圆弧U的极点坐标(圆心坐标)为: nb —y。 一瓦 — i. +T"iCOs l J (3) 圆弧的终点坐标为: -x  ̄,;a ;I-risin(lf;+O ;)Y 一6一6 一一 r;cos(lf;++ )))J (4) 该圆弧段中任意位置 处的径向线与曲线的交点 为H,该处的逼近误差为: A 一I H— I (5) 2 圆弧参数优化的数学模型 设R一[n ,b , ,P ,0,3是一段圆弧的参数,由 于点( 。,Y )、( ,Y )在曲线Y一厂( )上,为保证 各逼近圆弧段间的连续以及被逼近曲线的完整,第 一段逼近圆弧的起点必定是曲线的起点,下一段圆 弧的起点是上一段圆弧的终点,且各圆弧段的参数 满足公式(2,3),所以,圆弧参数可以简化为[ , ]. 优化目标是寻找最优的圆弧参数R ∈尺,在满 足第一段圆弧在曲线起点与曲线相切、最后一段圆 弧在曲线终点与圆弧相切、相邻圆弧彼此相切的条 件下,逼近误差的最大值不大于允许误差,且应使每 段圆弧尽量长,以减少逼近圆弧的段数.即圆弧参数 满足式(6,7).据此构建圆弧参数优化的数学模型 为: Ao一; IQH—P I ≤ (6) 式中:m为一段圆弧中所取计算逼近误差的点数. 对极小值问题,可取(8)作为评估函数 ,即评 估函数为: ∑ eval(Pi, )一 (9) 3 最后两段圆弧的处理 依照以上方法可对前 一1段圆弧的参数进行 优化,但所得到的第 一1段圆弧的终点不一定就是 曲线的终点,且不一定在曲线的终点与曲线相切,为 此,还需要对计算所得的第 一1段圆弧.处理办法 是以曲线的终点作最后一段圆弧的起点,求取满足 式(6),且与第 一1段圆弧相切的圆弧,这两段圆弧 的切点即为第 一1段圆弧的终点,并以此计算第 一1段圆弧的极角 .设第 段圆弧与第 一1段圆 弧相切于点F,如图2所示.此时,第 —l段圆弧的 极角为 ,则第 段圆弧的参数为: J耋I 2 最后两段圆弧间的位置关系 F 2 Locational connection ofthelasttwo al'c n” — e+是 e一是Fn ) (1o) b 一Y +k。(a 一 ) J 式中:kG,k,分别为直线 ,0— ̄-—1f的斜率. 惫. 】 G 一 kF一一ctan(lf, 2+ 1) (11) to, = ̄/(a, 一z。) +(b 一y ) (12) 维普资讯 http://www.cqvip.com 第6期 蔡慧林等:基于遗传算法的相切圆弧逼近非圆曲线算法 2arcsin ̄/(xe--x,,)2-t-(y,,--ye) 一由式(10~13)可知,当 确定后,第n段圆弧 的参数也就唯一确定了.所以,在对最后两段圆弧的 处理中,优化参数为 . 4 优化计算 4.1 编码及初始种群的产生 采用遗传算法进行参数优化,可采用二进制编 码和实数编码.采用二进制编码需要频繁的编码和 解码,计算量大,只能产生有限的离散点阵,编码的 长度与计算数值的大小和计算精度有关,并有可能 产生额外的最优点.在本问题中,圆弧半径的取值范 围事先无法确定.基于此,本文采用实数编码. 设第一代种群中的圆弧终点都落在曲线上,随 机产生的种群为: Lz。, —Lz。,H+rand×(Lz。一Lze, 1)1 , n Ye,i一厂(Xe,i) f 4 式中:rand为[0,】]间的随机数.当 ===1时, 。,o— 。,即第一段圆弧的起点为曲线的起点.初始圆弧的 半径为: I。I.一 ̄/(Iz。, l—Xe, ) +( 。.卜l—Y。, ) (15) 的初始值为: 一2arcsin(O.5 U/IOi) (16) 圆弧的圆心坐标由式(3)确定. 4.2 原始种群的选择及交叉操作 以上产生的逼近圆弧参数[ , ]作为原始种 群,分别计算原始种群中各个体的评估值eval(pi, Oi),并根据该值按由tl,N大的顺序对各个体进行排 序,具有小的evai(pi, )值的染色体为优良染色体. 从原始种群中随机选取若干优良的个体作为繁殖后 代的双亲,按式(17)的算术交叉来生成新的后代. 'vl= Avl+( 1-A)v2,2一 2+(1~。一。+ ~ 1,Dr }j c… 7 其中, 为(0,1)的随机数.每次参与交叉的个体数 量由种群大小和交叉概率决定.较大的交叉概率可 增强遗传算法开辟新的搜索区域的能力,但高性能 的模式遭到破坏的可能性增大,太低的交叉概率又 可能使遗传算法的搜索陷入迟钝.一般交叉概率可 在0.25~1.O0中选取.通过交叉所得的新的染色 体将进入下代种群,将上一代中eval(Pi,Oi)最大的 个体淘汰.通过对原始种群的选择与某些个体的交 叉,使原来的种群逐渐优化. 4.3 变异操作 变异操作将提高算法随机搜索能力,对选择过 程与交叉过程中可能丢失的某些遗传基因进行修复 与补充.每次变异操作中,变异的基因数量由种群基 因的数量和变异概率决定.在变异操作中,为避免出 现早熟,取较小的随机数 . 5 计算实例 曲线方程为Y一0.1x。,曲线的范围为[2,10], 允许拟合误差取为 一0.005.计算中,取种群大 小为n一2O,最大代数为G一500,变异概率户 一 0.5,交叉概率户。一0.3.计算结果如表1所示. 表1 计算数据 Tah.1 Calculated data 序号 终点坐标 圆心坐标 圆弧半径逼近误差 1 3.156,0.995 一O.549,6.771 6.862 0.002 1 9 4.045,1.640——2.047,9.107 9.637 0.002 6 5.886,3.457——4.597,12.233 13.67 0.003 6 4 7.965,6.350——12.627,18.957 24.145 O.OO3 4 8.956,8.031——41.408,36.578 57.892 0.002 1 6 1O.OO,10.O0—27.422,28.711 41.839 0.000 6 6结论 1)采用极坐标对圆弧进行描述,在对相切圆弧 的参数优化计算中可减少优化参数的数量,简化计 算;2)提出的方法对非圆曲线有较高的逼近精度, 生成的逼近圆弧连续、光滑,计算速度快,计算结果 可靠;3)经计算比较,采用该优化方法,每次计算所 得到的圆弧段参数并不完全一致,但圆弧段数保持 不变,这是由于遗传算法的概率搜寻所致. 参考文献: [1]岳秋琴,蒋幸幸.数控编程中逼近非圆曲线的数据处理 [J].机械研究与应用,2003,16(3):56—57. [2]蔡慧林.基于遗传算法的相交圆弧逼近轮廓曲线的节 点计算[J].兰州交通大学学报,2005,24(3):1-3. [3]陈敏,姜小敏,陶涛,等.数控加工中平面参数曲线的拟 合[J].机床与液压,2006,23(4):70—72. [4]Hua Q,Kai C,Yan L.Optimal circular arc interpolation for NC tool path generation in contour manufacturing [J].Computer-Aided design,1997,29(11):751—760. [5]李郝林.曲线数控加工的一种新方法[J].上海理工大 学学报,2002,24(3):245—248. [6]乐英,韩庆瑶,王璋奇.数控加工中非圆曲线的最小二乘 圆弧逼近[J].华北电力大学学报,2006,33(6):102—104. [7]玄光男,程润伟.遗传算法与工程设计[M].汪定伟等 译.北京:科学出版社,2000. 维普资讯 http://www.cqvip.com 兰州交通大学学报(自然科学版) 第26卷 Calculation of Tangent— arc Under Polar Coordinates Approaching Non——circle Curve on GA Cai Huilin,Dai Jianqiang (School of Mechatronic Engineering.1 anzhou Jiaotong University,1.anzhou 730070.China) Abstract: Fhe lubricity of outline of work—piece is influenced by adopting beeline or intersect—arc approac— hing the non—circle curve on NC tool because of the tine at node,and the efficiency of programming is influ— enced by too many sections of program created through adopting beeline approaching the non—circle curve of work—piece.To figure the arc by polar coordinates is easy to dispose of the parameter of arc and reduces the content of counting,and then the global optimal solution of node calculation is achievedAn example for the .algorithm iS also presented to certify its feasibility. Keywords:CNC machining;non—circle curve;node calculation;genetic algorithm(GA);optimization (上接第4页) Boundary Layer Differential Equation Solution Based on Particle Swarm Optimization and Ant Colony Algorithm Zhang Yongheng,Jin Hua,Wang Liangbi (Schoo1 of Mechatronic Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China) Abstract:The velocity and temperature are both coupled in natural convection boundary layer equations for fluid flow along vertical plate,the solution is sensitive to initial values when applying Newton root finding method to shooting method to solve corresponding similarity ordinary differential equations,and the con— vergence rate becomes slower when solutions are near roots.Ordinary differential equation boundary value problem is often solved with shooting method by transforming the problem into initial value problem,and the shooting process can be regarded as optimization problem.Particle swarm optimization algorithm and ant colony algorithm base on rules of information transmission and food hunting within biologic group are used in shooting process to solve natural convection boundary layer similarity equations with varied wall temperature and the results are compared with those obtained with other optimization algorithm.It is feasi— ble to use particle swarm optimization algorithm and ant colony algorithm in solving natural convection boundary layer similarity equations,the calculation process is stable and the solution is not sensitive to ini— tial values selection. Keywords:boundary layer;di fferential equation; particle swarm optimization(PSO);ant colony algorithm (ACA);optimization algorithm
因篇幅问题不能全部显示,请点此查看更多更全内容