面向服务的计算和Web数据管理第9章 面向服务和事 件驱动的机器人应用335.ppt

面向服务的计算和Web数据管理第9章 面向服务和事 件驱动的机器人应用335.ppt

  1. 1、本文档共144页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向服务计算SOC的研究和应用很大程度上局限于电子和基于Web应用的软件开发。面向服务的机器人软件开发将SOC从目前的领域扩展到一个新的领域,从计算和通信方面的效率而言,它曾被视为是不可能的。本章介绍了SOC和基于SOC的机器人软件开发的概念、原理和方法,并将它们应用于分布式机器人应用的设计。最后通过英特尔公司的安全机器人设计和微软机器人开发工作室的迷宫穿越机器人应用,说明了这些概念和方法的使用。 由于附加了标准接口层,SOC应用的效率不及OOC应用。标准接口使与语言和平台无关的通信以及Web服务中的远程调用实现成为可能。嵌入式系统和机器人应用常需要具有实时性能,因此SOC对于需要实时通信和计算的嵌入式系统和机器人应用的开发来说是不合适的范型,这是可以理解的。 然而,SOC并不是必须通过Web才可实现,因此,标准接口可以更加简单和快速。此外,远程服务可以被迁移到本地机以减少通信成本。在SOC出现之前,嵌入式系统和机器人应用的某些需求受制于软件开发范型。 (1)嵌入式系统和机器人应用在处理所有可能发生的情况时只有有限的能力; (2)不可预见的环境会发生; (3)可能会出现故障,而现场维修往往是不可能的; (4)用户想在不关闭系统的情况下修改系统(需求)。 相比较于机器人的传统技术,把SOC用于机器人有一定的优势。主要的好处就是有一个具有标准接口的通用服务层。每个服务代表一个组件,如传感器、驱动器和孝感器。这些服务的调用是设备独立的。这样,只要将服务调用重新绑定到为机器人平台建立的服务上面,我们就可以将同样的应用部署到不同的机器人平台上。编写应用和服务的语言可以不同,这允许我们在多线程环境和事件驱动编程范型中使用高级语言编写机器人应用,如可视化编程语言VPL,C#以及Java语言。根据现有的驱动,把它们封装成服务之前,我们可以使用不同的语言,如C、C++和汇编语言编写驱动控制程序。服务层的可用性使得我们可以在较短的时间内开发不同的机器人应用。 图9.1给出了一个基于SOC的机器人应用的例子。这个应用包含一个远程协作中心(RCC)和一个连接到机器人的机载计算机。除了特意为给定的应用开发组件之外,这些组件的需求发布到一个服务中介。服务提供商开发服务并将它们发布到中介。然后,应用构建者查询可用的服务,并将服务迁移到应用当中。迁移可以节省远程调用的时间。根据时间和灵活性需求,服务可以运行于机载计算机或者RCC。运行在RCC的服务可以在不停止机器人任务的情况下替换。当运行于RCC的服务被修改或替换时,机器人的任务将被修改。 图9.1基于SOC的机器人应用开发 对于同样的需求和接口,可以开发不同设备的不同实现,如图9.2所示。假定应用是遍历一张地图或者一个迷宫,同样的应用可以用来驱动不同的工具,只要将服务绑定到新工具的服务。 图9.2对于同一需求可开发不同的服务 SOC软件本质上是分布式的,并且服务位于不同的计算机上。本节给出事件驱动的、分布式的、面向服务的体系结构的需求和设计,并以“无人侦察机”的安全机器人作为例子。 整个分布式系统包含以下组件: (1)一个远程协作中心RCC和几个带有机载计算机的机器人。RCC有一个用户界面,它可以将系统变成人工控制模式或自动模式。我们将关注自动模式。 (2)每个机器人配备有多个传感器,如照相机、声纳传感器、触摸传感器以及驱动器,如发动机、伺服电动机和警报器。 (3)每个机器人向其他机器人提供一个汇报其状态的服务。 (4)每个机器人都可以访问其他机器人的服务,并且可以根据收集的信息做出独立的决策和行动。为了降低机载机器人软件的复杂性,机器人之间不能直接通信,它们通过RCC获得其他机器人的状态。 每个机器人包含以下组件: (1)一个机器人包含一个机载计算机和一组传感器和驱动器,包括一个声纳传感器、触摸传感器、键盘、带有水平和垂直控制伺服电动机的摄像机,和两个可以控制轮子的独立伺服电动机; (2)传感器和驱动器被包装成服务; (3)每个服务包括一个事件发生器、一个事件订阅向量和一个事件监听器,而事件处理和编排流程相关; (4)一个编排流程读取本地和远程传感器值、处理事件、根据值和应用需求做出决策; (5)机载计算机可以使用公共服务,如数学函数、路由和计时。 自动模式下,RCC和机器人是对等的,而且它和机器人有同样的体系结构,包含一组服务和一个编排流程。然而,RCC的服务和机器人的服务是不同的。RCC通常运行在功能更强大的计算机上,耗费时间的公共服务也将在RCC上执行。此外,RCC有一个用户界面,不直接和传感器和驱动器连接。手动模式下,RCC处于控制地位,而机器人是从属地位。 图9.3RCC和分布式机载计算机 事件和处理程序是完全分散到每个子系统和子系统的不同服务中,如图9.4所示。如果组

文档评论(0)

别样风华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档