务l 匐 地 基于三点圆弧拟合法的椭圆曲线R参数编程研究 Research on the elliptic cure R parameter programming based on the ittifng method of three points arc 彭美武 PENG Mei-wu (四川工程职业技术学院,德阳618000) 摘 要:在非圆曲线一般采用直线拟合方式编写数控程序的基础上,提出了三点圆弧拟合法,通过对三 点圆弧拟合椭圆曲线原理进行分析、坐标计算和轮廓误差比较,并结合数控系统的R参数功 能,简单方便地避免了复杂的数算。同时,改进后的三点圆弧法拟合椭圆曲线,很好地 提高了曲线加工精度,减少了拟合线段数量。 关键词:非圆曲线;直线拟合;三点圆弧拟合;椭圆曲线;R参数 中圈分类号:TH39 文献标识码:A 文章编号:1 009—01 34(2014)02(下)一0005—04 Doi:10.3969/J.issn.1009-0134.2014.02(下).02 0引言 目前,绝大多数数控系统具有直线插补和圆 弧插补功能,对于非圆曲线,大多数编程采用多 1传统直线拟合法 椭圆的加工方法很多,为了编写程序方便, 目前数控编程人员采用两种常见的直线拟合方 式,一是通过椭圆参数公式计算,方法简单,椭 圆参数公式如下: I =A×c ‘ 段直线拟合方式,直线拟合点的坐标计算比较简 单,方便编程,但是各点连接不光滑,表面质量 及精度会受到影响;采用圆弧拟合,可以很好的 改善工件质量,使表面更加光滑,同时精度也会 提高。 女★ IY=B×sinO 其中:A为x向椭圆半轴长; B为Y向椭圆半轴长; e为椭圆离心角,零角度在x轴正向。 该方式将以椭圆中心为圆点,将椭圆离心角 3600细分成N等份,每等份离心角为e,通过0可 以算出拟合直线段端点的X、Y坐标。N越大,对 图1椭圆凸台 应的每一份离心角0就越小,逼近线段就越短,加 工的误差就越小。 另外一种是细化其中一轴坐标,比如X,将X 轴细化成N等份,然后通过椭圆的公式 + =1 计算与X对应Y坐标。这种方法,在加工椭圆或其 圆弧拟合方法很多,常见的有等误差法、三 点圆弧法、等弧长拟合法等。选择哪种加工方 法,应充分考虑零件加工质量的要求和计算方 便,虽然有的方法加工精度高,但是计算复杂, 甚至要借用专业软件进行计算,并不适合变量编 程,在现实中,数控编程人员不太可能采用太复 它曲线,不熟悉曲线参数公式的情况被经常采 用,也十分方便。 杂的方法。因此,加工方法的选取需要尽量兼顾 零件加工质量和计算方便。下面以加工非圆曲线 椭圆凸台为例,如图l所示,选取计算相对不复 杂,并能很好改善加工轮廓质量,同时又能节省 加工时间的三点圆弧法,介绍其计算方法及程序 设计过程。 2改进后的三点圆弧法 针对直线拟合曲线虽然简单,但加工质量及 精度有影响,因此在此基础上改变进其拟合方 式,同时考虑计算和程序编制的方便实施,采用 三点圆弧法拟合方式,如图2所示,该方式基于等 收稿日捆:2013-I1-03 作者简介:彭美武(1974一),男,Ig1)ll德阳人,副教授,工学学士,主要从事数控加工工艺与编程研究。 第36卷第2期2014一o2(下) [51 l 匐 化 分离心角直线拟合方式改进的,为了表示清楚, 图中e进行了放大处理。 图2三点圆弧法拟合原理 2.1圆弧拟合圆心及半径计算 在图2中,椭圆起点是P 点,椭圆离心角0所 对应的点是P:,椭圆离心角2e对应点是P。,通过 椭圆参数公式可以轻松确定拟合圆弧开始三个点 的坐标。要编写通过P 、P 、P,的圆弧数控指 令,重点要计算该圆弧的圆心或半径,计算的方 法有中垂线法、一般方程式法等。在此采用将P 、 P:、P 坐标带入形成的圆方程办法,得到: (X1一Xo) +( —y0) =R (1) (X2一Xo) +(y2一to) =R (2) ( 一So) +( 一y0) =R (3) 将(1)、(2)、(3)式变换为: fx3 一x。 一2(x,一x )x。+ 一 一2( 一 ) =o (4) 1 一 一2( 一 ) + 一 一2( —rO ̄"o=o (5) 解方程式(4)、(5),得到圆心坐标: So= 2舞 鞲 【( 一 )( — )一( 一 )( — )] (6) 一2[( 一 )( 一 )一( 一焉筹r墨)( — 0 ] (7), 其中: =A, =0; X2=A×coso, =B×sinO., X3=A X coso(20), =Bxsin(2o)。 将)(0、Y。带入式(1)即可得到圆弧半径R: R= 丽 (8) 以次类推,可以求出其余拟合圆弧的圆心和 半径,在这里需要注意应该保证椭圆离心角2e能 被360。整除,才能保证最后拟合圆弧的终点才能在 X轴上,也就是椭圆起点也是终点。 [61 第36卷第2期2014—02(下) 2.2拟合的线段误差对比分析 2.2.1直线拟合误差分析 椭圆采用直线拟合时,根据等分的离心角e形 成很多细小的直线段,为了保证加工的精度,必 须保证拟合直线和理论上的椭圆最大误差在轮廓 允许误差范围之内。 如图2所示,拟合的误差为5。,因为0角很 小,可以把P P:椭圆段近似看成圆弧段,通过O向 直线P P:做垂线,取椭圆长半轴为圆弧半径,可以 看出6 即为直线拟合最大误差,因为在后面直线 段拟合时,分割出的椭圆段而当成的近似圆弧半 径均小于椭圆长半轴,所以直线拟合最大误差6 为: =A—A×cos(O/2)=A×fl—COS( /2)1 如果椭圆轮廓允许误差为0.001ram,则通过计 算,0=1.146。就可以。因为0越小,精度就越 高,5 1就越小,所以可以选取0:1。,即将整个 椭圆离心角分成360等份就能满足要求。 2-2.2三点圆弧拟合误差分析 IY Pj/ l // ‘ O,(Xo Y0】 图3三点圆弧法拟合误差 采用三点圆弧法拟合椭圆曲线,必须进行误 差分析。为了便于分析、观察拟合精度,特将图2 进行改进及放大,如图3所示,发现逼近的圆弧有 一段在椭圆的内侧,有一段在椭圆的外侧,也就 是说,这段圆弧拟合椭圆形成的最大误差是6 或 5 。通过递推就可以找出用三点圆弧拟合整个椭 圆的误差最大值6。 下面通过介绍6 、6 的计算方法,最终确定 误差最大值6。计算6:时,椭圆上的C点对应的 离心角为O ,0 C与拟合圆弧的其中一个交点为 D,o D就是拟合圆弧的半径R;同理计算5 ,所 以: 务I 匐 似 = =Ioc一 f=l Io.F—RI=l 面 一叫 eM (9) 面 ~ e 卅(10) 表1 几种离心角选取对应拟合圆弧最大误差 : =以计算6 为例,要使6 是误差最大值,即应 该0 1∈【0,0】范围内01C是最大值。假如0=5。, 可以根据公式(6)、(7)、(8)得到第一段拟 合圆弧圆心坐标01(7.052,一0.009)和半径 R=12.948,将它们及长半轴20、短半轴16带入公 式(9),只要求出0 ∈【0,5】范围内公式(11) 3 R参数程序设计 SINUMERIK数控系统R参数编程是西门子数 最大值,其中: 厂( )=√(20×cos8l一7.052) +(16× 加 +0.009) (11) 计算函数在区间内最大值方法比较多,在这 里采用Mathematica软件分析,通过该软件可以绘 制出公式(11)函数图形,如图4(a)所示,横坐 标是将角度转换成弧度计算的。图4(a)是0 ∈ 【0,5】范围内,(e.)函数图,从图形可以看函数最 大值为12.9483,带入公式(9),可以计算最大误 差是6 2值为0.0003mm;同样方法从图4(b)可以 求0。∈[5,10】范围函数最大值,从而得到6 为 0.00026mm。所以第一段圆弧最大误差应该是 6,。 图4/(0一)函数图形 按照上面的办法可以搜索后面的圆弧拟合 段,就可以找出整个椭圆采用三点圆弧拟合的最 大误差6,为了分析简单,我们只分析的椭圆 1/4,后面3/4椭圆规律一样,误差最大在椭圆的1/4 部分就能体现出来。为了保证圆弧终点能刚好拟 合到椭圆的1/4,则需要90/20能整除。 通过计算,表l给出了采用几种不同离心角圆 弧拟合椭圆最大误差情况结果对比。从表1可以看 出,即使选取椭圆离心角0=5。,一段拟合圆弧将 对应椭圆离心角20,即10。,这样圆弧拟合线段是 前面选取椭圆离心角e为1。对应直线拟合线段数量 的1/10,减少程序的循环次数,同时轮廓误差也比 直线拟合线段小很多。 控编程的一个重要特点,通过对变量R进行赋值, 可以方便的实现变量的数算和逻辑运算,再 配合循环功能,可以实现许多有规律性、比较复 杂零件的编程。 如图1所示,毛坯为50mm×50mm×30mm, 根据零件要求,选择 2O的立铣刀,需要进行椭 圆凸台粗、精铣,设置粗铣半径补偿D01=10.2, 精铣半径补偿D02=l0,以椭圆中心为XY坐标原 点,上表面为z方向坐标原点。 三点圆弧拟合椭圆时,要编写圆弧指令在 SINUMERIK数控系统有6种编程指令,在这里选 用终点及圆心方式编程,将圆心方式设为绝对方 式,可以少一步R的计算。同时,相邻两端圆弧 间,后段圆弧点相对前段圆弧点相应点增加了20。 如果椭圆轮廓精度为0.001,根据表1,可以选取 0=5。,则圆弧终点坐标对应椭圆离心角R2每次变 化为100。 采用R参数编程需要设置变量,主要包含初始 变量和中间变量,设定的初始变量主要有: R0:长半轴; R1:短半轴; R2:离心角O。 通过初始变量需要计算的中间变量主要有: R3、R4:每段圆弧第一点X、Y坐标; R5、R6:每段圆弧第二点x、Y坐标; R7、R8:每段圆弧第三点X、Y坐标,即本段 圆弧终点坐标: R9、R10:每段圆弧的圆心X、Y坐标。 另外,为了简化公式(6)、 (7),将公式 同的部分设为中间变量: R11:(X3 一 , + 一 ); R12:( 一 1 +y1 一 ); R13:( 一 )(y3一 )一( 一X1)(y3一y2)。 根据分析,可以画出该零件R参数编程的子程 序结构流程图,如图5所示。 第36卷第2期2014-02(下) [71 子程序开始 [变量赋初始值 【调用子程序】 图5子程序流程图图 零件数控加工主程序如下: TUOYI AN.MPF;主程序 T1M06 G90 G54 S800M03 G00 Z10 D01;建立长度补偿,D01并作为后 面半径补偿代号用时D01=10。2 G00X60Y一60 Z一4.8 TU0YuANl F120 ;轮廓粗加工 G0OZ一5 M03 Sl200 G00X60Y一60 TUOYUAN1 D02 F7O;轮廓精加工, D02=10 G00 Z0 DO;撤销长度补偿,抬刀回零 M3O 零件数控加工子程序如下: 【8l 第36卷第2期2014-02(下) TUOYUAN1.SPF ;子程序 R0=20 Rl=16 R2=0;设定初始值 G42 G00 X=R0 Y-35;建立半径补偿,补偿 代号在主程序 G0l X=R0 Y0;定位到椭圆起点, PP:R3=R0 COS(R0)R4=R1 SIN(R2) R5=R0 COS(R0+5)R6=R1 SIN(R2+5) R7=R0 COS(R0+10)R8=RI*SIN(R2+10) R1 I=R7*R7一R5:lcR5+R8¥R8一R6 R6 Rl2=R7 R7一R3 R3+R8 R8一R4{R4 R13=(R7一R5) (R8一R4)一(R7一R3) (R8一R6) R9=(R11 (R8一R4)一R12*(R8-R6))/(2 R13);计 算圆心X坐标 R10=(R12 (R7一R5)一R1 1 (R7一R3))/(2 R13); 计算圆心Y坐标 GO3 X=R7 Y=R8 I=AC(R9)J=AC(R10);圆 弧插补,圆心采用绝对方式 R2=R2+10;调整椭圆离心角 IF R2<360 GOTOB PP G01 Y35 G40G00X 60Y60;撤销半径补偿 Ml7 4结束语 通过三点圆弧法拟合椭圆曲线,能够很好提高 椭圆轮廓加工精度或减少拟合线段,这种方法完全 可以应用其他公式曲线加工,比如抛物线、正弦曲 线等。因此,在实际的生产中,如果能结合数控机 床实际功能,善于对传统的加工方法进行改革,对 零件加工质量的提高是具有重要意义的。 参考文献: 【1】严爱珍.机床数控原理与系统【M】.北京:机械工业出版 社,2000. 【2】张兆隆.数控加工工艺与编程【M】.北京:机械工业出版 社,2008. 【3】王丽萍,孙国防,季绍坤.非圆曲线数控编程的等误差圆弧 逼近法及其实现【J】.现代制造工程,2006,(10):30-32. [4】丁克会,席平原.基于MATLAB的最大误差双圆弧逼近曲 线的算法及实现[J】.机械传动,2007,(12):57-59. 【5】张彦博.等误差圆弧逼近渐开线的节点计算新方法【J】 .组合机床与自动化加工技术.2003,(4):26—30. 【6】刘兴良,张军前,张玉更.R参数编程在数控车削非圆曲线 轮廓中的应用[J】.机械制造,2009,(4):52-54.