CN115237058A - 基于牛顿迭代法的b样条实时插补方法、设备和存储介质 - Google Patents

基于牛顿迭代法的b样条实时插补方法、设备和存储介质 Download PDF

Info

Publication number
CN115237058A
CN115237058A CN202211152393.9A CN202211152393A CN115237058A CN 115237058 A CN115237058 A CN 115237058A CN 202211152393 A CN202211152393 A CN 202211152393A CN 115237058 A CN115237058 A CN 115237058A
Authority
CN
China
Prior art keywords
interpolation
node
spline
length
curve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211152393.9A
Other languages
English (en)
Other versions
CN115237058B (zh
Inventor
陈振炜
张胜帅
阴雷鸣
冯斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Bodor Laser Co Ltd
Original Assignee
Jinan Bodor Laser Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Bodor Laser Co Ltd filed Critical Jinan Bodor Laser Co Ltd
Priority to CN202211152393.9A priority Critical patent/CN115237058B/zh
Publication of CN115237058A publication Critical patent/CN115237058A/zh
Application granted granted Critical
Publication of CN115237058B publication Critical patent/CN115237058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34083Interpolation general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

本申请属于程序控制技术领域,具体涉及一种基于牛顿迭代法的B样条实时插补方法、设备和存储介质,其中的方法包括:S10、获取待加工轨迹的节点信息,待加工轨迹为B样条曲线;S20、通过加减速控制得到当前插补周期B样条曲线的累计插补长度;S30、基于累计插补长度,确定当前插补周期对应的节点区间;S40、基于节点区间的节点参数和累计插补长度,通过牛顿迭代法得到当前插补周期的插补参数,节点参数包括区间左右两端节点的曲线参数和累计弧长;S50、基于当前插补周期的插补参数,通过B样条曲线的曲线函数确定当前插补周期的插补点。本申请的方法能有效提高B样条曲线的插补效率,减少速度波动,提升系统插补的实时性和稳定性。

Description

基于牛顿迭代法的B样条实时插补方法、设备和存储介质
技术领域
本申请属于程序控制技术领域,具体涉及一种基于牛顿迭代法的B样条实时插补方法。
背景技术
数控机床在加工中的曲线一般由直线以及圆弧构成,对复杂曲线的加工一般需要大量的微小线段以及圆弧表示。为了满足精度的要求导致表示复杂曲线的数据量及其庞大,并且对微小线段加工机床不断启停进行加减速影响加工效率。为了压缩数据量并且提高系统运行效率可以将复杂曲线用B样条曲线替代。
目前B样条曲线的插补方法包括低阶泰勒展开式法以及近似弧长法,低阶泰勒展开式法求解曲线参数会产生截断误差,导致速度波动;而近似弧长法计算曲线参数时,可获取较高的精度但同时需要较大的计算量,影响插补的实时性。
如何在提高B样条曲线的插补效率和插补的实时性的同时,减少速度波动,成为亟待解决的技术问题。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本申请提供一种基于牛顿迭代法的B样条实时插补方法、设备和可读存储介质。
(二)技术方案
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种基于牛顿迭代法的B样条实时插补方法,该方法包括:
S10、获取待加工轨迹的节点信息,所述待加工轨迹为B样条曲线;
S20、通过加减速控制得到当前插补周期所述B样条曲线的累计插补长度;
S30、基于所述累计插补长度,确定当前插补周期对应的节点区间;
S40、基于所述节点区间的节点参数和所述累计插补长度,通过牛顿迭代法得到当前插补周期的插补参数,所述节点参数包括区间左右两端节点的曲线参数和累计弧长;
S50、基于当前插补周期的插补参数,通过所述B样条曲线的曲线函数确定当前插补周期的插补点。
可选地,S30包括:
基于所述节点信息分别计算相邻两个节点间的曲线弧长;
基于相邻两个节点间的曲线弧长,得到起始节点与其他各节点间的累计弧长,所述起始节点为运动插补方向上的第一个节点;
基于所述累计插补长度与各节点的累计弧长,确定当前插补周期对应的节点区间。
可选地,S40包括:
S41、将区间左右两端节点中累计弧长小于所述累计插补长度的节点作为目标节点,基于所述累计插补长度和所述目标节点的累计弧长计算所述节点区间内的剩余长度;
S42、基于左右两端节点的累计弧长计算所述节点区间的区间长度;
S43、基于所述剩余长度、所述区间长度和区间左右两端节点的曲线参数确定候选参数值;
S44、将前一个插补周期的参数值lastT与区间左右两端节点的曲线参数u index u index+1进行比较;若u index <lastT<u index+1,则将前一个插补周期的参数值lastT作为当前插补周期迭代初始值,否则将所述候选参数值作为迭代初始值;
S45、所述B样条曲线的实时插补包括正向插补和/或反向插补,当正向插补时,利用以下迭代式迭代计算当前插补周期的插补参数,直至满足预设的迭代终止条件:
Figure 125828DEST_PATH_IMAGE001
当反向插补时,利用以下迭代式迭代计算当前插补周期的插补参数,直至满足预设的迭代终止条件:
Figure 534943DEST_PATH_IMAGE002
其中,L(t k )为在求解区间内利用高斯勒让德求积法求解得到的迭代弧长度,t k t k+1分别为迭代过程中得到的当前曲线参数、下一曲线参数,Q’(t k )为B样条导数,s r 为节点区间内的剩余长度;
S46、将最终得到的曲线参数t k 作为当前插补周期的插补参数。
可选地,当正向插补时,通过以下公式计算候选参数值t 0
Figure 323908DEST_PATH_IMAGE003
当反向插补时,通过以下公式计算候选参数值t 0
Figure 924391DEST_PATH_IMAGE004
其中,u index u index+1分别为区间左右两端节点的曲线参数,l index 为区间长度,s r 节点区间内的剩余长度。
可选地,所述B样条导数通过de Boor算法求解。
可选地,正向插补时L(t k )的求解区间为[u index t k ],反向插补时L(t k )的求解区间为[t k u index+1]。
可选地,所述迭代终止条件为:
Figure 431596DEST_PATH_IMAGE005
其中,ε 1ε 2分别为预设的第一迭代精度和第二迭代精度。
第二方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上第一方面任一项所述的基于牛顿迭代法的B样条实时插补方法的步骤。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面任一项所述的基于牛顿迭代法的B样条实时插补方法的步骤。
(三)有益效果
本申请的有益效果是:本申请提出了一种基于牛顿迭代法的B样条实时插补方法、设备和可读存储介质,其中的方法包括:S10、获取待加工轨迹的节点信息,待加工轨迹为B样条曲线;S20、通过加减速控制得到当前插补周期B样条曲线的累计插补长度;S30、基于累计插补长度,确定当前插补周期对应的节点区间;S40、基于节点区间的节点参数和累计插补长度,通过牛顿迭代法得到当前插补周期的插补参数,节点参数包括区间左右两端节点的曲线参数和累计弧长;S50、基于当前插补周期的插补参数,通过B样条曲线的曲线函数确定当前插补周期的插补点。
本申请的方法在迭代过程中按节点划分迭代区间,通过初值选取策略使得迭代效率提高,在满足实时插补的条件下,解决了弧长到参数的映射误差产生的速度波动问题。
在迭代过程中利用de Boor算法计算B样条导数,可进一步提升迭代效率及精度。
附图说明
本申请借助于以下附图进行描述:
图1为本申请一个实施例中的基于牛顿迭代法的B样条实时插补方法流程示意图;
图2为本申请另一个实施例中的基于三阶B样条进行插补的方法流程示意图;
图3为本申请另一个实施例中的加工轨迹示例图;
图4为本申请另一个实施例中的加工速度为100mm/s时速度波动率随插补时间变化图;
图5为本申请另一个实施例中的加工速度为200mm/s时速度波动率随插补时间变化图;
图6为本申请另一个实施例中的加工速度与最大速度波动率关系图;
图7为本申请再一个实施例中的电子设备的架构示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。可以理解的是,以下所描述的具体的实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合;为了便于描述,附图中仅示出了与发明相关的部分。
本方法应用于计算机数控(Computerized Numerical Control ,CNC)系统中,具体地,可在CNC系统的主控设备中执行。
实施例一
图1为本申请一个实施例中的基于牛顿迭代法的B样条实时插补方法流程示意图,如图1所示,本实施例的基于牛顿迭代法的B样条实时插补方法包括:
S10、获取待加工轨迹的节点信息,待加工轨迹为B样条曲线;
S20、通过加减速控制得到当前插补周期B样条曲线的累计插补长度;
S30、基于累计插补长度,确定当前插补周期对应的节点区间;
S40、基于节点区间的节点参数和累计插补长度,通过牛顿迭代法得到当前插补周期的插补参数,节点参数包括区间左右两端节点的曲线参数和累计弧长;
S50、基于当前插补周期的插补参数,通过B样条曲线的曲线函数确定当前插补周期的插补点。
本实施例的基于牛顿迭代法的B样条实时插补方法,通过按节点区间划分迭代区间,对曲线弧长进行牛顿迭代计算曲线参数,在满足精度的前提下提升迭代效率,并且提出一种初值选取策略,进一步提升了迭代性能。该方法不仅满足实时插补的要求,并且将弧长到参数的映射误差产生的速度波动控制在理想范围内,提升了数控系统B样条插补的性能。
为了更好地理解本发明,以下对本实施例中的各步骤进行展开说明。
本实施例S10中,待加工轨迹由CAM (Computer Aided Manufacturing,计算机辅助制造)软件生成。在数控加工过程中,将建好的零件模型导入CAM软件,CAM软件按照设定的误差、刀具、走刀策略等信息对模型进行相应的轨迹规划,并计算出一条由B样条曲线描述的轨迹。B样条的节点以及控制点由CAM计算得出。
本实施例S20中,加减速控制可以是7段s形加减速插补算法,累计插补长度具体指B样条起始位置到当前插补周期末时刻的总长度。
本实施例S30中,可以包括:
基于节点信息,通过高斯勒让德数值积分法分别计算相邻两个节点间的曲线弧长;
基于相邻两个节点间的曲线弧长,得到起始节点与其他各节点间的累计弧长,起始节点为运动插补方向上的第一个节点;
基于累计插补长度与各节点的累计弧长,确定当前插补周期对应的节点区间。
本实施例中,B样条曲线的实时插补可以包括正向插补和/或反向插补。
实施例二
本实施例的执行主体可以是数控系统的控制模块,控制模块可以包括存储器和处理器,在其他一些实施例中执行主体还可以是其他可实现相同或相似功能的电子设备,本实施例对此不加以限制。
本实施例在实施例一的基础上,对基于牛顿迭代法的B样条实时插补方法的实现过程进行详细说明。图2为本申请另一个实施例中的基于三阶B样条进行插补的方法流程示意图,如图2所示,插补过程包括以下步骤:
步骤S100、按节点区间分段计算曲线弧长;
步骤S200、建立累计弧长与节点区间的对应表;
步骤S300、加减速控制计算B样条当前插补周期累计插补长度;
步骤S400、利用牛顿迭代法计算当前插补周期的插补参数;
步骤S500、计算不同轴的进给分量发送给伺服驱动装置。
本方法的过程分为预处理阶段以及实时插补阶段,计算曲线弧长以及建立累计弧长与节点区间的对应表时,在预处理阶段完成;在实时插补阶段需要完成累计插补长度的计算以及牛顿迭代计算当前周期的曲线参数值。以下对各个步骤的实现过程进行具体说明。
步骤S100、按节点区间分段计算曲线弧长。
B样条阶数为p,节点区间为{ u 0, u 1,…, u m },节点长度为m+1,计算得到的节点区间[ u i u i+1)的长度为l i i为下标,从0开始计数。
计算曲线弧长可以采用多种方法,例如高斯勒让德数值积分法、定积分法等,采用任一方法计算曲线弧长均属于现有技术,因此本申请实施例对实施例中涉及到的具体弧长计算过程并不做过多赘述。
步骤S200、建立累计弧长与节点区间的对应表。
建立累计弧长与节点区间的对应关系,节点区间[u i u i+1)的对应的是累计弧长L i ,累计弧长L i 的计算公式为:
L i l k
其中,l k 为从B样条插补起始点开始,到B样条插补终点为止,按照运动插补方向的第k个节点区间的长度。
表1为累计弧长L i 与节点区间的对应表,对应关系如下表1所示。
表1
Figure 378823DEST_PATH_IMAGE006
步骤S300、加减速控制计算B样条当前插补周期累计插补长度。
通过加减速控制计算B样条起始位置到当前插补周期末时刻的总长度,记为s
步骤S400、利用牛顿迭代法计算当前插补周期的插补参数。
利用牛顿迭代法计算当前插补周期的插补参数,具体包括以下步骤:
步骤A,通过插补累计长度s在弧长与节点区间的对应表中查找对应的节点区间,具体方法为:用index记录s在弧长与节点区间的对应表中的位置,若为正向插补,index初始值为0,在每个插补周期内,用sL index 比较,若s>L index ,则index自加1,直至s≤L index index停止自加。若为反向插补,index初始值为最大节点下标m,在每个插补周期内进行判定,若s>L index ,则index自减1,直至s≤L index index停止自减。此时s所处的节点区间为[u index u index+1)。
步骤B,计算插补累计长度s在对应节点区间的剩余长度s r 和节点区间长度l index ,具体方法如下:
若为正向插补,s r =s- L index-1;若为反向插补,s r =s- L index+1
计算当前节点区间长度,具体方法为:
若为正向插补,l index = L index - L index-1
若为反向插补l index = L index - L index+1
步骤C,确定迭代初始值的候选值,若为正向插补,通过以下公式计算迭代初始值的候选参数值:
Figure 491136DEST_PATH_IMAGE007
若为反向插补,通过以下公式计算迭代初始值的候选参数值:
Figure 295144DEST_PATH_IMAGE008
将前一个插补周期的参数值lastT与节点参数进行比较,lastT初始值为0;若u index <lastT<u index+1,则选用lastT作为当前插补周期迭代初始值,否则选用t 0作为迭代初始值。
步骤D,在迭代过程中计算当前插补周期的插补参数,直至满足预设的迭代终止条件,具体包括:
当正向插补时,利用以下迭代式迭代计算当前插补周期的插补参数:
Figure 492907DEST_PATH_IMAGE001
当反向插补时,利用以下迭代式迭代计算当前插补周期的插补参数:
Figure 40563DEST_PATH_IMAGE009
其中,L(t k )利用高斯勒让德求积法求解,正向插补的求解区间为[u index t k ],反向插补的求解区间为[t k u index+1] , Q’(t k )为B样条导数,可利用利用de Boor算法求解。
de Boor算法求解B样条在t k 处的一阶导数,对于k阶B样条的一阶导数节点v i 与原始B样条节点u i 的对应关系为:
v i =u i+1
当原B样条一阶导数构成的B样条的控制点为Q 0, Q 1,…, Q n-1,则一阶导数构成的B样条其控制点定义如下:
Figure 505917DEST_PATH_IMAGE010
以上三个信息确定后,利用de Boor算法即可求解B样条一阶导数。
步骤E,迭代终止条件确定。迭代终止条件有两个,一个是两个参数值的接近程度,另一个是迭代计算长度与s r 之间的误差,具体为:
Figure 746405DEST_PATH_IMAGE011
其中,ε 1ε 2 为预设的迭代精度,在迭代过程中满足其中任何一个条件则迭代终止,跳出迭代循环,获得最终曲线插补参数t A
在迭代过程中利用de Boor算法计算B样条导数,可进一步提升迭代效率及精度。
步骤S500、计算不同轴的进给分量发送给伺服驱动装置。
利用当前插补参数计算当前插补周期的插补位置点坐标,并以此计算不同轴的进给分量发送给伺服驱动装置,同时更新前一个插补周期的参数值,进入下个插补周期。
为进一步说明本发明,以二维平面加工为例,具体实施例如下
给出G代码如下:
G06.2 P2 K0.0 X80.0 Y120.0
K0.0 X50.0 Y80.0
K0.0 X0.0 Y80.0
K0.1110 X40.0 Y40.0
K0.2220 X30.0 Y0.0
K0.3330 X80.0 Y30.0
K0.4440 X130.0 Y0.0
K0.5550 X120.0 Y40.0
K0.6660 X160.0 Y80.0
K0.7770 X110.0 Y80.0
K0.888 X80.0 Y120.0
K1.0
K1.0
K1.0。
其他部分参数设置如下:
插补周期:1ms
迭代精度:ε 1=10-9 mm,ε 2=10-6 mm。
以下数列为计算插补过程中基于牛顿迭代计算曲线参数的迭代次数(部分数据,单位为次):
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3。
从以上数据可知,在进行牛顿迭代求解曲线参数时,迭代次数只有2~3次,说明该方法迭代效率较高。进一步测试牛顿迭代求解曲线参数的平均时间为0.008ms,为每个插补周期的0.8%,完全满足实时插补要求。
图3为本申请另一个实施例中的加工轨迹示例图,对图3所示的轨迹采用本申请的基于牛顿迭代法的B样条实时插补方法进行插补并分别采用100mm/s、200mm/s的恒定加工速度进行加工,速度波动率如图4和图5所示。
图4为本申请另一个实施例中的加工速度为100mm/s时速度波动率随插补时间变 化图,图中横轴为插补时间,分析图4可知,速度波动只有几个峰值,最大值波动率接近
Figure 165886DEST_PATH_IMAGE012
,这些波动率峰值点与曲线曲率极大值处相对应,表明本发明实现的B样条插补方 法只在曲率极大值处存在极小的速度波动,曲线其他位置不存在速度波动。
图5为本申请另一个实施例中的加工速度为200mm/s时速度波动率随插补时间变 化图,图中横轴为插补时间,从图5可以看出,加工时同样只在加工到曲线曲率极值处存在 速度波动,速度波动率最大为
Figure 517232DEST_PATH_IMAGE013
图6为本申请另一个实施例中的加工速度与最大速度波动率关系图,如图6所示,随着曲线进给速度的增加,最大速度波动率相应增加,但与计算精度造成的误差最多在一个数量级左右。分析可知,本实施例中曲线加工是匀速进行,在速度波动的位置为曲线的曲率极大值处,在该处产生速度波动的原因是,插补过程中位置点通过累计插补弧长的计算,而机床加工在两个插补点之间的实际路径是按直线行进,故曲率较大处,在一个插补周期内机床实际加工行进的位移比该周期插补的弧长要小,导致速度有所降低。故在曲率较大的曲线位置处进行高速加工, 产生一定速度波动。可以对B样条进行速度规划,在曲率极大值处降速,即可进一步减小速度波动。
实施例三
本申请第三方面通过实施例三提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上实施例中任意一项所述的基于牛顿迭代法的B样条实时插补方法的步骤。
图7为本申请再一个实施例中的电子设备的架构示意图。
图7所示的电子设备可包括:至少一个处理器101、至少一个存储器102、至少一个网络接口104和其他的用户接口103。电子设备中的各个组件通过总线系统105耦合在一起。可理解,总线系统105用于实现这些组件之间的连接通信。总线系统105除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统105。
其中,用户接口103可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball) 或者触感板等。
可以理解,本实施例中的存储器102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,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 DataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Sync Link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本文描述的存储器102旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器102存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统1021和应用程序1022。
其中,操作系统1021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1022,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1022中。
在本发明实施例中,处理器101通过调用存储器102存储的程序或指令,具体的,可以是应用程序1022中存储的程序或指令,处理器101用于执行第一方面所提供的方法步骤。
上述本发明实施例揭示的方法可以应用于处理器101中,或者由处理器101实现。处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器102,处理器101读取存储器102中的信息,结合其硬件完成上述方法的步骤。
另外,结合上述实施例中的基于牛顿迭代法的B样条实时插补方法,本发明实施例可提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上方法实施例中的任意一种基于牛顿迭代法的B样条实时插补方法。
应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例做出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。

Claims (9)

1.一种基于牛顿迭代法的B样条实时插补方法,其特征在于,该方法包括:
S10、获取待加工轨迹的节点信息,所述待加工轨迹为B样条曲线;
S20、通过加减速控制得到当前插补周期所述B样条曲线的累计插补长度;
S30、基于所述累计插补长度,确定当前插补周期对应的节点区间;
S40、基于所述节点区间的节点参数和所述累计插补长度,通过牛顿迭代法得到当前插补周期的插补参数,所述节点参数包括区间左右两端节点的曲线参数和累计弧长;
S50、基于当前插补周期的插补参数,通过所述B样条曲线的曲线函数确定当前插补周期的插补点。
2.根据权利要求1所述的基于牛顿迭代法的B样条实时插补方法,其特征在于,S30包括:
基于所述节点信息分别计算相邻两个节点间的曲线弧长;
基于相邻两个节点间的曲线弧长,得到起始节点与其他各节点间的累计弧长,所述起始节点为运动插补方向上的第一个节点;
基于所述累计插补长度与各节点的累计弧长,确定当前插补周期对应的节点区间。
3.根据权利要求2所述的基于牛顿迭代法的B样条实时插补方法,其特征在于,S40包括:
S41、将区间左右两端节点中累计弧长小于所述累计插补长度的节点作为目标节点,基于所述累计插补长度和所述目标节点的累计弧长计算所述节点区间内的剩余长度;
S42、基于左右两端节点的累计弧长计算所述节点区间的区间长度;
S43、基于所述剩余长度、所述区间长度和区间左右两端节点的曲线参数确定候选参数值;
S44、将前一个插补周期的参数值lastT与区间左右两端节点的曲线参数u index u index+1进行比较;若u index <lastT<u index+1,则将前一个插补周期的参数值lastT作为当前插补周期迭代初始值,否则将所述候选参数值作为迭代初始值;
S45、所述B样条曲线的实时插补包括正向插补和/或反向插补,当正向插补时,利用以下迭代式迭代计算当前插补周期的插补参数,直至满足预设的迭代终止条件:
Figure 328955DEST_PATH_IMAGE001
当反向插补时,利用以下迭代式迭代计算当前插补周期的插补参数,直至满足预设的迭代终止条件:
Figure 32206DEST_PATH_IMAGE002
其中,L(t k )为在求解区间内利用高斯勒让德求积法求解得到的迭代弧长度,t k t k+1分别为迭代过程中得到的当前曲线参数、下一曲线参数,Q’(t k )为B样条导数,s r 为节点区间内的剩余长度;
S46、将最终得到的曲线参数t k 作为当前插补周期的插补参数。
4.根据权利要求3所述的基于牛顿迭代法的B样条实时插补方法,其特征在于,当正向插补时,通过以下公式计算候选参数值t 0
Figure 168789DEST_PATH_IMAGE003
当反向插补时,通过以下公式计算候选参数值t 0
Figure 775351DEST_PATH_IMAGE004
其中,u index u index+1分别为区间左右两端节点的曲线参数,l index 为区间长度,s r 节点区间内的剩余长度。
5.根据权利要求3所述的基于牛顿迭代法的B样条实时插补方法,其特征在于,所述B样条导数通过de Boor算法求解。
6.根据权利要求3所述的基于牛顿迭代法的B样条实时插补方法,其特征在于,正向插补时L(t k )的求解区间为[u index t k ],反向插补时L(t k )的求解区间为[t k u index+1]。
7.根据权利要求3所述的基于牛顿迭代法的B样条实时插补方法,其特征在于,所述迭代终止条件为:
Figure 237557DEST_PATH_IMAGE005
其中,ε 1ε 2分别为预设的第一迭代精度和第二迭代精度。
8.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上权利要求1至7任一项所述的基于牛顿迭代法的B样条实时插补方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上权利要求1至7任一项所述的基于牛顿迭代法的B样条实时插补方法的步骤。
CN202211152393.9A 2022-09-21 2022-09-21 基于牛顿迭代法的b样条实时插补方法、设备和存储介质 Active CN115237058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211152393.9A CN115237058B (zh) 2022-09-21 2022-09-21 基于牛顿迭代法的b样条实时插补方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211152393.9A CN115237058B (zh) 2022-09-21 2022-09-21 基于牛顿迭代法的b样条实时插补方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN115237058A true CN115237058A (zh) 2022-10-25
CN115237058B CN115237058B (zh) 2023-01-10

Family

ID=83680467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211152393.9A Active CN115237058B (zh) 2022-09-21 2022-09-21 基于牛顿迭代法的b样条实时插补方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN115237058B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117406669A (zh) * 2023-12-14 2024-01-16 法奥意威(苏州)机器人系统有限公司 插补方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104597845A (zh) * 2013-10-31 2015-05-06 中国科学院沈阳计算技术研究所有限公司 一种用于高质量加工的样条曲线插补算法
CN106814694A (zh) * 2017-02-14 2017-06-09 华南理工大学 一种高速高精度的参数曲线前瞻插补算法
CN107817764A (zh) * 2017-10-23 2018-03-20 山东大学 一种基于s曲线加减速算法的nurbs曲线双向自适应插补算法
CN109143965A (zh) * 2018-09-21 2019-01-04 大族激光科技产业集团股份有限公司 一种样条曲线过滤拐角的插补方法及其插补系统
CN109164759A (zh) * 2018-08-01 2019-01-08 深圳市汇川技术股份有限公司 曲线插补方法、设备及计算机可读存储介质
WO2019119268A1 (zh) * 2017-12-19 2019-06-27 深圳配天智能技术研究院有限公司 数控系统、具有存储功能的装置及nurbs曲线插补方法
CN113204215A (zh) * 2021-04-16 2021-08-03 华中科技大学 一种数控加工全局nurbs轨迹实时插补方法及其应用
CN114265367A (zh) * 2021-12-31 2022-04-01 杭州电子科技大学 一种高精度参数路径插补方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104597845A (zh) * 2013-10-31 2015-05-06 中国科学院沈阳计算技术研究所有限公司 一种用于高质量加工的样条曲线插补算法
CN106814694A (zh) * 2017-02-14 2017-06-09 华南理工大学 一种高速高精度的参数曲线前瞻插补算法
CN107817764A (zh) * 2017-10-23 2018-03-20 山东大学 一种基于s曲线加减速算法的nurbs曲线双向自适应插补算法
WO2019119268A1 (zh) * 2017-12-19 2019-06-27 深圳配天智能技术研究院有限公司 数控系统、具有存储功能的装置及nurbs曲线插补方法
CN109164759A (zh) * 2018-08-01 2019-01-08 深圳市汇川技术股份有限公司 曲线插补方法、设备及计算机可读存储介质
CN109143965A (zh) * 2018-09-21 2019-01-04 大族激光科技产业集团股份有限公司 一种样条曲线过滤拐角的插补方法及其插补系统
CN113204215A (zh) * 2021-04-16 2021-08-03 华中科技大学 一种数控加工全局nurbs轨迹实时插补方法及其应用
CN114265367A (zh) * 2021-12-31 2022-04-01 杭州电子科技大学 一种高精度参数路径插补方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王允森等: "基于牛顿迭代法的NURBS曲线插补算法", 《组合机床与自动化加工技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117406669A (zh) * 2023-12-14 2024-01-16 法奥意威(苏州)机器人系统有限公司 插补方法、装置、电子设备及存储介质
CN117406669B (zh) * 2023-12-14 2024-04-12 法奥意威(苏州)机器人系统有限公司 插补方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115237058B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
Nam et al. A study on a generalized parametric interpolator with real-time jerk-limited acceleration
Tikhon et al. NURBS interpolator for constant material removal rate in open NC machine tools
Wang et al. Arc-length parameterized spline curves for real-time simulation
Cheng et al. Real-time variable feed rate NURBS curve interpolator for CNC machining
CN115237058B (zh) 基于牛顿迭代法的b样条实时插补方法、设备和存储介质
JPH0373883B2 (zh)
JP2001092516A (ja) 数値制御曲面加工装置
CN114779721B (zh) 基于位置点进行速度滤波的方法、设备和存储介质
CN114755975B (zh) 速度滤波产生的轨迹误差的控制方法、设备和存储介质
CN113687629A (zh) 激光cam加工的圆弧直线拟合方法、系统、设备及存储介质
CN114815743A (zh) 一种数控机床的曲线插补方法、系统及存储介质
CN109739179A (zh) 插补控制方法及装置、计算机设备及可读存储介质
CN116380043A (zh) 变道中心线确定及高精地图绘制方法、装置、设备及介质
CN113433889B (zh) 一种基于三段式羊角曲线的五轴机床加工的刀具轨迹规划方法
de Souza et al. Study of tool paths calculated by different commercial CAM systems and influences on the real machining time and surface roughness for milling free-form geometries
CN115631347A (zh) 板材排样方法、设备和存储介质
CN115328032B (zh) 基于s形加减速的b样条速度前瞻控制方法、设备和介质
Dębski Real-time interpolation of streaming data
CN115097786B (zh) 基于回旋线的加工轨迹优化方法、设备和存储介质
Jiang et al. Asymmetrical pythagorean-hodograph spline-based C 4 continuous local corner smoothing method with jerk-continuous feedrate scheduling along linear toolpath
CN109991921B (zh) 一种平顺b样条轨迹直接生成方法
CN115113585B (zh) 基于n阶b样条进行精插补的方法、设备和存储介质
CN114115112B (zh) 数控加工方法及装置
Jahanpour et al. Real-time PH curve CNC interpolators for high speed cornering
Hua et al. Global toolpath smoothing for CNC machining based on B-spline approximation with tool tip position adjustment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant