System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及运动控制,尤其是涉及一种插补方法、装置、插补器和介质。
技术介绍
1、在高速高精的运动控制系统中,将用户给定但还未执行到的加工指令预读运动控制环节进行前瞻控制是控制系统能够做到高速加工的重要保证。
2、将加工指令预读并做前瞻控制的做法可以最大化得给定多段轨迹连续加工时的给进速度从而得到一个整体的加工速度的最优解。为了使得速度在多段轨迹的衔接处能够平滑过渡,前瞻控制算法一般会包括以下三个部分:前瞻连续轨迹衔接点速度给定;轨迹加减速规划;插补点计算。
3、在前瞻控制的轨迹加减速规划的方案中,s曲线的加速度规划连续以至于在加工时不会在加速度环节产生突变,实际的伺服系统可以更好得贴合规划的速度进行加工。但是利用s曲线规划速度时可能改变初速度或者末速度,进而导致前瞻需要重新计算引入巨大的计算量,计算效率低的同时系统稳定性较差。
技术实现思路
1、为了实现提高计算效率且提高系统的稳定性,本申请提供一种插补方法、装置、插补器和介质。
2、第一方面,本申请提供一种插补方法,采用如下的技术方案:
3、一种插补方法,包括:
4、实时获取加工轨迹和运动约束信息,其中,所述加工轨迹由多个加工点构成,所述运动约束信息包括:各个轴加速度、加加速度和最高运行速度;
5、根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;
6、在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息
7、根据所述运动曲线,依次确定细分位置对应的位置指令,所述位置指令包括细分位置以及细分位置对应的运动信息;
8、当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器。
9、通过采用上述技术方案,实时获取由多个加工点构成的加工轨迹和运动约束信息;然后根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行s型速度规划,得到运动曲线;不改变轨迹衔接点速度,所以不会引入速度规划结果对前瞻环节的影响,避免了迭代计算;根据运动曲线,依次确定细分位置对应的位置指令,位置指令包括细分位置以及细分位置对应的运动信息;当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器,能够提高计算效率,提高插补器工作的稳定性。
10、本申请在一较佳示例中可以进一步配置为:
11、所述根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度,包括:
12、确定相邻两个加工点的线段长度以及方向向量,根据方向向量确定相邻两个线段的线段夹角;
13、根据相邻两个线段的线段夹角、相邻两个线段的初始加工点对应的初始速度、在后线段的线段长度以及所述运动约束信息,确定相邻两个线段的中间加工点的速度;将相邻两个线段的中间加工点的速度作为下一相邻两个线段的初始加工点对应的初始速度,并按照上述速度确定的方式进行双向扫描,以得到各个加工点对应的加工速度。
14、通过采用上述技术方案,采用双向扫描方式,根据先线段的长度以及夹角和运动约束信息进行双向扫描,在保证所有加工点的速度有效的前提下,提高了扫描的效率。
15、本申请在一较佳示例中可以进一步配置为:
16、所述在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行s型速度规划,得到运动曲线,包括:
17、针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行s型速度规划,依次得到每段轨迹对应的子运动曲线;
18、根据各个子运动曲线得到运动曲线。
19、通过采用上述技术方案,对每段轨迹进行速度规划得到对应的子运动曲线,进而根据各段轨迹对应的子运动曲线得到运动曲线。
20、本申请在一较佳示例中可以进一步配置为:
21、所述针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行s型速度规划,依次得到每段轨迹对应的子运动曲线,包括:
22、针对每段轨迹,初速度、末速度以及轨迹线段长度和所述运动约束信息,从初始两点至中间进行s型速度迭代规划,得到每段轨迹对应的初始子运动曲线;
23、判断所述初始子运动曲线是否符合最小指令周期;
24、若否,则调整所述初始子运动曲线得到子运动曲线,其中,所述子运动曲线符合所述最小指令周期;
25、若是,则将所述初始子运动曲线确定为子运动曲线。
26、通过采用上述技术方案,通过对不符合最小指令周期的初始子运动曲线进行误差补偿,使得补偿后的运动曲线符合要求,以便于在实际加工时能够合理下发位置指令,保证了加工运动的平滑性。
27、本申请在一较佳示例中可以进一步配置为:
28、所述调整所述初始子运动曲线得到子运动曲线,包括:
29、确定所述初始子运动曲线的速度类型;
30、判断所述速度类型是否包括匀速段或匀加速段;
31、若是,则对所述初始子运动曲线进行时间向上圆整规划,得到所述子运动曲线;
32、若否,则对所述初始子运动曲线进行时间向下圆整规划,得到所述子运动曲线。
33、通过采用上述技术方案,对有匀速段、有匀加速段的情况尝试进行时间向上圆整,对其他以及上述两种类型中无法完成时间向上圆整的情况进行时间向下圆整以完成速度规划。在速度规划环节对不同的情况进行了合理的分类,尽可能得避免了后续补偿纠偏的补偿值过大导致系统加速度加加速度超限的情况,指令时间圆整,所以指令连续精确,不会在运动中引入误差指令位置与加速度突变,加工精度高。
34、本申请在一较佳示例中可以进一步配置为:
35、根据所述运动曲线,依次确定关键点位置对应的位置指令之后,还包括:
36、实时判断运动缓存区是否存在空闲;
37、若所述运动缓存区存在空闲,则根据当前插补进度,将剩余位置指令写入缓存区直至所述运动缓存区被填满;
38、相应的,所述当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器,包括:
39、当接收到驱动器请求后,从所述运动缓存区读取与请求对应的位置指令,并发送至所述驱动器。
40、通过采用上述技术方案,引入了运动缓存区,使得速度规划的计算可以在一定程度上与总线周期异步,使得指令前瞻速度规划这类大计算量的环节可以与实时总线隔离,降低了插补计算的实时性要求,增强了系统的鲁棒性。
41、本申请在一较佳示例中可以进一步配置为:所述方法还包括:
42、当接收到实时变速的请求后,清除运动缓存区中的预设数量的即将待执行的位置指令之后的其他位置指令;
43、将所述运动缓存区中最后一个位置指令中的加工速度作为初速度;
...【技术保护点】
1.一种插补方法,其特征在于,包括:
2.根据权利要求1所述的插补方法,其特征在于,所述根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度,包括:
3.根据权利要求1所述的插补方法,其特征在于,所述在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线,包括:
4.根据权利要求3所述的插补方法,其特征在于,所述针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线,包括:
5.根据权利要求4所述的插补方法,其特征在于,所述调整所述初始子运动曲线得到子运动曲线,包括:
6.根据权利要求1至5任一项所述的插补方法,其特征在于,根据所述运动曲线,依次确定关键点位置对应的位置指令之后,还包括:
7.根据权利要求6所述的插补方法,其特征在于,还包括:
8.一种插补装置,其特征在于,包括:
9.一种插补器,其特征在于,包括:
10.一种计算机可读存储介质,
...【技术特征摘要】
1.一种插补方法,其特征在于,包括:
2.根据权利要求1所述的插补方法,其特征在于,所述根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度,包括:
3.根据权利要求1所述的插补方法,其特征在于,所述在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行s型速度规划,得到运动曲线,包括:
4.根据权利要求3所述的插补方法,其特征在于,所述针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行s型速度规划,依次得到每段轨迹对应的子运动曲线,包括:
5...
【专利技术属性】
技术研发人员:区世权,何逸朗,
申请(专利权)人:佛山德玛特智能装备科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。