System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于EtherCAT通讯的机器人控制方法和控制系统技术方案_技高网
当前位置: 首页 > 专利查询>五邑大学专利>正文

基于EtherCAT通讯的机器人控制方法和控制系统技术方案

技术编号:39949986 阅读:11 留言:0更新日期:2024-01-08 23:13
本发明专利技术实施例提供了一种基于EtherCAT通讯的机器人控制方法和控制系统。该方法包括使用RT‑Preempt补丁对Li nux系统进行实时性改造;安装I gH Master开源EtherCAT框架,并修改配置文件;输入本系统网卡的MAC地址,使本系统网卡作为EtherCAT主站;将两个CPU内核隔离,使其他用户任务无法运行在两个CPU内核之上,同时将两个实时线程分别绑定到两个CPU内核上。基于此,本发明专利技术通过对Li nux系统进行硬实时改造,使系统具备强实时性和快速响应能力,同时将任务分为实时任务和非实时任务,并放在不同的层级,保证系统的实时性、稳定性、兼容性和拓展性。

【技术实现步骤摘要】

本专利技术涉及计算机视觉,尤其涉及一种基于ethercat通讯的机器人控制方法和控制系统。


技术介绍

1、随着科学技术的发展,制造业开始向智能制造发展,而智能制造的发展离不开数字化设备的参与。在制造业的数字化设备有着诸多的通信协议,如modbus、tcp/ip、profinet、ethernet/ip等,但这些通信协议在高宽带、低延时、高同步上均有不足。工业机器人作为典型的数字化设备,对通信具有较高的要求,这些不足制约着工业机器人的控制系统性能及其发展。

2、现有技术主要是在linux系统或windows系统下搭建ethercat主站通讯协议模块,再通过ethercat协议与被控从站进行通讯,实现机器人控制,如图1所示。在linux系统实现机器人控制器,是在linux系统上部署ethercat主站,实现系统与机器人本体的数据传输,并在linux系统上编写机器人控制算法,实现机器人的运动控制,此时对实时性有高要求的ethercat通讯任务和其他低实时性的控制任务均由linux进行处理,实时性能较差,无法满足工业机器人必须的高速响应;并且由于cpu的多线程技术以及任务调度,会出现通讯任务占用了cpu所有资源,导致其他任务无法运行。


技术实现思路

1、本专利技术实施例的主要目的在于提出一种基于ethercat通讯的机器人控制方法和控制系统,能够将实时任务与非实时任务分开执行,减轻了linux操作系统的负担,提高了系统资源利用率。通过对linux系统进行硬实时改造,使系统具备强实时性和快速响应能力,同时将任务分为实时任务和非实时任务,并放在不同的层级,保证系统的实时性、稳定性、兼容性和拓展性。

2、为实现上述目的,本专利技术实施例的第一方面提出了一种基于ethercat通讯的机器人控制方法,所述方法包括:

3、使用rt-preempt补丁对linux系统进行实时性改造;

4、安装igh master开源ethercat框架,并修改配置文件;

5、输入本系统网卡的mac地址,使本系统网卡作为ethercat主站;

6、将两个cpu内核隔离,使其他用户任务无法运行在两个cpu内核之上,同时将两个实时线程分别绑定到两个cpu内核上,其中,两个cpu内核包括内核0和内核1,所述实时线程包括通信线程、控制线程和应用线程,所述通信线程的优先级高于所述控制线程的优先级,所述控制线程的优先级高于所述应用线程的优先级,将所述通信线程和所述控制线程分别运行在内核0和内核1上。

7、在一些实施例,所述基于ethercat通讯的机器人控制方法应用于机器人控制系统,所述机器人控制系统包括应用层、控制层、通信层,所述应用层用于实现外部交互功能,所述控制层用于实现对机器人的控制,所述通信层用于通过ethercat收发数据。

8、在一些实施例,所述通信线程使用高精度定时器以1ms周期循环运行,实现主从站信息交换的功能,主站会接收到的机器人状态数据,从站接受控制指令,其中,所述状态数据包括机器人各个关节伺服器回传的伺服电机当前位置、当前速度、当前加速度及当前关节力矩;所述控制指令包括机器人各个关节的伺服电机的目标位置、目标速度和目标加速度。

9、在一些实施例,所述通信线程的优先级为实时优先级,并通过设置线程亲和,使所述通信线程运行在内核0上。

10、在一些实施例,所述通信线程中包含igh master框架中的头文件,在进行数据交换前先使用ethercat框架提供的api进行主从站的连接设置,完成包括过程数据条目的内存申请、过程数据域注册、fmmu总线存储器管理单元配置、主站申请、分布式时钟的设置。

11、在一些实施例,所述控制线程用于完成机器人的运动学计算和关节控制,所述控制线程的优先级为实时优先级,并通过设置线程亲和,使所述控制线程运行在内核1上。

12、在一些实施例,所述控制线程使用高精度定时器以1ms周期循环运行,当所述通信线程到达通信周期时,所述通信线程能够抢占控制线程进行数据交换。

13、在一些实施例,所述应用线程为非实时线程,同时不设置线程亲和,或者设置亲和则需要设置在未被隔离的内核上。

14、为实现上述目的,本专利技术实施例的第二方面提出了一种控制系统,所述控制系统包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。

15、为实现上述目的,本专利技术实施例的第三方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。

16、本专利技术提出的基于ethercat通讯的机器人控制方法和控制系统,通过使用rt-preempt补丁对linux系统进行实时性改造;安装igh master开源ethercat框架,并修改配置文件;输入本系统网卡的mac地址,使本系统网卡作为ethercat主站;将两个cpu内核隔离,使其他用户任务无法运行在两个cpu内核之上,同时将两个实时线程分别绑定到两个cpu内核上,其中,两个cpu内核包括内核0和内核1,实时线程包括通信线程、控制线程和应用线程,通信线程的优先级高于控制线程的优先级,控制线程的优先级高于应用线程的优先级,将通信线程和控制线程分别运行在内核0和内核1上。基于此,本专利技术实施例的基于ethercat通讯的机器人控制方法能够将实时任务与非实时任务分开执行,减轻了linux操作系统的负担,提高了系统资源利用率。通过对linux系统进行硬实时改造,使系统具备强实时性和快速响应能力,同时将任务分为实时任务和非实时任务,并放在不同的层级,保证系统的实时性、稳定性、兼容性和拓展性。

本文档来自技高网...

【技术保护点】

1.一种基于EtherCAT通讯的机器人控制方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于EtherCAT通讯的机器人控制方法应用于机器人控制系统,所述机器人控制系统包括应用层、控制层、通信层,所述应用层用于实现外部交互功能,所述控制层用于实现对机器人的控制,所述通信层用于通过EtherCAT收发数据。

3.根据权利要求1所述的方法,其特征在于,所述通信线程使用高精度定时器以1ms周期循环运行,实现主从站信息交换的功能,主站会接收到的机器人状态数据,从站接受控制指令,其中,所述状态数据包括机器人各个关节伺服器回传的伺服电机当前位置、当前速度、当前加速度及当前关节力矩;所述控制指令包括机器人各个关节的伺服电机的目标位置、目标速度和目标加速度。

4.根据权利要求1所述的方法,其特征在于,所述通信线程的优先级为实时优先级,并通过设置线程亲和,使所述通信线程运行在内核0上。

5.根据权利要求1所述的方法,其特征在于,所述通信线程中包含IgH Master框架中的头文件,在进行数据交换前先使用EtherCAT框架提供的API进行主从站的连接设置,完成包括过程数据条目的内存申请、过程数据域注册、FMMU总线存储器管理单元配置、主站申请、分布式时钟的设置。

6.根据权利要求1所述的方法,其特征在于,所述控制线程用于完成机器人的运动学计算和关节控制,所述控制线程的优先级为实时优先级,并通过设置线程亲和,使所述控制线程运行在内核1上。

7.根据权利要求1所述的方法,其特征在于,所述控制线程使用高精度定时器以1ms周期循环运行,当所述通信线程到达通信周期时,所述通信线程能够抢占控制线程进行数据交换。

8.根据权利要求1所述的方法,其特征在于,所述应用线程为非实时线程,同时不设置线程亲和,或者设置亲和则需要设置在未被隔离的内核上。

9.一种控制系统,其特征在于,所述控制系统包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的基于EtherCAT通讯的机器人控制方法。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于EtherCAT通讯的机器人控制方法。

...

【技术特征摘要】

1.一种基于ethercat通讯的机器人控制方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于ethercat通讯的机器人控制方法应用于机器人控制系统,所述机器人控制系统包括应用层、控制层、通信层,所述应用层用于实现外部交互功能,所述控制层用于实现对机器人的控制,所述通信层用于通过ethercat收发数据。

3.根据权利要求1所述的方法,其特征在于,所述通信线程使用高精度定时器以1ms周期循环运行,实现主从站信息交换的功能,主站会接收到的机器人状态数据,从站接受控制指令,其中,所述状态数据包括机器人各个关节伺服器回传的伺服电机当前位置、当前速度、当前加速度及当前关节力矩;所述控制指令包括机器人各个关节的伺服电机的目标位置、目标速度和目标加速度。

4.根据权利要求1所述的方法,其特征在于,所述通信线程的优先级为实时优先级,并通过设置线程亲和,使所述通信线程运行在内核0上。

5.根据权利要求1所述的方法,其特征在于,所述通信线程中包含igh master框架中的头文件,在进行数据交换前先使用ethercat框架提供的api进行主从站的连接...

【专利技术属性】
技术研发人员:梁艳阳孙伟霖石峰黄子健钟铭溪于子竣黄永伟吕洪妃谢文轩
申请(专利权)人:五邑大学
类型:发明
国别省市:

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

1