等误差法直线逼近非圆曲线的节点计算(数控作业+附加程序+经典)
- 格式:doc
- 大小:103.50 KB
- 文档页数:8
直线逼近非圆曲线的节点计算平面轮廓除了直线和圆弧外,还有椭圆、双曲线、抛物线、阿基米德螺旋线等函数曲线。
对于这类曲线,无法直接用直线、圆弧插补指令进行加工,而常用直线段或圆弧段逼近曲线,因此需计算出相邻二逼近直线或圆弧的节点坐标。
用直线逼近非圆曲线的常用数学方法有三种:等间距法、等步长法和等误差法。
2.3.1等间距法等间距法就是将某一坐标轴划分为相等的间距,然后求出曲线上相应的节点,将相邻节点连成直线,用这些直线段组成的折线代替原来的轮廓曲线。
如图所示,沿X 轴方向取等间距Δx ,已知曲线方程为y =f (x )。
由起点开始,设起点为(x 0,y 0),则x 1=x 0+Δx ,将x 1代入y =f (x )得到y 1,则(x 1,y 1)即为求出的逼近直线的第一个节点。
根据x i =x i-1+i.Δx 依次求出y i =f (x i )得到一系列节点坐标。
Δx 的取值应保证各逼近直线段与曲线y =f (x )间的最大法向距离小于编程允许误差δ允。
一般先取Δx =0.1试算出节点坐标,然后选择曲线上曲率最大的曲线段进行逼近误差校验。
2.3.2等步长法等步长直线逼近即所有逼近线段的长度都相等,如图所示。
计算步骤如下:1.求R min :已知曲线方程为y =f (x ),由于曲线各处的曲率不等,等步长逼近后最大逼近误差δmax 必然产生在曲率最大的地方,也即曲率半径最小的地方。
曲线上任一点的曲率半径为 y y R '''+=2/32)1( (2-10) 令0=dx dR ,得 0)1(322=''''--'''y y y y(2-11) 将y =f (x )、y ′、y ′′、y m 代入可求得x ,将x 代入式(2-4)即可求得R min 。
R min 为曲线上最小曲率半径。
2. 确定允许的步长L:如图2.2所示,在给定的允许误差允δ下的步长L 为: 允允δδmin 2min 2min 22)(2R R R L ≈--= (2-12)3.求节点坐标),(i i y x :以曲线起点a ),(00y x 为圆心,以步长L 为半径作圆与曲线)(x f y =相交于b 点),(11y x ,求联立方程组⎩⎨⎧==-+-)()()(222x f y L y y x x a a (2-13) 可求得),(11y x 。
程序编制中的数学处理--非圆曲线节点的计算数控系统一般只有直线和圆弧插补功能,对于非圆曲线轮廓,只能用直线或圆弧去逼近它。
节点就是逼近线段与非圆曲线的交点,也是个逼近线段的起点和终点。
一个已知曲线方程的节点数与逼近线段的形状(直线还是圆弧)、曲线方程的特性以及允许的逼近误差有关。
节点计算,就是利用这三者之间的数学关系,求解出各节点的坐标。
一、等间距的直线逼近的节点计算已知非圆曲线方程 y=f(x)从曲线X轴的起点坐标开始,以等间距Δx来划分曲线起点到终点的区间,可得一系列X 轴的坐标点的值,设起点的X坐标值为x0=a,则有:x1=a+Δx,x2=a+2Δx,x3=a+3Δx,…. X i=a+iΔx,..将这些X坐标值代入方程 y=f(x),则求得一系列Y坐标值:y i=f(x i)(i=1,2,3,…..)那么(xi,yi)(i=1,2,3……)就是所求得的节点坐标值。
相邻两点的直线段就是逼近线段。
等间距法的关键是合理确定Δx,既要满足允许误差的要求,又要使节点尽可能少。
通常采用试算和校验的方法确定Δx,方法步骤如下:1.取Δx初值,一般取0.1。
2.计算(xi,yi)(i=1,2,3……)。
3.误差验算:设任一逼近直线MN,其方程为:ax+by+c=0,则与MN平行且距离为δ允的直线MˊNˊ的方程为:求解联立方程:若:只有一个解,则逼近误差等于δ允,Δx正好满足误差要求。
没有解,则逼近误差小于δ允,Δx满足误差要求,可适当增大其取值,返回2。
有两个解,则逼近误差大于δ允,Δx太大,应减小其取值。
返回2。
等间距法计算简单,但由于必须保证曲线曲率最大处的逼近误差小于允许值,所以程序可能过多。
二、等弦长直线逼近的节点计算使所有逼近线段的长度相等。
计算步骤如下:(1)确定允许的弦长。
用等弦长逼近,最大误差δmax一定在曲线的曲率半径最小Rmin处,则为:(2)求Rmin。
曲线任一点的曲率半径为:取dR/dx=0,即根据求得,并由式(2-3)求得x后,将x值代入式(2-2)求、得Rmin。
用数学方程描述的非圆曲线的轮廓数值计算数控加工中把除了直线与圆弧之外用数学方程式表达的平面轮廓曲线称为非圆曲线。
非圆曲线的节点就是逼近线段的交点。
一个已知曲线)(x f y =的节点数目主要取决于所用逼近线段的形状(直线或圆弧)、曲线方程的特性以及允许的拟合误差。
将这三个方面利用数学关系来求解,即可求得相应的节点坐标。
下面简要介绍常用的直线逼近节点的计算方法。
(1)等间距直线逼近的节点计算 1)基本原理等间距法就是将某一坐标轴划分成相等的间距,然后求出曲线上相应的节点。
如图3.1所示,已知曲线方程为)(x f y =,沿X 轴方向取Δx 为等间距长。
根据曲线方程,由i x 求得i y ,ix +1=i x +Δx ,)(1x x f y i i ∆+=+,如此求得的一系列点就是节点。
2) 误差校验方法由图3.1知,当x ∆取得愈大,产生的拟和误差愈大。
设工件的允许拟合误差为δ,一般δ取成零件公差的1/5~1/10,要求曲线)(x f y =与相邻两节点连线间的法向距离小于δ。
实际处理时,并非任意相邻两点间的误差都要验算,对于曲线曲率半径变化较小处,只需验算两节点间距最长处的误差,而对曲线曲率变化较大处,应验算曲率半径较小处的误差,通常由轮廓图形直接观察确定校验的位置。
其校验方法如下:设需校验mn 曲线段。
n m 和的坐标分别为(m m y x ,)和(n n y x ,),则直线mn 的方程为:nm n m nn y y x x y y x x --=--令A=n m y y -,B=m n x x -,C=n m n m y x x y -,则上式可改写为A x +B y =C 。
表示公差带范围的直线n m ''与mn 平行,且法向距离为δ。
n m ''直线方程可表示为:22B AC By Ax +±=+δ式中,当直线n m ''在mn 上边时取“+”号,在mn 下边时“-”号。
数控系统等误差直线逼近节点算法分析与改进
文豪;高健
【期刊名称】《机械设计与制造》
【年(卷),期】2013(000)009
【摘要】近些年来,复杂零件越来越多,其曲面轮廓往往需要采用数控加工,且加工精度要求也日益提高.非圆曲线是机械零件常见的平面轮廓曲线,但目前绝大多数数控系统只具备直线插补和圆弧插补功能,加工非圆曲线则需要用直线段或圆弧段来逼近非圆曲线.重点分析现有数控系统等误差直线逼近节点算法,指出该算法用于非圆曲线处理时的局限性.在此基础上,提出一种新的基于区域误差检验的等误差算法,并运用VC++编程软件,实现非圆曲线的等误差数控编程系统开发.最后,通过实例非圆曲线验证该算法的有效性.
【总页数】4页(P217-219,223)
【作者】文豪;高健
【作者单位】广东工业大学机电工程学院,广东广州 510006;广东工业大学机电工程学院,广东广州 510006
【正文语种】中文
【中图分类】TH16
【相关文献】
1.等误差直线逼近非圆曲线节点计算新方法 [J], 于洋;魏娟
2.等误差及等步长直线逼近渐开线节点的改进算法 [J], 王忠
3.等误差直线逼近渐开线节点的简易计算方法 [J], 张敬东
4.等误差直线逼近凸轮轮廓曲线节点的改进算法 [J], 唐锐;张彦博
5.粒子群算法在等误差直线逼近节点方法中的应用 [J], 项魁;高健;文豪
因版权原因,仅展示原文概要,查看原文内容请购买。
数控车床编程点位计算公式数控车床是一种高精度、高效率的机械加工设备,广泛应用于航空航天、汽车制造、模具加工等领域。
在数控车床的加工过程中,编程点位计算是非常重要的一环,它直接影响到加工零件的精度和质量。
本文将介绍数控车床编程点位计算的公式及其应用。
一、数控车床编程点位计算公式。
1. 直线插补点位计算公式。
直线插补是数控车床加工中常用的一种加工方式,其点位计算公式如下:Xn = X0 + (n/N) (X1 X0)。
Yn = Y0 + (n/N) (Y1 Y0)。
Zn = Z0 + (n/N) (Z1 Z0)。
其中,Xn、Yn、Zn为插补点的坐标,X0、Y0、Z0为起点坐标,X1、Y1、Z1为终点坐标,n为当前点位,N为总点位数。
2. 圆弧插补点位计算公式。
圆弧插补是数控车床加工中常用的一种加工方式,其点位计算公式如下:Xn = I + R cos(θn)。
Yn = J + R sin(θn)。
Zn = Z0 + (n/N) (Z1 Z0)。
其中,Xn、Yn、Zn为插补点的坐标,I、J为圆弧中心坐标,R为圆弧半径,θn为当前点位对应的角度,Z0、Z1为起点和终点的Z坐标,n为当前点位,N为总点位数。
3. 螺旋线插补点位计算公式。
螺旋线插补是数控车床加工中常用的一种加工方式,其点位计算公式如下:Xn = R cos(θn)。
Yn = R sin(θn)。
Zn = Z0 + (n/N) (Z1 Z0)。
其中,Xn、Yn、Zn为插补点的坐标,R为螺旋线半径,θn为当前点位对应的角度,Z0、Z1为起点和终点的Z坐标,n为当前点位,N为总点位数。
二、数控车床编程点位计算公式的应用。
1. 提高加工精度。
在数控车床的加工过程中,编程点位计算的精度直接影响到加工零件的精度。
通过合理地应用上述的点位计算公式,可以提高加工精度,保证加工零件的质量。
2. 提高加工效率。
编程点位计算的准确性和高效性对于提高加工效率至关重要。
数控技术作业等误差法直线逼近非圆曲线的节点计算由于大部分数控机床不具备对非圆曲线刀尖轨的插补指令,因此在编制此类曲线刀尖轨迹的数控程序时通常用直线段或圆弧段予以替代。
由于直线替代法简单、直观,因此使用较多。
用直线段替代非圆曲线的方法如图1所示。
在满足精度要求的条件下,可用折线段替代非圆曲线。
图中a、b、c、d等称为节点,实现刀尖轨迹数控编程的关键就是确定这些节点。
为简化计算,常采用等间距法和等步长法来确定节点。
等间距法是在理论曲线与直线的最大偏差小于允许偏差(δ最大≤δ允)的条件下,令各节点在x轴上的投影的间距∆x相等。
等步长法是在理论曲线与直线的最大偏差小于允许偏差(δ最大≤δ允)的条件下,令各节点间的直线长度∆L相等。
它们的共同特点是计算较为简单。
但当各节点之间曲线的曲率变化较大时,由于∆x和∆L为定值,因此会造成被加工零件的表面粗糙度变化较大,从而影响工件的表面加工质量;同时,曲线曲率的变化也使工件的加工误差δ发生变化。
另一方面,等间距法的间距和等步长法的步长均是根据加工精度由非圆曲线的最小曲率半径确定的,因此这两种方法在整个非圆曲线内会产生很多节点,使计算和编程相当繁琐。
如采用等误差直线逼近法则可有效避免上述问题。
1 等误差直线逼近的理论计算等误差直线逼近法的特点是令各节点间非圆曲线与直线的误差δ相等。
其具体求解步骤如下:(1)以起点a( x a ,y a )为圆心、δ为半径作圆,确定允许误差的圆方程为(x-x a )2+(y-y a )2=δ2(1) (2)圆与曲线的公切线PT 的斜率为y T -y px T -x p(2) (3)式中的x T 、y T 、x p 、y p 需通过求解下列联立方程获得:{ y T -y p =f 1'( x p )( x T -x p )y p =f 1( x p ) (3)y T -y p =f 2'(x T )(x T -x p )y T =f 2(x T )式中:f 1(x)——误差圆函数f 2(x)——加工曲线函数(4)可知与PT 平行的弦ab 的斜率为K ,则弦ab 的直线方程为y-y a =K(x-x a ) (4)(5)联立曲线方程和弦ab 方程,可求得b 点坐标为{ y=f 2(x) y-y a =k(x-x a ) (5)(6)重复上述步骤即可顺次求得c 、d 、e 等各点坐标。
非圆曲线的等误差拟合数控节点算法研究作者:陈锐鸿谭兆湛张平来源:《数字技术与应用》2010年第07期[摘要]非圆曲线是数控编程中经常用到的一类复杂轮廓曲线。
对非圆曲线进行数控编程的关键之一在于如何提高数控程序的质量,以避免数控加工程序段过多,对非圆曲线的数学处理,其运算量之大和计算之复杂,是手工编程所不可能胜任。
本论文针对工程实际的需求,通过创新开发一套自主版权的软件来满足这一实际的需求。
[关键词]非圆曲线等误差拟合数值分析[中图分类号]TG659 [文献标识码]A [文章编号]1007-9416(2010)07-0103-02对于给定的任意非圆曲线及允许加工误差,如何用最少的直线段来逼进给定的非圆曲线,以使得数控加工程序段数最少。
用计算机设计出的软件能动态显示等误差法求解节点的过程,生成保存并能够拿到数控机床加工的ISO数码代码。
本论文根据给定的非圆曲线参数方程,用数值分析的方法来实现任意点的切线,用二分法或牛顿迭代法来求得圆与非圆曲线的公切线和直线与非圆曲线的交点,用程序来实现非圆曲线结点的求解。
1 非圆曲线直线逼近方法1.1 等误差直线逼近的节点计算等误差即使所有逼近线段的误差相等,计算步骤如下:1.1.1 确定所有逼近线段的误差的圆方程,即以起点圆心,为半径作圆:将方程写成1.1.2 求与曲线的公切线的斜率:为求,需求解联立方程:1.1.3 求弦长AB的方程。
使AB弦的斜率为,即使平行,则AB方程为:1.1.4 联立曲线方程和弦方程求得B点坐标:1.2 圆弧逼近的节点计算曲线用圆弧逼近有曲率圆法、三点圆法和相切圆法等方法。
三点圆法是通过已知四个节点分别作两个相切的圆,编出两个圆程序段。
这两种方法都应先用直线逼近方法求出各节点,再求出各圆,计算较繁琐。
1.3 等误差法的关键点和难点从等误差法的介绍中我们可以了解到,手工编程将是非常复杂的一个过程,它需要不断重复步骤(2)~(5),其难点就是如何求得“圆与任意的非圆曲线”的公切线PT、以及“直线与任意的非圆曲线”的交点(这就用到数值分析的知识。
第3章数控编程中的数学处理(一)目的与要求通过本章内容的学习,使学生了解数控编程前数学处理的主要内容和基本方法,掌握利用三角函数计算基点坐标,为数控编程做准备。
(二)教学内容1.三角函数法计算基点坐标2.非圆曲线节点坐标的概念3.辅助坐标点的设定与计算(三)教学要求1.掌握利用三角函数计算基点坐标的方法2.了解非圆曲线节点坐标的概念3.掌握辅助坐标点的计算(四)重点与难点重点:利用三角函数计算基点坐标难点:辅助坐标点的设定与计算(五)学习指导1、数值计算的内容对零件图形进行数学处理是编程前的一个关键性的环节。
数值计算主要包括以下内容。
(1)基点和节点的坐标计算零件的轮廓是由许多不同的几何元素组成。
如直线、圆弧、二次曲线及列表点曲线等。
各几何元素间的联结点称为基点,显然,相邻基点间只能是一个几何元素。
当零件的形状是由直线段或圆弧之外的其他曲线构成,而数控装置又不具备该曲线的插补功能时,其数值计算就比较复杂。
将组成零件轮廓曲线,按数控系统插补功能的要求,在满足允许的编程误差的条件下,用若干直线段或圆弧来逼近给定的曲线,逼近线段的交点或切点称为节点。
编写程序时,应按节点划分程序段。
逼近线段的近似区间愈大,则节点数目愈少,相应地程序段数目也会减少,但逼近线段的误差d应小于或等于编程允许误差d允,即d≤d允。
考虑到工艺系统及计算误差的影响,d允一般取零件公差的1/5~1/10。
(2)刀位点轨迹的计算刀位点是标志刀具所处不同位置的坐标点,不同类型刀具的刀位点不同。
对于具有刀具半径补偿功能的数控机床,只要在编写程序时,在程序的适当位置写入建立刀具补偿的有关指令,就可以保证在加工过程中,使刀位点按一定的规则自动偏离编程轨迹,达到正确加工的目的。
这时可直接按零件轮廓形状,计算各基点和节点坐标,并作为编程时的坐标数据。
当机床所采用的数控系统不具备刀具半径补偿功能时,编程时,需对刀具的刀位点轨迹进行数值计算,按零件轮廓的等距线编程。
课程设计课程名称数控技术课程设计题目名称_数控中非圆曲线逼近的算法实现学生学院__机电工程学院专业班级机械设计制造及其自动化学号学生姓名指导教师_成绩评定教师签名2012 年 07 月 05 日广东工业大学数控技术课程设计任务书题目名称数控中非圆曲线逼近的算法实现学生学院机电工程学院专业班级机械设计制造及其自动化2009级3班姓名学号一、课程设计的内容用计算机高级编程语言(如VB,VC++等)来实现非圆曲线的逼近,可任选(1)直线逼近(如等间距法、等弦长法、等误差法等)、或(2)圆弧逼近。
要求在满足允许误差的前提下,使得逼近的直线段或圆弧段的数量最少(即最优解),根据加工曲线轮廓自动生成刀具中心轨迹,自动生成加工NC代码。
二、课程设计的要求与数据具体的要求如下:(1)列出一般的直线或圆弧逼近的算法(流程图)。
(2)列出改进的直线或圆弧逼近的算法(流程图)——即优化算法。
比较改进前与改进后的两种算法结果。
(3)针对给定的某一由非圆曲线所构成的平面轮廓,根据指定的走刀方向、起刀点,自动生成CNC代码。
(4)有刀具自动补偿功能,根据给定的补偿量和进给方向自动计算刀具中心轨迹,有过切报警功能。
(5)在屏幕上显示该非圆曲线所构成的平面轮廓。
根据给定的进给速度能模拟加工过程,并在屏幕上留下刀具所走中心轨迹。
非圆曲线选择(根据组员最大最小学号选择,选择方法:若本组学号最小的同学学号为xxxxxxa,学号最大的同学学号为yyyyyyb,取p=a%8+1, q=b%8+1,若q==p,则q=p+1; 则该组选择的非圆曲线组合为第p组和第q组。
注:’%’是取余运算):1:渐开线凸轮;2:双曲线3:椭圆曲线4:正弦线5:星形线6:心脏线7:抛物线8:外摆线三、课程设计应完成的工作每组学生应在规定时间内,独立完成所选题目。
运用VB或其它编程语言,编写计算机软件在WINDOWS实现数控装置的计算机仿真。
要求清楚地分析问题、提出算法、确定人机界面、列出流程图,最后用程序验证,完成软件测试,并且提交程序说明书。
非圆曲线非圆曲线数学处理数学处理数学处理的一般的一般的一般方法方法方法数控系统一般只有直线和圆弧插补的功能,对于非圆曲线轮廓,只有用直线或圆弧去逼近它,“节点”就是逼近线段与非圆曲线的交点。
一个已知曲线的节点数主要取决于逼近线段的形状(直线段还是圆弧段),曲线方程的特性以及允许的逼近误差。
将这三者利用数学关系求解,即可求得一系列的节点坐标,并按节点划分程序段。
以下简介常用的直线逼近及圆弧逼近的数学处理方法。
2.1 常用非圆曲线直线逼近方法常用非圆曲线直线逼近方法2.1.1 等间距的直线逼近的节点计算这是一种最简单的算法。
如图2.1所示,已知方程)(x f y =,根据给定的x ∆求出i x ,求i x 代入)(x f y =即可求得一系列i y ,即为每个线段的终点坐标,并以该坐标值编制直线程序段。
XYNMM )(x f图2.1 等间距逼近方法的原理图x ∆取值的大小取决于曲线的曲率和允许误差δ。
一般先取1.0=∆x 试算并校验。
误差校验方法如图2.1中的右图所示,MN 为试算后的逼近线段,作''N M 平行于MN 且两直线的距离为允δ。
根据节点的坐标可求得MN 方程:0=++c by ax ,则''N M 的方程为22b a c by ax +±=+允δ 求解联立方程:)(22x f y b a cby ax =+±−+=允δ (2-1)如果无解,即没有交点,表示逼近误差小于允δ;如果只有一个解,即等间距与轮廓线相切,表示逼近误差等于允δ;如果有两个或两个以上的解,表示逼近误差大于允δ,这时应缩小等间距坐标的增量值,重新计算节点和验算逼近误差,直至最大的逼近误差小于等于允δ。
等间距法计算简单,但由于取定值x ∆应保证曲线曲率最大处的逼近误差允许值,所以程序可能过多。
用此种方法进行数学处理,它的逼近曲线与轮廓线的逼近误差参差不齐,程序明显增多,影响机床的加工效率,不适合大批量的加工,成本也比较高。
等误差直线逼近非圆曲线节点计算新方法
于洋;魏娟
【期刊名称】《组合机床与自动化加工技术》
【年(卷),期】2005(000)005
【摘要】传统的等误差直线逼近法从被逼曲线的端点开始计算节点.文章在此基础上提出一种非圆曲线节点计算新方法,以被逼曲线曲率半径最小点开始,按等误差法求取节点,再根据曲线规律对节点重新进行排序,输出节点坐标值.用该种方法逼近曲线,在逼近误差等于等误差法逼近误差的条件下,节点数少于等误差法求得的节点数,文中用C语言编写新方法求取节点程序,并与传统方法进行比较,最后用曲线方程进行验证,结论正确,具有实际意义.
【总页数】2页(P32-33)
【作者】于洋;魏娟
【作者单位】西安科技大学,机械工程学院,西安,710054;西安科技大学,机械工程学院,西安,710054
【正文语种】中文
【中图分类】TH164
【相关文献】
1.等误差直线逼近渐开线节点的简易计算方法 [J], 张敬东
2.等步长及等误差直线逼近渐开线节点计算的新方法 [J], 龚建春;周汝忠
3.数控编程中等误差直线逼近节点的计算方法 [J], 范云霄;郑轶;于涛;赵永军
4.计算机辅助非圆曲线的数控编程──等误差直线逼近节点法 [J], 徐志刚;范燕新
5.等误差直线逼近非圆曲线的节点计算及刀具轨迹模拟 [J], 范云霄;郑轶;于涛;杨俊茹
因版权原因,仅展示原文概要,查看原文内容请购买。
数控技术作业
等误差法直线逼近非圆曲线的节点计算
由于大部分数控机床不具备对非圆曲线刀尖轨
的插补指令,因此在编制此类曲线刀尖轨迹的数控程序时通常用直线段或圆弧段予以替代。
由于直线替代法简单、直观,因此使用较多。
用直线段替代非圆曲线的方法如图1所示。
在满足精度要求的条件下,可用折线段替代非圆曲线。
图中a、b、c、d等称为节点,实现刀尖轨迹数控编程的关键就是确定这些节点。
为简化计算,常采用等间距法和等步长法来确定节点。
等间距法是在理论曲线与直线的最大偏差小于允许偏差(δ最大≤δ允)的条件下,令各节点在x轴上的投影的间距∆x相等。
等步长法是在理论曲线与直线的最大偏差小于允许偏差(δ最大≤δ允)的条件下,令各节点间的直线长度∆L相等。
它们的共同特点是计算较为简单。
但当各节点之间曲线的曲率变化较大时,由于∆x和∆L为定值,因此会造成被加工零件的表面粗糙度变化较大,从而影响工件的表面加工质量;同时,曲线曲率的变化也使工件的加工误差δ发生变化。
另一方面,等间距法的间距和等步长法的步长均是根据加工精度由非圆曲线的最小曲率半径确定的,因此这两种方法在整个
非圆曲线内会产生很多节点,使计算和编程相当繁琐。
如采用等误差直线逼近法则可有效避免上述问题。
1 等误差直线逼近的理论计算
等误差直线逼近法的特点是令各节点间非圆曲线与直线的误差δ相等。
其具体求解步骤如下:
(1)以起点a( x a ,y a )为圆心、δ为半径作圆,确定允许误差的圆方程为
(x-x a )2+(y-y a )2
=δ2
(1) (2)圆与曲线的公切线PT 的斜率为
y T -y p
x T -x p
(2) (3)式中的x T 、y T 、x p 、y p 需通过求解下列联立方程获得:
{ y T -y p =f 1'( x p )( x T -x p )
y p =f 1( x p ) (3)
y T -y p =f 2'(x T )(x T -x p )
y T =f 2(x T )
式中:f 1(x)——误差圆函数
f 2(x)——加工曲线函数
(4)可知与PT 平行的弦ab 的斜率为K ,则弦ab 的直线方程为
y-y a =K(x-x a ) (4)
(5)联立曲线方程和弦ab 方程,可求得b 点坐标为
{ y=f 2(x) y-y a =k(x-x a ) (5)
(6)重复上述步骤即可顺次求得c 、d 、e 等各点坐标。
2等误差直线逼近法的节点计算
在数控加工中,刀尖轨迹的理论曲线一般取为抛物线y=ax 2
( a>0,x>0),则有y'=2ax 。
根据允差圆方程式(1)可得
{ y=y a -[δ2-(x-x a )2]½
x-x a y-y a
(6) 因此方程组(3)可改写为
{ y T -y p
x p -x T
(x T -x p )
y p -y T
y p =y a -[δ2-(x p -x T )2]½
y T -y p =2ax T (x T -x p )
y T =ax T 2
(7) 联立方程组(7)可得
4au 3-4au 2y a -t 3+4aut 3
+4autx a =0
(8) 式中:t=x p -x a
u=(δ2-t 2)½
由已知条件可知:0≤t≤δ。
为求解t 值,
可在计算机上采用逐步搜索法或二分法等数值解法求根(本文选用逐步搜索法)。
由式(8)解出t 值后即可求解方程。
根据式(5)可得
{ y=ax 2 y-ya=k(x-x a ) (9)
式中k=(y T -y p )/(x T -x p )
求解方程组(9),可得第一个节点坐标为
k+del
2a (10)
式中del=[k 2-4a( kx a -y a )]½
然后以该节点作为新的起点,反复求解,即可顺次求得所有节点。
3 流程框图
图1
4 计算程序的编制
在AutoCAD内嵌的VBA(Visual Basic for Applications)开发环境下开发计算程序,程序流程如图1。
数控加工刀尖轨迹的理想曲线为抛物线。
按 =0.05求出的节点绘制的折线段模拟曲线轨迹如图2所示。
计算出的节点数据保存于“c:/data.txt”文件中,见图3.
求解方程的子程
序如下:
//求解方程
For tana=delta
To 0 Step -0.0001
u=Sq(r delta ^
2-tana ^ 2)
texpr=4 * a * u ^
3 +
4 * a * u *
tana ^ 2 - 4 * a
*
u ^ 2 * ya-tana ^
2 + 4 * a * u *
tana * xa
If texpr < 0.00001 And texpr > 0 Then Exit For
Next
xp=xa + tana :yp=ya-u
xt=tana /(2 * a * u):yt=a * xt ^ 2
k=(yp-yt)/(xp-xt)
del=Sq(r k ^ 2-4 * a *(k * xa-ya))
xb=(k + del)/(2 * a) 图2 模拟曲线轨迹(δ=0.05)
图3 保存节点坐标数据的文件(δ=0.01)
yb=a * xb ^ 2
//解方程结束
误差值 的设置可通过“变量设置”来完成。
5 其它非圆曲线的等误差直线逼近
对于其它非圆曲线刀尖轨迹的等误差直线逼近,只需改变计算程序中t 的表达式即可实现。
以双曲线为例,只需将程序中t 的表达式“texpr=4*a*u^3 + 4*a*u*tana^2-4*a*u^2*ya-tana^2 + 4*a*u*tana*x”改为“texpr=t^2 + t*xa-u*ya-2*sq(r-u*t)”即可。
6 结语
在非圆曲线刀尖轨迹的数控编程中,等误差直线逼近法是节点最少、数控程序段最少的方法,且零件的加工表面精度和尺寸精度较高。
但等误差直线逼近法计算比较繁琐,手工求解四元二次方程一般很难求得精确解。
本文介绍的在AutoCAD 内嵌的VBA 开发环境下编制的计算程序,可有效实现非圆曲线等误差直线逼近法的节点计算,并具有可移植性,可方便地用于其它非圆曲线的节点计算,也可形象地模拟刀具轨迹线与实际加工曲线的差别,因此具有较高实用价值。