轨迹补偿方法、计算机设备及计算机可读存储介质与流程

文档序号:33452799发布日期:2023-03-15 01:23阅读:21来源:国知局
轨迹补偿方法、计算机设备及计算机可读存储介质与流程

1.本发明涉及激光切割技术领域,尤其涉及一种轨迹补偿方法、计算机设备及计算机可读存储介质。


背景技术:

2.在激光切割的实际加工过程中,需要操作人员在数控系统中,预先设定队列补偿值来修改nc轨迹程序,以对待加的切割板材进行加工。这种设定队列补偿值,进行加工的方法,受激光设备和切割环境的影响,队列补偿值往往需要操作人员多次调整才能获取,队列补偿值获取难度较大,且队列补偿值获取时间过长,加工效率低;当操作人员设置的队列补偿值过大时,nc轨迹程序将发生复杂形变,出现过补偿现象,容易造成切割板材报废,造成较大的经济损失。


技术实现要素:

3.本发明实施例提供一种轨迹补偿方法,以解决激光切割时,加工效率低和过补偿的问题。
4.一种轨迹补偿方法,包括:
5.获取原始轨迹队列和所述原始轨迹队列对应的队列补偿值,所述原始轨迹队列包括至少两个待处理轨迹;
6.依据轨迹连接顺序,将所述原始轨迹队列中相邻两个所述待处理轨迹,分别确定为第一处理轨迹和第二处理轨迹;
7.计算所述第一处理轨迹和所述第二处理轨迹之间的轨迹夹角;
8.基于所述轨迹夹角和所述队列补偿值,获取所述第一处理轨迹和所述第二处理轨迹对应的目标补偿值;
9.采用所述目标补偿值,对所述第一处理轨迹和所述第二处理轨迹进行补偿处理,获取第一补偿轨迹和第二补偿轨迹;
10.依据所述轨迹连接顺序,依次将所述第一补偿轨迹和所述第二补偿轨迹,存储到目标补偿队列;
11.基于所述目标补偿队列,对待加工件进行加工处理,获取目标工件。
12.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述轨迹补偿方法的步骤。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述轨迹补偿方法的步骤。
14.上述轨迹补偿方法、计算机设备及计算机可读存储介质,依据轨迹连接顺序,将所述原始轨迹队列中相邻两个所述待处理轨迹,分别确定为第一处理轨迹和第二处理轨迹,以保证待处理轨迹的处理顺序与nc轨迹程序中待处理轨迹的顺序对应,以后续保证可以准
确地对切割板材进行加工,避免出现误差。计算所述第一处理轨迹和所述第二处理轨迹之间的轨迹夹角,以实现自动化确定轨迹夹角,为后续依据轨迹夹角确定第一处理轨迹和第二处理轨迹的目标补偿值,提供技术支持。基于所述轨迹夹角和所述队列补偿值,获取所述第一处理轨迹和所述第二处理轨迹对应的目标补偿值,以保证后续第一处理轨迹和第二处理轨迹利用精准的目标补偿值进行补偿,避免出现过补偿现象。采用所述目标补偿值,对所述第一处理轨迹和所述第二处理轨迹进行补偿处理,获取第一补偿轨迹和第二补偿轨迹,保证可以采用精准的目标补偿值对任意相邻的两个第一处理轨迹和第二处理轨迹进行补偿,以提高后续的激光切割精度,避免由于设定的队列补偿值过大,而导致部分待处理轨迹补偿处理后出现过补偿现象;且可以减少操作人员的操作难度和操作时间,提高激光切割效率。依据所述轨迹连接顺序,依次将所述第一补偿轨迹和所述第二补偿轨迹,存储到目标补偿队列;基于所述目标补偿队列,对待加工件进行加工处理,获取目标工件,从而提高了加工精度。
附图说明
15.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1是本发明一实施例中轨迹补偿方法的一流程图;
17.图2是本发明一实施例中第一处理轨迹和第二处理轨迹顺时针连接的一补偿示意图;
18.图3是本发明一实施例中第一处理轨迹和第二处理轨迹逆时针连接的一补偿示意图;
19.图4是本发明一实施例中第一处理轨迹和第二处理轨迹顺时针连接的另一补偿示意图;
20.图5是本发明一实施例中第一处理轨迹和第二处理轨迹逆时针连接的另一补偿示意图;
21.图6是本发明一实施例中轨迹补偿方法的另一流程图;
22.图7是本发明一实施例中轨迹补偿方法的另一流程图;
23.图8是本发明一实施例中轨迹补偿方法的另一流程图;
24.图9是本发明一实施例中轨迹补偿方法的另一流程图;
25.图10是本发明一实施例中确定补偿极限值的示意图;
26.图11是本发明一实施例中轨迹补偿方法的另一流程图;
27.图12是本发明一实施例中轨迹补偿方法的另一流程图;
28.图13是本发明一实施例中轨迹补偿方法的另一流程图;
29.图14是本发明一实施例中轨迹补偿方法的另一流程图;
30.图15是本发明一实施例中轨迹补偿方法的另一流程图;
31.图16是本发明一实施例中轨迹补偿方法的另一流程图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.如图1所示,本实施例提供一种轨迹补偿方法,包括如下步骤:
34.s101:获取原始轨迹队列和原始轨迹队列对应的队列补偿值,原始轨迹队列包括至少两个待处理轨迹。
35.其中,原始轨迹队列是指包含有至少两个待处理轨迹的队列。
36.队列补偿值是操作人员预先设定的,用于对原始轨迹队列中的所有待处理轨迹进行补偿处理的值。
37.待处理轨迹是操作人员基于切割板材进行编译得到的轨迹。
38.本实施例中,编译器通过解析操作人员预先编译的nc轨迹程序,得到nc轨迹程序中所有的待处理轨迹和队列补偿值;按照待处理轨迹在nc轨迹程序的轨迹连接顺序,依次将待处理轨迹存储在空白队列中,形成原始轨迹队列。其中,nc轨迹程序是numericalcontrol轨迹程序的缩写,意为自动化控制程序。轨迹连接顺序是指待处理轨迹在nc轨迹程序中的顺序,可以理解为,激光切割的实际加工过程中的待处理轨迹的加工顺序。
39.s102:依据轨迹连接顺序,将原始轨迹队列中相邻两个待处理轨迹,分别确定为第一处理轨迹和第二处理轨迹。
40.作为一示例,每一待处理轨迹中携带有状态标识,该状态标识用于确定待处理轨迹是否已经处理。状态标识包括已处理状态和待处理状态;已处理状态是指待处理轨迹已经处理;待处理状态是指待处理轨迹还未处理。
41.具体地,编译器遍历原始轨迹队列,根据待处理轨迹的状态标识和轨迹连接顺序,确定第一处理轨迹和第二处理轨迹,以保证待处理轨迹的处理顺序与nc轨迹程序中待处理轨迹的顺序对应,以后续保证可以准确地对切割板材进行加工,避免出现误差。
42.进一步地,根据待处理轨迹的状态标识和轨迹连接顺序,确定第一处理轨迹和第二处理轨迹,包括:判断是否存在已处理状态的待处理轨迹;若存在已处理状态的待处理轨迹,则将原始轨迹队列中的最后一个已处理状态对应的待处理轨迹确定为第一处理轨迹;根据轨迹连接顺序,将已处理状态对应的待处理轨迹,相邻的下一待处理轨迹(即原始轨迹队列中,第一个为待处理状态的待处理轨迹)确定为第二处理轨迹,保证后续相邻的第一补偿轨迹和第二补偿轨迹具有连续性,避免出现相邻的轨迹不连接,错误加工的情况。若待处理轨迹的状态标识不存在已处理状态,则根据轨迹连接顺序,将原始轨迹队列首端的第一个待处理轨迹(为待处理状态对应的待处理轨迹)确定为第一处理轨迹,第二个待处理轨迹(为待处理状态对应的待处理轨迹)确定为第二处理轨迹。本实施例中,利用状态标识和轨迹连接顺序从原始轨迹队列中获取第一处理轨迹和第二处理轨迹,以保证编译器能够自动处理带待处理轨迹,提高自动化程度,加快处理效率。其中,第一补偿轨迹是对第一处理轨迹进行补偿处理后,得到的轨迹;第二补偿轨迹是对第二处理轨迹进行补偿处理后,得到的轨迹。
43.s103:计算第一处理轨迹和第二处理轨迹之间的轨迹夹角。
44.其中,轨迹夹角是指第一处理轨迹和第二处理轨迹所形成的夹角。
45.本实施例中,对第一处理轨迹进行处理,得到第一处理参数;对第二处理轨迹进行处理,得到第二处理参数;将第一处理参数和第二处理参数输入夹角计算公式中,以实现自动化确定轨迹夹角,为后续依据轨迹夹角确定第一处理轨迹和第二处理轨迹的目标补偿值,提供技术支持。其中,第一处理参数和第二处理参数是用于计算轨迹夹角的参数,该第一处理参数可以为第一处理轨迹对应的第一向量;第二处理参数可以为第二处理轨迹对应的第二向量。
46.s104:基于轨迹夹角和队列补偿值,获取第一处理轨迹和第二处理轨迹对应的目标补偿值。
47.其中,目标补偿值是用于对第一处理轨迹和第二处理轨迹进行补偿处理的值。
48.通常情况下,当第一处理轨迹和第二处理对应的轨迹夹角小于π时,若采用过大的队列补偿值对第一处理轨迹和第二处理进行补偿处理时,容易出现补偿轨迹不相交,导致过补偿现象。
49.以第一处理轨迹和第二处理轨迹均为线段轨迹的情况进行补偿的过程分析如下:当操作人员设定的队列补偿值未超过极限补偿值时,如图2所示,队列补偿值未超过极限补偿值时,第一处理轨迹ab和第二处理轨迹bc顺时针连接的情况下,左补偿指令和右补偿指令的补偿结果图。
50.具体地,左补偿指令的补偿轨迹为顺时针连接的线段a1b1-圆弧b1b2-线段b2c1;当操作人员设定的队列补偿值未超过极限补偿值时,顺时针轨迹补偿过程为:第一处理轨迹 ab以队列补偿值为平移距离,按照法向量的方向向左平移,得到第一补偿轨迹a1b1;第二处理轨迹bc以队列补偿值为平移距离,按照法向量的方向向左平移,得到第二补偿轨迹b2c1;接着,以第一处理轨迹ab和第二处理轨迹b的连接点b为圆心,队列补偿值为半径,顺时针绘制圆弧b1b2,作为第一补偿轨迹a1b1和第二补偿轨迹b2c1的连接轨迹。图2右补偿指令补偿轨迹为顺时针连接线段a2b2-线段b2c2,轨迹补偿过程为:第一处理轨迹ab以队列补偿值为平移距离,按照法向量的方向向右平移,得到第一补偿轨迹a2b3;第二处理轨迹bc以队列补偿值为平移距离,按照法向量的方向向右平移,得到第二补偿轨迹b3c2;后计算第一补偿轨迹a2b3和第二补偿轨迹b3c2的交点b3,并将交点b3作为第一补偿轨迹a2b3和第二补偿轨迹b3c2的衔接点。
51.如图3所示,队列补偿值未超过极限补偿值时,第一处理轨迹ab和第二处理轨迹bc 逆时针连接的情况下,左补偿指令和右补偿指令的补偿结果图。其中,极限补偿值是指能够保证第一处理轨迹和第二处理轨迹不会出现过补偿现象的最大补偿值。
52.具体地,当操作人员设定的队列补偿值未超过极限补偿值时,逆时针轨迹补偿过程为:左补偿指令补偿轨迹为逆时针连接线段a2b2-线段b2c2。具体地,第一处理轨迹ab以队列补偿值为平移距离,按照法向量的方向向左平移,得到第一补偿轨迹a2b3;第二处理轨迹bc以队列补偿值为平移距离,按照法向量的方向向左平移,得到第二补偿轨迹b3c2;接着,计算第一补偿轨迹a2b3和第二补偿轨迹b3c2的交点b3,并将交点b3作为第一补偿轨迹a2b3和第二补偿轨迹b3c2的衔接点。
53.图3右补偿指令补偿轨迹为逆时针连接线段a1b1-圆弧b1b2-线段b2c1。具体地,第一处理轨迹ab以队列补偿值为平移距离,按照法向量的方向向左平移,得到第一补偿轨迹
a1b1;第二处理轨迹bc以队列补偿值为平移距离,按照法向量的方向向左平移,得到第二补偿轨迹b2c1;接着,以第一处理轨迹ab和第二处理轨迹b的连接点b为圆心,队列补偿值为半径,逆时针绘制圆弧b1b2,作为第一补偿轨迹a1b1和第二补偿轨迹b2c1的连接轨迹。
54.当操作人员设定的队列补偿值超过极限补偿值时,如图4所示,第一处理轨迹ab和第二处理轨迹bc顺时针连接的情况下,左补偿指令和右补偿指令的补偿结果图。具体地,左补偿指令补偿轨迹与图2左补偿指令补偿轨迹类似,由顺时针连接线段a1b1-圆弧b1b2
‑ꢀ
线段b2c1组成。图4右补偿指令补偿轨迹由顺时针连接线a2b3-圆弧b3b4-线段b4c2,这与图2右补偿指令补偿轨迹不同,导致这种现象的原因是因为第一处理轨迹ab右补偿得到的第一补偿轨迹a2b3和第二处理轨迹bc右补偿得到的第二补偿轨迹b4c2没有交点,而为了保证相邻的补偿轨迹连续,在第一补偿轨迹a2b3和第二补偿轨迹b4c2之间以b为圆心,队列补偿值为半径,逆时针绘制圆弧b3b4,作为补偿线段a2b3和线段b4c2的连接轨迹。这种现象称为过补偿。
55.如图5所示,第一处理轨迹ab和第二处理轨迹bc逆时针连接的情况下,左补偿指令和右补偿指令的补偿结果图。
56.具体地,图5右补偿指令补偿轨迹和图3右补偿指令轨迹类似,由逆时针连接线段 a1b1-圆弧b1b2-线段b2c1,图5左补偿指令补偿轨迹与图3左补偿指令补偿轨迹不同。
57.其中,左补偿指令是指示从第一处理轨迹和第二处理轨迹的左边,对第一处理轨迹和第二处理轨迹进行补偿的指令;右补偿指令是指示对第一处理轨迹和第二处理轨迹的右边,对第一处理轨迹和第二处理轨迹进行补偿的指令。
58.具体地,当轨迹夹角小于π时,则根据夹角轨迹进行计算,得到目标补偿值。当轨迹夹角不小于π时,则将队列补偿值确定为目标补偿值。
59.本实施例,根据轨迹夹角和队列补偿值确定第一处理轨迹和第二处理轨迹的目标补偿值,以保证后续第一处理轨迹和第二处理轨迹利用精准的目标补偿值进行补偿,避免出现过补偿现象。
60.s105:采用目标补偿值,对第一处理轨迹和第二处理轨迹进行补偿处理,获取第一补偿轨迹和第二补偿轨迹。
61.其中,第一补偿轨迹是采用目标补偿值对第一处理轨迹进行补偿处理后得到的轨迹。第二补偿轨迹是采用目标补偿值对第二处理轨迹进行补偿处理后得到的轨迹。
62.本实施例中,通过对轨迹夹角和队列补偿值进行处理,得到第一处理轨迹和第二处理轨迹对应的目标补偿值,实现自动化确定任意相邻的两个待处理轨迹匹配的目标补偿值,保证可以采用精准的目标补偿值对任意相邻的两个第一处理轨迹和第二处理轨迹进行补偿,以提高后续的激光切割精度,避免由于设定的队列补偿值过大,而导致部分待处理轨迹补偿处理后出现过补偿现象;且可以减少操作人员的操作难度和操作时间,提高激光切割效率。
63.s106:依据轨迹连接顺序,依次将第一补偿轨迹和第二补偿轨迹,存储到目标补偿队列。
64.其中,目标补偿队列是用于存储待处理轨迹补偿后的形成的补偿轨迹的队列。可以理解地,目标补偿队列中补偿轨迹与原始轨迹队列中的待处理轨迹一一对应。
65.本实施例中,依据轨迹连接顺序,依次将第一补偿轨迹和第二补偿轨迹,存储到目
标补偿队列;查询原始轨迹队列中是否存在待处理标识对应的待处理轨迹,若原始轨迹队列中存在待处理标识对应的待处理轨迹,则重复步骤s102-s106,直至原始轨迹队列中所有待处理轨迹对应的状态标识均为已处理标识。
66.s107:基于目标补偿队列,对待加工件进行加工处理,获取目标工件。
67.本实施例中,当处理完所有的待处理轨迹,则依据目标补偿队列中的补偿轨迹对待加工件进行加工处理,以得到目标工件,从而提高了加工精度。
68.本实施例所提供的轨迹补偿方法,依据轨迹连接顺序,将原始轨迹队列中相邻两个待处理轨迹,分别确定为第一处理轨迹和第二处理轨迹,以保证待处理轨迹的处理顺序与nc 轨迹程序中待处理轨迹的顺序对应,以后续保证可以准确地对切割板材进行加工,避免出现误差。计算第一处理轨迹和第二处理轨迹之间的轨迹夹角,以实现自动化确定轨迹夹角,为后续依据轨迹夹角确定第一处理轨迹和第二处理轨迹的目标补偿值,提供技术支持。基于轨迹夹角和队列补偿值,获取第一处理轨迹和第二处理轨迹对应的目标补偿值,以保证后续第一处理轨迹和第二处理轨迹利用精准的目标补偿值进行补偿,避免出现过补偿现象。采用目标补偿值,对第一处理轨迹和第二处理轨迹进行补偿处理,获取第一补偿轨迹和第二补偿轨迹,保证可以采用精准的目标补偿值对任意相邻的两个第一处理轨迹和第二处理轨迹进行补偿,以提高后续的激光切割精度,避免由于设定的队列补偿值过大,而导致部分待处理轨迹补偿处理后出现过补偿现象;且可以减少操作人员的操作难度和操作时间,提高激光切割效率。依据轨迹连接顺序,依次将第一补偿轨迹和第二补偿轨迹,存储到目标补偿队列;基于目标补偿队列,对待加工件进行加工处理,获取目标工件,从而提高了加工精度。
69.作为一实施例,如图6所示,步骤s101,即获取原始轨迹队列和原始轨迹队列对应的队列补偿值,包括:
70.s201:获取nc轨迹程序,检测nc轨迹程序中是否存在光斑补偿开启指令和光斑补偿取消指令。
71.其中,光斑补偿开启指令是开始对待处理轨迹的进行补偿的指令。光斑补偿取消指令是结束对待处理轨迹的进行补偿的指令。示例性地,光斑补偿开启指令可以是begin;光斑补偿取消指令可以是end。
72.本实施例中,编译器遍历nc轨迹程序,实现自动化检测nc轨迹程序中是否存在光斑补偿开启指令和光斑补偿取消指令。
73.s202:若nc轨迹程序中存在光斑补偿开启指令和光斑补偿取消指令,则获取位于光斑补偿开启指令和光斑补偿取消指令之间的至少两个待处理轨迹。
74.s203:基于至少两个待处理轨迹,获取原始轨迹队列。
75.s204:从nc轨迹程序中,获取队列补偿值。
76.本实施例中,当检测到nc轨迹程序中存在光斑补偿开启指令和光斑补偿取消指令,则依次将光斑补偿开启指令和光斑补偿取消指令之间的所有待处理轨迹,存储到空白队列中,形成原始轨迹队列,以保证对待处理轨迹进行处理的顺序与nc轨迹程序中待处理轨迹的顺序对应;并从nc轨迹程序中,获取操作人员预先编译的与原始轨迹队列对应的队列补偿值,后续可以利用队列补偿值得到满足不同待处理轨迹的目标补偿值,得到补偿轨迹,保证任意相邻的补偿轨迹可以正确连接,避免出现过补偿现象。
77.本实施例所提供的轨迹补偿方法,获取nc轨迹程序,检测nc轨迹程序中是否存在光斑补偿开启指令和光斑补偿取消指令;若nc轨迹程序中存在光斑补偿开启指令和光斑补偿取消指令,则获取位于光斑补偿开启指令和光斑补偿取消指令之间的至少两个待处理轨迹;基于至少两个待处理轨迹,获取原始轨迹队列;从nc轨迹程序中,获取队列补偿值,后续可以利用队列补偿值得到满足不同待处理轨迹的目标补偿值,得到补偿轨迹,保证任意相邻的补偿轨迹可以正确连接,避免出现过补偿现象。
78.作为一实施例,如图7所示,步骤s103,即计算第一处理轨迹和第二处理轨迹之间的轨迹夹角,包括:
79.s301:获取第一处理轨迹对应的第一向量,并获取第二处理轨迹对应的第二向量。
80.s302:对第一向量和第二向量进行相乘,获取向量乘积。
81.具体地,利用向量叉乘公式对第一向量和第二向量进行相乘,获取向量乘积。
82.s303:基于第一向量和第二向量获取第一处理轨迹和第二处理轨迹对应的轨迹方向。
83.其中,轨迹方向是指示第一处理轨迹的向量方向和第二处理轨迹的的向量方向形成的方向。
84.具体地,当第一处理轨迹对应的第一向量为第二处理轨迹对应的第二向量为则第一处理轨迹和第二处理轨迹对应的轨迹方向为第一方向,即第一方向为a指向b,b 指向c;
85.第一处理轨迹对应的第一向量为第二处理轨迹对应的第二向量为则第一处理轨迹和第二处理轨迹对应的轨迹方向为第二方向,即第二方向为b指向a,b指向c。
86.s304:根据夹角计算公式,对第一向量和第二向量进行计算,获取向量夹角。
87.其中,夹角计算公式是用于计算向量夹角的公式,本实施例中,夹角计算公式是反余弦函数,加快向量夹角的获取速度。
88.向量夹角是根据夹角计算公式计算得到的夹角。
89.s305:基于轨迹方向、向量乘积和向量夹角,获取第一处理轨迹和第二处理轨迹对应的轨迹夹角。
90.本实施例中,夹角计算公式是反余弦函数,由反余弦函数的特定可知,采用反余弦函数计算得到的向量夹角的值域为[0,π],但是由实际应用可知,轨迹夹角的值域为[0,2π],因此,本实施例,利用轨迹方向、向量乘积和向量夹角,共同确定第一处理轨迹和第二处理轨迹对应的轨迹夹角,确保轨迹夹角的正确性,避免出现第一处理轨迹和第二处理轨迹为逆时针方向旋转时,采用反余弦函数计算得到轨迹夹角错误的情况。
[0091]
本实施例所提供的轨迹补偿方法,获取第一处理轨迹对应的第一向量,并获取第二处理轨迹对应的第二向量;对第一向量和第二向量进行相乘,获取向量乘积;根据夹角计算公式,对第一向量和第二向量进行计算,获取向量夹角,加快向量夹角的获取速度;基于轨迹方向、向量乘积和向量夹角,获取第一处理轨迹和第二处理轨迹对应的轨迹夹角,确保轨迹夹角的正确性,避免出现第一处理轨迹和第二处理轨迹为逆时针方向旋转时,采用反余弦函数计算得到轨迹夹角错误的情况。
[0092]
作为一实施例,轨迹方向包括第一方向和第二方向;如图8所示,步骤s304,即基于
轨迹方向、向量乘积和向量夹角,获取第一处理轨迹和第二处理轨迹对应的轨迹夹角,包括:
[0093]
s401:当轨迹方向为第一方向,判断向量乘积是否小于0。
[0094]
s402:若向量乘积小于0,将2π与向量夹角的差值,确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角。
[0095]
s403:若向量乘积不小于0,则将向量夹角,确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角。
[0096]
具体地,当第一处理轨迹对应的第一向量为第处理轨迹对应的第二向量为则第一处理轨迹和第二处理轨迹对应的轨迹方向为第一方向,即第一方向为a指向b,b 指向c;根据“右手定则判断方向”可知,当向量乘积小于0,则说明第一向量和第二向量的旋转方向为顺时针方向旋转,轨迹夹角大于π,因此,将2π与向量夹角的差值确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角;当向量乘积不小于0,则说明第一向量和第二向量的旋转方向为逆时针方向旋转,此时,轨迹夹角不大于π,因此,将向量夹角,确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角。
[0097]
s404:当轨迹方向为第二方向,判断向量乘积是否小于0。
[0098]
s405:若向量乘积小于0,则将向量夹角,确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角。
[0099]
s406:若向量乘积不小于0,将2π与向量夹角的差值,确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角。
[0100]
具体地,当第一处理轨迹对应的第一向量为第二处理轨迹对应的第二向量为则第一处理轨迹和第二处理轨迹对应的轨迹方向为第二方向,即第二方向为b指向a, b指向c;根据“右手定则判断方向”可知,当向量乘积小于0,则说明第一向量和第二向量的旋转方向为逆时针方向旋转,轨迹夹角不大于π,因此,初始角度等于轨迹夹角;当向量乘积不小于0,则说明第一向量和第二向量的旋转方向为顺时针方向旋转,轨迹夹角大于π,因此,轨迹夹角为2π与向量夹角的差值。
[0101]
本实施例所提供的轨迹补偿方法,当向量乘积小于0,将2π与向量夹角的差值,确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角。向量乘积不小于0,则将向量夹角,确定为第一处理轨迹和第二处理轨迹对应的轨迹夹角。通过向量乘积,第一处理轨迹和第二处理轨迹对应的轨迹夹角,以保证轨迹夹角的准确性,避免仅通过反余弦函数进行计算,而出现夹角误差。
[0102]
作为一实施例,如图9所示,步骤s104,即基于轨迹夹角和队列补偿值,获取第一处理轨迹和第二处理轨迹对应的目标补偿值,包括:
[0103]
s501:若轨迹夹角小于π,则获取第一处理轨迹对应的第一轨迹长度和第二处理轨迹对应的第二轨迹长度。
[0104]
其中,第一轨迹长度是第一处理轨迹对应的长度。第二轨迹长度是第二处理轨迹对应的长度。
[0105]
s502:根据第一轨迹长度、第二轨迹长度和轨迹夹角,获取补偿极限值。
[0106]
其中,补偿极限值是指第一轨迹长度和第二处理轨迹所适应的最大的队列补偿
值。
[0107]
通常情况下,当第一处理轨迹和第二处理对应的轨迹夹角小于π时,若采用过大的队列补偿值对第一处理轨迹和第二处理进行补偿处理时,容易出现补偿轨迹不相交,导致过补偿现象。
[0108]
本实施例中,当第一处理轨迹和第二处理对应的轨迹夹角小于π时,为了保证可以正常对第一处理轨迹和第二处理轨迹进行精确补偿处理,则预先根据第一轨迹长度、第二轨迹长度和轨迹夹角,确定补偿极限值,即确定第一处理轨迹和第二处理轨迹所适用的最大补偿值;并判断队列补偿值是否超过补偿极限值,以保证后续可以精准对第一处理轨迹和第二处理轨迹进行补偿处理。
[0109]
s503:基于补偿极限值和队列补偿值,确定目标补偿值。
[0110]
本实施例中,通过对补偿极限值和队列补偿值进行比较,当队列补偿值不大于补偿极限值时,则将队列补偿值确定为目标补偿值;当队列补偿值大于补偿极限值时,则将补偿极限值确定为目标补偿值,以保证目标补偿值的准确性,后续可以依据精确的目标补偿值对第一处理轨迹和第二处理轨迹进行补偿处理,避免出现过补偿现象。
[0111]
s504:若轨迹夹角不小于π,则将队列补偿值确定为目标补偿值。
[0112]
本实施例中,当轨迹夹角不小于π,不会出现过补偿现象,因此,此时,将队列补偿值确定为目标补偿值,以加快目标补偿值的确定速度,且可以保证依据精确的目标补偿值对第一处理轨迹和第二处理轨迹进行补偿处理,避免出现过补偿现象。
[0113]
本实施例所提供的轨迹补偿方法,轨迹夹角小于π,则获取第一处理轨迹对应的第一轨迹长度和第二处理轨迹对应的第二轨迹长度。根据第一轨迹长度、第二轨迹长度和轨迹夹角,获取补偿极限值,以保证后续可以精准对第一处理轨迹和第二处理轨迹进行补偿处理。基于补偿极限值和队列补偿值,确定目标补偿值,以保证目标补偿值的准确性,后续可以依据精确的目标补偿值对第一处理轨迹和第二处理轨迹进行补偿处理,避免出现过补偿现象。当轨迹夹角不小于π,则将队列补偿值确定为目标补偿值,以加快目标补偿值的确定速度,保证可以依据精确的目标补偿值对第一处理轨迹和第二处理轨迹进行补偿处理,避免出现过补偿现象。
[0114]
作为一实施例,如图11所示,步骤s502,即根据第一轨迹长度、第二轨迹长度和轨迹夹角,获取补偿极限值,包括:
[0115]
s601:将第一轨迹长度和第二轨迹长度中的较小值,确定为补偿参数。
[0116]
其中,补偿参数是用于计算补偿极限值的参数。
[0117]
s602:采用补偿极限公式对轨迹夹角和补偿参数进行计算,获取补偿极限值。
[0118]
其中,补偿极限公式是用于计算补偿极限值的公式。
[0119]
如图4和图5所示,当第一处理轨迹ab和第二处理轨迹bc经过队列补偿值分别平移至a1b1和b2c1,根据平移条件可知l
ab
=l
a1b1
,l
bc
=l
b2c2
, l
ab2
+l
b2p1
=l
b2p1
+l
p1c1
=l
bc
,l
a1p1
+l
b1p1
=l
b1c
+l
p1b1
=l
ab
,因此,当队列补偿值不超过补偿极限值的情况下,第一补偿轨迹和第二补偿轨迹有交点p1。如图10所示,∠1+∠2+∠3+∠4=α,根据平移条件可知,即
0.95等;补偿极限值为transv,队列补偿值为tmpv,轨迹半径为中rc;则补偿极限值、队列补偿值和轨迹半径中的最小值的为min(tmpv,transv,rc),此时,目标补偿值等于目标标补标=setratio*min(tmpv,transv,rc),
[0130]
若第一处理轨迹和第二处理轨迹对应的方向补偿指令为右补偿指令,则目标补偿值为极限比例与补偿极限值、队列补偿值和轨迹半径中的最小值的乘积的负值;示例性地,极限比例为setratio;补偿极限值为transv,队列补偿值为tmpv,轨迹半径为中rc;则补偿极限值、队列补偿值和轨迹半径中的最小值的为min(tmpv,transv,rc),此时,目标补偿值等于目标标补标=-setratio*min(tmpv,transv,rc)。
[0131]
s704:若第一处理轨迹和第二处理轨迹均不为圆弧形轨迹,则将补偿极限值和队列补偿值中的较小值确定为目标补偿值。
[0132]
若第一处理轨迹和第二处理轨迹对应的方向补偿指令为左补偿指令,则目标补偿值为极限比例与补偿极限值、队列补偿值和轨迹半径中的最小值的乘积;示例性地,极限比例为setratio;补偿极限值为transv,队列补偿值为tmpv;则补偿极限值、队列补偿值和轨迹半径中的最小值的为min(tmpv,transv),此时,目标补偿值等于目标标补标=setratio*min(tmpv,transv)。
[0133]
若第一处理轨迹和第二处理轨迹对应的方向补偿指令为右补偿指令,则目标补偿值为极限比例与补偿极限值、队列补偿值和轨迹半径中的最小值的乘积的负值;示例性地,极限比例为setratio;补偿极限值为transv,队列补偿值为tmpv;则补偿极限值、队列补偿值和轨迹半径中的最小值的为min(tmpv,transv),此时,目标补偿值等于目标标补标=-setratio*min(tmpv,transv)。
[0134]
本实施例所提供的轨迹补偿方法,第一处理轨迹和第二处理轨迹中的任一个为圆弧形轨迹,则获取圆弧形轨迹对应的轨迹半径;将补偿极限值、队列补偿值和轨迹半径中的最小值确定为目标补偿值;当第一处理轨迹和第二处理轨迹均不为圆弧形轨迹,则将补偿极限值和队列补偿值中的较小值确定为目标补偿值。对第一处理轨迹和第二处理轨迹是否为圆弧形轨迹进行分别考虑,保证最终得到的目标补偿值不超过极限补偿值,以保证第一补偿轨迹和第二补偿轨迹可以准确连接,避免出现过补偿现象。
[0135]
作为一实施例,如图13所示,步骤s106,即依据轨迹连接顺序,依次将第一补偿轨迹和第二补偿轨迹,存储到目标补偿队列,包括:
[0136]
s801:判断第一补偿轨迹是否存储在目标补偿队列中。
[0137]
本实施例中,当编译器获取到第一补偿轨迹时,则查询目标补偿队列,以判断目标补偿队列是否存储有第一补偿轨迹,为后续确定第二补偿轨迹提供技术支持。
[0138]
具体地,当第一补偿轨迹不存储在目标补偿队列中,则说明第一补偿轨迹为第一次补偿处理得到的;当第一补偿轨迹存储在目标补偿队列中,则说明第一补偿轨迹不为第一补偿处理得到的。
[0139]
本实施例中,待处理轨迹中携带有轨迹标识,补偿轨迹携带有补偿轨迹标识,轨迹标识与补偿轨迹标识一一对应。示例性地,当原始轨迹队列中包括3个待处理轨迹,分别为待处理轨迹1、待处理轨迹2和待处理轨迹3;在第一次补偿处理时,将待处理轨迹1确定为第一处理轨迹,将待处理轨迹2确定为第二处理轨迹,则根据第一处理轨迹得到的第一补偿轨迹,此时,第一补偿轨迹对应的补偿轨迹标识为1;根据第二处理轨迹得到的第二补偿轨迹,
第二补偿轨迹对应的补偿轨迹标识为2,并将第一补偿轨迹1和第二补偿轨迹2存储在目标补偿队列中。在第二次补偿处理时,将待处理轨迹2确定为第一处理轨迹,将待处理轨迹3确定为第二处理轨迹,对待处理轨迹2进行处理得到的第一补偿轨迹,此时,第一补偿轨迹对应的补偿轨迹标识为2;当根据第二处理轨迹得到的第二补偿轨迹时,第二补偿轨迹对应的补偿轨迹标识为3;并将第一补偿轨迹2和第二补偿轨迹3存储在目标补偿队列中。
[0140]
s802:若第一补偿轨迹存储在目标补偿队列中,则获取当前补偿标识。
[0141]
其中,当前补偿标识是用于指示第一补偿轨迹和第二补偿轨迹的连接方式的标识。
[0142]
具体地,当第一补偿轨迹存储在目标补偿队列中,则获取第一补偿标识和第二补偿标识对应的当前补偿标识,以便根据当前补偿标识确定第一补偿轨迹和第二补偿轨迹的连接方式。
[0143]
s803:若第一补偿轨迹不存储在目标补偿队列中,则将第一补偿轨迹存储到目标补偿队列中,获取当前补偿标识。
[0144]
具体地,当第一补偿轨迹不存储在目标补偿队列中,则将第一补偿轨迹存储在目标补偿队列中,并获取第一补偿标识和第二补偿标识对应的当前补偿标识,以便根据当前补偿标识确定第一补偿轨迹和第二补偿轨迹的连接方式。
[0145]
s804:根据当前补偿标识,确定第二补偿轨迹对应的目标处理逻辑,执行第二补偿轨迹对应的目标处理逻辑,将第二补偿轨迹存储到目标补偿队列中。
[0146]
其中,目标处理逻辑是用于对确定第一补偿队列和第二补偿队列的连接方式的逻辑。
[0147]
本实施例中,当获取到当前补偿标识时,则执行目标处理逻辑,以确定第一补偿轨迹和第二补偿轨迹的连接方式,以将第二补偿轨迹存储在目标补偿队列中。本实施例中,通过当前补偿标识确定目标处理逻辑,实现精准地确定第一补偿轨迹和第二补偿轨迹的连接方式,为后续的激光切割提供技术支持,提供激光切割的切割精度。
[0148]
本实施例所提供的轨迹补偿方法,第一补偿轨迹存储在目标补偿队列中,则获取当前补偿标识。第一补偿轨迹不存储在目标补偿队列中,则将第一补偿轨迹存储到目标补偿队列中,获取当前补偿标识。根据当前补偿标识,确定第二补偿轨迹对应的目标处理逻辑,执行第二补偿轨迹对应的目标处理逻辑,将第二补偿轨迹存储到目标补偿队列中,为后续的激光切割提供技术支持,提供激光切割的切割精度。
[0149]
本实施例中,每一待处理轨迹携带有轨迹标识,每一补偿轨迹对应有补偿轨迹标识;
[0150]
作为一实施例,步骤s804,即根据当前补偿标识,确定第二补偿轨迹对应的目标处理逻辑,执行第二补偿轨迹对应的目标处理逻辑,将第二补偿轨迹存储到目标补偿队列中,包括:
[0151]
根据当前补偿标识,确定第二补偿轨迹对应的目标处理逻辑,执行第二补偿轨迹对应的目标处理逻辑,获取第二补偿轨迹对应的目标连接段,将目标连接段和第二补偿轨迹存储到目标补偿队列中。
[0152]
其中,目标连接段是指用于连接第一补偿轨迹和第二补偿轨迹的连接段,该目标连接段可以为线段、圆弧或者点等,在此不做限定。
[0153]
由于在激光切割过程是一个连续作业的过程,因此,需要根据目标处理逻辑确定第一补偿轨迹和第二补偿轨迹的目标连接段,保证第一补偿轨迹和第二补偿轨迹具有连续性,保证在激光切割中,实现连续作业,保证切割精准性,避免出现部分无法连接,出现切割异常。
[0154]
作为一实施例,如图14所示,当前补偿标识包括第一补偿标识和第二补偿标识。根据当前补偿标识,确定第二补偿轨迹对应的目标处理逻辑,执行第二补偿轨迹对应的目标处理逻辑,获取第二补偿轨迹对应的目标连接段,包括:
[0155]
s901:若当前补偿标识为第一补偿标识,则获取目标补偿队列对应的当前末端轨迹,计算当前末端轨迹的终点和第一补偿轨迹的终点之间的终点距离。
[0156]
其中,第一补偿标识是指示第一补偿轨迹和第二补偿轨迹连接方式的标识。
[0157]
当前末端轨迹是指目标补偿队列末端的轨迹,可以理解目标补偿队列中的最后一个补偿轨迹,需要说明地,当前末端轨迹和第一补偿轨迹为对同一第一处理轨迹进行补偿处理,得到的轨迹。终点距离是指当前末端轨迹的终点和第一补偿轨迹的终点之间的距离。
[0158]
具体地,当获取到原始轨迹队列,预先将原始轨迹队列中相邻的第一处理轨迹和第二处理轨迹的当前补偿轨迹标识,初始化为第一补偿标识;若第一处理轨迹和第二处理轨迹的轨迹夹角小于π,则将第一处理轨迹和第二处理轨迹对应的第一补偿标识修改为第二补偿标识;对第一处理轨迹和第二处理轨迹进行补偿处理后,得到第一补偿轨迹和第二补偿轨迹,此时,第一补偿轨迹和第二补偿轨迹的当前补偿标识,与对应的第一处理轨迹和第二处理轨迹的当前补偿标识相对应。当第一补偿轨迹和第二补偿轨迹的当前补偿标识为第一补偿标识,则计算当前末端轨迹的终点和第一补偿轨迹的终点之间的终点距离,以根据终点距离确定第一补偿轨迹和第二补偿轨迹之间的目标连接段,保证第一补偿轨迹和第二补偿轨迹具有连续性。其中,目标连接段是用于连接第一补偿轨迹和第二补偿轨的连接段。
[0159]
s902:根据终点距离,确定第一补偿轨迹和第二补偿轨迹之间的目标连接段。
[0160]
本实施例,在得到第一补偿轨迹和第二补偿轨迹后,则需要计算当前末端轨迹的终点和第一补偿轨迹的终点的终点距离,以根据终点距离确定第一补偿轨迹和第二补偿轨迹的目标连接段,从而实现根据第一补偿轨迹和第二补偿轨迹的目标连接段,以实现精准连接第一补偿轨迹和第二补偿轨迹,避免出现过补偿现象。
[0161]
s903:若当前补偿标识为第二补偿标识,则获取目标补偿队列对应的当前末端轨迹,获取当前末端轨迹和第二补偿轨迹对应的轨迹交点。
[0162]
其中,第二补偿标识是指示第一补偿轨迹和第二补偿轨迹不需要增加目标连接段的标识。
[0163]
s904:根据轨迹交点,确定第一补偿轨迹和第二补偿轨迹之间的目标连接段。
[0164]
具体地,当第一补偿轨迹和第二补偿轨迹的当前补偿标识为第二补偿标识,则计算当前末端轨迹和第一补偿轨迹的轨迹交点,以根据轨迹交点确定第一补偿轨迹和第二补偿轨迹之间的目标连接段,保证第一补偿轨迹和第二补偿轨迹具有连续性。
[0165]
本实施例中,将目标连接段和第二补偿轨迹存储到目标补偿队列中,且保证目标连接段位于当前末端轨迹之后,以便在后续的激光切割中,可以将当前末端轨迹、目标连接段和第二补偿轨迹依次连接,避免出现过补偿现象。
[0166]
本实施例所提供的轨迹补偿方法,当前补偿标识为第一补偿标识,则获取目标补偿队列对应的当前末端轨迹,计算当前末端轨迹的终点和第一补偿轨迹的终点之间的终点距离。根据终点距离,确定第一补偿轨迹和第二补偿轨迹之间的目标连接段,保证第一补偿轨迹和第二补偿轨迹具有连续性。当前补偿标识为第二补偿标识,则获取目标补偿队列对应的当前末端轨迹,获取当前末端轨迹和第二补偿轨迹对应的轨迹交点。根据轨迹交点,确定第一补偿轨迹和第二补偿轨迹之间的目标连接段,保证第一补偿轨迹和第二补偿轨迹具有连续性。将目标连接段和第二补偿轨迹存储到目标补偿队列中,避免出现过补偿现象。
[0167]
作为一实施例,如图15所示,步骤s902,即根据终点距离,确定第一补偿轨迹和第二补偿轨迹之间的目标连接段,包括:
[0168]
s1001:若终点距离大于0,则在当前末端轨迹和第二补偿轨迹之间增加第一补偿线段,将第一补偿线段确定为目标连接段。
[0169]
s1002:若终点距离等于0,则在当前末端轨迹和第二补偿轨迹之间增加补偿圆弧,将补偿圆弧确定为目标连接段。
[0170]
其中,第一补偿线段是用于连接第一补偿轨迹和第二补偿轨迹的线段。补偿圆弧是用于连接第一补偿轨迹和第二补偿轨迹的圆弧。
[0171]
本实施例中,由于当前末端轨迹和第一补偿轨迹是依据同一个待处理轨迹得到的,在当前末端轨迹的终点和第一补偿轨迹的终点之间的终点距离大于0时,则第二补偿轨迹的终点和当前末端轨迹的终点并未重合,则需要在当前末端轨迹和第二补偿轨迹之间增加第一补偿线段,以连接当前末端轨迹和第二补偿轨迹,保证当前末端轨迹和第二补偿轨迹具有连续习性;当终点距离等于0,则为连接当前末端轨迹和第二补偿轨迹,则按照正常的处理方式,在当前末端轨迹和第二补偿轨迹之间增加补偿圆弧,将补偿圆弧确定为目标连接段,则在在当前末端轨迹和第二补偿轨迹之间增加补偿圆弧,保证当前末端轨和第二补偿轨迹具有连续性。
[0172]
本实施例所提供的轨迹补偿方法,终点距离大于0,则在当前末端轨迹和第二补偿轨迹之间增加第一补偿线段,将第一补偿线段确定为目标连接段。终点距离等于0,则在当前末端轨迹和第二补偿轨迹之间增加补偿圆弧,将补偿圆弧确定为目标连接段,保证当前末端轨和第二补偿轨迹具有连续性。
[0173]
作为一实施例,如图16所示,步骤s904,即根据轨迹交点,确定第一补偿轨迹和第二补偿轨迹之间的目标连接段,包括:
[0174]
s1101:若轨迹交点在第二补偿轨迹上,则将轨迹交点确定为目标连接段。
[0175]
s1102:若轨迹交点不在第二补偿轨迹上,则在当前末端轨迹和第二补偿轨迹之间增加第二补偿线段,将第二补偿线段目标连接段确定为目标连接段。
[0176]
本实施例中,轨迹交点为当前末端轨和第二补偿轨迹形成的交点,此时,轨迹交点在第二补偿轨迹上;或者,由当前末端轨的延长线和第二补偿轨迹形成的交点,此时,轨迹交点在第二补偿轨迹上;或者,由当前末端轨和第二补偿轨迹的延长线形成的交点,此时,轨迹交点不在第二补偿轨迹上;或者,由当前末端轨的延长线和第二补偿轨迹的延长线形成的交点,此时,轨迹交点不在第二补偿轨迹上。
[0177]
当轨迹交点在第二补偿轨迹上,则将轨迹交点确定为目标连接段;当轨迹交点不在第二补偿轨迹上,则说明当前末端轨和第二补偿轨迹无法相交,需要在当前末端轨迹和
第二补偿轨迹之间增加第补偿线段,将第二补偿线段确定为目标连接段,保证当前末端轨和第二补偿轨迹具有连续性。
[0178]
本实施例所提供的轨迹补偿方法,轨迹交点在第二补偿轨迹上,则将轨迹交点确定为目标连接段。轨迹交点不在第二补偿轨迹上,则在当前末端轨迹和第二补偿轨迹之间增加第二补偿线段,将第二补偿线段确定为目标连接段,保证当前末端轨和第二补偿轨迹具有连续性。
[0179]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0180]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中轨迹补偿方法的步骤,例如图1所示的步骤s101-s107,或者图6至图16中所示的步骤,为避免重复,这里不再赘述。
[0181]
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中轨迹补偿方法的步骤,例如图1所示的步骤s101-s107,或者图6至图16中所示的步骤,为避免重复,这里不再赘述。
[0182]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0183]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1