CN108170101B - 面向多项式样条曲线的插补方法及系统 - Google Patents

面向多项式样条曲线的插补方法及系统 Download PDF

Info

Publication number
CN108170101B
CN108170101B CN201711446570.3A CN201711446570A CN108170101B CN 108170101 B CN108170101 B CN 108170101B CN 201711446570 A CN201711446570 A CN 201711446570A CN 108170101 B CN108170101 B CN 108170101B
Authority
CN
China
Prior art keywords
interpolation
interpolation point
curve
point
polynomial
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.)
Active
Application number
CN201711446570.3A
Other languages
English (en)
Other versions
CN108170101A (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.)
Shenzhen Inovance Technology Co Ltd
Original Assignee
Shenzhen Inovance Technology 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 Shenzhen Inovance Technology Co Ltd filed Critical Shenzhen Inovance Technology Co Ltd
Priority to CN201711446570.3A priority Critical patent/CN108170101B/zh
Publication of CN108170101A publication Critical patent/CN108170101A/zh
Application granted granted Critical
Publication of CN108170101B publication Critical patent/CN108170101B/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
    • 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)
  • Image Generation (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供了一种面向多项式样条曲线的插补方法及系统,所述方法包括以下步骤:将所述多项式样条曲线转换为一个或多个单段多项式曲线;根据插补点所在的单段多项式曲线为每一插补点构建一个插补点方程;根据前一插补点所处位置计算当前插补点对应的插补点方程中变量的初值,并通过所述当前插补点对应的插补点方程迭代计算后续变量的值,直到变量的值满足迭代终止条件;根据当前插补点所在的单段多项式曲线和满足迭代终止条件的变量的值获取当前插补点。本发明通过将待处理的多项式样条曲线转换为一个或多个单段多项式曲线,并根据每一插补点所在的单段多项式曲线为每一插补点构建一个插补点方程,可实现任意类型多项式样条曲线的插补,通用性强。

Description

面向多项式样条曲线的插补方法及系统
技术领域
本发明涉及数控设备控制领域,更具体地说,涉及一种面向多项式样条曲线的插补方法及系统。
背景技术
随着数控技术的发展,越来越多的商用数控系统开始支持样条曲线插补,以解决传统直线插补和圆弧插补在自由曲面类零件加工时存在的效率和精度低下的问题。
由于绝大部分样条曲线的弧长与参数成非线性关系,且难以得到两者之间精确的解析关系,因此只能采用近似计算的方法得到插补参数,这样做的后果是造成相邻插补点之间的实际距离与理论规划距离存在偏差,从而产生进给速度波动。进给速度的波动不仅会导致加工精度下降,甚至还可能引起加工振动,导致工件报废,甚至损坏机床,因此控制进给速度波动的大小是样条曲线插补的主要目的。
目前已有的样条曲线插补方法主要有泰勒展开法、迭代逼近法和参数弧长拟合法。
泰勒展开法的原理是利用泰勒展开式来逼近下一个插补参数,其展开的阶数越高,逼近结果就越精确,进给速度波动就越小。但为了降低计算量,泰勒展开法一般只取泰勒展开式的前两项进行计算,只涉及样条曲线的一阶和二阶导矢计算,虽然计算量较低,但是进给速度波动较大,远远难以满足高精、高速加工要求,且存在插补失败的可能。
迭代逼近法采用一种“预测—校正”机制,首先使用一种简单的插补方法计算插补参数初值,然后根据校正规则进行迭代,直到进给速度波动满足要求。迭代逼近法的效果主要取决于校正规则的优劣,目前已有的效果较好的校正规则往往需要求解非线性方程,且每个迭代过程均需通过计算预测插补点来得到进给速度波动大小,从而加大了计算量,降低了计算效率。
参数弧长拟合法的关键是构建弧长和参数之间较精确的解析关系,其结果一般为弧长和参数之间的分段多项式函数,然后即可根据规划弧长直接计算插补参数。但参数弧长拟合法需通过离线过程建立弧长和参数之间的分段解析函数,为了获得高精度,分段解析函数的段数非常大,需要大量的离散计算和存储空间。
另外,样条曲线模型多种多样,如三次多项式样条曲线、埃尔米特样条曲线、贝塞尔样条曲线、有理贝塞尔样条曲线、B样条曲线、非均匀有理B样条曲线、T样条曲线、PH样条曲线等、AKIMA样条曲线等,上述插补方法对不同样条曲线进行插补时需要采用不同的导矢计算方法和插补点计算方法,导致插补方法不通用,插补过程不统一。
发明内容
本发明要解决的技术问题在于,针对上述插补方法存在插补精度低以及无法通用到多种样条曲线的插补过程中的问题,提供一种面向多项式样条曲线的插补方法及系统。
本发明解决上述技术问题的技术方案是,提供一种面向多项式样条曲线的插补方法,用于实现所述多项式样条曲线的插补点输出,所述方法包括以下步骤:
将所述多项式样条曲线转换为一个或多个单段多项式曲线;
根据每一插补点所在的单段多项式曲线为每一所述插补点构建一个插补点方程;
根据前一插补点所处位置计算当前插补点对应的插补点方程中变量的初值,并通过所述当前插补点对应的插补点方程迭代计算后续变量的值,直到变量的值满足迭代终止条件;
根据当前插补点所在的单段多项式曲线和满足迭代终止条件的变量的值获取当前插补点。
在本发明所述的面向多项式样条曲线的插补方法中,所述根据每一插补点所在的单段多项式曲线为每一所述插补点构建一个插补点方程包括:
构造单段多项式曲线上的插补点的表达式;
根据所述插补点的表达式和插补原理模型获得所述单段多项式曲线上插补点的插补点方程。
在本发明所述的面向多项式样条曲线的插补方法中,所述根据前一插补点所处位置计算当前插补点对应的插补点方程的变量的初值包括:
在前一插补点位于当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure BDA0001527681010000031
其中ui为所述单段多项式曲线C(u)在前一插补点处对应的参数,us为所述单段多项式曲线C(u)中起点对应的参数,Li为当前插补点对应的插补周期的插补步长,C′(ui)为所述单段多项式曲线C(u)在参数ui处的一阶导矢,“||.||”表示向量的模长计算;
在前一插补点不在当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure BDA0001527681010000032
C'(us)为当前插补点所在的单段多项式曲线的起点处的一阶导矢。
在本发明所述的面向多项式样条曲线的插补方法中,所述单段多项式曲线上的插补点的表达式为:
Figure BDA0001527681010000033
其中变量x=ui+1-us,ui+1为单段多项式曲线上第(i+1)个插补周期的插补参数,C(k)(us)为所述单段多项式曲线在起点处的k阶导矢,p为单段多项式曲线中参数的最高次数;
所述单段多项式曲线上插补点的插补点方程为:
Figure BDA0001527681010000034
其中ak为多项式系数,且:
Figure BDA0001527681010000041
其中Ai,j表示矩阵A的第(i+1)行第(j+1)列元素值,A为(p+1)×(p+1)阶矩阵,且A=MTM;Bk表示向量B的第k+1个元素值,B为(p+1)维行向量,且B=Pi TM,
Figure BDA0001527681010000042
Pi为第i个插补周期的插补点。
在本发明所述的面向多项式样条曲线的插补方法中,所述根据当前插补点所在的单段多项式曲线和满足迭代终止条件的变量的值获取当前插补点后还包括:
根据所述当前插补点与所述单段多项式曲线终点的位置,判断所述当前插补点所在的单段多项式曲线是否插补完毕,若插补完毕则进行下一单段多项式曲线插补,否则在所述当前插补点所在的单段多项式曲线上获取下一插补点。
本发明还提供一种面向多项式样条曲线的插补系统,用于实现所述多项式样条曲线的插补点输出,其特征在于,所述插补系统包括曲线构建单元、插补点方程构建单元、变量值计算单元以及插补点获取单元,其中:
所述曲线构建单元,用于将所述多项式样条曲线转换为一个或多个单段多项式曲线;
所述插补点方程构建单元,用于根据每一插补点所在的单段多项式曲线为每一插补点构建一个插补点方程;
所述变量值计算单元,用于根据前一插补点所处位置计算当前插补点对应的插补点方程中变量的初值,并通过所述当前插补点对应的插补点方程迭代计算后续变量的值,直到变量的值满足迭代终止条件;
所述插补点获取单元,用于根据当前插补点所在的单段多项式曲线和满足迭代终止条件的变量的值获取当前插补点。
在本发明所述的面向多项式样条曲线的插补系统中,所述插补点方程构建单元通过构造单段多项式曲线上的插补点的表达式,并根据所述插补点的表达式和插补原理模型获得所述单段多项式曲线上插补点的插补点方程。
在本发明所述的面向多项式样条曲线的插补系统中,所述变量值计算单元在前一插补点位于当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure BDA0001527681010000051
其中ui为所述单段多项式曲线C(u)在前一插补点处对应的参数,us为所述单段多项式曲线C(u)中起点对应的参数,Li为当前插补点对应的插补周期的插补步长,C′(ui)为所述单段多项式曲线C(u)在参数ui处的一阶导矢,“||.||”表示向量的模长计算;
所述变量值计算单元在前一插补点不在当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure BDA0001527681010000052
C'(us)为当前插补点所在的单段多项式曲线的起点处的一阶导矢。
在本发明所述的面向多项式样条曲线的插补系统中,所述单段多项式曲线上的插补点的表达式为:
Figure BDA0001527681010000053
其中变量x=ui+1-us,ui+1为单段多项式曲线上第(i+1)个插补周期的插补参数,C(k)(us)为所述单段多项式曲线在起点处的k阶导矢,p为单段多项式曲线中参数的最高次数;
所述单段多项式曲线上插补点的插补点方程为:
Figure BDA0001527681010000054
其中ak为多项式系数,且:
Figure BDA0001527681010000055
其中Ai,j表示矩阵A的第(i+1)行第(j+1)列元素值,A为(p+1)×(p+1)阶矩阵,且A=MTM;Bk表示向量B的第k+1个元素值,B为(p+1)维行向量,且B=Pi TM,
Figure BDA0001527681010000061
Pi为第i个插补周期的插补点。
在本发明所述的面向多项式样条曲线的插补系统中,所述插补系统还包括插补结束判断单元,所述插补结束判断单元根据所述当前插补点与所述单段多项式曲线终点的位置,判断所述当前插补点所在的单段多项式曲线是否插补完毕;
在插补结束判断单元确认当前插补点所在的单段多项式曲线插补完毕时,所述变量值计算单元和所述插补点获取单元从下一单段多项式曲线获取下一插补点,否则所述变量值计算单元和所述插补点获取单元从所述当前插补点所在的单段多项式曲线上获取下一插补点。
本发明所述的面向多项式样条曲线的插补方法及系统,通过将待处理的多项式样条曲线转换为一个或多个单段多项式曲线,并根据插补点所在的单段多项式曲线为每一插补点构建一个插补点方程,可实现任意类型多项式样条曲线的插补,通用性强。
与传统的求解非线性方程的方法相比,本发明具有更小的计算量和更快的收敛速度,从而计算效率更高。并且,本发明还可通过控制迭代终止条件来获得满意的进给速度波动,从而满足不同场合的需求。
附图说明
图1是本发明面向多项式样条曲线的插补方法实施例的流程示意图;
图2是海星B样条曲线的示意图;
图3是使用本发明面向多项式样条曲线的插补方法插补图2所示的海星B样条曲线产生的进给速度波动;
图4是使用泰勒一阶展开法插补图2所示的海星B样条曲线产生的进给速度波动;
图5是使用泰勒二阶展开法插补图2所示的海星B样条曲线产生的进给速度波动;
图6是本发明面向多项式样条曲线的插补系统实施例的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明面向多项式样条曲线的插补方法实施例的示意图,该方法用于实现任意多项式样条曲线的插补点输出,具体地,该方法可逐一输出待处理的多项式样条曲线上的各个插补点,以供相关控制设备执行,实现数控机床、机器人等设备的运行控制。本实施例的面向多项式样条曲线的插补方法包括以下步骤:
步骤S1:将待处理的多项式样条曲线转换为一个或多个单段多项式曲线。具体地,若待处理的多项式样条曲线为分段多项式样条曲线,则以分段点将该待处理的多项式样条曲线转化为一系列单段多项式曲线,其中生成的单段多项式曲线的端点参数(即端点对应的变量的值)即为相应的分段点参数;若待处理的多项式样条曲线本身为单段多项式样条曲线,则无须进行分段。
例如对于图2所示的海星B样条曲线,其包括11个控制顶点:(60,90,0)、(37.5,60,0)、(0,60,0)、(30,30,0)、(22.5,0,0)、(60,22.5,0)、(97.5,0,0)、(90,30,0)、(120,60,0)、(82.5,60,0)、(60,90,0),节点序列为:0,0,0,0.111,0.222,0.333,0.444,0.555,0.666,0.777,0.888,1,1,1。
由上述参数可知,该海星B样条曲线为分段多项式样条曲线,分段点为节点序列中的节点值,可通过节点值将海星B样条曲线分为9个单段多项式曲线,各个单段多项式曲线中参数(变量)的取值范围分别为(0,0.111)、(0.111,0.222)、(0.222,0.333)、(0.333,0.444)、(0.444,0.555)、(0.555,0.666)、(0.666,0.777)、(0.777,0.888)、(0.888,1)。
步骤S2:根据每一插补点所在的单段多项式曲线为每一插补点构建一个插补点方程。
具体地,可先对于每一单段多项式曲线构造对应的插补点的表达式,然后再根据插补点的表达式和插补原理模型获得单段多项式曲线上插补点的插补点方程。
在构建插补点的表达式之前,可先对每一单段多项式曲线建立一个插补预处理数据结构体(对于图2的海星B样条曲线,可得到9个插补预处理数据结构体),且各个插补预处理数据结构体的数据结构相同。例如对于单段多项式曲线C(u),其对应的插补预处理数据结构体包括该单段多项式曲线C(u)的起点参数us、终点参数ue以及起点处的0至p阶导矢C(k)(us),其中k=0,1,2,…,p,p为单段多项式曲线C(u)中参数(即变量)的最高次数(对于每一待处理的多项式样条曲线,若控制顶点的数量为N,节点的数量为M,则有M=N+p+1)。
通过插补预处理数据结构体,可获取对应单段多项式曲线C(u)的起点参数us、终点参数ue以及起点处的0至p阶导矢C(k)(us)。由于单段多项式曲线C(u)为p次多项式矢量,则处于参数区间[us,ue]内的第(i+1)个插补周期的参数ui+1处的插补点C(ui+1)可采用泰勒展开式表示为:
Figure BDA0001527681010000081
其中变量x=ui+1-us,“!”为阶乘运算。将式(3)转换为矩阵形式可得:
C(ui+1)=MX (2)
其中M为3×(p+1)阶矩阵,具体为:
Figure BDA0001527681010000082
X为(p+1)维列向量,具体为:
X=[1x … xk … xp]T (4)
将式(2)代入插补原理模型||C(ui+1)-Pi||=Li中可得:
||MX-Pi||=Li (5)
其中Pi为第i个插补点,Li为当前插补点对应的插补周期的插补步长(例如可设为恒定值0.1mm),符号“||.||”表示向量的模长计算。将式(5)两边同时平方可得:
Figure BDA0001527681010000091
其中A为(p+1)ⅹ(p+1)阶矩阵,具体为A=MTM;B为(p+1)维行向量,具体为B=Pi TM。式(6)可转换为关于变量x的2p次多项式方程f(x),即单段多项式曲线的每一插补点方程:
Figure BDA0001527681010000092
其中ak为多项式系数,具体为:
Figure BDA0001527681010000093
其中Ai,j表示矩阵A的第(i+1)行第(j+1)列元素值,Bk表示向量B的第k+1个元素值。
步骤S3:在获得插补点方程并进行插补点获取时,先根据前一插补点所处位置,计算当前插补点所在的单段多项式曲线所对应的插补点方程中变量的初值,并通过当前插补点对应的插补点方程迭代计算后续变量的值,直到变量的值满足迭代终止条件。
在该步骤中,可采用牛顿法对式(7)的插补点方程进行求解,以获得插补点对应的参数。在前一插补点Pi(其对应单段多项式曲线C(u)的参数为ui)位于当前插补点C(ui+1)所在的单段多项式曲线(即前一插补点Pi与当前插补点C(ui+1)位于同一单段多项式曲线)时,采用一阶泰勒展开法计算当前插补点对应的插补点方程的变量的初值
Figure BDA0001527681010000094
其中us为单段多项式曲线C(u)中起点对应的参数,Li为当前插补点对应的插补周期的插补步长(该插补步长为规划值),C′(ui)为单段多项式曲线C(u)在参数ui处的一阶导矢,根据泰勒展开式计算为
Figure BDA0001527681010000101
“||.||”表示向量的模长计算;在前一插补点Pi不在当前插补点所在的单段多项式曲线时(即前一插补点Pi位于当前插补点C(ui+1)所在单段多项式曲线C(u)相邻的前一段单段多项式曲线),则当前插补点C(ui+1)对应的插补点方程的变量的初值
Figure BDA0001527681010000102
C'(us)为当前插补点所在的单段多项式曲线的起点处的一阶导矢。
在获得当前插补点对应的插补点方程的变量的初值后,使用牛顿法迭代式
Figure BDA0001527681010000103
进行迭代计算,直到满足迭代终止条件
Figure BDA0001527681010000104
则当前插补点的参数ui+1=us+xj,其中xj-1和xj分别为第(j-1)和j次迭代结果,σ为求解精度(例如可设为10-8),f(xj-1)和f′(xj-1)分别为xj-1处插补点方程f(x)的值和对应的一阶导矢,具体为:
Figure BDA0001527681010000105
步骤S4:在获得当前插补点的参数ui+1后,即可根据上述满足迭代终止条件的变量的值与当前插补点所在的单段多项式曲线C(u)获取当前插补点Pi+1为:
Figure BDA0001527681010000106
在上述的面向多项式样条曲线的插补方法中,在获得当前插补点Pi+1后,还包括:根据当前插补点Pi+1与单段多项式曲线终点的位置,判断当前插补点Pi+1所在的单段多项式曲线是否插补完毕,若插补完毕则进行下一单段多项式曲线插补,否则在当前插补点所在的单段多项式曲线上获取下一插补点。
该步骤具体可根据参数ui+1来判断当前插补点Pi+1所在的单段多项式曲线是否插补结束,当参数ui+1<ue时表示当前插补点Pi+1所在的单段多项式曲线未插补结束,继续在当前插补点Pi+1所在的单段多项式曲线上获取下一插补点;当ui≥ue时表示当前插补点Pi+1所在的单段多项式曲线插补结束,进入下一单段多项式曲线进行插补点获取。
上述步骤S2~S4实、顺序执行,即先构建当前插补点的插补点方程,然后根据前一插补点的位置计算符合条件的变量值并根据符合条件的变量值获得当前插补点。而步骤S1则可无需实时执行。
采用上述面向多项式样条曲线的插补方法,插补图2中的海星B样条曲线产生的进给速度波动变化曲线如图3所示,其最大值仅为2.8594×10-8%;图4所示为采用泰勒一阶展开法插补海星B样条曲线产生的进给速度波动变化曲线,最大值为0.7007%;图5所示为采用泰勒二阶展开法插补海星B样条曲线产生的进给速度波动变化曲线,最大值为0.2026%。由此可知,本发明的方法插补海星B样条曲线产生的进给速度波动远小于泰勒一阶展开法和泰勒二阶展开法,具有更高的精度。
如图6所示,是本发明种面向多项式样条曲线的插补系统实施例的示意图,该插补系统用于实现所述多项式样条曲线的插补点输出。本实施例的面向多项式样条曲线的插补系统包括曲线构建单元61、插补点方程构建单元62、变量值计算单元63以及插补点获取单元64,且上述曲线构建单元61、插补点方程构建单元62、变量值计算单元63以及插补点获取单元64可由存储于存储器并可由处理器执行的指令构成。
曲线构建单元61用于将多项式样条曲线转换为一个或多个单段多项式曲线。具体地,若待处理的多项式样条曲线为分段多项式样条曲线,则以分段点将该待处理的多项式样条曲线转化为一系列单段多项式曲线,其中生成的单段多项式曲线的端点参数(即端点对应的变量的值)即为相应的分段点参数;若待处理的多项式样条曲线本身为单段多项式样条曲线,则无须进行分段。
插补点方程构建单元62用于根据每一插补点所在的单段多项式曲线为每一插补点构建一个插补点方程。该插补点方程构建单元62具体可通过构造单段多项式曲线上的插补点的表达式,并根据插补点的表达式和插补原理模型获得所述单段多项式曲线上插补点的插补点方程。
具体地,上述单段多项式曲线上的插补点的表达式为:
Figure BDA0001527681010000121
其中变量x=ui+1-us,ui+1为单段多项式曲线上第(i+1)个插补周期的插补参数,C(k)(us)为所述单段多项式曲线在起点处的k阶导矢,p为单段多项式曲线中参数的最高次数;而单段多项式曲线的每一插补点方程则为:
Figure BDA0001527681010000122
其中ak为多项式系数,且:
Figure BDA0001527681010000123
其中Ai,j表示矩阵A的第(i+1)行第(j+1)列元素值,A为(p+1)×(p+1)阶矩阵,且A=MTM;Bk表示向量B的第k+1个元素值,B为(p+1)维行向量,且B=Pi TM,
Figure BDA0001527681010000124
Pi为第i个插补周期的插补点。
变量值计算单元63用于根据前一插补点所处位置计算当前插补点对应的插补点方程中变量的初值,并通过所述当前插补点对应的插补点方程迭代计算后续变量的值,直到变量的值满足迭代终止条件。
该变量值计算单元63在前一插补点位于当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure BDA0001527681010000125
其中ui为单段多项式曲线C(u)在前一插补点处对应的参数,us为所述单段多项式曲线中起点对应的参数,Li为当前插补点对应的插补周期的插补步长,C′(ui)为所述单段多项式曲线C(u)在参数ui处的一阶导矢,“||.||”表示向量的模长计算。
该变量值计算单元63在前一插补点不在当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure BDA0001527681010000126
C'(us)为当前插补点所在的单段多项式曲线的起点处的一阶导矢。
插补点获取单元64用于根据当前插补点所在的单段多项式曲线和满足迭代终止条件的变量的值获取当前插补点Pi+1,即:
Figure BDA0001527681010000131
上述的面向多项式样条曲线的插补系统还包括插补结束判断单元,该插补结束判断单元根据当前插补点与所述单段多项式曲线终点的位置,判断当前插补点所在的单段多项式曲线是否插补完毕;
在插补结束判断单元确认当前插补点所在的单段多项式曲线插补完毕时,变量值计算单元63和插补点获取单元64从下一单段多项式曲线获取下一插补点,否则变量值计算单元63和插补点获取单元64从所述当前插补点所在的单段多项式曲线上获取下一插补点。
插补结束判断单元具体可根据参数ui+1来判断当前插补点Pi+1所在的单段多项式曲线是否插补结束,当参数ui+1<ue时确认当前插补点Pi+1所在的单段多项式曲线未插补结束;当ui≥ue时确认当前插补点Pi+1所在的单段多项式曲线插补结束。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种面向多项式样条曲线的插补方法,用于实现所述多项式样条曲线的插补点输出,其特征在于,所述方法包括以下步骤:
将所述多项式样条曲线转换为一个或多个单段多项式曲线;
根据每一插补点所在的单段多项式曲线为每一所述插补点构建一个插补点方程;
根据前一插补点所处位置计算当前插补点对应的插补点方程中变量的初值,并通过所述当前插补点对应的插补点方程迭代计算后续变量的值,直到变量的值满足迭代终止条件;
根据当前插补点所在的单段多项式曲线和满足所述迭代终止条件的变量的值获取当前插补点;
所述根据前一插补点所处位置计算当前插补点对应的插补点方程的变量的初值包括:
在前一插补点位于当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure FDA0002679995910000011
其中ui为所述单段多项式曲线C(u)在前一插补点处对应的参数,us为所述单段多项式曲线C(u)中起点对应的参数,Li为当前插补点对应的插补周期的插补步长,C′(ui)为所述单段多项式曲线C(u)在参数ui处的一阶导矢,“||.||”表示向量的模长计算;
在前一插补点不在当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure FDA0002679995910000012
C'(us)为当前插补点所在的单段多项式曲线的起点处的一阶导矢。
2.根据权利要求1所述的面向多项式样条曲线的插补方法,其特征在于,所述根据每一插补点所在的单段多项式曲线为每一所述插补点构建一个插补点方程包括:
构造单段多项式曲线上的插补点的表达式;
根据所述插补点的表达式和插补原理模型获得所述单段多项式曲线上插补点的插补点方程。
3.根据权利要求2所述的面向多项式样条曲线的插补方法,其特征在于,所述单段多项式曲线上的插补点的表达式为:
Figure FDA0002679995910000021
其中变量x=ui+1-us,ui+1为单段多项式曲线上第(i+1)个插补周期的插补参数,C(k)(us)为所述单段多项式曲线在起点处的k阶导矢,p为单段多项式曲线中参数的最高次数;
所述单段多项式曲线上插补点的插补点方程为:
Figure FDA0002679995910000022
其中ak为多项式系数,且:
Figure FDA0002679995910000023
其中Ai,j表示矩阵A的第(i+1)行第(j+1)列元素值,A为(p+1)×(p+1)阶矩阵,且A=MTM;Bk表示向量B的第k+1个元素值,B为(p+1)维行向量,且B=Pi TM,
Figure FDA0002679995910000024
Pi为第i个插补周期的插补点。
4.根据权利要求1所述的面向多项式样条曲线的插补方法,其特征在于,所述根据当前插补点所在的单段多项式曲线和满足迭代终止条件的变量的值获取当前插补点后还包括:
根据所述当前插补点与所述单段多项式曲线终点的位置,判断所述当前插补点所在的单段多项式曲线是否插补完毕,若插补完毕则进行下一单段多项式曲线插补,否则在所述当前插补点所在的单段多项式曲线上获取下一插补点。
5.一种面向多项式样条曲线的插补系统,其特征在于,用于实现所述多项式样条曲线的插补点输出,其特征在于,所述插补系统包括曲线构建单元、插补点方程构建单元、变量值计算单元以及插补点获取单元,其中:
所述曲线构建单元,用于将所述多项式样条曲线转换为一个或多个单段多项式曲线;
所述插补点方程构建单元,用于根据每一插补点所在的单段多项式曲线为每一插补点构建一个插补点方程;
所述变量值计算单元,用于根据前一插补点所处位置计算当前插补点对应的插补点方程中变量的初值,并通过所述当前插补点对应的插补点方程迭代计算后续变量的值,直到变量的值满足迭代终止条件;
所述插补点获取单元,用于根据当前插补点所在的单段多项式曲线和满足迭代终止条件的变量的值获取当前插补点;
所述变量值计算单元在前一插补点位于当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure FDA0002679995910000031
其中ui为所述单段多项式曲线C(u)在前一插补点处对应的参数,us为所述单段多项式曲线C(u)中起点对应的参数,Li为当前插补点对应的插补周期的插补步长,C′(ui)为所述单段多项式曲线C(u)在参数ui处的一阶导矢,“||.||”表示向量的模长计算;
所述变量值计算单元在前一插补点不在当前插补点所在的单段多项式曲线时,所述当前插补点对应的插补点方程的变量的初值
Figure FDA0002679995910000032
C'(us)为当前插补点所在的单段多项式曲线的起点处的一阶导矢。
6.根据权利要求5所述的面向多项式样条曲线的插补系统,其特征在于,所述插补点方程构建单元通过构造单段多项式曲线上的插补点的表达式,并根据所述插补点的表达式和插补原理模型获得所述单段多项式曲线上插补点的插补点方程。
7.根据权利要求6所述的面向多项式样条曲线的插补系统,其特征在于,所述单段多项式曲线上的插补点的表达式为:
Figure FDA0002679995910000041
其中变量x=ui+1-us,ui+1为单段多项式曲线上第(i+1)个插补周期的插补参数,C(k)(us)为所述单段多项式曲线在起点处的k阶导矢,p为单段多项式曲线中参数的最高次数;
所述单段多项式曲线上插补点的插补点方程为:
Figure FDA0002679995910000042
其中ak为多项式系数,且:
Figure FDA0002679995910000043
其中Ai,j表示矩阵A的第(i+1)行第(j+1)列元素值,A为(p+1)×(p+1)阶矩阵,且A=MTM;Bk表示向量B的第k+1个元素值,B为(p+1)维行向量,且B=Pi TM,
Figure FDA0002679995910000044
Pi为第i个插补周期的插补点。
8.根据权利要求5所述的面向多项式样条曲线的插补系统,其特征在于,所述插补系统还包括插补结束判断单元,所述插补结束判断单元根据所述当前插补点与所述单段多项式曲线终点的位置,判断所述当前插补点所在的单段多项式曲线是否插补完毕;
在插补结束判断单元确认当前插补点所在的单段多项式曲线插补完毕时,所述变量值计算单元和所述插补点获取单元从下一单段多项式曲线获取下一插补点,否则所述变量值计算单元和所述插补点获取单元从所述当前插补点所在的单段多项式曲线上获取下一插补点。
CN201711446570.3A 2017-12-27 2017-12-27 面向多项式样条曲线的插补方法及系统 Active CN108170101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711446570.3A CN108170101B (zh) 2017-12-27 2017-12-27 面向多项式样条曲线的插补方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711446570.3A CN108170101B (zh) 2017-12-27 2017-12-27 面向多项式样条曲线的插补方法及系统

Publications (2)

Publication Number Publication Date
CN108170101A CN108170101A (zh) 2018-06-15
CN108170101B true CN108170101B (zh) 2020-11-24

Family

ID=62518096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711446570.3A Active CN108170101B (zh) 2017-12-27 2017-12-27 面向多项式样条曲线的插补方法及系统

Country Status (1)

Country Link
CN (1) CN108170101B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669396B (zh) * 2018-12-04 2021-11-05 天津津航技术物理研究所 一种轴对称非球面的变间隔直线插补方法
CN110111396B (zh) * 2019-05-13 2023-05-26 武汉轻工大学 柱面方程的图像绘制方法、设备、存储介质及装置
CN111687838B (zh) * 2020-05-29 2023-10-13 深圳科瑞技术股份有限公司 机械手轨迹跟随误差的在线补偿方法、系统及存储介质
CN111708327B (zh) * 2020-07-14 2023-07-11 中国石油大学(华东) 一种具有g2连续性的ph样条过渡线性路径加工方法
CN112330556B (zh) * 2020-11-03 2022-04-19 燕山大学 一种基于有理贝塞尔曲面的球幕投影几何校正方法
CN114296398B (zh) * 2021-11-16 2024-04-05 中南大学 一种用于激光切割的高速高精度插补方法
CN114035512B (zh) * 2021-11-22 2022-09-23 广东工业大学 一种基于两次泰勒展开的最小速度波动插补方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100462879C (zh) * 2006-07-25 2009-02-18 山东轻工业学院 变量可分离的正高次代数曲线合成差分插补数控加工方法
CN101976060B (zh) * 2010-11-17 2012-02-08 西南交通大学 基于机床动力学和曲线特性的nurbs插补方法
CN102566494B (zh) * 2010-12-09 2014-10-22 中国科学院沈阳计算技术研究所有限公司 一种基于刀具矢量平滑压缩的五轴数控插补方法
GB201305530D0 (en) * 2013-03-26 2013-05-08 Isis Innovation Control point interpolation method for quantification of cerebral haemodynamics
CN104597845A (zh) * 2013-10-31 2015-05-06 中国科学院沈阳计算技术研究所有限公司 一种用于高质量加工的样条曲线插补算法
CN104076742B (zh) * 2014-06-20 2016-12-07 北京航空航天大学 一种连续多类型曲线段混合插补三次多项式进给速度前瞻规划方法
CN105739436B (zh) * 2014-12-12 2019-01-18 沈阳机床(集团)设计研究院有限公司上海分公司 一种数控机床样条曲线自适应快速插补方法

Also Published As

Publication number Publication date
CN108170101A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108170101B (zh) 面向多项式样条曲线的插补方法及系统
CN109416529B (zh) 数控系统、具有存储功能的装置及nurbs曲线插补方法
CN109514133B (zh) 一种基于线结构光感知的焊接机器人3d曲线焊缝自主示教方法
CN108490871B (zh) 四轴数控铣床加工方法、装置、计算机设备和存储介质
KR101798652B1 (ko) 매니퓰레이터를 제어하기 위한 방법 및 장치
JP5326015B2 (ja) 加工曲線作成機能を有する数値制御装置
KR880002556B1 (ko) 곡면 생성방법
Du et al. An error-bounded B-spline curve approximation scheme using dominant points for CNC interpolation of micro-line toolpath
CN109164759B (zh) 曲线插补方法、设备及计算机可读存储介质
Bi et al. A general, fast and robust B-spline fitting scheme for micro-line tool path under chord error constraint
CN112847364B (zh) 机器人铣削加工刀具路径c3连续的在线实时解析光顺方法
KR20100074113A (ko) 보간처리방법, 및 보간처리장치
CN109828535B (zh) 一种基于四阶龙格-库塔算法的nurbs曲线插补方法
US5434793A (en) Method and apparatus for ascertaining tool path contours approximating curved contour intersection lines in numerically controlled machines
CN114296398A (zh) 一种用于激光切割的高速高精度插补方法
CN109507955B (zh) 一种基于数控系统的刀路偏置路径方法
CN109564417B (zh) 样条路径的插补方法及相关设备
JP6242539B1 (ja) 数値制御装置
CN112051803B (zh) 一种基于空间平面法向量的小线段光顺方法
US9696708B2 (en) Machining curve creating apparatus and machining curve creating method thereof
CN102393680B (zh) 一种基于圆锥面刀具矢量插值的参数曲线插补方法
CN114488941A (zh) 微小线段的轨迹光顺方法、介质及机床数控设备
CN113433889B (zh) 一种基于三段式羊角曲线的五轴机床加工的刀具轨迹规划方法
CN113205086B (zh) 一种基于椭圆拟合的圆截面弯管类零件特征参数识别方法
CN113835397A (zh) 基于b样条曲线和路径积分的线性数控加工路径平滑方法

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