一种基于多核处理器架构的机器人混合系统应用框架技术方案

技术编号:12789401 阅读:92 留言:0更新日期:2016-01-28 19:19
本发明专利技术描述了一种基于多核处理器架构的机器人混合系统应用框架。在采用ARM/X86多核处理器作为控制器的机器人系统中,利用ARM/X86多核处理器的多核并行处理结构,在整个机器人控制器同时运行由实时操作系统、非实时操作系统、系统支撑框架组成的机器人混合系统应用框架,来提供改进的操作系统服务。在该应用框架中,一个实时操作系统单独运行在其中一个ARM/X86核中,同时若干个非实时操作系统运行在其它ARM/X86核中,操作系统间彼此单独占用处理器资源与外设,分别运行不同实时性要求的机器人应用程序,应用程序可以以统一的机器人操作系统(ROS)应用节点形式使用(图1)。

【技术实现步骤摘要】

本专利技术属于机器人领域,涉及一种基于多核处理器架构的机器人混合系统应用框架
技术介绍
机器人控制是机器人研究的一个重要领域,其对应用程序的需求日趋复杂,并伴随着使用各种实时与非实时操作系统来提供系统支持。程序员需要使用操作系统提供的丰富编程资源编写机器人控制程序,同时也需要操作系统提供的实时性支持。基于Linux的机器人操作系统(Robotic Operating System, R0S)就是为了提高机器人开发效率所诞生的开源操作系统,但Linux的非实时特性限制了机器人操作系统R0S在机器人实时控制领域的应用。而目前市场上有众多的实时操作系统,由于相对通用操作系统来说,它们大多都是功能单一,系统应用资源少,难以方便实现复杂的应用。机器人开发者需要在满足实时性的同时能够高效地开发出机器人应用程序。
技术实现思路
为了解决现有的技术问题,本专利技术提供一种基于多核处理器架构的机器人混合系统应用框架。该框架可以应用于各种基于ARM/X86多核架构的机器人控制器中,在保证实时性要求的同时,能够大幅度提高机器人控制软件的开发效率,并降低集成开发成本。此应用框架主要由三个部分组成,机器人操作系统R0S,实时操作系统,混合操作系统支撑框架 RGMP(RT0S and GPOS on Mult1-Processor)。-机器人操作系统R0S(含支持机器人操作系统R0S的非实时操作系统,通常是Linux),用于提供基本的机器人应用、相应服务和系统资源。-实时操作系统,用于提供机器人实时任务的服务和系统资源。-混合操作系统支撑框架RGMP,用于支撑机器人操作系统R0S和实时操作系统的运行和协调。RGMP是一个在多核处理器上支持实时操作系统和非实时操作系统并行运行的开源支撑框架,它利用SMP (对称多核体系结构)计算机的中断路由器独立分配实时操作系统和非实时操作系统的中断资源,可以自然地将这些操作系统分别并行运行在各处理器核心上,合理分配处理资源,减小系统耦合,并避免了传统的共享式混合操作系统因同处一个处理器核心而带来的资源竞争和切换问题。RGMP开源源码及文档见【1】,即:http://rgmp.sourceforge.net/wiki/index.php/Main_Page混合操作系统支撑框架RGMP包括以下四个系统布置内容部分:---用户通过实时应用框架RTroscpp实现快速开发实时机器人控制程序(可选)。—非实时系统与实时系统分别单独占用多核处理器的不同CPU核心,它们可同时维持各自的应用状态而不必针对混合操作系统架构进行优化,其运行、调试均相互独立。—在混合系统运行时,实时与非实时操作系统独立占有各自的硬件资源。—对于共享设备的调度通过它们之间的通信来实现。本专利技术中,实时系统与非实时系统之间使用机器人操作系统提供R0S的节点间通信协议,由RGMP为两个系统之间提供以共享内存为基础的上层通信接口,其中包括:---实时与非实时系统之间的标准TCP/IP协议栈;—实时系统调试信息打印管道;3个用户自定义接口。本专利技术中应用框架的几个特征包括:—实时与非实时系统分别使用计算机内存中不同的内存地址段。---系统间外部设备中断相互独立,无共享,中断通过ARM/X86多核中提供的中断路由器进行独立分配。—实时系统与非实时系统均使用标准的R0S编程与通信接口,在整个机器人系统中应用和控制程序都是以标准R0S节点的形式运行,可以由R0S统一管理,节点之间通过R0S标准通信接口进行通信。—用户可以将原来运行在R0S上的不依赖第三方函数库的节点程序直接放置到实时系统运行。用户使用R0S机器人操作系统编写的机器人应用程序可以在实时或者非实时设备上运行。—用户可以利用R0S提供的应用资源,使用本专利技术对R0S应用进行的有效扩展。其中:对于高复杂度的,同时对实时性要求较低的功能节点,通过以太网的方式将其运行在装有R0S标准机器人操作系统的服务器当中。运行在非实时系统上的应用程序与运行在实时系统上的机器人控制程序使用R0S提供的标准通信接口进行信息交互。在使用本专利技术时,应用程序在非实时操作系统部分可直接利用R0S本身的相关软件资源,如人机交互、语音识别、三维建模、建图导航等任务,也可以独立编写程序;在实时系统部分编写实时应用,通过采用实时总线(如CAN(控制器局域网Controller AreaNetwork)总线、倍孚公司EtherCAT总线等)连接电机驱动器,完成复杂电机运动控制和其他实时性要求较高的任务。根据本专利技术的一个方面,提供了一种基于多核处理器架构的机器人混合系统,其特征在于包括:机器人操作系统,其包含含支持机器人操作系统的非实时操作系统,用于提供基本的机器人应用、相应服务和系统资源;实时操作系统,用于提供机器人实时任务的服务和系统资源;混合操作系统支撑框架(RGMP),用于支撑机器人操作系统和实时操作系统的运行和协调,将非实时操作系统与实时操作系统同时运行在多核处理器平台上。根据一个进一步的方面,在上述机器人混合系统中,非实时操作系统与实时操作系统分别占用独立的内存空间,所述多核处理器平台是基于ARM/X86架构多核处理器的控制板、控制器和/或工控机等,所述非实时操作系统可以是Linux,所述实时操作系统可以是 Yuqix0【附图说明】图1为本专利技术的总体组成结构图。图2为本专利技术的典型控制应用示例的连接图。图3为本专利技术的典型应用示例中运动控制部分的流程图。图4为本专利技术基于CorteX-A9双核处理器平台的中断资源分配图。【具体实施方式】下面结合附图用示例详细说明本专利技术技术方案中所涉及的各个细节问题,应指出的是,所描述的实例仅旨在便于对本专利技术的理解,而对其不起任何限定作用。虽然本申请对具体实施例的说明,主要是结合Linux非实时操作系统和Yuqix实时操作系统进行描述的,但可应用本专利技术的非实时操作系统与实时操作系统,不仅限于Linux非实时操作系统和Yuqix实时操作系统,而是可以适用于任何其他的非实时操作系统和/或实时操作系统。请参阅图1所示的本专利技术的一种基于多核处理器架构的机器人混合系统应用框架的总体组成结构图,该机器人混合系统应用框架通过混合操作系统框架RGMP19将Linux系统13与Yuqix实时系统17这两种不同系统同时运行在基于ARM架构的、包含非实时设备14和实时设备18的多核处理器平台上;Linux系统13与Yuqix实时系统17分别占用独立的内存空间。Linux系统13是嵌入式系统,包含操作系统基本的系统库SYS LIB131、C语言库LIBC132、网络协议NET133、BOOST库134、Linux内核135以及驱动程序136等必要模块,运行在RGMP (非实时部分)框架191之上,在Linux系统13上层运行的是机器人操作系统R0S12。在R0S12之上是使用R0S标准接口与R0S工具编写的非实时R0S应用程序节点11。另一方面,Yuqix实时操作系统17中提供了大量符合P0SIX标准的系统调用接口,它也包含操作系统基本的系统库SYS LIB171、C语言库LIBC172、网络协议NET173、BOOST库174、Yuqix内核175以及驱动程序176等必要模块。在Yuqix实时系统17本文档来自技高网...

【技术保护点】
一种基于多核处理器架构的机器人混合系统,其特征在于包括:机器人操作系统(ROS)(12),其包含支持机器人操作系统的非实时操作系统(13),用于提供基本的机器人应用、相应服务和系统资源;实时操作系统(17),用于提供机器人实时任务的服务和系统资源;混合操作系统支撑框架(RGMP)(19),用于支撑机器人操作系统和实时操作系统的运行和协调,将非实时操作系统(13)与实时操作系统(17)同时运行在多核处理器平台上。

【技术特征摘要】

【专利技术属性】
技术研发人员:魏洪兴邹莹陈友东刘淼黄真
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

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

1