一种基于异构多核处理器的IROS机械臂实时控制方法与流程

未命名 07-15 阅读:124 评论:0

一种基于异构多核处理器的iros机械臂实时控制方法
技术领域
1.本发明公开一种方法,涉及智能机器人技术领域,具体地说是一种基于异构多核处理器的iros机械臂实时控制方法。


背景技术:

2.当前机械臂在机器人领域应用广泛,其应用场景需要具备支持复杂算法运算及硬实时性能需求,目前通常采用linux操作系统实现机械臂运动规划、轨迹运算及机械臂的动作控制,实时性仅能做到软实时,做不到硬实时,机械臂发送消息指令时,会产生时序偏差、消息延迟,从而导致机械臂动作运转不流畅,响应不及时的现象,尤其是对于高精度动作要求的场景,无法达到要求。


技术实现要素:

3.本发明针对现有技术的问题,提供一种基于异构多核处理器的iros机械臂实时控制方法,具有通用性强、实施简便等特点,具有广阔的应用前景。
4.本发明提出的具体方案是:
5.本发明提供一种基于异构多核处理器的iros机械臂实时控制方法,基于异构多核处理器,分配不同核心运算单元运行iros-rlinux实时操作系统和freertos实时系统,所述iros-rlinux实时操作系统包括机械臂业务应用模块、iros服务中间件和iros消息接收中断处理模块,所述freertos实时系统包括机械臂运动控制模块和iros消息接收中断处理模块,
6.通过机械臂业务应用模块根据机械臂业务应用要求进行运动规划及轨迹运算生成运动控制数据,订阅机械臂topic话题,将所述运动控制数据发布至所述机械臂topic话题中,
7.通过iros服务中间件将所述机械臂topic话题内所述运动控制数据存储到消息共享存储区,并向freertos实时系统发出核间软中断请求,
8.通过freertos实时系统的iros消息接收中断处理模块响应核间软中断请求,并通过机械臂运动控制模块读取消息共享存储区中所述运动控制数据,将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。
9.进一步,所述的一种基于异构多核处理器的iros机械臂实时控制方法中由机械臂硬件设备反向传输设备数据时,通过机械臂运动控制模块接收设备数据并存储到消息共享存储区,触发iros-rlinux实时操作系统中iros消息接收中断处理模块通知iros服务中间件从消息共享存储区中读取出设备数据并发布到指定的topic话题中,由机械臂业务应用模块订阅所述topic话题获取设备数据。
10.进一步,所述的一种基于异构多核处理器的iros机械臂实时控制方法中所述基于异构多核处理器,分配不同核心运算单元运行iros-rlinux实时操作系统和freertos实时系统,包括:
11.基于四个arm核心运算单元及一个arm硬实时核心运算单元的异构多核soc处理器,通过四个arm核心运算单元运行iros-rlinux实时操作系统,通过一个arm硬实时核心运算单元独立运行freertos硬实时操作系统。
12.进一步,所述的一种基于异构多核处理器的iros机械臂实时控制方法中通过机械臂运动控制模块利用can总线将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备利用can总线反向传输设备数据至机械臂运动控制模块。
13.本发明还提供一种基于异构多核处理器的iros机械臂实时控制装置,包括:iros-rlinux实时操作系统和freertos实时系统,iros-rlinux实时操作系统和freertos实时系统分别运行于异构多核处理器中不同核心运算单元,所述iros-rlinux实时操作系统包括机械臂业务应用模块、iros服务中间件和iros消息接收中断处理模块,所述freertos实时系统包括机械臂运动控制模块和iros消息接收中断处理模块,
14.机械臂业务应用模块根据机械臂业务应用要求进行运动规划及轨迹运算生成运动控制数据,订阅机械臂topic话题,将所述运动控制数据发布至所述机械臂topic话题中,
15.iros服务中间件将所述机械臂topic话题内所述运动控制数据存储到消息共享存储区,并向freertos实时系统发出核间软中断请求,
16.freertos实时系统的iros消息接收中断处理模块响应核间软中断请求,机械臂运动控制模块读取消息共享存储区中所述运动控制数据,将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。
17.进一步,所述的一种基于异构多核处理器的iros机械臂实时控制装置中由机械臂硬件设备反向传输设备数据时,机械臂运动控制模块接收设备数据并存储到消息共享存储区,触发iros-rlinux实时操作系统中iros消息接收中断处理模块通知iros服务中间件从消息共享存储区中读取出设备数据并发布到指定的topic话题中,由机械臂业务应用模块订阅所述topic话题获取设备数据。
18.进一步,所述的一种基于异构多核处理器的iros机械臂实时控制装置中所述iros-rlinux实时操作系统和freertos实时系统分别运行于异构多核处理器中不同核心运算单元,包括:
19.基于四个arm核心运算单元及一个arm硬实时核心运算单元的异构多核soc处理器,通过四个arm核心运算单元运行iros-rlinux实时操作系统,通过一个arm硬实时核心运算单元独立运行freertos硬实时操作系统。
20.进一步,所述的一种基于异构多核处理器的iros机械臂实时控制装置中所述机械臂运动控制模块利用can总线将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备利用can总线反向传输设备数据至机械臂运动控制模块。
21.本发明的有益之处是:
22.本发明提供一种基于异构多核处理器的iros机械臂实时控制方法,满足机械臂硬实时运动控制的需求,同时实现了机械臂运动规划与实时控制一体化,从整体上降低了硬件成本,提升了产品实时性能,便于机械臂产品的拓展与应用。
附图说明
23.图1是本发明框架实时控制应用iros机械臂流程示意图。
具体实施方式
24.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
25.本发明提供一种基于异构多核处理器的iros机械臂实时控制方法,基于异构多核处理器,分配不同核心运算单元运行iros-rlinux实时操作系统和freertos实时系统,所述iros-rlinux实时操作系统包括机械臂业务应用模块、iros服务中间件和iros消息接收中断处理模块,所述freertos实时系统包括机械臂运动控制模块和iros消息接收中断处理模块,
26.通过机械臂业务应用模块根据机械臂业务应用要求进行运动规划及轨迹运算生成运动控制数据,订阅机械臂topic话题,将所述运动控制数据发布至所述机械臂topic话题,
27.通过iros服务中间件将所述机械臂topic话题内所述运动控制数据存储到消息共享存储区,并向freertos实时系统发出核间软中断请求,
28.通过freertos实时系统的iros消息接收中断处理模块响应核间软中断请求,并通过机械臂运动控制模块读取消息共享存储区中所述运动控制数据,将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。
29.具体应用中,在本发明方法的一些实施例中,基于本发明的技术方案,选择异构多核soc处理器,其具有四个arm高性能核心运算单元及一个arm硬实时核心运算单元,arm高性能运算单元运行iros-rlinux实时操作系统,提供准硬实时性能,可实现复杂的iros服务中间件及大运算量的机械臂运动规划业务;另外一个arm硬实时核心运算单元,可独立运行freertos硬实时操作系统,提供硬实时运算性能,专用于处理机械臂实时运动控制,可满足机械臂实时性能要求及严格的时序控制需求。
30.iros-rlinux实时操作系统主要满足机械臂复杂业务算法实时性能运算要求,可以以界面展现应用需求,iros-rlinux实时操作系统运行iros服务中间件,满足消息通信的实时性,iros服务中间件新增定制机械臂topic消息类型,将机械臂topic消息类型与消息共享存储区相关联,实现快速信息交换,用于iros-rlinux系统与freertos系统间共享数据,iros服务中间件通过发送cpu核间软中断使freertos系统响应cpu核间软中断,实现iros中间件到freertos系统间的消息传递,
31.iros服务中间件还实时监听中断请求,实时将消息共享存储区中反馈的设备数据发布到指定话题中,由机械臂业务应用模块定阅接收。
32.free rtos实时系统包括iros消息接收中断处理模块,用于响应iros消息中间件触发的中断请求,实现在freertos中接收iros服务中间件发布的消息,
33.free rtos实时系统利用机械臂运动控制模块读取消息共享存储区中所述运动控制数据,将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。
34.本发明方法应用前,可先安装iros-rlinux实时操作系统:将iros-rlinux系统灌装文件,下载安装到arm主板中。可将灌装文件放置在sd卡中开机上电,开机后将自动灌装并启动运行;
35.配置iros服务中间件:1)iros-rlinux中包含iros服务中间件,并开机自动运行,2)创建机械臂topic话题;
36.安装机械臂业务及算法程序:将机械臂业务及算法程序解压安装到/home/iros目录下,并启动运行;
37.安装freertos系统:在系统uboot启动界面,将freertos系统下载到开发板中,配置机械臂运动控制程序启动项,并保存。
38.通过上述步骤完成系统的安装实施,上电开机后,系统即可进入工作状态。
39.进一步地,本发明方法应用流程,可参考如下:
40.通过机械臂业务应用模块根据机械臂业务应用要求进行运动规划及轨迹运算生成运动控制数据,订阅机械臂topic话题,将所述运动控制数据发布至所述机械臂topic话题,
41.通过iros服务中间件将所述机械臂topic话题内所述运动控制数据存储到消息共享存储区,并向freertos实时系统发出核间软中断请求,
42.通过freertos实时系统的iros消息接收中断处理模块响应核间软中断请求,并通过机械臂运动控制模块读取消息共享存储区中所述运动控制数据,
43.通过机械臂运动控制模块利用can总线将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。
44.由机械臂硬件设备反向传输设备数据时,机械臂运动控制模块通过can总线接收设备数据,将设备数据存储到消息共享存储区,触发iros-rlinux实时操作系统中iros消息接收中断处理模块通知iros服务中间件从消息共享存储区中读取出设备数据并发布到指定的topic话题中,由机械臂业务应用模块订阅所述topic话题获取设备数据。
45.本发明还提供一种基于异构多核处理器的iros机械臂实时控制装置,包括:iros-rlinux实时操作系统和freertos实时系统,iros-rlinux实时操作系统和freertos实时系统分别运行于异构多核处理器中不同核心运算单元,所述iros-rlinux实时操作系统包括机械臂业务应用模块、iros服务中间件和iros消息接收中断处理模块,所述freertos实时系统包括机械臂运动控制模块和iros消息接收中断处理模块,
46.机械臂业务应用模块根据机械臂业务应用要求进行运动规划及轨迹运算生成运动控制数据,订阅机械臂topic话题,将所述运动控制数据发布至所述机械臂topic话题,
47.iros服务中间件将所述机械臂topic话题内所述运动控制数据存储到消息共享存储区,并向freertos实时系统发出核间软中断请求,
48.freertos实时系统的iros消息接收中断处理模块响应核间软中断请求,机械臂运动控制模块读取消息共享存储区中所述运动控制数据,将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。
49.上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
50.同样地,本发明装置满足机械臂硬实时运动控制的需求,同时实现了机械臂运动规划与实时控制一体化,从整体上降低了硬件成本,提升了产品实时性能,便于机械臂产品的拓展与应用。
51.需要说明的是,上述各流程和各装置结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些
模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
52.以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

技术特征:
1.一种基于异构多核处理器的iros机械臂实时控制方法,其特征是基于异构多核处理器,分配不同核心运算单元运行iros-rlinux实时操作系统和freertos实时系统,所述iros-rlinux实时操作系统包括机械臂业务应用模块、iros服务中间件和iros消息接收中断处理模块,所述freertos实时系统包括机械臂运动控制模块和iros消息接收中断处理模块,通过机械臂业务应用模块根据机械臂业务应用要求进行运动规划及轨迹运算生成运动控制数据,订阅机械臂topic话题,将所述运动控制数据发布至所述机械臂topic话题中,通过iros服务中间件将所述机械臂topic话题内所述运动控制数据存储到消息共享存储区,并向freertos实时系统发出核间软中断请求,通过freertos实时系统的iros消息接收中断处理模块响应核间软中断请求,并通过机械臂运动控制模块读取消息共享存储区中所述运动控制数据,将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。2.根据权利要求1所述的一种基于异构多核处理器的iros机械臂实时控制方法,其特征是由机械臂硬件设备反向传输设备数据时,通过机械臂运动控制模块接收设备数据并存储到消息共享存储区,触发iros-rlinux实时操作系统中iros消息接收中断处理模块通知iros服务中间件从消息共享存储区中读取出设备数据并发布到指定的topic话题中,由机械臂业务应用模块订阅所述topic话题获取设备数据。3.根据权利要求1所述的一种基于异构多核处理器的iros机械臂实时控制方法,其特征是所述基于异构多核处理器,分配不同核心运算单元运行iros-rlinux实时操作系统和freertos实时系统,包括:基于四个arm核心运算单元及一个arm硬实时核心运算单元的异构多核soc处理器,通过四个arm核心运算单元运行iros-rlinux实时操作系统,通过一个arm硬实时核心运算单元独立运行freertos硬实时操作系统。4.根据权利要求1所述的一种基于异构多核处理器的iros机械臂实时控制方法,其特征是通过机械臂运动控制模块利用can总线将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备利用can总线反向传输设备数据至机械臂运动控制模块。5.一种基于异构多核处理器的iros机械臂实时控制装置,其特征是包括:iros-rlinux实时操作系统和freertos实时系统,iros-rlinux实时操作系统和freertos实时系统分别运行于异构多核处理器中不同核心运算单元,所述iros-rlinux实时操作系统包括机械臂业务应用模块、iros服务中间件和iros消息接收中断处理模块,所述freertos实时系统包括机械臂运动控制模块和iros消息接收中断处理模块,机械臂业务应用模块根据机械臂业务应用要求进行运动规划及轨迹运算生成运动控制数据,订阅机械臂topic话题,将所述运动控制数据发布至所述机械臂topic话题中,iros服务中间件将所述机械臂topic话题内所述运动控制数据存储到消息共享存储区,并向freertos实时系统发出核间软中断请求,freertos实时系统的iros消息接收中断处理模块响应核间软中断请求,机械臂运动控制模块读取消息共享存储区中所述运动控制数据,将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备执行相应操作。6.根据权利要求5所述的一种基于异构多核处理器的iros机械臂实时控制装置,其特
征是由机械臂硬件设备反向传输设备数据时,机械臂运动控制模块接收设备数据并存储到消息共享存储区,触发iros-rlinux实时操作系统中iros消息接收中断处理模块通知iros服务中间件从消息共享存储区中读取出设备数据并发布到指定的topic话题中,由机械臂业务应用模块订阅所述topic话题获取设备数据。7.根据权利要求5所述的一种基于异构多核处理器的iros机械臂实时控制装置,其特征是所述iros-rlinux实时操作系统和freertos实时系统分别运行于异构多核处理器中不同核心运算单元,包括:基于四个arm核心运算单元及一个arm硬实时核心运算单元的异构多核soc处理器,通过四个arm核心运算单元运行iros-rlinux实时操作系统,通过一个arm硬实时核心运算单元独立运行freertos硬实时操作系统。8.根据权利要求5所述的一种基于异构多核处理器的iros机械臂实时控制装置,其特征是所述机械臂运动控制模块利用can总线将所述运动控制数据发送到机械臂硬件设备,由机械臂硬件设备利用can总线反向传输设备数据至机械臂运动控制模块。

技术总结
本发明公开一种基于异构多核处理器的IROS机械臂实时控制方法,涉及智能机器人技术领域;基于异构多核处理器,分配不同核心运算单元运行IROS-RLinux实时操作系统和FreeRTOS实时系统,满足机械臂硬实时运动控制的需求,同时实现了机械臂运动规划与实时控制一体化,从整体上降低了硬件成本,提升了产品实时性能,便于机械臂产品的拓展与应用。便于机械臂产品的拓展与应用。便于机械臂产品的拓展与应用。


技术研发人员:刘来波 李朝铭 李洪生 王怀震 刘鹏 王召东 赵洪宇 蔡萌萌 程瑶 马辰
受保护的技术使用者:山东新一代信息产业技术研究院有限公司
技术研发日:2023.03.14
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐