数控加工方法和数控加工设备与流程

文档序号:27680235发布日期:2021-11-30 23:21阅读:80来源:国知局
数控加工方法和数控加工设备与流程

1.本发明涉及数控加工技术领域,特别是涉及一种数控加工方法和数控加工设备。


背景技术:

2.在数控机床加工中,自由曲线和自由曲面已经被广泛应用模具加工,汽车部件加工和航空部件加工中。但是自由曲线和曲面的快速高质量加工一直是加工中的难点。在现有的数控系统的自由曲线或曲面的加工中,一般是先由cam(computer-aidedmanufacturing,计算机辅助制造系统)软件用大量的微小线段来逼近所设计的自由曲线或曲面,然后,数控系统就按照直线插补方式(g01方式)加工cam软件逼近所设计的自由曲线或曲面而产生的大量的微小直线段。
3.采用cam软件处理时,若公差设置较大(如
±
0.03),则cam软件采用微小线段逼近所设计的自由曲线或者曲面效果较差,再按照g01方式加工,会导致加工的工件表面出现斜面、波纹、斑纹等,表面质量无法满足要求。若公差设置较小(如
±
0.001),cam软件生成的程序数据量非常大,会大量占用计算机资源。而且用于逼近自由曲面或者曲线的微小线段的长度太小,数控系统采用直线插补方式会导致各轴的加速度出现频繁变化,引起机床的振动,最终影响加工工件的表面质量。
4.中国专利cn101881952b公开了适用于数控装置的程序段平滑压缩处理方法,该方法虽然可避免程序段过渡处直线插补造成的工件表面凹凸不平,但加工精度并非精确可控。
5.因此,希望能够解决现有的数控加工用的微段平滑压缩处理方法的精度以及效率不能满足生产需要的问题。


技术实现要素:

6.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种数控加工方法和数控加工设备,用于解决现有技术中数控加工用的微段平滑压缩处理方法的精度以及效率不能满足生产需要的问题。
7.为实现上述目的及其他相关目的,本发明提供一种通信信号的数控加工方法,包括以下步骤:提供数控加工设备所需的加工程序曲线p0p
n
,所述加工程序曲线p0p
n
上包括至少两个微段指令点p
i
和p
j
;识别连续微段部分p
i p
j
;将所述连续微段部分p
i p
j
按照偏差范围内获取目标加工曲线:若所述连续微段部分p
i p
j
能平滑压缩成满足加工精度的样条曲线,即构成连续微段部分p
i p
j
对应的目标加工曲线;若连续微段部分p
i p
j
不能平滑压缩成满足加工精度的样条曲线,缩小j为k,直至连续微段部分p
i p
k
能平滑压缩成满足加工精度的样条曲线,即得到连续微段部分p
i p
k
对应的子目标加工曲线;再以同样的方式平滑压缩剩余微段部分p
k p
j
,以得到剩余微段部分p
k p
j
指令点对应的子目标加工曲线;将所有子目标加工曲线顺次连接得到连续微段部分p
i p
j
的目标加工曲线;其中,p
i
为加工程序曲线p0p
n
上任意微段指令点,i≤k<j≤m,均正整数。
8.于本发明的一实施例中,得到所述连续微段部分p
i p
j
的目标加工曲线后,所述数控加工设备按照所述目标加工曲线加工所述工件。
9.于本发明的一实施例中,所述识别连续微段部分p
i p
j
的方法包括:将所述加工程序曲线p0p
m
上相邻两微段指令点p
n
,p
n+1
之间的长度与预设的微段长度阈值d
max
进行比较,如果所述相邻两微段指令点之间的长度大于所述微段长度阈值d
max
,则将对应的两个两微段指令点p
n
,p
n-1
设置为连续微段的断开点;将相邻三个微段指令点p
n-1
,p
n
,p
n+1
形成的矢量角∠p
n-1
p
n
p
n+1
与预设的角度阈值进行比较,如果所述矢量角大于所述角度阈值,则将该矢量角的交点对应的编程点p
n
设置为连续微段的断开点;将起始点p0和与其相邻的断开点p
n
、终止点p
m
和与其相邻的断开点p
n+1
、或相邻的两断开点之间的连续微段部分识别为所述连续微段部分p
i p
j
,其中,n,m为正整数,且n<i≤m或者n<j≤m。
10.于本发明的一实施例中,将所述连续微段部分p
i p
j
平滑压缩成满足加工精度的样条曲线的步骤包括:获取与所述连续微段部分p
i p
j
上的微段指令点对应的节点矢量参数;通过所述连续微段部分p
i p
j
上连续4个微段指令点构造插值曲线来计算与这4个微段指令点对应的一阶切矢;根据所述连续微段部分p
i p
j
上的微段指令点,与所述微段指令点对应的节点矢量参数,和连续微段部分p
i p
j
上的连续4个微段指令点所对应的一阶切矢,将所述连续微段部分p
i p
j
压缩成一阶连续的平滑的样条曲线。
11.于本发明的一实施例中,所述获取节点矢量参数的方法包括:根据相邻两个微段指令点之间的弦长δp
i
与相邻三个微段指令点形成的矢量角∠p
i-1
p
i
p
i+1
来求取与微段指令点p
i
对应的节点矢量参数u
i

12.于本发明的一实施例中,通过所述连续微段部分p
i p
j
上连续4个微段指令点构造插值曲线来计算与这4个微段指令点对应的一阶切矢的步骤包括:根据连续微段指令点p
i-2
、p
i-1
、p
i
、p
i+1
、p
i+2
,以及各指令点所对应的节点矢量参数值u
i-2
、u
i-1
、u
i
、u
i+1
、u
i+2
,构造出分别通过连续4个所述微段指令点p
i-2
、p
i-1
、p
i
和p
i+1
的三次多项式插值曲线q
i-2
(u)和通过连续4个所述微段指令点p
i-1
、p
i
、p
i+1
和p
i+2
的三次多项式插值曲线q
i-1
(u);求取两条所述三次多项式插值曲线q
i-2
(u)、q
i-1
(u)在微段指令点p
i
处的一阶切矢q'
i-2
(u
i
)、q'
i-1
(u
i
);将所求得的微段指令点p
i
处的一阶切矢q'
i-2
(u)、q'
i-1
(u)的平均值作为微段指令点p
i
对应的一阶切矢值t
i

13.于本发明的一实施例中,所述将所述连续微段部分p
i p
j
压缩成所述满足加工精度的一阶连续的平滑的样条曲线的步骤包括:计算待平滑压缩的连续微段部分的起始点p
i
和终止点p
j
之间的曲线控制点g1和g2;获取曲线控制点g1和g2对应的拟合三次bezier曲线;根据加工误差调整所述曲线控制点g1和g2,以调整拟合三次bezier曲线,从而得到所述满足加工精度的一阶连续的平滑的样条曲线。
14.于本发明的一实施例中,所述计算微段指令点p
i
与p
j
之间的曲线控制点的方法包括:当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
共面时,则按照最小二乘法计算依次逼近微段指令点p
k
的曲线控制点g
k1
和g
k2
,其中,所述微段指令点p
k
为微段指令点p
i
与p
j
之间的微段指令点。
15.于本发明的一实施例中,所述计算微段指令点p
i
与p
j
之间的曲线控制点的方法包括:当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
不共面时,依次计算经过微段指令点p
k
的曲线控制点g
k1
的系数参数α和曲线控制点g
k2
的系数参数β;当α>0且β<0时,根
据系数参数α和β来计算曲线控制点g1和g2;当α≤0或β≥0时,则令j自减1,若j>i+1,根据系数参数α和β来计算曲线控制点g1和g2;若j=i+1,则直接计算控制点g1和g2。
16.于本发明的一实施例中,所述根据加工误差调整曲线控制点的步骤包括:当微段指令点p
i
与p
j
为非相邻微段指令点时,计算所求得的曲线控制点g
k1
和g
k2
的均值g1和g2;计算以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线的偏差δe;判断偏差δe是否小于预设偏差e,当所述偏差δe小于预设偏差e时,以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线作为所述满足加工精度的一阶连续的平滑的样条曲线;当偏差δe大于等于预设偏差e,则令j=j-1,再重新计算p
i
与p
j
之间的曲线控制点g1和g2。
17.于本发明的一实施例中,所述将所述连续微段部分p
i p
j
压缩成一阶连续的平滑的样条曲线的步骤中,当微段指令点p
i
与p
j
为相邻微段指令点时,即j=i+1时,直接计算曲线控制点g1和g2来获取拟合曲线c
t
(u),并将所述拟合曲线c
t
(u)作为连续微段p
i p
j
对应的目标曲线。
18.为实现上述目的,本发明还提供一种通信信号的数控加工设备,包括:加工程序曲线提供模块,适于提供数控加工设备所需的加工程序曲线p0p
n
,所述加工程序曲线p0p
n
上包括至少两个微段指令点p
i
;连续微段识别模块,适于识别连续微段部分p
i
p
j
;目标加工曲线模块,包括平滑压缩单元,所述平滑压缩单元适于将所述连续微段部分p
i
p
j
按照偏差范围内获取目标加工曲线:若所述连续微段部分p
i
p
j
能平滑压缩成满足加工精度的样条曲线,即构成连续微段部分p
i
p
j
对应的目标加工曲线;平滑压缩单元,适于在连续微段部分p
i
p
j
不能平滑压缩成满足加工精度的样条曲线时,缩小j为k,直至连续微段部分p
i
p
k
能平滑压缩成满足加工精度的样条曲线,即得到连续微段部分p
i
p
k
对应的子目标加工曲线;所述平滑压缩单元还适于再以同样的方式平滑压缩剩余微段部分p
k p
j
,以得到剩余微段部分p
k p
j
指令点对应的子目标加工曲线;目标加工曲线模块,还适于将所有子目标曲线顺次连接得到连续微段部分p
i
p
j
的目标加工曲线;其中,p
i
为加工程序曲线p0p
n
上任意微段指令点,i≤k<j≤m,均正整数。
19.于本发明的一实施例中,所述数控加工设备按照所述目标加工曲线加工所述工件。
20.于本发明的一实施例中,所述连续微段识别模块包括:长度比较单元,适于将所述加工程序曲线p0p
m
上相邻两微段指令点p
n
,p
n+1
之间的长度与预设的微段长度阈值d
max
进行比较,如果所述相邻两微段指令点之间的长度大于所述微段长度阈值d
max
,则将对应的两个两微段指令点p
n
,p
n-1
设置为连续微段的断开点;角度比较单元,适于将相邻三个微段指令点p
n-1
,p
n
,p
n+1
形成的矢量角∠p
n-1
p
n
p
n+1
与预设的角度阈值进行比较,如果所述矢量角大于所述角度阈值,则将该矢量角的交点对应的微段指令点p
n
设置为连续微段的断开点;识别单元,适于将起始/终止点和相邻断点或者相邻两断开点之间的连续微段部分识别为所述连续微段部分p
i
p
j
起始点p0和与其相邻的断开点p
n
、终止点p
m
和与其相邻的断开点p
n+1
、或相邻的两断开点之间的连续微段部分识别为所述连续微段部分p
i
p
j
,其中,n,m为正整数,且n<i≤m或者n<j≤m。
21.于本发明的一实施例中,所述平滑压缩单元包括:节点矢量参数组件,适于获取与所述连续微段部分p
i
p
j
上的微段指令点对应的节点矢量参数;一阶切矢组件,适于通过所述连续微段部分p
i
p
j
上连续4个微段指令点构造插值曲线来计算与这4个微段指令点对应的一
阶切矢;样条曲线生成组件,根据所述连续微段部分p
i
p
j
上的微段指令点,与所述微段指令点对应的节点矢量参数,和连续微段部分p
i
p
j
上的连续4个微段指令点所对应的一阶切矢,将所述连续微段部分p
i
p
j
压缩成一阶连续的平滑的样条曲线。
22.于本发明的一实施例中,所述节点矢量参数组件适于根据相邻两个微段指令点之间的弦长δp
i
与相邻三个微段指令点形成的矢量角∠p
i-1
p
i
p
i+1
来求取与微段指令点p
i
对应的节点矢量参数u
i

23.于本发明的一实施例中,所述一阶切矢组件包括:两次三项式插值曲线部件,适于根据连续微段指令点p
i-2
、p
i-1
、p
i
、p
i+1
、p
i+2
,以及各指令点所对应的节点矢量参数值u
i-2
、u
i-1
、u
i
、u
i+1
、u
i+2
,构造出分别通过连续4个所述微段指令点p
i-2
、p
i-1
、p
i
和p
i+1
的三次多项式插值曲线q
i-2
(u)和通过连续4个所述微段指令点p
i-1
、p
i
、p
i+1
和p
i+2
的三次多项式插值曲线q
i-1
(u);微段指令点一阶切矢部件,适于求取两条所述三次多项式插值曲线q
i-2
(u)、q
i-1
(u)在微段指令点p
i
处的一阶切矢q'
i-2
(u
i
)、q'
i-1
(u
i
);一阶切矢平均值部件,适于将所求得的微段指令点p
i
处的一阶切矢q'
i-2
(u)、q'
i-1
(u)的平均值作为微段指令点p
i
对应的一阶切矢值t
i

24.于本发明的一实施例中,所述样条曲线生成组件包括:控制点计算单元,适于计算待平滑压缩的连续微段部分的起始点p
i
和终止点p
j
之间的曲线控制点g1和g2;bezier曲线获取单元,适于获取与曲线控制点g1和g2对应的拟合三次bezier曲线;加工误差控制部件,适于根据加工误差让所述控制点计算单元调整所述曲线控制点g1和g2,以调整拟合三次bezier曲线,从而得到所述满足加工精度的一阶连续的平滑的样条曲线。
25.于本发明的一实施例中,所述控制点计算单元包括:第一计算部件,适于当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
共面时,按照最小二乘法计算依次逼近微段指令点p
k
的曲线控制点g
k1
和g
k2
,其中,微段指令点p
k
为微段指令点p
i
与p
j
之间的微段指令点。
26.于本发明的一实施例中,所述曲线控制点计算单元包括:控制点系数计算单元,适于当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
不共面时,依次计算经过微段指令点p
k
的曲线控制点g
k1
的系数参数α和曲线控制点g
k2
的系数参数β;第二计算部件,适于当α>0且β<0时,根据系数参数α和β来计算曲线控制点g1和g2;第三计算部件,适于当α≤0或β≥0时,所述压缩单元适于令j自减1,则令j自减1,若j>i+1,根据系数参数α和β来计算曲线控制点g1和g2;若j=i+1,则直接计算控制点g1和g2。
27.于本发明的一实施例中,所述加工误差控制部件包括:控制点均值计算单元,适于当微段指令点p
i
与p
j
为非相邻微段指令点时,计算所求得的曲线控制点g
k1
和g
k2
的均值g1和g2;偏差计算单元,适于计算以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线的偏差δe;调整单元,适于当偏差δe小于预设偏差e时,以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线作为所述满足加工精度的一阶连续的平滑的样条曲线;当偏差δe大于等于预设偏差e,采用第四曲线控制点计算部件,所述第四曲线控制点计算部件适于令j=j-1,再重新计算p
i
与p
j
之间的曲线控制点g1和g2。
28.于本发明的一实施例中,所述平滑压缩单元还包括第五曲线控制点计算部件,所述第五曲线控制点计算部件适于在微段指令点p
i
与p
j
为相邻微段指令点时,即j=i+1时,直接计算曲线控制点来获取拟合曲线c
t
(u),并将所述拟合曲线c
t
(u)作为连续微段p
i p
j
对应
的目标曲线。
29.如上所述,本发明的一种数控加工方法和数控加工设备,具有以下有益效果:能提在精度范围内平滑加工轨迹。
附图说明
30.图1为本发明数控加工方法的于一实施例中的程序流程图;
31.图2a为本发明数控加工方法的于一实施例中的连续微段判断图(一);
32.图2b为本发明数控加工方法的于又一实施例中的连续微段判断图(二);
33.图3为本发明数控加工方法的于一实施例中的连续微段目标曲线拟合流程图;
34.图4a为本发明数控加工方法的于一实施例中的控制点计算示意图(一);
35.图4b为本发明数控加工方法的于又一实施例中的控制点计算示意图(二);
36.图5为本发明数控加工方法的于一实施例中的仿真效果图;
37.图6a为没有使用本发明数控加工方法的工件加工表面;
38.图6b为使用本发明数控加工方法的工件加工表面;
39.图7为本发明数控加工系统的于一实施例中的结构示意图。
40.元件标号说明
41.71
ꢀꢀꢀꢀꢀꢀꢀ
加工程序曲线提供模块
42.72
ꢀꢀꢀꢀꢀꢀꢀ
连续微段识别模块
43.73
ꢀꢀꢀꢀꢀꢀꢀ
目标加工曲线模块
具体实施方式
44.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
45.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,故图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
46.本发明的数控加工方法和数控加工设备,用于提供精度以及效率都能满足生产需要的数控加工用微段平滑压缩处理方法。
47.如图1所示,本发明方法包括以下步骤:
48.步骤(一)连续微段识别:通过待加工线段的长度和线段之间的矢量角信息识别工件需要平滑压缩的部分形状。
49.步骤(二)节点矢量参数化:对需要平滑压缩的连续微段部分,结合长度和角度的关系对编程点进行参数化,获取和编程点对应的节点矢量参数。
50.步骤(三)一阶切矢求解:采用四点构造法求解一阶切矢,通过连续的4个编程点构造三次多项式,求解对应点的一阶切矢。
51.步骤(四)精度要求内平滑压缩程序段:根据待平滑压缩的连续微段编程点指令值和对应的一阶切矢,将编程点描述的折线轨迹压缩成一条一阶连续的平滑曲线;检验编程点到对应样条点(编程点计算所得的节点矢量参数值对应的样条曲线值)之间的欧氏距离是否满足加工精度,对不满足要求的样条曲线,调整样条曲线的控制点来进行误差控制。
52.本发明的通信信号的数控加工方法,包括以下步骤:
53.步骤100、提供数控加工设备所需的加工程序曲线p0p
n
,所述加工程序曲线p0p
n
上包括至少两个微段指令点p
i
和p
j

54.步骤200、识别连续微段部分p
i p
j

55.步骤300、将所述连续微段部分p
i p
j
按照偏差范围内获取目标加工曲线。
56.具体地,若所述连续微段部分p
i p
j
能平滑压缩成满足加工精度的样条曲线,即构成连续微段部分p
i p
j
对应的目标加工曲线。
57.若连续微段部分p
i p
j
不能平滑压缩成满足加工精度的样条曲线,缩小j为k,直至连续微段部分p
i p
k
能平滑压缩成满足加工精度的样条曲线,即得到连续微段部分p
i p
k
对应的子目标加工曲线。
58.步骤400、再以同样的方式平滑压缩剩余微段部分p
k p
j
,以得到剩余微段部分p
k p
j
指令点对应的子目标加工曲线。
59.步骤500、将所有子目标加工曲线顺次连接得到连续微段部分p
i p
j
的目标加工曲线。
60.具体地,其中,p
i
为加工程序曲线p0p
n
上任意微段指令点,i≤k<j≤m,均正整数。
61.以下以具体实施例对本发明所提供的数控加工方法的实施方式做详细阐述,需要阐述的是,本领域的技术人员均能理解,以下实施方式并不构成对本发明可实施范围的具体限定,在其它类似加工环境或者采用其它类似的设备或者类似的方法中均在本发明的保护范围之内。
62.其中,在具体的实施方式中,所述数控加工设备可以是数控车床、立式加工中心或者五轴联动机床等等。
63.步骤100、提供数控加工设备所需的加工程序曲线p0p
n
,所述加工程序曲线p0p
n
上包括至少两个微段指令点p
i
和p
j

64.具体地,采用绘图软件形成的加工图纸。一般的,二维图形可以由cad形成、三维图形可以由pro/e、inventor、solidworks等软件形成。需要加工的曲线为二维工件图形的轮廓或三维工件图形的剖面图形的轮廓。
65.所述加工程序曲线为计算机辅助制造软件根据加工图纸,对图纸中的需要加工的自由曲面的曲线进行微小线段分化的曲线。所述微段指令点为将所述加工程序曲线细分为微小线段(下文称“微段”)的点。
66.步骤200、识别连续微段部分p
i p
j

67.其中,所述步骤200中识别连续微段部分p
i p
j
的方法包括:
68.执行步骤201:将所述加工程序曲线p0p
m
上相邻两微段指令点p
n
,p
n+1
之间的长度与预设的微段长度阈值d
max
进行比较,如果所述相邻两微段指令点之间的长度大于所述微段长度阈值d
max
,则将对应的两个两微段指令点p
n
,p
n-1
设置为连续微段的断开点。
69.如图2a所示,以其为例,说明连续微段的判断方法。程序段p
i-1
p
i
和p
i+6
p
i+7
长度大
于系统设置的微段长度d
max
(本实施例中为d
max
=2mm),程序段p
i
p
i+1
、p
i+1
p
i+2
、p
i+2
p
i+3
、p
i+3
p
i+4
、p
i+4
p
i+5
、p
i+5
p
i+6
和p
i+6
p
i+7
长度均小于微段长度d
max
。程序段p
i
p
i+1
、p
i+1
p
i+2
、p
i+2
p
i+3
、p
i+3
p
i+4
、p
i+4
p
i+5
和p
i+5
p
i+6
中,除了程序段p
i+2
p
i+3
和p
i+3
p
i+4
的矢量角θ
i+3
大于系统设置的最大转角θ
max
(本实施例中θ
max
=30
°
),其他都小于θ
max
。此时,推断程序段p
i
p
i+1
、p
i+1
p
i+2
、p
i+2
p
i+3
为连续微段;程序段p
i+3
p
i+4
、p
i+4
p
i+5
、p
i+5
p
i+6
为连续微段。
70.执行步骤202:将相邻三个微段指令点p
n-1
,p
n
,p
n+1
形成的矢量角∠p
n-1
p
n
p
n+1
与预设的角度阈值进行比较,如果所述矢量角大于所述角度阈值,则将该矢量角的交点对应的编程点p
n
设置为连续微段的断开点。
71.如图2b所示,程序段p
i-1
p
i
和p
i+6
p
i+7
长度大于系统设置的微段长度d
max
,程序段p
i
p
i+1
、p
i+1
p
i+2
、p
i+2
p
i+3
、p
i+3
p
i+4
、p
i+4
p
i+5
、p
i+5
p
i+6
和p
i+6
p
i+7
长度均小于微段长度d
max
。程序段p
i
p
i+1
、p
i+1
p
i+2
、p
i+2
p
i+3
、p
i+3
p
i+4
、p
i+4
p
i+5
和p
i+5
p
i+6
中,除了直线段p
i+2
p
i+3
、p
i+3
p
i+4
的矢量角θ
i+3
和直线段p
i+3
p
i+4
、p
i+4
p
i+5
的矢量角θ
i+4
大于系统设置的最大转角θ
max
,其他都小于θ
max
。此时,推断程序段p
i
p
i+1
、p
i+1
p
i+2
、p
i+2
p
i+3
为连续微段;程序段p
i+4
p
i+5
、p
i+5
p
i+6
为连续微段。
72.执行步骤203:将起始点p0和与其相邻的断开点p
n
、终止点p
m
和与其相邻的断开点p
n+1
、或相邻的两断开点之间的连续微段部分识别为所述连续微段部分p
i p
j
,其中,n,m为正整数,且n<i≤m或者n<j≤m。
73.在cnc程序中,由cam系统生成的不规则程序段中,需要精确加工的部分往往有长度较大的程序段或者角度变化尖锐的特点;可以连续平滑压缩的部分往往有长度较短且角度变化平缓的特点。
74.通过待加工线段的长度和线段之间的矢量角对cnc程序中的连续微段进行识别。通过连续微段识别,判断出cnc中的程序段是否需要进行平滑压缩处理。非连续微段部分不进行平滑压缩处理;连续微段部分进行平滑压缩处理:将连续微段处理成一条连续平滑的路径,且处理后的路径和原始路径满足一定的偏差范围。
75.具体的,根据实践经验,优选的,所述预设的微段长度阈值d
max
为0mm~2mm。预设的角度阈值为为0
°
~30
°

76.步骤300、将所述连续微段部分p
i p
j
按照偏差范围内获取目标加工曲线。
77.具体地,若所述连续微段部分p
i p
j
能平滑压缩成满足加工精度的样条曲线,即构成连续微段部分p
i p
j
对应的目标加工曲线。
78.若连续微段部分p
i p
j
不能平滑压缩成满足加工精度的样条曲线,缩小j为k,直至连续微段部分p
i p
k
能平滑压缩成满足加工精度的样条曲线,即得到连续微段部分p
i p
k
对应的子目标加工曲线。
79.具体地,所述将所述连续微段部分p
i p
j
平滑压缩成满足加工精度的样条曲线的步骤包括:
80.步骤310:获取与所述连续微段部分p
i p
j
上的微段指令点对应的节点矢量参数。
81.所述获取节点矢量参数的方法包括:
82.根据相邻两个微段指令点之间的弦长δp
i
与相邻三个微段指令点形成的矢量∠p
i-1
p
i
p
i+1
来求取与微段指令点p
i
对应的节点矢量参数u
i

83.节点矢量参数u
i
按照如下公式计算:
[0084][0085]
其中
[0086][0087][0088]
其中,u
i
(i=1,2,
···
,n)为参数值,|δp
i
|,i=1,2,
···
,n-1为相邻两编程点(x
i
,y
i
,z
i
)和(x
i+1
,y
i+1
,z
i+1
)间的欧氏距离,∠p
i-1
p
i
p
i+1
为矢量p
i-1
p
i
和p
i
p
i+1
形成的矢量角。
[0089]
执行步骤320:通过所述连续微段部分p
i p
j
上连续4个微段指令点构造插值曲线来计算与这4个微段指令点对应的一阶切矢,包括:
[0090]
根据连续微段指令点p
i-2
、p
i-1
、p
i
、p
i+1
、p
i+2
,以及各指令点所对应的节点矢量参数值u
i-2
、u
i-1
、u
i
、u
i+1
、u
i+2
,构造出分别通过连续4个所述微段指令点p
i-2
、p
i-1
、p
i
和p
i+1
的三次多项式插值曲线q
i-2
(u)和通过连续4个所述微段指令点p
i-1
、p
i
、p
i+1
和p
i+2
的三次多项式插值曲线q
i-1
(u);
[0091]
求取两条所述三次多项式插值曲线q
i-2
(u)、q
i-1
(u)在微段指令点p
i
处的一阶切矢q'
i-2
(u
i
)、q'
i-1
(u
i
);
[0092]
将所求得的微段指令点p
i
处的一阶切矢q'
i-2
(u)、q'
i-1
(u)的平均值作为微段指令点p
i
对应的一阶切矢值t
i

[0093]
cnc加工程序大量的g01指令描述待加工工件形状,程序中不含有编程点的一阶切矢值,需要通过编程点和前后两点来确定编程点的一阶切矢。具体的,本实施例中,一阶切矢求解的具体过程如下:
[0094]
编程点为p
i
和与其连续的前后两个编程点为p
i-2
、p
i-1
、p
i+1
、p
i+2
,对应的节点矢量参数为u
i-2
、u
i-1
、u
i
、u
i+1
、u
i+2
,可以构造出两条三次多项式插值曲线分别通过4个连续的编程点p
i-2
、p
i-1
、p
i
和p
i+1
以及p
i-1
、p
i
、p
i+1
和p
i+2

[0095]
q
i-2
(u)=a
i-2
+b
i-2
u+c
i-2
u2+d
i-2
u3,u∈[u
i-2
,u
i+1
]
[0096]
q
i-1
(u)=a
i-1
+b
i-1
u+c
i-1
u2+d
i-1
u3,u∈[u
i-1
,u
i+2
]
[0097]
求取两条插值曲线q
i-2
(u)、q
i-1
(u)在编程点p
i
处的一阶切矢q'
i-2
(u
i
)、q'
i-1
(u
i
);具体的,以上两个三次多项式通过连续的4个编程点,对应系数a
i-2
、b
i-2
、c
i-2
、d
i-2
以及a
i-1
、b
i-1
、c
i-1
、d
i-1
满足下面公式:
[0098][0099][0100]
将编程点p
i-2
、p
i-1
、p
i
、p
i+1
和p
i+2
的坐标值和对应的节点矢量参数值u
i-2
、u
i-1
、u
i
、u
i+1
和u
i+2
带入上述等式,可得到三次多项式曲线q
i-2
(u)和q
i-1
(u)的系数a
i-2
、b
i-2
、c
i-2
、d
i-2
以及a
i-1
、b
i-1
、c
i-1
、d
i-1
。两条三次多项式曲线在编程点p
i
处的一阶切矢分别为:
[0101]
q'
i-2
(u
i
)=b
i-2
+2c
i-2
u
i
+3d
i-2
u
i2
[0102]
q'
i-1
(u
i
)=b
i-1
+2c
i-1
u
i
+3d
i-1
u
i2
[0103]
将所求得的编程点p
i
处的一阶切矢q'
i-2
(u
i
)、q'
i-1
(u
i
)的平均值作为编程点p
i
对应的一阶切矢值t
i

[0104]
为使得计算得到的一阶切矢和程序平滑压缩获取曲线的一阶切矢阶接近,取两条三次多项式在编程点p
i
处的一阶切矢的平均值作为编程点的一阶切矢量,记为t
i
,按照如下公式确定:
[0105][0106]
连续微段最前面和最后面两个编程点的一阶切矢通过下面公式确定:
[0107][0108]
步骤330:根据所述连续微段部分p
i p
j
上的微段指令点,与所述微段指令点对应的节点矢量参数,和连续微段部分p
i p
j
上的连续4个微段指令点所对应的一阶切矢,将所述连续微段部分p
i p
j
压缩成一阶连续的平滑的三次bezier曲线,由p1p2,p2p3,

,p
n-1
p
n
组成的连续微段,拟合成的目标曲线其中c
t
(u)为三次bezier曲线。
[0109]
所述将所述连续微段部分p
i p
j
压缩成所述满足加工精度的一阶连续的平滑的样条曲线的步骤包括:对程序段p1p2,p2p3,

,p
n-1
p
n
组成的连续微段,压缩成满足加工精度多段三次bezier曲线c
t
(u)包括控制点计算和加工误差控制,包括:
[0110]
执行步骤331:计算待平滑压缩的连续微段部分的起始点p
i
和终止点p
j
之间的曲线控制点g1和g2。
[0111]
所述计算微段指令点p
i
与p
j
之间的曲线控制点的方法包括:
[0112]
当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
共面时,则按照最小二乘法计算依次逼近微段指令点p
k
的曲线控制点g
k1
和g
k2
,其中,所述微段指令点p
k
为微段指令点p
i
与p
j
之间的微段指令点。
[0113]
例如,假设微段指令点为p
i
和p
j
,对应的一阶切矢为t
i
和t
j
,曲线c
t
(u)为曲线s(u)在编程点p
i
和p
j
之间的曲线段,p
k
,k∈(i j)为在编程点p
i
和p
j
之间的编程点。
[0114]
可以按照以下步骤计算通过微段指令点起点p
i
、终点p
j
和中间点p
k
的三次beizer曲线的另外2个控制点g
k1
和g
k2

[0115]

计算平面π与经过p
k
并平行于t
j
的直线的交点p
d

[0116]

计算直线p
i p
j
与经过p
d
并平行于t
i
的直线的交点p
c

[0117]

计算另外2个beizer曲线的控制点g
k1
和g
k2

[0118][0119][0120]
所述计算微段指令点p
i
与p
j
之间的曲线控制点的方法包括:
[0121]
当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
不共面时,依次计算经过微段指令点p
k
的曲线控制点g
k1
的系数参数α和曲线控制点g
k2
的系数参数β;
[0122]
当α>0且β<0时,根据系数参数α和β来计算曲线控制点g1和g2;
[0123]
例如,可以按照以下步骤计算通过微段指令点起点p
i
、终点p
j
和中间点p
k
的三次beizer曲线的另外2个控制点:
[0124]

均一化弦长参数u
i
~u
j

[0125]

根据下式用最小二乘法求解未知数α和β:
[0126]
(3s2tt
i
)α+(3t2st
j
)β=p
k-(s3+3s2t)p
i-(t3+3t2s)p
j
[0127]
s(s-2t)(t
k
×
t
i
)α+t(2s-t)(t
k
×
t
j
)β=2st(t
k
×
(p
i-p
j
))
[0128]
其中,t
k
为编程点p
k
对应的一阶切矢,s和t按照如下公式确定:
[0129][0130][0131]

检查是否α>0和β<0,若成立,则计算:
[0132]
g
k1
=p
i
+αt
i
[0133]
g
k2
=p
j
+βt
j
[0134]
当α≤0或β≥0时,则令j自减1,若j>i+1,根据系数参数α和β来计算曲线控制点g1和g2;若j=i+1,则直接计算控制点g1和g2.
[0135]
所述根据加工误差调整曲线控制点的步骤包括:
[0136]
当微段指令点p
i
与p
j
为非相邻微段指令点时,计算所求得的曲线控制点g
k1
和g
k2
的均值g1和g2;
[0137][0138][0139]
其中,k
i
为该段曲线的起始点对应的系统编号值;k
j
为该段曲线的结束点对应的系统编号值。
[0140]
计算以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线的偏差δe;
[0141]
判断偏差δe是否小于预设偏差e;
[0142]
偏差例如可以按照下面公式确定:
[0143][0144]
其中,为u
k
所对应编程点指令值;为u
k
在样条曲线c
t
(u)的函数值。
[0145]
当所述偏差δe小于预设偏差e时,以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线作为所述满足加工精度的一阶连续的平滑的样条曲线;
[0146]
当偏差δe大于等于预设偏差e,则令j=j-1,再重新计算p
i
与p
j
之间的曲线控制点g1和g2。
[0147]
例如,求解控制点的方法可以如下所示:
[0148]
建立二次方程记为:aα2+bα+c=0其中:
[0149]
a=16-|t
i
+t
j
|2[0150]
b=12(p
j-p
i
)
·
(t
i
+t
j
)
[0151]
c=-36|p
j-p
i
|2[0152]
根据求根公式求得参数系数:
[0153]
可以求得控制点:
[0154][0155][0156]
步骤332:获取曲线控制点g1和g2对应的拟合三次bezier曲线;
[0157]
步骤333:根据加工误差调整所述曲线控制点g1和g2,以调整拟合三次bezier曲线,从而得到所述满足加工精度的一阶连续的平滑的样条曲线。
[0158]
步骤400、再以同样的方式平滑压缩剩余微段部分p
k p
j
,以得到剩余微段部分p
k p
j
指令点对应的子目标加工曲线。
[0159]
具体地,以重复步骤300的方式平滑压缩剩余微段部分p
k p
j
,以得到剩余微段部分p
k p
j
指令点对应的子目标加工曲线。
[0160]
具体地,若所述连续微段部分p
k p
j
能平滑压缩成满足加工精度的样条曲线,即构成连续微段部分p
k p
j
对应的目标加工曲线;
[0161]
若连续微段部分p
k p
j
不能平滑压缩成满足加工精度的样条曲线,缩小j为f,直至
连续微段部分p
k p
f
能平滑压缩成满足加工精度的样条曲线,即得到连续微段部分p
k p
f
对应的子目标加工曲线;
[0162]
再以同样的方式平滑压缩剩余微段部分p
f p
j
,以得到剩余微段部分p
f p
j
指令点对应的子目标加工曲线。
[0163]
步骤500、将所有子目标加工曲线顺次连接得到连续微段部分p
i
p
j
的目标加工曲线。
[0164]
具体地,其中,p
i
为加工程序曲线p0p
n
上任意微段指令点,i≤k<j≤m,均正整数。
[0165]
所述将所述连续微段部分p
i p
j
压缩成一阶连续的平滑的样条曲线的步骤中,当微段指令点p
i
与p
j
为相邻微段指令点时,即j=i+1时,直接计算曲线控制点g1和g2来获取拟合曲线c
t
(u),并将所述拟合曲线c
t
(u)作为连续微段p
i p
j
对应的目标曲线。
[0166]
本发明方法包括以下步骤:
[0167]
步骤(一)连续微段识别:通过待加工线段的长度和线段之间的矢量角信息识别工件需要平滑压缩的部分形状。
[0168]
步骤(二)节点矢量参数化:对需要平滑压缩的连续微段部分,结合长度和角度的关系对编程点进行参数化,获取和编程点对应的节点矢量参数。
[0169]
步骤(三)一阶切矢求解:采用四点构造法求解一阶切矢,通过连续的4个编程点构造三次多项式,求解对应点的一阶切矢。
[0170]
步骤(四)精度要求内平滑压缩程序段:根据待平滑压缩的连续微段编程点指令值和对应的一阶切矢,将编程点描述的折线轨迹压缩成一条一阶连续的平滑曲线;检验编程点到对应样条点(编程点计算所得的节点矢量参数值对应的样条曲线值)之间的欧氏距离是否满足加工精度,对不满足要求的样条曲线,调整样条曲线的控制点来进行误差控制。
[0171]
本发明方法步骤(一)中,连续微段识别具体过程如下:
[0172]
识别连续微段部分p
i p
j

[0173]
将所述连续微段部分p
i p
j
按照偏差范围内获取目标加工曲线:
[0174]
若所述连续微段部分p
i p
j
能平滑压缩成满足加工精度的样条曲线,即构成连续微段部分p
i p
j
对应的目标加工曲线。
[0175]
若连续微段部分p
i p
j
不能平滑压缩成满足加工精度的样条曲线,缩小j为k,直至连续微段部分p
i p
k
能平滑压缩成满足加工精度的样条曲线,即得到连续微段部分p
i p
k
对应的子目标加工曲线。
[0176]
本发明方法步骤(二)中,节点矢量参数化具体过程如下:
[0177]
将p1p2,p2p3,

,p
n-1
p
n
组成的连续微段拟合成由多段三次beizer曲线c
t
(u)构成的目标曲线s(u),c
t
(u)为目标曲线s(u)在编程点p
i
与p
j
之间的一段三次beizer曲线。需要对编程点p
i
(也就是微段指令点)进行参数化,根据编程点之间的长度关系和角度关系获取每个编程点p
i
对应的节点矢量参数值u
i
,按照如下公式进行参数化:
[0178]
如图3所示,本发明步骤(四)中按照偏差范围内获取三次bezier曲线c
t
(u)的具体过程如下:
[0179]

读入连续微段p
i
(1≤i≤n),及对应的一阶切矢t
i
(1≤i≤n);
[0180]

令i=1,j=n;
[0181]

判断是否j=i+1,即判断p
i
、p
j
是否为相邻两点(即相邻微段指令点),若j>i+1,
即p
i
、p
j
不为相邻编程点(即非相邻微段指令点),进入以下步骤:
[0182]

判断p
i
、p
j
、t
i
、t
j
是否共面。若共面,按照最小二乘法计算依次逼近p
k
(i<k<j)的曲线控制点g
k1
和g
k2
;若不共面,则进入以下步骤:
[0183]

依次计算逼近点p
k
(i<k<j)的曲线控制点g
k1
和g
k2
系数参数α和β,若不满足α>0且β<0条件,则令j=j-1,返回步骤

;否则进入以下步骤:
[0184]

计算控制点g
k1
和g
k2
的均值g1和g2,若满足偏差要求e,则p
i
、p
j
之间的直线段用由p
i
、g1、g2和p
j
为4个控制点的三次beizer曲线替代;令i=j,j=n,返回步骤

;否则,令j=j-1,返回步骤


[0185]
本发明步骤(四)中的控制点计算的具体过程如下:
[0186]
1.若j=i+1,直接拟合成样条曲线,求解控制点的方法如下:
[0187]
建立二次方程记为:aα2+bα+c=0其中:
[0188]
a=16-|t
i
+t
j
|2[0189]
b=12(p
j-p
i
)
·
(t
i
+t
j
)
[0190]
c=-36|p
j-p
i
|2[0191]
根据求根公式求得参数系数:
[0192]
可以求得控制点:
[0193][0194][0195]
2.若j>i+1:
[0196]
假设编程点为p
i
和p
j
,对应的一阶切矢为t
i
和t
j
,曲线c
t
(u)为曲线s(u)在编程点p
i
和p
j
之间的曲线段,p
k
,k∈(i j)为在编程点p
i
和p
j
之间的编程点。
[0197]
计算通过或逼近编程点起点p
i
、终点p
j
和中间的编程点p
k
,k∈(i j)的三次beizer曲线的另外2个控制点的具体过程如下:
[0198]
1)t
j
在由p
i
、p
j
、t
i
定义的平面π内
[0199]
如图4a所示,求解过程如下:
[0200]
a)计算平面π与经过p
k
并平行于t
j
的直线的交点p
d

[0201]
b)计算直线p
i p
j
与经过p
d
并平行于t
i
的直线的交点p
c

[0202]
c)计算另外2个beizer曲线的控制点g
k1
和g
k2

[0203][0204][0205]
2)t
j
不在由p
i
、p
j
、t
i
定义的平面π内
[0206]
如图4b所示,求解过程如下:
[0207]
a)均一化弦长参数u
i
~u
j

[0208]
b)根据下式用最小二乘法求解未知数α和β:
[0209]
(3s2tt
i
)α+(3t2st
j
)β=p
k-(s3+3s2t)p
i-(t3+3t2s)p
j
[0210]
s(s-2t)(t
k
×
t
i
)α+t(2s-t)(t
k
×
t
j
)β=2st(t
k
×
(p
i-p
j
))
[0211]
其中,t
k
为编程点p
k
对应的一阶切矢,s和t按照如下公式确定:
[0212][0213][0214]
c)检查是否α>0和β<0,若成立,则计算
[0215]
g
k1
=p
i
+αt
i
[0216]
g
k2
=p
j
+βt
j
[0217]
若不成立,则令j自减1,回到步骤

重新计算曲线控制点。
[0218]
本发明步骤(四)中,若j>i+1时,需要进一步判断加工误差是否满足要求。加工误差计算具体过程如下:
[0219]
根据前述所求得的控制点g
k1
和g
k2
,按照如下公式求均值
[0220][0221][0222]
其中,k
i
为该段曲线的起始点对应的系统编号值;k
j
为该段曲线的结束点对应的系统编号值。
[0223]
候选的三次bezier曲线c
t
(u)由控制点由p
i
、g1、g2和p
j
所定义。拟合曲线的偏差计算按照下面公式确定:
[0224][0225]
其中,为u
k
所对应的系统指令值;为uk在样条曲线c
t
(u)上所对应的样条曲线。
[0226]
若偏差在预设范围e内,则用由控制点由p
i
、g1、g2和p
j
所定义三次bezier曲线c
t
(u)代替p
i
、p
j
之间的直线段;若不满足要求,则令j=j-1,回到步骤

重新计算曲线控制点。
[0227]
本发明步骤(四)中在精度要求范围内平滑压缩程序段是:根据连续微段的编程点对应的指令值p
i
、节点矢量参数值u
i
以及一阶切矢值t
i
,将p1p2,p2p3,

,p
n-1
p
n
组成的连续微段拟合成由多段三次beizer曲线c
t
(u)构成的目标曲线s(u),c
t
(u)为目标曲线s(u)在编程点p
i
与p
j
之间的一段三次beizer曲线,其中,将编程点p
i
与p
j
之间的连续微段平滑压缩成曲线c
t
(u)包括以下步骤:
[0228]
步骤(四一)计算编程点p
i
与p
j
之间的曲线控制点g1和g2以获取拟合曲线;
[0229]
步骤(四二)根据曲线控制点g1和g2进行加工误差控制以调整拟合曲线。
[0230]
其中,在步骤(四一)中,所述计算编程点p
i
与p
j
之间的曲线控制点以获取拟合曲线
包括以下步骤:
[0231]
步骤(四一一)判断编程点p
i
与p
j
是否为非相邻编程点;
[0232]
步骤(四一二)如果编程点p
i
与p
j
为非相邻编程点,记编程点p
k
为编程点p
i
与p
j
之间的编程点,判断p
i
、p
j
、t
i
、t
j
是否共面,若共面,则按照最小二乘法计算逼近编程点p
k
的曲线控制点g
k1
和g
k2

[0233]
例如,假设编程点为p
i
和p
j
,对应的一阶切矢为t
i
和t
j
,曲线c
t
(u)为曲线s(u)在编程点p
i
和p
j
之间的曲线段,p
k
,k∈(i j)为在编程点p
i
和p
j
之间的编程点。
[0234]
可以按照以下步骤计算通过编程点起点p
i
、终点p
j
和中间编程点p
k
的三次beizer曲线的另外2个控制点g
k1
和g
k2

[0235]

计算平面π与经过p
k
并平行于t
j
的直线的交点p
d

[0236]

计算直线p
i p
j
与经过p
d
并平行于t
i
的直线的交点p
c

[0237]

计算另外2个beizer曲线的控制点g
k1
和g
k2

[0238][0239][0240]
其中,在步骤(四一二)中,如果p
i
、p
j
、t
i
、t
j
不共面,则依次计算逼近编程点p
k
,k∈(i j)的曲线控制点g
k1
和g
k2
的系数参数α和β。
[0241]
例如,可以按照以下步骤计算通过编程点起点p
i
、终点p
j
和中间编程点p
k
的三次beizer曲线的另外2个控制点:
[0242]

均一化弦长参数u
i
~u
j

[0243]

根据下式用最小二乘法求解未知数α和β:
[0244]
(3s2tt
i
)α+(3t2st
j
)β=p
k-(s3+3s2t)p
i-(t3+3t2s)p
j
[0245]
s(s-2t)(t
k
×
t
i
)α+t(2s-t)(t
k
×
t
j
)β=2st(t
k
×
(p
i-p
j
))
[0246]
其中,t
k
为编程点p
k
对应的一阶切矢,s和t按照如下公式确定:
[0247][0248][0249]

检查是否α>0和β<0,若成立,则计算:
[0250]
g
k1
=p
i
+αt
i
[0251]
g
k2
=p
j
+βt
j
[0252]
若不成立,则令j自减1,回到步骤(四一)重新计算曲线控制点。
[0253]
其中,在步骤(四二)中,所述根据曲线控制点进行加工误差控制是在编程点p
i
与p
j
为非相邻编程点的条件下进行,包括以下步骤:
[0254]
步骤(四二一)计算所求得的曲线控制点g
k1
和g
k2
的均值g1和g2;
[0255]
步骤(四二二)计算以p
i
、g1、g2、p
j
为控制点的拟合曲线c
i
(u)的偏差δe;
[0256]
步骤(四二三)判断偏差δe是否小于预设偏差e,若是,则将以p
i
、g1、g2、p
j
为控制点的拟合曲线c
i
(u)作为编程点p
i
与p
j
之间的目标曲线。
[0257]
其中,在步骤(四二一)中,均值g1和g2例如可以按照下式求得:
[0258][0259][0260]
其中,k
i
为该段曲线的起始点对应的系统编号值;k
j
为该段曲线的结束点对应的系统编号值。
[0261]
其中,在步骤(四二二)中,偏差例如可以按照下面公式确定:
[0262][0263]
其中,为u
k
所对应编程点指令值;为u
k
在样条曲线c
t
(u)的函数值。
[0264]
其中,在步骤(四二三)中,如果判断偏差δe是否小于预设偏差e的结果为否,则令j=j-1,回到步骤(四一)重新计算曲线控制点。
[0265]
其中,在步骤(四一一)中,如果编程点p
i
与p
j
为相邻编程点,则直接计算曲线控制点来获取拟合曲线c
t
(u),并将该拟合曲线c
t
(u)作为编程点p
i
与p
j
之间的目标曲线。
[0266]
例如,求解控制点的方法可以如下所示:
[0267]
建立二次方程记为:aα2+bα+c=0其中:
[0268]
a=16-|t
i
+t
j
|2[0269]
b=12(p
j-p
i
)
·
(t
i
+t
j
)
[0270]
c=-36|p
j-p
i
|2[0271]
根据求根公式求得参数系数:
[0272]
可以求得控制点:
[0273][0274][0275]
图5示出了本发明方法的仿真效果,如图5中所示,根据本发明方法所获得的路径曲线相比于原始加工路径更加平滑。
[0276]
为了进一步验证本发明方法的在实际数控加工中的效果,将本发明方法应用于数控加工中的程序段处理中,并对于使用本发明方法的加工结果与未使用本发明方法的加工结果在图6a和图6b中进行了示出。
[0277]
对比图6a和图6b可知,使用了本发明方法所获得的加工表面几乎没有凸凹不平现象且明显更加平滑。
[0278]
本发明方法具有以下有益效果及优点:
[0279]
1.高效性:本发明算法集成在机床内部,避免了cam软件提供较小公差数据所耗费的时间,提高了整个部件生成的效率;
[0280]
2.准确性:本发明算法根据cam软件提供的点信息,能够在线复原cam软件中工件的设计原型;
[0281]
3.稳定性:本发明算法将大量微段拟合成曲线,通过曲线插补有效减小机床振动,提高机床的稳定性。
[0282]
尽管已经根据优选的实施方案对本发明进行了说明,但是存在落入本发明范围之内的改动、置换以及各种替代等同方案。还应当注意的是,存在多种实现本发明的方法和系统的可选方式。因此,意在将随附的权利要求书解释为包含落在本发明的主旨和范围之内的所有这些改动、置换以及各种替代等同方案。
[0283]
如图7所示,于一实施例中,本发明的通信信号的数控加工系统,包括加工程序曲线提供模块71、连续微段识别模块72和目标加工曲线模块73。
[0284]
所述加工程序曲线提供模块71,适于提供数控加工设备所需的加工程序曲线p0p
n
,所述加工程序曲线p0p
n
上包括至少两个微段指令点p
i

[0285]
所述连续微段识别模块72,适于识别连续微段部分p
i
p
j

[0286]
所述目标加工曲线模块73,包括平滑压缩单元,所述平滑压缩单元适于将所述连续微段部分p
i
p
j
按照偏差范围内获取目标加工曲线:若所述连续微段部分p
i
p
j
能平滑压缩成满足加工精度的样条曲线,即构成连续微段部分p
i
p
j
对应的目标加工曲线;平滑压缩单元,适于在连续微段部分p
i
p
j
不能平滑压缩成满足加工精度的样条曲线时,缩小j为k,直至连续微段部分p
i
p
k
能平滑压缩成满足加工精度的样条曲线,即得到连续微段部分p
i
p
k
对应的子目标加工曲线;所述平滑压缩单元还适于再以同样的方式平滑压缩剩余微段部分p
k p
j
,以得到剩余微段部分p
k p
j
指令点对应的子目标加工曲线。
[0287]
目标加工曲线模块73,还适于将所有子目标曲线顺次连接得到连续微段部分p
i
p
j
的目标加工曲线。
[0288]
其中,p
i
为加工程序曲线p0p
n
上任意微段指令点,i≤k<j≤m,均正整数。
[0289]
具体地,所述数控加工设备按照所述目标加工曲线加工所述工件。
[0290]
所述连续微段识别模块72包括:长度比较单元,适于将所述加工程序曲线p0p
m
上相邻两微段指令点p
n
,p
n+1
之间的长度与预设的微段长度阈值d
max
进行比较,如果所述相邻两微段指令点之间的长度大于所述微段长度阈值d
max
,则将对应的两个两微段指令点p
n
,p
n-1
设置为连续微段的断开点;
[0291]
角度比较单元,适于将相邻三个微段指令点p
n-1
,p
n
,p
n+1
形成的矢量角∠p
n-1
p
n
p
n+1
与预设的角度阈值进行比较,如果所述矢量角大于所述角度阈值,则将该矢量角的交点对应的微段指令点p
n
设置为连续微段的断开点;
[0292]
识别单元,适于将起始/终止点和相邻断点或者相邻两断开点之间的连续微段部分识别为所述连续微段部分p
i
p
j
起始点p0和与其相邻的断开点p
n
、终止点p
m
和与其相邻的断开点p
n+1
、或相邻的两断开点之间的连续微段部分识别为所述连续微段部分p
i p
j
,其中,n,m为正整数,且n<i≤m或者n<j≤m。
[0293]
具体地,所述平滑压缩单元包括:节点矢量参数组件,适于获取与所述连续微段部分p
i p
j
上的微段指令点对应的节点矢量参数;一阶切矢组件,适于通过所述连续微段部分p
i p
j
上连续4个微段指令点构造插值曲线来计算与这4个微段指令点对应的一阶切矢;样条曲线生成组件,根据所述连续微段部分p
i p
j
上的微段指令点,与所述微段指令点对应的节
点矢量参数,和连续微段部分p
i p
j
上的连续4个微段指令点所对应的一阶切矢,将所述连续微段部分p
i p
j
压缩成一阶连续的平滑的样条曲线。
[0294]
具体地,所述节点矢量参数组件适于根据相邻两个微段指令点之间的弦长δp
i
与相邻三个微段指令点形成的矢量角∠p
i-1
p
i
p
i+1
来求取与微段指令点p
i
对应的节点矢量参数u
i

[0295]
具体地,所述一阶切矢组件包括:两次三项式插值曲线部件,适于根据连续微段指令点p
i-2
、p
i-1
、p
i
、p
i+1
、p
i+2
,以及各指令点所对应的节点矢量参数值u
i-2
、u
i-1
、u
i
、u
i+1
、u
i+2
,构造出分别通过连续4个所述微段指令点p
i-2
、p
i-1
、p
i
和p
i+1
的三次多项式插值曲线q
i-2
(u)和通过连续4个所述微段指令点p
i-1
、p
i
、p
i+1
和p
i+2
的三次多项式插值曲线q
i-1
(u);微段指令点一阶切矢部件,适于求取两条所述三次多项式插值曲线q
i-2
(u)、q
i-1
(u)在微段指令点p
i
处的一阶切矢q'
i-2
(u
i
)、q'
i-1
(u
i
);一阶切矢平均值部件,适于将所求得的微段指令点p
i
处的一阶切矢q'
i-2
(u)、q'
i-1
(u)的平均值作为微段指令点p
i
对应的一阶切矢值t
i

[0296]
具体地,所述样条曲线生成组件包括:控制点计算单元,适于计算待平滑压缩的连续微段部分的起始点p
i
和终止点p
j
之间的曲线控制点g1和g2;bezier曲线获取单元,适于获取与曲线控制点g1和g2对应的拟合三次bezier曲线;加工误差控制部件,适于根据加工误差让所述控制点计算单元调整所述曲线控制点g1和g2,以调整拟合三次bezier曲线,从而得到所述满足加工精度的一阶连续的平滑的样条曲线。
[0297]
所述控制点计算单元包括:第一计算部件,适于当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
共面时,按照最小二乘法计算依次逼近微段指令点p
k
的曲线控制点g
k1
和g
k2
,其中,微段指令点p
k
为微段指令点p
i
与p
j
之间的微段指令点。
[0298]
所述曲线控制点计算单元包括:控制点系数计算单元,适于当微段指令点p
i
与p
j
为非相邻微段指令点,且p
i
、p
j
、t
i
、t
j
不共面时,依次计算经过微段指令点p
k
的曲线控制点g
k1
的系数参数α和曲线控制点g
k2
的系数参数β;第二计算部件,适于当α>0且β<0时,根据系数参数α和β来计算曲线控制点g1和g2;第三计算部件,适于当α≤0或β≥0时,所述压缩单元适于令j自减1,则令j自减1,若j>i+1,根据系数参数α和β来计算曲线控制点g1和g2;若j=i+1,则直接计算控制点g1和g2。
[0299]
所述加工误差控制部件包括:控制点均值计算单元,适于当微段指令点p
i
与p
j
为非相邻微段指令点时,计算所求得的曲线控制点g
k1
和g
k2
的均值g1和g2;偏差计算单元,适于计算以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线的偏差δe;调整单元,适于当偏差δe小于预设偏差e时,以p
i
、g1、g2、p
j
为控制点的拟合三次bezier曲线作为所述满足加工精度的一阶连续的平滑的样条曲线;当偏差δe大于等于预设偏差e,采用第四曲线控制点计算部件,所述第四曲线控制点计算部件适于令j=j-1,再重新计算p
i
与p
j
之间的曲线控制点g1和g2。
[0300]
所述平滑压缩单元还包括第五曲线控制点计算部件,所述第五曲线控制点计算部件适于在微段指令点p
i
与p
j
为相邻微段指令点时,即j=i+1时,直接计算曲线控制点来获取拟合曲线c
t
(u),并将所述拟合曲线c
t
(u)作为连续微段p
i p
j
对应的目标曲线。
[0301]
需要说明的是,加工程序曲线提供模块71、连续微段识别模块72和目标加工曲线模块73的结构和原理与上述通信信号的数控加工方法中的步骤一一对应,故在此不再赘述。
[0302]
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0303]
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(micro processor uint,简称mpu),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0304]
于本发明一实施例中,本发明还包括一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一所述通信信号的数控加工方法。
[0305]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0306]
综上所述,本发明数控加工方法和数控加工设备,用于提供精度以及效率都能满足生产需要的数控加工用微段平滑压缩处理方法。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0307]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1