并联机器人的多线程控制器制造技术

技术编号:32027147 阅读:23 留言:0更新日期:2022-01-22 18:58
本申请涉及一种并联机器人的多线程控制器。其中,将所有任务集中在分层次的主线程、实时线程、预处理线程和后台线程这四个线程中,并将不同优先级的任务放在不同级别的线程中,优先保证运动逻辑,其次是运动规划,再次是通讯与界面交互,最后是文件读取和耗时计算,并使各种运算严格的在各自线程中运行,以及,通过在各个线程之间提供进行数据交互的线程安全队列,以及线程时钟调用和相互推送任务机制,从而实现线程之间的通讯调用的安全性与数据交互的灵活性。据交互的灵活性。据交互的灵活性。

【技术实现步骤摘要】
并联机器人的多线程控制器


[0001]本申请涉及机器人
,尤其涉及一种并联机器人的多线程控制器。

技术介绍

[0002]机器人运动控制是一个相对复杂的过程,机器人的控制对实时性要求较高,需要保证控制器与硬件的通讯的时效性,而同时,机器人运动规划的过程中又需要读写文件、通讯、数学计算等一些耗时操作,这些操作既需要提供运动必要的数据,又不能影响与硬件的通讯的实时性,所以就有了区分线程的必要。
[0003]但是对于多线程程序,线程之间的配合和交互一直是程序的难点,比如现有方案针对多线程之间的数据交换和任务推送的处理不够灵活,导致整体控制流程实时性和安全性不够。

技术实现思路

[0004]本申请提供一种并联机器人的多线程控制器,以解决现有的多线程控制方案的实时性和安全性不够的问题。
[0005]本申请的上述目的是通过以下技术方案实现的:本申请实施例提供一种并联机器人的多线程控制器,其包括:主线程、实时线程、预处理线程和后台线程;其中,所述主线程、实时线程、预处理线程和后台线程之间存在互相调度,通过创建线程任务、存放数据到缓冲区列表被其他进程调用的方式,以线程的安全队列方式来保障线程正常的调用及执行;所述主线程用于进行初始化和线程调用,以实现并联机器人的运动逻辑的控制;其中,所述初始化包括:初始化硬件通信、初始化日志管理工具、初始化报警管理工具、初始化自定义的TCP通信协议、初始化时钟和初始化机器人参数;所述线程调用包括:接收修改变量指令、接收执行指令、进行异步操作和控制通信;所述实时线程用于实现与硬件设备的通讯和界面交互,其中包括:获取机器人硬件参数、计算机器人动平台实时位置、向硬件发送控制信号和实时触发I/O设备;所述预处理线程用于实现运动规划,其中包括:变量指令解析、机器人运动规划和最新指令规划;所述后台线程用于文件读写和耗时计算。
[0006]可选的,各线程中的任务以任务列表的形式存放在内存中,每个生成的任务都包含一个具体的时钟信号,且任务按时钟的时序顺序排列,各线程调用任务列表的任务时,按时钟顺序先后调用。
[0007]可选的,在进行变量修改时,各线程执行的调用逻辑包括:所述主线程创建后台缓存线程并将修改变量指令对应的任务添加到后台任务列表,以及创建预处理线程,并将修改变量指令对应的数据包发送给预处理线程;所述预处理线程获取到主线程发送的数据包后,进行指令解析,以及创建获取机
器人末端位置的实时线程任务;所述实时线程根据所述预处理线程创建的任务读取机器人硬件参数,计算实时平台位置参数,以及创建预处理线程,以进行下次位置更新规划;所述后台线程进行必要的文件读取。
[0008]可选的,在进行拖动示教时,各线程执行的调用逻辑包括:所述实时线程,一方面,读取机器人硬件参数,计算实时平台位置参数,以及创建预处理线程以对轨迹点进行路径处理;另一方面,读取机器人末端力矩传感器参数,将力矩参数转化为控制信号,并将控制信号发送到驱动器;所述预处理线程,一方面,获取实时线程发送的机器人位置列表,进行路径规划和指令解析,并将位置参数序列化为可视化程序格式,以及创建主线程任务和实时更新HMI界面指令;另一方面,获取实时线程发送的机器人实时位置,并创建实时进程,更新HMI仿真显示;所述主线程,一方面,获取预处理线程发送的可视化程序格式的数据包,并向HMI发送更新显示信息;另一方面,创建后台进程,使其将程序运行日志信息存储到文件中;所述后台进程进行必要的文件读取。
[0009]可选的,在进行机器人运行控制时,各线程执行的调用逻辑包括:所述预处理线程,一方面,获取机器人运行程序列表,进行序列化解析得到可视化文本格式的数据包,并将数据包发送给主线程任务;另一方面,获取实时线程发送的机器人实时位置,计算机器人下一次到达的位置参数,以及创建实时线程任务执行此次操作;所述实时线程,一方面,读取机器人硬件参数,计算实时动平台的位置参数,以及创建预处理线程进行下次位置更新规划;另一方面,获取预处理线程更新的位置参数,将位置参数转化为控制信号,并将控制信号发送到驱动器;所述主线程,一方面,获取预处理线程发送的可视化文本格式的数据包,向HMI发送更新显示信息;另一方面,创建后台线程,将程序运行日志信息存储到文件中;所述后台进程进行必要的文件读取。
[0010]本申请的实施例提供的技术方案可以包括以下有益效果:本申请的实施例提供的技术方案中,将所有任务集中在分层次的主线程、实时线程、预处理线程和后台线程这四个线程中,并将不同优先级的任务放在不同级别的线程中,优先保证运动逻辑,其次是运动规划,再次是通讯与界面交互,最后是文件读取和耗时计算,并使各种运算严格的在各自线程中运行,以及,通过在各个线程之间提供进行数据交互的线程安全队列,以及线程时钟调用和相互推送任务机制,从而实现线程之间的通讯调用的安全性与数据交互的灵活性。
[0011]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0012]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0013]图1为本申请实施例提供的一种并联机器人的多线程控制器的结构示意图;
图2为主线程的初始化流程示意图;图3为各线程的任务列表推送过程示意图;图4为获取到HMI下发的修改变量指令后的各线程调用逻辑示意图;图5为拖动示教时各线程调用逻辑示意图;图6为运行控制时各线程调用逻辑示意图。
具体实施方式
[0014]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0015]现有的控制器的线程管理方式存在如表1所示的缺点:表1:
线程管理方式缺点不区分线程如果不区分线程,会导致系统实时性下降,影响运动的实时性。不分配线程如果线程混乱,线程过多,会导致线程的开关频繁消耗资源。分配但不整合如果分配线程之后只简单使用编程语言中的多线程,又不能实现多线程之间灵活的数据交换和任务推送。其他现有平台采用其他现有的机器人控制平台,一般能通过其他方式保证安全性和实时性,但是往往不能按照用户的想法灵活的区分线程,而且一定程序上靠用户自己考虑线程分配。
为了解决上述问题,本申请提供一种多线程控制的分配、整合方案。以下通过实施例进行详细说明。
[0016]实施例参照图1,图1为本申请实施例提供的一种并联机器人的多线程控制器的结构示意图。如图1所示,该多线程控制器包括:主线程、实时线程、预处理线程和后台线程。其中,实时线程与驱动器(比如电机)和传感器进行实时通讯。实时线程需要尽可能减少复杂的计算,以此来保证每个实时线程周期计算不会超时。为了减轻实时线程的负担,将大计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并联机器人的多线程控制器,其特征在于,包括:主线程、实时线程、预处理线程和后台线程;其中,所述主线程、实时线程、预处理线程和后台线程之间存在互相调度,通过创建线程任务、存放数据到缓冲区列表被其他进程调用的方式,以线程的安全队列方式来保障线程正常的调用及执行;所述主线程用于进行初始化和线程调用,以实现并联机器人的运动逻辑的控制;其中,所述初始化包括:初始化硬件通信、初始化日志管理工具、初始化报警管理工具、初始化自定义的TCP通信协议、初始化时钟和初始化机器人参数;所述线程调用包括:接收修改变量指令、接收执行指令、进行异步操作和控制通信;所述实时线程用于实现与硬件设备的通讯和界面交互,其中包括:获取机器人硬件参数、计算机器人动平台实时位置、向硬件发送控制信号和实时触发I/O设备;所述预处理线程用于实现运动规划,其中包括:变量指令解析、机器人运动规划和最新指令规划;所述后台线程用于文件读写和耗时计算。2.根据权利要求1所述的并联机器人的多线程控制器,其特征在于,各线程中的任务以任务列表的形式存放在内存中,每个生成的任务都包含一个具体的时钟信号,且任务按时钟的时序顺序排列,各线程调用任务列表的任务时,按时钟顺序先后调用。3.根据权利要求2所述的并联机器人的多线程控制器,其特征在于,在进行变量修改时,各线程执行的调用逻辑包括:所述主线程创建后台缓存线程并将修改变量指令对应的任务添加到后台任务列表,以及创建预处理线程,并将修改变量指令对应的数据包发送给预处理线程;所述预处理线程获取到主线程发送的数据包后,进行指令解析,以及创建获取机器人末端位置的实时线程任务;所述实时线程根据所述预处理线程创建的任务读取机器人硬件参数,计算实时平台位置参数,以及创建预处理线程,以进行下次位置更新规划;所...

【专利技术属性】
技术研发人员:朱平步李艳华王慧方锡禄李志峰刘松涛
申请(专利权)人:辰星天津自动化设备有限公司
类型:发明
国别省市:

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

1