基于误差约束的轨迹优化方法及系统与流程

文档序号:27829782发布日期:2021-12-07 21:57阅读:108来源:国知局
基于误差约束的轨迹优化方法及系统与流程

1.本公开涉及数控加工技术领域,尤其涉及基于误差约束的轨迹优化方法及系统。


背景技术:

2.在传统的数控加工过程中,对于复杂曲面的加工零件,通常根据加工轮廓误差要求,用cad或cam软件生成连续微小直线段逼近原始曲线。当加工精度要求很高时,生成的小直线段代码具有数据量大、长度短的特点,相邻小直线段间的不连续性不仅破坏曲线的光滑性,同时也会导致加工过程中数控系统输出给伺服电机的速度、加速度指令的不连续,造成数控系统在小微段加工中需要频繁加减速,难以适应现代高速度、高精度的机械加工要求。


技术实现要素:

3.本公开针对上述问题,提出基于误差约束的轨迹优化方法及系统。
4.为了解决上述技术问题中的至少一个,本公开提出如下技术方案:
5.第一方面,提供了基于误差约束的轨迹优化方法,该方法包括以下步骤:
6.s1:去除nc程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段;
7.s2:对步骤s1输出的直线段进行筛选,选取样条拟合分界点;
8.s3:对选取了样条拟合分界点的直线段进行拟合与拼接,获得优化后的加工轨迹。
9.第二方面,提供了基于误差约束的轨迹优化系统,用于执行上述任一基于误差约束的轨迹优化方法,该系统包括:
10.坏点去除模块,用于去除nc程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段;
11.数据选取模块,用于对坏点去除模块输出的直线段进行筛选,选取样条拟合分界点;和
12.样条拟合模块,用于对选取了样条拟合分界点的直线段进行拟合与拼接,获得优化后的加工轨迹。
13.第三方面,提供了一种基于误差约束的轨迹优化的设备,该设备包括至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行本公开上述任一的基于误差约束的轨迹优化方法。
14.第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行本公开上述任一的基于误差约束的轨迹优化方法。
15.本公开的有益效果是,在给定误差约束范围内,将大量微小直线段拟合成样条曲线,计算效率高,编程算法简单,便于应用与推广,能够提升加工轨迹的平滑性和光顺性,进
而高产品的加工效率和加工质量,同时可使机床运动更加平稳。
16.另外,在本公开技术方案中,凡未作特别说明的,均可通过采用本领域中的常规手段来实现本技术方案。
附图说明
17.为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本公开一个实施例提供的基于误差约束的轨迹优化方法的流程图。
19.图2为本公开一个实施例提供的基于误差约束的轨迹优化方法步骤s1的流程图。
20.图3为本公开一个实施例提供的基于误差约束的轨迹优化方法步骤s2的流程图。
21.图4为本公开一个实施例提供的基于误差约束的轨迹优化方法步骤s3的流程图。
22.图5为本公开实施例1中示例所用加工程序。
23.图6为图5所示加工程序,在未使用本公开提供的基于误差约束的轨迹优化方法时,匀速阶段x轴的速度时间曲线。
24.图7为图5所示加工程序,在使用本公开提供的基于误差约束的轨迹优化方法时,匀速阶段x轴的速度时间曲线。
25.图8为本公开一个实施例提供的基于误差约束的轨迹优化系统的示意图。
26.图9为本公开一个实施例提供的基于误差约束的轨迹优化的设备的结构示意图。
具体实施方式
27.为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例是本公开一部分实施例,而不是全部的实施例,仅用以解释本公开,并不用于限定本公开。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
28.需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
29.实施例1:
30.参考说明书附图1

4,示出了本技术一个实施例提供的基于误差约束的轨迹优化方法,该方法可以包括以下步骤:
31.s1:去除nc程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段。
32.cad或cam等软件生成的nc程序中在曲面拼接处经常会出现毛刺点,即坏点。坏点所在的原始直线段很短,且局部密集,直接参与拟合会影响拟合质量,甚至导致拟合得到的轨迹严重变形,通过在拟合前去除坏点,能够提高拟合质量,提升加工轨迹的平滑性和光顺
性,进而提高产品的加工效率和加工质量。
33.在可选的实施例中,步骤s1具体可以包括:
34.s101:获取nc程序中第i条原始直线段,并求所述原始直线段长度l(i),其中i=1,2,3


35.s102:求第1条原始直线段到第i条原始直线段合并后的最大合并误差,其中,最大合并误差是指合并后的直线段的轨迹与原始直线段的轨迹相比较产生的最大的偏差值;
36.s103:判断最大合并误差是否小于预设的最大合并误差阈值,若最大合并误差不小于预设的最大合并误差阈值,则执行s104,若最大合并误差小于预设的最大合并误差阈值,则执行s105;
37.s104:合并第1条原始直线段到第i

1条原始直线段,并执行s108;
38.s105:求第1条原始直线段到第i条原始直线段的直线段总长l=∑l(i);
39.s106:判断直线段总长l是否大于预设的直线段总长阈值,若直线段总长l大于预设的直线段总长阈值,则执行s107,若直线段总长l不大于预设的直线段总长阈值,则返回执行s101,此时使i=i+1,即依序获取下一条原始直线段,重复执行步骤s101至步骤s106;
40.s107:合并第1条直线段到第i条直线段,并执行s108;
41.s108:输出合并后的直线段。
42.s2:对步骤s1输出的直线段进行筛选,选取样条拟合分界点。
43.具体的,样条拟合分界点从直线段端点中选取,相邻的样条拟合分界点中间所有的直线段端点都是可连续拟合的。
44.由此,通过选取样条拟合分界点,为步骤s3中的拟合与拼接进行数据准备,同时通过选取样条拟合分界点,将可连续拟合直线段与不可连续拟合直线段进行筛选,便于后续的拟合,同时满足数控实时性与拟合误差约束的要求。
45.在可选的实施例中,步骤s2具体可以包括,
46.s201:获取一条直线段,所述直线段为步骤s1输出的直线段,求直线段长度l',执行s202;
47.s202:判断直线段长度l'是否大于预设的长度阈值,若直线段长度l'大于预设的长度阈值,则执行s207,若直线段长度l'不大于预设的长度阈值,则执行s203;
48.s203:判断第一缓存中是否存有其他直线段,若第一缓存中未存有直线段,则执行步骤s204,若第一缓存中存有直线段,则执行s205,其中,第一缓存为用于缓存直线段的缓存空间;
49.s204:将当前直线段存入第一缓存,并返回执行步骤s201,此时依序获取下一条步骤s1输出的直线段,重复步骤s201至s203;
50.s205:计算当前直线段与第一缓存中的直线段的夹角a,
51.s206:判断夹角a是否小于预设的夹角阈值,若夹角a不小于预设的夹角阈值,则执行步骤s207,若夹角a小于预设的夹角阈值,则执行步骤s209;
52.s207:选取当前直线段中的衔接点作为样条拟合分界点,并执行s208,衔接点是指当前直线段的起始点;
53.s208:输出第一缓存中的直线段,执行步骤s209;
54.s209:将当前直线段更新至第一缓存中。
55.s3:对选取了样条拟合分界点的直线段进行拟合与拼接,获得优化后的加工轨迹。
56.在可选的实施例中,对直线段进行拟合可以选用三次nurbs样条作为拟合基础,三次nurbs样条本身具有整体二阶连续的特征,能够满足对轨迹拟合速度、加速度的连续性的要求;同时三次nurbs样条计算量小,能够满足数控系统实时性的要求。
57.在可选的实施例中,步骤s13具体可以包括以下步骤:
58.s301:获取步骤s2中输出的直线段;
59.s302:判断当前直线段的终点是否为样条拟合分界点,若当前直线段的终点是样条拟合分界点,则执行s303,若当前直线段的终点不是样条拟合分界点,则执行s304;
60.s303:将当前直线段加入第二缓存,并将此时第二缓存中的直线段端点作为拟合数据进行拟合,执行s307;
61.s304:将当前直线段加入第二缓存,执行s305;
62.s305:判断第二缓存中直线段的总端点数是否等于一次拟合控制点数n的二倍,若第二缓存中直线段的总端点数等于一次拟合控制点数n的二倍,执行步骤s306,若第二缓存中直线段的总端点数不等于一次拟合控制点数n的二倍,返回执行步骤s301,一次拟合控制点数即一次拟合需要的直线段端点数;
63.s306:取第二缓存中的前n个直线段端点作为拟合数据进行拟合,生成拟合结果并执行s307;
64.s307:判断拟合结果中起始点是否为样条拟合分界点,若拟合结果中起始点不是样条拟合分界点,则执行s308;若拟合结果中起始点是样条拟合分界点,则执行步骤s309;
65.s308:在拟合结果首部加入缓存的交叉点,执行s309;
66.s309:起始点取一重控制点,执行步骤s310,其中起始点取一重控制点是指将拟合结果的起始点复制一次,加在拟合结果起始点前;
67.s310:判断拟合结果中终点是否是样条拟合分界点,若拟合结果中终点是样条拟合分界点,则执行步骤s311,若拟合结果中终点不是样条拟合分界点,则执行s312;
68.s311:终点取一重控制点,执行s312,其中终点取一重控制点是指将拟合结果的终点复制一次,加在拟合结果终点后;
69.s312:获取本次拟合计算实际拟合控制点数n,执行步骤s313;
70.s313:使用累加弦长法初始化nurbs节点矢量;
71.s314:以直线段端点作为控制点,取各控制点权值取1,得到本次整体拟合nurbs样条曲线;
72.s315:计算拟合nurbs样条曲线中各节点矢量处与直线段之间的偏差error[j],其中j=1,2,3

,n

2,n

1;
[0073]
s316:判断error[j]是否大于预设的偏差最大值,若error[j]大于预设的偏差最大值,则执行s317,若error[j]不大于预设的偏差最大值,则执行步骤s318;
[0074]
s317:在点j相邻的两条直线段中较长的直线段中点增加一控制点,并返回执行s313;
[0075]
s318:判断拟合nurbs样条曲线的终点是否是样条拟合分界点,若是,则执行s319,若不是,则执行s320;
[0076]
s319:输出拟合nurbs样条曲线,由于拟合nurbs样条曲线的终点是样条拟合分界
点,说明当前可连续拟合的区域结束,样条拟合分界点前后的样条不进行拼接,因此直接输出拟合nurbs样条曲线;
[0077]
s320:缓存拟合nurbs样条曲线首部9个控制点作为交叉点,并输出首末交叉点之间的轨迹。
[0078]
依次按照顺序对原始加工轨迹中的直线段执行上述步骤s1至步骤s3,直至步骤s3输出的样条曲线与交叉点之间的轨迹组成完整的加工轨迹。由此,在每一个连续拟合的区域内,即两个相邻的样条拟合分界点之间的区域内,每次只拟合特定数目的直线段,同时通过缓存交叉点,并采用样条交叉拼接的方式保证拟合轨迹的连续性,通过样条交叉拼接同时保证先后两次拟合在拼接处达到二阶连续,从而保证在一个可连续拟合区域内的直线段能达到整体二阶连续。本公开由于编程变成算法简单,计算效率高,同样能满足数控系统实时性的要求。
[0079]
在可选的实施例中,一次拟合控制点数n的取值范围可以是n≥15。
[0080]
在可选的实施例中,步骤s313中,初始化nurbs节点矢量可使用累加弦长法。在使用累加弦长法时,步骤s308中,累加弦长u[1]=0,在步骤s311中,累加弦长u[n

1]=u[n

2]。一般情况下,当实际拟合控制点数为n时,初始化nurbs节点矢量为0,0,0,u[1],u[2],

,u[n

2],u[n

1],u[n

1],u[n

1]。
[0081]
本公开的有益效果是,在给定误差约束范围内,将大量微小直线段通过拟合与交叉拼接,形成样条曲线,计算效率高,编程算法简单,便于应用与推广,能够提升加工轨迹的平滑性和光顺性,进而高产品的加工效率和加工质量,同时可使机床运动更加平稳。
[0082]
参考说明书附图5

7,以说明书附图5所示加工程序为例,对本公开提供的方法优化后的样条轨迹进行说明。说明书附图5示出了一种小直线段生成的圆弧的原始轨迹。原始轨迹在采用直线插补时,由于相邻直线段存在拐角,因此拐角处的轴速度存在突变,在匀速阶段,x轴的速度时间曲线如说明书附图6所示,其中横轴代表时间,纵轴代表速度。如说明书附图6所示,整个速度曲线呈现锯齿状,最终会导致数控系统的动态精度下降,影响产品的精度和表面质量。说明书附图7示出了经本公开提供的基于误差约束的轨迹优化方法优化后的匀速阶段中x轴的速度时间曲线,其中横轴代表时间,纵轴代表速度。由于样条拟合后的轨迹消除了相邻直线间的拐角,有效提升了轨迹的平滑性,因此在说明书附图7中可以看到,虽然与采用直线插补的速度曲线整体形状相同,但是拟合后的速度曲线更平滑,锯齿状消失,极大程度上消除了x轴的速度与加速度突变,从而提高了产品的质量并且机床更加稳定;同时由于拟合过的轨迹比原始轨迹更平滑,最大的进给速度也能更高,极大地提高了小微直线段的加工效率。
[0083]
实施例2:
[0084]
参考说明书附图8,示出了本技术一个实施例提供的基于误差约束的轨迹优化系统,用于执行前述任一的基于误差约束的轨迹优化方法,包括,
[0085]
坏点去除模块41,用于去除nc程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段;
[0086]
数据选取模块42,用于对坏点去除模块41输出的直线段进行筛选,选取样条拟合分界点;和
[0087]
样条拟合模块43,用于对选取了样条拟合分界点的直线段进行拟合与拼接,获得
优化后的加工轨迹。
[0088]
本公开的有益效果是,在给定误差约束范围内,将大量微小直线段拟合成样条曲线,计算效率高,编程算法简单,便于应用与推广,能够提升加工轨迹的平滑性和光顺性,进而高产品的加工效率和加工质量,同时可使机床运动更加平稳。
[0089]
上述实施例提供的系统,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的系统与方法实施例属于同一种构思,其具体实现过程详见方法实施例,这里不再赘述。
[0090]
实施例3:
[0091]
参考说明书附图9,提供了一种基于误差约束的轨迹优化的设备,该设备包括:
[0092]
一个或多个处理器51以及存储器52,说明书附图9中以一个处理器51为例。
[0093]
基于误差约束的轨迹优化的设备还可以包括:输入装置53和输出装置54。
[0094]
存储器52作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的基于误差约束的轨迹优化方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于误差约束的轨迹优化方法。
[0095]
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于误差约束的轨迹优化系统的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他非易失性固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至基于误差约束的轨迹优化系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0096]
输入装置53可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的信号输入。输出装置54可包括显示屏等显示设备。
[0097]
一个或多个模块处处在存储器52中,当被一个或者多个处理器51执行时,执行上述任意方法实施例中的基于误差约束的轨迹优化方法。
[0098]
上述设备可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
[0099]
实施例4:
[0100]
另一方面,本公开实施例4提供一种计算机可读存储介质,存储介质中存储有一个或多个包括执行指令的程序,执行指令能够被设备(包括但不限于计算机、服务器或网络设备等)读取并执行,以用于执行上述方法实施例中的相关步骤。
[0101]
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0102]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式表现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可能是个人计算机,服务器或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
[0103]
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应的技术方案本质脱离本公开各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1