基于二分法的曲线等误差圆弧拟合算法及其应用图文精.docx
《基于二分法的曲线等误差圆弧拟合算法及其应用图文精.docx》由会员分享,可在线阅读,更多相关《基于二分法的曲线等误差圆弧拟合算法及其应用图文精.docx(9页珍藏版)》请在冰豆网上搜索。
基于二分法的曲线等误差圆弧拟合算法及其应用图文精
第32卷第1期
2008年2月
南昌大学学报(理科版
JournalofNanchangUniversity(NaturalScienceVo.l32No.1
Feb.2008
文章编号:
1006-0464(200801-0100-03
基于二分法的曲线等误差圆弧拟合算法及其应用
周晓铭,陶俊才,秦海鸥
(南昌大学信息工程学院,江西南昌330031
摘要:
根据CNC的加工特点,提出一种平面轮廓曲线的拟合算法。
该算法基于二分法,简单可靠且效率相对较高。
切削步长具有沿加工方向的曲率适应性,并且可以灵活的解决拟合圆弧大于机床允许值的问题。
最后给出了曲线拟合的算法。
关键词:
CNC;曲线拟合;曲线插补
中图分类号:
TP3016文献标识码:
A
目前,多数机床的数控系统只具备直线插补和圆弧插补两种功能。
零件的几何轮廓在加工前需处理成由直线和圆弧组成的曲线,即圆弧样条曲线。
在给定的精度范围内,用一系列直线或圆弧来逼近零件轮廓曲线,然后才能加工。
所以对零件的几何轮廓曲线有直线插补和圆弧插补两种。
二者相比
[1]
较,圆弧插补具有以下优点:
圆弧插补加工时间明显减少,比例可达15;刀位文件数量明显压缩;机床运转平稳;加工出的零件表面光滑。
因此,圆弧插补是一种高效的插补方法。
对一曲线用圆弧逼近前,首先要在曲线上获取节点,再根据这些节点利用双圆弧法等逼近方法确定逼近圆弧。
因此,所取得的节点的多少,就决定了逼近圆弧段的数量,逼近圆弧段数多,所形成的加工数据文件大,加工时间长,同时还会加大机床磨[4]
损。
采用圆弧样条插值逼近平面参数曲线和列表
[2-9]
点曲线已有很多研究报道。
其中圆弧拟合方法
[5,9]
中使用最多的又分为单圆弧拟合和双圆弧拟[2,8,7]合。
为达到减少拟合圆弧数的目的,人们对圆弧拟合作了广泛的研究:
对单圆弧拟合相继出现了
[9][5]
两点拟合法,参数递增法,等弦高误差控制[6]
法等;对双圆弧拟合法出现了变曲率对称双圆弧
[7]
拟合法等。
综合参考文献发现人们对于圆弧插补的研究,大多数集中在圆弧逼近算法本身。
而且由于以上这些圆弧拟合方法没有考虑机床的最大切割半径,一旦拟合圆弧半径大于机床半径时,机床不能处理。
这将导致系统自动编程生成的代码机床无法执行。
因此,本文提出了一种新的节点获取方法:
基于二分法的曲线圆弧拟合方法,该方法继承单圆
[6]
弧等弦高误差控制法和二分法的优点,并且改变
收稿日期:
2007-03-10
基金项目:
江西省工业攻关资助项目(200552
(,传统二分法取中点的习惯,以最大弦高点为节点分割曲线。
以相邻三节点作圆弧拟合曲线。
在拟合半径大于数控系统能处理的最大半径时,用两直线拟合该段圆弧,方便数控自动编程。
1基于二分法的曲线圆弧等误差拟合算法思想
在曲线的一个凸凹性一致的闭合区间。
用直线段连接曲线的两个端点,它与曲线形成一个弓形(如图1,我们称这条直线为曲线的弦。
只要曲线上的点到弦的距离小于我们的控制误差,那么我们就圆弧或者是直线来拟合这段曲线,而当我们的这里的值大于控制误差时,就可以通过划分区间的方法将区间细分。
一般使用二分法,简单的二分法取区间的中点,但这个中点处曲线上的点离弦不一定都是最远,所以我们改用离弦最远点将区间分为两个子区间,并将之称为改进的二分法(这样做的目的是为了得到拟合区间最少,拟合的结果最优。
再在各个子区间上重复以上步骤,直到满足条件为止,那么区间将被分为若干个子区间。
每个区间内的曲线就可以用直线或圆弧来拟合。
我们选择第一用圆弧来拟合曲线,但有时拟合圆弧的半径大于机床可以处理的范围,则改用直线来拟合该区间段的曲线。
图1弓型曲线图
第1期周晓铭等:
基于二分法的曲线等误差圆弧拟合算法及其应用!
101!
2改进二分法区间划分的具体实现
设曲线方程为:
y=f(x,x[a,b],给定的拟合控制误差为。
先对曲线进行区间划分,规则为按曲线二次导数为零处的点划分。
目的是找出曲线的拐点,将曲线的凸凹区间分开。
求解:
f(x=0
如有解x0,可以得到两个独立的单一凸凹性的两个区间[a,x0],[x0,b],如图2
:
个区间重复以上步骤。
最后可以得到一系列的分区
间:
[a=a1,a2],[a2,a3],[a3,a4],[a4,a5]#,[an-1,an=b]
在每一段区间用圆弧去拟合该曲线段即可。
方法如下:
ai-1+ai
在第i个区间取点x0=ai-1,x1=x2=
2
ai用三点可以确定一个圆。
分别求出圆心,半径。
如果在该区间拟合圆弧的半径大于机床允许的最大值,则用两条直线拟合这段区间的曲线段。
3改进二分法的曲线圆弧等误差拟合算法
图2曲线在拐点处分割区间
对曲线图象在区间[a,x0]([x0,b]区间类似讨论:
做直线L过曲线的两端点:
y=k!
x+B,其中kf(a-f(x0=,B=f(x0-k!
x0,设为曲线上的
x0-a
点到直线L的距离。
max(|f(x-kx-B|
求解:
=1+k
max(|f(x-kx-B|其中1+k
表示在这一区间上曲线上的点离直线L的最远距离。
令函数:
F(x=f(x-kx-B
求|F(x|的最大值,可知在极值点和端点取得,结合本问题的特殊性可知在极值点取得。
由费马定理,求解下列方程:
F∀(x=0
若在区间[a,x0]有解x1,则在x1点F(x的绝对值最大
如图3。
基于改进二分法的曲线圆弧等误差拟合法算
法框图如图4所示。
区间划分的大小和个数由给定的控制误差决定,控制误差大,则计算速度快,区间划分少,拟合曲线条就少,控制误差小,那么区间划分就多,拟合曲线段就多。
该算法提供拟合误差控制的人机交互接口,可以很好的解决精度不同的曲线拟合。
切削步长具有沿加工方向的曲率适应性。
当曲线在某一区域内的曲率不大时,则该区域中分割的子区间就少,否则就将其分割为更多的子区间。
算法设计过程中充分考虑了数控线切割加工的特点,考虑到在用圆弧拟合时有时会产生拟合半径大于机床可处理最大半径的情况,增加了可以直接用直线拟合的功能。
图3曲线最大误差示意图
求解:
=
|f(x1-kx-B|
1+k
对给定的拟合控制误差,判断与两者间大小。
当<时本区间讨论结束,讨论下一个区间。
否则进行下一步:
[x[a,x1],[x,]图4基于二分法圆弧拟合的算法流程图
4几种拟合方法效率比较
下面我们以正弦曲线和抛物线为例分别用直线拟合,双圆弧拟合,和二分法拟合插补三种算法来拟
!
102!
南昌大学学报(理科版2008年
合。
利用vc6.0编写程序来生成拟合线段的代码。
选择如附表所示正弦曲线和抛物线,在相同拟合精度控制下来比较拟合曲线的条数和实际精度。
附表拟合方法效率表
曲线方程
拟合指标
直线拟合101023101012
双圆弧拟合109.38108.65
二分法圆弧拟合105.511104.73
(∀m
y=sinx,[0,2!
]∀(∀m
n
(∀m
y=x2,[0,4]
∀(∀mn
于机床的最大处理半径,添加了自动判别并选择用圆弧或者直线拟合的功能,使该算法能够很好的应用到CNC自动编程系统中去。
算法本身也有一定的问题,在一些对精度要求不高的场合,给定的控制精度远大于拟合后的实际最大精度,使得曲线拟合的计算代价偏高。
因该说二分法曲线圆弧拟合方法是一种适合于高精度要求的曲线拟合方法。
参考文献:
[1]
VickersGW,BradleyC.CurvedSurfaceMachiningThroughCircularArcInterpolation[J].ComputerinIndustry,1992,19:
329-337.
[2]XujingYanga,ZezhongC.ChenAPracticableApproachtoG1BiarcApproximationsforMakingAccurate,
SmoothandNon-gougedProfileFeaturesinCNCContouringComputer-AidedDesignVolume38,Issue11,
November2006:
1205-1213.
[3]王琦,郭非.圆弧样条逼近为机械零件几何轮廓的自动编程[J].机械工程学报,1998(2:
20-25.
[4]蔡永林,孙卫青,席光.一种新的平面曲线圆弧插补节点获取方法[J].工程图学学报,2002(1:
97-103.
[5]王得胜,周爱平.用圆弧逼近平面参数曲线的参数递增算法[J].机械工艺师,2001(5:
36-38.
[6]牛文铁,胡德计,徐燕申,等.数控加工中定曲线方程
轮廓的等弦高误差拟合算法研究[J].制造业自动化,2001(9:
7-1.
[7]郄胜强,王先逵.变曲率对称圆弧曲线及其在圆弧样
条拟合中的应用[J].计算机辅助设计与图形学学报,2002(3:
222-224.
[8]黄志刚,郭钟宁.平面曲线的近似等误差双圆弧拟合及应用[J].现代制造工程,2003(6:
22-24.
[9]田富祥,解文涛.锥齿轮锻件切边模齿廓曲线二点拟
合法[J].模具工业,2000(1:
52-54.
表中曲线单位用毫米(mm,n代表在给定区间中各拟合方法得到的拟合线条数,表示拟合控制误差,∀表示拟合后的
实际最大误差。
从附表中发现直线插补的实际误差和给定误差一样。
而双圆弧拟合误差和给定误差略小,但拟合线条数明显比直线拟合少。
在第一条正弦曲线中其拟合线数目最少,那是应为双圆弧拟合基于相切圆。
当曲线曲率比较大时,用相切圆弧更方便拟合。
二分法圆弧拟合方法得到的实际误差比给定的误差要小,尤其在第一条曲线中。
那是由于二分法是基于弓弦拟合的,当曲线曲率比较大的时候,曲线图形更加接近圆弧,在采用了三点法作圆弧后,其拟合圆弧和曲线本身的误差已缩小了一个等级。
在第二条曲线的拟合中,由于曲线的曲率相对变小,二分法对应的拟合线条数最少。
5结论
本文提供的二分法圆弧拟合方法,计算稳定简单,而且运算速度快。
在保证拟合精度的条件下,有效地减少了拟合线条的条数。
拟合曲线的形状精度及光顺性良好。
考虑到有些拟合圆弧的半径可能大
AnArcFittingAlgorithmofCurveBasedon
DichotomyandEqualErrorControl
ZHOUXiaoming,TAOJunca,iQINGHaiou
(CollegeofInformationandEngineering,NanchangUniversity,Nanchang330031,China
Abstract:
FollowingthecharactersofCNC,bringforwardannewplanecurvilinearfittingmethodwhichbasedon
mproveddichotomy.theproposedalgorithmisprovedtoberobustandeffectiveandthecuttingstepsareadaptivetoi
thecurvatureofthegivencurvealongthecuttingdirectionthatitsresultinhighproductivity.Itcansettletheproblemwhilefittingarc∃sradiusisbiggerthanthegreatestradiusthatthemachineprovided.Attheend,anarithmeticofcurvefittingwasgiven.Keywords:
CNC;curvefitting;curvilinearinterpolation