一种高速高精度的参数曲线前瞻插补算法的制作方法

文档序号:12594563阅读:262来源:国知局
一种高速高精度的参数曲线前瞻插补算法的制作方法与工艺

本发明涉及数控加工技术领域,具体涉及一种高速高精度的参数曲线前瞻插补算法。



背景技术:

目前,传统的数控系统只能实现直线插补、圆弧插补以及螺旋插补。在大多数的场合下,这些插补方法能满足基本加工需求。但是,一些复杂曲线曲面物体在CAD/CAM系统中都是采用的参数形式曲线来表达的,尤其是非均匀有理B样条(Non-Uniform Rational Basis Spline,NURBS)曲线对各种复杂的曲面造型都能精确的表达出来,因此NURBS参数曲线插补逐渐广泛应用于各种高端数控设备中。然而加工领域,传统的方法是将NURBS曲线划分为大量微小直线段或圆弧段,然后进行线性插补。这将导致加工速度受到更多的约束,甚至产生剧烈的波动,严重影响了加工效率和加工精度。

为了克服以上问题,需要为数控机床提供一种NURBS曲线直接插补功能,只要输入待加工曲线的控制顶点、节点矢量、权因子以及曲线次数,插补器即可提供直接插补方案供数控机床进行加工。而NURBS曲线数学表达式十分复杂,弧长与参数值之间没有固定的表达式关系,这成了数控机床直接插补的首要障碍。

近年来,国内外专家学者对NURBS曲线直接插补算法做了许多研究,并取得了一定的研究成果。目前常用的NURBS曲线插补算法有均匀参数插补算法、一阶泰勒展开法、二阶泰勒展开法、牛顿迭代法、二分法、自适应速度插补算法等。均匀参数插补算法以恒定的参数增量计算下一个插补参数,但是此方法在曲率较大的位置误差过大,若要降低误差则要降低增量,插补效率将会降低。一阶泰勒展开法的NURBS曲线插补算法能实现恒定进给速度插补,然而存在进给速度波动过大的问题。二阶泰勒展开式的直接插补算法降低了进给速度波动率,但是该算法引入了二阶求导,计算量大大增加,影响实时性。牛顿迭代法和二分法虽然大大提高了插补精度,但是迭代次数过多,降低了插补实时性。自适应速度插补算法虽然能根据曲线曲率的变化自适应调整进给速度从而达到很高的插补精度,但是对于曲率变化较大的曲线可能存在超出机床加减速性能,对机床产生较大的冲击。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种高速高精度的参数曲线前瞻插补算法。

本发明的目的可以通过采取如下技术方案达到:

一种高速高精度的参数曲线前瞻插补算法,所述参数曲线前瞻插补算法包括下列步骤:

S1、采用龙格-库塔方法计算参数曲线各插补点的参数值;

S2、根据加工精度与法向加速度的约束条件自适应调整插补点的进给速度;

S3、根据进给步长理论值与实际值的偏差进行插补参数校正;

S4、寻找进给速度极值点并对曲线进行前瞻分段;

S5、根据速度极值依次对每一个前瞻插补区间进行加减速控制。

进一步地,采用四阶龙格-库塔方法计算参数曲线各插补点的参数值,具体公式如下:

K1=V/C′(ui),K2=V/C′(ui+K1T/2),K3=V/C′(ui+K2T/2),

其中,ui为当前插补点C(ui)对应的插补参数,T为插补周期,V为给定进给速度。

C(ui)为k次参数曲线表达式,若参数曲线选择为NURBS曲线,则:

其中,k为曲线的次数,取值为自然数,di为控制点,组成一个控制多边形,ωi为对应控制点的权因子,Ni,k(u)为定义在非周期节点矢量U上的k次B样条基函数.

通常取u0=u1=...=uk=0,un+1=un+2=...=un+k+1=1.

定义在节点矢量U上的k次基函数递推式为:

其中规定

进一步地,所述插补点的进给速度根据弓高误差约束和法向加速度约束条件进行自适应调整,

其中,所述弓高误差的计算公式为:式中,ρi为当前插补点的曲率半径,ΔLi为当前插补周期进给步长,Vi为当前进给速度,T为插补周期;

其中,根据法向加速度约束的进给速度为:其中anmax为机床允许的最大法向加速度;

其中,根据弓高误差约束的进给速度为:其中hmax为允许的最大弓高误差。

进一步地,所述插补点的进给速度经过自适应调整之后为:

V(i)=min{Vm,Ve(i),Vn(i)},

其中,Vm为机床给定最大进给速度,Ve(i)为弓高误差约束的进给速度,Vn(i)为法向加速度约束的进给速度。

进一步地,所述步骤S3具体为:

所述插补参数校正根据期望的进给步长与所述步骤S1中通过四阶龙格-库塔方法计算出的插补参数值之间的偏差进行调整。

进一步地,所述进给步长理论值与实际值的偏差的计算公式为:

其中ΔL(i)为实际进给步长,ΔLp(i)为期望进给步长;

当所述进给步长理论值与实际值的偏差超过允许的最大值时,校正后的插补参数值为:

其中,u(i)为当前插补参数,u(i+1)为校正后的插补参数。

进一步地,所述步骤S4中进给速度极值点Vs(j)寻找策略如下:当Vs(i-1)<Vs(i),Vs(i)<Vs(i+1)成立时,Vs(i)即为一个进给速度极值点,记Vs(j)=Vs(i),j=1,2,3,...,n,待加工参数曲线共有n个进给速度极值点;

其中,相邻两个进给速度极值点之间为一个前瞻插补区间,曲线起点与首个速度极值点之间为第一个前瞻插补区间,最后一个速度极值点与曲线终点之间为最后一个前瞻插补区间。

进一步地,所述步骤S5具体包括:

S51、识别加速度超过机床允许最大加速度的速度敏感点;

S52、寻找每个进给速度极值点左、右侧的最近速度敏感点Vsl(j)和Vsr(j),以上两点距加工起点距离分别为Ssl(j),Ssr(j);

S53、计算每个前瞻插补区间上进给速度从Vsr(j)增加或者减少到Vsl(j+1)需要的最短加速或者减速距离为:这两个插补点点之间的距离为:Ls(j)=Ssl(j+1)-Ssr(j);

S54、根据前瞻插补区间上最短加速或者减速距离Lmin(j)与前瞻插补区间长度之间的关系,确定响应的加减速控制策略。

进一步地,所述速度敏感点为加速度超过机床允许最大加速度的插补点,速度敏感点满足:其中v(i)为插补点C(ui)处的进给速度,v(i+1)为插补点C(ui+1)处的进给速度,A为机床允许的最大加速度。

进一步地,所述加减速控制策略以加速情况分析时,具体如下:

(i)若Ls(i)<Lmin(i),即最短加速距离不够,进给速度无法在满足机床最大加速度性能条件下达到Vsl(j+1),此时必须减小Vsl(j+1),令Vsl(j+1)=Vsm(j),Vsm(j)根据式计算,进给速度以最大加速度加速到Vsm(i),该前瞻段插补完成;

(ii)若Ls(i)>Lmin(i),且刀具能达到的最大进给速度为Vsm(j)<Vm,则先以加速度A加速到Vsm(i),Vsm(j)根据式计算,然后以加速度-A减速到Vsl(i+1);

(iii)若Ls(i)<=Lmin(i),且刀具能达到机床给定的进给速度Vm,则先以加速度A加速到最大进给速度Vm,然后以恒定进给速度Vm继续插补,当插补点C(ui)距离加工起点的距离为S(i)=Ssl(j+1)-(Vm2-Vsl2(j+1))/2A时,刀具以加速度-A减速到Vsl(j+1)。至此,该前瞻插补区间插补完成。

本发明相对于现有技术具有如下的优点及效果:

1、加工精度高。本发明在粗插补过程中的进给速度是基于弓高误差的约束条件计算得到的,并在计算插补参数过程中进行了参数校正环节,根据进给步长允许误差率的大小,可以进一步提高插补的精确度。

2、加工效率高。插补参数值采用四阶龙格-库塔方法计算,无需对参数曲线进行高阶求导,初值精度高,无需多次迭代,大大提高了加工效率。

3、加工过程中对机床冲击小。本发明充分考虑了待加工曲线曲率变化剧烈的部分,对其自适应调整的进给速度进行二次规划,使得任意插补点刀具的加速度控制在机床允许的范围内。本发明的速度规划方式满足了加速度尽可能少的突变,进一步降低了机床收到的冲击。

附图说明

图1是本发明公开的一种高速高精度的参数曲线前瞻插补算法的工序流程图;

图2是待加工参数曲线;

图3是采用一阶泰勒展开法每个插补周期内参数u的迭代次数;

图4是采用四阶龙格-库塔方法每个插补周期内参数u的迭代次数;

图5是前瞻控制前后加工过程中进给速度曲线;

图6是前瞻控制前后加工过程中加速度曲线。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

本实施例以NURBS三次曲线插补,详细介绍了一种高速高精度的参数曲线前瞻插补算法。

在本实施例中,算法的流程图如图1所示,根据本发明提供的方法包括如下步骤:

S1、采用龙格-库塔方法计算参数曲线各插补点的参数值;

具体实施方式中,采用四阶龙格-库塔方法计算参数曲线各插补点的参数值,具体公式如下:

K1=V/C′(ui),K2=V/C′(ui+K1T/2),K3=V/C′(ui+K2T/2),

其中,ui为当前插补点C(ui)对应的插补参数,T为插补周期,V为给定进给速度。

S2、根据加工精度与法向加速度的约束条件自适应调整插补点的进给速度;

具体实施方式中,所述插补点的进给速度根据弓高误差约束和法向加速度约束条件进行自适应调整。

其中,所述弓高误差的计算公式为:式中,ρi为当前插补点的曲率半径,ΔLi为当前插补周期进给步长,Vi为当前进给速度,T为插补周期。

其中,根据法向加速度约束的进给速度为:其中anmax为机床允许的最大法向加速度。

其中,根据弓高误差约束的进给速度为:其中hmax为允许的最大弓高误差。

所述插补点的进给速度经过自适应调整之后为:

V(i)=min{Vm,Ve(i),Vn(i)}。

S3、根据进给步长理论值与实际值的偏差进行插补参数校正;

所述插补参数校正根据期望的进给步长与所述步骤S1中通过四阶龙格-库塔方法计算出的插补参数值之间的偏差进行调整。

所述进给步长理论值与实际值的偏差的计算公式为:

其中ΔL(i)为实际进给步长,ΔLp(i)为期望进给步长。

所述进给步长理论值与实际值的偏差超过允许的最大值时,校正后的插补参数值为:

其中,u(i)为当前插补参数,u(i+1)为校正后的插补参数。

S4、寻找进给速度极值点并对曲线进行前瞻分段;

具体实施方式中,所述步骤S4中进给速度极值点Vs(j)寻找策略如下:当Vs(i-1)<Vs(i),Vs(i)<Vs(i+1)成立时,Vs(i)即为一个进给速度极值点,记Vs(j)=Vs(i),j=1,2,3,...,n,待加工参数曲线共有n个进给速度极值点。

所述步骤S4中相邻两个进给速度极值点之间为一个前瞻插补区间,曲线起点与首个速度极值点之间为第一个前瞻插补区间,最后一个速度极值点与曲线终点之间为最后一个前瞻插补区间。

S5、根据速度极值依次对每一个前瞻插补区间进行加减速控制。

具体实施方式中,所述步骤S5具体包括以下子步骤:

S51、识别加速度超过机床允许最大加速度的速度敏感点;

该步骤中速度敏感点为加速度超过机床允许最大加速度的插补点,速度敏感点满足:其中v(i)为插补点C(ui)处的进给速度,v(i+1)为插补点C(ui+1)处的进给速度,A为机床允许的最大加速度。

S52、寻找每个进给速度极值点左、右侧的最近速度敏感点Vsl(j)和Vsr(j),以上两点距加工起点距离分别为Ssl(j),Ssr(j);

该步骤中速度敏感点Vsl(j)和Vsr(j)分别为进给速度极值点Vs(j)左右两侧最近的速度敏感点,Ssl(j)和Ssr(j)分别为该两点距加工曲线起点距离,若速度敏感点Vsl(j)或Vsr(j)不存在,表明该点所在前瞻插补区间无速度敏感点,不需要进行加减速二次规划。

S53、计算每个前瞻插补区间上进给速度从Vsr(j)增加(减少)到Vsl(j+1)需要的最短加速或者减速距离为:这两个插补点点之间的距离为:Ls(j)=Ssl(j+1)-Ssr(j);

该步骤中最短加速或者减速距离为:这两个插补点点之间的距离为:Ls(j)=Ssl(j+1)-Ssr(j)。

S54、根据前瞻插补区间上最短加速或者减速距离Lmin(j)与前瞻插补区间长度之间的关系,确定响应的加减速控制策略。

该步骤中加减速控制策略以加速情况分析时,具体如下:

(i)若Ls(i)<Lmin(i),即最短加速距离不够,进给速度无法在满足机床最大加速度性能条件下达到Vsl(j+1),此时必须减小Vsl(j+1),令Vsl(j+1)=Vsm(j),Vsm(j)根据式计算,进给速度以最大加速度加速到Vsm(i),该前瞻段插补完成;

(ii)若Ls(i)>Lmin(i),且刀具能达到的最大进给速度为Vsm(j)<Vm,则先以加速度A加速到Vsm(i),Vsm(j)根据式计算,然后以加速度-A减速到Vsl(i+1);

(iii)若Ls(i)<=Lmin(i),且刀具能达到机床给定的进给速度Vm,则先以加速度A加速到最大进给速度Vm,然后以恒定进给速度Vm继续插补,当插补点C(ui)距离加工起点的距离为S(i)=Ssl(j+1)-(Vm2-Vsl2(j+1))/2A时,刀具以加速度-A减速到Vsl(j+1)。至此,该前瞻插补区间插补完成。

当前插补区间插补完成之后,依次对下一个插补区间进行插补,直到整个待加工曲线插补结束。

综上所述,本发明采用四阶龙格-库塔方法计算插补参数,无需进行参数曲线高阶求导,降低了算法复杂度,提高了算法的实时性。本发明基于速度极值点与插补区间长度之间的关系,对粗插补过程中的进给速度进行二次规划,降低进给速度的波动,提高了加工精度。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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