一种用于高质量加工的圆弧平滑压缩插补算法的制作方法

文档序号:14488479阅读:421来源:国知局
一种用于高质量加工的圆弧平滑压缩插补算法的制作方法

本发明涉及高质量加工中参数样条曲线的拟合及圆弧段的识别与合并,属于数控加工技术领域。



背景技术:

随着设计和制造技术的发展,越来越多的人使用计算机辅助设计(cad)系统来进行复杂零部件的设计。但由于绝大多数的数控系统不支持参数样条数据的传输,通常利用计算机辅助制造(cam)系统将cad设计的自由曲线或曲面,在特定的容差范围内用一系列折线去覆盖,从而生成由大量指令点构成的数控加工程序。

此时,若数控系统采用传统的插补方法,即在相邻指令点构成的直线段上进行插补,势必会引起加速度的频繁变化,并在加工表面留下折角,不利于高速高精的加工。而现在对于微小线段高速加工的研究主要分为两种方法。一种是在相邻微小线段的拐角处插入过渡样条曲线。例如,通过在拐角处插入三次b样条曲线或四次bézier曲线的方式,提高拐角处的速度,从而提高加工效率,但由于插补点在直线段和过渡样条曲线段上的循环出现,使得插补步长不一致,从而导致加工速度的波动,如果指令点越密集,速度的波动就会越频繁。另一种则是通过插值或者逼近的方式将离散的指令点拟合成平滑的加工路径。例如,将由连续微小线段指定的加工路径转化为由二次bézier曲线表示的加工路径,通过对bézier曲线插补来实现对自由曲线的高速高精加工。虽然这种方式能较好地逼近原设计曲线,但由于拟合曲线较复杂,无法精确计算插补步长对应的插补参数,导致加工速度波动,降低了加工精度。



技术实现要素:

为了克服现有小线段插补算法不能高精加工和存在速度波动的不足,本发明的目的是提供一种参数样条拟合方法,通过参数样条曲线特征,识别加工路径中的圆弧段,通过对圆弧段进行插补,来保证加工的精度,同时降低加工速度的波动。

本发明解决其技术问题所采用的技术方案是:一种用于高质量加工的圆弧平滑压缩插补算法,包括以下步骤:

识别连续加工区域;

在连续加工区域中选取型值点并对其进行拟合得到二次有理bézier曲线;

根据曲线识别圆弧及其几何形式转换;

将属于同一圆的相邻圆弧合并,得到插补曲线;

在插补曲线上进行圆弧插补。

所述选取型值点包括:

2-1)将连续加工区域的开始点和结束点标记为型值点;

2-2)将开始点和结束点之间的曲率最大值点标记为型值点;

2-3)将加工路径弯曲方向改变的点标记为型值点。

所述曲率最大值通过以下步骤得到:

3-1)三个相邻指令点的坐标为pi-1(xi-1,yi-1)、pi(xi,yi)和pi+1(xi+1,yi+1),离散指令点pi的曲率值ki由下式确定,

其中,θ为小线段间的拐角,δpi-1pipi+1为带符号的三角型面积由下式确定,

3-2)kl为pi左边的局部曲率最小值,kr为pi右边的局部曲率最小值,如果满足下面两个条件,则pi为局部曲率最大值点:

①|ki|>|kl|并且|ki|>|kr|

②|ki|-|kl|≥δf或者|ki|-|kr|≥δf,δf为设定的最大曲率差值。

所述将加工路径弯曲方向改变的点标记为型值点具体为:利用步骤3-1)计算出的离散指令点pi曲率值进行判断,如果ki-1ki>0并且kiki+1<0,则pi标记为型值点。

所述进行拟合包括以下步骤:

5-1)求取二次有理bézier曲线的权重;

5-2)根据权重通过求取平均值得到二次有理bézier的拟合曲线。

所述权重通过下式得到:

其中,w1为权重,p0为首型值点、p2为末型值点、p1为控制点、p为指令点,u为p0q与qp2的比值,q为以p1为投影中心,直线段[p0p2]投影到二次有理bézier拟合曲线的投影点。

所述根据权重通过求取平均值得到二次有理bézier的拟合曲线包括以下步骤:

7-1)根据权重的求取公式得到求取各段二次有理bézier曲线对应的权值wk及相应的肩点坐标sk=wk/(1+wk),k=i+1,...,j-1;

7-2)通过对sk求平均值得到平均肩点坐标s和平均权值w=s/(1-s);

7-3)根据p0,p1,p2和w确定型值点qi与qj之间二次有理bézier的拟合曲线。

所述根据曲线识别圆弧及其几何形式转换包括以下步骤:

8-1)当|p0p1|=|p1p2|且0<w1<1时,则该曲线为圆弧;

8-2)通过以下步骤得到圆弧的几何信息:

曲线ci(u)对应于一个圆弧段,根据首型值点p0、末型值点p2的单位切矢t0、t2分别计算它们的垂直单位切矢tv0、tv2;

通过直线[p0tv0]和[p2tv2]的交点得到o,即为圆弧段的圆心坐标,半径为|p0o|,首、末型值点的角度分别为tv0、tv2与x轴正半轴的夹角θs和θe,且θs,θe≥0°;

如果θs>θe,则为正圆弧,否则为逆圆弧。

当根据曲线识别圆弧及其几何形式转换结束后,得到一个圆弧段数组arcs[],数组中每个数据的结构如下:

本发明具有以下有益效果及优点:

1.本发明方法控制简单,可以有效地降低圆弧加工速度的频繁波动,实现圆弧的高质量加工。

2.压缩量大,平滑度高。本发明方法能够识别出数控加工程序中的圆弧,并能用圆弧的几何形式进行表示,极大地减少程序段的数量,同时圆弧的几何表示形式提高了加工路径的光滑度。

3.加工精度和加工效率高。本发明方法用几何形式的圆弧进行插补,能够精确地计算出弧长对应的插补参数,降低了计算的复杂度和加工中速度的频繁波动,提高了加工质量和加工效率。

附图说明

图1为本发明的方法流程图;

图2为连续微小线段加工区域的识别示意图;

图3为局部曲率最大值的识别示意图;

图4为二次有理bézier曲线示意图;

图5为型值点切矢的计算原理图;

图6为圆弧几何信息的计算原理图。

具体实施方式

下面结合实施例对本发明做进一步的详细说明。

本发明是一种用于高质量加工的圆弧平滑压缩插补算法,根据双弓高误差限制将加工路径划分为非连续微小线段加工区域和连续微小线段加工区域。对于非连续微小线段加工区域,直接在相邻指令点构成的直线段上进行插补计算,以保证加工精度。对于连续微小线段加工区域,根据离散指令点的曲率值,对曲率极值点和拐点进行拟合,将折线加工路径转化为平滑的二次有理bézier曲线加工路径;然后,利用二次有理bézier曲线特征识别出圆弧,并转换为几何形式;最后,将相邻圆弧段合并后,进行插补计算。

本发明提供了一种用于高质量加工的圆弧平滑压缩插补算法,包括以下步骤:

1.加工区域的识别,根据双弓高误差判断条件,将相邻两个不满足条件的点及它们之间的指令点称为连续微小线段加工区域。

2.型值点的选取,对于连续微小线段加工区域中的指令点,通过离散点曲率计算公式,计算其曲率值,并根据相邻指令点的曲率值和判断条件,找出加工路径中局部曲率最大值点和拐点,将连续微小线段加工区域的两端点、局部曲率最大值点和拐点标记为型值点。

3.型值点的拟合,在保证加工精度的条件下,根据型值点的坐标值和单位切矢,将指令点指定的折线加工路径转化为平滑的二次有理bézier曲线加工路径。

4.圆弧的识别和几何形式的转换,根据二次有理bézier曲线的特征识别出圆弧段,并将圆弧的二次有理bézier形式转换为几何形式。

5.圆弧段的合并,对相邻的圆弧段,根据其几何信息,识别他们是否属于同一圆,对于属于同一圆的相邻圆弧段进行合并。

6.圆弧的插补,通过在几何形式的圆弧上进行插补计算,实现圆弧的高速高精加工。

如图1所示,本发明提出了一种用于高质量加工的圆弧平滑压缩插补算法,解决了小线段插补的问题,方法由加工区域的识别、型值点的选取、型值点的拟合、圆弧的识别与几何形式的转换、圆弧段的合并和圆弧的插补6个部分组成,提高了加工的质量和效率。

根据双弓高误差判断条件,将相邻两个不满足条件的点及它们之间的指令点称为连续微小线段加工区域。

对于连续微小线段加工区域中的指令点,通过离散点曲率计算公式,计算其曲率值,并根据相邻指令点的曲率值和判断条件,找出加工路径中局部曲率最大值点和拐点,将连续微小线段加工区域的两端点、局部曲率最大值点和拐点标记为型值点。

保证加工精度的条件下,根据型值点的坐标值和单位切矢,将指令点指定的折线加工路径转化为平滑的二次有理bézier曲线加工路径。

根据二次有理bézier曲线的特征识别出圆弧段,并将圆弧的二次有理bézier形式转换为几何形式。

对相邻的圆弧段,根据其几何信息,识别他们是否属于同一圆,对于属于同一圆的相邻圆弧段进行合并。

圆弧的插补通过在几何形式的圆弧上进行插补计算,实现圆弧的高速高精加工。

本发明的具体步骤如下:

1.连续微小线段加工区域的识别

如图2所示,pi-1、pi和pi+1为顺序相邻的三个指令点,l1、l2为小线段的段长,θ为小线段间的拐角,双弓高误差判断条件如下所示,

其中,δ1、δ2分别为小线段pi-1pi和pipi+1的弓高误差,φ1为opi-1和opi夹角的一半。φ2为opi和opi+1夹角的一半。

如果δ1或δ2大于设定的最大弓高误差值δmax,则pi为断点;若两个相邻的断点间存在指令点,那么两个断点连同它们之间的指令点就构成了一个连续微小线段加工区域。

2.型值点的选取

为了减少对连续微小线段加工区域的拟合次数、增加程序段的压缩量,通过如下三个步骤来选取型值点。

(1)将连续加工区域的开始点和结束点,即断点,标记为型值点。

(2)将局部曲率最大值点标记为型值点。

如图2所示,三个相邻指令点的坐标为pi-1(xi-1,yi-1)、pi(xi,yi)和pi+1(xi+1,yi+1),离散指令点pi的曲率值ki由下式确定,

其中δpi-1pipi+1为带符号的三角型面积由下式确定,

假设kl为pi左边的局部曲率最小值,kr为pi右边的局部曲率最小值,如果满足下面两个条件,则pi为局部曲率最大值点,如图3所示。

1)|ki|>|kl|并且|ki|>|kr|

2)|ki|-|kl|≥δf或者|ki|-|kr|≥δf,δf为设定的最大曲率差值。

(3)将加工路径弯曲方向改变的点,即拐点,标记为型值点。

利用第(2)步计算出的指令点曲率值进行判断,如果ki-1ki>0并且kiki+1<0,其中,ki-1、ki+1分别为指令点pi-1和pi+1的曲率值,则pi为拐点。

3.型值点的拟合

对于连续微小线段加工区域中的n个型值点,可用一条n-1段的二次有理bézier曲线进行拟合,以达到平滑压缩加工路径的目的。标准型的二次有理bézier曲线如下所示,

其中,p0、p1和p2为控制点,w1为权值,u为变量,范围为[0,1]。

由图4可知,当给定首末端点p0和p2,以及这两点处的切线方向t0和t2时,可以很容易地通过直线[p0t0]和[p2t2]的交点得到p1,再给定一点p就能唯一确定该曲线,因而确定了w1。

将所求的曲线看成是由点p0,p1和p2确定的抛物线的投影,p1为投影中心。如图4所示,将直线段[p0p2]投影到要求的曲线上,则点p和q为相对应的投影点。令w1=0,得到直线段l(u)=[p0p2],即

l(u)是点p0和p2的凸组合,因此|p0q|和|qp2|的比值为u2:(1-u)2,从而推出

将u和p带入二次有理bézier曲线,得到w1,从而得到所求曲线。

假定型值点qi与qj之间由指令点qi+1,qi+2,…,qj-2与qj-1指定的折线加工路径组成,且型值点切矢已知,则型值点qi与qj之间的拟合详细步骤如下所述。

(1)构造以p0=qi,p1和p2=qj为控制点的拟合曲线,使其分别插值于指令点qk(k=i+1,...,j-1)。根据权值计算公式生成中间权值wk及对应的肩点值sk=wk/(1+wk),k=i+1,...,j-1;

(2)通过对sk求平均值得到逼近曲线的肩点值,即

则中间权值为w=s/(1-s);

(3)根据p0,p1,p2和w即可确定型值点qi与qj之间的拟合曲线。

4.型值点切矢的计算

由于数控加工程序中并不提供指令点处的切矢量,但可以通过型值点以及它周围的四个指令点来计算型值点处的切矢量。如图5所示,qi为型值点,qi-2、qi-1、qi+1、qi+2为它周围的四个指令点,qi的单位切矢表达式如下

由于计算公式中未使用参数u,所求的单位切矢只能被看作切矢的方向。利用下式,即可得到t0,t1和tn-1,tn。

q0=2q1-q2,q-1=2q0-q1

qn+2=2qn+1-qn,qn+1=2qn-qn-1

5.拟合精度的控制

虽然曲线段经过型值点qi与qj,但不能保证它到qi与qj之间的所有指令点的距离都满足最大拟合误差。因此,将qi与qj之间的所有指令点投影到拟合的曲线上,检查指令点与曲线上对应投影点间的距离是否都在允许的误差范围内,即小于等于系统设定的最大轮廓误差δc,如果满足误差要求,进行下一段的曲线拟合;否则,将偏差最大的指令点设置为新的型值点,用新的型值点重新进行曲线拟合,再次检验拟合精度,重复这个过程,直至满足误差要求。

6.圆弧的识别与几何形式的转换

由于标准型的二次有理bézier曲线只有一个权因子,其表达能力比非有理形式的bézier曲线强,可以表达多种曲线,当|p0p1|=|p1p2|且0<w1<1时,则所表达的曲线为圆弧。

如果ci(u)对应于一个圆弧段,如图6所示,根据首末型值点的单位切矢t0,t2分别计算它们的垂直单位切矢tv0,tv2。通过直线[p0tv0]和[p2tv2]的交点得到o,即为圆弧段的圆心坐标,半径为|p0o|,首末点的角度分别为tv0,tv2与x轴正半轴的夹角θs和θe,且θs,θe≥0°。如果θs>θe,则为正圆弧,否则为逆圆弧。

当连续微小线段加工区域识别圆弧结束时,得到一个圆弧段数组arcs[],数组中每个数据的结构如下:

7.圆弧的合并

为了提高圆弧加工的效率和精度,将连续微小线段加工区域内的圆弧段合并,如果相邻的圆弧段具有相同的圆心center、半径r和方向turn,并且上一圆弧段的结束角度e_sitai-1与下一圆弧段的开始角度s_sitai相等或者相差360°,则它们属于同一圆弧上连续的圆弧段,通过修改上一圆弧段的结束角度e_sitai-1将它们合并为一个圆弧段。重复上述步骤,直至圆弧段不能再合并。

8.圆弧的插补

通过上述过程便可将数控加工路径中的圆弧识别出来,并用几何的形式表示。对于识别出来的圆弧曲线,采用它的几何表示形式来计算第i个插补周期的插补点坐标(xi′,yi′),具体步骤如下所示。

假定插补周期为t,第i个插补周期的进给速度为vi-1,l为插补步长。如果是顺圆弧段,如图5所示,圆心坐标为(x0,y0),半径为r′,p′i-1(x′i-1,y′i-1)为第i-1个插补周期的插补点坐标,pi′(xi′,yi′)为第i个插补周期的插补点坐标。对应的插补公式,如下式所示,

δθ=l/r′=vi-1t/r′

将进给速度vi-1带入上式,便可计算出第i个插补周期的插补点pi′(xi′,yi′)。

用同样地逆圆弧对应的插补公式如下式所示,

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1