




已阅读5页,还剩70页未读, 继续免费阅读
(机械电子工程专业论文)基于msrs的6自由度串联机器人仿真研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,- 1 ;j ( j :j 。,l l - 一 叫1 ”, | | h a n i c a le l e c t r o n i ce n g i n e e r i n g s i m u l a t i o no f6d o f b a s e do nm s r s b yh ed o n g s u p e r v i s o r :a s s o c i a t e p 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 独创性 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得的 研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过的 研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 二也 思。 学位论文作者签名: 日 期:脚7 f 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年口一年口一年半口两年口 学位论文作者签名:何承 导师签名: 签字日期: 凇莎7 f 签字日期: ; _ 1 j d ,】 东北大学硕士学位论文摘要 基于m s r s 的6 自由度串联机器人仿真研究 摘要 机器人仿真技术是上个世纪8 0 年代发展起来的一门新兴学科,是计算机、机器人 学和计算机图形学相结合的产物。借助于机器人的实体模型对机器人进行运动仿真,可 以形象的反映机器人工作的全过程,可以实现机器人机构和控制器的优化设计,规划出 最优的运动轨迹。本文论述了基于m i c r o s o f tr o b o t i c ss t u d i o ( m s r s ) 的机器人开发系 统,对a s m r o b o t 串联机器人进行运动控制和仿真研究。 首先,采用s o l i d w o r k s 对要仿真的机器人进行实体建模,并转换为m s r s 所接受 的格式。利用m s r s 的仿真引擎服务模块中的实体建模服务,建立相应的仿真环境并且 在仿真环境中添加机器人实体模型。 其次是机器人仿真运行时模块的开发,根据机器人的几何结构进行运动学分析和轨 迹规划研究,利用运动学服务模块设计a s m r o b o t 串联机器人的运动学算法,求解出 该机器人的运动学正解和逆解。模块的轨迹规划服务是设定机器人的轨迹规划算法,这 部分是机器人仿真系统的关键所在。 最后是人机交互服务的设计,通过协调器订阅人机交互服务的输入参数,通过协调 器调用仿真引擎服务,驱动机器人模型运动,完成仿真机器人的运动控制,检验了整个 系统设计的合理性。整个系统的算法可以在机器人硬件搭配好后完全移植进去,充分显 示出机器人仿真的实用性。 本文在阅读过机器人技术和仿真技术的基础下,利用m s r s 开发系统基本实现了对 a s m r o b o t 机器人的仿真系统的开发,实现了对机器人的仿真控制。 关键字:m s r s ;仿真;机器人技术;运动学;轨迹规划;仿真引擎服务 一 r e s e a r c ho nsi m u l a t i o no f6d o fs e r i a lr o b o tb a s e do nm s r s a b s t r a c t t h et e c h n o l o g yo fr o b o t s i m u l a t i o ni sr e p r e s e n t a t i v ea p p l i c a t i o no fv i r t u a l 。r e a l i s t i c t e c h n o l o g y ,i ti saf r e s hs u b j e c tw h i c h i ss t u d i e df r o m19 8 0 s t h et e c h n o l o g yo fr o b o tm o t i o n s i m u l m i o nc o n s t i t u t e sc o m p u t e rt e c h n o l o g y ,r o b o t i c sa n dc o m p u t e rg r a p h i c s r e c u r r i n gt ot h e r o b o ts u b s t a n t i a l i t yg r a p h i cw ec a nc a r r yt h r o u g hr o b o tm o t i o ns i m u l m i o no fk i n e m a t i c s ,t h i s c a l lr e f l e c tt h er o b o t se n t i r e l yk i n e m a t i c sp r o c e s sv i s u a l l ya n dr e a l i s t i c a l l y w ec a l lr e a l i z e o p t i m i z a t i o nd e s i g no fr o b o tm a c h i n eo rc o n t r o l l e ra n dm a k eo u to p t i m i z a t i o n k i n e m a t i c s t r a c k t h i st h e s i sd i s c u s st h er o b o t s i m u l a t i o ns y s t e mb a s e dm i c r o s o f tr o b o t i c ss t u d i o ( m s r s ) w em a k et h es i m u l a t i o nr e s e a r c hf o ra s - m r o b o t6d o fs e r i a lr o b o t f i r s t ,w ec r e a t et h er o b o ti ns o l i d w o r k s ,t r a n s f o r mt ot h e o b jd o c u m e n tf o r m a tt h a ti s r e c e i v e db ym s r s b u i l d i n gt h es i m u l a t i o ne n v i r o n m e n ta n dc r e a t i n gt h er o b o t3 dm o d e li n s i m u l a t i o ns y s t e mw h i c hu s et h es i m u l a t i o ne n g i n ei nm s r s s e c o n d l y ,w er e s e a r c ht h es i m u l a t i o nn m t i m e t h i ss e r v i c ea b o u tt h ed i r e c tv si n v e r s e k i n e m a t i c st r a n s f o r m a t i o nf o ra s m r o b o t6d o fs e r i a lr o b o t ,t h i si sv e r yi m p o r t a n ti nr o b o t s i m u l a t i o ns y s t e m i ta l s oc a l c u l a t e st h em o t i o np l a n n i n gs e r v i c e t h es i m u l a t i o nc o n t r o ls e r v i c ec o n t a i nt h em a n m a c h i n ec o n v e r s a t i o ns e r v i c e t h eo r c h e s t r a t o rs u b s c i b et h ep a r a m e t e r si nm a n m a c h i n ec o n v e r s a t i o ns e r v i c ea n dr e f e r st o t h es i m u l a t i o ne n g i n es e r v i c e ,d r i v et h em o d e lf o rr o b o tt om o v ef o rs i m u l a t i o nt oc o m et r u e t h i sa l s ot e s tt h e3 dm o d e lf o rr o b o ta n ds i m u l a t i o nr u n t i m es e r v i c e a l la r i t h m e t i co ft h e r o b o ts i m u l a t i o ns y s t e ms h o u l db ee x p l a n ti n t ot h er o b o th a r d w a r e ,i ts h o wt h ep r a c t i c a b l eo f r o b o ts i m u l a t i o nm o r ec l e a r l y t h i st h e s i sb a s eo nt h er o b o ta n ds i m u l a t i o nt e c h n o l o g y ,m a k eu s eo fm s r st os i m u l a t e t h ea s m r o b o t a n dc o n t r 0 1t h er o b o ti sc o m et r u e k e yw o r d s :m s r s ;s i m u l a t i o n ;r o b o tt e c h n o l o g y ;k i n e m a t i c s ;m o t i o np l a n n i n g ;s i m u l a t i o n e n g m es e r v i c e 1 1 1 、j - 一一 j ,l 东北大学硕士学位论 独创性声明 摘要 a b s t r a c t 目录i v 第1 章绪论l l 。1 机器人仿真的背景、目的及意义1 1 1 1 机器人仿真的背景、目的1 1 1 2 机器人仿真的意义1 1 2 主要研究技术的国内外发展现状与趋势2 1 2 1 机器人的三维运动仿真系统现状2 1 2 2 机器人的三维运动仿真技术2 1 3 本文主要研究的目标及内容4 1 4 i 、结5 第2 章m s r s 平台的核心技术6 2 1m s r s 的特点6 2 1 1 跨越多种不同的硬件平台一6 2 1 2 广泛的面向大众用户、多语言开发6 2 2 基于n e t 的服务运行时8 2 2 1r e s t 应用模型9 2 2 1 1r e s t 与h t t p 9 2 2 1 2r e s t 与u r i 10 2 2 1 3r e s t 与c r u d 原则。10 2 2 2c c r 并发协调运行时1 0 2 2 3d s s 分布式软件服务1 2 2 3 仿真环境( v i s u a ls i m u l a t i o ne n v i r o n m e n t ) 1 4 东北大学硕士学位论文目录 2 3 1 仿真环境概述1 4 2 3 2 仿真引擎服务15 2 4 小结1 5 第3 章机器人运动学分析和轨迹规划1 6 3 1a s m r o b o t 机器人简介及其建模1 6 3 2a s m r o b o t 机器人运动学分析17 3 2 1a s m r o b o t 机器人运动学正问题1 8 3 2 2a s m r o b o t 机器人运动学逆问题2 0 3 3a s m r o b o t 机器人的轨迹规划2 2 3 3 1p t p 运动速度、加速度、位移和时间的关系2 3 3 3 2 两点式p t p 轨迹规划2 4 3 3 3 带中间点的p t p 轨迹规划2 5 3 5 机器人作业轨迹路径的提取。2 7 3 4 小结2 8 第4 章机器人仿真系统设计2 9 4 1 仿真引擎服务2 9 4 1 1 物理引擎2 9 4 1 2 渲染引擎3 0 4 1 2 1x n af r a m e w o r k 的结构组成3 0 4 1 2 1x n af r a m e w o r k 的特点31 4 1 3 机器人3 d 仿真环境31 4 1 4 基于m s r s 的机器人实体建模3 4 4 1 4 1 基于s o l i d w o r k s 的实体建模3 5 4 1 4 2v r m l 文件的转换3 5 4 1 4 3o b j 文件的转换3 6 4 2 人机交互服务3 5 4 2 13 d 全景视图服务模块3 6 4 2 2 机器人控制界面模块3 6 4 3 仿真运行时服务3 7 v 东北大学硕士学位论文 4 3 1 仿真运行时服务组成 4 3 2 仿真运行时服务和其他服务的关系 4 4 小结 第5 章机器人仿真系统详细设计及实 5 1 仿真系统目标的确定 5 2 仿真系统总体构成4 1 5 3 仿真系统程序详细设计4 2 5 3 1 相关引用的添加4 2 5 3 2 仿真引擎服务的启动4 3 5 3 3 创建仿真环境服务4 4 5 3 4 仿真机器人控制服务的配置4 5 5 3 5 创建仿真机器人实体服务4 7 5 3 6 仿真机器人运动规划服务的设计4 8 5 3 7 仿真机器人运动学服务的设计5 3 5 3 8 仿真系统人机交换界面服务的设计5 5 5 4 仿真系统的实现5 5 5 5 小结5 6 第6 章结论5 7 参考文献5 8 致谢6 1 1 东北大学硕士学位论文第1 章绪论 第1 章绪论 1 1 机器人仿真的背景、目的及意义 1 1 1 机器人仿真的背景、目的 近年来,随着机器人学的发展,机器人在许多领域内都得到了应用,包括自动化工 厂的装配工作、深海作业乃至太空中操作的任务等都需要机器人的参与,而且许多复杂 的环境必须由机器人才能完成。 但是研究机器人时,进行实体仿真一般比较昂贵,机器人的结构一旦完成就难以改 变,而且对一些特殊任务和环境无法进行试验,这就需要通过计算机仿真来进行。用计 算机进行仿真只需要几台p c 机,用虚拟现实的技术【l 】对外部的环境和机器人进行仿真来 构成虚拟仿真系统。可以通过改变参数来模拟外部环境的各种情况,机器人的实体结构 也可以任意改变来达到各种任务的要求。而对于那些已经有了实体的机器人( 如地面移 动机器人) ,为了研究其工作状态,也可以用p c 机仿真的机器人和实际的机器人联系起 来,形成虚实的仿真平台,这样可以进一步验证控制算法策略的正确性、实用性。 本文是基于m i c r o s o f tr o b o t i c ss t u d i o ( m s r s ) 平台【2 】的机器人仿真系统的研究,研 究的对象是上海广茂达公司生产的教学用机器人。目的是利用虚拟仿真环境与分布式虚 拟仿真机器人技术为机器人的控制和监控提供一个良好的虚拟仿真实验系统,以满足机 器人控制理论与方法研究的需求。 1 1 2 机器人仿真的意义 由于实际生产的需要,机器人工作任务日益复杂,智能化程度也日益提高,机器人 仿真技术越来越重要。通过构建虚拟的实验仿真平台,不但能够提高效率,缩短研究开 发的周期,而且使得研究试验不受环境和气候的影响,保证机器人研究的安全、并节约 开支,提高质量。由此可见,机器人计算机仿真的应用无论对研究或实际应用都是很有 意义的。 东北大学硕士学位论文第1 章绪论 1 2 主要研究技术的国内外发展现状与趋势 1 2 1 机器人的三维运动仿真系统现状 经过二十几年的发展【3 j ,机器人系统的研究已在理论和实践方面取得很大的进展, 仿真技术有了较大的发展。2 0 世纪7 0 年代,美国c o n n e l l 大学开发出具有交互功能的通 用型机器人仿真系统i n e f f a b l l e 。这种系统可以建立机器人及作业环境的模型,并具 有图形显示功能【1 】。此后,国外相继建立了基于工作站和离线编程环境的机器人仿真系 统。例如,美国c a l m a 公司开发的机器人仿真软件r o b o t s i m ,主要用于工作站设计和机 器人选型。德国k a r l s r u h e 大学研制的机器人多指手图形仿真系统,用来对多指手爪抓取 和操作方面的研究。还有专业为制造行业设计的机器人仿真平台r o b o c a d 和d e n a b 公司 的e v i s i o n 软件。r o b o c a d 虽然是专门为机器人仿真设计,功能齐全,但价格昂贵,不 适合普遍推广。e v i s i o n 软件有一个专门的零件库,里面收集了各种机械结构的零部件, 操作简便、功能强大。其仿真效果基本上考虑了客户可能的各种需求,但正因如此,反 而不能兼顾一些客户的特殊的个性化要求。而且成本也是居高,使用这一软件还需要经 过专门的培训,都不利于其推广使用。国内,清华大学研究的机器人大型仿真系统 t h r o b s m ,哈尔滨工业大学开发了机器人机构设计和仿真软件r m s c s 等。各种机器 人研究项目中对仿真软件的需求侧重点不同,对不断更新的机器人型号、机器人应用类 型,需要有相应的仿真。而现有软件的模式、内容都是固定的,不利于变动性大的研究。 尽管机器人仿真技术在实际中得到了应用【4 】,但由于受计算机软硬件水平的影响, 加上现有的机器人仿真软件大多数都是基于工作站的u n i x 环境,很难得到广泛应用。 而且三维运动仿真一直是在昂贵的图形工作站上进行,这无疑制约了它的发展。近年来, 个人p c 机无论是在硬件还是在软件方面都有了很大的发展,研制基于普通微机的仿真软 件己成为仿真技术的发展趋势,人们在微机上进行了大量机器人三维运动仿真的研究, 如在a u t o c a d 中通过播放线型模型构成的幻灯片文件来仿真,还有用c 语言绘制图形仿 真。特别是可视化技术的出现,使得人们能够在三维图形世界中观察机器人形体的变化, 、并通过计算机交互式对机器人进行示教仿真。目前已推出多种三维图形开发软件和应用 工具,其中s g i 公司的o p e n g l = 维图形软件表现突出,它易于使用而且功能强大,因此 m i c r o s o f t 公司s g i 公司、i b m 公司、d e c 公司、s u n 公司和h p 公司带都采用了o p e n g l 图形标准,由于m i c r o s o f t 公司在w i n d o w s n t 9 5 以上版本的软件中提供o p e n g l 图形库, 今后o p e n g l 将在微机中得到广泛应用,尤其是支持o p e n g l 的三维图形加速卡和微机图 2 东北大学硕士学位论文第1 章绪论 形工作站的推出,人们可以方便地使用o p e n g l 及其应用软件来建立自己的三维图形仿 真系统。 2 0 0 6 年6 月,微软发布了一个预览版机器人应用软件开发工具包m i c r o s o f tr o b o t i c s s 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 的最大特点是:跨越多种不同的硬件平台特点;广泛的面 向大众用户,多种语言应用的开发特点【5 】。 在没有机器人硬件的情况下,可以使用这个仿真系统先建立一个虚拟的机器人模 型,等硬件搭建完毕之后,只需要简单的写几个驱动控制,就可以将仿真系统中创建的 算法完整的移植到硬件中,从而大大节省开发周期以及成本。先在仿真中演算程序,然 后根据仿真的结果来决定如何建造一个真正的类似的控制系统。 1 2 2 机器人的三维运动仿真技术 目前,实现计算机仿真主要有以下三种方法【6 1 :( 1 ) 采用通用的c a d c a m 软件( 2 ) 采用高级语言开发专用软件( 3 ) 通用c a d c a m 软件的二次开发。 第一种方法:采用通用的c a d c a m 软件 目前应用较广的一些c a d c a m 软件,如美国u g s 公司的u g 和s o l i de d g e , p a r a m e t r i ct e c h n o l o g yc o r p o r a t i o n ( p t c ) 公司的p r o e n g i n e e r 等软件都具备零部件的装配 及其运动模拟功能。例如在s o l i d e d g e v 8 的a s s e m b l y ( 装配) 模块中,内嵌了m d 工公司的 运动模块,通过对装配件中运动副的自动或手动定义以及驱动函数的定义,实现部件级 机构动态仿真,并可以进行动态干涉检查。此外,另一个较常用的计算机动画模拟软件 是美国k i n e t 公司出品的著名的三维动画制作软件3 d m a x 7 1 。该软件已经被广泛地 应用于广告设计、建筑设计、室内装饰设计、游戏制作、机构运动及多媒体制作甚至电 影制作等诸多领域。在进行机构运动模拟时,通过对各构件进行链接,利用该软件提供 的反向运动模块,求出机构的运动参数,从而实现机构的动画模拟。采用通用的 c a d c a m 软件进行机构的计算机动画模拟,可以减少设计人员的设计工作量,由于这 些软件的通用性强,对于某些复杂或较为特殊的机构,则使用较为麻烦这种方法主要用 于机构的虚拟装配设计和动态干涉检查。 第二种方法:通用c a d c a m 软件的二次开发 目前常用的c a d c a m 软件,如美国u g s 公司的u g s ns o l i de d g e ,p t c 公司的 - 3 - 东北大学硕士学位论文第1 章绪论 p r o e n g i n e e r ,a u t o d e s t 公司的a u t o c a d ,k i n e t i x 公司的3 dm a x 等软件都提供了二次 开发工具。例如s o l i de d g e 提供了完整、详尽的应用程序接口( h p i ) ,它采用标准的 w i n d o w so l e 自动化和组件对象模型( c o m ) 技术,设计人员能够以c + + ,b a s i c 或其它标 准程序语言对s o l i de d g e 进行二次开发。a u t o c a d 提供了a u t o l i s p ,a d s c ( a u t o c a d d e v e l o p m e n ts y s t e mc ) 语言开发环境等强大的二次开发工具。三维动画制作软件3 d 心则提供了二次开发工具m a xs c r i p t 。通过它可以对3 dm a x 的核心函数进行提取和 编程,从而可以充分利用3 dm a x 本身具有的强大动画功能开发机构的动画模拟软件。 在已有通用c a d c a m 软件的基础上,针对具体问题进行二次开发,可以充分利用通用 c a d c a m 软件本身具有的各种功能,减少程序设计工作量。该方法是一种投资小、见 效快的开发途径。 第三种方法:采用高级语言开发专用软件 在微型计算机上,一般选用w i n d o w s 环境下的各种程序设计语言,如美国m i c r o s o f t 公司用v i s u a ls t u d i o2 0 0 5 ( 一个包含多种开发语言的一个开发工具) 开发的仿真控制平 台m s r s 8 1 。一方面,它们本身提供了大量的图形处理函数和动画处理函数,另一方面, 它们还可以调用w i n d o w s 提供的应用程序接c i ( a p i ) 函数以扩展其功能。采用程序设计语 言编程来实现机构的计算机动画模拟,一般是针对某个具体机构。该方法需要较强的技 术力量和大量的编程工作,主要用于机构运动关系较为简单需要精确计算运动参数的场 合。 1 3 本文主要研究的目标及内容 本文的目标是针对a s m r o b o t 模块化6 自由度串联机器人建立仿真系统,并且在 系统中考虑机构参数化设计,运动学和轨迹规划等方面的问题。本文采用了用高级语言 开发专用软件的方法,在m s r s 的平台下,利用v i s u a ls t u d i o2 0 0 5 中的c 拌语言在p c 机上建立机器人的仿真系统,实现机器人的运动仿真 9 1 。 主要研究内容: 基于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 f tr 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 的机器人仿真系统服务的分析; 基于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 模块化6 自由度串联机器人的运动学分析和轨迹规划; 4 一 东北大学硕士学位论文 基于m i c r o s o f tr o b o t i c ss t u d i o 统的详细设计和实现。 1 4 小结 本章介绍了论文研究背景及其 仿真技术的几个常见的方法,最后提出了本论文研究的目标及其内容。 5 东北大学硕士学位论文第2 章m s r s 的核心技术研究 第2 章m s r s 平台的核心技术研究 本章主要介绍面向设备m i c r o s o f tr o b o t i c ss t u d i o ( m s r s ) 平台的一些核心技术,包 括m s r s 的特点、m s r s 的重要组成部分:基于n e t 的服务运行时库;机器人3 d 仿真环 境。 2 1m s r s 的特点 2 1 1 跨越多种不同的硬件平台 m s r s 仿真控制平台可以被广泛的应用于机器人硬件平台上,让用户可以跨平台控 制不同的机器人。m s r s 的编程接口可以为使用不同处理器的机器人开发应用程序,处 理器可以是8 位、1 6 位或3 2 位,单核或多核。作为一款通用型的机器人工程开发平台, 它可以支持乐高的n x t 机器人、r c x 2 0 头脑风暴机器人和慧鱼机器人,除了这些教学 上常用的机器人器材之外,微软机器人工程平台还支持许多特种机器人,甚至是工业 机器人,例如:i r o b o t 公司的r o o m b a 机器人吸尘器,k u k a 工业机器人,r o b o t s o f t 公 司的移动机器人等。其支持m s r s 平台的机器人如图2 1 : 弋, j 图2 1m s r s 支持的机器人 f i g 2 。1m s r ss u p p o r t i n gp a r t n e r s 6 擎 ,擞、 东北大学硕士学位论文第2 章m s r s 的核心技术研究 正因为m s r s 平台有着强大的通用性和兼容能力1 1 0 】,用户不需要考虑机器人底层部 分的硬件结构和驱动,根据自己的需要,只需通过几步操作,就可控制属于自己的机器 人,降低了机器人开发的门槛,使得更多的人有机会去接触机器人的设计。并且,同样 的程序不仅可以在n x t 机器人上运行,甚至可以在r c x 或其它的机器人上执行,做到 了一种与硬件无关联的编程方式。第三方开发者也可以通过提供额外的运行时库和服务 来扩展m s r s 的功能。机器人厂商可以使他们的产品很容易地与m s r s 兼容。 2 1 2 广泛的面向大众用户、多语言开发 m s r s 使机器人爱好者,研究人员和商业开发人员能够更容易地在多种硬件平台上 建立机器人应用程序。因此,有其广泛性的特点。m s r s 允许开发人员使用任何擅长的 编程语言,比如包括使用m i c r o s o f tv i s u a ls t u d i o ( v b n e t ,c f ,j a v a ) 和m i c r o s o f tv i s u a l s t u d i oe x p r e s s l l 2 】,以及脚本语言! z i m i c r o s o f ti r o np y t h o n 。对于刚入门的机器人爱好者来 说,m i c r o s o f tr o b o t i c ss t u d i o 可视化编程语言可以让任何人非常容易地创建和调试机器 人应用程序。只要将一些代表不同服务的模块进行拖放,并把它们连接起来。甚至可以 把一些已经连接好的模块组合起来,并当作单一模块在程序的其它地方重新使用。 m s r s 是一个完整的机器人开发平台,它主要由以下两部分组成i b 】: 基于n e t 的服务运行时库( s e r v i c e s o r i e n t e dr u n t i m e ) 机器人3 d 仿真环境( v i s u a ls i m u l a t i o ne n v i r o n m e n t ) m s r s 的整体框架如图:2 2 图2 2m s r s 的整体架构 f i g 2 2t h ef l a m e so fm s r s 7 。,。 东北大学硕士学位论文 第2 章m s r s 的核心技术研究 2 2 基于n e t 的服务运行时 m s r s 罩面的服务,可以看成一个暴露了网络调用接口的动态链接库,这些接口可 以在本地调用,也可以远程调用,其调用时参数和运行结果是通过x m l 文件来传递( n e t 程序的网络协议s o a p 就是基于这种以x m l 传递数据的形式) 。这些服务是对一个硬件 模块的抽象,不一定仅代表单个器件。比如可以是一个传感器,或一个电机,也可能就 是一个完整的运动底盘。除了代表实际硬件,很多软件上功能性的东西,比如某种图像 处理,某种控制算法,都可以设计成一个服务来进行调用。 对应硬件的服务其实可以看成一个封装了串口通讯以及对应这个硬件模块的协议 解析和发送的程序模块,也就是说,如果只是传感器器件本身而没有配套的通讯电路以 及协议解析电路是无法与某个服务对应的。 为了使用户开发更加便利,在微软的机器人工程开发平台中提供了许多机器人服务 程序库,这些程序库就好比是许多机器人程序模块,包括各种传感器、电机马达、显示 窗口等各类服务程序,通过在开发软件中任意组合这些功能模块,使得利用w e b l l 4 1 网 页或w i n d o w s 界面访问机器人的传感器或传动装置变得简单易行。图2 3 所示为协调器 接收触动传感器发出的信号,通过消息机制在w i n d o w s 的消息框中显示出“h e l l o w o r l d 字样的一个流程,其中的每个部分就是一个服务程序。要实现这个程序,我们 图2 3 协调器接收传感器信号的服务流程 f i g 2 3t h es e r v i c eo fo r c h e s t r a t o rr e c e i v em e s s a g e sf r o mb u m p e r 就需要使用一个能编写这些程序的开发软件,而在m s r s 中是不带有编写代码程序的软 件。目前,我们可以通过前面讲到的m i c r o s o f tv i s u a ls t u d i o2 0 0 5 中的v i s u a lc # 、v i s u a l b a s i c 或m i c r o s o f ti r o np y t h o n 来运行这些服务程序库。 m s r s 运行时是基于r e s t 模型,并融合了w e bs e r v i c e s ,使之具有处理结构化数 据和事件通知的能力。通过这种方式扩展r e s t 模型,最终结果是能够利用事件通知模 型和结构化的数据操纵,而又不失互操作性。以跨越网络的服务组织成的组件,并且组 8 东北大学硕士学位论文第2 章m s r s 的核心技术研究 件构建的应用程序具有更强的互操作性和动态灵活性。 m s r s 运行时提供了一个运行时环境,建立、运行、管理节点间或者跨网络连接服 务。分布式的应用模型比客户端服务器模型更合适,双向的数据交换代替了单向数据传 输。m s r s 平台的运行时包含两部分核心内容,并发式协调运行时( c o n c u r r e n c ya n d c 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 ds o f t w a r es e r v i c e s p r o t o c o l ,d s s ) 。 2 2 1r e s t 应用模型 一种思维方式影响了互联网w e b 软件的发展1 1 5 】。r e s t 软件架构是当今世界上最成 功的互联网的超媒体分布式系统软件架构,它让人们真正理解网络协议h t t p 本来面貌, 它正在成为网络服务的主流技术,同时也正在改变互联网的网络软件开发的全新思维方 式。今天微软已经应用r e s t 并且提出把我们现有的互联网变成为一个语义网,这种网 络将会使得搜索更加智能化。 2 2 1 1r e s t 与h t t p r e s t 软件架构是由r o yt h o m a sf i e l d i n g 在2 0 0 0 年首次提出的,他为我们描述了 开发基于互联网的网络软件的蓝图。r e s t 软件架构是一个抽象的概念,是一种为了实 现互联网超媒体分布式系统的蓝图。利用任何技术都可以实现这种理念,而实现这一软 件架构最著名的就是h t t p 协议。通常将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 看作为等 同的概念。 当今,h t t p 是互联网上应用最广泛的计算机协议,h t t p 不是一个简单的运载数 据的协议,而是一个具有丰富内涵的网络软件协议。它不仅仅能够对于互联网资源进行 唯一定位,而且还能告诉我们对于该资源进行怎样运作,这也是r e s t 软件架构当中最 重要的两个理念,而r e s t 软件架构理念是真正理解h t t p 协议而形成的。有了r e s t 软件架构理念出现,才使得软件业避免了对h t t p 协议的片面理解。 但是又不能简单的认为r e s t 就完全等同于h t t p ,h t t p 主要追求的是轻便性、 互操作性和松耦合性,但是h t t p 也有其缺陷。特别的,会经常碰到两个局限性【1 6 】: ( 1 ) 不支持结构化数据的处理。确切的说,在资源上面操作都是“资源级别”的, 而不是资源的底层。这就使服务的状态很难更新,并限制了服务间互操作性的程序。 ( 2 ) 不支持事件通知。h t t p 是一个请求n l ;, j 应的协议,不支持发布数据给订阅者 9 东北大学硕士学位论文 第2 章m s r s 的核心技术研究 的事件通知模型。 2 2 1 2r e s t 与u ri p j z s t 软件架构之所以是一个超媒体系统,是因为它可以把网络上的所有资源进行 唯一定位,不管该资源是图片、w o r d 文档还是视频文件,也不管该资源是t x t 文件格 式、x m l 文件格式还是其他文本文件格式。它利用支持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 m i f i e r ,u 刚) 。 u r i 一般由三部分组成: ( 1 ) 访问资源的命名机制; ( 2 ) 存放资源的主机名; ( 3 ) 资源自身的名称; u r 既是w e b 架构的最简单元素,也是最重要的元素。在r e s t 架构中,要求将资 源、服务、程序等绑定到u r i 上,服务之间访问采用u r i 形式,这样屏蔽了地域性的 限制。 2 2 1 3r e s t 与c r u d 原则 r e s t 软件架构遵循了c r u d 原则,该原则告诉我们对于资源( 包括网络资源) 只 需要四种行为:创建( c r e a t e ) 、获取( r e a d ) 、更新( u p d a t e ) 和销毁( d e l e t e ) 就可以 完成对其操作和处理了。这个原则源于我们对于数据库的数据操作:插入( i n s e r t ) 、查 询( s e l e c t ) 、更新( u p d a t e ) 、删除( d e l e t e ) 。这四个操作是一种原子操作,即一种无 法再分的操作,通过他们可以构造复杂的操作过程,正如数学上的四则运算是数组的最 基本的运算一样。 2 2 2c c r 并发协调运行时 并发系统的问题域是消息的异步问题和线程的并发问题,而c c r 通过消息队列和 消息句柄回调解决异步问题,通过线程池解决线程的并发问题。 c c r 运行时采用异步方法同时处理多个事件比采用写多线程同步方式更加简单。采 用同步方式处理i 0 请求的话,应用程序由于设计混乱会放弃处理一些设备请求,使应 用程序响应不可预料;同时,当线程挂起等待i 0 请求完成的话,应用程序可能会创建 更多的工作者线程去完成更多的工作,这样就会使更多的线程处于等待,可能造成系统 死锁。 c c r 能够不使用手工线程、锁、信号量等来同步消息,它是基于异步消息传递,并 1 0 东北大学硕士学位论文 第2 章m s r s 的核心技术研究 为服务提供包含同步消息的高层控制原语集合的上下文环境p 6 1 ,采用信号量机制控制异 步消息。 c c r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年卫生资格初级护师冲刺试题及答案
- 2024年江西社区《网格员》预测题及答案
- 2025年人力资源管理师二级理论实操真题含答案
- 2024年浙江省社区《网格员》模拟试题及答案
- 竞选班长的演讲稿五1-多篇
- 大单元语文教学中如何实施“启发式文本解读”
- 2024年医院感染预防与控制基础知识考试题及答案
- 幼儿专业毕业论文开题
- 老年人意外伤害赔偿协议书范文
- 西藏公务员考试《行测》真题模拟试题及答案解析
- GB/T 242-2007金属管扩口试验方法
- 政治理论水平任职资格考试题库
- Unit 2 Lets celebrate Developing ideas-Writing a letter to express 课件【知识精讲+拓展训练】高中英语外研版(2019)必修第二册
- 路基压实度汇总表
- 【食品生产加工技术】香肠的加工技术
- 图标设计与制作PPT完整全套教学课件
- 贫困户访谈记录
- 道路喷雾降尘方案
- 唐恬人世间的孤勇者与追光者
- 数学基础模块上册课件
- 智慧羊场建设方案 智慧养殖监管系统解决方案
评论
0/150
提交评论