(机械电子工程专业论文)基于msrs的asmrobo机器人驱动服务的开发研究.pdf_第1页
(机械电子工程专业论文)基于msrs的asmrobo机器人驱动服务的开发研究.pdf_第2页
(机械电子工程专业论文)基于msrs的asmrobo机器人驱动服务的开发研究.pdf_第3页
(机械电子工程专业论文)基于msrs的asmrobo机器人驱动服务的开发研究.pdf_第4页
(机械电子工程专业论文)基于msrs的asmrobo机器人驱动服务的开发研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

j i ad i s s e r t a t i o ni nm e c h a n i c a lm a n u f a c t u r ea n da u t o m a t i o n t h er e s e a r c ha n d d e s i g no f t h ea s m r o b o t s d r i v es e r v i c eb a s e do nt h em s r s b yx i a ol i t a o 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 t y j u l y2 0 0 8 m肿i川7洲0 2 4舢8 川i y l l y l i二 独创性i 声明 本人声明 所呈交的学位论文是在导师的指导下完成的 论文中取得 的研究成果除加以标注和致谢的地方外 不包含其他人己经发表或撰写过 的研究成果 也不包括本人为获得其他学位而使用过的材料 与我一同工 作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢 l 恧 学位论文作者签名 日 期 唧 7 占 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留 使用学位论 文的规定 即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘 允许论文被查阅和借阅 本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索 交流 作者和导师同意网上交流的时间为作者获得学位后 t 半年口一年口一年半口两年口 lj 学位论文作者签名 啊卅iz 乃 导师签名 门l 一 签字日期 凡7 6签字日期 i 歹 东北大学硕士学位论文 摘要 基于m s r s 的a s m r o b o t 机器人驱动服务的开发研究 摘要 随着机器人技术的发展 机器人需要完成更加复杂多变的任务 工作环境也有极大 的不确定性 机器人的开放化 模块化是机器人技术发展趋势 这对机器人设计灵活性 和智能性提出了更高的要求 而机器人的可扩展 可重用性设计无疑是解决这一问题的 有效方法之一 m i c r o s o f tr o b o t i c ss t u d i o 控制平台提供的r e s t 应用模型能够满足控制 系统并发性 分布式的要求 其s e r v i c e 服务模式大大提高了机器人的扩展性和重用性 因此本文着重研究以a s m r o b o t 为对象开发m i c r o s o f tr o b o t i c ss t u d i o 驱动服务 以便 适应指定机器人的控制程序 s e r v i c e 服务是m i c r o s o f tr o b o t i c ss m d i o 控制平台的基本单元 本文研究的驱动 s e r v i c e 服务是机器人运动控制的基础 在驱动s e r v i c e 服务中 根据提供的c 编写的 a p i 函数将整个s e r v i c e 服务层分为三个带有代理类的s e r v i c e 服务 a p i 函数服务 w r a p p e r 中转服务d e m o 驱动服务d e m o s e r v i c e s 在任务处理机制上采用线程池消息 队列的方式 在驱动s e r v i c e 中设计实现了两个循环线程缩短了任务的处理时间 本文 分析了分布式控制系统的通信协议和可扩展的r e s t 应用模型 在此基础上深入研究了 m i c r o s o f tr o b o t i c ss t u d i o 开发平台的并发协调运行时和分布式软件服务协议 为了实现 控制平台系统最大粒度的可重用性 采用了w e bs e r v i c e s 发布订阅技术和a d a p t e r 适配 器软件设计模式 本文在m i c r o s o f tr o b o t i c ss t u d i o 平台上完成对c a p i 的调用并发布 成s e r v i c e 服务 在设备之间提供了几种通信方式以满足环境的不同需要 通过对 a s m r o b o t 控制模型 控制程序的设计对本系统进行了实验验证 关键字 分布式 可扩展 可重用 m s r s i i 盯 f 东北大学硕士学位论文 a b s t r a c t t h er e s e a r c ha n dd e s i g no ft h ea s m r o b o t sd r i v es e r v i c eb a s e do n t h em s r s a b s t r a c t w i t ht h ed e v e l o p m e n to ft h er o b o tt e c h n o l o g y t h er o b o tn e e d st of i n i s hc o m p l i c a t e da n d m o r ec h a n g e a b l et a s ki nf u t u r e t h eo p e n i n g m o d u l a r i z a t i o na r et h et r e n do ft h er o b o t i t n e e dm o r ef l e x i b l ea n di n t e l l i g e n td e s i g no nr o b o t a n dt h ee x t e n d e da n dr e u s a b l ed e s i g ni s o n eo ft h em o s te f f e c t i v em e t h o d t h er e s ta p p l i c a t i o nm o d e lp r o v i d e db ym i c r o s o f t r o b o t i c ss t u d i oc a l lm e e tt h ed i s t r i b u t e da n dc o n c u r r e n td e m a n d t h em o d e lo ft h es e r v i c ei s g r e a t l ye n h a n c e dt h er o b o t ss c a l a b i l i t ya n dr e u s a b i l i t y t h e r e f o r e i nt h i sp a p e r 1 w i l lf o c u s o nt h ed r i v e ns e r v i c eo ft h em i c r o s o f tr o b o t i c ss t u d i of o ra s m r o b o ti no r d e rt om e e t c o n t r o lp r o c e d u r e sf o rt h es p e c i f i e dr o b o t t h es e r v i c ei st h eb a s i cu n i to ft h em s r sc o n t r o lp l a t f o r ms y s t e m t h ed r i v e ns e r v i c ei s t h ef o u n d a t i o nt oc o n t r o lr o b o t a ts e r v i c et i e r a c c o r d i n gt ot h ea p if u n c t i o n s i t sd i v i d e d i n t ot h r e es e r v i c e s 谢mt h ea g e n tc a t e g o r i e s t h ew r a p p e rt ot r a n s f e ra p if u n c t i o n s t h ed e m o a n dt h ed r i v es e r v i c e sd e m o s e r v i c e s t h em e c h a n i s mo ft h et a s kh a n d l i n gu s e do nt h e m e s s a g eq u e u ea n dt h r e a dp o o l i nd r i v e ns e r v i c e id e s i g nt w ot h r e a d st od e a l 谢mt h et a s k c i r c u l a r l y a n di tg r e a t l ys h o r t e n e dt h ep r o c e s s i n gt i m ef o rt h et a s k ia n a l y z et h ec o n t r o l s y s t e mc o m m u n i c a t i o np r o t o c o la n ds c a l a b l er e s ta p p l i c a t i o nm o d e la n dd e e p l ys t u d yt h e c c ra n dt h ed s s pi nm i c r o s o f tr o b o t i c ss t u d i o i no r d e rt oa c h i e v et h em a x i m u ms i z eo f t h er e u s a b l ei nt h ec o n t r o lp l a t f o r ms y s t e m p u b l i c a t i o n s u b s c r i p t i o nm e c h a n i s mi nt h ew e b s e r v i c e sa n da d a p t e rd e s i g np a t t e mc a nh e l pu s i nt h i sp a p e r ic o m p l e t et oc a l lt h ea p i f u n c t i o n sa n dr e l e a s ei ti n t os e r v i c e t om e e tt h ed i f f e r e n tn e e d so ft h ee n v i r o n m e n t io f f e r s s e v e r a lm e a n so fc o m m u n i c a t i o nb e t w e e nt h ee q u i p m e n t it e s tt h ec o n t r o ls y s t e mt h o u g ht h e d e s i g no ft h ea s m r o b o tc o n t r o lm o d e la n dp r o c e d u r e s k e yw o r d s d i s t r i b u t e d r e u s a b i l i t y r e u s a b l e m s r s i i i 东北大学硕士学位论文 目录 目录 独创性声明 i 摘要 i i a b s t r a c t i i i 目录 第1 章绪论 1 1 1 本课题研究背景 1 1 1 1 机器人设计的新要求 1 1 1 2 机器人发展趋势 2 1 2 机器人控制平台 2 1 2 1m i c r o s o f tr o b o t i c ss t u d i o 的出现 2 1 2 2 与传统控制系统设计比较 3 1 3 本文研究目标及内容 5 1 4 j 结 6 第2 章相关技术研究 7 2 1m i c r o s o f tr o b o t i c ss t u d i o 与机器人连接方式 7 2 2m i c r o s o f tr o b o t i c ss t u d i o 核心技术 8 2 2 1w 曲与r e s t 应用模型 9 2 2 2 节点结构 9 2 2 3c c r 运行时 1 1 2 2 4d s s 分布式服务 1 2 2 3w e bs e r v i c e s 技术 l3 2 3 1w e bs e r v i c e s 主要相关协议 1 3 2 3 2w e bs e r v i c e s 的框架结构 1 4 2 3 3w e bs e r v i c e s 的特征 1 6 2 4 通信方式比较 17 2 4 小结 18 i v 东北大学硕士学位论文目录 第3 章控制系统设计 1 9 3 1 并发式系统设计 1 9 3 2 分布式系统设计 2 3 3 3 可重用驱动s e r v i c e s 设计 2 6 3 4 小结 2 8 第4 章控制系统详细设计 2 9 4 1 控制系统设计原则 2 9 4 2p c 与机器人的通信设计 3 0 4 3 驱动s e r v i c e s 设计 31 4 3 1 机器人a p i 调用设计 3 l 4 3 2 驱动s e r v i c e s 的发布 3 2 4 3 3 节点间发布订阅接口设计 3 3 4 4 控制层设计 3 4 4 5 小结 3 5 第5 章控制系统实现 3 6 5 1 控制系统重用技术的实现 3 6 5 1 1 系统核心支撑s e r v i c e 服务层实现 3 6 5 1 2 节点间服务发布订阅实现 4 0 5 2 控制技术的具体实现 4 3 5 2 1 控制系统结构 4 3 5 2 2 控制系统各层通信 4 4 5 2 3 控制系统与机器人通信口的设计 4 6 5 2 4 驱动s e r v i c e s 对机器人控制实现 4 7 5 2 5 驱动s e r v i c e s 的发布 4 9 5 2 6 系统对机器人控制实现 5 4 5 3 小结 5 7 第6 章结论与展望 5 8 6 1 结j 沧 58 弘 东北大学硕士学位论文 目录 6 2 展望 5 8 参考文献 6 0 致谢 6 3 v i 东北大学硕士学位论文第1 章绪论 第1 章绪论 进入2 1 世纪以来 随着机器人技术的发展 机器人的应用范围也不断得到扩展 从 传统的工业现场应用逐步向人类生活空间渗透一即消费机器人时代的到来 l 随之其研 究重点也从结构环境下的固定式机械臂 机械手转向非结构未知环境下移动式的自主机 器人 2 与传统的工业机器人相比较 新型智能机器人需要面临不确定的工作环境 完成 更加复杂多变的任务 由于不同厂家的硬件兼容性问题和不同软件模块的通用问题成为 提高机器人的研发速度和降低制造成本的主要障碍 因此机器人的模块化设计 无疑是 解决这一问题的有效方法之一 m i c r o s o f tr o b o t i c ss t u d i o 提供的w e bs e r v i c e s q 艮务技术在支持异构平台下对象的可 互操作性和移植性方面具有很大开放性与灵活性 该标准主要特点是实现了软总线结 构 通过功能抽象 屏蔽和隐藏底层诸如操作系统 开发语言和具体技术 协议等细节 差异 形成一套统一的接口描述 从而解除了机器人各个部件之间紧密的耦合性 m i c r o s o f tr o b o t i c ss t u d i o 还针对机器人实时性 可靠性等要求 向系统提供事件服务 安全与生命周期等服务 已经成为国际机器人领域的研究热点之一 1 1 本课题研究背景 1 1 1 机器人设计的新要求 近年来 和机器人相关的新闻已经是耳熟能详了 工厂生产线上操作机器人来处理 简单重复性的操作 宇宙探险中使用机器人作业 深海勘查中利用海下机器人等等 还 有 2 0 0 5 年开始欧美开始使用胃肠诊断机器人获得许可 再有 家庭环境中使用护理 清洁 照顾幼儿等专用的机器人 如此说来 机器人的专门分工已经快速发展起来 在 人类的日常生活中也逐步的广泛应用起来 这就要求机器人的设计要大众化 用户可以 根据自己的需求自主开发机器人 就目前绝大多数机器人而言 其灵活性只是能够反复编程而言 工作环境相对来说 是固定的 但是现代机器人设计面临的是不确定的任务和多变的工作环境 为了适应不 同环境 完成不同性质的任务 机器人被设计的越来越复杂 按传统设计方法 每次设 计人员需要耗费大量的时间和精力从头设计 机器人的安装和调试也越来越困难 为了 东北大学硕士学位论文第1 章绪论 获得更大的独立性 人们对机器人的灵活性和智能性提出了更高的要求 原有设计方法 已经不适应机器人应用的发展 我们的系统是面向用户 而不是面向机器人的设计者 从用户使用角度来讲 他没有必要了解模块机器人的内部详细构造和运作 他只需要了 解和描述该机器人所从事的任务和应该具备的性能 从这个意义上讲 该系统是以任务 为驱动 或者说是面向任务的 2 3 1 1 1 2 机器人发展趋势 和传统的工业机器人比较起来 未来机器人需要完成更加复杂多变的任务 工作环 境也有极大的不确定性 机器人的开放化 模块化是机器人技术发展的趋势 将极大地 促进机器人的发展 一方面 在工业制造领域 使用统一的硬件和软件接口 机器人的 各个部件可以独立在不同的厂商设计制造 用户能在市场上找到各种各样适合自己应用 的机器人组件进行自由的组装 另一方面 在机器人研究领域 研究人员可以将研究重 点集中在人工智能和特殊功能部件的研究上 可以从市场上获得成熟的硬件和软件 并 在此架构基础上进行开发 从而加快机器人的研究过程 加速机器人更新换代 以满足 市场对机器人功能上的不断增长的需求 如今 机器人产业正处于 正等待着亨利福特的出现 的状态 l 时下的机器人业 界正处于 厂商分别使用各自的方法研制机器人的 群雄割据的时代 1 1 为了实现机 器人的普及 出现亨利福特汽车式的生产线是当务之急 但是汽车和机器人是不一样的 即使出现统一规模大生产 机器人的价格也下不来 花在机器人制造的大量精力 应该 不是部件的物质资源 而是移动的算法 也就是说是软件的开发 算法如果能被通用化 且自由的使用 相信机器人的价格会大幅度的下调 换句话说 即 机器人的动态软件 通用化 也就好比汽车产业的 组装生产线 的普及 l 1 2 机器人控制平台 1 2 1mic r o s o f t r o b o tic ss t u dio 的出现 由于廉价 高性能的机器人硬件如今已唾手可得 机器人产业已处在腾飞的边缘 但目前这个市场还需要一些更好的开发工具和一个通用的软件平台 以便让应用软件可 以在不同类型的机器人上重复使用 微软已经创造了一个新的软件开发环境组件 作为 一个提供为机器人产业共同体而设计的软件开发平台 1 v d c r o s o t tr o b o t i c ss t u d i o 2 一 二一 东北大学硕士学位论文第1 章绪论 m i c r o s o f tr o b o t i c ss t u d i o 是一个完整的机器人开发平台 它提供了一个可视化的编程以 及调试环境 还可以让开发者为机器人软硬件开发出模块化的服务程序 同时还可以建 立一个三维的仿真模型 它有以下特点 跨越多种不同的硬件平台特点 广泛的面向大 众用户特点 多种应用的广泛开发特点 羽 在m i c r o s o f tr o b o t i c ss t u d i o 中 即使不懂编程的爱好者都可以用可视化编程语言 v p l 像堆积木一样 选择一些服务 比如l e g on x t 已经被很好支持 把这些服务按 顺序连接 给出输入参数 定义一些计算方法 然后运行 就可以控制一台简单的机器 人了 当然也可以自己用广泛流行的任何语言写自己的代码 调用m i c r o s o f tr o b o t i c s s t u d i o 的几乎任何功能 因为这些功能都以s e r v i c e 提供 m i c r o s o f tr o b o t i c ss t u d i o 可以运用在多样的平台 实际上只要设定指令限定你的硬 件设备就像用信息输入到电脑使它运作 那么指令就可以帮助你遥控机器人 做出你所 给指令的动作 m i c r o s o f tr o b o t i c ss t u d i o 的指令主要在于编排输出和输入的信息 用抽 象的软件使它来了解同意你对机器人的输入的指令 才能输出你给它的指令动作 服务 可能代表接口对软件或硬件和执行体作用 m i c r o s o f tr o b o t i c ss t u d i o 技术提供的技术能够满足大部分机器人应用的需求 1 当程序运行时 它能够监控状态与单个组件进行互动 2 当程序运行时 它能够发现 创建 停止和重起组件 3 它能够处理从多个传感器来的并发输入 并将这些输入变成互不干扰的任务列 表 4 它能够处理自治系统 也能在本地或者通过网络控制机器人应用 5 运行时是轻量级的并能够运行在不同的环境中 6 应用环境具有可扩展性和灵活性 来适应多种不同的软硬件环境 1 2 2 与传统控制系统设计比较 通常机器人的设计过程是 首先针对已确定的功能要求和作业环境设计机器人的本 体 即硬件 包括执行机构 移动机构以及相应的传感器 然后根据硬件设计相应的控 制软件 在这种设计方法下 所有的硬件控制都交给主控软件完成 硬件和软件必须要 通盘考虑 完成不同功能的部件之间在软件上是一种紧密耦合的关系 机器人的定律是 机器人 硬件设备 控制软件 其关系图如图1 1 4 这种机器人的设计方法是针对工 业应用环境发展而来的 应用机器人的制造企业对机器人的基本要求是高效和安全 因 3 东北大学硕士学位论文第1 章绪论 此应在满足工艺要求的前提下 缩短动作行程 简化动作运动轨迹 减少机器人执行机 构的自由度数 动作行程短 在相同的循环时间条件下 降低了机器人手臂动作的运动 速度 能提高运动准确度和重复精度 便于设计和制造 所以工业机器人大多是5 到6 个 自由度 这种设计是适应工业应用的 图1 1 传统设计方法 f i g 1 1t h et r a d i t i o n a ld e s i g nm e t h o d s 设计现代机器人计算机工程的组件化的方法值得我们借鉴 即解除机器人部件之间 在软件上的紧密耦合关系 因为不论怎样复杂的机器人基本上都是由控制器 执行机构 移动机构和传感器组成 而这些不同部件都完成特定的功能 例如执行机构只需完成榨 取的动作 而机器人位置的移动则由移动机构完成 我们可以将各种部件的功能抽象出 来 形成一套统一的对这些功能的描述 部件 硬件 加上对该部件的功能描述 软件 就构成组件 而机器人就是由不同的组件构成的 因此 机器人就可以这样描述 组件 部件 功能描述 机器人 组件 组件 不同组件通过统一的硬件和软件接口 解除了机器人各个部件之间的紧密的耦合 性 可以轻而易举地重复使用硬件和软件的模块 5 1 其关系图如下 4 东北大学硕士学位论文第1 章绪论 图1 2 现代设计方法 f i g 1 2t h em o d e md e s i g nm e t h o d s 1 3 本文研究目标及内容 m i c r o s o f tr o b o t i c ss t u d i o 的一个关键特性是端对端开发 可以利用来自a g e i a 的 p h y s x 物理引擎技术授权来模拟机器人应用 同时 开发人员可以通过网络浏览器来访 问机器人体内的传感器 便于开发 6 此外 新平台具有良好的升级性和扩展性 可根 据用户的习惯进行自定义 m i c r o s o f tr o b o t i c ss t u d i o 的第一个合作伙伴是l e g o 乐高 其开发的m i n d s t o r m s n x t 产品充分发挥微软新平台的优势 提供更多新功能 在完成对l e g o 积木机器人 n x t 的研究控制开发后 本课题针对一个全新的机器人a s m r o b o t 利用m i c r o s o f t r o b o t i c ss t u d i o 开发平台设计一套与l e g o 积木机器人n x t 同样结构的控制系统 使 用m i c r o s o f tr o b o t i c ss t u d i o 可以实现多节点协同处理的 模型上可扩展 功能上可重用 的分布式控制系统 本文研究的主要目标是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 机 器人 主要研究内容有 r e s t 应用模型 m i c r o s o f td s s 分布式服务机制 m i c r o s o f tc c r 并发控制机制和节点间服务发布订阅实现 根据分布式 并发性 可扩展和可重用性需 求提出了控制平台系统软件架构并对系统进行了u m l 建模 最后在m i c r o s o f tr o b o t i c s s t u d i o 平台上实现了可重用w e bs e r v i c e s 的发布 以及对机器人具体控制的实现 5 东北大学硕士学位论文第1 章绪论 1 4 小结 本章介绍了论文研究背景及其意义 指出机器人设计的新要求 并把机器人传统设 计方式与现代设计方法类比 指出现代设计方法主流方向和m i c r o s o f tr o b o t i c ss t u d i o 控 制软件的出现对现代设计方法的影响 最后提出了本论文研究的目标及其内容 东北大学硕士学位论文第2 章相关技术研究 第2 章相关技术研究 本控制系统是在m i c r o s o f tr o b o t i c ss t u d i o 控制平台基础上以w i n d o w s 操作系统和 i n t e r n e te x p l o r e r 为操作平台 以c a n 总线通信技术 蓝牙通信技术 u s b 通信技术 串行口通信技术为基本通信方式实现具体机器人控制 2 1mic r o s o f tr o b o tic ss t u di0 与机器人连接方式 分布并发式控制系统对机器人的控制首先是要对机器人a p i 的调用 按机器人本身 提供的a p i 的位置来说 机器人可以分为两类 4 4 1 一是机器人控制设备对应 n e t f r a m e w o r k3 0 的机器人 例如l e g o 的n x t 积木机器人 此类机器人的a p i 一般都在 机器人本身的系统上 这样的机器人处理器处理功能比较强大 m i c r o s o f tr o b o t i c ss t u d i o 可以使用d s s d e p l o y e x e 将安装程序释放到此类机器人的处理器上 对这类机器人的控制 需要在机器人控制设备设置节点 如图2 1 所示 该节点中用户配置自定义服务 可以 对机器人进行控制 这种控制结构对所有设备采用i n t e r a c t 技术的节点服务订阅发布机 制 通信控制都比较简单 第二种机器人控制设备使用小型c p u 不用和 n e tf r a m e w o r k 图2 1 第一种节点设置方法 f i g 2 1t h ef i r s tn o d es e t t i n gm e t h o d 3 0 对应 这种机器人其a p i 一般都在与之对应的p c 机上 本课题研究的a s m r o b o t 就属 于此类机器人 这类机器人的控制需要在p c 中设置节点 通过b l u e t o o t h c a n u s b 等借 助节点和机器人通信 其控制结构图如图2 2 m i c r o s o f tr o b o t i c ss t u d i o 设定的节点是通 东北大学硕士学位论文第2 章相关技术研究 过向机器人发送指令信息进行通信 相反 机器人探查到障碍物 向节点发送结果通知 报告 其它节点 回 图2 2 第二种节点设置方法 f i g 2 2t h es e c o n dn o d es e t t i n gm e t h o d 2 2mic r o s o f tr o b o tic ss t u di0 核心技术 m i c r o s o f tr o b o t i c ss t u d i o 运行时提供一个面向服务的架构 它结合了传统基于w e b 架构的主要理念和w e b 服务来提供高灵活性和轻量级 分布式的应用模型 w e b 架构 主要着眼于轻便性 互操作性和松耦合性 它描述了一个面向服务的 基于组件的应用 体系结构 运行在h t t p 协议之上 基于w e b 的应用已经证明是可伸缩的 具备互操 作性 并且能够灵活的适应多种不同的应用场景 m i c r o s o f tr o b o t i c ss t u d i o 运行时应用模型基于r e s t 模型 并增强了w e b 服务 使之具有处理结构化数据和事件通知的能力 r e s t 软件架构是一个抽象的概念 是一 种为了实现互联网超媒体分布式系统的蓝图 通过这种方式扩展r e s t 模型 应用能够 利用事件通知模型和结构化的数据处理 而在以存在的r e s t 架构中 不必丢失互操作 性 结果是 以跨越网络的服务组织成的组件 并以组件构建的应用具有更强的互操作 性和动态灵活性 m i c r o s o f tr o b o t i c ss t u d i o 平台包含两部分核心内容 并发式协调运行 时 c o n c u r r e n c ya n dc o o r d i n a t i o nr u n t i m e c c r 和分布式软件服务协议 d e c e n t r a l i z e d s o f t w a r es e r v i c e sp r o t o c o l d s s p 8 东北大学硕士学位论文 第2 章相关技术研究 2 2 1w e b 与r e s t 应用模型 r e s t 是由r o yf i e l d i n g 提出的 它在一定程度上地形式化了w 曲架构 r e s t 是建立在t i mb e m e r s l e e 介绍的概念上的 即一个u r i 指向一个资源 所有与该资源 发生的互操作都是通过状态改变发生的 1 0 1 1 事件是能够用资源体现的 并用某特殊 的展现形式表示 展现形式随着时间的推移会不停的改变 并会被表示成各种不同的数 据格式 操作资源的唯一办法就是通过改变请求的状态来实现 一个资源的不同状态和 行为是在通讯组件间完成松耦合的主要组成部分 实现这一软件架构最著名的就是h t t p 协议 但是r e s t 并非h t t p 的唯一特性 r e s t 原理能够通过很多方法来实现 但现在h t t p 是仅有的协议 并行之有效的r e s t 实现方式 通常将r e s t 也称为r e s t h t t p 在实际中往往把r e s t 理解为基于h t t p 的r e s t 软件架构 或者更进一步把r e s t 和h t t p 看作为等同的概念 它支持u r i 并提供如何操作资源的共享语法 r e s t 利用支持h t t p 的t c p i p 协议来确定互联网上的资源 这就是通用资源标识 符 u n i v e r s a lr e s o u r c ei d e n t i f i e r u u r i 一般由三部分组成 3 0 1 访问资源的命名机制 2 存放资源的主机名 3 资源自身的名称 u r i 既是w e b 架构的最简单元素 也是最重要的元素 在r e s t 架构中 要求将资 源 服务 程序等绑定到u r i 上 服务之间访问采用u r i 形式 这样屏蔽了地域性的 限制 m i c r o s o f tr o b o t i c ss t u d i o 运行时融合了r e s t 和w e b 服务两大领域 采用r e s t 作 为基础 但又用w e b 服务领域的结构化数据描述和事件通知来进行扩展 为了达到这 个目的 非集中系统服务 d s s 定义了一个应用模型 并将事件通知和结构化数据处 理整合进了r e s t 领域中 并将其作为服务模型的一部分 2 2 2 节点结构 所谓节点是指h t t p 和t c p i p 的服务1 3 1 1 该服务的服务机能为d s s d e c e n t r a l i z e d s o f t w a r es e r v i c e 所提供 在d s s 中w e b 服务是最小限度的服务 比如h t t p 的g e t 9 东北大学硕士学位论文第2 章相关技术研究 方法等 另外 用户自定义的必要服务也可以订制在节点上 m i c r o s o f tr o b o t i c ss t u d i o 通信功能是基于s o a s e r v i c eo r i e m e da r c h i t e c t u r e 架构 针对网络连接的多台个人电脑 进行信息交换这便是s o a 的基本机能 对m i c r o s o f t r o b o t i c ss t u d i o 来说设置节点 n o d e 和被调用的基本单位是必要的 因此 组建针对 单节点的多服务 s e r v i c e 通过该服务 以达到信息的交换功能 具体来说就是机器 人针对障碍物而做出的停止或绕过的反应服务或者对红外线或声音的反应服务等等 另 外 针对企业级的程序的构筑方法 或者说针对高内聚 t i g h t l yc o u p l e d 3 2 m i c r o s o f t r o b o t i c ss t u d i o 是以低耦合 l o o s e l yc o u p l e d 的方法构建的 低耦合的程序开发中 各种各样的服务的强独立性是必要的考虑内容 例如 服务 a 给服务b 发信息 服务b 要针对该信息进行什么样的处理 此时 服务b 对服务a 发出报错信息 即通知 n o t i f i c a t i o n 即中断 i n t e r r u p t 发生时的信息反馈是必须要 考虑的 用s o a 有消息 数据 和通知两种信号处理 而对信号的综合处理机构叫做c c r c o n c u r r e n c ya n dc o o r d i n a t i o nr u n t i m e 如图2 3 所示 节点的最底层是c c r 的配 置 乓型吲 o ooo d s s c c r 图2 3 节点的构造 f i g 2 3t h ec o n s t r u c t i o no f t h en o d e 所谓的各节点如图2 3 的构造 最底层的为分时处理c c r 和d s s 在此之上有默 认的服务和用户自定义的服务 1 0 东北大学硕士学位论文 第2 章相关技术研究 2 2 3c c r 运行时 并发和协调运行时 c o n c u r r e n c ya n dc o o r d i n a t i o nr u n t i m e c c r 提供一个高度并 发的 面向消息的编程模型 利用强大的消息组织机制替代了锁定 信号量等线程操作 c c r 通过提供管理异步操作 处理并发 并行硬件管理以及处理部分错误的编程模型来 实现面向服务的应用程序 使得设计低耦合的软件模块和组件成为可能 因此 各模块 可以独立的开发并且不需要对它们的运行时环境和其他组件进行过多的假定 这样就不 需要在程序设计一开始就考虑处理并发 错误和冲突的机制 它是整个开发平台的核心 运行时 图2 4 是c 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 m m o nl a n g u a g er u n 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 e r 图2 4 c c r 类图 f i g 2 4t h ec l a s sd i a g r a mo fc c r 线程池中的消息线程被唤醒 采用任务识别策略到d i s p a t c h e r q u e u e 消息队列中查询匹 配的委托方法并执行 p o r t 类是给消息队列输入参数到回调函数的一种方式 采用 f i f o f i r s ti nf i r s to u t 队列实现 而r e c e i v e r t a s k 类是a r b i t e r 注册消息回调函数到消 1 1 东北大学硕士学位论文 第2 章相关技术研究 息队列中的一种方式 当异步的i o 请求完成后 他们的结果将被投递到p o r t 对象 中用来接受消息数据 而每个p o r t 类关联零或多个r e c e i v e r t a s k 委托方法 a r b 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 对象 在 消息队列中注册的r e c e i v e r t a s k 对象发送消息参数到a r b i t e r 对象并由a r b i t e r 决定哪个 回调函数应该去执行这个任务 a r b i t e r 组织p o r t 和r e c e i v e r t a s k 形成一个消息和回调参 数的映射注册到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 负责处理异步i o 请求和消息处理 2 2 4d s s 分布式服务 分布式系统软件d s s d e c e n t r a l i z e ds y s t e ms e r v i c e s 提供了一个轻量级的面向服务 的应用程序模型 融合了传统网络架构的主要特性和一部分网络服务的架构的特性 l5 1 d s s 定义的应用程序模型包括服务状态以及针对服务状态的一系列操作 并且能过提供 结构化数据操作 事件通知和构成服务扩展功能 d s s 的主要目标是提高简单性 互操 作性和低耦合性 这使得它特别适合于创建由服务构成的应用程序 而不用考虑服务是 运行在同一个节点上的还是在网络上的 因此 基于d s s 的应用程序具有很大的灵活 性 d s s 使用h t t p 和d s s p 作为服务交互的基础 d s s 基于s o a p 的协议 对结构化数据操作和事件驱动模型提供了很好的支持 d s s 实现对服务的管理和订阅并且提供一个简单的状态驱动的应用程序模型 d s s 运行 时使用维护运行时环境的方式来管理服务 而且它还提供了像创建服务 登录服务 调 试 安全相关以及监视等一系列基础服务 它是基于c c r 核心运行时开发的 m i c r o s o f t r o b o t i c ss t u d i o 运行时基于r e s t 模型 并融合了w e bs e r v i c e s 使之具有处理结构化数 据和事件通知的能力 不同的节点之间运行着d s s 服务 或者同一个节点运行着不同的d s s 服务 一个 节点上的服务可以在另一个远程或者本机节点上创建新的服务 首先客户机发送c r e a t e 消息请求到c o n s t r u c t o r c o n s t r u c t o r 收到消息后响应该消息 这样新的服务就可以在该 节点上被创建 然后客户机就可以和新的服务进行操作请求 d s s 中的发布订阅机制处理流程是 订阅者服务向发布者服务发送s u b s c r i b e 消息 订阅服务 发布者向订阅管理器发送i n s e r t 消息建立服务订阅表 然后订阅者服务就可 以向发布者服务订阅响应的消息 如r e p l a c e 消息 发布者服务向订阅管理器提交该订 1 2 东北大学硕士学位论文 第2 章相关技术研究 阅用户的r e p l a c e 消息 以后实行异步消息机制 如果发布者有r e p l a c e 消息 将向订 阅者发送该消息 处理时序如图2 5 所示 4 响应 5 r e p l a c e 3 响应 6 s u b m i t r e p l a c e r e p l a c en o t i f i c a t i o n 通告 图2 5 发布订阅服务时序图 f i g 2 5t h es e q u e n c ed i a g r a mo fp u b l i c a t i o n s u b s c r i p t i o n 2 3w e bs e r vic e s 技术 w e bs e r v i c e s 是一种基于组件的软件平台 是面向服务的i n t e m e t 应用 w e b s e r v i c e s 是应用于i n t e m e t 的 而不是限于局域网或试验环境 这要求提出的w e b s e r v i c e s 框架必须适用于现有的i n t e m e t 软件和硬件环境 即服务的提供者所提供的服 务必须具有跨平台 跨语言的特性 其次 w e bs e r v i c e s 所提供的服务不仅是面向人 更 需服务于其它应用系统 现有的w e b 网站也可以认为是面向服务的 但这种服务仅仅可 以提供给人使用 而新一代的w e bs e r v i c e s 所提供的服务应能被机器所读懂 w e b s e r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论