过点集NURBS插值曲线的插值误差多次细分迭代计算方法与流程

文档序号:22081713发布日期:2020-09-01 19:31阅读:485来源:国知局
过点集NURBS插值曲线的插值误差多次细分迭代计算方法与流程

本发明涉及计算机数字控制(cnc)技术领域,特别涉及该领域中加工刀位点的样条化光顺处理技术。



背景技术:

nurbs曲线插值技术在cnc加工领域具有重要的应用价值。当前,在一些高档cnc系统中,已基本具备离散加工刀位的样条化光顺插补计算能力,为提高系统样条插补计算程序的执行效率,往往需要从大量的原始刀位数据点集中去除掉多数数据点的同时,寻求最优化的nurbs插值曲线表达,而该最优寻求的目标则是被去除掉的数据点处的插值误差应不大于加工允许误差上限值。由此看来,被去除掉的数据点处的插值误差(即该数据点与nurbs插值曲线间的最小距离)的计算方法及准确程度对于cnc系统的刀位点样条化光顺处理能力的高低显得尤为重要。

现有一些方法针对该插值误差的计算给出了相应的计算模型,但插值误差计算模型的好坏将直接影响过点集nurbs曲线插值的迭代次数及参与插值的数据点的数量。从理论上分析,该插值误差值应是以数据点为圆心,并与nurbs曲线相切的圆弧作为半径,将该半径值作为理论插值误差值。但由于该方法计算过于复杂,绝大多数学者并未采取该方法进行计算。当前最为广泛的偏差计算方法,是对全部数据点进行参数化计算,求出各个参数值在nurbs曲线上的对应点,将数据点与nurbs曲线上对应点之间的距离作为实际插值误差值。因此,通过对过点集nurbs插值曲线插值误差的有效计算,对cnc系统实现精密样条光顺插补控制算法、进一步提高cnc系统的加工精度具有重要作用和现实意义。

现将与过点集nurbs曲线插值相关的背景技术介绍如下。

一条p次nurbs曲线定义为

式(1)中:{pi}是nurbs曲线的控制点,控制点的数量为n+1个,所有控制点{pi}的连线构成了nurbs曲线的控制多边形;{ωi}是对应控制点{pi}的权因子值;ni,p(u)是p次b样条基函数。

b样条基函数定义在节点矢量

u=(u0,u1,…,um)

上(其中:m=n+p+1,节点的个数为m+1)。b样条基函数可由deboor-cox递推公式求得

针对刀位数据点集{qi}(i=0,1,…,t)中选出其中n+1个数据点{qj}(j=0,1,…,n),过点集{qj}(j=0,1,…,n)的nurbs曲线插值方法如下。

首先,需要对参与插值的数据点集{qj}(j=0,1,…,n)进行参数化。目前最常用的是用一种弦长参数化方法进行特征数据点的参数化计算。

对于数据点集{qj}(j=0,1,…,n),设总弦长为d,则有

进而,各数据点{qj}(j=0,1,…,n)所对应的参数分别表示为

设节点矢量为u=(u0,u1,…,um),为了能够让节点矢量很好地反应的分布情况,通常采用取平均值的方法,即

u0=…=up=0

um-p=…=um=1

通常为简化计算,一般将权因子值ωi全部都取为1,则由nurbs曲线的规范性可知此时,式(1)可简化为

建立如下关于控制点pi的线性方程组

式(7)中为(n+1)×(n+1)系数矩阵。利用式(3)-(5)求出参数和节点矢量u,由式(2)可求得b样条基函数,代入式(7)将得到如下线性方程组

求解式(8)中的控制点集{pi}(i=0,1,...,n)后,即可唯一确定一条关于参与插值的刀位数据点{qj}(j=0,1,…,n)的nurbs插值曲线。



技术实现要素:

为解决未参与插值的刀位数据点处插值误差计算等方面存在的技术问题,本发明提供一种未参与插值数据点与nurbs插值曲线间最小距离的近似求解计算方法。本发明所采用的技术方案是:

首先,确定未参与插值刀位数据点(后简称“待测数据点”)在原始数据点集中所对应的节点矢量中的最小参数节点区间,依靠相应的步长进行参数区间的初细分,并获得相应的初细分参数值,计算待测数据点到nurbs插值曲线上初细分参数值对应点的距离,通过对比找出其中相对较短的距离及相应参数值。

其次,在初细分后计算的较短距离对应参数的某一侧进行参数区间的再细分,并获得所有的再细分参数值,计算待测数据点到再细分参数值对应点的距离,通过对比找出其中相对较短的距离及相应参数值。

最后,比较上次再细分后较短距离与加工允许误差上限值之间的大小关系,如果较短距离不大于加工允许误差上限值,则停止迭代计算过程,反之,再次将较短距离对应参数的某一侧进行参数区间的再细分,重复迭代计算过程,直到求得的较短距离不大于加工允许误差上限值为止。

附图说明

图1是插值误差近似求解时的初细分和再细分迭代计算过程示意图。

具体实施方式

对于原始刀位数据点集{qi}(i=0,1,…,t)中不属于参与插值数据点集{qj}(j=0,1,…,n)的其他未参与nurbs曲线插值的数据点集{qs}(s=0,1,...,t-n-1),计算待测数据点qs处的插值误差εs,并将是否满足εs不大于加工允许误差上限值ε作为插值迭代计算的结束条件。为计算待测数据点qs处的插值误差εs,本发明提出如下待测数据点到nurbs插值曲线最小距离的近似求解计算方法,其具体实施方式如下。

确定待测数据点qs在原始刀位数据点集{qi}(i=0,1,…,t)中所对应的节点矢量中的最小参数节点区间(ua,ub),如附图1所示。

将参数节点区间(ua,ub)以步长h进行r(r取值为相邻两特征数据点之间未参与插值的数据点的个数)等分,取ur=ua+rh(r=0,1,2,…,r),其中步长h的计算公式为

计算qs与c(ur)间的距离εr,取εr中的最小值为εc,与εc对应的曲线上的点为c(uc),如附图1中参数节点区间(ua,ub)的局部放大示意图所示。εr和εc的计算公式分别为

εr=|qs-c(ur)|,ua≤ur≤ub(10)

至此,完成参数的初细分计算过程。后面转入参数的再细分迭代计算过程。

以参数uc为中心,前后两侧各取一个参数uc-和uc+(其中uc-=uc-h,uc+=uc+h)。分别计算数据点qs到两点c(uc-)与c(uc+)的距离lc-与lc+,取两者的较小值为lmin。

在取得lmin的一侧(不妨设为c(uc+)),取w个参数节点构成(uc,uc+w)参数区间(通常w取值为3即可获得满意精度),将数据点qs向c(uc)到c(uc+3)的nurbs曲线段投影,设投影点为c(uw)(w=0,1,2,…),计算qs与c(uw)间的距离εw,取εw中的最小值为εs,与εs对应的曲线上的点为c(ud),如附图1中对参数区间(uc,uc+3)的局部放大示意图所示。

在参数节点区间(uc,uc+w)内以步长h′进行r′(r′=10w)等分,取uw=uc+wh(w=0,1,2,…,r′),其中步长h′的计算公式为

数据点qs到c(uw)之间的距离εw和εs的计算公式分别为

εw=|qs-c(uw)|,uc≤uw≤uc+w(13)

经过上述再细分计算过程,如果求得的距离εs不大于加工允许误差上限值ε,则以εs为插值误差的近似值,反之如果求得的距离εs大于加工允许误差上限值ε,重复上述误差再细分迭代计算过程,直到εs不大于ε时为止。

现将本发明所描述的插值误差多次细分迭代近似求解计算方法中的一次迭代计算过程的具体实施步骤整理如下。

1)搜索出数据点qs在原始数据点序列中所对应的节点矢量中的最小参数节点区间(ua,ub),将该参数区间以式(9)计算的步长h进行r等分,分别获得各参数等分点处的值ur(r=0,1,2,…,r)。

2)利用式(10)计算qs到参数ur对应的曲线上各点间的距离εr,并结合式(11)求得较短距离εc,同时确定εc对应的曲线上点c(uc)及参数uc。

3)以参数uc为中心,前后两侧各取一个参数uc-和uc+,计算qs到两点c(uc-)与c(uc+)的距离lc-与lc+,确定两者中的较小值lmin。

4)在取得lmin的一侧获得参数区间(uc,uc+w),利用式(12)进行r′等分,分别获得各参数等分点处的值uw(w=0,1,2,…,r′),利用式(13)和(14)分别计算εw和εs。

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