




已阅读5页,还剩60页未读, 继续免费阅读
(计算机软件与理论专业论文)虚拟装配培训系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
、7一o - l 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律责任由本人承担。 论文作者签名:丝j 耻 日期:塑丝二堡 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定 论文作者签名:缝弭导师签名: - - j ( e l e a r n i n g ) 管理、考核管理、积 分和激励管理等管理应用领域,而且已成功运用到很多领域培训,但是它是针对 企业培训的,不适合学校培训教育情况。 1 4 本文的主要工作 基于三维交互知识与虚拟装配特性,研究与设计实现一个虚拟装配培训系 统,可实现教师对拆装过程的制作,半自动拆装过程生成,拆装过程演示,学生 参与练习等。本文提出一种灵活方便的虚拟装配培训方式,可以将教师对装配过 程的制作与学生培训练习分离开,采用了行为描述模型定义操作过程并生成动画 4 冀 i j 山东大学硕士学位论文 演示的概念。主要针对操作模型建立,行为描述模型设计,过程演示,三维零部 件自动布局等几方面进行详细阐述。具体工作如下: ( 1 ) 操作模型建立。对操作过程分层控制,分为场景、模型、操作步骤三层 进行控制。鉴于操作过程中需要的各种参数,设计操作模型包含以下几块内容: 被操作的零部件模型、零部件被操作顺序、零部件的操作记录向量、以及零部件 的初始位置矩阵和中间位置矩阵。其中操作记录向量中每一项是一个操作步骤对 象,包含操作类型和操作顺序。 ( 2 ) 在机械装配教育培训中,装配过程制作非常重要,为学生学习提供内容 和控制。这个过程制作的是否合理和有效,决定了虚拟装配培训的效果。本文使 用行为描述模型来定义装配过程,使用x m l 格式文件来定义,教师制作装备过程 并保存。这种方式存取灵活,并容易理解。 ( 3 ) 学生培训练习。在学生培训过程中,对脚本进行解析,根据脚本定义对 制作过程进行重现,并且学生可以自己模拟练习,系统根据操作脚本进行匹配, 判断操作正误,并纠正。 ( 4 ) 零部件自动布局状态生成。为了达到更好的装配培训效果,增加可用性, 除导师制定装配过程外,本文设计了自动布局状态生成的功能。在装配实体模型 基础上,根据零部件的工艺特征获得拆分顺序,研究一种自动布局的方法,生成 零件的布局路径,是零部件无重叠显示在屏幕上。 本文主要有三个创新点:第一,采用一个新的行为描述模型( b e h a v e d e s c r i p t i o nm o d e l ,b d m ) ,用于描述用户自定义拆装序列,通过类型命令参数 ( t y p ec o m m a n dp a r a m e t e r ,t c p ) 语法,方便的组织和存储设备拆装过程,同时 也便于动画演示的实现。第二,对行为描述模型进行解析演示播放,重现装配过 程;第三,根据机械零部件的工艺特征及优先约束关系提出自己的半自动化的零 件布局算法。 1 5 本文的组织结构 全文共分六章,具体内容安排如下: 第一章绪论,主要就本文的研究背景、国内外研究现状、本文所做的工作及 创新点做了概述。 山东大学硕士学位论文 第二章虚提出了拟装配培训系统的总体设计,主要讲述了本系统的设计目标 和设计结构。 第三章介绍操作模型建立及脚本设计,首先介绍操作模型的分层结构,然后 在操作模型的基础上定义脚本格式。教师在课件制作过程中,根据操作过程保存 脚本,记录操作步骤。在学生培训时,对脚本解析,对操作过程重现。 第四章介绍拆分布局算法研究,根据机械零部件的工艺特征,并预先定义的 拆分顺序,生成零部件的自动化布局状态,使零部件无重叠的摆放到屏幕上。 第五章是虚拟装配培训系统实现,介绍了是使用到的技术、相关工具包、模 型的获取方式、和系统的功能及最后实现。 第六章对全文工作总结,并提出工作展望。 6 h 山东大学硕士学位论文 第二章虚拟装配培训系统总体设计 2 1 系统设计目标 本文为了解决培训教育中随时随地学习,针对虚拟装配的教学与培训,提出 了一个装配过程定义和学生学习相分离的系统框架。该框架主要分为三个部分: 装配过程制作,装配学习和装配训练。其中装配过程制作部分为装配学习和装配 训练部分提供内容。装配过程制作面向技术人员或机械教师,下面统称为教师; 装配学习和装配训练面对机械装修培训学生,下面简称为学生。 系统主要包括三个功能模块:装配过程制作、装配学习、模拟训练。图2 - 1 是系统的总体结构图,首先是技术人员或教师根据实际的工艺特征和要求进行装 配过程制作、脚本设置,然后学生根据教师定义的过程演示进行学习,再可以进 行自由操作、模拟训练和考核。通过权限管理对教师和学生分配不同的权限,并 可以各自独立运行,这样将教师对装配的管理和学生装配学习相分离,可以解决 实际培训中对培训场所、时间和设备的限制,保证了学生可以随时随地进行学习 和训练,使培训更方便灵活,不受约束,提高了培训效率。 匍翮鹰甄圆 莛塞堡,7 逛妇吐、奎堡 图2 1 系统设计图 装配过程制作包括装配过程的定义,语音的录制和文本定义。本系统使用x m l 格式描述装配过程,x m l 语言结构好,自描述性强,灵活方便。在操作过程中进 行同步录音,之后编辑对应解说本文,培训提供更好的效果。培训过程也有两种 7 山东大学硕士学位论文 方式:一是学生观看教学课件,即根据制作的过程再现的拆卸装配动画,这个过 程中可以选择伴随教师语音播放和文本解说,并将几种多通道方式进行同步,从 视觉和听觉上同步进行,易于理解,达到更好的学习效果;二是进行模拟训练, 学生实际电脑操作,操作失误给予提示,并进行对操作过程进行打分,教师可以 根据这个打分情况进行评估,了解整体学习进度。 另外为了减少教师制作课件的工作量,设计了半自动拆分的功能,导入机械 零件的工艺特征,并将零件模型导入顺序作为优先顺序,对机械设备进行拆卸, 进行自动布局,研究布局算法,是零部件无重叠的分散显示在视口中,在拆卸移 动过程中进行干涉检验,若发生干涉则根据启发式函数进行调整路径,同时生成 脚本文件,保存拆分过程。学生同样可以根据课件播放进行学习,既减少了教师 工作量,又达到了同样的教学效果。 2 2 系统框架 系统主要分为三个逻辑部分:输入输出部分、显示部分和控制部分。 如下图所示: 函瑟函嗣爿i 图 盔直吝直囱 图2 2 系统框架图 显示部分是使用o s g 图形包进行屏幕绘制显示。o s g 是一个跨平台的开 源场景图形程序开发接口( a p i ) 。o s g 在3 d 应用程序的层级中扮演着重要的角 色。它作为中间件( m i d d l e w a r e ) 为应用软件提供了各种高级渲染特性,i o ,以 及空间结构组织函数;而更低层次的o p e n g l 硬件抽象层( h a l ) 实现了底层硬件 显示的驱动。虽然大部分基于o s g 的软件更适用于可视化设计和工业仿真,但是 彭 函击 山东大学硕士学位论文 在使用3 d 图形的每个领域,都已经出现t o s c 的身影。这其中包括了地理信息系 统( g i s ) ,计算机辅助设计( c a d ) ,建模和数字内容创作( d c c ) ,数据库开 发,虚拟现实,动画,游戏和娱乐业。 输入输出部分主要包括模型的导入导出,装配过程课件的加载与保存。系统 中使用o s g 支持的三维模型,如o s g , 3 d s ,i v e ,o b 3 等格式的模型,这些模型 可以自己制作,也可以将工业模型进行转换。装配过程课件包括装配过程定义的 文件,音频文件,解说文件等。而装配过程定义的格式根据需要进行描述,本系 统中使用x m l 来定义。x m l 是一种元标注语言,该语言提供一种描述结构数据的 格式。这有助于更精确地声明内容,方便跨越多种平台的更有意义的搜索结果。 x m l 文档描述的是数据的结构和语义,而不是数据的格式化信息,它的标记是由 用户自己定义的。x k i l 是一种基于文本的格式,在许多方面类似于h t m l ,后者是 专为存储和传输数据而设计的。x m l 源是由x m l 元素组成的,每个x m l 元素包括 一个开始标记( ( t i t l e ) ) ,一个结束标记( ( t i t l e ) ) 以及两个标记之间的信息 ( 称为内容) 。采用l i b x m l 库提供的函数实现正确的从x m l 文件中提取特征参数 的方法,同时将特征存储进用以进行特征匹配的数据结构中。模型和过程文件都 保存到服务器上,当客户端启动时,从服务器读取模型和过程文件,加载并解析 后将数据通过s o c k e t 协议传输到客户端,进行显示或演示。客户端经过一系列 拆卸操作后可以将操作过程以文件描述形式保存到服务器。 控制部分包括两部分:操作控制和基本的三维交互控制。操作控制是指用户 的功能操作,如开始录制,结束录制,开始播放,结束播放等操作控制。三维交 互控制是指对三维实体的操作,如移动,旋转,放缩,隐藏等各个基本操作。本 文使用分层的任务模型和状态图方式来实现基本的三维交互。任务模型是面向目 标的任务体系,它的叶结点( 原子任务) 表示交互任务或是动作任务。兄弟任务间 暂时的关系由父任务指定。任务模型允许本地状态的说明,允许状态与任务建立 关联。设计者可以在任务模型中指明任务是如何设定和使用状态信息的。在任务 模型中,使用任务输入和输出参数指定信息流。状态图实际上是一种由状态、变 迁、事件和活动组成的状态机。状态图描述从状态到状态的控制流,常用于系统 的动态特性建模。在大多数情况下,它用来对反应型对象的行为模型。本文中交 互人物模型及状态图用x m l 语言进行描述和解析。三维交互操作时,首先获得用 户在二维屏幕上的坐标,然后根据视口窗口转换及各种映射获得操作点所在的三 9 山东大学硕士学位论文 维坐标,也可以直接使用三维鼠标。移动或旋转时实时跟踪记录鼠标位置,对被 操作模型进行同步移动或者旋转操作,并将变化后的位置经过视口窗口及映射的 逆过程显示到屏幕上。 2 3 相关技术介绍 2 3 1 虚拟装配关键技术 ( 1 ) 面向虚拟装配的建模技术【8 】 对装配模型的研究最早出现于7 0 年代末,经过多年研究,出现了许多装配模 型,可分为关系型模型和层次型模型。关系型模型以一种基于图来建立装配模型, 结点表示零件,边表示它们之间的关系;而层次型模型是将某些零件合并为一个 子装配,最终模型呈树状结构。这两种模型各有优缺点:关系型模型比较直观, 容易由计算机自动生成,在装配工艺规划中信息便于管理和利用;缺点是往往在 同一层次进行描述信息,不符合产品的实际结构和人们的思维习惯,产品零件数 量不能太多,否则将给以后的装配规划带来很大的困难。层次型模型的优点则是 符合人们的思维习惯,能较好地体现设计意图和产品结构,并能减少一层元件的 数量,降低装配分析的复杂性;但是其缺点是各零件之间的装配关系描述不够直 观,子装配的划分没有明确的规则,其模型的生成大多需要人工参与。在实用的 各种商业c a d 软件中,更多地使用了两者结合的混合模型。 国外学者对产品装配模型进行了深入研究,提出了对装配体静态结构描述的 图结构模型、树型结构表示的层次结构模型和虚拟链结构( v i r t u a ll i n k ) 【9 】 的混合模型。另外还有聚合关系、约束关系表达并通过时序关系构造的装配模型 和基于x m l 的可重构装配模型【l l 】。 图结构模型是以图的形式描述装配体中各种不同实体之间的相互关系,以 b o u r j a u l t 的连接图模型1 2 1 、dyc h o 等人提出的联络图模型【1 3 】、h o m e nd em e l l o 等提出的相互关系模型【1 4 1 为代表。图结构模型的特点是关系比较直观,但与产品 的实际结构不一致,不能表达零件间的层次关系,所以现在已经很少使用。 层次模型是根据零部件的层次关系,以树的形式来表达装配并组织产品,能 体现设计意图和产品结构,但各零件之间的装配关系的描述不够直观。近年来许 多研究者提出一些新的装配模型,这些装配模型可以归为层次模型。如刘振宇等 1 0 山东大学硕士学位论文 提出的面向虚拟装配的产品层次信息模型【1 5 】,后来姚瑁提出的基于架构的动态装 配模型【1 6 】等。 虚拟链模型结合了图结构模型和层次模型的优点,以层次模型为基础,各子 装配级别的零件间的装配关系通过虚拟链来表达,这种表示结构的缺点是一致性 维护比较困难。 ( 2 ) 虚拟装配设计环境技术是虚拟装配技术的基础 虚拟装配设计环境一般是通过对c a d 系统进行二次开发,建立的可视化系统, 具有沉浸式、交互式等特点的虚拟环境,设计者借助与虚拟外设能够实现自动建 模、装配路径设计、装配零部件位置和姿态调整、消隐、装配视角调整、视图缩 放和虚拟仿真设置等功能。在虚拟装配设计环境中,设计者可以修改未通过干涉 检查的零部件的几何外形,而无需在虚拟环境与系统间进行数据传输,提高了系 统的可靠性。虚拟装配设计环境技术需要高性能的计算机系统、计算机图形技术、 图像处理和模式识别技术、多传感器技术、人工智能、并行处理技术、语言处 理技术和网络技术等的支持。 ( 3 ) 装配规划技术和装配信息的记录 装配规划技术包括装配路径规划技术和装配顺序规划技术。传统的装配规划 的研究方法是针对特定的需求,在某些推理算法和规则的支持下,推理出几何上 可行的装配顺序 1 7 , 1 8 , 1 9 】。装配路径规划在几何上可行,在工艺上不一定可行,所 以这种装配规划还需要工程技术人员对其进行工艺性分析,才能保证其在工程上 的可行性。基于v a 的装配规划就是在虚拟环境下利用虚拟设备模拟手工装配拆卸 的交互式过程,对装配体进行可装配性和可拆卸性分析,通过对自动装配顺序生 成器产生的可行性装配顺序进行反复验证来确定最优装配规划方案,并要力求避 免一些最优的装配顺序和装配路径的遗漏,同时又能尽量缩小可行解的空间,以 提高装配规划评价的效率。 装配顺序规划( a s s e m b l ys e q u e n c ep l a n n i n g ,a s p ) 是描述产品装配过程的 一个重要信息,基于装配顺序自动规划的装配过程仿真对提高产品的装配性能、 缩短产品的开发周期和降低开发成本具有重要意义。 ( 4 ) 虚拟装配中的千涉检查和约束处理 虚拟装配的干涉检查技术主要包括零部件组的选择、干涉和间隙体积的计 算、干涉区域的显示、干涉检验报告的生成等等。虚拟装配的干涉检查主要分为 山东大学硕士学位论文 静态干涉检查和动态干涉检查两种。在进行虚拟设计之初,一般只用静态干涉检 查方式进行初略检查,这一阶段所采用的基本的静态干涉检查方法主要有:一种 是在装配中,将各个零件以不同的颜色渲染,就可从其虚拟装配图中粗略地检查 出该装配是否发生装配干涉现象。因若发生干涉,一方面零件之间有可能发生重 叠,屏幕上会出现颜色飘动现象:另一方面,零件之间如果出现没有接触等无法 配合的情况,则通过放大、旋转可以很容易地发现。另一种是对零部件模型进行 布尔求交运算,若有交集存在,则说明零部件模型间存在干涉。约束处理是虚拟 装配中必须面对的基本问题之一,因为约束是将零部件由散乱状态组合成一个有 机整体的合并条件。 目前进行干涉检验的方法主要分两大类:空间分解法和层次包围盒方法。空 间分解法是将整个虚拟空间划分成相等体积的小单元立方体只对占据了同一单 元立方体的几何对象进行碰撞检n k d 树【2 0 1 ,八叉树口1 1 ,b s p 槲2 2 1 等是这种方法 比较有代表性的例子层次包围盒法是当前比较通用的方法这种方法通过使用体 积略大但几何特性简单的包容盒来近似描述复杂的几何对象通过对包容盒间的 相交测试来进行几何对象的碰撞检测这种方法比较典型的例子有轴向层次包容 盒a a b b 2 3 , 2 4 1 方向层次包容盒o b b 2 5 1 等。 ( 5 ) 模型的物理学属性虚拟 要使虚拟装配过程逼真、自然,除了借助于计算机图形构成的三维虚拟环境 实现视觉反馈外,还应通过人机交互装置实现听觉、触觉和动感等信息的反馈, 得到真正的操作感。在虚拟装配的操作过程中,如果没有触觉和力感反馈,操作 者就无法感受与虚拟环境的交互作用力,虚拟装配过程中就可能出现现实世界中 的非法操作,从而直接影响对装配设计的评价。这就需要虚拟模型的物理学属性。 模型的物理学属性包基于c a t i a c a a 平台的虚拟装配路径规划的研究包括材料属 性,如材质、密度、色彩等,和装配过程中的运动属性,如速度、加速度和碰撞 反作用力等。另外,如何基于特定的装配拆卸工具和模型的柔韧性、可压缩性和 记忆性等属性,来设计符合装配人员行为规范的操作,并对这些规范化操作进行 相应的规划管理,将成为进一步的研究内容。 山东大学硕士学位论文 = = = = = = := = = = = = = = := = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一 3 2 1x m l 简介 本文中装配过程描述和任务模型均基于x m l 描述。w o r l dw i d ew e b c o n s o r t i u m ( w 3 c ) 对x m l 进行了如下描述:“e x t e n s i b l em a r k u pl a n g u a g e ,缩写 为x m l ,描述了一类被称为x m l 文档的数据对象,并部分描述了处理它们的计算机 程序的行为。k m l 是s g m l ( s t a n d a r dg e n e r a li z e dm a r k u pl a n g u a g e i s o8 8 7 9 ) 的一个应用实例或一种受限形式。从结构上说,x m l 文档顺从s g m l 文档标准。” m i c r o s o f t 对x m l 的定义是:s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ( s g m l ) 的简 化子集。扩展标记语言x m l 是一种简单的数据存储语言,使用一系列简单的标记 描述数据,而这些标记可以用方便的方式建立,虽然x m l 占用的空间比二进制数 据占用更多的空间,但k m l 极其简单易于掌握和使用。 总而言之,x m l 是一种元标注语言,该语言提供一种描述结构数据的格式。 这有助于更精确地声明内容,方便跨越多种平台的更有意义的搜索结果。 d i l 是一种结构良好的,自描述性很强的语言。它提供可以编码从简单至复 杂各种情况的内容、语义和架构的数据标准。一旦该数据在客户机桌面上,就可 以在多个视图中处理、编辑和表示它,而无需返回到服务器。由于较低的计算量 和带宽负载,所以目前的服务器更易于升级。此外,由于以x m l 格式交换数据, 所以可以轻而易举地合并来自不同来源的数据。x m l 源是由x m l 元素组成的,每个 x m l 元素包括一个开始标记( ( t i t l e ) ) ,一个结束标记( ( t i t l e ) ) 以及两个标记 之间的信息,称为内容。x m l 允许无限标记集,但各标记集并不表示如何显示, 而是表示其含义。由文档的作者确定使用何种数据以及哪种标记名称最合适。标 记是对了文档存储格式和逻辑结构的描述。在形式上,标记有以下各种可能项: 注释、引用、字符数据段、起始标记、结束标记、空元素、文档类型声明( d t d ) 和序言。 每个x m l 文档都有一个逻辑结构和物理结构。从物理结构角度来看,文档由 实体单元组成,一个实体也可以在其他文档实体中被引用。一个文档以一个根元 素或文档实体来开始。文档的起始标已和结束标记对数据进行结构化组织,并确 定了元素的范围和相互之间的关系。从逻辑结构角度讲,文档由声明、元素、注 释、字符引用和处理说明组成,这些组成部分在文档的标记中必须明确规定。 x m l 作为s g m l 的一个配置,最初被设计通过分离内容和格式来面对大规模的 山东大学硕士学位论文 电子出版业的挑战,它具有下面的关键优势: 1 ) x m l 的文档内容与其格式化过程相分离,简化了开发与维护。具有不同专 业技术的成员和团队可以独立的操作x m l 文档中抽取的格式、样式和美化的信息。 2 ) 集成数据和文档的能力。大多数语言一般在严格性、内容的绝对性和数据 结构上设计得好一点,或者文档文本设计的灵活性上设计得好一些,但是x m l 在 两方面都做得很好。 3 ) x m l 用一种灵活的可扩展的表示来实现内容通信。因此,数据的描述可以 反复的被优化,这使得x m l 对一个复杂的、需要频繁的修改的文档特别适用。 4 ) x m l 解析器和其它通用工具已经成熟,可以根据需求抽取x m l 文档的片段以 适合特殊的应用。 5 ) x m l 文档可以用多种形式发布,是一种为用户提供了非常好的信息表示的 语言。 2 3 3 布局相关技术介绍 布局问题 2 6 1 涉及到计算几何、计算机图形学、运筹学、逻辑推理等多学科、 多领域的知识,属于复杂的组合优化问题。它的复杂度具有双重性:首先,布局 问题的模型都非常复杂。工程布局问题不仅涉及可用数学模型描述的知识,如问 题的优化目标等,而且还涉及只能用符号模型描述的知识,如布局物体的材料性 能以及装卸工艺等,任何单一模式的知识模型都不足以精确表达这样的工程布局 问题。所以很难用数学模型完全、准确的描述,需要用复合知识模型来表达;其 次,即使布局问题能用数学模型描述,求解该数学模型或复合知识模型中的数学 模型部分的计算复杂度也是n p 完全问题。由于布局问题的复杂性,在较短的时 间内不可能找到问题的精确解,所以绝大部分现有的有效布局算法都是启发式 的,而且从对n p 完全问题的研究可以看出,在串行计算机环境下,这类问题的 解决只能依赖于启发式算法的发展。 布局问题知识模型的建立是目前布局领域的一个弱点,复杂的布局问题是多 约束多目标的组合优化问题。由于布局知识的多样性,组合优化问题无法用单一 的数值优化模型来表达,因而属于一种广义优化问题。目前解决布局问题的模型 主要包括数学模型、图论模型、符号知识模型、人工神经网络模型等。 1 4 山东大学硕士学位论文 s z y k m a n 和c a g a n 2 7 1 针对布局问题的特点,通过应用一种空间约束语言,将模 拟退火算法扩展到一般的布局算法当中。并通过对无绳动力钻的部件应用此算 法。取得了具有约束语言所控制的很好的三维布局效果。但是该算法在实施中有 如下几方面的限制:( 1 ) 布局物体和容器的形状只限定为矩形块或圆柱体;( 2 ) 物体的旋转操作只限定于9 0 度或是9 0 度的倍数;( 3 ) 物体的方位只限定沿着垂直 坐标轴的方向。正是由于上述的几点限制影响了该算法在所可能产生的设计空间 中的应用,所以仍需进一步推广和完善。 s uy i n 和j o n a t h a n c a g a n t 2 8 】介绍了一种用于有效进行物体布局优化的扩展 模式搜索算法,该算法可以应用于一般的布局问题,即任意几何形状布局物体、 目标多元化的设计、空间约束类型多种多样等。扩展模式搜索有助于算法从局部 最优的“陷阱”中跳出来并使算法收敛到最优解,通过对所有参与测试的问题性 能对比,表明在同样布局质量的情况下,从时间上来说,该算法要比模拟退火法 快一两个数量级。该算法进一步扩展到了并行布局和路径规划问题当中,从而验 证了在搜索中应用模式策略和在优化中包含多目标函数的能力。 t e n gh o n g f e i l 2 9 ,3 0 1 等研究了具有行为约束的三维布局问题,提出了一种位于 旋转容器内的物体的布局优化方法。用于沿螺旋曲线移动的人造卫星舱内的布 局。具有动态平衡约束的特点,属于n p 完全问题,作者提出了对于该问题相应的 解决方法及启发式算法,并给出了数例分析以验证该算法的有效性。 布局问题属于复杂的组合最优化问题和n p 究全问题,而三维布局问题具有高 度复杂性。三维布局问题随着维数的增加,其形状复杂性和解空间的复杂性都远 远超出一般的n p 完全问题,它的解空间比二维成指数倍增加,会出现组合爆炸, 再有三维变换的加入,使问题迅速变得不可解,在一定时间内求其精确全局最优 解是相当困难的。随着计算机技术的发展,计算机强大的计算能力和图形处理能 力为解决三维布局问题提供了有力的工具。很多学者将许多非线性算法用于解决 三维布局问题,如模拟退火算法、遗传算法、各种启发式算法等等,取得一定效 果。这些算法各有所长,都是在一定的约束下、在一定程度上求出比较好的解, 甚至是最优解,但到目前为止,没有一个成功的方法来解决任意三维布局问题。 因此,采用有效的优化技术,并结合计算机强大的计算能力和图形显示操作能力, 就成为解决三维布局问题的有效途径。 山东大学硕士学位论文 第三章操作模型建立及装配设计 本章主要介绍了操作模型建模及脚本设计过程。在模型及脚本的研究设计基。 础上,进行装配过程制作,装配过程演示及培训练习。即设计系统的主要核心部 分。本章内容的关键点是如何设计并建立一个适合本系统的操作模型;如何实现 l 基本的三维交互,它关系到可用性及灵活性问题;如何制定在装配课件制作的流 程及动画演示时如何进行课件解析及控制,逐帧连续显示再现整个拆装过程。本 文将对以上这些问题进行详细描述。 3 1 操作模型建立 建模从简单性来说,就是要化繁为简、化难为易,使复杂事物有可能通过比 较简单的模型来进行研究。研究用来描述虚拟拆装过程中的各种行为描述模型 ( b d m ) ,用于完整的描述了用户在虚拟拆装过程中所有的行为,并以类型一命令一 参数( t c p ) 的方式存储。基于这种模型,不仅可以方便的生成动画脚本和内容检 索,而且能够完整地描述行为特征,为之后的考核提供数据依据。 本文中对操作过程分层控制,将三维操作分为场景、操作模型、操作步骤三 层进行控制。其中场景是一个用于组织图形图像数据的结构,在计算机中显示。 场景往往被分为很多的部分,而出于某种通常的目的,这些部分最终都会被组合 到一场,所以,场景图就是一个代表每个结点都可被分割与重组的图。再定义的 严格一些,场景图就是一个非循环的图,所以它同时也体现出结点与结点之间的 等级关系。这里场景是指需要被拆装的机械设备,它是由多个机械零部件模型组 成,包含设备的名称和空间位置信息,工艺信息等。鉴于每次操作只针对一台机 械设备,所以现在只讨论对一台机械设备操作过程中需要的各种参数,设计操作 模型包含以下几块内容: 1 ) 被操作的零部件模型。系统初始化时进行加载,也可以系统启动后再导入。 2 ) 零部件被操作顺序。这里假设模型逐个被操作。执行完一个模型的所有操 作再执行下一个零部件模型的操作,不进行并行操作。 3 ) 零部件的操作步骤向量。记录向量中每一项是一个操作步骤对象,包含操 作类型和操作顺序。 1 6 , 山东大学硕士学位论文 另外就是包含一些零部件的初始位置矩阵和中间位置矩阵等中间数据。 图3 1 操作模型示意图 3 2 基于x m l 的行为描述模型 过去采用固定的程序来定义设备的内部动作逻辑,并且往往是一种设备对应 于一段程序和一个数据格式,这样就导致了以下一些困难:1 ) 当设备模型增加 或改变后,必须修改程序,不利于用户维护;2 ) 编程人员必须了解设备原理, 编程时间较长;3 ) 程序和数据比较多,调试和维护不方便,出错可能性较大。 本文采用用户定制的方法,先利用抽象的建模语言定义设备模型,然后再将数据 文件按照模型定义的参数格式给出安装设备的参数。在仿真过程中,用户定义的 设备模型由内置的设备驱动来影响计算。采用一个新的行为描述模型( b e h a v e d e s c r i p t i o nm o d e l ,b d m ) ,用于描述用户自定义拆装序列以及拆装过程中挂接的 多维媒体信息,通过类型命令参数( t y p ec o m m a n dp a r a m e t e r ,t c p ) 语法,方便 的组织和存储设备拆装过程,同时也便于动画演示的实现。这里类型指零部件的 类型( 如普通零部件,螺丝等) ,命令指操作类型,如移动、旋转及按照什么轴 旋转等,参数指具体操作的向量,若是移动命令,则参数是分别在) ( ,y z 轴上移 动的向量,若为旋转命令,则参数是具体旋转的度数大小。 系统使用x m l 语言描述定义装配过程,它基于行为描述模型( b d m ) ,以类型 1 7 山东大学硕士学位论文 命令一参数方式存储,并设计相应解析器解析来控制动画播放。这里类型t y p e = l 表示普通零件,t y p e = 2 表示螺丝;o p e r a t i o n n a m e 是代表命令,m o v e 表示移动, r o t a t e 表示旋转,o p e r a t i o n k i n d 是一种旋转参数,o p e r a t i o n k i n d = o 是不旋转, o p e r a t i o n k i n d = l ,2 ,3 分别表示按照x ,y ,z 轴旋转;x ,y ,z 参数表示移动的具体 向量,d e g r e e 表示旋转的度数。设计的模型格式如下: 表3 1 操作模型格式 最外层s c e n e 是场景,即当前操作的场景,操作的设备。第二层m o d e l 是操 作的零部件模型,包含零部件名称,操作顺序,起始坐标x ,y ,z 值。第三层 o p e r a ti o n s t e p 是操作步骤,包含步骤顺序,操作名,操作类别,移动的位置, 旋转的角度等信息。每一层可以映射到操作模型的相应的类型。 在系统中系统中设计了几个类,场景s c e n e ,模型m o d e l 类和操作步 0 p e r a t i o n s t e p 类。s c e n e 类中的包涵一个m o d e l l i s t ,m o d e l 类中包括一个模 型,模型在场景中的顺序o r d e r ,模型名m o d e l n a m e ,模型位置矩阵m a t r i x ,和 模型的操作列表o p e r a t i o n s ,它是o p e r a t i o n s t e p 类型的向量。其中 o p e r a t i o n s t e p 中有操作顺序,操作类别,移动到的位置或旋转的角度。 山东大学硕士学位论文 3 3 装配培训设计 3 1 1 三维交互控制 在系统中提供的基本三维交互包括移动、旋转、放缩、删除等。 三维显示过程是先经过世界坐标系的三维变换,经过投影,窗口剪切, 窗口到视口的变换,最后在视口( 屏幕) 上显示或绘制。三维交互是按照 这个过程的逆顺序,首先在视口操作,获得视口里的坐标,经过这个过程 的逆过程计算出来鼠标点在世界坐标系的坐标。世界坐标中一个点的坐标 假设是q ,视口中该点的坐标是q 1 ,三维世界坐标系矩阵是w ,投影变换矩 阵是p ,窗口到视口的坐标变换矩阵是v ,由于o s g 中坐标系是行优先的, 所以公式为: q 木v 术p 半w = q 1 所以q = q 1 水w 。1 水p 1 ,i cv 。1 本文采用任务层次模型和状态转换图来控制三维交互【3 1 1 。任务层次模 型,基于“分而治之”( d i v i d e c o n q u e r ) 的思想,即将一个大目标划分 成若干子目标,如果需要,再将子目标继续划分,直到所有的子目标成为 可以实现的,当所有的子目标实现后,初始目标也就实现了。基于这种思 想本系统定义的交互任务具有如下特点: 1 ) 一次交互表示成一个交互任务。 2 ) 一个交互任务可以包括多个子任务。 3 ) 可以用已经定义好的子任务组合成新的交互任务。 4 ) 每个子任务对应一个状态图。通过状态图进行状态、事件进行跟踪 控制。 状态图实际上是一种由状态、事件和转换组成的状态机。状态转换图能够 提供清晰的流程,方便对当前的状态和选项进行跟踪。 本文系统中使用x m l 来配置交互任务和状态图,下面以移动为例,说明一 下交互任务和状态图实现过程。交互任务定义如下: 1 9 山东大学硕士学位论文 表3 2 交互任务定义 这个交互任务是一个简单的,只对应一个子任务,其中d a t a f o r m 用于在交 j | 互过程中存取数据的。下面看一下子任务对应的状态图: 表3 3 交互任务中的状态图定义 这个交互整个过程是:选择移动菜单,开始移动的交互任务,找到对应的状 态转换图,这时候进行鼠标事件,如果m o u s e d o w n ,则记录第一个点,进入状 态s t a t e l ;然后转入处理函数判断是否选中模型,若没选中则结束。在s t a t e l 状 态时,若触发m o u s e d r a g 事件,模型随着鼠标拖动而发生位置改变,但是不保存 点,只是取出当前点和前一个点计算移动的路径,状态不变;若触发m o u s e u p 事件,则进入终止状态,这时候记录第二个点,状态结束,这个交互子任务结束, 再继续下一个子任务,由于这个任务只包括一个子任务,所以移动的任务结束。 移动时,实时截获鼠标事件,获得当前鼠标位置,经过坐标系转换获得它在 三维世界坐标系中的坐标,与移动前的坐标做差运算,获得差向量,调用 m a k e t r a n s l a t e 方法,移动到新的位置。若是旋转操作,则根据之前所在的坐标 系与现在点的局部坐标系进行运算,根据所使用的旋转轴,获得旋转的角度。假 山东大学硕士学位论文 设旋转前模型的世界坐标系矩阵为m ,旋转后为m 1 ,矩阵为4 * 4 的。则 r * m = m 1 。所以r = m 1 木m 1 。而对应不同坐标轴的旋转的矩阵r 不同: 按x 旋转r x ( 1 3 ) = 按y 旋转r y ( b ) = 按z 旋转r z ( b ) = 100 0c s 0s c ooo c0s0 、 010 0 i 1 0 一sc0i 0001 j c s00 sc0 0 0 0l0 0 o o1 其中c 表示c o s ( b ) ,s 表示s i n ( 1 3 ) 可以从r ( 1 3 ) 中获得c o s ( 1 3 ) 和s i n ( 1 3 ) ,根据这两个条件并且加上鼠标移动方 向可以计算出角p ,然后在通过o s g 的方法o s g :r a d i a n s t o d e g r e e s 将这个值转 化为度数表示,这个角有正负值,即可以表示正反旋转。计算出角度后,可以调 用m a k e r o t a t e 方法进行旋转。 3 3 2 装配过程制作 按照“可拆即可装”得假设,对一个模型可以先定义拆卸过程,根据拆卸过 程可以获得相应的装配过程。装配过程制作的正确与否决定了动画演示与模拟训 练的正误,所以装配过程制作在整个虚拟装配培训过程中发挥着非常重要的作 用。为学生客户端的播放演示及模拟练习提供数据。 如图3 3 展示了装配过程制作的大体流程控制: 2 1 山东大学硕士学位论文 、滤搋撼彪j 霸躐黼 瞄黼嘲鳓黝卜一 霸。嚣 隗凌麓瀚蝴 酸渤戮滋凌巍捌 1 缓渤戮貔瀛缓溯 嘲黼蕊 一目 图3 2 装酉己过程制作流程图 装配过程定义步骤如下: 1 ) 选择一种操作方式,有移动、按x 、y 、z 不同坐标轴旋转。每种操作使用 一种状态来标记。 2 ) 选择一个模型,鼠标点击,获得鼠标所在二维坐标,根据坐标系转换换到 三维世界坐标系,与三维场景进行相交验证,在o s g 环境中使用射线相交判断, 选取离视点最近的模型作为被选中模型。 3 ) 判断该模型是否可以操作,若可以,则移动或旋转该模型,保存操作步骤 和这步操作的时间戳,否则,转入第2 步。这个判断是根据鼠标点选的是否选中 一个模型,或者选中的零件模型根据干涉检验,看是否与其他零件碰撞。 4 1 重复执行前三步,直到该模型可以拆卸下来,放置到一个空白位置,然后 移除该模型。 5 ) 转入第1 步,继续操作下一个零件模型,直到所有的零件都拆卸下来,结 束制作过程。 录制结束后,将操作记录及模型以脚本形式保存到服务器上,然后可以同步 山东大学硕士学位论文 录音,生成音频文件,另外可以制作文本解说文件,并设计解说文件与音频文件 的对照文件,一起保存到服务器上。 3 3 3 动画过程演示 随着信息技术的发展,借助于适当的媒体,能使学习者具有良好的有助于学 习的心理,因此学习一直伴随着媒体的使用,学习方式也因此与媒体的选择使用 具有很亲密的关系,目前比较流行的教学模式如微世界、案例学习、虚拟实验室、 探究性学习、基于资源的学习、情景化学习、虚拟学社m i m o o 、计算机支 持合作学习( c s c l ) 等在学生信息能力的培养上具有独到的优势。本小节中正 是使用这种情景学习的方式对学生进行培训,以较短的时间使学员身临其境地了 解一个机械设备拆卸的整个过程和操作细节。在教师制作完装配过程之后,学生 可以选择已制作的过程进行学习。动画演示流程如图3 3 所示: 磁缓幽豳邈豳_ 图3 3 动画演示流程图 山东大学硕士学位论文 动画演示过程为客户端从服务器上获得装配过程和模型,根据装配过程文件 描述生成模型对象及操作列表,逐个取出列表中的每个模型对象,得到他的当前 的位置,及操作列表,然后循环获得每个操作步o p e r a t i o n s t e p ,根据o p e r a t i o n k i n d 和x , y ,za n dd e g r e e 进行计算每一步的变化。如果是移动,只要计算当前位置和脚 本的终止位置的差向量,然后计算每一小步移动在每个轴上的分量,然后移动, 直到移动到脚本中控制的位置或者距离很小时停止,直接移动到中止位置。如果 是旋转,则针对相应的旋转轴每次旋转2 度,将d e g r e e 减2 ,直到d e g r e e 减至0 。 演示时,设置一个t h r e a d ,每隔一小段时间刷新下,显示新的一帧图像,即可 将这个过程显示成动画效果。 本系统提供了几种学习方式:动画学习,音频学习,文本解说,零件信息提 示等方式。在动画播放的同时,可以播放教师录制好的音频文件来进行学习,或 者选择伴随文本形式解说。例如拆卸一台机器,教师在制作装配记录的同时,进 行录音,或者用文本记录装配顺序和过程,保存到服务器上。学生学习时可以一 边看着动画演示过程,一边听教师语音解说或者文本形式的解说,更能深刻理解 这个拆卸过程,可以达到一个更好的学习效果。 这里涉及到动画、音频和文本的三者的同步。多媒体的同步通过在媒体对象 之间建立一定的联系并基于一定的事件运算加以实现。首先介绍一下动画和音频 的同步。过程如下: 1 ) 由已设定的运动步长计算出每一操作步骤需要变换的次数。 2 ) 取出制作过程中记录的每步操作的时间戳和这一操作中所包含的变换次 数,计算每变换一帧需要的时间。 3 ) 根据脚本文件定义和运动步长,计算装配过程中模型的下一个显示位置 4 ) 每隔2 中定义的时间段去显示新的一帧。 这样在播放音频的同时,同步演示动画。如果录音时间很短,假设计算机运 算速度足够快,则不会影响动画效果。这种方式不必需要复杂的算法即可达到同 步的效果,实现原来场景的重现。 音频与文本的同步。在播放音频文件的同时,进行文本一语音匹配,文本语 音匹配( t e x t a u d i oa l i g n m e n t ) 是以语音识别系统的核心技术为基础,对参考文 本和对应语音进行强制对准( f o r c e da l i g n m e n t ,f a ) 的过程,其目的在于获得 语音信号与文本内容之间的对应关系。本文文本语音匹配与歌曲播放同步显示 山东大学硕士学位论文 歌词的方式类似。采用与l r c 歌词文件类似的方式来定义解说文件。下面显示了 部分解说文件: 【0 0 :0 0 0 0 】装配过程的解说 【0 0 :0 1 0 6 】大家好! 今天我们来演示一下增压器的拆装过程! 【0 0 :1 4 1 5 】首先让我们看一下这个设备的整体结构,它包括六部分: 【0 0 :1 6 6 2 】拆卸步骤如下: 进入系统后,首先取出解说文件,然后进行组织,可以根据时间组织成 h a s h m a p ,在播放的时候,实时获得时间,然后以时间为关键值,去h 瓠h m a p 获取 相应的解说语句显示。 3 3 4 模拟训练和考核 对装配过程学习之后,学生可以模拟训练。在理论学习的基础上锻炼他们的 实际动手能力。模拟训练是用计算机模拟现实中进行装配拆卸操作的过程,在模 拟训练过程中会碰到和现实中相同的各种问题,使学生可以与实际训练相联系, 通过模拟训练提高实际的操作技能。模拟训练过程中的基本交互操作与教师制作 装配过程中的交互一样,使用同样的方式控制。 学生模拟训练时,根据教师定义的拆装过程进行拆装,每操作一步,系统将 操作与服务器上保存的操作过程对比,验证是否正确,验证顺序如下: 1 ) 判断操作的模型是否正确, 2 ) 判断拆装的方式, 3 ) 判断拆装顺序, 4 ) 判断变动的参数。 每步都依次判断。操作中如果有错误,给出相应的错误提示,学生可以根据 提示进行正确操作。 另外,系统在显示整个视图显示的同时能够探索局部的详细信息并进行分 析,相应的支持技术主要分为两种:一种是o v e r v i e 、卅d e t a i l 技术,另一种是 f o c u s + c o n t e x t t 3 2 1 技术。o v e r v i e w + d e t a i l 界面显示一个信息空间的多个视图,其中 一部分显示信息空间的整体视图,称为o v e r v i e w 窗口或视图;另一部分显示信 息空间的详细细节视图,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应链金融合同中担保资产范围及买卖双方风险分担
- 电力系统检修安全操作协议
- 高层管理人员内部股份转让及股权激励协议
- 2023年辅警招聘报名表
- 大学法学专业试题及答案
- 造价专业面试题目及答案
- 全球化与科技融合的新模式研究-洞察及研究
- 网媒专业考试题及答案
- 检验专业英语试题及答案
- 吊篮租赁公司半年工作总结
- 演唱会招商方案
- 河北信息技术学业水平考试试题集
- 压力容器使用单位安全总监题库
- 创业合伙人五份协议书模板
- 建筑工程消防查验检查表
- 2024-2025学年七年级语文上册第一单元测试卷(统编版2024新教材)
- 应征公民政治审查表
- FZ∕T 71006-2021 山羊绒针织绒线
- 慢性创面的治疗及护理课件
- 2023年上海交通大学招聘考试真题
- YY/T 0003-2023手动病床
评论
0/150
提交评论