System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于TwinCAT软件的开放式多执行端控制系统及方法技术方案_技高网

一种基于TwinCAT软件的开放式多执行端控制系统及方法技术方案

技术编号:41872787 阅读:8 留言:0更新日期:2024-07-02 00:24
本发明专利技术公开了一种基于TwinCAT软件的开放式多执行端控制系统及方法,包括人机界面系统和基于TwinCAT软件开发的控制系统,该系统包括执行端控制器、轨迹规划核、接收缓存器、规划缓存器、轨迹插补核、伺服驱动器;人机界面系统通过QT多线程操作及NC总控规则进行多执行端的并行运行;每个执行端的轨迹规划模块与轨迹插补模块分布在不同核内;执行端通过多个缓存器的切换实现先入先出寄存,并通过错位访问不同的缓存器避免书写多核系统对共有变量的读取锁,通过同时运行轨迹规划核与轨迹插补核,实现在线轨迹规划与插补。本发明专利技术可以有效实现多执行端的同时在线轨迹规划与插补控制,拓展了多执行端设备的应用场景与研究。

【技术实现步骤摘要】

本专利技术属于多执行端的协同控制,具体涉及一种基于twincat软件的开放式多执行端控制系统及方法。


技术介绍

1、现代飞机进行集成组装时,需要将机身的前中后段进行对接调姿拼装,涉及到多个支撑执行端的复杂运动。通过同时驱动多个支撑执行端运动,可以减少单个执行端运动带来的构件应力变形,同时可以减少多个执行端顺序执行所带来的时间消耗。此外,多执行端的协同工作模式越来越多,如工厂中越来越多的出现多机器人协同完成一件事。然而商业多执行端控制系统封闭,无法进行二次开发实现特定需求,因此如何开发一个开放式的控制多个执行端进行复杂运动的控制技术是一个待解决的问题。

2、现有的多执行端的控制技术,如申请号202310699731.9的专利提出了一种多机器人协同的方舱智能钻铆系统控制方法,多侧重于任务层级的多机器人工作,无法实现多机器人的连续轨迹同时运动,且不涉及到多机器人底层控制系统的逻辑实现;在单执行端控制系统方面,申请号202010483577.8的专利提出了一种串并联机器人的控制系统提出了一种机器人控制系统设计,但是此种方式无法实现在线连续轨迹插补,且事先需要将轨迹信息进行插补逆解,将角度信息发送给伺服驱动器,这种方式增加了上位机系统的代码量。而且twincat用st语言实现“先入先出”队列模式较为复杂。综合来看,亟需一种开放的多执行端在线控制系统。


技术实现思路

1、本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种基于twincat软件的开放式多执行端控制系统及方法,采用人机界面加控制系统的开放式结构,克服了传统开放式控制系统不能在线规划的问题,实现了多执行端的并行控制,可以有效实现多执行端的同时在线轨迹规划与插补控制,拓展了多执行端设备的应用场景与研究。

2、为实现上述技术目的,本专利技术采取的技术方案为:

3、一种基于twincat软件的开放式多执行端控制系统,其特征在于,包括人机界面系统和基于twincat软件开发的控制系统,其中基于twincat软件开发的控制系统包括执行端控制器、轨迹规划核、接收缓存器、规划缓存器、轨迹插补核、伺服驱动器;

4、所述人机界面系统,用于执行nc程序加载、译码、手动操作和程序启动,并通过qt多线程操作及nc总控规则进行多执行端的并行运行;

5、所述执行端控制器通过多个缓存器的切换实现先入先出寄存,并且错位访问不同的缓存器;

6、所述执行端控制器的轨迹规划核的对应接收缓存器与人机界面系统通信,接收人机界面系统发送来的数据;

7、所述轨迹规划核,用于从接收缓存器读取数据进行轨迹规划,并存入规划缓存器;

8、所述轨迹插补核,用于读取已规划数据进行插补,并将逆解后的数据发送给对应的伺服驱动器进行运动。

9、为优化上述技术方案,采取的具体措施还包括:

10、上述的人机界面系统基于qt软件开发,与执行端控制器的轨迹规划核的对应接收缓存器通过ads进行数据传输。

11、上述的人机界面系统中nc程序启动时,每个执行端的nc程序是否执行,由总nc调度程序决定;

12、所述人机界面系统在对应执行端的nc程序要执行时,从线程池内启用一条线程用于执行对应执行端的nc程序,不用时则将对应的线程回收至线程池,同时运行的线程数量小于等于n+1,其中n为控制的执行端数量;

13、所述人机界面系统在每条nc代码被执行端执行完成并反馈信号后,对其进行标记。

14、上述的每个执行端控制器对应的轨迹规划核和轨迹插补核分布在不同的核心内,且轨迹插补核的优先级大于轨迹规划核,多个核同时独立运行;所述轨迹规划核与轨迹插补核利用全局变量区进行数据传输;所述轨迹规划核的接收缓存器接收经人机界面系统译码后的加工数据。

15、上述的每个执行端控制器对应的接收缓存器为两个定长的接收缓存器1、接收缓存器2,当接收缓存器1存满后,接收缓存器2才会开始接收数据存储;当接收缓存器1的数据都被取走后,接收缓存器2的数据方能被取走;

16、当接收缓存器1或接收缓存器2的数据被全部取走后,给人机界面系统发送信号,重新填充数据;

17、每次重新启动时,每个执行端控制器均优先将其对应的接收缓存器1填满后开始进行轨迹规划。

18、上述的轨迹规划核从接收缓存器中读取数据进行轨迹规划时,进行如下数据判断:

19、若相邻的三个数据出现三点同向式共线,则剔除中间点数据进行直线数据合并,直至取到满足一次规划的数据;若相邻的三个数据出现三点折返式共线,则将相邻的三个数据中最后一个数据放入下一次的规划数据集合内,并补齐当前次规划的数据量;

20、所述轨迹规划包含拐角光滑曲线的构造、最短时间的全局速度连续规划、插补周期圆整、位姿同步;规划完成的数据发送至对应执行端控制器的规划缓存器等待轨迹插补核的插补。

21、上述的每个执行端控制器均对应有两个定长的规划缓存器1、规划缓存器2,每个执行端控制器必须先从规划缓存器1中取数据,待规划缓存器1中的数据全部被取走,方能取规划缓存器2的数据;当规划缓存器1的数据被取完后,将标记位发送给轨迹规划核,等待规划数据再次填充;在每个执行端控制器重新规划时,均需要等待规划缓存器1填充满后才能进行读取数据进行插补的操作,以避免数据读取冲突。

22、上述的所述轨迹插补核从规划缓存器中读取已规划数据进行插补,取走的数据包含当前段的起止点位置和速度、每段速度曲线的时间、附加变量,按照与轨迹规划核对应的速度规划曲线和拐角光滑曲线模型计算每个插补周期的位置,并将计算出的位置发送给对应执行端控制器的逆解器进行逆解,然后将数据通过ethercat总线发送给伺服驱动器进行运动,从而实现执行端的运动;

23、轨迹规划核在进行插补的同时不停的扫描是否有完全空置的规划缓存器,从而实现规划与插补的同时运行。

24、上述的执行端控制器的任务执行完成后,将所有的规划变量置位,包括:

25、当前阶段执行端控制器的任务执行完运动后,将所有轨迹规划与轨迹插补以及与人机界面系统通信的变量、规划缓存器内的数据进行置位,等待下次的执行端任务执行。

26、一种基于twincat软件的开放式多执行端控制方法,包括:

27、步骤一,人机界面系统同时导入将多执行端的运行程序并启动运行;

28、步骤二,执行端控制器的轨迹规划核的对应接收缓存器与人机界面系统通信,接收人机界面系统发送来的数据;

29、步骤三,轨迹规划核从接收缓存器读取数据进行轨迹规划,并存入规划缓存器;

30、步骤四,轨迹插补核读取已规划数据进行插补,并将逆解后的数据发送给对应的伺服驱动器进行运动;

31、步骤五,当前执行端的任务执行完成后,将所有的变量置位,等待下一次运动。

32、本专利技术具有以下有益效果:

33、1. 本专利技术人机界面系本文档来自技高网...

【技术保护点】

1.一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,包括人机界面系统和基于TwinCAT软件开发的控制系统,其中基于TwinCAT软件开发的控制系统包括执行端控制器、轨迹规划核、接收缓存器、规划缓存器、轨迹插补核、伺服驱动器;

2.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,所述人机界面系统基于QT软件开发,与执行端控制器的轨迹规划核的对应接收缓存器通过ADS进行数据传输。

3.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,所述人机界面系统中NC程序启动时,每个执行端的NC程序是否执行,由总NC调度程序决定;

4.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,每个执行端控制器对应的轨迹规划核和轨迹插补核分布在不同的核心内,两者通过全局变量区进行数据交换,且轨迹插补核的优先级大于轨迹规划核,多个核同时独立运行;所述轨迹规划核与轨迹插补核利用全局变量区进行数据传输;所述轨迹规划核的接收缓存器接收经人机界面系统译码后的加工数据。

5.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,每个执行端控制器对应的接收缓存器有定长的接收缓存器1、接收缓存器2,当接收缓存器1存满后,接收缓存器2才会开始接收数据存储;当接收缓存器1的数据都被取走后,接收缓存器2的数据方能被取走;

6.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,所述轨迹规划核从接收缓存器中读取数据进行轨迹规划时,进行如下数据判断:

7.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,每个执行端控制器均对应有定长的规划缓存器1、规划缓存器2,每个执行端控制器必须先从规划缓存器1中取数据,待规划缓存器1中的数据全部被取走,方能取规划缓存器2的数据;当规划缓存器1的数据被取完后,将标记位发送给轨迹规划核,等待规划数据再次填充;在每个执行端控制器重新规划时,均需要等待规划缓存器1填充满后才能进行读取数据进行插补的操作,以避免数据读取冲突。

8.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,所述轨迹插补核从规划缓存器中读取已规划数据进行插补,取走的数据包含当前段的起止点位置和速度、每段速度曲线的时间、附加变量,按照与轨迹规划核对应的速度规划曲线和拐角光滑曲线模型计算每个插补周期的位置,并将计算出的位置发送给对应执行端控制器的逆解器进行逆解,然后将数据通过EtherCAT总线发送给伺服驱动器进行运动,从而实现执行端的运动;

9.根据权利要求1所述的一种基于TwinCAT软件的开放式多执行端控制系统,其特征在于,所述执行端控制器的任务执行完成后,将所有的规划变量置位,包括:

10.根据权利要求1-9任一所述的一种基于TwinCAT软件的开放式多执行端控制系统的开放式多执行端控制方法,其特征在于,包括:

...

【技术特征摘要】

1.一种基于twincat软件的开放式多执行端控制系统,其特征在于,包括人机界面系统和基于twincat软件开发的控制系统,其中基于twincat软件开发的控制系统包括执行端控制器、轨迹规划核、接收缓存器、规划缓存器、轨迹插补核、伺服驱动器;

2.根据权利要求1所述的一种基于twincat软件的开放式多执行端控制系统,其特征在于,所述人机界面系统基于qt软件开发,与执行端控制器的轨迹规划核的对应接收缓存器通过ads进行数据传输。

3.根据权利要求1所述的一种基于twincat软件的开放式多执行端控制系统,其特征在于,所述人机界面系统中nc程序启动时,每个执行端的nc程序是否执行,由总nc调度程序决定;

4.根据权利要求1所述的一种基于twincat软件的开放式多执行端控制系统,其特征在于,每个执行端控制器对应的轨迹规划核和轨迹插补核分布在不同的核心内,两者通过全局变量区进行数据交换,且轨迹插补核的优先级大于轨迹规划核,多个核同时独立运行;所述轨迹规划核与轨迹插补核利用全局变量区进行数据传输;所述轨迹规划核的接收缓存器接收经人机界面系统译码后的加工数据。

5.根据权利要求1所述的一种基于twincat软件的开放式多执行端控制系统,其特征在于,每个执行端控制器对应的接收缓存器有定长的接收缓存器1、接收缓存器2,当接收缓存器1存满后,接收缓存器2才会开始接收数据存储;当接收缓存器1的数据都被取走后,接收缓存器2的数据方能被取走;

6.根据权利要求1所述的一种...

【专利技术属性】
技术研发人员:胡俊山李明宇康瑞浩李正平王翰诚王良相田威
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

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

1