基于
正交三角分解的b样条
曲线拟合方法、设备和介质
技术领域
1.本技术属于程序控制技术领域,具体涉及一种基于正交三角分解的b样条曲线拟合方法。
背景技术:
2.数控机床在加工中,通常采用大量的数据段来逼近零件轮廓形状,但在衔接点处均不具有一阶连续性,需要进行轨迹的规划使得加工路径平滑,以消除连接点处的速度、加速度的不连续性。例如,可通过对加工轨迹采用nurbs曲线、b样条曲线等进行拟合以达到路径平滑。其中,b样条曲线的拟合应用较为广泛。
3.对b样条进行最小二乘拟合时,一般的计算b样条控制点方法为计算基函数
矩阵与其转置矩阵的乘积,然后通过高斯消元法求解控制点,在计算矩阵乘积过程中,不仅运算时间长,而且可能导致条件数放大,使得计算误差变大。
4.如何提高计算精度、减少运算时间,成为亟待解决的技术问题。
技术实现要素:
5.(一)要解决的技术问题鉴于现有技术的上述缺点、不足,本技术提供一种基于正交三角分解的b样条曲线拟合方法、设备和可读存储介质。
6.(二)技术方案为达到上述目的,本技术采用如下技术方案:第一方面,本技术实施例提供一种基于正交三角分解的b样条曲线拟合方法,该方法包括:s1、获取待拟合的b样条曲线的拟合点集信息;s2、基于
所述拟合点集信息,计算得到拟合点集在所述b样条曲线上对应的节点位置信息以及节点向量;s3、基于所述节点位置信息和所述节点向量,通过基于正交三角分解的最小二乘法拟合得到所述b样条曲线的控制点信息;s4、基于所述控制点信息生成b样条曲线。
7.可选地,基于所述拟合点集信息,通过向心法计算得到拟合点集在所述b样条曲线上对应的节点位置信息。
8.可选地,所述节点向量的计算方法包括:定义i的取值为:其中,int(
·
)为取整函数;定义α为:
其中,n+1为控制点个数为,p为b样条阶数,m+1为拟合点集长度, j为向量参数;则节点向量为:其中,ti为拟合点集在b样条上对应的节点位置。
9.可选地,s3包括:通过b样条基函数求解算法求解所述拟合点集对应的b样条基函数n
i,p
(tk);将所述拟合点集中的第一个点d0以及最后一个点dm作为b样条的第一个控制点p0以及最后一个控制点pn;通过正交三角分解基于基函数矩阵、控制点矩阵和拟合点矩阵构造的不一致方程,得到所述控制点矩阵的最小二乘解;将得到的最小二乘解作为控制点的值。
10.可选地,通过正交三角分解不一致方程,得到最小二乘解,包括:对所述基函数矩阵进行完全正交三角分解:n=qr其中,n为基函数矩阵,q为正交矩阵,r为上海森伯格矩阵;则有:rp=q
t
d其中,p为控制点矩阵,d为拟合点矩阵;令为r的上子矩阵,为q
t
d 的上子矩阵,其中k为点的维数;代入上述等式得到:用回代法求解控制点矩阵,得到最小二乘解。
11.第二方面,本技术实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上第一方面任一项所述的基于正交三角分解的b样条曲线拟合方法的步骤。
12.第三方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面任一项所述的基于正交三角分解的b样条曲线拟合方法的步骤。
13.(三)有益效果本技术的有益效果是:本技术提出了一种基于正交三角分解的b样条曲线拟合方法、设备和可读存储介质,其中的方法包括:s1、获取待拟合的b样条曲线的拟合点集信息;s2、基于所述拟合点集信息,计算得到拟合点集在所述b样条曲线上对应的节点位置信息以及节点向量;s3、基于所述节点位置信息和所述节点向量,通过基于正交三角分解的最小二乘法拟合得到所述b样条曲线的控制点信息;s4、基于所述控制点信息生成b样条曲线。该方
法通过对基函数矩阵直接进行正交三角分解,以此得到拟合的b样条控制点的最小二乘解,避免了矩阵的乘法过程,从而减少了b样条曲线拟合的计算时间,有效提高了计算的效率,并且不会导致误差放大。
附图说明
14.本技术借助于以下附图进行描述:图1为本技术一个实施例中的基于正交三角分解的b样条曲线拟合方法流程示意图;图2为本技术另一个实施例中的基于正交三角分解的b样条最小二乘拟合的示例图;图3为本技术另一个实施例中的乘法和加法总次数与一般高斯消元法的乘法加法总次数对比图;图4为本技术再一个实施例中的电子设备的架构示意图。
具体实施方式
15.为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。可以理解的是,以下所描述的具体的实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合;为了便于描述,附图中仅示出了与发明相关的部分。
16.实施例一本方法应用于计算机数控(computerized numerical control ,cnc)系统中,具体地,可在cnc系统的主控设备中执行。
17.图1为本技术一个实施例中的基于正交三角分解的b样条曲线拟合方法流程示意图,如图1所示,本实施例的基于正交三角分解的b样条曲线拟合方法包括:s1、获取待拟合的b样条曲线的拟合点集信息;s2、基于所述拟合点集信息,计算得到拟合点集在所述b样条曲线上对应的节点位置信息以及节点向量;s3、基于所述节点位置信息和所述节点向量,通过基于正交三角分解的最小二乘法拟合得到所述b样条曲线的控制点信息;s4、基于所述控制点信息生成b样条曲线。
18.本技术方法通过对基函数矩阵直接进行正交三角分解,以此得到拟合的b样条控制点的最小二乘解,避免了矩阵的乘法过程,从而减少了b样条曲线拟合的计算时间,有效提高了计算的效率,并且不会导致误差放大。
19.为了更好地理解本发明,以下对本实施例中的各步骤进行展开说明。
20.本实施例s1中,拟合点集信息由cam (computer aided manufacturing,计算机辅助制造)软件生成。在数控加工过程中,将建好的零件模型导入cam软件,cam软件按照设定的误差、刀具、走刀策略等信息对模型进行相应的轨迹规划,生成拟合点集。
21.本实施例s2中,基于拟合点集信息,通过向心法计算得到拟合点集在b样条曲线上对应的节点位置信息。
22.具体包括:定义l为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,d0,d1,
……
,dn为拟合点集,长度为m+1,为拟合点集之间的欧氏距离;通过向心法计算节点位置,计算公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,tk为拟合点集在b样条上对应的节点位置。
23.本实施例s2中,节点向量的计算方法包括:定义i的取值为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中,int(
·
)为取整函数,即取小于或等于括号里面值的最大整数;定义α为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中,n+1为控制点个数为,p为b样条阶数,m+1为拟合点集长度, j为向量参数。
24.则节点向量为:
ꢀꢀꢀꢀꢀꢀꢀ
(5)其中,ti为拟合点集在b样条上对应的节点位置。
25.本实施例中s3包括:通过b样条基函数求解算法求解拟合点集对应的b样条基函数n
i,p
(tk);将所述拟合点集中的第一个点d0以及最后一个点dm作为b样条的第一个控制点p0以及最后一个控制点pn;通过正交三角分解基于基函数矩阵、控制点矩阵和拟合点矩阵构造的不一致方程,得到所述控制点矩阵的最小二乘解;将得到的最小二乘解作为控制点的值。
26.具体地,定义基函数矩阵n为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)一般情况下,对b样条控制点求解的方法如下:建立线性方程组:(n
t
n)p=r
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中,p为控制点矩阵,
ꢀꢀ
(8)并且有
ꢀꢀꢀꢀꢀꢀ
(9)通过上述公式(7)即可解出控制点位置。但上述计算过程需要求解矩阵乘法,并且矩阵r的计算也较为繁琐。在此,给出优化方案如下:建立不一致方程表示为:np=d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其中,p为控制点矩阵,d为拟合点矩阵;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)即
(12)其中,n
i,p
(tk)为节点位置为tk时的第i个基函数值,p1、p2……
p
n-1
为控制点,d1、d2……dm-1
为拟合点;具体地,通过正交三角分解不一致方程,得到最小二乘解,包括:对基函数矩阵进行完全正交三角分解:n=qr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)其中,n为基函数矩阵,q为正交矩阵,r为上海森伯格矩阵;则有:rp=q
tdꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)令为r的上子矩阵,为q
t
d 的上子矩阵,其中k为点的维数;代入上述等式得到:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)用回代法求解控制点矩阵,得到最小二乘解,即求解出最小二乘意义下的控制点。
27.本实施例的方法通过正交三角分解求解b样条最小二乘拟合的控制点,提升了计算效率并且不会使得计算误差放大,提升了b样条拟合点的轨迹的性能。
28.实施例二本实施例的执行主体可以是数控系统的控制模块,控制模块可以包括存储器和处理器,在其他一些实施例中执行主体还可以是其他可实现相同或相似功能的电子设备,本实施例对此不加以限制。
29.本实施例在实施例一的基础上,对基于正交三角分解的b样条曲线拟合方法的实现过程进行详细说明。
30.以二维平面数控激光切割为例,对加工轨迹进行b样条拟合处理,采用g代码形式给出拟合点集,如下:g00 x0 y0g01 x0.8 y0g01 x1.5 y0.1g01 x1.9 y0.7g01 x1.9 y1.5g01 x1.4 y2.1g01 x0.6 y2.3g01 x0.0 y2.0此时给出的拟合点集为直线的端点,点的个数为8,给定控制点个数为4,采用三阶b样条进行拟合。
31.图2为本技术另一个实施例中的基于正交三角分解的b样条最小二乘拟合的示例图;如图2所示,采用上述g代码提供的信息进行b样条拟合,轨迹变得平滑,有助于加工性能的提升。
32.分析可知,通过高斯消元法计算拟合b样条的控制点加法以及乘法总的计算次数为,通过本发明基于正交三角分解的b样条最小二乘拟合求解控制点的加法以及乘法的总计算次数为,其中m为拟合点集数,n为控制点个数。分析可知,当拟合b样条控制点数量与拟合点集的数量比较接近时,拟合点集总数在一定范围内,本发明求解控制点的加法以及乘法的总计算次数要小于基于高斯消元法的求解次数。
33.图3为本技术另一个实施例中的乘法和加法总次数与一般高斯消元法的乘法加法总次数对比图;图3的前提条件为拟合点集的个数m与控制点个数n的关系为m-n=4,如图3所示,使用本发明方法的计算次数在给定拟合点数量在20以下时,两者较为接近;当给定拟合点数量进一步增大时,使用本发明拟合所使用的加法以及乘法总数小于高斯消元法求解控制点的乘法以及加法总次数。使用本发明,计算效率得到较大提升。并且通过正交三角分解解最小二乘不会放大条件数,从而不会放大计算误差。
34.实施例三本技术第三方面通过实施例三提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上实施例中任意一项所述的基于正交三角分解的b样条曲线拟合方法的步骤。
35.图4为本技术再一个实施例中的电子设备的架构示意图。
36.图4所示的电子设备可包括:至少一个处理器101、至少一个存储器102、至少一个网络接口104和其他的用户接口103。电子设备中的各个组件通过总线系统105耦合在一起。可理解,总线系统105用于实现这些组件之间的连接通信。总线系统105除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统105。
37.其中,用户接口103可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball) 或者触感板等。
38.可以理解,本实施例中的存储器102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器 (programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器 (dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(sync link dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本文描述的存储器102旨在包括但不限于这些和任意其它适
合类型的存储器。
39.在一些实施方式中,存储器102存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统1021和应用程序1022。
40.其中,操作系统1021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1022,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1022中。
41.在本发明实施例中,处理器101通过调用存储器102存储的程序或指令,具体的,可以是应用程序1022中存储的程序或指令,处理器101用于执行第一方面所提供的方法步骤。
42.上述本发明实施例揭示的方法可以应用于处理器101中,或者由处理器101实现。处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器102,处理器101读取存储器102中的信息,结合其硬件完成上述方法的步骤。
43.另外,结合上述实施例中的基于正交三角分解的b样条曲线拟合方法,本发明实施例可提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上方法实施例中的任意一种基于正交三角分解的b样条曲线拟合方法。
44.应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
45.此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
46.尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例做出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
47.显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精
神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
技术特征:
1.一种基于正交三角分解的b样条曲线拟合方法,其特征在于,该方法包括:s1、获取待拟合的b样条曲线的拟合点集信息;s2、基于所述拟合点集信息,计算得到拟合点集在所述b样条曲线上对应的节点位置信息以及节点向量;s3、基于所述节点位置信息和所述节点向量,通过基于正交三角分解的最小二乘法拟合得到所述b样条曲线的控制点信息;s4、基于所述控制点信息生成b样条曲线。2.根据权利要求1所述的基于正交三角分解的b样条曲线拟合方法,其特征在于,基于所述拟合点集信息,通过向心法计算得到拟合点集在所述b样条曲线上对应的节点位置信息。3.根据权利要求1所述的基于正交三角分解的b样条曲线拟合方法,其特征在于,所述节点向量的计算方法包括:定义i的取值为:其中,int(
·
)为取整函数;定义α为:其中,n+1为控制点个数为,p为b样条阶数,m+1为拟合点集长度, j为向量参数;则节点向量为:其中,t
i
为拟合点集在b样条上对应的节点位置。4.根据权利要求1所述的基于正交三角分解的b样条曲线拟合方法,其特征在于,s3包括:通过b样条基函数求解算法求解所述拟合点集对应的b样条基函数n
i,p
(t
k
);将所述拟合点集中的第一个点d0以及最后一个点d
m
作为b样条的第一个控制点p0以及最后一个控制点p
n
;通过正交三角分解基于基函数矩阵、控制点矩阵和拟合点矩阵构造的不一致方程,得到所述控制点矩阵的最小二乘解;将得到的最小二乘解作为控制点的值。5.根据权利要求4所述的基于正交三角分解的b样条曲线拟合方法,其特征在于,通过正交三角分解不一致方程,得到最小二乘解,包括:对所述基函数矩阵进行完全正交三角分解:n=qr其中,n为基函数矩阵,q为正交矩阵,r为上海森伯格矩阵;则有:
rp=q
t
d其中,p为控制点矩阵,d为拟合点矩阵;令为r的上子矩阵,为q
t
d 的上子矩阵,其中k为点的维数;代入上述等式得到:用回代法求解控制点矩阵,得到最小二乘解。6.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上权利要求1至5任一项所述的基于正交三角分解的b样条曲线拟合方法。7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上权利要求1至5任一项所述的基于正交三角分解的b样条曲线拟合方法。
技术总结
本申请属于程序控制技术领域,具体涉及一种基于正交三角分解的B样条曲线拟合方法、设备和介质,其中的方法包括:S1、获取待拟合的B样条曲线的拟合点集信息;S2、基于所述拟合点集信息,计算得到拟合点集在所述B样条曲线上对应的节点位置信息以及节点向量;S3、基于所述节点位置信息和所述节点向量,通过基于正交三角分解的最小二乘法拟合得到所述B样条曲线的控制点信息;S4、基于所述控制点信息生成B样条曲线。该方法通过对基函数矩阵直接进行正交三角分解,避免了矩阵的乘法过程,从而减少了B样条曲线拟合的计算时间,有效提高了计算的效率,并且不会导致误差放大,提升了B样条拟合点的轨迹的性能。的轨迹的性能。的轨迹的性能。
技术研发人员:
阴雷鸣 陈振炜 李艳林 唐汇双 张胜帅 朱进全
受保护的技术使用者:
济南邦德激光股份有限公司
技术研发日:
2022.11.04
技术公布日:
2022/12/16