一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于优势点的线性刀轨的B样条拟合方法与流程

2022-06-29 17:47:58 来源:中国专利 TAG:

一种基于优势点的线性刀轨的b样条拟合方法
技术领域
1.本发明涉及数控加工制造技术领域,具体涉及一种基于优势点的线性刀轨的b样条拟合方法。


背景技术:

2.在目前的数控加工系统中,由连续微小线段表示的刀路轨迹是最为常见的格式。当线性轨迹、进给速率和刀位偏置等加工信息被输入到数控系统后,插补模块依据加工信息实时计算加工过程中的插补点。由于在相邻两个线段的交点处,轨迹仅仅是c0连续的,刀具为了改变加工方向需要完全停止。这将会导致整个加工过程中需要频繁的加减速,导致进给率剧烈波动,甚至引起机床的剧烈振动,严重影响了加工效率和精度。
3.为了解决以上问题,有必要在损失部分精度的前提下,提升轨迹的光滑性。目前的轨迹光滑方案主要分为两大类:(1)全局光滑方案:该方案会使用一条或多条参数曲线,插值或者拟合原始的线性轨迹。(2)局部光滑方案:该方案使用一条或一对参数曲线,过渡原始的线性轨迹的尖角处的一部分。其中全局光滑方案的拟合精度难以控制,但是数据压缩效果好,而局部光滑方案能够采用解析的方法控制拟合误差,但数据量较大。


技术实现要素:

4.本发明要解决的技术问题是提供一种基于优势点的线性刀轨的b样条拟合方法,能够提升线性轨迹的光滑性,进而提高数控加工的精度和效率。
5.为解决上述技术问题,本发明采用如下技术方案:
6.设计一种基于优势点的线性刀轨的b样条拟合方法,包括下列步骤:
7.步骤一:基于局部三次多项式拟合和双向扫描方案的优势点选取;
8.设给定的原始线性轨迹为p={p0,p1,

,pn},首先给每个刀位点赋上对应的参数值ti(i=0,1,

,n),采用累计弧长参数化方法,具体计算公式如下:
[0009][0010]
其中
[0011]
采用离散方法计算刀位点pi(i=1,2,

,n-1)点对应的曲率ki,计算公式如下:
[0012][0013]
将原始线性轨迹分为多个连续的子轨迹,每一个子轨迹包含的刀位点都可以由一个三次多项式拟合,且拟合误差不超过给定的精度要求ε;先选择pi(i=1,2,

,n-1)中曲率ki最大的点pj为第一个分界点,然后根据双向扫描方案在点pj两侧各生成一个子轨迹;
[0014]
记p={p0,p1,

,pn}被划分为m 1个子集合,分别是和则p0,
和pn被选择为优势点。
[0015]
步骤二:节点矢量的生成和基于最小二乘理论的控制点计算;
[0016]
记步骤一中选取出来的优势点集合为记步骤一中选取出来的优势点集合为这些点对应的参数为vi(i=0,1,

,m 1);
[0017]
初始b样条曲线的节点矢量u={u0,u1,

,u
m 7
}根据平均原则生成,具体计算公式如下:
[0018][0019]
之后基于最小二乘法计算控制点,以拟合误差的平方和最小为原则,得到如下的目标函数:
[0020][0021]
为了使拟合得到的b样条曲线经过线性轨迹的起点和终点,以下条件也需要被满足:
[0022]
b(0)=p0,b(1)=pnꢀꢀꢀꢀꢀ
(5)
[0023]
求解由式(4)和(5)构成的线性最优化问题,可以解析计算出控制点,从而确定初始的拟合b样条曲线为:
[0024][0025]
步骤三:估计拟合误差,基于拟合误差插入新的优势点并修正拟合b样条;
[0026]
首先估算每一个刀位点pi(i=0,1,

,n)在b(u)上的垂足的参数ufi,这里的垂足指的是b(u)上距离点pi最近的点;令ufi的初值采用牛顿法迭代的计算ufi;
[0027]
记给定的阈值为δ,当时,根据下式更新参数值:
[0028][0029]
其中b'(u)和b”(u)为b(u)的一阶和二阶导数,直到errorj≤δ或者j大于设置的最大迭代次数时停止;
[0030]
每个刀位点pi的拟合误差ei=||p
i-b(ufi)||;
[0031]
当b(u)的拟合误差e=maxei大于给定的拟合精度μ时,向优势点集合q中加入新的优势点,当i
j 1-ij≥2时,和之间存在刀位点
[0032]
若则一个新的优势点被加入到q
中,且位于和之间;
[0033]
新的优势点的序号由下式计算:
[0034][0035]
当j从0遍历到m时,得到了一个新的优势点集合q,再根据新的优势点集合q通过步骤二计算节点矢量和控制点,并检查新的拟合b样条曲线的误差是否满足精度要求;
[0036]
循环进行步骤二和步骤三,直到拟合b样条曲线的拟合误差满足精度要求或循环次数达到给定最大值时停止。
[0037]
优选的,所述步骤一中,在点pj两侧各生成一个子轨迹的方法包括正向扫描流程和反向扫描流程,其中正向扫描的流程为:
[0038]
(1)初始化每一个子轨迹中刀位点数目的最大值n
max
和最小值n
min
,这里n
min
≥5,令n
current
=n
min

[0039]
(2)若j 0
current-1≤n,则转步骤(3);否则,令n
current
=n 1-j,并转步骤(5);
[0040]
(3)对点集及其对应的参数使用三次多项式拟合,得到计算拟合误差e
current
=max{||f
current
(ti)-pi||,i=j,j 1,

,j n
current-1};若e
current
《ε,则转步骤(4);否则,令n
current
=n
current-1,并转步骤(5);
[0041]
(4)若: n
current-1《n且n
current
《n
12x
,令n
current
=n
current
1,转(3);否则,转步骤(5);
[0042]
(5)输出一个子集合
[0043]
反向扫描流程为:
[0044]

初始化每一个子轨迹中刀位点数目的最大值n
max
和最小值n
min
,这里n
min
≥5,令n
current
=n
min

[0045]

若j-n
current
1≥0,则转步骤

;否则,令n
current
=j 1,并转步骤


[0046]

对点集及其对应的参数使用三次多项式拟合,得到使用三次多项式拟合,得到计算拟合误差e
current
=max{||f
current
(ti)-pi||,i=j-n
current
1,j-n
current
2

,j};若e
current
《ε,则转步骤

;否则,令n
current
=n
current-1,并转步骤


[0047]

若j-n
current
1》0且n
current
《n
max
,令n
current
=n
current
1,转步骤

;否则,转步骤


[0048]

输出一个子集合
[0049]
记正向扫描和反向扫描得到的两个子集合分别是和其中nb和nf分别是这两个子集合中点的个数;当j-nb 1》0且j-nf 1《n时,还会剩余有两个线性轨迹和
[0050]
当j-nb 2《n
max
时,q1被视为一个子集合,否则选择q1中曲率最大的点采用双向扫描
方案再次划分;
[0051]
当n-j-nf 2《n
max
时,q2被视为一个子集合,否则选择q2中曲率最大的点采用双向扫描方案再次划分;循环操作直到不存在这样的线性轨迹q1和q2时停止。
[0052]
优选的,所述步骤三中,对于优势点集合q中任意两个连续的优势点和之间,每次至多只增加一个优势点。
[0053]
在轨迹的全局光滑方案中,主要考虑轮廓误差的限制和轨迹的光滑性,其中轮廓误差指的是原始线性轨迹的轨迹离散点和拟合曲线之间的距离,为了保证加工精度,该距离不能超过一个给定的阈值。本发明使用3次b样条曲线拟合线性轨迹,从而达到g3连续性。首先基于局部三次多项式拟合和双向扫描方案,从轨迹离散点中选择一些能表示轨迹几何特征的优势点。然后根据选择出来的优势点,生成节点向量,并基于最小二乘方法计算控制点,从而得到初始的拟合b样条。最后使用基于牛顿法的拟合误差估计方案和基于拟合误差的优势点插入方案,迭代的修正拟合b样条,直到拟合精度达到要求时停止。
[0054]
本发明的有益效果在于:
[0055]
本发明采用离散点特征提取、线性轨迹的近似、样条曲线的迭代优化的方法,使用三次b样条曲线近似由连续微小线段表示的刀路轨迹,可以提升轨迹的光滑性,并最终提高加工效率。
[0056]
相比于其他轨迹光滑方案,在保持相同的精度的前提下,本发明方案中的样条曲线的控制点更少,数据量的减少导致内存消耗的减少,更有利于在数控系统之间的数据传输。此外,在曲率极值点的双向扫描提升了拟合方法的速度,有助于该轨迹光滑方案在数控系统里的实时实施。
附图说明
[0057]
图1是本发明基于优势点的线性刀轨的b样条拟合方法的流程图;
[0058]
图2是一个线性轨迹的示例图;
[0059]
图3是步骤一得到的优势点示意图;
[0060]
图4是步骤三更新后的优势点示意图;
[0061]
图5是最终拟合b样条曲线。
具体实施方式
[0062]
下面结合实施例来说明本发明的具体实施方式,但以下实施例只是用来详细说明本发明,并不以任何方式限制本发明的范围。
[0063]
实施例1:一种基于优势点的线性刀轨的b样条拟合方法,其流程图参见图1,本实施例以图2中的蝴蝶线性轨迹为例实施本发明的步骤,该线性轨迹包含1153个线段,由于该线性轨迹数据过多,这里给出第240到第270个点的坐标数据,参见下表1所示。
[0064]
表1:实施例1中的线性轨迹部分数据信息
[0065][0066][0067]
步骤一:基于局部三次多项式拟合和双向扫描方案的优势点选取。
[0068]
设给定的原始线性轨迹为p={p0,p1,

,pn},为了使用局部三次多项式拟合方法
选择优势点,首先要给每个刀位点赋上对应的参数值ti(i=0,1,

,n)。这里选用了累计弧长参数化方法,具体计算公式如下:
[0069][0070]
其中此外,由于曲率是一个重要的几何特征,这里采用离散方法计算刀位点pi(i=1,2,

,n-1)点对应的曲率ki,计算公式如下:
[0071][0072]
我们采用的方案是将原始线性轨迹分为多个连续的子轨迹,每一个子轨迹包含的刀位点都可以由一个三次多项式拟合,且拟合误差不超过给定的精度要求ε。先选择pi(i=1,2,

,n-1)中曲率ki最大的点pj为第一个分界点,然后根据双向扫描方案在点pj两侧各生成一个子轨迹。正向扫描的流程如下所示:
[0073]
(1)初始化每一个子轨迹中刀位点数目的最大值n
max
和最小值n
min
。考虑到任意四个离散点都可以由一个三次多项式插值,这里n
min
≥5。令n
current
=n
min

[0074]
(2)若j n
current-1≤n,则转(3);否则,令n
current
=n 1-j,并转(5)。
[0075]
(3)对点集及其对应的参数使用三次多项式拟合,得到计算拟合误差e
current
=max{||f
current
(ti)-pi||,i=j,j 1,

,j n
current-1}。若e
current
《ε,则转(4);否则,令n
current
=n
current-1,并转(5)。
[0076]
(4)若j n
current-1《n且n
current
《n
max
,令n
current
=n
current
1,转(3);否则,转(5)。
[0077]
(5)输出一个子集合
[0078]
反向扫描的流程如下所示:
[0079]

初始化每一个子轨迹中刀位点数目的最大值n
max
和最小值n
min
,这里n
min
≥5,令n
current
=n
min

[0080]

若j-n
current
1≥0,则转步骤

;否则,令n
current
=j 1,并转步骤


[0081]

对点集及其对应的参数使用三次多项式拟合,得到使用三次多项式拟合,得到计算拟合误差e
current
=max{||f
current
(ti)-pi||,i=j-n
current
1,j-n
current
2

,j};若e
current
《ε,则转步骤

;否则,令n
current
=n
current-1,并转步骤


[0082]

若j-n
current
1》0且n
current
《n
max
,令n
current
=n
current
1,转步骤

;否则,转步骤


[0083]

输出一个子集合
[0084]
记正向扫描和反向扫描得到的两个子集合分别是和其中nb和nf分别是这两个子集合中点的个数。当j-nb 1》0且j-nf 1《n时,还会剩余有两个线性轨迹和
当j-nb 2《n
max
时,q1被视为一个子集合,否则选择q1中曲率最大的点采用双向扫描方案再次划分。类似的,当n-j-nf 2《n
max
时,q2被视为一个子集合,否则选择q2中曲率最大的点采用双向扫描方案再次划分。这种循环操作直到不存在这样的线性轨迹q1和q2时停止。
[0085]
记p={p0,p1,

,pn}被划分为m 1个子集合,分别是合,分别是(j=1,2,

,m-1)和则p0,,和pn被选择为优势点。
[0086]
根据公式(1)和(2)计算出这些点对应的弧长参数和离散曲率如表1所示。可以看到第258个点的离散曲率最大,则以这个点为分界点实施双向扫描。给定每一个子集合中刀位点的数目的最大值n
max
=20和最小值n
min
=5,根据步骤一中的双向扫描方案,正向扫描中,第258至263个点可以由三次多项式以给定精度拟合,第258至264个点不可由三次多项式以给定精度拟合。反向扫描中,第251至258个点可以由三次多项式以给定精度拟合,第250至258个点不可由三次多项式以给定精度拟合。则得到两个子集是{p
251
,p
252
,

,p
258
}和{p
258
,p
259
,

,p
263
},剩余的线性轨迹为{p1,p2,

,p
251
}和{p
264
,p
265
,

,p
1154
}。按此规则循环,最终线性轨迹被不断的划分,最终得到105个子集合,则有106个优势点如图3所示。
[0087]
步骤二:节点矢量的生成和基于最小二乘理论的控制点计算。
[0088]
在步骤一中,一些优势点从刀位点中被选择出来,在步骤二中根据这些优势点拟合出初始b样条曲线记步骤一中选取出来的优势点集合为这些点对应的参数为vi(i=0,1,

,m 1)。初始b样条曲线的节点矢量u={u0,u1,

,u
m 7
}根据平均原则生成,具体计算公式如下:
[0089][0090]
之后基于最小二乘法计算控制点。以拟合误差的平方和最小为原则,得到如下的目标函数:
[0091][0092]
为了使拟合得到的b样条曲线经过线性轨迹的起点和终点,以下条件也需要被满足。
[0093]
b(0)=p0,b(1)=pnꢀꢀꢀꢀꢀꢀꢀ
(5)
[0094]
求解由(4)和(5)构成的线性最优化问题,可以解析的计算出控制点,从而确定了初始的拟合b样条曲线。
[0095]
步骤三:估计拟合误差,基于拟合误差插入新的优势点并修正拟合b样条。
[0096]
在步骤一和步骤二中给出初始的拟合b样条曲线b(u)。由于此时的拟合误差是否满足精度要求不能保证,需要修正初始的拟合b样条曲线。为了估算拟合误差,首先要估算每一个刀位点pi(i=0,1,

,n)在b(u)上的垂足的参数ufi,这里的垂足指的是b(u)上距离点pi最近的点。令ufi的初值采用牛顿法迭代的计算ufi。记给定的阈值为δ,当
时,根据下式更新参数值:
[0097][0098]
其中b'(u)和b”(u)为b(u)的一阶和二阶导数。直到errorj≤δ或者j大于设置的最大迭代次数时停止。每个刀位点pi的拟合误差ei=||p
i-b(ufi)||.
[0099]
当b(u)的拟合误差e=maxei大于给定的拟合精度μ时,一些新的优势点要被加入到q中。对于q中任意两个连续的优势点和至多只增加一个优势点。当i
j 1-ij≥2时,和之间存在刀位点若则一个新的优势点被加入到q中,且位于和之间。新的优势点的序号由下式计算:
[0100][0101]
当j从0遍历到m时,得到了一个新的优势点集合q。再根据步骤二计算节点矢量和控制点,并检查新的拟合b样条曲线的误差是否满足精度要求。这个循环过程直到拟合b样条曲线的拟合误差满足精度要求或循环次数达到给定最大值时停止。
[0102]
本实施例中,首先根据牛顿迭代法和公式(6)计算每个刀位点的拟合误差,当拟合b样条曲线的误差大于给定的精度要求μ=0.01mm时,根据公式(7)增加优势点,并再次生成拟合b样条曲线和检验误差。经过1次新的优势点插入操作后,生成拟合b样条曲线达到了精度要求。最终的优势点和拟合b样条曲线如图4和图5所示。
[0103]
上面结合实施例对本发明作了详细的说明,但是所属技术领域的技术人员能够理解,在不脱离本发明宗旨的前提下,还可以对上述实施例中的各个具体参数进行变更,形成多个具体的实施例,均为本发明的常见变化范围,在此不再一一详述。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献