




已阅读5页,还剩62页未读, 继续免费阅读
(机械电子工程专业论文)基于msrs的asmrobot机器人运动控制研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
、,j 。 ; sk 埘池m 砒,一渤g m 她 t h er e s e a r c ho fa s m r o b o tr o b o t ,s m o v e m e n tc o n t r o lb a s e do nm s r s b yl il e i s u p e r v i s o r :a s s o c i a t ep r o f e s s o rl id o n g s h e n g n o r t h e a s t e r nu n i v e r s i 毋 j u l y 2 0 0 8 一 一 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢 意。 学位论文作者签名: 日 期:w g 、了、g 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年口一年口一年半口两年口 学位论文作者签名: 夸磊 导师签名: 签字日期: 珈g 、lg 签字日期: 一 一 1罗 p 东北大学硕士学位论文 基于m s r s 的a s m r o b o t 机器人运动控制研究 摘要 机器人控制系统是机器人信息处理和控制的主体。随着机器人在各行各业上的广泛 应用,机器人已成为生活生产系统中的一个常用的工具。面向非制造业的先进机器人的 研究、开发和应用是二十一世纪机器人主要发展方向之一,因此创造一个新的软件开发 环境组件,为提供机器人产业共同体而设计的软件开发系统平台十分必要。为此本文提 出了一种基于m i c r o s o rr o b o t i c ss t u d i o ( m s i 峪) 平台实现a s m r o b o t 机器人运动控制 的软件系统。 a s m r o b o t 机器人是一种串联式模块化多自由度机器人,对a s m r o b o t 机器人的 运动控制是建立在基于m s r s 平台上的c a n - b u s 的分布式控制。本文首先介绍了m s r s 平台的一些核心技术,为了实现控制平台系统多节点协同处理和可重用功能,深入研究 了m s r s 平台的并发协调运行时( c c r ) 和分布式软件服务( d s s ) ;然后对一种3 自 由度a s 瑚r o b o t 机器人的运动学进行了详细的分析,计算了该机器人的运动学正逆解, 接着对a s m r o b o t 机器人进行轨迹规划分析研究;最后,根据上述分析,基于m s r s 平 台和a s m r 0 b o t a p i 设计了机器人控制系统,根据控制任务要求,通过编程和调用一系 列a p i 实时生成关节轴系的规划作业任务数据,并通过数据传输总线送至各底层运动控 制器来控制a s m r 0 b o t 机器人的各关节转动,从而实现了对a s m r - o b o t 的运动控制。 关键字:m s r s :运动控制;轨迹规划;分布式;自由度 - i i - , 1 东北大学硕士学位论文 r t h er e s e a r c ho f a s m r o b o tr o b o t sm o v e m e n t c o l l 虹o lb a s e do nm s r s a b s t r a c t r o b o tc o n _ t r o ls y s t e mi sm a i l lp a r to fr o b o ti i l f o n a t i o np r o c e s sa r l dc o n t r 0 1 w i 吐1 也e w i d e l yu s e di na 1 1f i e l d s ,r o b o tl l a sb e c o m ea nc o m m o na p p l i a n c ei nl i f ea 1 1 dm 锄州弧i n l r e s y s t e m o r i e m e dt on o n - m a z l u f a c t u 】e da d v a i l c e dr o b o t sr e s e a r c l l , d e v e l o p m e n t a n d 印p l i c a t i o ni so n eo f m em o s td e v e l o p m e n td i r e c t i o ni i l21s tc e n t m mt 1 1 e n c ei ti sn e c e s s a 工yt o c r e a t ean e ws o f h a r ed e v e l o p m e n te n v i l o n m e mp a c k a g ew h i c hi sd e s i g n e da sas o 小a r e d e v e l o p m e n ts y s t e mp l a t f o n nf o rr o b o ti 1 1 d u s 乜yc o 舢m 血哆i n “sp 印e r ,i 丽l lp r o p o s ea s o m v a r es y s t e mt oc o i l l p l i m e n ta s - m r o b o t sm o v e m e n tc o m r o lb a s e do nm i c r o s o rr o b o t i c s s t u d i o ( m s r s ) p l a t f o m a s m r o b o tr o b o ti sak i r l do fm o d u l a rm u l t i d o fr o b o t ,a n di t sm o v e m e n tc o n n 0 li s b u i l to n 也ec a n - b u sd i 矧b u t e dc o n 仃o lb a s e do nm s r sp l a 怕咖h 1 “sp 印e r f i r s t l y ,i 讪的d u c es o m ec o r et e c l l l l o l o g ) ro fm s r s p l a t f i o n n h 1o r d e rt oa c l l i e v es y n e 画s t i c a l l yw i t h m u h i - n o d ea n dr e u s a b l e 如n c t i o n so fc o n l 】o lp l a t f o 肌s y s t e m ,id e e p l y 咖d yt h ec o n c u l t e n c y a n dc o o r d i n a t i o nr l m t i n l e ( c c r ) 觚dd e c e 砷商i z e ds o 矗m es e r v i c e s ( d s s ) ;s e c o n d l y ,i d e t a i l e da 1 1 a l y z em ek i l l e m a t i c so faa s m r o b o tr o b o tw i t h 也r e ed e g r e eo f 五陀e d o m ,c a l c u l a t e t l l i sr o b o t ss o l u t i o no ff o r w u da n di i l v e r s ek i n e m a t i c s ,t 1 1 e nr e s e a r c h 仃萄e c t o 巧p l a i l i 】血go f 协er o b o t ;f i n a l l y ,u i l d e r 吐l ea b o v ea n a l y s i s ,id e s i 盟m er o b o tc o 曲- o ls y s t e mb a s e do nm s r s p l a 怕n i la n da s m r o b o ta p i a c c o r d i i l gt 0 让i er e q u i r e m e n to fc o m r 0 1t a s k s ,o nt h e d i 赋b u t e dc o i i 咖ls y s t e mo fm s r sp l a t f o 衄,ig e n e r a t er e a l t i i i l e l yp l a l l l l i n gt a s kd a t ao f j o 硫- s l l a 血sv i ap r 0 伊孤伽血ga n dm a n a g i n gs e r i e so fa p ia r l d 也r o u 曲也ed a t a 仃a i l s 面s s i o n s e n dt l l e s ed a 士at on l eb o t t o mm o t i o nc o n t r o l l e rt oc o n t r o lt l l ej o i m s r o t a t i o no fm e a s m ro b o t k e yw o r d s :m s r s ;m o v 锄e n tc o n 缸d l ;t 蛹e c t o 巧p l a i l i 血g ;d i 嘶b u t e d ;d e 鲈eo f 舶e d o m i i i 一 专平 t t ! 。 p 东北大学硕士学位论文 独创性声明 摘要 a b s 订a c t 第1 章绪论 1 1 论文选题背景 1 2 主要研究技术 1 2 1 机器人运动控制技术现状2 1 2 2 机器人运动控制技术发展趋势3 1 3 主要研究的目的及内容4 1 4 j 、结4 第2 章m s r s 平台的核心技术分析5 2 1m s r s 的特点5 2 1 1m s r s 环境关键特性和优点5 2 1 2 跨越多种不同的硬件平台6 2 1 3 广泛的面向大众用户、多语言开发7 2 2 基于n e t 的服务运行时8 2 2 1c c r 并发协调运行时。9 2 2 2d s s 分布式软件服务k 1 l 2 2 3r e s t 应用模型1 3 2 3 小结一14 第3 章a s m r o b o t 机器人的运动学分析1 5 3 1 数学基础- 一15 3 1 1 动系的位姿表示1 5 3 1 2 齐次坐标变换17 3 2a s m r o b o t 机器人运动学模型的建立1 9 3 2 1 杆件坐标系的建立19 3 2 2a s m r o b o t 机器人d h 坐标系的建立2 1 3 3a s m r o b o t 机器人正运动学分析2 3 目录 5 2a s m r o b o t 机器人控制实现- 4 3 5 2 1 主控计算机p c 应用程序实现- 4 3 5 2 2a s m r o b o t 机器人运动实现:一4 8 5 3 小结51 第6 章结论与展望5 2 6 1 结论:5 2 6 2 展望5 2 参考文献5 3 致谢- 5 6 。v 咚 量 i l i 东北大学硕士学位 计算机技术的不断进步和发展使机器人技术的发展一次次达到一个新水平。随着机 器人技术的发展,出现了应用于不同领域各具特色的机器人,如仿人机器人、军用机器 人、水下机器人、空间机器人、服务机器人、微型机器人等。面向非制造业的先进机器 人的研究、开发和应用是二十一世纪机器人主要发展方向之一【1 1 。机器人编程技术和面 向机器人的开发平台对机器人的推广应用及其应用效率的发挥起着越来越重要的作用, 从某种意义上说已是机器人应用的瓶颈问题。本文主要针对对于给定的任意一条三维空 间曲线,在分布式异构环境下实现a s m r o b o t 模块化3 自由度串联机器人的运动学分 析和轨迹规划,通过一种通用机器人控制平台m i c r o s o 盘r 0 b o t i c ss t u d i o ( m s r s ) 编程 实时控制实现a s m r o b o t 模块化3 自由度串联机器人沿着这条给定曲线轨迹运动。 1 1 论文选题背景、目的及意义 机器人工程是一个被久经注意和期待的技术领域了。m i c r o s o f t 公司确切的认为机器 人工程将随时进入飞速发展的阶段,而且现在已有明确的显示,这是真实可信的! 随着 硬件费用成本下降而计算能力的增加,机器人工程工业似乎正沿着正确的方向飞快地成 长。 m s r s 是基于w j 玎d o w s 平台,使学生、爱好者和商业开发者们都能够很容易的创建 跨硬件平台的机器人技术应用平台圆。m s r s 平台已经被设计成为轻量级和高扩展性和 能够应用在广泛的适宜机器人技术的应用环境,它提供的运行环境能够满足了大部分机 器人应用的需求。服务机器人通常是可移动的,在多数情况下,可由一个移动平台构成, 平台上装有一只或几只手臂,代替或协助人完成为人类提供服务和安全保障的各种工 作,如清洁、护理、娱乐和执勤等。 虽然已经有许多好的应用前景展现在大家面前,推进该产业发展的关键应用仍然需 要不断完善成型。现在,机器人工程应用在很多方面被许多因素影响而止步不前,包括 硬件的分裂发展、缺乏代码的简洁性、缺乏所需的库件和运行法则。仅仅为了使应用程 序更加有效率而把那些最基本的核心代码放在合适的位置这样的工作就需要有非常强 的专业性。因此,像早期的个人计算机工业一样,商业化的机器人工程应用被削弱成了 仅仅为了满足那些高端应用的需求。 - 1 - 第1 章绪论 系统的要素主要有计算机硬件系统及控制软件、输入输出设备、驱动器、传感器系统。 它们之间的关系如图1 1 所示: 人固 图1 1 机器人控制系统 f i g 1 1r o b o t sc o n t r o ls y s t e m 机器人控制器发展的一个重要方面是具有多传感器信息融合能力。即要研究真正适 合机器人应用的多样的传感器系统,又要研究它们的信息处理与综合,并将感知、规划 和运动控制有效地集成和协调。在目前的技术条件下,要使机器人达到完全自治是很困 难的。但是p c 技术的迅速发展给当今机器人控制系统带来了很大的变化和信心。9 0 年 代的十年己被看作是基于p c 的技术迅速发展的年代,这种基于p c 的硬件和软件的迅 速发展和更新,对机器人控制技术有十分重要的意义。随着i n t e l 奔腾处理器的不断发 展和微软m s r s 平台的出现和不断更新完善,现在,制造商和开发者已有了一种真正的 开放式体系结构、非专有的控制环境可以利用。这种环境促进不同机器人控制系统的集 成。它也使开发者能更加容易地开发用户应用程序,通过一些平台来控制机器人的运动。 更为重要的是,p c 硬件和软件平台是在机器人产业界可接受的硬件部件和软件常规标 准下建立的,而且采用标准的好处已经被计算机业所证实。这些好处可以容易地转移到 使用机器人的工厂车间和开发者之中。 依据控制系统的开放程度,机器人控制器被分为三类:封闭型、开放型和混台型。 _ 2 _ z o 以,l-毒 东北大学硕士学位论文第1 章绪论 封闭型的控制系统是不能或者很难与其他硬件和软件系统结台的独立系统。而全开放的 控制系统具有模块化的结构和标准的接口协议,其硬件和软件的各个部件,都可以很方 便地被用户和生产厂家变更。它的硬件和软件结构能方便地集成外部传感、控制算法、 用户界面等等。第三种,混合型控制系统结构是部分封闭、部分开放的。现在应用中的 工业机器人的控制系统,基本上都是封闭型系统或混合型系统。 1 2 2 机器人运动控制技术发展趋势 比尔盖茨曾经向世界预言:机器人将成为继个人电脑( p c ) 之后的下一个热门领 域。与此同时,目前的机器人行业面临着很多的挑战,如何建立统一的标准和通用平台, 如何降低硬件成本,以及如何开发新的软件等,这些都是需要考虑的问题。 随着机器人在各行各业上的广泛应用,机器人已成为生活生产系统中的一个常用部 件。通过网络或者c o 肋_ o l l e r 心e a n e 觚o r k ( c a n ) 总线将生产线上各种机器人的控制系 统有效连接,形成一个综合控制系统,已成为现代生产装备的发展趋势,它将大大加速 整个控制系统的数据与信息流通并真正实现共享,同时方便产品设计人员和系统设计人 员的程序设计。然而,现代机器人是由不同厂家生产的。目前对于大部分机器人来讲, 若想将其综合在一起,成为一个通用的分布式系统是很困难的。所以,生产机器人的开 放性倍受关注。机器人控制系统的开放性的研究除受自身技术发展促进之外,还受到其 它两方面积极因素的影响:一是在机器人生产系统中,开放的机器人控制器会给生产者、 用户以及系统集成者带来可扩展、可联网、可移植等诸多好处;另一因素则是当前计算 机、网络以及控制技术研究和商品化水平的不断提高,提供了增强控制系统开放程度的 可行性。 机器人控制器的标准化和网络化以及基于p c 机网络式控制器已经成为研究热点【4 】。 开放式、模块化控制系统,人机界面更加友好,语言、图形编程界面正在研究之中。开 放式控制系统是目前国际上控制系统发展的趋势【5 】。这种开放式体系平台结构环境为系 统控制、过程监视和数据采集、质量管理、以及以前不能做到的与其它系统的通信、典 型的闭环结构、专用性、用于制造业的机器人控制平台提供了系列先进功能。微软公 司开发的基于开放式p c 控制平台m s r s 正在为现有的机器人系统提供实时的自适应开 创新的机遇,为改型和升级机器人控制系统提供大市场。 - 3 - 东北大学硕士学位论文第1 章绪论 1 3 主要研究的目的及内容 本文研究的目的是:对于给定的任意一条三维空间曲线,在分布式异构环境下实现 a s m r o b o t 模块化3 自由度串联机器人的运动学分析和轨迹规划,通过一种通用机器人 控制平台m s r s 编程实时控制实现a s m r o b o t 模块化3 自由度串联机器人沿着这条给 定曲线轨迹运动。 控制流程如图1 2 所示: 调用 s o l i d w o d ( s 轨迹 调用一 l 空间任意三维曲线 = = = = = 刮提取轨迹数据 = = 刮m s r s 平台 兰三兰兰剖a s m r o b 删阢器人i 图1 2a s m r o b o t 机器人控制流程 f i g 1 2a s m r o b o tr o b o t sc o n t r o lp r o c e s s 本文主要研究内容如下: 基于m i c r o s o rr o b o t i c ss t u d i o 的c c r 并发控制机制的分析; 基于m i c r o s o f tr o b o t i c ss t u d i o 的d s s 分布式服务机制的分析; 基于m i c r o s o rr o b o t i c ss t u d i o 的a s m r - o b o t 模块化3 自由度串联机器人系统结构 的分析; 基于m i c r o s o rr o b o t i c s 鼬嘣。的a s m r o b o t 模块化3 自由度串联机器人的系统的 软件构架; 对a s m r o b o t 模块化3 自由度串联机器人的运动学分析和轨迹规划; 基于m i c r o s o rr - o b o t i c ss t u d i o 的a s m r o b o t 模块化3 自由度串联机器人的运动控 制系统的详细设计; 基于m i c r o s o f tr o b o t i c ss t u d i o 的a s m r o b o t 模块化3 自由度串联机器人的运动实 现。 1 4 小结 本章介绍了论文研究背景及其意义,叙述了当前机器人控制技术的现状,简单介绍 了微软公司最新开发的面向机器人应用和开发的m s r s 平台,最后提出了本论文研究的 目的和研究内容。 4 萨,暂k h 翳 商业开发者和爱好者能够更容易地在多种硬件平台上建立机器人应用程序。m s r s 是为 机器人科研工作者、商业开发者和业余爱好者提供的一个基于w h l d o w s 的开发环境, 它可以与诸多各类的硬件一起简单的实现机器人应用。m s r s 开发环境的特点和益处包 括:结合紧密的机器人开发平台、轻量级实时定向服务、可扩展性的平台等。m s r s 平 台运行时是轻量级的面向服务的运行时,它能够满足大部分机器人应用的需求: 1 、当系统运行时,它能够监控状态和与单个组件进行交互; 2 、当系统运行时,它能够发现、创建、停止和重新启动组件; 3 、它能够处理从多个传感器来的并发输入,并将这些并发输入变成互不干扰的消 息队列; 4 、它能够处理自治系统,也能够在本地或者通过网络控制机器人; 5 、它提供的运行时是轻量级的并能够运行在不同的环境中; 6 、它的可扩展性和灵活性可以适应多种不同的硬件和软件。 2 1 1m s r s 环境关键特性和优点 m s r s 环境是一个终端互联、可升级和可扩展的机器人应用开发平台,支持多类硬 件。这一开发环境也支持多系列的编程语言,包括新的视窗编程语言,让非程序员能轻 松创建和调试机器人程序。m s r s 包括功能强大的物理模拟环境,开发者可以在真实的 3 d 物理虚拟环境模拟机器人应用方案。在这一虚拟面向服务的操作界面上,可以实现 机器人应用方案的同步执行和异步执行【6 】【刀。它的关键特性和优点包括: 1 、e n d - t o e n dr o b o t i c s 开发平台:微软公司的m s r s 平台包括可视化的编程工具, 它可以方便的建立和调试机器人应用程序。m s r s 能够使开发者生成硬件和软件的模块 - 5 - 东北大学硕士学位论文 第2 章m s r s 平台的核心技术分析 化服务,允许使用者与基于窗口的应用程序或w 曲界面的应用程序接口互动。开发者 能也可以在平台上建立3 d 模型以模拟r 0 b o t 应用。微软公司从a g e 认得到了p h y s x 引擎的使用许可,作为硬件一加速的物理学领域的先锋者,可以在物理现实世界中模拟 各种机器人模型。通过使用a g e i a 的硬件,p h y s x 模拟功能可以获得加速处理能力。 2 、轻量级服务一以实时处理为导向:微软公司的m s r s 提供轻量级服务作为实时 处理导向。通过使用基于n e t 的并发库,可以使开发非同步的应用变的非常简单。基于 消息的体系结构,使得对通过w e b 界面访问机器人的传感器或传动装置变得简单易行。 通过使用组合的模块功能,令建立使用简单组件开发高级功能的应用变得简单易行。可 重复使用的,稳定的性能和可替代性的编程模块也是其一大特色。 3 、可升级扩展的平台:微软公司的m s r s 编程模版可在多种机器人硬件平台上应 用,可跨平台的传递使用者的技术。通过提供添加库或服务功能,第三方的功能也可以 扩充到平台上。远程应用p c 和机器人应用的运行开发环境可供选择的程序设计语言包 括m i c r o s o 矗s u a ls t u d i o 、m i c r o s o f t s u a ls t u d i oe x p r e s sl a n g u a g e s( c 拌a i l dv b n e t ) , 同样也包括符合基于服务体系的j s c r i p ta 1 1 dm i c r o s o rk o np y t h o n 。 2 1 2 跨越多种不同的硬件平台 m s r s 编程模型可以被应用于广泛的机器人硬件平台上,让用户可以跨平台充分利 用他们的技能。 趱圈 、 。匿互翻 一隧磊霹警露獗嚣彩溺一 施缓溯瀚纽避磁施貔磁幽 鬟霭 图2 1m s r s 支持的机器人 f i g 2 1r o b o t ss u p p o n e db ym s r s 一6 - ,0占 营 东北大学硕士学位论文第2 章m s r s 平台的核心技术分析 m s r s 的编程接口可以为使用不同处理器的机器人开发应用程序,可以是8 位、1 6 位或3 2 位,单核或多核。作为一款用途广泛的机器人工程开发平台,它可以支持乐高 的m 盯机器人、i 汇x 2 o 头脑风暴机器人和慧鱼机器人,除了这些教学上常用的机器人 器材之外,微软机器人工作室平台还支持许多特种机器人,甚至是工业机器人,例如, m b o t 公司的r 0 0 m b a 机器人吸尘器,n l k a 工业机器人,移动机器人等。如图2 1 所示。 正因为其有着强大的通用性和兼容能力,用户不需要考虑机器人底层部分的硬件结 构和驱动,根据自己的需要,只需通过几步操作,就可制造属于自己的机器人,降低了 机器人开发的门槛,使得更多的人有机会去接触机器人的应用。并且,同样的程序不仅 可以在n x t 机器人上运行,甚至可以在r c x 或其它的机器人上执行,做到了一种与硬 件无关联的编程方式【8 】。第三方开发者也可以通过提供额外的库和服务来扩展m s r s 的 功能。机器人厂商可以使他们的产品很容易地与m s r s 兼容。 2 1 3 广泛的面向大众用户、多语言开发 m s r s 使机器人开发研究人员、商业开发人员和爱好者能够更容易地在多种硬件平 台上建立机器人应用程序,因此,有其广泛性的特点。m s r s 允许开发人员使用任何他 们擅长的编程语言,比如包括使用m i c r o s o rv i s u a ls t l l d i o ( v c + + ,v b n e t ,c 撑,j a v a s c r i p t 甚至是h o np y n l o n ) ,同时也能很好的支持w e b 以及基于w i i l d o w s 的监控,以及脚本语 言如m i c r o s o rh d np y 也o n 。对于刚入门的机器人爱好者来说,m s r s 可视化编程语言可 以让任何人非常容易地创建和调试机器人应用程序。只要将一些代表不同服务的模块进 行拖放,并把它们连接起来。你甚至可以把一些已经连接好的模块组合起来,并当作单 一模块在程序的其它地方重新使用。 m s r s 是一个完整的机器人开发平台,它由以下三部分组成: 1 、基于n e t 的服务运行时库( s e r v i c e s o r i e n t e d 砒i n t i m e ) :简化了开发和配制,并 提高了系统的可靠性。许多由运行语言提供的服务是由数据及用于补充可执行代码的信 息所驱动。 2 、可视化编程工具( v i s 叫p r o g r a m m i n gl a n g u a g e ) :可以为应用程序开发环境设 计图形数据流为基础的编程模型,而不是控制流,通常出现在常规的编程中。不是必须 按顺序执行的一连串的命令,数据流程序是更象是装配生产线上的很多工人,谁的任务 来了谁做。v p l 非常适合编程各种并行或分布式处理的情况。 3 、机器人3 d 仿真环境( v i s u a ls i 鲫l a t i o ne n v 的姗e m ) :由三个基本的服务构成, 7 东北大学硕士学位论丈第2 章m s r s 平台的核心技术分析 运行在一个d s s 结点上,d s s 结点是服务的装载环境,为服务的创建和删除的提供了支 持。三个服务通过传递消息实现通讯。 m s r s 的基本架构如图2 2 所示: 图2 2m s r s 的基本架构 f i g 2 2b a s i cs n l l c t eo fm s r s 2 2 基于- n e t 的服务运行时 为了使用户开发更加便利,在m s r s 开发平台中提供了许多机器人服务程序库,这 些程序库就好比是许多机器人程序模块,包括各种传感器、电机马达、显示窗口等各类 服务程序,通过在开发软件中任意组合这些功能模块,使得利用w 曲网页或者w m d o w s 界面访问机器人的传感器或传动装置变得简单易行。 在m s r s 的应用程序环境中,协调器引用任务的传感器输入并且控制一系列执行器 对这些传感器输入的相应的响应。协调器的目的是提供可以作为独立的应用程序的功能 函数或者作为一个更大的协调器的一个重要组成部分。 图2 3 所示为协调器接收触动传感器发出的信号,通过消息机制在w 强d o w s 的消息 框中显示出结果的个流程,其中的每个部分就是一个服务程序。要实现这个简单而有 趣的程序,我们就需要使用一个能编写这些程序的开发软件,而在m s r s 开发环境中是 不带有编写代码程序的软件。目前,我们可以通过s u a ls t u d i o2 0 0 5 中的s u a lc 抖、 s u a lc 撑、s u a lb a s i c 或者m i c r o s o rh o np y t h o n 来编写这些服务程序库。 - 8 - 一t ,j , 东 图2 3 协调器接收传感器信号的服务流程 f i g 2 3s e n ,i c e sp m c e s so fo r c h e s t 豫t o rr e c e i v i n gb u m p e r ss i g n a l m s r s 运行时是基于r e s t 模型,并融合了w 曲s e r v i c e s ,使之具有处理结构化数 据和事件通知的能力。通过这种方式扩展l 也s t 模型,最终结果是能够利用事件通知模 型和结构化的数据操纵,而又不失互操作性【9 】。以跨越网络的服务组织成的组件,并且 组件构建的应用程序具有更强的互操作性和动态灵活性。 m s r s 运行时提供了一个运行时环境,建立、运行、管理和在节点间或者跨网络连 接服务,并因此被融合到应用中。最终使有着对等节点的分布式的应用模型比客户端服 务器模型更合适,双向的数据交换代替了单向数据传输。m s r s 平台的运行时包含两部 分核心内容,并发式协调运行时( c o n c u 玎e m ya n dc 0 0 r d 姗i o n 黜m t 妇e ,c c r ) 和分布 式软件服务协议( d e c e 砷m i z e ds o f h a r es e r v i c e sp r o t o c o l ,d s s p ) 【1 0 1 。 2 2 1c c r 并发协调运行时 并发系统的问题域是消息的异步问题和线程的并发问题,而c c r 通过消息队列和 消息句柄回调解决异步问题,通过线程池解决线程的并发问题【l 引。 c c r 运行时采用异步方法同时处理多个事件比采用写多线程同步方式更加简单。采 用同步方式处理i o 请求的话,应用程序由于设计混乱会放弃处理一些设备请求,使应 用程序响应不可预料【1 5 】;同时,当线程挂起等待i o 请求完成的话,应用程序可能会创 建更多的工作者线程去完成更多的工作,这样就会使更多的线程处于等待,可能造成系 统死锁。 c c r 能够不使用手工线程、锁、信号量等来同步消息,它是基于异步消息传递,并 为服务提供包含同步消息的高层控制原语集合的上下文环境,采用信号量机制控制异步 - 9 - 平台的核心技术分析 库去处理协调复杂 图2 4c c r 类图 f i g 2 4c l a s sd i a g r a mo fc c r 从类结构图上可以看出,d i s p a t c h e r 类是用来创建和管理线程的线程池,在应用程 序创建之初必须实例化。这个线程池就是在并发性系统设计中讲到的 对象, 也是并发性系统的根对象,其他的线程对象均由这个d i s p a t c h e r 线程创建。d i s p a t c h e r 线程池不同于c l r ( c o 删 i l o nl a z l g u a g er l m t i m e ) ,c c r 允许在一个处理器上创建多个 d i s p a t c h e r 线程池,以处理多个设备i o 请求。如果说d i s p a t c h e r 线程池中是管理系统线 程集合,那么d i s p a t c h e r q u e u e 是用来管理和维护将要被执行的委托方法的消息队列集 合。d i s p a t c h e r 监听消息线程,如果有消息线程请求,d i s p a t c h 甜线程池中的消息线程被 唤醒,采用任务识别策略到d i s p a t c h e r q u e u e 消息队列中查询匹配的委托方法并执行。 p o r t q 陟类是给消息队列输入参数到回调函数的一种方式,采用f i f o ( f i r s ti nf i r s to u t ) 队列实现,而r e c e i v e r 协k 类是a r b i t e r 注册消息回调函数到消息队列中的一种方式。 当异步的i o 请求完成后,他们的结果将被投递( p o s t ) 到p o r t q 对象中用来接受消息 数据,而每个p o r t 类关联零或多个r e c e i v e r t 缸k 委托方法,舢i t e r 类用来注册和注销消 息队列中的p o r t 类和r e c e i v e r t a s k 类的关联关系。 综上所述,可以看出c c r 设计并发性的流程是:消息参数被绑定到p o r t 对象,在 - 】0 - 东北大学硕士学位论文第2 章m s r s 平台的核心技术分析 消息队列中注册的r - e c e i v e r l 缸k 对象发送消息参数到m i t e r 对象并由舳i t e r 决定哪个 回调函数应该去执行这个任务,舳妇组织p o r t 和r e c e i v d k k 形成一个消息和回调参 数的映射注册到d i s p a t c h e r q u e u e 中,d i s p a t c h 盯负责处理异步i o 请求和消息处理。 。 2 2 2d s s 分布式软件服务 d s s 是一个基于s o a p 协议的用来处理协同任务分布式应用程序的服务模型,它定 义了一个轻量级的服务模型,具有服务标识、状态和服务订阅管理,同时为了处理结构 化数据查询、操纵和事件通告,它也定义了一系列的面向状态的消息【1 7 1 。 d s s 提供了一个服务宿主环境和一些基本服务使得测试、日志、监控、安全、发现 和数据持久化更加方便。m s r s 运行时基于r e s t 模型,并融合了w 曲s e n ,i c e s ,使之 具有处理结构化数据和事件通知的能力。 d s s 定义的服务可以被创建、操作、监视状态和销毁 1 引。一个d s s 服务包含有服 务标识、服务行为、服务状态、服务上下文。服务标识用来唯一的标识一个服务,以 u 对形式定义,用于查询和发现该服务。服务行为就是服务能够提供的功能;服务状态 保存当前服务的状态数据;服务上下文就是一个服务和其他服务的关系。 回国 图2 5 服务创建时序图 f i g 2 5s e q u e n c ed i a 舯mo fc r e a t i n gs e r v i c ei nd s s 不同的节点之间运行着d s s 服务,或者同一个节点运行着不同的d s s 服务,一个 1 1 东北大学硕士学位论文 第2 章m s r s 平台的核心技术分析 节点上的服务可以在另一个远程或者本机节点上创建新的服务,首先客户机发送c r e a t e 消息请求到c o n s 咖c t o r ,c o n s 饥l c t o r 收到消息后响应该消息,这样新的服务就可以在该 节点上被创建,然后客户机就可以和新的服务进行操作请求,如图2 5 所示。 d s s 把服务状态从服务行为中分离出来以达到暴露它们的状态而隐藏它们行为的 目的,也就是实现了信息隐藏。d s s 提供了一系列操作服务的操作原语,查询、创建、 删除、修改、订阅和协同服务等。d s s 使用i n s e r t 、u p d a t e 、d e l e t e 、r e p l a c e 等原语实现服务状态的修改,当然,也可以在继承上述原语的基础上自己定制操作原语。 4 d s s 中的发布订阅机制处理流程是:订阅者服务向发布者服务发送s u b s c 舶e 消息 订阅服务,发布者向订阅管理器发送i n s e r t 消息建立服务订阅表,然后订阅者服务就可 以向发布者服务订阅响应的消息( 如r e p l a c e 消息) ,发布者服务向订阅管理器提交该订 阅用户的r e p l a c e 消息,以后实行异步消息机制,如果发布者有i b p l a c e 消息,将向订 阅者发送该消息,处理时序如图2 6 所示。 甲甲甲 l l ,;争甥羧貉嚣 ll , , 1 ;。嬲雅务黪 l 2 疆| i r l 一一 二2 堰潮 一4 i 3 f 辫嚣糖麓塑 龟逛 “一 、 5 缝缸土逸 6 逸h 一一一一一一一一一一一一一 中一 矿l ;r 嘲 :髦二 l l l 8 。踅潮 l l 丁 一 一 9 疑帮数始 上 ic 臻戮撅 1 1 琵张羧嬲 l 土挎滋毵獬 lr 图2 6 发布订阅服务时序图 f i g 2 6s e q u e n c ed i a g i l l mo fp u b l i c a t i o n s u b s c r i p t i o ni nd s s 1 2 母 i 东北大学硕士学 2 2 - 3r e s t 应用模型 一种思维方式影响了互联网w r c b 软件的发展【l l 】。i 也s t 软件架构是当今世界上最成 功的互联网的超媒体分布式系统软件架构,它让人们真正理解网络协议h 盯田本来面貌, 它正在成为网络服务的主流技术,同时也正在改变互联网的网络软件开发的全新思维方 式。今天微软已经应用i 迮s t 并且提出把我们现有的互联网变成为一个语义网,这种网 络将会使得搜索更加智能化。 2 2 3 1r e s t 与h 1 _ r p r e s t 软件架构是由i b yn l o m 嬲f i e l d i i l g 博士在2 0 0 0 年首次提出的,他为我们描 述了开发基于互联网的网络软件的蓝图。r e s t 软件架构是一个抽象的概念,是一种为 了实现互联网超媒体分布式系统的蓝图。利用任何技术都可以实现这种理念,而实现这 一软件架构最著名的就是h ”曙协议。通常将i 迮s t 也称为r e s t h t r p ,在实际中往 往把r e s t 理解为基于h t t p 的r e s t 软件架构,或者更进一步把i 通s t 和h t t p 看作 为等同的概念。 当今,h t t p 是互联网上应用最广泛的计算机协议,h t t p 不是一个简单的运载数 据的协议,而是一个具有丰富内涵的网络软件协议。它不仅仅能够对于互联网资源进行 唯一定位,而且还能告诉我们对于该资源进行怎样运作,这也是i 也s t 软件架构当中最 重要的两个理念,而i 也s t 软件架构理念是真正理解h t t p 协议而形成的。有了i 也s t 软件架构理念出现,才使得软件业避免了对h t t p 协议的片面理解。 但是又不能简单的认为r e s t 就完全等同于h t 曙,h t t p 主要追求的是轻便性、 互操作性和松耦合性,但是h t t p 也有其缺陷。特别的,会经常碰到两个局限性【1 2 】: ( 1 ) 不支持结构化数据的处理。确切的说,在资源上面操作都是“资源级别”的, 而不是资源的底层。这就使服务的状态很难更新,并限制了服务间互操作性的程序。 ( 2 ) 不支持事件通知。h r r p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区书记发言稿
- 规划建设管理培训大纲
- 教师语言行为培训
- 脚手架安全培训
- 2025版建筑工程用方木材料采购合同
- 2025版LED户外广告新媒体营销活动策划与执行合同
- 2025版钢结构场地租赁合同(含仓储、装卸及搬运服务)
- 2025版电商平台电商人员保密协议与竞业禁止合同
- 2025版木材行业信息化建设与技术支持合同
- 二零二五年度商铺租赁合同范本解读
- 2024年广东省连州市事业单位公开招聘笔试题带答案
- 财务国企面试题目及答案
- 蒙特利尔认知评估量表及评分指导
- 建筑材料招标文件2篇
- 电子工厂品质意识培训
- 2025年初中语文教师招聘面试八年级上册逐字稿之苏州园林八上
- 《中国慢性便秘临床诊断与治疗规范(2024)》解读
- 水果联营合同协议
- 2024智能船舶规范
- 资料员笔试试题及答案
- 幼儿园晨间活动教研培训
评论
0/150
提交评论