基于软件总线的面向服务的机器人开放式控制系统及方法技术方案

技术编号:15334416 阅读:125 留言:0更新日期:2017-05-16 21:40
本发明专利技术提出基于软件总线的面向服务的机器人开放式控制系统及方法。系统包括:(1)面向服务的机器人开放式控制系统。控制系统的功能模块以服务的方式进行封装,使其能够被组合和应用,因而具有开放式、可扩展、服务松耦合等特点。(2)软件总线是整个分布式控制系统的核心组件,主要功能是为不同节点提供透明的传输机制,解除了用户与消息协议的耦合。(3)支持分布式控制系统的开发。通过传输层引入时间触发以太网(TTEthernet),保证控制系统数据传输的实时性与确定性,并且通过负载均衡来减少总线节点热点访问问题。本发明专利技术提供一种用户对单个或多个机器人分布式控制系统进行开发的面向服务框架,在保证数据传输的实时性下提高控制系统的开发效率。

【技术实现步骤摘要】
基于软件总线的面向服务的机器人开放式控制系统及方法
本专利技术涉及一种支持分布式机器人控制的开放式系统结构,具体涉及基于软件总线的面向服务的机器人开放式控制系统。
技术介绍
机器人控制系统是机器人的核心,传统的机器人控制系统大多采用封闭式结构,这种结构的优点是结构简单,能实现高效的控制。但是,随着机器人技术的发展以及控制系统的整体复杂性提高,封闭式的控制系统的局限性日益显现。主要表现为:扩展性差,可移植性差,容错性差,难以维护和升级。由于存在以上的局限,开放式机器人控制系统是一种解决以上问题的可行方案。开放式控制机器人控制系统具有可扩展,可移植,服务化,可重用等特性,可以大大减低控制系统二次开发的成本和维护成本,具有很大的实用价值。国内关于开放式控制系统的工作主要有,中国科学院自动化研究所的“开放式工业机器人视觉控制平台”(公开号:CN1417006)、深圳市中科睿成智能科技有限公司的“开放式机器人系统”(公开号:CN102431023A)。国外日本及欧美一些国家在相关领域开展大量工作,如NASA和NBS提出的NASREM机器人控制系统,日本AIST研究所开发的OpenRTM-aist机器人控制软件开发平台。国内外现有的开放式机器人控制系统,虽然已经取得了一系列的研究成果,但层次化的开放式控制系统仍存在组件耦合度高,不能实现组件的运行时配置等问题。对于自动化控制领域的应用,系统功能的扩展导致带宽的需求越来越高,并且该领域的对系统的实时性与确定性有严格要求。因此,控制系统网络必须满足如下要求:1、提供高带宽2、控制的数据流必须具备实时性与确定性。针对以上要求,实时以太网成为一种新型的、有前景的候选技术。其中,以时间触发以太网(Time-TriggeredEthernet)技术为比较成熟一种。
技术实现思路
本专利技术的目的在于克服现有技术存在的上述补助,提供基于软件总线的面向服务的机器人开放式控制系统及方法。本专利技术的目的至少通过如下技术方案之一实现。基于软件总线的面向服务的机器人开放式控制系统,其按层次结构划分为五个层,分别是:应用服务层,总线消息层,服务总线代理层,传输层和总线管理层;其中,应用服务由开发者根据统一的服务定义描述服务并实现服务功能,或者通过已有的服务组合而成;由于消息层对服务的消息进行封装,所以应用服务并不需要考虑通信细节,只需专注于服务的功能逻辑即可;总线消息层为应用服务提供对外请求的消息作为接口,不同的消息对应不同处理逻辑;由于系统对传输的消息进行序列化进程,使得消息能够实现跨平台传输;服务总线代理层作为应用服务层和传输层的中介,为总线提供了一层封装,主要功能是处理服务与软件总线之间的通信细节;传输层的功能是实现应用服务与软件总线之间的消息传递,任务是保证消息可靠的,有序的,准确无误的和实时的在服务与软件总线之间进行传输;总线管理层是控制系统的核心,系统中的各个服务通过软件总线进行连接并进行统一管理,服务之间的消息传递都需要经过软件总线进行转发和路由,并且处理服务组合、服务注册等重要逻辑。进一步地,所述软件总线由以下部分组成:服务总线代理,总线节点,总线管理器和存储节点;为了实现控制系统中服务之间的松耦合关系,采用自定义消息,通过消息序列化技术使消息能够在服务和软件总线之间传递,能够提供跨平台、跨语言的消息传输机制,服务的开发无需关注如何与软件总线通信的细节。进一步地,所述系统传输层中支持分布式控制系统的开发的方法,由于服务之间的松耦合关系,控制系统中服务可以部署在不同的物理节点上,提高了系统的灵活性;为确保系统能够满足机器人控制的实时性与确定性,在传输层上引入时间触发以太网来保证控制系统的实时性与确定性,对于实时性与确定性要求较高的服务使用时间触发流量传输数据,确保该服务的实时性与确定性;此外,为避免单一总线节点出现热点访问问题成为系统的瓶颈,通过分布式总线节点及总线节点的负载均衡来提高整个分布式控制系统的效率。利用所述的控制系统的控制方法,其包括如下步骤:S1、服务注册;在本控制系统中,包含三个角色,分别是服务请求者,服务提供者和服务注册中心;服务请求者发送请求服务消息,通过查询服务注册中心,获取服务信息并绑定服务,再根据服务所提供的接口执行任务;服务提供者提供了服务的具体功能实现;通过注册操作在服务注册中心中发布服务的接口和描述信息,使得服务请求者可以查询和访问该服务;服务注册中心提供并维护了一个可用服务目录,允许服务请求者查找感兴趣的服务的接口;S2、服务组合;每次客户的请求都是以业务流程的形式进行请求,而业务流程可以分解为若干服务的有序组合;一个业务流程信息以有向无环图的形式表示,其中每个节点表示一个服务组件;此步骤是应用服务层为用户提供一个方便的接口来实现具体的任务要求;S3、用户向软件总线请求相关服务或流程;请求/应答模式是服务消息主要交换模式,用户以业务流程形式请求组合服务,在同一流程中,服务A需要服务B提供服务并返回应答消息,就此服务A需要通过总线消息层选择合适的消息,并通过服务总线代理向总线发送消息;由于采用适应分布式总线节点的架构,因此在服务转发消息之前需要通过负载均衡模块来确定需要转发的总线节点;负载均衡首先根据消息的信息,通过负载均衡算法选定目标总线节点的节点号;服务总线代理层根据这个节点号查找服务的总线表,并将表中的信息填入消息中转发消息到对应的总线节点;S4、软件总线的调度;以系统丢包率和响应时间比的多目标函数作为测量标准,通过调节任务的优先级及传输周期对总线资源进行优化分配;调度主要涉及对传输的消息进行合理的调度,满足系统的实时性要求;调度方法主要在总线管理层里实施;S5、软件总线的消息处理;一个服务通过请求消息向其它服务发起请求;接收到相关请求消息的服务会做出应答,并发送一个或多个应答消息;发送请求消息的服务不需要知道目标服务的具体位置,只需按照预先定义好的消息协议向总线发送消息;发送到软件总线的消息类型有:结果消息、状态消息、注册消息、请求消息和应答消息,此步骤主要在软件总线管理层中完成;S6、被请求的服务的消息处理;被请求的服务根据接收的信息提取相关的调用函数及调用参数,然后将调用参数传递给服务的内部函数进行调用,得到的处理结果通过服务总线代理API返回到软件总线上;S7、软件总线处理返回消息;软件总线接收到来自服务的结果消息,从消息的内容判断是单个服务请求结果还是业务流程中的一个中间结果;若是单个服务请求结果,直接将结果消息转发到请求服务上;若是业务流程的中间结果,则将中间结果转发到业务流程当中给的下一个服务当中。与现有技术相比,本专利技术的优点和效果有:本专利技术相对于已有的控制系统,具有兼容性,开发效率高,支持分布式控制系统的开发等优点。用户可以通过服务的添加、组合及替换来完成系统的升级和重新配置,并且用户只需要将精力集中在服务的功能构造上,降低了系统开发成本和提高系统开发效率。另外,服务可以部署在不同的物理节点上,通过时间触发以太网来确保实时服务数据传输的实时性与确定性,并且对于具有分布式总线节点的控制系统,提供了负载均衡功能来解决热点访问问题。附图说明图1为分布式机器人控制系统结构。图2为控制系统层次结构。图3为软件总线的组成。图4为总线节本文档来自技高网
...
基于软件总线的面向服务的机器人开放式控制系统及方法

【技术保护点】
基于软件总线的面向服务的机器人开放式控制系统,其特征在于按层次结构划分为五个层,分别是:应用服务层,总线消息层,服务总线代理层,传输层和总线管理层;其中,应用服务由开发者根据统一的服务定义描述服务并实现服务功能,或者通过已有的服务组合而成;由于消息层对服务的消息进行封装,所以应用服务并不需要考虑通信细节,只需专注于服务的功能逻辑即可;总线消息层为应用服务提供对外请求的消息作为接口,不同的消息对应不同处理逻辑;由于系统对传输的消息进行序列化进程,使得消息能够实现跨平台传输;服务总线代理层作为应用服务层和传输层的中介,为总线提供了一层封装,主要功能是处理服务与软件总线之间的通信细节;传输层的功能是实现应用服务与软件总线之间的消息传递,任务是保证消息可靠的,有序的,准确无误的和实时的在服务与软件总线之间进行传输;总线管理层是控制系统的核心,系统中的各个服务通过软件总线进行连接并进行统一管理,服务之间的消息传递都需要经过软件总线进行转发和路由,并且处理服务组合、服务注册等重要逻辑。

【技术特征摘要】
1.基于软件总线的面向服务的机器人开放式控制系统,其特征在于按层次结构划分为五个层,分别是:应用服务层,总线消息层,服务总线代理层,传输层和总线管理层;其中,应用服务由开发者根据统一的服务定义描述服务并实现服务功能,或者通过已有的服务组合而成;由于消息层对服务的消息进行封装,所以应用服务并不需要考虑通信细节,只需专注于服务的功能逻辑即可;总线消息层为应用服务提供对外请求的消息作为接口,不同的消息对应不同处理逻辑;由于系统对传输的消息进行序列化进程,使得消息能够实现跨平台传输;服务总线代理层作为应用服务层和传输层的中介,为总线提供了一层封装,主要功能是处理服务与软件总线之间的通信细节;传输层的功能是实现应用服务与软件总线之间的消息传递,任务是保证消息可靠的,有序的,准确无误的和实时的在服务与软件总线之间进行传输;总线管理层是控制系统的核心,系统中的各个服务通过软件总线进行连接并进行统一管理,服务之间的消息传递都需要经过软件总线进行转发和路由,并且处理服务组合、服务注册等重要逻辑。2.根据权利要求1所述的基于软件总线的面向服务的机器人开放式控制系统,其特征在于所述软件总线由以下部分组成:服务总线代理,总线节点,总线管理器和存储节点;为了实现控制系统中服务之间的松耦合关系,采用自定义消息,通过消息序列化技术使消息能够在服务和软件总线之间传递,能够提供跨平台、跨语言的消息传输机制,服务的开发无需关注如何与软件总线通信的细节。3.根据权利要求1所述的基于软件总线的面向服务的机器人开放式控制系统,其特征在于所述系统传输层中支持分布式控制系统的开发的方法,由于服务之间的松耦合关系,控制系统中服务可以部署在不同的物理节点上,提高了系统的灵活性;为确保系统能够满足机器人控制的实时性与确定性,在传输层上引入时间触发以太网来保证控制系统的实时性与确定性,对于实时性与确定性要求较高的服务使用时间触发流量传输数据,确保该服务的实时性与确定性;此外,为避免单一总线节点出现热点访问问题成为系统的瓶颈,通过分布式总线节点及总线节点的负载均衡来提高整个分布式控制系统的效率。4.利用权利要求1所述的控制系统的控制方法,其特征在于包括如下步骤:S1、服务注册;在本控制系统中,包含三个角色,分别是服务请求者,服务提供者和服务注册中心;服务请求者发送请求服务消息,通过查询服务注册中心,获取服务...

【专利技术属性】
技术研发人员:张平陈国豪李方黄浩陈昕叶汤峰杜广龙
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1