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

一种NURBS曲线插补速度控制方法、装置及设备

2022-07-13 16:42:57 来源:中国专利 TAG:

一种nurbs曲线插补速度控制方法、装置及设备
技术领域
1.本发明涉及数控加工技术领域,特别是涉及一种nurbs曲线插补速度控制方法、装置、设备及计算机可读存储介质。


背景技术:

2.数控技术在制造业发展中起到很重要的作用,数控系统是数控机床的核心部件,是控制和管理数控机床完成高效加工的计算机控制单元。航空发动机上一些关键零部件(如整体叶盘、叶片、涡轮等),往往具有复杂的空间几何结构外形,对这些复杂型面零件的加工,尤其是高精密的加工,难度较大。nurbs(non-uniform rational b-splines,非均匀有理b样条)刀具轨迹应用于复杂曲面的数控加工可以大幅提高产品的加工精度和效率,能够实现nurbs直接插补已经成为衡量数控机床加工能力的主要指标。
3.nurbs曲线直接插补技术是指在工件建模阶段采用nurbs曲线或曲面进行直接建模,并用cam(computer aided manufacturing,计算机辅助制造)软件后置处理工具生成由nurbs曲线或曲面表述的加工代码文件,其内容是符合nurbs曲线或曲面参数表达式的格式,不同于传统cam软件后置处理生成短直线或圆弧式的g代码文件。再由nurbs直接插补器识别加工代码文件,实时产生插补刀轨信息,由传动系统驱动数控机床各轴进给,实现高精高速数控加工过程。
4.目前,nurbs直接插补方法一般采用一阶/二阶泰勒展开法计算每个插补周期到来时的插补点参数,再结合nurbs曲线参数表达式计算插补点位置,并最终形成插补点各轴进给量,由伺服系统驱动传动系统完成各轴进给,实现直接插补。
5.但是,在该方法中因为nurbs曲线弧长与参数不存在线性对应关系,采用泰勒展开法对参数进行离散后,插补点间距(即单个插补周期进给量)不能始终保持恒定,在给定插补周期前提下,由于每个插补周期内进给量不一样,从而导致相邻插补周期进给速度的不同,引起速度的波动。速度的波动会导致机床振动,加工精度丢失等现象。
6.综上所述,如何有效地解决进给速度波动导致机床振动,加工精度丢失等问题,是目前本领域技术人员急需解决的问题。


技术实现要素:

7.本发明的目的是提供一种nurbs曲线插补速度控制方法,该方法实现了对nurbs曲线插补速度的波动抑制,较大地提升了加工精度;本发明的另一目的是提供一种nurbs曲线插补速度控制装置、设备及计算机可读存储介质。
8.为解决上述技术问题,本发明提供如下技术方案:
9.一种nurbs曲线插补速度控制方法,包括:
10.利用泰勒展开法预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值;
11.获取当前插补点位置参数矢量,并根据所述当前插补点位置参数矢量和所述参数
矢量预测值计算下一预测进给量;
12.获取机床的指令速度、预设的速度波动容忍度因子和插补周期;
13.当结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定不需要对所述参数矢量预测值对应的预测位置进行位置补偿时,将所述预测位置确定为实际位置,控制传动系统至所述目标nurbs曲线中所述实际位置进行零件加工;
14.当结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定需要对所述预测位置进行位置补偿时,确定补偿方向;
15.获取当前插补点所在位置与所述预测位置之间的曲线弧长,根据所述曲线弧长、所述当前插补点位置参数矢量以及所述参数矢量预测值计算参数矢量均匀分布值,并根据所述参数矢量均匀分布值计算参数矢量补偿量;
16.根据所述补偿方向和所述参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,重复执行所述根据所述当前插补点位置参数矢量和所述参数矢量预测值计算下一预测进给量的步骤。
17.在本发明的一种具体实施方式中,在结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定需要对所述预测位置进行位置补偿之后,获取当前插补点所在位置与所述预测位置之间的曲线弧长之前,还包括:
18.判断当前插补点与下一插补点之间的补偿次数是否超过预设值;
19.若是,则获取各次补偿分别对应的参数矢量补偿量,计算各所述参数矢量补偿量的均值,根据所述均值计算参数矢量实际值,并根据所述参数矢量实际值计算所述实际位置,执行所述控制传动系统至所述目标nurbs曲线中所述实际位置进行零件加工的步骤;
20.若否,则执行所述获取当前插补点所在位置与所述预测位置之间的曲线弧长的步骤。
21.在本发明的一种具体实施方式中,获取当前插补点所在位置与所述预测位置之间的曲线弧长,包括:
22.利用数学积分运算计算当前插补点所在位置与所述预测位置之间的曲线弧长。
23.在本发明的一种具体实施方式中,预测目标nurbs曲线的下一插补点位置参数矢量,包括:
24.利用泰勒展开法预测所述目标nurbs曲线的下一插补点位置参数矢量。
25.在本发明的一种具体实施方式中,在获取机床的指令速度、预设的速度波动容忍度因子和插补周期之后,还包括:
26.对所述指令速度和所述插补周期进行乘积运算,得到指令进给量;
27.根据所述指令容忍度因子和所述指令进给量计算进给量容忍范围;
28.判断所述下一预测进给量是否属于所述进给量容忍范围;
29.当结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定不需要对所述参数矢量预测值对应的预测位置进行位置补偿时,将所述预测位置确定为实际位置,控制传动系统至所述目标nurbs曲线中所述实际位置进行零件加工,包括:
30.当所述下一预测进给量属于所述进给量容忍范围时,将所述预测位置确定为实际
位置,控制传动系统至所述目标nurbs曲线中所述实际位置进行零件加工;
31.当结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定需要对所述预测位置进行位置补偿时,确定补偿方向,包括:
32.当所述下一预测进给量不属于所述进给量容忍范围时,确定所述补偿方向。
33.一种nurbs曲线插补速度控制装置,包括:
34.矢量预测模块,用于利用泰勒展开法预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值;
35.预测进给量计算模块,用于获取当前插补点位置参数矢量,并根据所述当前插补点位置参数矢量和所述参数矢量预测值计算下一预测进给量;
36.参数获取模块,用于获取机床的指令速度、预设的速度波动容忍度因子和插补周期;
37.传动系统控制模块,用于当结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定不需要对所述参数矢量预测值对应的预测位置进行位置补偿时,将所述预测位置确定为实际位置,控制传动系统至所述目标nurbs曲线中所述实际位置进行零件加工;
38.补偿方向确定模块,用于当结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定需要对所述预测位置进行位置补偿时,确定补偿方向;
39.矢量补偿量计算模块,用于获取当前插补点所在位置与所述预测位置之间的曲线弧长,根据所述曲线弧长、所述当前插补点位置参数矢量以及所述参数矢量预测值计算参数矢量均匀分布值,并根据所述参数矢量均匀分布值计算参数矢量补偿量;
40.矢量补偿模块,用于根据所述补偿方向和所述参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,重复执行所述根据所述当前插补点位置参数矢量和所述参数矢量预测值计算下一预测进给量的步骤。
41.在本发明的一种具体实施方式中,还包括:
42.第一判断模块,用于在结合所述指令速度、所述速度波动容忍度因子、所述插补周期以及所述下一预测进给量,确定需要对所述预测位置进行位置补偿之后,获取当前插补点所在位置与所述预测位置之间的曲线弧长之前,判断当前插补点与下一插补点之间的补偿次数是否超过预设值;
43.矢量实际值计算模块,用于当确定当前插补点与下一插补点之间的补偿次数超过预设值时,获取各次补偿分别对应的参数矢量补偿量,计算各所述参数矢量补偿量的均值,根据所述均值计算参数矢量实际值,并根据所述参数矢量实际值计算所述实际位置,控制传动系统至所述目标nurbs曲线中所述实际位置进行零件加工;
44.所述矢量补偿量计算模块具体为当确定当前插补点与下一插补点之间的补偿次数未超过预设值时,执行所述获取当前插补点所在位置与所述预测位置之间的曲线弧长的步骤的模块。
45.在本发明的一种具体实施方式中,还包括:
46.指令进给量计算模块,用于在获取机床的指令速度、预设的速度波动容忍度因子和插补周期之后,对所述指令速度和所述插补周期进行乘积运算,得到指令进给量;
47.进给量容忍范围计算模块,用于根据所述指令容忍度因子和所述指令进给量计算进给量容忍范围;
48.第二判断模块,用于判断所述下一预测进给量是否属于所述进给量容忍范围;
49.所述传动系统控制模块具体为当所述下一预测进给量属于所述进给量容忍范围时,将所述预测位置确定为实际位置,控制传动系统至所述目标nurbs曲线中所述实际位置进行零件加工的模块;
50.所述补偿方向确定模块具体为当所述下一预测进给量不属于所述进给量容忍范围时,确定所述补偿方向的模块。
51.一种nurbs曲线插补速度控制设备,包括:
52.存储器,用于存储计算机程序;
53.处理器,用于执行所述计算机程序时实现如前所述nurbs曲线插补速度控制方法的步骤。
54.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述nurbs曲线插补速度控制方法的步骤。
55.本发明所提供的nurbs曲线插补速度控制方法,预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值;获取当前插补点位置参数矢量,并根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量;获取机床的指令速度、预设的速度波动容忍度因子和插补周期;当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定不需要对参数矢量预测值对应的预测位置进行位置补偿时,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工;当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定需要对预测位置进行位置补偿时,确定补偿方向;获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量;根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,重复执行根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量的步骤。
56.由上述技术方案可知,通过预先设置速度波动容忍度因子,当确定计算得到的下一预测进给量不满足速度波动条件时,说明需要对参数矢量预测值对应的预测位置进行位置补偿。获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量,根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿,直至计算得到的下一预测进给量满足速度波动条件,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工。从而实现了对nurbs曲线插补速度的波动抑制,较大地提升了加工精度。
57.相应的,本发明还提供了与上述nurbs曲线插补速度控制方法相对应的nurbs曲线插补速度控制装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
58.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1为本发明实施例中nurbs曲线插补速度控制方法的一种实施流程图;
60.图2为本发明实施例中nurbs曲线插补速度控制方法的另一种实施流程图;
61.图3为本发明实施例中一种插补点参数位置补偿示意图;
62.图4为本发明实施例中一种nurbs曲线插补速度控制装置的结构框图;
63.图5为本发明实施例中一种nurbs曲线插补速度控制设备的结构框图;
64.图6为本实施例提供的一种nurbs曲线插补速度控制设备的具体结构示意图。
具体实施方式
65.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
66.参见图1,图1为本发明实施例中nurbs曲线插补速度控制方法的一种实施流程图,该方法可以包括以下步骤:
67.s101:预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值。
68.在利用nurbs曲线直接插补法进行零件加工时,nurbs曲线中每个插补点对应一个插补点位置参数矢量。当数控机床对零件的加工过程中对目标nurbs曲线进行插补操作时,首先预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值。
69.对于下一插补点位置参数矢量的预测手段可以是选用泰勒展开法,也可以是通过模型预测法,本发明实施例对此不做限定。
70.s102:获取当前插补点位置参数矢量。
71.在预测目标nurbs曲线的下一插补点的参数矢量预测值之后,获取当前插补点位置参数矢量。当前插补点即为传动系统当前所在位置的插补点。
72.s103:根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量。
73.在预测到下一插补点的参数矢量预测值,并获取到当前插补点位置参数矢量之后,根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量。假如为三轴机床,可以根据当前插补点位置参数矢量计算当前插补点分别在x,y,z三个轴向上的分量,并根据下一插补点的参数矢量预测值计算预测得到的下一插补点分别在x,y,z三个轴向上的分量,根据当前插补点位置参数矢量的各分量和下一插补点的参数矢量预测值的各分量,计算下一预测进给量。
74.s104:获取机床的指令速度、预设的速度波动容忍度因子和插补周期。
75.预先设置有机床的指令速度、速度波动容忍度因子以及插补周期。速度波动容忍度因子可以是根据经验,以及工件实际加工质量要求而设定,在加工之前由机床操作人员录入系统,作为数控系统的一个参数。获取机床的指令速度、预设的速度波动容忍度因子和插补周期。
76.s105:当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确
定不需要对参数矢量预测值对应的预测位置进行位置补偿时,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工。
77.在获取到机床的指令速度、预设的速度波动容忍度因子和插补周期之后,可以结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,判断是否需要对下一插补点的参数矢量预测值对应的预测位置进行位置补偿。当确定不需要对参数矢量预测值对应的预测位置进行位置补偿时,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工。
78.s106:当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定需要对预测位置进行位置补偿时,确定补偿方向。
79.当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定需要对预测位置进行位置补偿时,确定补偿方向。例如,根据指令速度、速度波动容忍度因子、插补周期,分别计算出符合速度波动容忍度的最小进给量和最大进给量,若下一预测进给量小于该最小进给量,则说明需要将下一预测进给量调大,确定出补偿方向为正向;若下一预测进给量大于该最大进给量,则说明需要将下一预测进给量调小,确定出补偿方向为反向。
80.s107:获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量。
81.在确定出补偿方向之后,获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量。
82.s108:根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,返回执行步骤s103。
83.当计算得到参数矢量补偿量之后,根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,并根据新生成的当前参数矢量预测值再次进行下一进给量的预测,知道预测到的下一进给量满足速度波动容忍度要求,则控制传动系统至目标nurbs曲线中相应位置进行零件加工。
84.由上述技术方案可知,通过预先设置速度波动容忍度因子,当确定计算得到的下一预测进给量不满足速度波动条件时,说明需要对参数矢量预测值对应的预测位置进行位置补偿。获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量,根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿,直至计算得到的下一预测进给量满足速度波动条件,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工。从而实现了对nurbs曲线插补速度的波动抑制,较大地提升了加工精度。
85.需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
86.参见图2,图2为本发明实施例中nurbs曲线插补速度控制方法的另一种实施流程图,该方法可以包括以下步骤:
87.s201:利用泰勒展开法预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值。
88.nurbs曲线采用参数表达形式,p阶nurbs曲线上点的表达式如下:
[0089][0090]
其中,u为归一化参数矢量,取值范围为[0,1],i=0,1,

,n是索引,{pi}是控制点的集合,{ωi}是权重集;{n
i,p
(u)}是定义在非均匀节点向量u上的一组p阶b样条基函数,u={u0,u1,

,u
n p 1
}。
[0091]
nurbs曲线直接插补即为通过cam软件后置处理工具生成以nurbs曲线控制点,权重等参数构成的加工g代码文件,由数控系统nurbs插补器直接读取后,在每个插补周期计算参数矢量u的值,代入上面公式中计算c(u),如果是三轴机床,就得到x,y,z三个直线轴的分量c
x
(u),cy(u),cz(u),再由伺服系统驱动传动机构,驱使各轴进给到新的位置,实现高速高精加工。
[0092]
上面公式中p阶b样条基函数n
i,p
(u)表示为:
[0093][0094][0095]
特别注意的是,根据nurbs曲线定义上面3个公式可知,由参数矢量u计算插补点c(u)很容易,反之,已知nurbs曲线上的某位置点c
x
(u),cy(u),cz(u)来反求其对应的参数矢量u,是非常困难的,计算复杂度非常高,因此,考量到时间和计算代价,在工程应用上很难实现。
[0096]
p阶b样条基函数的一阶导数表示为:
[0097][0098]
p阶b样条基本函数的二阶导数表示为:
[0099][0100]
由上面5个公式可知nurbs曲线的一阶导数为:
[0101][0102]
nurbs曲线的二阶导数为:
[0103][0104]
因nurbs曲线是自由曲线,曲线弧长与参数矢量不存在线性对应关系,因此在nurbs直接插补时,需要计算下一个插补点的参数矢量u,一般的方法是采用泰勒展开法计算参数矢量u。
[0105]
s202:获取当前插补点位置参数矢量。
[0106]
s203:根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量。
[0107]
根据步骤s201中的描述,计算每个插补点参数矢量,对于三轴机床,在每个插补周期,各轴合成进给量为短直线,进给量即为应相邻插补点直线距离。
[0108]
对于三轴机床,设当前插补点为序号为i,其对应的参数矢量为ui,下一个相邻插补点序号为i 1,插补点对应的其对应的参数矢量为u
i 1
,计算得到第i点的插补点为c(ui),第i 1点的插补点c(u
i 1
),对应的x,y,z三轴坐标分量表示为:c
x
(ui),cy(ui),cz(ui),c
x
(u
i 1
),cy(u
i 1
),cz(u
i 1
)。
[0109]
则进给量为li:
[0110][0111]
以此类推,则下一个插补周期的进给量为l
i 1
,其计算式为:
[0112][0113]
由于nurbs曲线采用非解析数学式表示方法,曲线弧长与参数矢量u直接不存在线性关系,由此可知:
[0114]
即使相邻插补点参数矢量增量相同,即:
[0115]ui 2-u
i 1
=u
i 1-ui;
[0116]
其插补周期对应的进给步长不一定相等,即:
[0117]
l
i 1
≠li;
[0118]
所以,当系统参数设定好插补周期为t,则第i个插补周期进给速度为:
[0119][0120]
对应的,第i 1个插补周期进给速度为:
[0121][0122]
由此可知,vi≠v
i 1

[0123]
由此得出结论,nurbs直接插补时,会出现速度波动的问题。
[0124]
s204:获取机床的指令速度、预设的速度波动容忍度因子和插补周期。
[0125]
设速度波动容忍度因子为λ,获取机床的指令速度、预设的速度波动容忍度因子和插补周期。
[0126]
s205:对指令速度和插补周期进行乘积运算,得到指令进给量。
[0127]
在获取到机床的指令速度f、预设的速度波动容忍度因子和插补周期t之后,对指
令速度和插补周期进行乘积运算,得到指令进给量。
[0128]
假设,在速度波动容忍度因子λ范围内,速度的波动可以满足工件加工质量的要求,即满足速度波动率要求的进给速度vs满足:
[0129]
(1-λ)f≤vs≤f;
[0130]
可以通过以下公式计算指令进给量lc:
[0131]
lc=ft;
[0132]
指令进给量即为符合速度波动容忍度的最大进给量。
[0133]
s206:根据指令容忍度因子和指令进给量计算进给量容忍范围。
[0134]
在对指令速度和插补周期进行乘积运算,得到指令进给量之后,根据指令容忍度因子和指令进给量计算进给量容忍范围。根据指令容忍度因子和指令进给量计算出符合速度波动容忍度的最小进给量,将最小进给量与指令进给量之间的范围值确定为进给量容忍范围。
[0135]
在插补周期t内,满足速度波动的进给量为ls:
[0136]
(1-λ)lc≤ls≤lc;
[0137]
从而得到进给量容忍范围。
[0138]
s207:判断下一预测进给量是否属于进给量容忍范围,若是,则执行步骤s208,若否,则执行步骤s210。
[0139]
在计算得到进给量容忍范围之后,判断下一预测进给量是否属于进给量容忍范围,若是,则说明不需要对参数矢量预测值对应的预测位置进行位置补偿,执行步骤s208,若否,则说明需要对参数矢量预测值对应的预测位置进行位置补偿,执行步骤s210。
[0140]
通过泰勒展开法初步得到下一个插补点位置参数矢量u
i 1
后,因为要满足速度波动需求,需要重新评估该点是否满足条件。
[0141]
利用参数矢量u
i 1
,计算得到当前插补点各轴分量位置c
x
(u
i 1
),cy(u
i 1
),cz(u
i 1
),再根据式(8)计算进给量li,将进给量li带入步骤s206公式的ls中,如果不满足步骤s206公式,则该插补点需要进行位置补偿,如果满足,则该插补点不需要进行位置补偿。
[0142]
s208:将预测位置确定为实际位置。
[0143]
s209:控制传动系统至目标nurbs曲线中实际位置进行零件加工。
[0144]
s210:确定补偿方向。
[0145]
如果确定插补点位置需要进行补偿,还需进一步明确位置补偿的方向,即是参数矢量正向补偿,还是反向补偿。当参数矢量是正向补偿时,参数矢量是正向增大,进给量变长;当参数矢量是反向补偿时,参数矢量时反向减小,进给量变短。判断位置补偿方向公式为:
[0146][0147]
参见图3,图3为本发明实施例中一种插补点参数位置补偿示意图。在弧线(curve)中,当满足上述公式的正向补偿条件时,参数矢量是正向增大,进给量变长。由于参数矢量与曲线弧长之间不存在线性关系,特别是考虑到已知nurbs曲线上的某位置点c
x
(u),cy(u),cz(u)来反求其对应的参数矢量u,是非常困难的。因此,不能直接通过进给量得到各轴运动分量,从而到插补位置点c
x
(u),cy(u),cz(u),再反求nurbs曲线插补点参数矢量u。
[0148]
s211:判断当前插补点与下一插补点之间的补偿次数是否超过预设值,若是,则执行步骤s212,若否,则执行步骤s213。
[0149]
在确定下一预测进给量不属于进给量容忍范围之后,判断当前插补点与下一插补点之间的补偿次数是否超过预设值,若是,则说明当前在补偿计算过程中已经花费了一定时长,并且也进行了一定次数的补偿,为了兼顾插补效率与插补准确度,执行步骤s212,若否,则说明仍需要继续进行位置补偿,执行步骤s213。
[0150]
需要说明的是,补偿次数的预设值可以根据实际情况进行设定和调整,本发明实施例对此不做限定,如可以设置为3。
[0151]
s212:获取各次补偿分别对应的参数矢量补偿量,计算各参数矢量补偿量的均值,根据均值计算参数矢量实际值,并根据参数矢量实际值计算实际位置,执行步骤s209。
[0152]
当确定当前插补点与下一插补点之间的补偿次数已经超过预设值时,说明当前在补偿计算过程中已经花费了一定时长,并且也进行了一定次数的补偿,为了兼顾插补效率与插补准确度,获取各次补偿分别对应的参数矢量补偿量,计算各参数矢量补偿量的均值,根据均值计算参数矢量实际值,并根据参数矢量实际值计算实际位置,并控制传动系统至目标nurbs曲线中实际位置进行零件加工。
[0153]
s213:利用数学积分运算计算当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量。
[0154]
当确定当前插补点与下一插补点之间的补偿次数未超过预设值时,说明仍需要继续进行位置补偿,利用数学积分运算计算当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量。
[0155]
本发明实施例采用一种数学上可行的,且计算复杂度和时间代价满足数控系统要求的位置补偿方法。其基本思想为:
[0156]
首先利用数字积分方法计算当前插补点到新插补点的曲线弧长la,计算得到参数增量在曲线弧长上的参数矢量均匀分布,即:
[0157][0158]
利用当前曲线弧长上的参数矢量均匀分布情况计算参数补偿量:
[0159][0160]
从而完成对当次参数矢量补偿量的计算。
[0161]
s214:根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,返回执行步骤s203。
[0162]
位置补偿后的插补点参数矢量为:
[0163]
u'
i 1
=u
i 1
u
p

[0164]
再利用位置补偿后的参数矢量u'
i 1
重复执行步骤s203,如果不需要进行位置补偿,则参数矢量u'
i 1
对应的点c(u'
i 1
)则为下一个插补点,同时向数控系统输出各轴在下一个插补周期需要到达的各轴位置c
x
(u'
i 1
),cy(u'
i 1
),cz(u'
i 1
),由伺服系统输出控制脉冲
驱动电机,控制传动系统进给到达目标位置,实现满足速度波动容忍度的高精插补;如果仍然需要进行位置补偿,则继续执行步骤s210。为满足实时性的要求,可以设置迭代次数控制三次以内,迭代三次后仍需进行位置补偿时,则停止迭代补偿,最后位置点补偿值为三次迭代补偿值取平均数,作为最后的输出。即:
[0165][0166]
从而得到下一插补点最终的参数矢量。
[0167]
本实施例区别于独立权利要求1所要求保护的技术方案对应的实施例一,还增加了从属权利要求2至4对应要求保护的技术方案,当然,根据实际情况和要求的不同,可将各从属权利要求对应要求保护的技术方案在不影响方案完整性的基础上进行灵活组合,以更加符合不同使用场景的要求,本实施例只是给出了其中一种包含方案最多、效果最优的方案,因为情况复杂,无法对所有可能存在的方案一一列举,本领域技术人员应能意识到根据本技术提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本技术的保护范围内。
[0168]
相应于上面的方法实施例,本发明还提供了一种nurbs曲线插补速度控制装置,下文描述的nurbs曲线插补速度控制装置与上文描述的nurbs曲线插补速度控制方法可相互对应参照。
[0169]
参见图4,图4为本发明实施例中一种nurbs曲线插补速度控制装置的结构框图,该装置可以包括:
[0170]
矢量预测模块41,用于预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值;
[0171]
预测进给量计算模块42,用于获取当前插补点位置参数矢量,并根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量;
[0172]
参数获取模块43,用于获取机床的指令速度、预设的速度波动容忍度因子和插补周期;
[0173]
传动系统控制模块44,用于当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定不需要对参数矢量预测值对应的预测位置进行位置补偿时,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工;
[0174]
补偿方向确定模块45,用于当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定需要对预测位置进行位置补偿时,确定补偿方向;
[0175]
矢量补偿量计算模块46,用于获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量;
[0176]
矢量补偿模块47,用于根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,重复执行根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量的步骤。
[0177]
由上述技术方案可知,通过预先设置速度波动容忍度因子,当确定计算得到的下一预测进给量不满足速度波动条件时,说明需要对参数矢量预测值对应的预测位置进行位置补偿。获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点
位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量,根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿,直至计算得到的下一预测进给量满足速度波动条件,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工。从而实现了对nurbs曲线插补速度的波动抑制,较大地提升了加工精度。
[0178]
在本发明的一种具体实施方式中,该装置还可以包括:
[0179]
第一判断模块,用于在结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定需要对预测位置进行位置补偿之后,获取当前插补点所在位置与预测位置之间的曲线弧长之前,判断当前插补点与下一插补点之间的补偿次数是否超过预设值;
[0180]
矢量实际值计算模块,用于当确定当前插补点与下一插补点之间的补偿次数超过预设值时,获取各次补偿分别对应的参数矢量补偿量,计算各参数矢量补偿量的均值,根据均值计算参数矢量实际值,并根据参数矢量实际值计算实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工;
[0181]
矢量补偿量计算模块46具体为当确定当前插补点与下一插补点之间的补偿次数未超过预设值时,执行获取当前插补点所在位置与预测位置之间的曲线弧长的步骤的模块。
[0182]
在本发明的一种具体实施方式中,矢量补偿量计算模块46具体为利用数学积分运算计算当前插补点所在位置与预测位置之间的曲线弧长的模块。
[0183]
在本发明的一种具体实施方式中,矢量预测模块41具体为利用泰勒展开法预测目标nurbs曲线的下一插补点位置参数矢量的模块。
[0184]
在本发明的一种具体实施方式中,该装置还可以包括:
[0185]
指令进给量计算模块,用于在获取机床的指令速度、预设的速度波动容忍度因子和插补周期之后,对指令速度和插补周期进行乘积运算,得到指令进给量;
[0186]
进给量容忍范围计算模块,用于根据指令容忍度因子和指令进给量计算进给量容忍范围;
[0187]
第二判断模块,用于判断下一预测进给量是否属于进给量容忍范围;
[0188]
传动系统控制模块44具体为当下一预测进给量属于进给量容忍范围时,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工的模块;
[0189]
补偿方向确定模块45具体为当下一预测进给量不属于进给量容忍范围时,确定补偿方向的模块。
[0190]
相应于上面的方法实施例,参见图5,图5为本发明所提供的nurbs曲线插补速度控制设备的示意图,该设备可以包括:
[0191]
存储器332,用于存储计算机程序;
[0192]
处理器322,用于执行计算机程序时实现上述方法实施例的nurbs曲线插补速度控制方法的步骤。
[0193]
具体的,请参考图6,图6为本实施例提供的一种nurbs曲线插补速度控制设备的具体结构示意图,该nurbs曲线插补速度控制设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储
器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在nurbs曲线插补速度控制设备301上执行存储器332中的一系列指令操作。
[0194]
nurbs曲线插补速度控制设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
[0195]
上文所描述的nurbs曲线插补速度控制方法中的步骤可以由nurbs曲线插补速度控制设备的结构实现。
[0196]
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
[0197]
预测目标nurbs曲线的下一插补点位置参数矢量,得到参数矢量预测值;获取当前插补点位置参数矢量,并根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量;获取机床的指令速度、预设的速度波动容忍度因子和插补周期;当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定不需要对参数矢量预测值对应的预测位置进行位置补偿时,将预测位置确定为实际位置,控制传动系统至目标nurbs曲线中实际位置进行零件加工;当结合指令速度、速度波动容忍度因子、插补周期以及下一预测进给量,确定需要对预测位置进行位置补偿时,确定补偿方向;获取当前插补点所在位置与预测位置之间的曲线弧长,根据曲线弧长、当前插补点位置参数矢量以及参数矢量预测值计算参数矢量均匀分布值,并根据参数矢量均匀分布值计算参数矢量补偿量;根据补偿方向和参数矢量补偿量对当前参数矢量预测值进行补偿操作,得到新生成的当前参数矢量预测值,重复执行根据当前插补点位置参数矢量和参数矢量预测值计算下一预测进给量的步骤。
[0198]
该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0199]
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
[0200]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0201]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

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

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

相关文献