基于误差约束的轨迹优化方法及系统技术方案

技术编号:31241264 阅读:20 留言:0更新日期:2021-12-08 10:32
本公开提供了基于误差约束的轨迹优化方法及系统,该方法包括:S1:去除NC程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段;S2:对对步骤S1输出的直线段进行筛选,选取样条拟合分界点;S3:对选取了样条拟合分界点的直线段进行拟合与拼接,获得优化后的加工轨迹。本公开在给定误差约束范围内,将大量微小直线段拟合成样条曲线,计算效率高,编程算法简单,便于应用与推广,能够提升加工轨迹的平滑性和光顺性,进而高产品的加工效率和加工质量,同时可使机床运动更加平稳。同时可使机床运动更加平稳。同时可使机床运动更加平稳。

【技术实现步骤摘要】
基于误差约束的轨迹优化方法及系统


[0001]本公开涉及数控加工
,尤其涉及基于误差约束的轨迹优化方法及系统。

技术介绍

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

技术实现思路

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

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


[0035]S102:求第1条原始直线段到第i条原始直线段合并后的最大合并误差,其中,最大合并误差是指合并后的直线段的轨迹与原始直线段的轨迹相比较产生的最大的偏差值;
[0036]S103:判断最大合并误差是否小于预设的最大合并误差阈值,若最大合并误差不小于预设的最大合并误差阈值,则执行S104,若最大合并误差小于预设的最大合并误差阈值,则执行S105;
[0037]S104:合并第1条原始直线段到第i

1条原始直线段,并执行S108;
[0038]S105:求第1条原始直线段到第i条原始直线段的直线段总长L=∑l(i);
[0039]S106:判断直线段总长L是否大于预设的直线段总长阈值,若直线段总长L大于预设的直线段总长阈值,则执行S107,若直线段总长L不大于预设的直线段总长阈值,则返回执行S101,此时使i=i+1,即依序获取下一条原始直线段,重复执行步骤S101至步骤S106;
[0040]S107:合并第1条直线段到第i条直线段,并执行S1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于误差约束的轨迹优化方法,其特征在于,包括以下步骤:S1:去除NC程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段;S2:对步骤S1输出的直线段进行筛选,选取样条拟合分界点;S3:对选取了样条拟合分界点的直线段进行拟合与拼接,获得优化后的加工轨迹。2.根据权利要求1所述的基于误差约束的轨迹优化方法,其特征在于,步骤S1中,所述去除NC程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段包括,S101:获取NC程序中第i条原始直线段,并求所述原始直线段长度l(i),其中i=1,2,3

;S102:求第1条原始直线段到第i条原始直线段合并后的最大合并误差;S103:判断最大合并误差是否小于预设的最大合并误差阈值,若最大合并误差不小于预设的最大合并误差阈值,则执行S104,若最大合并误差小于预设的最大合并误差阈值,则执行S105;S104:合并第1条原始直线段到第i

1条原始直线段,并执行S108;S105:求第1条原始直线段到第i条原始直线段的直线段总长L=∑l(i);S106:判断直线段总长L是否大于预设的直线段总长阈值,若直线段总长L大于预设的直线段总长阈值,则执行S107,若直线段总长L不大于预设的直线段总长阈值,则返回执行S101,其中i=i+1;S107:合并第1条直线段到第i条直线段,并执行S108;S108:输出合并后的直线段。3.根据权利要求1所述的基于误差约束的轨迹优化方法,其特征在于,步骤S2中,所述对步骤S1输出的直线段进行筛选,选取样条拟合分界点包括,S201:获取一条直线段,所述直线段为步骤S1输出的直线段,求直线段长度l',执行S202;S202:判断直线段长度l'是否大于预设的长度阈值,若直线段长度l'大于预设的长度阈值,则执行S207,若直线段长度l'不大于预设的长度阈值,则执行S203;S203:判断第一缓存中是否存有其他直线段,若第一缓存中未存有直线段,则执行步骤S204,若第一缓存中存有直线段,则执行S205;S204:将当前直线段存入第一缓存,并返回执行步骤S201;S205:计算当前直线段与第一缓存中的直线段的夹角a,S206:判断夹角a是否小于预设的夹角阈值,若夹角a不小于预设的夹角阈值,则执行步骤S207,若夹角a小于预设的夹角阈值,则执行步骤S209;S207:选取当前直线段中的衔接点作为样条拟合分界点,并执行S208,所述衔接点为当前直线段的起始点;S208:输出第一缓存中的直线段,执行步骤S209;S209:将当前直线段更新至第一缓存中。4.根据权利要求1所述的基于误差约束的轨迹优化方法,其特征在于,在步骤S3中,所述对选取了样条拟合分界点的直线段进行拟合与拼接,获得优化后的加工轨迹包括,S301:获取步骤S2中输出的直线段;
S302:判断当前直线段的终点是否为样条拟合分界点,若当前直线段的终点是样条拟合分界点,则执行S303,若当前直线段的终点不是样条拟合分界点,则执行S304;S303:将当前直线段加入第二缓存,并将此时第二缓存中的直线段端点作为拟合数据进行拟合,执行S307;S304:将当前直线段加入第二缓存,执行S305;S305:判断第二缓存中直线段的总端点数是否等于一次拟合控制点数n的二倍,若第二缓存中直线段的总端点数等于一次拟合控制点数n的二倍,执行步骤S306,若第二缓存中直线段的总端点数不等于一次拟合控制点数n的二倍,返回执行步骤S301;S306:取第二缓存中的前n个直线段端点作为拟合数据进行拟合,生成拟合结果并执行S307;S307:判断拟合结果中起始点是否为样条拟合分界点,若拟合结果中起始点不是样条拟合分界点,则执行S308;若拟合结果中起始点是样条拟合分界点,则执行步骤S309;S308:在拟合结果首部加入缓存的交叉点,执行S309;S309:起始点取一重控制点,执行步骤S310;S310:判断拟合结果中终点是否是样条拟合分界点,若拟合结果中终点是样条拟合分界点,则执行步骤S311,若拟合结果中终点不是样条拟合分界点,则执行S312;S311:终点取一重控制点,执行S312;S312:获取本次拟合计算实际拟合控制点数N,执行步骤S313;S313:使用累加弦长法初始化NURBS节点矢量;S314:以直线段端点作为控制点,取各控制点权值为1,得到本次整体拟合NURBS样条曲线;S315:计算拟合NURBS样条曲线中各节点矢量处与直线段之间的偏差Error[j],其中j=1,2,3

,N

2,N

1;S316:判断Error[j]是否大于预设的偏差最大值,若Error[j]大于预设的偏差最大值,则执行S317,若Error[j]不大于预设的偏差最大值,则执行步骤S318;S317:在点j相邻的两条直线段中较长的直线段中点增加一控制点,并执行S313;S318:判断拟合NURBS样条曲线的终点是否是样条拟合分界点,若是,则执行S319,若不是,则执行S320;S319:输出拟合NURBS样条曲线;S320:缓存拟合NURBS样条曲线首部9个控制点作为交叉点,并输出首末交叉点之间的轨迹。5.基于误差约束的轨迹优化系统,用于执行权利要求1

4任一所述的基于误差约束的轨迹优化方法,其特征在于,包括,坏点去除模块,用于去除NC程序中的坏点,并对去除坏点后的原始直线段进行合并,输出合并后的直线段;数据选取模块,用于对坏点去除模块输出的直线段进行筛选,选取样条拟合分界点;和样条拟合模块,用于对选取了样条拟合分界点的直线段进行拟合与拼接...

【专利技术属性】
技术研发人员:程浩曹荣刚
申请(专利权)人:苏州谷夫道自动化科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1