一种基于四阶龙格-库塔算法的NURBS曲线插补方法技术

技术编号:21246131 阅读:24 留言:0更新日期:2019-06-01 06:49
本发明专利技术公开了一种基于四阶龙格‑库塔算法的NURBS曲线插补方法,具体包括以下步骤:定义NURBS曲线、四阶龙格‑库塔算法求解节点矢量增量Δu、NURBS曲线插补轨迹计算、最大弓高误差约束步长、最大加速度约束步长、步长相对偏差计算。本方法通过采用四阶龙格‑库塔算法求解节点矢量增量Δu,使其曲线实时插补轨迹计算结果的局部截断误差Γn+1=Ο(T

NURBS curve interpolation method based on fourth-order Runge-Kutta algorithm

The invention discloses a NURBS curve interpolation method based on fourth-order Runge-Kutta algorithm, which includes the following steps: defining NURBS curve, solving node vector increment u, NURBS curve interpolation trajectory calculation by fourth-order Runge-Kutta algorithm, maximum bow height error constraint step, maximum acceleration constraint step and relative deviation calculation of step length. In this method, the fourth-order Runge-Kutta algorithm is used to solve the node vector increment u, so that the local truncation error n+1=(T) of the curve real-time interpolation trajectory results is obtained.

【技术实现步骤摘要】
一种基于四阶龙格-库塔算法的NURBS曲线插补方法
本专利技术涉及NURBS曲线插补算
,特别涉及一种基于四阶龙格-库塔算法的NURBS曲线插补方法。
技术介绍
随着我国智能制造业的快速发展,传统的数控机床直线、圆弧插补技术已经不能够满足当代高精度工业产品的加工要求,这种插补技术正在逐渐被参数化曲线插补所替代。NURBS曲线是一种非均匀有理B样条自由曲线,这种曲线能够被相应参数准确的表示出来,因其能够在产品设计制造中精确表示自由曲线和自由曲面,经常被用作于参数化曲线插补当中。NURBS曲线插补技术相对于传统的插补方法而言,具有插补程序相对简单、加工效率高、零件加工表面质量好等优点,因此在数控机床高精加工的领域中对NURBS曲线插补的研究是十分有意义的。目前,NURBS曲线插补多采用的是泰勒一阶或二阶展开式近似算法和非线性方程法去求解节点矢量增量,由于这种方法在高精度要求下求导计算过程相对复杂,而且零件表面的加工精度和插补的效率并不能得到很好的保证。
技术实现思路
本专利技术的目的是提供一种能够有效的提高NURBS曲线的插补精度和插补效率的基于四阶龙格-库塔算法的NURBS曲线插补方法。NURBS曲线由于能够被相应参数准确的表示出来,因而能够在产品设计制造中精确表示自由曲线;而四阶龙格-库塔算法是求解非线性微分方程中很常用的一种数值方法,具有计算精度高和计算过程简便的优点;因此,针对参数点的密化过程,引入了经典的四阶龙格-库塔算法,使用四阶龙格-库塔算法求解节点矢量增量Δu的值,对参数化曲线进行插补。具体来说,四阶龙格-库塔方程为:其中:k1=f(tn,yn)式(2)k4=f(tn+h,yn+hk3)式(5)令NURBS曲线的节点矢量ui=yn,NURBS曲线插补周期T=h,即可得到基于四阶龙格-库塔算法关于节点矢量ui的递推方程:其中:式中,ui为NURBS曲线上第i个节点的节点矢量;T为NURBS曲线插补周期,其具体值由人为设定,T=ti+1-ti为NURBS曲线插补周期;接着,将上述式(7)~式(10)带入至式(6)中,将节点矢量的增量Δu的递推方程进一步整理为:其中,+和可以由高阶后向差分计算确定,具体地,进而,将上述式(10)可以进一步整理为:该式(16)即为最终的四阶龙格-库塔算法关于节点矢量ui的递推方程。基于上述四阶龙格-库塔算法关于节点矢量ui的递推方程,该基于四阶龙格-库塔算法的NURBS曲线插补方法的步骤如下:S1、首先根据在CAD绘图软件或CAM绘图软件中绘制的目标样条曲线几何信息获取能够描述并确定一条NURBS曲线的相关参数,包括:节点矢量U=[u0,u1,u2,…,ui,…uj,…,un]、控制顶点d=[d0,d1,d2,…,di,…dj,…,dn]及其权因子w=[w0,w1,w2,…,wi,…wj,…,wn];S2、将节点矢量ui带入基于四阶龙格-库塔算法的节点矢量增量Δu的计算公式:中,得到节点矢量增量Δu,进而代入至公式:ui+1=ui+Δui中,求得其下一个节点矢量ui+1;S3、将步骤S2得到的下一个节点矢量ui+1带入至三次NURBS曲线方程:得到下一个插补点的坐标:pi+1=p(ui+1)或其中,在三次NURBS曲线方程中,di表示第i个控制顶点,wi表示控制顶点di的权值,Ni,3表示3次B样条基函数,B0、B1、B2和B3分别为分子系数;b0、b1、b2、b3分别为分母系数;由于在上述插补过程中,插补曲线段的弓高误差会随着曲线曲率的变化而变化,为了减少弓高误差对插补结果的影响使用弓高误差h约束进给步长ΔLi,弓高误差h与进给步长ΔLi及插补段的曲线曲率ρ之间关系式如下:式中:ρ为插补段的曲线曲率;弓高的近似计算公式可由弓高的产生机理得到:式(20)中,ui+1为下一次插补点节点矢量,ui为已知插补点节点矢量,P(ui)为ui的插补点坐标,P(ui+1)为ui+1的插补点坐标;进一步,设定允许的最大弓高误差为hmax,则在最大弓高误差的允许下最大的约束步长ΔLi1为:进一步,计算最大进给加速度约束amax,即在指定的最大进给加速度amax和最大允许弓高误差hmax的条件下计算出由进给加速度确定的最大约束步长ΔLi2:其中,amax具体值与所采用的机床的型号相关,根据事实该工艺所使用的机床确定。在实际加工的过程中既要满足最大弓高误差hmax约束步长的要求,又要符合数控机床在加工的过程中对最大进给加速度对插补步长的限制以及周期和速度与步长的关系式约束,因此,在步骤S3中,每计算得到一个预估插补点的节点矢量ui+1后,通过计算该预估插补点的节点矢量ui+1插补点坐标P(ui+1)与前一个已知插补点节点矢量ui的插补点坐标P(ui)之间的空间距离,即实际插补步长ΔL,进行核验,判断ΔL是否满足条件:ΔL≤min(ΔLi,ΔLi1,ΔLi2)式(23)。若ΔL满足条件:ΔL≤min(ΔLi,ΔLi1,ΔLi2),则确定该相邻两个插补点的坐标Pi和Pi+1的计算符合误差要求;若ΔL不满足上述条件,则选取ΔLi、ΔLi1和ΔLi2中的最小值作为实际插补步长ΔL的修正值,进而计算新的插补点坐标Pi+1替代原插补点位置Pi+1。更进一步地,为了在插补的过程中能够实时监测曲线插补步长的ΔL与参数值预估步长之间存在偏差的百分比,通过计算计算步长相对偏差δ实现对插补相对误差结果进行判定,当步长相对偏差δ值越大,说明理论步长与实际步长的偏差越大,实际插补结果也相对不准确,而当步长相对偏差δ落入允许的约束范围内,则相应的插补点是否为有效插补点;其中,步长相对偏差δ的计算公式为:在式(24)中,为参数值预估步长,当δ值落入允许的约束范围,则相应的插补点为有效插补点,插补点坐标Pi+1确认为下一个插补点坐标;当δ值超出允许的约束范围,则相应的插补点为无效插补点,需要对插补点坐标进行相应修正,具体修改方法为:将经过上述计算过程确定的已知插补点节点矢量ui、下一插补点的节点矢量ui+1,曲线插补步长的ΔL、以及参数值预估步长带入至公式(26)中:计算得到修正后的新的节点矢量ui+1,进而计算得到对应的插补点坐标替代原插补点坐标Pi+1。S4、重复上述步骤S2~S3,直至完成步骤S1中全部矢量节点U的插补计算,进而通过所有有效插补的点坐标得到NURBS曲线的插补轨迹。该基于四阶龙格-库塔算法的NURBS曲线插补方法的有益效果包括:(1)本方法基于四阶龙格-库塔算法对NURBS曲线插补方法,使其曲线实时插补轨迹计算结果的局部截断误差Γn+1=Ο(T5),达到高精度加工要求,相对于传统插补方法,从理论上讲明显具有更高精度;(2)本方法采用了后向差分法代替插补过程中复杂的求导运算过程,能够有效的提高曲线插补效率;(3)本方法在曲线的实时插补轨迹计算过程中通过弓高、进给速度以及进给加速度对进给步长进行约束,使插补误差落入可控范围之内。附图说明图1为基于四阶龙格-库塔算法的NURBS曲线插补方法流程图;图2为本专利技术的实施例的机床NURBS曲线生成图;图3为本专利技术的实施例的机床NURBS曲线插补轨迹图;图4为本专利技术的实施例的NURBS曲线插补方法中插补步长相对偏差图。具体实施方式下面结合附图及具体实施本文档来自技高网...

【技术保护点】
1.一种基于四阶龙格‑库塔算法的NURBS曲线插补方法,其特征在于,步骤如下:S1、根据已知样条曲线的几何信息,确定轨迹计算公式中NURBS曲线的节点矢量U=[u0,u1,u2,…,ui,…uj,…,un]、控制顶点d=[d0,d1,d2,…,di,…dj,…,dn]及其权因子w=[w0,w1,w2,…,wi,…wj,…,wn];S2、将节点矢量ui带入基于四阶龙格‑库塔算法的节点矢量增量Δu的计算公式:

【技术特征摘要】
1.一种基于四阶龙格-库塔算法的NURBS曲线插补方法,其特征在于,步骤如下:S1、根据已知样条曲线的几何信息,确定轨迹计算公式中NURBS曲线的节点矢量U=[u0,u1,u2,…,ui,…uj,…,un]、控制顶点d=[d0,d1,d2,…,di,…dj,…,dn]及其权因子w=[w0,w1,w2,…,wi,…wj,…,wn];S2、将节点矢量ui带入基于四阶龙格-库塔算法的节点矢量增量Δu的计算公式:中,得到节点矢量增量Δu,进而代入至公式:ui+1=ui+Δui中,求得其下一个节点矢量ui+1;S3、将步骤S2得到的下一个节点矢量ui+1带入至三次NURBS曲线方程:中,得到下一个插补点的坐标:pi+1=p(ui+1)或其中,在三次NURBS曲线方程中,di表示第i个控制顶点,wi表示控制顶点di的权值,Ni,3表示3次B样条基函数,B0、B1、B2和B3分别为分子系数;b0、b1、b2、b3分别为分母系数;S4、重复上述步骤S2~S3,直至完成步骤S1中全部矢量节点U的插补计算,进而通过所有有效插补点坐标得到NURBS曲线的插补轨迹。2.根据权利要求1所述的基于四阶龙格-库塔算法的NURBS曲线插补方法,其特征在于,在步骤S3中,对相邻两个插补点的位置Pi和Pi+1之间的空间距离,即实际插补步长ΔL进行核验,判断ΔL是否满足条件:ΔL≤min(ΔLi,ΔLi1,ΔLi2)...

【专利技术属性】
技术研发人员:刘振忠刘高领朱海星
申请(专利权)人:天津理工大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1