(机械设计及理论专业论文)基于构件的工业机器人测控软件系统的研究.pdf_第1页
(机械设计及理论专业论文)基于构件的工业机器人测控软件系统的研究.pdf_第2页
(机械设计及理论专业论文)基于构件的工业机器人测控软件系统的研究.pdf_第3页
(机械设计及理论专业论文)基于构件的工业机器人测控软件系统的研究.pdf_第4页
(机械设计及理论专业论文)基于构件的工业机器人测控软件系统的研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(机械设计及理论专业论文)基于构件的工业机器人测控软件系统的研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 传统的工业机器人控制器是封闭式结构,存在开放性差,软件独立性差,容 错性差,扩展性差,缺少网络功能等缺点。无论从软件还是硬件都难以扩充和更 改。用户为了满足自己生产的需要,通常的做法是对己有的机器人系统进行详细 解剖分析,然后对其改造。这样做,既费时费力,效果也难以令人满意。解决这 些问题的根本办法是研究和使用开放结构的机器人控制器,尤其是开发具有开放 性的软件系统。 本文利用基于构件的软件复用技术,设计了系统各个模块的功能构件和由这 些构件“装配”而成的开放式软件系统。基于软件构件理论,设计软件系统框架, 将整个软件系统分为若干层次,如用户接口层,软件应用层,软件接口层,硬件 驱动层等,以便于设计对应各模块的构件,并减少构件间的耦合关系。以此为基 础,研究了工业机器人建模构件,利用o p e n g l 技术对工业机器人各模块的模型 进行了构件化设计,并提出了实现装配功能的构件和实现机器人模型动画的方 法。在示教模块,详细分析了位姿描述、运动学分析的相关内容,封装了在位姿 描述、运动学分析的时候经常用到的齐次变换矩阵,由此提出示教模块构件化设 计的可行性。最后,在系统的应用部分讨论了实现系统的硬件平台、操作系统和 开发工具,并结合软件界面进一步说明本系统的设计思想。 本文研究的工业机器人测控软件系统,根据工作任务,通过组合已有功能构 件,并施加一些接口参数来生成目标系统。该系统生成程序较快,操作也比较简 单,符合人的思维方式。每个功能构件都是独立开发,构件间通过接口来交互, 是一种松耦合的关系。根据需要开发新的构件,方便地替换原来的构件,而且不 用修改系统其他部分的构件。从而保证了整个系统的开放性,通用性和可扩展性。 关键词:测控系统;工业机器人;构件;软件 a b s t r a c t a b s t r a c t t h es t r u c t u r eo ft h et r a d i t i o n a li n d u s t r i a lr o b o t sc o n t r o l l e ri sc l o s e d ,w h i c hh a s m a n yd i s a d v a n t a g e s ,s u c ha st h ep o o ro p e n n e s s ,i n d e p e n d e n c eo ft h es o f t w a r e ,f a u l t t o l e r a n c e ,s c a l a b i l i t y , a n dt h el a c ko ft h ei n t e r n e tf u n c t i o n i t sh a r dt oe x p a n da n d c h a n g et h es o f t w a r ea n dh a r d w a r e i no r d e rt om e e tt h er e q u i r e m e n to ft h ep r o d u c t i o n , t h eu s e r su s u a l l yh a v et or e b u i l dt h er o b o t ,b a s e do na n a l y s i so ft h ee x i s t i n go n e s s y s t e m t h a t sa r el a b o r i o u sa n de f f e c t i v e n e s s t h ec a r d i n a lw a yt os o l v et h i sp r o b l e m i st o s t u d ya n dd e v e l o pt h er o b o t sc o n t r o l l e rw i t ho p e ns t r u c t u r e e s p e c i a l l yt h e s o f t w a r es y s t e m i nt h i sp a p e r , b yu s i n gt h ec o m p o n e n t - b a s e ds o f t w a r em u l t i p l e x i n gt e c h n o l o g y , t h e f u n c t i o nc o m p o n e n to ft h es y s t e m se a c hm o d u l a ra n dt h eo p e ns o f t w a r es y s t e m , c o m p o s e db yt h e mw a r ed e s i g n e d b a s e do nt h es o f t w a r ec o m p o n e n tt h e o r y , t h e f r a m eo ft h es o f t w a r es y s t e mw a sd e s i g n e d ,w h i c hw a sd i s t r i b u t e di n t os e v e r a ll a y e r , s u c ha sc u s t o m e ri n t e r f a c el a y e r ,s o f t w a r ea p p l i c a t i o nl a y e r ,h a r d w a r ed r i v i n gl a y e r , a n dt h el i k e s oa st od e s i g nt h ec o m p o n e n t sc o r r e s p o n d i n gt oe a c hm o d u l a r , a n dt o r e d u c et h ec o u p l i n gr e l a t i o n sb e t w e e nc o m p o n e n t s b a s e do nt h e s e ,t h eb u i l d i n go ft h e i n d u s t r i a lr o b o t c o m p o n e n t sw e r es t u d i e d ,a n dt h em o d e l so ft h ei n d u s t r i a lr o b o t s e a c hm o d u l a rw e r ed e s i g n e d ,u s i n gt h eo p e n g lt e c h n o l o g y b e s i d e s ,t h ef u n c t i o n c o m p o n e n t si m p l e m e n t i n gt h ea s s e m b l i n ga n dt h ea n i m a t i o no ft h er o b o t sm o d e l w e r ep r o p o s e d i np l a y b a c km o d u l a r , t h ed e s c r i p t i o no ft h ep o s t u r e ,k i n e m a t i c a n a l y s i s ,a n dt h et r a j e c t o r yp l a n n i n gw e r ea n a l y z e di n d e t a i l a n dt h eo f t e n - u s e d h o m o g e n e o u st r a n s f o r m a t i o nm a t r i c e s ,s u c ha st h ed e s c r i p t i o no ft h ep o s t u r e ,t h e k i n e m a t i c a n a l y s i s ,w e r ep a c k a g e d b a s e d o nt h e s e ,i t sc o n c l u d e dt h a tt h e c o m p o n e n t - b a s e dd e s i g no ft h ep l a y b a c km o d u l a ri sf e a s i b l e a tl a s t ,t h ep l a t f o r mo f t h es y s t e m ,o p e r a t i n gs y s t e m ,a n dt h ed e v e l o p i n gt o o lw e r ed i s c u s s e di nt h e a p p l i c a t i o np a r to ft h es y s t e m a n dc o m b i n i n gw i t ht h ei n t e r f a c eo ft h es o f t w a r e ,t h e d e s i g ni d e ao f t h i ss y s t e mw a sf u r t h e ri l l u s t r a t e d a c c o r d i n g t ot h er u n n i n gt a s k ,t h et e s t i n ga n dc o n t r o l l i n gs y s t e mo ft h ei n d u s t r i a l i i i r o b o ts t u d i e di nt h i sp a p e rc a ng e n e r a t et h es y s t e m sg o a l ,b yc o m b i n i n gt h ee x i s t i n g f u n c t i o nc o m p o n e n t sa n da d d i n gs o m ei n t e r f a c ep a r a m e t e r s t h i ss y s t e mc a ng e n e r a t e t h ep r o g r a mq u i c k l y , a n dt h eo p e r a t i o ni sa l s ov e r ys i m p l e ,w h i c hm a p sh u m a n s t h i n k i n g e a c hf u n c t i o nc o m p o n e n ti sd e v e l o p e di n d e p e n d e n t l y ,a n dc o m m u n i c a t e s w i t he a c ho t h e rt h r o u g hi n t e r f a c e t h a t sal o o s e c o u p l e dr e l a t i o n s h i p t h en e w c o m p o n e n tc a nb ed e v e l o p e da sr e q u i r e d ,a n dr e p l a c e st h eo r i g i n a lo n e ,w i t h o u t c h a n g i n go t h e rc o m p o n e n t s s oa s t o p r e s s u r et h eo p e n n e s s ,g e n e r a l i t ya n dt h e s c a l a b i l i t yo ft h ew h o l es y s t e m k e y w o r d s :c o n t r o la n dm e a s u r e m e n ts y s t e m ,i n d u s t r i a lr o b o t ,c o m p o n e n t , i v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得逝姿盘堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文作者签名:臣为。 签字同期: 伽l 。年岁月c 罗日 学位论文版权使用授权书 本学位论文作者完全了解逝姿基堂有权保留并向国家有关部门或机 构送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权逝婆盘堂 可以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:玺勇乙 导师签名: 苏危纽记 签字日期:加c o 年3 月f 如签字日期: 加,年弓月) y 致谢 本论文是在赵亮副教授的指导下完成的,赵老师严谨的治学态度、敏锐的思 想、诲人不倦的精神都使我终身受益,攻读硕士学位期间,赵老师在学习上细心 地指导,在生活上无微不至地关怀,都深深地打动了我,在此表示衷心的感谢和 崇高的敬意。 转眼间在浙江大学求学已经两年半,两年半的时间里有美好的回忆,也有辛 酸苦辣,有很多需要感谢的同学,在此不一一列举姓名,谢谢你们给我带来了一 段难以忘记的美好的大学时光,愿我们的友谊地久天长。 最后我要感谢我的父母和家人,感谢你们一直以来在精神上的鼓舞和经济上 的支持,没有你们就没有我的今天,感激之情无以言表,此篇论文就是对你们无 私付出的最好回报。 第一章绪论 1 1 引言 第一章绪论 工业机器人是集多学科先进技术,如机械、电子、控制、计算机、传感器、 人工智能等,于一体的现代制造业重要的自动化装备。1 9 6 2 年美国推出世界上 第一台u n i m a t e 型和v e r s a t r a n 型工业机器人,之后机器人在工业发达国家得到 了迅速发展,已成为柔性制造系统( f m s ) 、自动化工厂( f a ) 、计算机集成制造系 统( c i m s ) 的自动化工具n 1 。 在工业机器人系统中,作为核心部分,控制器是影响机器人性能的关键部分 之一,它从一定程度上影响着机器人的发展乜1 。一个工业机器人系统通常分为机 构本体和控制器两大部分。控制器的主要作用是根据用户的指令对机构本体进行 操作和控制,完成作业的各种动作和任务,它是机器人的心脏,机器人控制器的 性能在很大程度上决定了机器人的性能。 目前,工业机器人所采用的控制器基本上都是开发者基于自己的独立结构进 行开发的,采用专用计算机、专用机器人语言、专用操作系统、专用微处理器。 这样的机器人控制器已不能满足现代工业发展的要求。综合起来,现有机器人控 制器存在很多问题,如开放性差,软件独立性差,容错性差,扩展性差,缺少 网络功能等等。也可以说,传统的机器人控制器都不是开放式结构,无论从软件 还是硬件都难以扩充和更改。如m o t o m a n 机器人的控制器是不开放的,用户根据 自己的需要对其进行修改、扩充功能是比较困难的。用户为了满足自己生产的需 要,通常的做法是对己有的机器人系统进行详细解剖分析,然后对其改造。这样 做,既费时费力,效果也难以令人满意b 1 。 解决这些问题的根本办法是研究和使用开放结构的机器人控制器h 1 ,尤其是 开发具有开放性的软件系统。软件系统功能的好坏关系到是否可以最大限度的发 挥硬件系统的功能,好的软件系统甚至可以弥补一些硬件性能方面的不足,提高 机器人的作业能力。机器人控制系统的一个发展方向就是研制出具有界面友好, 开放性和通用性较好的软件系统。 第一章绪论 1 2 机器人控制系统软件的研究现状 机器人控制器的研究一直是人们关注的热点,主要是指机器人控制器的软件 和硬件结构。国内外工业机器人控制器的相关研究日趋成熟,目前机器人控制器 的研究逐渐由硬件过渡到软件。机器人控制器软件设计可以总结为以下六种结构 方式1 : 1 基于任务描述型 这种方式首先将控制系统的软件根据工作任务分为若干个任务模块,对每个 任务模块进行独立的编程,然后通过工作任务的优先级和定时的方式来协调各个 任务模块的任务。基于任务描述型的软件系统专用性比较强。采用此类方式的有 中国国家科学院沈阳自动化所研制的精密一号机器人控制系统 1 。本控制系统建 立了初始化、时钟中断、系统监控、轨迹插补、机器人控制程序执行、过程控制 程序执行、人机交互等任务模块。根据i r m x i i i 系统提供的任务优先级和定时调 度方式进行这些任务运行时的调度。在控制系统计算机硬件体系结构的设计中, 采用了多c p u 分布式结构,分为上、下两级控制。下位机接收上位机发出的各种 运动控制命令,完成各关节运动的控制。上下位计算机之间的通信通过m u l t i b u s i 总线进行。上位机软件系统是对机器人进行编程和控制的软件系统,基于i r m x iii 实时多任务操作系统开发的。利用i r m x i ii 提供的应用系统固化功能,下位机软 件固化在e p r o m 中,是基于i r m x 操作系统构造的一个单任务实时系统,用于对 精密一号机器人的四个关节进行位置伺服控制。 2 基于部件描述型 基于部件描述型的方式是根据机器人所实现的功能,将控制系统划分为若干 个可以独立完成任务的部分。基于部件描述型结构的系统在通用性和开放性方面 比较好。应用人员可以根据需求增加新的功能部件,而且这些功能部件的独立性 比较高,可以在构建新控制系统的时候直接调用。1 9 9 6 年广东工业大学和香港 科技大学联合开发的一种基于p c 的通用机器人控制系统就是属于基于部件描 述型的方式。其控制系统的软件结构如图1 所示,软件系统分为用户控制平台、 m i c r o s o f tc 运动函数库、通讯缓冲区和通信程序、d s p 函数库、i s r 程序和d s p 主控程序等六个部分。每一个部分都可以完成单独的任务。 第一章绪论 图1 控制系统软件结构图 3 分布式控制和管理系统 美国c i m f l e x 技术公司在高性能智能控制器的快速开发过程应用了新技术 基础和相关方法并研制了一种分布式智能控制和管理( d i c a m ) 系统一1 。这种通用 控制结构将面向任务的、带有元控制器领域控制器,元控制器结合起来,可以 在一个领域内调度活动。本项目包括四个部分:用于智能控制的参考模型的形式 化;在开发工作空间中应用程序的构建,工作空间中系统的要求通过选择设计组 建来满足,设计组建时通用参考结构组件的专门化和详细化;应用层序中再使用 模块的构建;丰富的开发工具的创建,融合了从软件工程( 控制定律说明符代码、 代码发生器、协议、编辑器和调试器) 和知识工程( 领域模型器、规则管理器、基 于知识的设计助理) 中的大量技术1 。 4 基于端口对象动态重新配置的软件结构 在美国,c a r n e g i em e li o n 大学( c m u ) 发展中心开发了一种基于端口对象的 动态重新配置的软件结构框架,应用于基于传感器的控制系统n0 1 1 1 。基于端口对 象的组件模型和软件设计方法具有很大的通用性,它不依赖于任何商业的计算机 辅助软件工程工具,而且能够应用于绝大多数的集成应用环境和实时操作系统。 这种模型通过动态调度可以获得良好的实时性。其思想是结合面向对象的设计与 数控系统的端口设计技术结合起来。它结合了面向对象的设计同数字控制系统的 端口设计。一个基于端口的对象被定义为具有通讯功能端口的对象。每一个端口 对象的输入输出表示一个状态变量串。从外部对象而言,其内部的状态和方法 等实现方式是不可见的,只有通过与其他类的端口交互才可见。所有对象端口变 量的状态以表格的形式存在。 感 知 器 第一章绪论 软件构件技术,将软件系统的各个功能部分封装为独立的标准功能构件。各个功 能构件间通过其对外接口来交互,彼此之间屏蔽了内部的实现过程,是一种松耦 合的关系。对这些功能构件由系统统一进行协调,共同完成一个实际的工作任务。 这种由离散的功能构件组成的软件系统,充分体现了开放式体系结构的机器人控 制系统的设计思想。 本课题是以瑞安市质量技术监督检测院的一个研究项目为基础,在开放式控 制系统软件方面进行进一步的研究。其目的是研究具有一定通用性的开放式机器 人测控软件系统,实现对机器人的运动控制和实时监控等功能。为达到此目的, 本课题的研究内容分以下几个部分: 1 、基于构件的理论设计机器人测控系统的软件框架,并分析各模块; 2 、设计工业机器人几何模型构件,提出装配各模型的功能构件以及实现 s c a r a 机械手模型的动画; 3 、分析示教过程,提出示教模块的构件化设计; 4 、分析系统实现的硬件平台,讨论软件的部分功能; 本文的研究目标是:开发出能适应不同机器人和工作对象、修改和维护简单、 扩展功能方便的,基于构件的开放式工业机器人测控软件系统及对应各个系统模 块的构件。 第一二章基于构件的测控软件系统研究 2 1 引言 第二章基于构件的测控软件系统研究 根据系统的开放性要求,在软件系统的设计过程中尽可能做到模块化,而且 各个模块之间是独立的,一个模块的修改对其他模块的影响较小或不影响。为了 解决这种问题软件开发中经常用到基于构件的软件复用技术。基于构件的软件复 用技术,其出发点是系统的开发以已有的工作为基础,利用过去开发过程中所积 累的知识和经验进行新的开发,这样软件开发的重点就可以集中于应用系统中的 特有构成成分上6 1 。基于该理论,应用开发人员就可以利用已有的软件构件装配 成适用于不同领域、功能各异的应用系统。 2 2 基于构件的软件开发 2 2 1 构件技术的核心理论 2 2 1 1 软件复用的概念 随着软件复杂度、软件规模的不断增加和扩大,软件的可复用性和可维护性 越来越受到重视乜刀。软件复用( s o f t w a r er e u s e ) 是在软件开发中避免重复劳动的 解决方案,是随着软件开发方法的不断发展而逐步建立起来的。其出发点是应用 系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分 利用过去应用系统开发中积累的知识和经验,从而将开发的重点集中于应用的特 有构成成分上乜引,通过软件复用,在应用系统开发中可以充分利用已有的开发成 果,消除重复劳动,避免重新开发可能引入的错误,从而提高软件开发的效率和 质量。 1 9 6 8 年的n a t o 软件工程会议上,m c l l r o y 的论文“大量生产的软件构件” 中n 9 1 。第一次正式提出了构件生产的思想,软件复用开始得到广泛的重视。所谓 重用( 又称为重用或再用) 是指利用现有的软件及其构件或它们的抽象来构造新 的软件系统,即将原有软件或系统中代码、数据、方法或者由它们抽象而得的构 件作为其中的一部分直接引用。最初的计算机中,由于软件依赖于具体的硬件结 6 第一二章基于构件的测控软件系统研究 构,复用的可能性很小;随着系统的发展和软件的不断丰富,人们开始在更高一 层的虚拟机器上开发软件,此时软件不再依赖于具体的机器结构,这就使复用成 为可能;当今由于软件系统越来越庞大,复用显得尤为重要,以及基于构件的开 发方法更为复用创造了条件,很大程度地推动了软件复用技术的发展。 软件复用包含以下方面d 9 1 : 1 ) 模块和对象复用:系统构件代表了可复用的函数,这种复用是软件复用 中的最低层次。比如在c 语言中,操作系统接口可以在很多应用中复用。 2 ) 文本复用:所有的产品,除了代码,都是为人设计的。因此,文本的复用 变得日益重要。 3 ) 子系统复用:一个应用中的子系统可能在不同的应用中复用。这是一种比 对象复用的层次更高的复用。例如,在学习系统中的一个电子知识库子系统可以 在一个资源中心或现实的图书馆系统中复用。 4 ) 整个应用系统复用:整个应用系统也可以被复用,这种特殊的软件复用称 为软件的可移植性。比如,一个跨平台的或可移植的应用系统。 5 ) 设计复用:软件系统的设计模型也可以被复用,设计可以被部分的复用或 通过面向对象的方法间接地复用。当一个软件系统需要重新被放置到一个完全不 同的硬件和软件环境下,就需要这种复用。 6 ) 领域复用:这是最高层次的软件复用,指一个软件系统的模型或问题分析 被应用到另外的恫题分析中。 软件复用一般可以分为三个步骤:首先要获取构件,指从软件实例中提取可 复用的成分;然后是管理构件,指有效地组织所获取的软构件。最后使用构件, 指使用已积累的可复用资源,解决新问题。从软件的发展历程来看,程序设计方 法经历了多次的变革,从初期的功能分解法,到结构化程序设计方法,再到至今 仍在广泛使用的面向对象程序设计方法。在不同的发展阶段,软件复用的形式也 不同引。 2 2 1 2 构件及其特点 构件( c o m p o n e n t ) 是一种带有契约化接口和显式上下文依赖的组装单元,它 能被独立发布并且可以提供给第三方进行组装们。1 9 9 8 年,i a n g r a n h a m 在其论 7 第二章基于构件的测控软件系统研究 文需求软件及快速开发中给出如下的构件定义:构件是一个对象( 接口规范, 源代码,或二进制代码) ,它被用于复用,接口被明确定义d 。它是一种定义良 好的独立可复用的二进制代码,可以是一些功能模块、被封装的对象类、软件框 架、软件系统模型等舶。构件时作为一个逻辑紧密的程序代码包括形式出现的, 它有良好的接口。 从定义上看,构件时可以自行进行内部管理的一个或多个类所组成的群体, 除了群体提供的外部操作接口外,其内部信息和运行方式外部不知道。使用它的 对象只能通过接口操作它。构件以嵌入后可马上使用的“即插即用”型概念为核 心,包括二进制形式的课复用代码和数据。其外部遵循一个二进制标准,而内部 的实现是不受语言限制的。构件的主要特点有d 町: ( 1 ) 构件与开发工具语言无关:开发人员可以根据特定情况选择特定语言实 现构件的开发,编译之后的构件以二进制形式发布,源代码不会外泄,有效地保 证了构件开发者的版权,从而使更多的人愿意从事构件的开发和分发。 ( 2 ) 即插即用:构件可以方便地集成于框架中,不要修改代码,也不用重新 编译。 ( 3 ) 以接口为核心,通过接i z l 有效保证了构件的复用性。 ( 4 ) 标准化:构件接口必须严格的标准化,这些构件技术发展和成熟的重要 保证,同时构件基础设施的出现和成熟,使人们用构件装配成应用软件的设想才 付诸实现。 ( 5 ) 通过市场销售和分发:大量成熟的构件可以通过市场购买获得,市场的 竞争体制也可以促进构件生产质量的提高,种类的增多。 软件构件技术是支持软件复用的核心技术,是近几年来迅速发展并受到高度 重视的一个学科分支。其主要研究内容包括h 们: ( 1 ) 构件获取:有目的性地构件生产和从已有系统中挖掘提取构件; ( 2 ) 构件模型:研究构件的本质特征及构件间的关系; ( 3 ) 构件描述语言:以构件模型为基础,解决构件的精确描述,理解和组装 问题; ( 4 ) 构件分类和检索:研究构件分类策略,组织模式及检索策略,简历构件 库系统,支持构件的有效管理; 第二章基十构件的测控软件系统研究 ( 5 ) 构件复合组装:在构件模型的基础上研究构件组装机制,包括源代码的 组装和基于构件对象互操作性的组装级组装; ( 6 ) 标准化:构件模型的标准化和构件库系统的标准化构件接口。 2 2 2 基于构件的软件开发方法 基于构件的软件开发是重组构件库中的软件构件,构造应用软件系统的过 程,旨在开发出即插即用的行业软件d 鲴。其核心思想在于:实现系统级的构件复 用。所谓系统级的构件复用,是指不仅仅在软件开发的某一特定阶段对某些构件 的复用,而是要贯穿在整个软件生命周期中的有计划的软件复用。基于构件的软 件开发主要分为开发可复用构件和基于可复用构件的软件开发两个生存周期。开 发可复用构件是指将过去的软件产品改造成或直接开发出可复用的构件,这些构 件应具有较高的质量和较好的可复用价值;基于可复用构件的软件开发是指在己 有的可复用构件的基础上构成应用系统”4 1 。 可复用软件构件( r s c ) 是指具有相对独立的功能和可复用价值的构件。6 1 ,是 可以被复用的软件实体。实际上,软件生存周期的分析、设计和测试阶段的成果 本身都有被复用的潜力,这些成果可以形成构件。这样,在新系统中就可复用过 去的成果。为便于复用,可复用构件应该以方便复用的方式来表示,易于识别, 易于独立提取,与系统特定的和易变的成分隔离;在组织内部采用一致的机器可 读的记号表示、分析和设计构件,以便进行自动的信息提取和转换。从分析、设 计到编码的开发过程应该遵循上一阶段的复用考虑,保持相邻阶段构件之间的良 好映射和可跟踪性质。 可复用构件的开发由以下几部分完成h 1 1 : ( 1 ) 需求分析和领域分析 对于可复用构件的开发人员来说,首先要面对的问题是如何定义一个新的可 复用构件,即如何在应用领域的应用模型中找出有共性、可通用的部分做成软件 构件。 ( 2 ) 设计 设计阶段必须支持分析阶段所建立的可复用需求。采用适当的软件设计方法 能够有效地组织软件系统并提高各个构件的可复用性。由于软件构件的独立性、 9 第一二章基于构件的测控软件系统研究 互换性和功能性,即软件构件不依存于某一个系统,它可以被相同的构件所替换, 因而需要对软件构件进行信息封装。此外,构件接口的设计尤为重要。构件的接 口定义了它与外界的关系,建立了它被复用的框架b 7 1 。从某种意义上说,构件完 全由其接口来定义劓。 ( 3 ) 测试 代码设计完成之后,要进行严格的测试,以检验构件的可复用性。 当完成了可复用构件的开发后,或者说当拥有了一定规模的构件库后,就可 进行基于可复用构件的软件开发。基于可复用构件的软件开发人员的任务不再是 从头编写所有程序代码,而是从构件库中选取恰当的构件来构造用户需要的软件 系统。 基于构件的软件开发方法基本流程,如图3 所示。 毒善 开发构件i l 修改已有的构件 应用 控制 层 数 据 层 霁i 墓i 蠢l 嚣0 羹l 耋i 凳i 茬 设ll 其 备il 他 层ll 层 薯i 茎i 蒌:0 襄l 袭l 襄 信i 采l 州陋i 能l 能 图3 软件开发流程 分为以下几个过程口们: ( 1 ) 设计构件架构:该过程是指通过软件需求分析,得出合适的构件架构的 阶段。在需求分析过程中,一般先以已有的特定领域软件架构或者通用软件架构 为基础,再根据软件系统的特殊需求进行修改,得到合适的软件系统的构件架构。 ( 2 ) 得到合适的构件:这一步骤是指根据构件架构,得到合适的构件的过程, 1 0 辛 苇 嚣 第二章基于构件的测控软件系统研究 它是整个基于构件开发方法的关键步骤。构件的来源有多种,既可以是商业采购 得到的构件,也可以是对已有软件资产进行发掘和提炼得到软件构件,或者是对 已有的构件根据新的需求或新技术进行改写,最后也可以从头自行开发新构件。 显然,直接使用已有的构件或对已有构件进行修改,其软件开发成本较低,同时 开发时间也可以大大缩短。 ( 3 ) 构件组装:基于构件的开发通过构件组装得到最终应用系统。构件提取 和修改完成后,就可进行系统的组装。构件的组装是将可复用构件间的接口相连 接起来构造出应用系统的过程,其本质就是在构件之间建立关联。 ( 4 ) 构件维护和升级:随着软件系统需求的变化和技术的发展,旧的软件构 件会变得不再适用,需要对旧的构件进行维护和升级。构件的升级一般是通过修 改、添加构件接口来实现,同时对旧的接口应该保留,以保证构件版本的兼容性。 只有当构件的绝大多数功能都已经不再适用时,才需要重新开发新的构件。 与传统的软件开发不同,基于构件的软件开发重点在于构件的集成,而不是 软件的编程。所以基于构件的软件开发的前提是必须存在许多可复用的构件,这 样应用程序系统才能迅速建立5 1 。 2 3 基于构件的软件系统框架设计 2 3 1 软件系统框架 按照上一节的理论和系统开放性的要求,设计了如图4 所示的软件系统框 架:将整个软件系统分为四个层次,分别为用户接口层,软件应用层,软件接口 层,硬件驱动层,以便于设计对应各模块的构件,并减少构件间的耦合关系。本 文的开放式工业机器人测控软件就是在此基础上设计的。 第二章基于构件的测控软件系统研究 2 3 2 系统的各模块层分析 图4 软件系统框架 2 3 2 1 用户接口层 用户接口层是应用人员通过人机界面来设置各模块接口参数的部分。通过设 置接口参数来生成测控软件,并完成系统的任务。用户接口层可以说是系统与应 用人员的交互平台,是应用人员与系统进行信息交流的接口。主要有示教,构件 库管理,新建任务,系统状态监控,手动控制,系统控制等接口,供应用人员设 置。 应用人员通过设置接口操控、示教机器人,调试软、硬件系统,检查、测试 第二章基于构件的测控软件系统研究 系统,并且对系统的各个模块相互联系、协调,共同完成工作任务。 1 示教模块 示教模块是实现系统任务的核心功能部分。包括在线示教和离线示教,负责 指定机器人要完成的工作任务。离线编程是通过设置接口参数来描述任务,在线 示教是直接操控机器人来描述任务。 2 库管理,新建任务模块 对构件库和数据库进行维护和操作;通过这些操作选择需要的构件和配置参 数,并设置必要的参数来新建工作任务。 3 系统设置模块 包括对机器人硬件、软件系统参数的配置、调整,如工作任务参数以及工作 状态参数标准设定,通讯协议配置等。 4 系统状态与自动控制模块 实时显示系统监测参数的分析结果、系统运行状态,以及根据故障分析提示 错误类型和原因等。根据这些状态可以实时操控机器人。 2 3 2 2 软件应用层 软件应用层是根据应用人员通过设置用户接口层来描述的任务,经解释、分 析,最终生成实际控制程序的部分。其作用主要是屏蔽用户的具体需求与不同设 备的运行模式或i o 信号,这样不至于因为用户需求的变化而导致对底层驱动程 序和相应i o 模块的修改,反过来也不会由于底层硬件的变动而修改上层应用软 件。 1 运动学分析,轨迹规划模块 在运动学分析,轨迹规划模块根据指定的任务描述完成机器人运动学的正、 逆运算和各种轨迹插补算法,获得机器人末端执行器的位置参数和各关节的运动 参数。 2 生成参数模块 所有对关节位置的计算结果,都在这里转化为关节运动的参数集,并作为参 数调用相关的运动函数,如将插补计算得到的位姿坐标,以及加减速计算的结果 等转换为脉冲当量后调用对应的运动函数。 第_ 二章基于构件的测控软件系统研究 3 封装,标准化模块 封装,标准化模块是对工作任务的参数集进行标准化、封装成标准任务构件 之后导入到构件库,供以后方便地导出并重复使用。 4 解释模块 从构件库导出标准的任务构件之后,根据当前任务对其接口进行参数设置, 生成需要的控制程序。 5 系统监测模块 监控机器人的工作,采集系统运行数据。 6 分析、决策模块 对监测数据进行初步分析,并做出相应决策。然后对这些分析结果和决策实 时地在人机界面上显示,供应用人员参考。对必要的检测参数和运行状态存入数 据库,供以后做统计分析。 2 3 2 3 软件接口层 根据生成的控制程序调用硬件驱动程序,实现操控机器人。运动控制卡,数 据采集,传感器等硬件设备发生改变时,只修改软件接口层的对应程序即可,系 统的其他部分无需改动。 1 运动函数调用模块 封装了一系列的a p i 函数,根据相应的运动,调用伺服驱动程序,如将得到 的脉冲当量转化为电机控制指令。 2 数据采集、数据发送函数调用模块 主要是封装了一系列端口读写a p i ,实现整个应用层与硬件的i o 通讯。 2 3 2 4 硬件驱动层 硬件驱动层是硬件设备对外的接口,作用是屏蔽上层应用平台及操作系统与 下层运动控制卡及其他硬件控制器,这样一方面从硬件角度看来,可以选用不同 厂家的硬件设备,实现硬件平台的软件无关性甚至操作系统无关性;另一方面从 整个软件系统的角度看来,可以选用不同的操作系统或修改软件接口层,实现软 件平台的硬件无关性。因为,不管是上层软件系统发生改变,还是底层硬件出现 1 4 第一二章基于构件的测控软件系统研究 改动,都只要对软件接口层作相应修改,或替换硬件接口层的相应组成部分即可。 1 伺服驱动模块 封装了为运动控制卡编制的驱动程序,并提高d l l 文件,实现软件接口层的 运动函数库a p i 调用。当然,如果选用了不同厂家的运动控制卡,或者是自主研 发相关运动部件,在此只要选用或开发相关硬件的驱动程序,并修改软件接口层 的运动函数调用模块和系统监测模块即可。 2 i o ,数据采集,通讯模块: 其中包括了为i s a 数据采集卡编制的及为基于互联网协议的网卡安装的驱 动程序,并提供d l l ,实现软件接口层的i 0 类调用。同样,如果选用了不同厂 商的数据采集卡或i 0 部件,只要选用相关的驱动程序,并修改软件接口层的 i o 类即可。 2 4 小结 本章对软件复用、构件技术等基于构件的软件开发相关的技术进行了较详细 的分析。在此基础上,按照系统开放性的要求设计了软件系统的整体框架,并解 释了每个模块层,这些内容为下面几个章节里开发对应各个模块的具体构件有指 导意义。 第三章t 业机器人几何建模构件 3 1 引言 第三章工业机器人几何建模构件 根据软件系统框架的设计思想,本章在d e l p h i 开发平台上,应用o p e ng l 技术对工业机器人进行三维建模。目的是为实现软件系统的一些功能模块提供一 定的基础,如对实现机器人监控和示教模块提供良好的图形基础。监控模块是反 映机器人实时工作状态的部分。利用机器人几何模型模拟机器人的实时工作状 态,向工作人员提供直观,逼真的监控效果。示教模块中的离线示教过程需要通 过基于几何模型的仿真来验证示教的结果。根据这些模块的功能要求,需要建立 机器人的几何模型,对几何模型进行运动控制实现模型的动画。 为了实现上述内容,基于构件理论,对构成工业机器人几何模型的模型进行 构件化封装,通过设置其接1 2 实现机器人整体模型和模型的动画。 3 2 基于o p e n g l 的工业机器人模型设计 o p e ng l 是美国s g i 公司开发的三维图形库,已成为开放式的国际三维图形 程序标准。o p e ng l 独立于窗口系统和操作系统,能十分方便地在各平台间移植。 o p e ng l 由核心库、实用库、辅助库、工具库、w i n d o w 专用库和w i n 3 2a p i 函数 库等组成,这些函数库提供了诸如坐标变换、投影变换、光照处理等基本功能和 基本的几何图元( 点、线、面) ,一些三维物体以及曲线、曲面的绘制函数。开发 人员应用这些函数库提供的图形命令,建立三维实时交互。o p e ng l 的命令解释 是客户机( c ll e n t ) ) j g t 务器( s e r v e r ) 模式,客户( 应用程序) 流出的命令由服务器 ( o p e ng l 内核) 解释并处理,服务器与客户机可以不在同一台计算机上运行,因 此网络透明,并具有开放性、独立性和兼容性三大特点。o p e n6 l 具有建模、变 换、颜色模式设置、光照和材质设置、纹理映射、位图显示、图像增强和双缓存 动画等功能,这些能力为实现逼真的三维效果,建立交互的三维场景提供良好的 条件m 1 。 1 6 第三章t 业机器人几何建模构件 3 2 1 基于o p e n g l 的模型设计流程 在w i n d o w s 系统下开发o p e n g l 程序的关键是如何把o p e n g l 和窗口系统连接 起来,然后再利用o p e n g l 提供的函数处理3 d 图形。具体流程如下: 1 引用o p e n g l 定义头文件 要使用o p e n g l 命令,必须在程序中加入包含有关o p e ng l 函数库的头文件。 创建工程时,在程序用到的公共单元u s e s 里添加函数库名,如g l ,g l u ,g l a u x 等。 2 初始化o p e n g l 绘图环境 初始化时,有几项工作需要进行:首先要创建设备描述表( d e v i c ec o n t e x t ) ; 其次设置相应的像素格式;最后创建着色描述表( r e n d e r i n gc o n t e x t ) 。 1 ) 创建设备描述表 可以直接获得画布对象( t c a n v a s ) 的句柄属性( h a n d l e ) ,如: d c :h d c ; d c := c a n v a s h a n d l e : 也可以直接用a p i 函数g e t d c 获得设备描述表。如: d c := g e t d c ( h a n d l e ,d c ) : 2 ) 设置像素格式 拥有设备描述表的使用权后,就以设置相应的像素格式。设置像素格式的代 码如下: p r o c e d u r es e t d c p i x e l f o r m a t ; v a r h h e a p :t h a n d l e ; n c 0 1 0 r s ,i :i n t e g e r ; p f d :t p i x e i f o r m a t d e s c r i p t o r ; c h o s e n p i x e l f o r m a t :i n t e g e r ; b e g i n d c := g e t d c ( h a n d l e ) ;取窗口h a n d l e 的d c ,即创建设备描述表 设置像素格式 1 7 第三章工业机器人几何建模构件 第一步:建立对所需像素格式的描述 f i11 c h a r ( p f d ,s i z e o f ( t p i x e l f o 加a t d e s c r i p t o r ) ,o ) ; 清零,以免干扰 w i t hp f dd o b e g i n n s i z e := s i z e o f ( t p i x e l f o r m

温馨提示

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

评论

0/150

提交评论