[发明专利]一种非均匀有理B样条实时插补过程中的快速求值求导方法有效
申请号: | 201410338796.1 | 申请日: | 2014-07-16 |
公开(公告)号: | CN104133422B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 刘强;刘焕;周胜凯;李传军;徐阳 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G05B19/41 | 分类号: | G05B19/41;G06F19/00 |
代理公司: | 北京慧泉知识产权代理有限公司11232 | 代理人: | 王顺荣,唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种非均匀有理B样条实时插补过程中的快速求值求导方法,它有两大步骤:一、离线建立NURBS快速求值求导结构FEDS;二、实时插补过程根据快速求值求导结构体进行快速求值求导。本发明解决了NURBS实时插补过程中求值求导计算复杂耗时的问题,利用离线计算NURBS节点矢量处的分子与分母各阶导数,在实时过程中利用Taylor展开法可以快速计算NURBS上任意点处的值以及各阶导数值,无需再进行复杂耗时的基函数及其导数计算。同时,经过求取快速求值求导结构体(FEDS)数组后,只需将FEDS数组传输给数控系统,不需要传输NURBS的几何表达参数(节点矢量,控制顶点矢量,权值矢量等),避免了数据的分类传输。 | ||
搜索关键词: | 一种 均匀 有理 实时 过程 中的 快速 求值 求导 方法 | ||
【主权项】:
一种非均匀有理B样条实时插补过程中的快速求值求导方法,其特征在于:该方法具体步骤如下:步骤1,离线建立NURBS快速求值求导结构体数组ARRAY_FEDS,包含以下步骤:①获取NURBS的节点矢量数据U={u0,u1,…,um}及曲线次数p;②计算ui∈U(u≠um)处NURBS表达式的分子A(ui)与分母B(ui)的0至p阶导数A(0~p)(ui)与B(0~p)(ui),并保存在如下结构体中形成快速求值求导结构体数组ARRAY_FEDS:其中:ARRAY_FEDS[i].u=ui,0≤i<mARRAY_FEDS[i].A[j][0..2]=A(j)(ui),0≤j≤pARRAY_FEDS[i].B[j]=B(j)(ui)步骤2,实时插补过程根据快速求值求导结构体数组ARRAY_FEDS进行快速求值求导,包含以下步骤:①计算所求NURBS参数u所在的节点区间u∈[ui,ui+1];②获取快速求值求导结构体数组ARRAY_FEDS中节点ui处的分子A(ui)与分母B(ui)的0至p阶导数A(0~p)(ui)与B(0~p)(ui):ui=ARRAY_FEDS[i].uA(j)(ui)=ARRAY_FEDS[i].A[j][0..2],0≤j≤pB(j)(ui)=ARRAY_FEDS[i].B[j]③使用Taylor展开法计算NURBS参数u处的分子A(u)与分母B(u)的0至p阶导数A(0~p)(u)与B(0~p)(u):A(k)(u)=Σj=kpA(j)(ui)(j-k)!(u-ui)j-k]]>B(k)(u)=Σj=kpB(j)(ui)(j-k)!(u-ui)j-k]]>④计算NURBS参数u处C(u)的第k(k≥0)阶导数为:C(k)(u)=A(k)(u)-Σj=1kkjC(k-j)(u)B(j)(u)B(u)]]>其中,若k>p,取A(k)(u)=B(k)(u)=0;所述NURBS有如下表达式:曲线次数为p,节点矢量数据为U={u0,u1,…,um},控制顶点矢量为P={P0(x0,y0,z0),P1(x1,y1,z1),…,Pn(xn,yn,zn)},权值矢量为W={w0,w1,…,wn},NURBS曲线C(u)为:C(u)=A(u)B(u)=Σj=0nNj,p(u)wjPjΣj=0nNj,p(u)wj]]>其中,u为NURBS参数,m=n+p+1,Nj,p(u)为基函数,计算如下:Nj,0(u)=1,ifuj≤u<uj+10,otherwise]]>Nj,p(u)=u-ujuj+p-ujNj,p-1(u)+uj+p+1-uuj+p+1-uj+1Nj+1,p-1(u)]]>基函数各阶导数计算如下:Nj,p(k)(u)=p(Nj,p-1(k-1)(u)uj+p-uj-Nj+1,p-1(k-1)(u)uj+p+1-uj+1),if0≤k≤p0,otherwise]]>所述NURBS表达式分子A(u)包含x,y,z三个分量,有如下表达式:A(u)=Σj=0nNj,p(u)wjPj]]>其各阶导数计算为:A(k)(u)=Σj=0nNj,p(k)(u)wjPj,if0≤k≤p0,otherwise]]>所述NURBS表达式分母B(u)有如下表达式:B(u)=Σj=0nNj,p(u)wj]]>其各阶导数求取为:B(k)(u)=Σj=0nNj,p(k)(u)wj,if0≤k≤p0,otherwise]]>步骤1‑2中由于um为参数终值,同属于参数区间[um‑1,um],因此无需计算um处的导数信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410338796.1/,转载请声明来源钻瓜专利网。
- 上一篇:自助文化中心控制系统
- 下一篇:一种广域阻尼控制实时数据处理方法