《微装配与MEMS仿真导论》课件第8章_第1页
《微装配与MEMS仿真导论》课件第8章_第2页
《微装配与MEMS仿真导论》课件第8章_第3页
《微装配与MEMS仿真导论》课件第8章_第4页
《微装配与MEMS仿真导论》课件第8章_第5页
已阅读5页,还剩195页未读 继续免费阅读

下载本文档

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

文档简介

第八章虚拟化实现81虚拟现实技术简述

82MEMS虚拟化技术

83虚拟装配概述

84虚拟装配的软硬件配置

85虚拟装配关键技术的实现

虚拟设计及制造技术是经过对产品的外形设计、布局设计、加工及装配过程仿真,在此基础上再制造出真实产品。在产品设计或制造实现之前,通过模拟物体的几何特性及动态行为,就能使人感到未来产品的性能或制造过程状态,因而可提前做出决策及优化实施方案。虚拟设计及制造技术可以看做是初步的虚拟现实技术,不过虚拟现实技术与外界的交互手段更多。因此,采用虚拟现实技术可进一步降低产品开发的成本和风险。8.1虚拟现实技术简述

MEMS器件的设计需要综合多学科理论进行分析,这大大增加了设计参数选择的难度。基于虚拟现实技术的微机械设计是切实可行的方法。采用虚拟现实技术和CAD能设计出具有低成本、高性能、更为复杂的新型微系统;2D和3D计算机绘图技术能够对复杂的MEMS结构进行计算机设计;有限元分析技术可以用精确的计算机数值求解方法来分析和预测器件的性能。通过对器件静态和动态的工作情况进行模拟,就能够实现对MEMS器件的结构和工艺进行计算机模拟和设计优化。运用虚拟现实技术和CAD,使得MEMS的设计高速化、自动化和可视化,有利于加工工艺的参数化控制,可以缩短设计、制作周期,提高制作过程的可重复性,提高MEMS器件的性能价格比。8.1.1虚拟现实技术的定义

对于虚拟现实技术的定义,目前还没有统一的文字性描述,但不同表述形式所传达的本质属性基本一致。国内外专家学者给出的比较典型的定义有下面几种。

1.虚拟现实概念的提出

1989年,美国科学家、VPL的主管JaronLanier,提出虚拟现实(VR,VirtualReality)这一概念,之后有关虚拟项目研究的概念(即利用立体视听、数据手套、数据服装等人体感觉的延伸技术模拟仿真三维现实世界的研究)统一于单一的虚拟现实这一名词之下。虚拟现实的特征,从对其系统的描述来看,强调了以下四个要素:

(1)多媒体信息感知性:VR系统具有感知视、听、触、嗅、味等多种信息的能力;

(2)沉浸感:用户将感觉不到身体所处的外部环境而“融合”到虚拟世界中去;

(3)交互性:用户可通过三维交互设备直接控制虚拟世界中的对象;

(4)自主性:VR世界中的物体可按各自的模型和规则自主运动。

2.虚拟现实的主要技术构成

1990年,在美国达拉斯召开的国际会议上明确了虚拟现实的主要技术构成,即实时三维图形生成技术、多传感交互技术及高分辨率显示技术。虚拟现实技术系统主要包括:输入/输出设备,如头盔式显示器、立体耳机、头部跟踪系统以及数据手套;虚拟环境及其软件,用以描述具体的虚拟环境等动态特性、结构以及交互规则等。

3.虚拟现实概念的确定

1993年,Isdale在Internet发布的文章中表述的虚拟现实的概念是:虚拟现实是人类与计算机和极其复杂的数据进行交互的一种方法。

8.1.2虚拟现实技术的特征

1993年,BurdeaG在Electro93国际会议上发表的《VirtualRealitySystemandApplication》

一文中,提出了虚拟现实技术的三个特征,即沉浸感(Immersive)、交互性(Interaction)和想象性(Imaginative)。

1.沉浸感

沉浸感是指用户可以沉浸于计算机生成的虚拟环境中和使用户投入到计算机生成的虚拟场景中的能力。用户在虚拟场景中有“身临其境”之感,他所看到的、听到的、嗅到的、触摸到的,完全与真实环境中感受的一样。沉浸感是虚拟现实系统的核心。

2.交互性

交互性是指用户与虚拟场景中各种对象相互作用的能力。它是人机和谐的关键性因素。用户进入虚拟环境后,通过多种传感器与多维化信息的环境发生交互作用,用户可以进行必要的操作,虚拟环境中做出的相应响应亦与真实的一样,如拿起虚拟环境中的一个篮球,你可以感受到球的重量,扔在地上还可以弹跳。交互性包含对象的可操作程度、用户从环境中得到反馈的自然程度、虚拟场景中对象依据物理学定律运动的程度等,例如,当物体受到力的作用时,物体会沿着力的方向移动、翻倒或者从桌面落到地面等。

3.想象性

想象性是指通过用户沉浸在“真实的”虚拟环境中,与虚拟环境进行了各种交互作用,从定性和定量综合集成的环境中得到感性和理性的认识,从而可以深化概念,萌发新意,产生认识上的飞跃。因此,虚拟现实不仅仅是一个用户与终端的接口,而且可以使用户沉浸于此环境中获取新的知识,提高感性和理性认识,从而产生新的构思。这种构思结果输入到系统中去,系统会将处理后的状态实时显示或由传感装置反馈给用户。

如此反复,上述过程是一个学习—创造—再学习—再创造的过程,因而可以说,虚拟现实是启发人的创造性思维的活动。8.1.3虚拟现实技术的分类

虚拟现实是从英文VirtualReality一词翻译过来的,Virtual就是虚假的意思,Reality就是真实的意思,合并起来就是虚拟现实,也就是说本来没有的事物和环境,通过各种技术虚拟出来,让人感觉到就如真实的一样。实际应用中的虚拟现实系统可分为四类。

(1)桌面虚拟现实系统,也称窗口中的虚拟现实。它可以通过桌上型机实现,所以成本较低,功能也最简单,主要用于CAD(计算机辅助设计)、CAM(计算机辅助制造)、建筑设计、桌面游戏等领域。

(2)沉浸虚拟现实系统,如各种用途的体验器使人有身临其境的感觉。各种培训、演示以及高级游戏等均可用这种系统。

(3)分布式虚拟现实系统。它在因特网环境下,充分利用分布于各地的资源,协同开发各种虚拟的现实。它通常是沉浸虚拟现实系统的发展,也就是把分布于不同地方的沉浸虚拟现实系统通过因特网连接起来,共同实现某种用途。美国大型军用交互仿真系统NPSNet以及因特网上的多人游戏MUD便是这类系统。

(4)增强现实(又称混合现实)系统。它是把真实环境和虚拟环境结合起来的一种系统,既可减少构成复杂真实环境的开销(因为部分真实环境由虚拟环境取代),又可对实际物体进行操作(因为部分系统系真实环境),真正达到了亦真亦幻的境界,是今后发展的方向。

8.1.4虚拟现实的关键技术

虚拟现实技术包括软件和硬件两大部分的支持。从软件方面讲,虚拟现实技术应具备以下功能:复杂的逻辑控制;模拟实时的相互作用;模拟人脑所有的智能行为;模拟复杂的时空关系,主要涉及时间与空间的同步等问题;感觉的表达,包括人的听觉、视觉、触觉、味觉和嗅觉的计算机表达;实时的数据采集、压缩、分析、解压缩;支持与虚拟环境交互的定位、操纵、导航等。

从硬件支持的角度来看,虚拟现实技术主要是计算机与周边设备的组合关系,表现为更大存储容量的存储设备、图像显示设备、数据采集与处理系统、虚拟现实技术的操作设备等。在VRT的关键技术中,除了上述高性能计算机系统软硬件设备之外,虚拟现实技术还包括实时三维图形系统和虚拟现实交互技术。利用实时三维图形系统,可以生成具有逼真感的图形。虚拟现实是一种交互式和先进的计算机显示技术,双向对话是它的一种重要工作方式。

8.2.1虚拟工艺库

1.虚拟工艺的概念

虚拟工艺(VirtualProcess)就是按照工艺规则进行处理,将版图设计和工艺设计的理想结果推算出来,建立起工艺过程和版图与MEMS器件三维几何模型的直接联系。在虚拟环境中,任何一个环节发现问题都可以随时返回重新设计,这个试探过程不需要真正的工艺流水线,因而不需要实际的工艺时间和费用,8.2MEMS虚拟化技术这样就最大限度地减少了MEMS设计在实际制作过程中的反复,保证了设计过程的高效率、高质量和低费用,并且大大提高了成功的概率。

虚拟工艺的主要任务就是根据版图描述方面及工艺流水线方面的规则与经验,将版图软件中器件版图的平面分层结构和工艺设计软件中设计的工艺过程转换成三维图形学描述,并将三维模型显示给设计者。所以,虚拟工艺主要有三个技术问题:工艺描述,即版图和工艺方面的规则和经验的描述;工艺模型,即根据规则和经验对实际的版图和工艺过程数据进行转换;可视化,即将三维图形学描述进行三维显示。

1)工艺描述

工艺参数是工艺过程中生成工艺模型的关键数据,所以虚拟工艺过程就必须对工艺参数进行研究。系统中用四个文件来存放虚拟工艺所需要的所有参数,它们是工艺文件、层定义文件、版图文件和衬底文件。

(1)工艺文件:是工艺设计软件生成的,主要用来存放工艺过程中的所有工艺语句,并详细描述每道工艺的具体参数,如定义衬底的工艺语句为DF、衬底名、材料名、显示颜色、厚度、备注。

(2)版图文件:是由版图设计软件生成的,主要用来存放版图数据,包括版图对应的层号以及该层中的版图图形,图形为一些基本的图形,如长方形、多边形、圆、弧等。

(3)层定义文件:是由版图设计软件生成的。版图是分层设计的,所以版图设计好之后除了保存版图位置的版图文件之外,还需要层定义文件来保存每一层的信息。一个层定义文件包含若干层定义,其中每层中又包含该层的层号、材质、颜色、填充模式等参数。

(4)衬底文件:是由版图设计软件生成的,按照版图数据的格式来存放衬底形状的数据。

2)工艺模型

虚拟工艺的目的就是为工艺过程应该生成的理想器件建模,这里称之为工艺模型。为工艺过程创建工艺模型的过程,实际上就是按照工艺过程中工艺的顺序,逐步生成模型描述数据,并根据版图和工艺参数对它们进行修改,最后生成整个工艺过程的工艺模型。因为MEMS器件是由工艺过程中的若干工艺步骤分层生成的,所以工艺模型采用分层描述的方式,每一层又由若干基本模型块组成。

3)可视化

可视化系统利用剖面图的形式显示设计者所关心的模型形状信息。绘制剖面图就是根据线段参数(指定设计者所关心的剖面),在一个窗口内显示此线段所在的垂直于版图编辑器俯视图的平面与MEMS部件相交的截平面。同样,MEMS器件的剖面图也是采用分层表述的方式,不同的是,每层由若干多边形、扇面等基本图形和这些基本图形的组合构成。各层剖面图图形数据可以直接用线段与已经生成的工艺模型各层相交得到。

2.基于专家系统技术的虚拟工艺系统

1)虚拟工艺系统框架

虚拟工艺专家系统主要由人机接口、专用数据库、知识库、推理机和解释机部分(即专家知识)组成。人机接口部分简化为读取研制人员提供的几个文件,并提取有用数据,也即文件处理过程。知识获取部分暂时是由MEMS专家提供给软件人员,由软件人员翻译成知识库中的知识,并且进行一定工作量的编程。该专家系统的结构如图8.1所示。

图8.1虚拟工艺专家系统结构图此专家系统将材料描述和工艺流水线方面的规则和经验都放到专家系统的知识库中,其中材料描述放到材料知识库中,工艺流水线方面的知识分为两个库:工艺知识库和过程知识库(下面将详细讲述知识库部分);将转换三维图形学描述的部分作为专家系统的推理机部分;将三维显示部分作为专家系统的解释机部分;公用数据库中存放初始数据和过程中生成的一些数据。

2)知识库的建立

该专家系统中主要有两类知识,一类是事实性知识,如材料的定义、工艺过程的基本命令等,可分成两个知识库:材料知识库和工艺知识库,分别存放材料定义和工艺过程的基本命令。另一类是启发性知识,即过程知识库,为了适应专家系统的要求,在编程时把<前提条件>部分和<动作>部分编成两个独立的函数,则这样一条产生式:if<生长/淀积工艺>then<生成新的一层模型>,在C语言中就是如下两个函数:

intpre-conl(){/*<前提条件>部分*/

if(当前工艺是生长/淀积工艺)

return1;

else

return0;

}

voiDaction(){/*<动作>部分*/

生成新的一层模型;

}

推理机在对知识库的规则进行评估时,只要先执行由规则前提组成的函数,即可算出评估值,操作比较简便。下面分别举例说明每个知识库的实现。

(1)材料知识库。

材料知识库用来存放一些常规的材料知识。该知识属于描述性知识,使用结构数组来存放,其中包括材料的名称、显示用的颜色和一些详细描述。材料知识库结构如表8.1所示。

表8.1材料知识库

(2)工艺知识库。

工艺知识库中主要存放最基本工艺语句的规则,每个工艺语句名称对应的动作为对层结构头节点的操作,如淀积工艺要新增头节点。工艺知识库结构如表8.2所示。表8.2工艺知识库

(3)过程知识库。

将模型块生成的过程规则放到过程知识库中。由于每个工艺语句都对应若干条规则,所以对于每条规则在过程知识库中存有父Id(Fid),它对应于工艺知识库中的Id。同时,由于过程知识库中的规则前件比较复杂,难于直接描述,所以也采用了函数的方法(Pre-conl)来解释前件,并且用Pri字段来表示规则的优先级。过程知识库的具体结构如表8.3所示。

表8.3过程知识库

3)推理机的实现

所谓推理,是指依据一定的原则从已有的事实推出结论的过程。推理机就是根据用户提供的事实,依据知识库的知识,经过推理得到最终结果。

推理机是整个系统决策的核心,负责控制并执行问题求解过程。

在虚拟工艺专家系统中,推理机负责使用知识库中的知识和数据库中的实际数据进行推理,确定理想情况下应该生成的三维模型数据。常用的推理机控制策略有:数据驱动的向前推理、目标驱动的向后推理以及两者的混合。虚拟工艺专家系统采用了数据驱动的向前推理方式,其推理过程如图8.2所示。

该系统中从文件中抽取的版图数据、工艺过程数据都是以指针链表的形式存放的。由于系统中三维模型是分层描述的,所以模型由二维指针链表存放,每层的头节点由低到高用指针连接,同时每一层中的多个模型块之间也是由指针相连接的。工艺数据链和当前层模型链是推理机的两个驱动数据。

推理机首先判断工艺数据链是否结束,如果结束,证明已经推理完所有工艺过程对模型的影响,那么推理结束;否则,将工艺数据链中的关键数据与工艺知识库中的规则相匹配,找到匹配的工艺规则,并执行规则的Action部分的函数,对当前层的头节点进行处理(如生长/淀积工艺,需要增加新的层,生成新的头节点,并链接到头节点链中),并处理该层的所有模型块。对该层中的各个模型块分别进行处理也需要一个循环,每个模型块中的数据也需要与过程知识库中相应的过程知识进行匹配,并在匹配的规则中选择优先级最高的规则,并执行它的Action部分的函数,对模块进行处理,其中会用到材料知识库中的一些规则。

图8.2推理机总框图及在系统中所处的位置8.2.2虚拟组装

所谓虚拟组装,是指在虚拟现实环境下,按照一定的设计要求和组装规则,用各种方式将部件连接组合起来,使之成为器件的过程。这里的“虚拟”有两层含义:第一,虚拟组装是区别于实际的MEMS器件装配的,虚拟组装是面向设计的,组装的过程和实际的加工过程没有直接联系;第二,系统采用了虚拟现实技术,以实现三维的可视化设计。部件是用于虚拟组装的基本单元,部件库中的部件是经过实际检验的、可靠的,是具有一定独立功能的可重用单元。部件是以其功能、耦合程度和可重用性来划分的。在设计过程中,因为使用了可重用的部件,设计者不必为具体的部件设计操心,可以把大部分精力放在部件的组装上,提高设计层次,使得设计早期避开繁琐的版图绘制,直接进入功能设计验证阶段,并及时发现问题,缩短设计周期。一个有n个部件的虚拟组装A可以用一个三元组来定义:

A=<C,R,Q>

(8-1)

其中,C={c1,c2,…,cn}是一个由n个部件组成的集合;R={r1,r2,…,rm}是部件虚拟组装关系集合;Q={q1,q2,…,qt}表示部件组装优先关系集合,其中{qσ=ci>cj|ci,cj∈C}。

1.虚拟组装关系和组装配合

由于MEMS是采用微电子工艺加工,以层的方式进行生长或者刻蚀的,大多数同层的部件都是经过一次工艺加工出来的,因此部件在横向上联系紧密,且具有很明显的层次性。考虑到MEMS的这个特点,这里把部件与部件之间的虚拟组装关系分为了横向组装和纵向组装。虚拟组装时,不是任意两个部件都可以进行组装的,必须有一个可组装性判断的问题。在进行可组装性判断时,尤其要注意横向组装关系,看层与层之间是否存在对应关系,如图8.3所示。

图8.3部件间的横向组装关系组装关系并不代表两个部件之间具体的配合类型,两个部件之间可以存在多个配合(比如面面配合、线面垂直配合等),但只能有一个组装关系。这里提出的组装模型是基于组装关系的,不涉及组装配合类型,只有在进行具体组装的时候才使用部件间的配合。

图8.4增强关联图模型

2.增强关联图模型

在机械装配中比较成熟的模型分为两类,一类是图模型,另一类是树模型。相比之下,图是更一般的数据结构,只有图能够全面、准确地表达各节点之间的复杂关系和属性。结合MEMS的层次性特点,提出了虚拟组装的增强关联图模型。增强关联图是一个联通图,图中的节点表示部件,节点之间的连线表示部件之间的组装关系。增强关联图的定义如下:设G(V,E)为一个有n个节点的增强关系图,其中节点V={v1,v2,…,vn}表示组成器件的部件集合,每一个节点代表一个部件;边(或弧)E={e1,e2,…,en}表示部件间的组装关系集合,每一条边代表一个组装关系(横向组装关系或纵向组装关系)。在增强关联图中,横向组装关系用实线来表示,纵向组装关系用虚线表示,如图8.4所示。两个部件之间只能有一个组装关系,因此不存在多重边的情况。根据MEMS的实际情况,增强关联图也不具有孤立节点。

3.增强关联图的表示

增强关联图中包含的纯数学信息可抽象为一个无向联通图,图中的部件及部件与部件之间的连接关系在无向联通图中抽象为图中的节点与边。为了求解组装序列,必须采用合适的方法表示增强关联图中部件之间的组装关系,也就是无向联通图中节点与边的相互关系。计算机中,常用的图的表示方法有邻接矩阵和关联矩阵,这里采用改进的邻接矩阵来表示增强关联图,其定义如下:假设G=<V,E>,其中V={v1,v2,…,vγ}和E={e1,e2,…,eτ},则γ×τ矩阵A(G)=(ai,j),其中:

(8-2)

节点i和节点j之间存在组装关系,ai,j=1和ai,j=0的含义是不同的,前者代表节点i和节点j之间的组装关系属于横向组装关系,而后者则代表纵向组装关系。

4.组装顺序规划

组装是一个过程,因此虚拟组装必须进行顺序规划。在增强关联图的基础上,采用拆卸法进行组装顺序规划,假定:

(1)组装过程可逆,取器件拆卸顺序的逆顺序作为组装顺序;

(2)两部件间的所有组装关系一次建立,且在组装过程中保持不变;

(3)每次组装完成两个部件或宏部件之间的组装,所谓宏部件就是指由多个部件组成的组装单元。器件是由一个关联图来表示的,器件的所有拆卸方法可以转化为求增强关联图所有割集的问题。组装割集的定义为如果增强关联图G中的一个边集S具有这样的性质:

(1)从增强关联图G中删除S的所有边,使关联图G的秩正好减少1;

(2)S的任一真子集都不具备性质(1)。

则称边集S为增强关联图G的割集。由边集S将增强关联图G分割成的子关联图G1与G2为组装割集。求无向图所有割集,在离散数学中是有成熟算法的。通过求关联图的基本割集矩阵,再进行环和运算,可得关联图的所有割集。每个割集对应关联图的一个二分图,即一个与节点;关联图的所有割集对应一个或节点。对分割的每个子图再求割集,则得到子图的与或节点,如此分割直至每个割集分割的子图为单个顶点。对关联图求完割集后,得到组装顺序的与或图。它表示了所有的组装顺序,一个与节点表示一个组装由两个宏部件组成;一个或节点由多个与节点组成,表示同一个组装可通过多种宏部件间的组装来实现。一个组装顺序由一系列的与节点组成。

当增强关联图中节点数目过多的时候,割集数量会很大,导致指数爆炸问题。要解决这个问题,关键在于对增强关联图进行简化,压缩节点数目。鉴于部件横向联系紧密,人们制定了横向组装优先的原则。根据这个原则,对增强关联图中具有横向组装关系的节点进行合并,可以达到减少关联图节点的目的,同时也可将横向优先的原则体现在组装顺序规划中。

人们将增强关联图中代表横向组装关系的实线连接称为强耦合连接关系,而把代表纵向组装关系的虚线连接称为弱耦合连接关系。强耦合连接关系存在如下性质:传递性,也即假如节点a和节点b之间存在强耦合连接,节点b和节点c之间存在强耦合连接,那么节点a和节点c之间也存在强耦合连接。据此,提出增强关联图的简化算法如下:

假设G=(V,E)是增强关联图,具有n个节点,节点集合为V={v1,v2,…,vn},U是V的一个非空子集。任选一个顶点v1,算法从U={v1}(v1∈V)开始,步骤如下:

(1)遍历集合U,找出与U中节点存在强耦合连接关系的节点,放入集合U,重复这一过程,直到集合U中的节点不再增加;

(2)从图G中删除U中的节点,改而用一个新的节点ui代替,原图中和U中节点的连接关系均转为和ui的连接关系,连接关系如有重复,仅择其一保留;

(3)清空集合U,从图中剩余的节点集合V-U中任选一个节点放入集合U中,重复步骤(1),直到集合V中所有的节点都曾被放入过集合U为止。

下面试举一例,说明增强关联图的简化算法,如图8.5所示。图8.5(a)中共有6个节点,首先将节点1、2合并成为节点A,然后再将节点3、4、5合并成节点B,最终的化简结果如图8.5(c)所示。节点A和B均代表宏部件,分别由部件1、2和部件3、4、5组成。经过简化之后的增强关联图中不再有强耦合连接,我们把简化过后的增强关联图叫做简化关联图。

图8.5增强关联图简化算法运算示意图经过简化之后,再采用图论的求割集的方法,就可以得到组装序列的与或图表示。在这个与或图表示的多个组装序列中,再根据以下组装优先原则,人工参与择优选择:

(1)横向组装优先于纵向组装;

(2)结构部件优先于运动部件;

(3)邻接关系多的部件优先于邻接关系少的部件。8.2.3虚拟运行

一般情况下,虚拟运行需要对MEMS器件建立数学模型。在器件中可能有一个或多个运动部件,而它们相应的运动规律是一个数学模型。因此,我们能看到的只是一系列的数学公式,对它实际的物理运动状况(特别是有多个运动部件的情形)很难有一个清晰的认识,难以实现对器件运动性能的考察。

目前,国内外对MEMS器件的仿真都集中在MEMS器件的数字仿真上,缺乏直观性。用三维可视化的手段加上运动中变化的特征参数可以实现对器件运动性能的考察,可以发现一些采用其他手段难以发现的现象(如运行过程中的碰撞检测等);同时,可以比较容易地改变不同的部件(如不同形状和大小的膜、不同的加热方式、不同的电压等),而不需实际加工即可考察其性能。利用设计者的经验和计算机的精确三维仿真从而提高MEMS设计效率,这是虚拟运行的必要性。虚拟运行是建立在器件中各运动部件的动态运动规律上,利用虚拟现实技术,完成所设计器件在虚拟环境中的运动演示。我们设计的虚拟运行实现框架如图8.6所示。

图8.6虚拟运行实现框架虚拟运行实现框架主要由三部分组成:数学库、动态运动规律和三维可视化。这里将结合静电微马达和双金属驱动微流量泵,分析虚拟运行中数学库的组织、动态运动规律的产生过程以及三维可视化的实时问题,最后介绍利用该框架实现的一个原型系统。

图8.7MEMS数学库组成

1.MEMS数学库

一般情况下,虚拟运行需要对MEMS器件建立数学模型。许多数学模型具有相同的公式结构特性,区别仅在于公式的参数不一样,而这些公式却有相同的解法,例如微泵的入/出水阀片和微加速度计的悬臂梁。人们把这种具有解法的公式称为通用公式;MEMS器件的数学模型属于通用公式中的一类,同时具有自己的公式参数和参数的物理意义。

随着实践的积累,有许多设计成功的MEMS数学模型、参数等都可以存放到数据库中。如果把通用公式、公式的解法、已知MEMS器件数学模型相对于通用公式的参数及其物理意义结合在一起,则组成了MEMS数学库。构建MEMS数学库的目的在于提供一种方便而且清楚地对MEMS数学模型、结构参数的描述方式。设计的MEMS数学库如图8.7所示。

在虚拟运行中,MEMS器件需要五个基本元素(公式类、解法、参数类、物理量、输出量)以描述其数学模型、解法、结构参数等。例如,在空气中微马达的运动规律为

(8-3)

可以用MEMS数学库描述为

<A+B+CX+D=E

Nystrom

{A=J,

B=B,

C=Csp

+CbRbAbV2·sgn(),

D=0,

E=AV2γ(θ),

J=2.2×10-20

B=6.1×10-16

Csp

=8.7×10-17

Cb=9.9×10-24

Rb=65

……},X

>

MEMS可由多个器件组成,例如微泵含有双金属膜片、入/出水阀片,而每一个器件都需要一个数学库的描述。数学库的引入有助于设计者获取MEMS器件的动态运行规律,对位于通用公式、解法、公式参数和参数物理意义四个不同层次器件性能的实时调整。数学库也为综合运动规律的产生提供了基础,是从MEMS设计者角度中的概念模型到计算机可识别模型的转换。

2.动态运动规律

MEMS器件可由多个运动部件组成,每个运动部件的物理参数、运动规律和环境参数都有可能产生关联、耦合、传递、干扰等。如何综合分析所有运动部件的物理参数和运动规律,并结合环境参数产生一个综合运动规律,是虚拟运行的关键点。虚拟运行要求综合运动规律具有可观测性,即如果把时间t作为输入,所有器件的状态值都为关于t的解析式或t时刻在某一区间内的可逼近值。在各运动部件运动规律已知的情况下,动态运动规律的产生过程如下:

(1)在上述数学库的基础上,利用计算机自动问题求解系统与用户交互完成各部件运动规律的描述。

(2)统一各运动方程的时间起始点(t=0)。

(3)设置参数入口点,如每个器件运动方程的初始条件和边界条件。由于在一个器件中,各运动部件的运动方程会产生关联、耦合、传递、干扰等,即一个部件运动的输出就可能是另一个部件的输入,或者某一个部件的输出会以某种方式影响到其他部件运动的输出等,这些都是在建立器件的综合运动模型时就必须要考虑到的。

(4)综合运动规律和参数入口点,生成可高效运行的代码。

(5)在虚拟实时运行中,调用生成代码,结合时间参数、环境参数,在参数入口点返回当前时刻每个器件的状态值、输出值。

综合运动规律后,得到了所有器件的状态值,便为下一步的三维可视化提供了数值依据。

3.三维可视化及实时技术

三维可视化是利用虚拟现实技术来演示MEMS器件的动态运行的,需要建立MEMS器件的动态模型、运行规律递推求解和图形对象状态动态刷新之间方便的连接机制。虚拟运行,顾名思义就是运行的器件不是真正制作出来的物理器件,而只是通过在计算机上通过虚拟组装得到的用计算机三维图形来表示的器件。这种器件必须满足以下条件:与设计的器件是同构的,即有完全相同的结构;所有的运动部件都能在虚拟环境中进行可显示的运动;运动部件的运动完全按照它真实的物理运动规律进行。

MEMS器件分为具有运动特性的运动部件和不具有运动特性的结构部件,而运动部件又分为结构变形、位置改变、方向改变等几类。因此,三维可视化的工作就是把所有这些不同特性的部件综合起来,完成它们在虚拟环境中的表示。例如:微马达在虚拟运行中,定子是不具有运动特性的结构部件,转子是随着时间t旋转到状态值X角度的运动部件,因此在用WTK编程的时候,可以用函数WTmovnode-axisrotation()来实现;微泵中的阀片是结构变形部件,变形的参数量为其状态值Y,编程时需要把它拆为多个Z坐标位置连续的长方体。

三维可视化完成了从器件运行状态的二进制数值到虚拟三维实体的转变。作为人机接口的一部分,三维可视化必须考虑虚拟运行实时问题。虚拟运行的循环如下:

(1)读入传感器数值;

(2)执行用户指令并根据这些数据动态地修改物体的状态数据;

(3)交付图形适配器绘制出来。人在最后一步才能看到本次循环中虚拟物体的改变。在一般非图形工作站中,编程人员要处理的核心在中间部分。如果虚拟物体的状态数据能及时地反映真实物体的情况,那么绘制出来的虚拟物体就具有实时性。处理实时问题有两种方案,即按等时间步长推进和按事件发生时间推进。等时间步长推进的方法主要用来计算系统的下一状态,适应早期的分时系统;按事件发生时间推进的方法,用当前时刻作为计算系统状态的参数,适应于目前的多任务操作系统。前者精度较高,要求系统有精确的分时,比如说硬件时间中断,一旦进入模拟运行的三个步骤,就不可以有中断,必须保证在指定时间内完成任务,因此它对资源一直独占;后者精确度较低,只需要有软时钟中断就可以了,因此比较适用于目前的微机。

对于一个实时系统来说,最敏感的是时间问题。假设上述循环中使用时间分别为ti-input,ti-computer和ti-others。每循环一次,系统用时ΔTi,即ti-input+ti-computer+ti-others=ΔTi。在ΔTi不相等的情况下(也就是说帧频不等的情况下),不能用等时间步长推进的方法来做运算,而应该取当前时刻来计算,即采用按事件发生时间推进的方法。在编程的时候,我们可以很容易在上述循环(2)中获得当前时间,如图8.8所示。加入传感器以后的运行情况如图8.9所示。

图8.8实时运行时间轴

图8.9加入传感器后的运行时间轴人眼的反应时间大概是1/32s,只要在程序中读传感器的时刻与人眼看到虚拟物体的时刻之差小于1/32s,那么人还是感觉不出这点延时的。也就是说,当帧频大于等于32Hz时,程序的延时小于1/32s。

如果物体按照一定的时间比例α虚拟运行时,虚拟运行时刻等于实际运行时刻的1/α。图8.10所示为当α<1时的情况。

图8.10时间放大后的运行时间轴

虚拟装配是虚拟制造的重要组成部分,利用虚拟装配,可以验证装配设计和操作的正确与否,以便及早发现装配中的问题,对模型进行修改,并通过可视化技术显示装配过程。虚拟装配系统允许设计人员考虑可行的装配序列,自动生成装配规划,它包括数值计算、装配工艺规划、工作面布局、装配操作模拟等。8.3虚拟装配概述现代产品的制造正在向着自动化、数字化的方向发展,虚拟装配是产品数字化定义中的一个重要环节。装配技术的发展过程是由手工装配到圆台式自动装配、自动装配线装配、柔性自动装配,最后到虚拟装配。装配自动化之所以成为必然的趋势,原因是不仅通过它可以降低成本,提高质量与可靠性,而且对于有些包含微小零件的产品,由于手工装配无法胜任,只能采用自动装配;另外一个原因是,那些只允许在洁净空间内进行装配的精密产品所占的比例越来越高。虚拟装配技术是虚拟制造技术的一个关键部分,但相对于虚拟制造技术的其他部分而言,它又是最薄弱的一个环节。虚拟装配技术发展滞后会使得虚拟制造技术的应用性大大减弱,因此虚拟装配技术的发展也就成为目前虚拟制造技术领域内研究的主要对象,这一问题的解决将使虚拟制造技术形成一个完善的理论体系,使生产真正在高效、高质量、短时间、低成本的环境下完成,同时又具备了良好的服务。

虚拟装配从模型重新定位、分析方面来讲,是一种零件模型按约束关系进行重新定位的过程,是有效地分析产品设计合理性的一种手段;从产品装配过程来讲,是根据产品设计的形状特性、精度特性,真实地模拟产品三维装配过程,并允许用户以交互方式控制产品的三维真实模拟装配过程,可用来检验产品的可装配性。虚拟装配虽然被定义为一种技术,但实际上它是许多技术的综合应用,例如可视化技术、仿真技术、决策技术、装配和制造过程的研究等。

虚拟装配技术要想以最快的速度组装产品,首先要考虑到影响装配的各个因素,如:装配工具,装配人员,各种装配物体,工作环境,装配过程中各部件的定位、定向,高速检查部件之间的干涉等一系列相关问题。其次,应当把虚拟装配技术与虚拟装配的实际条件联系起来,虚拟装配支持的环境所产生的文件应尽量满足通用性、易操作性以及易维护性。这样,对于全球的制造业而言,就更容易形成一个“标准”,更容易实现交流。最后,还应该进一步发展虚拟装配及虚拟现实的硬件与软件,更好地模拟真实生产环境,使虚拟装配产生的文件更具真实性和实用性。8.3.1虚拟装配的定义

虚拟装配(VirtualAssembly,VA)是最近几年才提出的一个全新的概念。狭义的虚拟装配就是在虚拟环境中快速地把单个零部件或部件组装形成产品的方法。广义的虚拟装配是指在虚拟环境中,如何使设计人员方便地进行结构设计、修改,让设计人员专注于产品功能的实现。这就是现在所说的面向装配的设计(DesignForAssembly,DFA)。虚拟装配包含着以狭义的虚拟装配为主要研究对象的自底向上的设计过程和以广义的虚拟装配为主要研究对象的自顶向下的设计过程。虚拟装配是虚拟制造的关键组成部分,它利用计算机工具,通过分析、预测产品模型,对产品进行数据描述和可视化,做出与装配有关的工程决策,而不需要实物产品模型作支持。大型机械产品中有成千上万的零件要进行装配,其配合设计和可装配性设计不易掌握,以往要到产品最后装配时才能发现错误,而导致零件的报废和产品上市时间的延迟,造成巨大经济损失或信誉损失。

现在将虚拟现实技术应用到装配过程中,采用虚拟装配技术在设计阶段就可以验证零部件之间的配合和可装配性,确保设计的正确性,避免损失。同时,在产品设计阶段还可以解决运动构件在运动过程中的运动协调关系、运动范围设计、可能的运动干涉检查等。虚拟装配强调在实际投入原材料于产品实现过程之前,完成产品设计与装配过程的全面仿真、分析,以保证产品的可装配性。8.3.2虚拟装配技术的主要功能

虚拟装配系统是现实世界装配系统向多维信息化空间的一种映射,主要包括模型构建、空间跟踪、声音定位、视觉跟踪和视点感应等关键技术,这些技术使得具有真实感虚拟装配世界的生成、虚拟装配环境对用户操作的检测和操作数据的获取成为可能。建立虚拟装配系统的目的是:在计算机上生成一个虚拟装配环境,该环境与外部传感器相连,能够把用户指令和各种信息及时输入到系统中,也能把虚拟环境中的各种效果(视觉效果、听觉效果、受力效果、触觉效果)传输给用户,实现用户和虚拟环境感觉的交互,给予用户身临其境的感觉。虚拟环境中最核心的部位是虚拟装配环境,在该环境中可完成虚拟装配建模、虚拟装配序列规划、路径规划、装配过程仿真和装配结果分析等。虚拟装配的主要功能有:

(1)实物产品的数字化再现,即生成产品数字模型。产品数字模型描述的信息包括:产品结构明细表(BOM)、产品外形几何与拓扑信息、产品形状特征信息、形位公差模型、功能模型、运动和动力学仿真。

(2)碰撞检测,即对组成产品各个级别的装配体的零部件进行集合上的干涉检查,这里的检查包含有零部件在装配体中的静态空间位置的相交性,也包含零部件在构成产品的装配过程中在空间上的集合干涉。

(3)生成装配序列和路径,即在产品建模和排除“碰撞”的过程中,生成优化的装配序列和路径,减少实际生产中的装配时间。

总之,虚拟装配既可以看做是虚拟设计的组成部分,又可看做是装配规划的技术保证与实现环境。虚拟装配在机械设计中具有广泛的应用前景,对它的研究已经引起了世界各国的广泛关注。利用虚拟装配技术可以进行虚拟零部件设计和虚拟装配设计,并进行相应的装配检验,对产品的零部件及结构设计进行分析、评价,并根据检验结果修改设计,从而在计算机虚拟环境中完成产品的开发设计过程,大大缩短新产品的开发周期,降低开发设计成本。

一个有效的虚拟环境由三部分构成:软件、硬件和界面。在软件的支持下,才能生成各种不同要求的虚拟环境。只有在硬件支撑下,用户才能实时地和虚拟环境进行交互。下面对虚拟装配环境中所能采用的软硬件配置进行介绍,如图8.11所示。8.4虚拟装配的软硬件配置

图8.11虚拟装配环境软硬件配置8.4.1软件配置

生成一个虚拟装配环境,需要有四类软件:

1.语言类软件

语言类软件,如C语言、C++、OpenGL、C++Builder、VRML等,都可以作为开发应用程序的语言工具。

2.3D建模软件

3D建模软件,包括AutoCAD、Pro/ENGINEER、Ideas、Catia、SolidWorks等。现有的3D建模软件,一般是基于ACIS或ParaSolid的实体建模功能建立几何模型,或是生成经裁剪和非经裁剪的NURBSIGES曲面。应用3D建模软件生成的模型具有以下特点:

(1)准确性。三维模型都是基于现有模型数据,按照确定比例准确制作出来的。

(2)真形性。正因为其准确性,故而模型与真实模型具有几何拓扑结构相似性,也就产生出现视觉效果的外形真形性。

(3)工程属性。它是CAD模型的固有属性。CAD模型的几何造型同于真实模型,本身也具有物理属性,如质量、材质、转动惯量、一定的刚性和柔性。

(4)数据的一致性。通常的CAD建模软件提供了标准的接口,可以令该软件和其他相关软件无缝连接,有效实现CAD、CAM、CAE的集成和统一。

3.图像编辑软件

图像编辑软件,包括Photoshop、PaintShopPro、PHOTOIMPACTD等。从本质上而言,图像编辑软件共分两类:标量类和矢量类。应用图像编辑软件所编辑的二维图像,可以形成虚拟环境中景物的表面纹理、图片等,使虚拟环境更加形象生动,同时利用图像和图形相结合的技术,也可以减小系统的开销,增加系统实时渲染的速度。

4.虚拟环境商品化软件

虚拟环境商品化软件,可以帮助用户创造虚拟环境的通用和商业化软件,并帮助用户节约开发时间,减少建模成本。常用的虚拟环境商品化软件包括WorldToolkit(WTKTM)、WorldUP、WorldToWorld、MockUP、ProductView、SafeWorkVRT等。这类软件通常有三个功能:构造虚拟视境、创建树状结构的虚拟世界和模拟虚拟世界的物理行为。8.4.2硬件配置

在虚拟装配系统中,为了使人与计算机能够融洽地交互到计算机所构造的虚拟环境中去,必须配备相应的硬件设备。硬件配置的基础是一台主机,在主机上配置图形加速卡和各种虚拟现实硬设备。根据用户的需求,可选择经济、合理的虚拟现实硬件设备,节约成本,增加效益。因为虚拟装配环境中同时有很多零部件参与,并考虑虚拟装配的特殊性,根据硬件设备实现功能的不同,可选用以下几类硬件配置。

1.图像生成和显示系统

在虚拟环境中,图像生成和显示技术显得特别重要。由计算机生成虚拟视景的工作主要包括下面三个步骤:

(1)计算生成真实感的图形,其图形具有颜色、光照、立体感和运动感;

(2)计算生成或直接从图像库中取得已经压缩且有真实感的背景图像;

(3)经过扫描变换将图形和背景图像统一安排在同一坐标系中。

2.与视觉相关的输出设备

图形加速卡是带有图像编辑功能和加速功能的显示卡,在CPU和显示器之间担负着图形的处理工作,其基本作用就是控制图形的输出。通过使用图形加速卡,能产生更高的传输速度,能通过在原材质中对不同像素间利用差值算法的柔化处理来平滑图像,从而避免出现“马赛克”现象,能减轻或消除不同组合等级纹理过渡时出现的组合交叠现象,能产生各向异性的效果。在视觉输出效果上,只有使用图形加速卡,才能保证图形的快速刷新、快速渲染和高清晰、高保真三维效果,并保证视觉效果的连贯性和真实性。立体眼镜是为了观看虚拟环境中逼真的三维图像而采用的一种轻便且价廉的图形输出装置,它通过红外控制发射器给用户左右眼发送有纵深感觉的透视图图像,从而消除视觉误差,产生逼真的图像效果。

头盔式显示器HMD(HeadMountedDisplay)结合人类对视觉感知的生理特点,利用各种电子技术生成一个具有沉浸感的虚拟现实环境。其显示屏幕被设置在一个特制头盔的前部,把计算机生成的图像分别送到头盔显示器的两个屏幕,以产生一幅立体图像,且当人的头或身体转动时,计算机图像生成系统送出相应的图像也跟着发生变化。

3.与听觉相关的输出设备

听觉环境系统由语音与音响合成设备、识别设备和声源定位设备所构成。通过听觉通道提供的辅助信息可以加强用户对环境的感知。虚拟环境都配有三维声卡技术,可实现媒体的立体声环境效果(包括带有波段综合的立体声技术),使用户沉浸于高质量的、现实的三维声音世界中。为了能产生逼真的环境音效,人们已开始尝试使用4声道系统,采用空间声音合成方法,通过由不同方向到达左、右耳道的声音测试得到响应。在虚拟装配时,就可以语音提示装配效果,反馈装配时零部件的撞击声。

4.与力觉相关的输入、输出设备

与力觉相关的虚拟现实设备的种类很多,有头盔、三维鼠标等等。用户应根据对交互性种类的需要,选择经济合理的虚拟设备。例如,用户需要研究力反馈情况,决定是否选用带有力反馈性能的传感器。

5.与触觉相关的输入、输出设备

在虚拟环境系统中,产生“沉浸”效果的关键因素是用户能用手或身体的其他能动部分去操作虚拟物体,并在操作同时感觉到虚拟物体的反作用力。具有力学反馈性能的数据手套是最常用的触觉系统。它使用两只手套,在第一只手套的下部安装20个压敏元件,当戴上手套时,用户感觉到压敏元件随着手的用力而产生的阻力,压敏元件输出经模/数转换后,传送给主机处理。第二只手套有20个空气室,由20个空气泵来控制膨胀和收缩,从而对用户施加力感。

6.跟踪系统

跟踪系统的任务是要实时检测出虚拟现实系统中人的头、身体和手的位置与指向,以便把这些数据反馈给控制系统,生成随视线变化的图像。跟踪系统主要有以下几种:

(1)电磁跟踪系统:由励磁源、磁接收器和计算模块组成。励磁源由3个磁场方向相互垂直的交流电流产生的双磁极源构成。磁接收器由3套分别测试3个励磁源的方向相互垂直的线圈组成,经3次测量,可以测得9个数据,由此可确定被测目标的6个参数,即空间坐标X、Y、Z和旋转角α、β、γ。

(2)声学跟踪系统:利用不同声源的声音到达某一特定地点的时间差、相位差及声压差来进行定位与跟踪。与电磁跟踪法相似,超声波式传感器也由发射器、接收器和电子部件组成。实现声音的位置跟踪,可以采用声波飞行时间测量法和相位相干测量法。

(3)光学跟踪系统:使用从普通的视频摄像机到X-Y平面光敏二极管的阵列,利用周围光或者由位置器控制的光源发出的光在图像投影平面不同时刻或不同位置上的投影,计算得到被跟踪对象的方位。光学跟踪系统可以被描述为固定的传感器或者图像处理器。8.4.3虚拟装配思路的产生和发展

近年来,随着制造业的应用与发展,以及企业需求的变化,制造业遇到了一些难以解决的问题,主要表现在:

(1)在装配顺序规划领域,对于产品比较复杂、零部件数目比较多的情况,利用计算机自动推理装配顺序会产生组合爆炸问题和推理算法效率较低的问题,同时还需要用户能够回答计算机产生的比较晦涩的有关装配策略(如优先关系、操作方式等)问题,使得实际应用都不是很理想;

(2)在装配分析与评价方面,尽管已提出了多种方法(大都针对某一特定问题从局部的角度来评价),但是还没有一个完整的综合评价体系,而且,分析的因素由于计算机自身对知识表达的局限性,使得分析结果往往与实际情况有较大的偏差;

(3)装配是个经验性很强的过程,尽管目前的制造业技术通过对大量装配过程的分析也总结了很多经验数据以辅助装配设计,但是计算机仍然无法代替有经验的装配人员的模糊智能分析与决策,现有制造方法也不能为装配专家作用的发挥提供良好的平台;

(4)装配是人参与活动最多的一个环节,装配效率的高低、装配质量的好坏、装配成本的高低等都与人有着密切的联系。人的活动具有很大的随意性和创造性,制造业对装配过程中的人因分析还存在很大的不足,这也是实际应用效果不理想的另一个重要原因。

虚拟现实技术自20世纪问世以来在工程、医学、教育、军事等领域都有杰出表现,虚拟制造就是其在制造领域的成功应用。目前,在虚拟制造领域,由于装配环节具有很强的智能性和高度的复杂性,致使其相对薄弱,已成为制约制造技术提高的瓶颈。通过计算机对零部件装配过程的仿真模拟,虚拟装配可以检查产品零部件之间的装配关系,从而对其进行可装配性评价,使整个产品全局最优,以达到提高产品响应市场变化能力的目的。另外,由于装配过程本身的复杂性使得各种分析模型很难从数学模型自动衍生,模型间数据的一致性难以保证,这也就造成了目前虚拟装配缺乏知识性、智能性的局面。

为了提高系统性能,Youn和Wohn等人曾提出了一种用层级模型表达来加速干涉检验速度的算法,该算法的主要思想是将可能发生干涉和根本不可能发生干涉的部件分开处理。这里提出了一种基于B-rep建模方法的干涉检验算法,这种算法实际上是在干涉检验之前充分利用加强的层级模型确定需要进行处理的部件。事实上,可通过建立一种基于装配模型的干涉检验层次模型来提高检验效率,通过对装配序列树的遍历,对零件间发生干涉的可能性进行量化分级,将结果存入一个下三角矩阵,根据干涉级别的大小选择检验的精度。实践证明,该方法适用于实用可靠的虚拟环境,有利于在虚拟环境下进行面向制造和装配的设计。

虚拟产品开发(VPD)是集计算机图形学、智能技术、并行工程、网络技术、虚拟现实技术和多媒体技术为一体,由多学科组成的综合系统技术。它以计算机仿真和产品生命周期建模为基础,在虚拟的条件下,对产品进行设计、制造、分析和测试。它的显著特点之一是利用存储在计算机内部的数字化模型(虚拟产品)来代替实物模型进行仿真、分析,从而提高产品在时间、质量、服务和环境等多目标中的决策水平,达到全局优化和一次性开发的目的。虚拟产品开发将从根本上改变设计、试制、修改设计和规模生产、维护的传统模式。在产品真正制造和销售之前,首先在虚拟开发环境中生成数字化产品原型(或软产品原型SoftPro-to-type)代替传统的硬样件(HardPro-to-type)进行试验,对其性能、可制造性、可销售性、可维护性、成本和外观等进行预测和评价,从而缩短产品开发周期,降低开发成本,提高企业快速适应市场变化的能力。8.4.4虚拟装配的关键技术

虚拟装配的关键技术主要可归纳为下列五个方面:

1)虚拟装配环境的构建

虚拟装配环境的构建,即研究虚拟环境的描述与管理,装配动作与感觉信息之间的相互关系,感觉信息的综合方法以及输入、输出的驱动规则等。

2)虚拟装配过程中由约束关系形成的作用力分析

虚拟装配过程中由约束关系形成的作用力分析,即在虚拟环境中对装配的零件赋予机械、物理特性,并由此形成装配过程的作用力,使微观和瞬态的分析数据在虚拟空间中展现为可视的宏观和慢动作过程。

3)装配规划的生成技术

装配规划的生成技术,即寻求一条最优的零件装配顺序序列,由于创建自动生成装配规划需要高度的智能化,难度较高,因此在虚拟的环境中应重点解决:如何更形象地表现装配规划过程中信息的动态流动及其可视化;如何在生成装配规划过程中通过人机交互加入启发性知识和融入人的智能。

4)虚拟环境中人的知识和技巧的映射

为了使人的智能融入装配规划的生成,需要研究人手模型在虚拟环境中的映射,正确检测和处理人的装配动作的信号,使其与虚拟环境下的装配作业进行实时交互。

5)虚拟装配系统的建立

虚拟装配系统由装配动作输入、虚拟装配环境、虚拟装配过程和判断装配正确性的感觉信息输出等四个子系统组成,研究这四个子系统信息的集成以完成虚拟装配全过程的实施。

虚拟装配系统的结构框图如图8.12所示。它的四个子系统的主要功能综述如下:

(1)装配动作输入子系统对输入的操作者命令进行位姿检测及因果关系处理,用以控制虚拟装配活动中各种事件的发生,并可由人进行智能化的控制。

(2)虚拟装配环境子系统提供进行虚拟装配的软硬件支持工具,建立可以进入模拟真实装配过程的场地和设备等,以及可调用所需的配合零件及相应的装配器械。

(3)虚拟装配过程子系统包括装配过程作用力和约束关系的分析、装配规划的生成和装配操作的动态显示。

(4)判断装配正确性的感觉信息输出子系统通过分析执行装配操作的输入和输出的因果关系,装配功能评估和干涉检查,形成装配体的约束关系树,以利于今后进行参数调整或结构修改。

图8.12虚拟装配系统的结构框图

8.5.1虚拟装配建模技术

产品装配模型是一个支持产品从概念设计到零件设计,并能完整、准确地传递不同装配体设计参数、装配层次和装配信息的产品模型。它是产品设计过程中数据管理的核心,是产品开发和支持设计灵活变动的强有力工具。8.5虚拟装配关键技术的实现建立产品装配模型的目的在于建立完整的产品装配信息表达,一方面使系统对产品设计能进行全面支持;另一方面它可以为CAD系统中的装配自动化和装配工艺规划提供信息源,并对设计进行分析和评价。目前主要的、被广泛承认和应用的产品装配模型主要有以下几种。

图8.13Bourjault装配模型

1.Bourjault装配模型

20世纪80年代中期,Bourjault提出二维拓扑结构表达的装配模型。图8.13所示为某装配体的Bourjault装配模型。其表达式如下:

G=(P,L)

(8-4)

G(P,L)为一联通图,P表示零件集合,L为零件间的联系集合,联系的含义通常指的是零件之间的物理接触关系,即装配关系。Bourjault将零件之间的物理接触关系定义为联系,装配体中联系L满足一定的关系。在装配体中,某两个零件之间的连接关系可能不只一种,但在Bourjault提出的装配关联图模型中都表示成为一条无向直线。因此Bourjault提出的关联图是一种最简单的无向图。采用关联图表达产品装配关系的优点是方法简单,缺点是零件之间的联系并不对应具体的装配操作,利用联系图模型难于实现自动装配序列规划。

2.HomendeMello和Sanderson装配模型

HomendeMello和Sanderson在Bourjault装配模型基础上,建立了图8.14所示的装配模型。该装配模型表达方法为五维拓扑结构。其表达式如下:

G=(P,C,A,R,F)

(8-5)

图8.14HomendeMello和Sanderson装配模型其中,P表示装配体中的零件实体;C表示装配体中两零件之间的连接关系实体;A表示装配体中各连接关系对应的装配操作实体;R表示实体A、P、C之间的关系;F表示装配体中各种实体的功能属性。对应图8.14可以看出:各节点对应各种功能实体,其中矩形节点对应零件实体P,圆节点对应连接实体C,三角形节点对应装配操作实体A,实体之间的连线代表实体之间的各种关系实体R。

可见,HomendeMello和Sanderson提出的装配模型表达方法是在Bourjault模型方法基础上的一种发展和扩充。这种装配模型的优点是模型比较直观,容易由计算机自动生成,在装配工艺规划中其信息便于管理和利用;缺点是对信息的描述是在同一层次下进行的,不符合产品的实际结构,信息的层次性表达不够清晰,而且产品零件数量不能太大,否则将给以后的装配规划带来很大的困难。8.5.2装配干涉及碰撞检测

零件在虚拟装配的过程中可能发生相互碰撞、接触等现象。检测出零件间的这种相互作用,并对其做出正确的响应,是实现虚拟装配操作的基础。在虚拟装配顺序规划环境中,碰撞检测的主要作用就是确保虚拟装配过程中零部件能够无干涉地装配到一起,包括在装配路径上动态无干涉以及装配到位后的静态无干涉。现有的装配干涉检测算法主要分为两类:

第一类是静态方法,它是在一连串离散的时间点上来分析零件是否与其他零部件发生干涉现象的。这种方法只检测了零件在离散点上的干涉情况,当时间步长过大时,某一个零件有可能完全“穿过”了另一个零件,因此这种方法有可能遗漏掉某些干涉,这就是干涉碰撞检测的遗漏问题。要解决这个问题就必须控制零件运动时的时间步长。

第二类是动态方法,它通过检测零件从开始状态到终止状态之间所产生的四维时空(三维空间和一维时间)分析其与其他零部件发生干涉的情况。这种算法的精度虽然比静态方法高,但其计算的时间复杂度很高,很难保证仿真时的实时性要求。干涉检测的实质就是碰撞检测的方法及效率。碰撞检测是虚拟现实的核心问题之一,也是虚拟装配技术中解决装配规划的关键技术之一。在计算机辅助设计与制造(CAD/CAM)、计算几何、机器人和自动化、工程分析、计算机图形学等领域都遇到了有关碰撞检测的问题,甚至成为其中至关重要的问题。例如对于机器人的控制和规划,碰撞检测可以帮助机器人避开周围环境中的障碍物,这是实现机器人智能化的必要步骤。在不同的领域中已出现了很多碰撞检测算法,有的算法已经应用到实际中。

1.碰撞检测与碰撞响应

所谓碰撞干涉,就是在某一时刻,空间中的几个物体,存在一对或多对物体所占据的空间发生过盈或者出现临界点重叠。检测虚拟环境中虚拟物体是否发生了相互碰撞干涉的过程称为碰撞检测。

虚拟物体在运动过程中,可能发生相互碰撞、接触或其他形式的相互作用。如果出现这种情况,物体将不能按照原来的运动状态继续运动,否则虚拟环境中就会出现虚拟物体之间相互穿透、彼此重叠等不真实的现象。检测到碰撞后,要对其做出正确的响应,修改虚拟物体的运动状态,例如,当检测到碰撞后,求出碰撞点的法线,再根据镜面反射确定出反弹后的运动方向,这就是碰撞响应的问题。

总体上讲,进行碰撞检测的目的主要有四个方面:

(1)检测模型之间是否发生了碰撞;

(2)报告出发生的或即将发生的碰撞的部位;

(3)动态查询模型之间的距离;

(4)确定碰撞响应。在虚拟装配中,我们遇到和需要解决的主要问题是碰撞检测,对碰撞响应问题的处理则比较简单。因为当装配的零部件之间发生碰撞的时候,我们通常需要将发生碰撞的信息提供给用户,比如利用多媒体技术,在装配体发生碰撞的时候,发出碰撞的声音,或者给出碰撞物体发生碰撞的接触点位置信息等。我们进行装配规划的根本目的,就是规划可行的装配顺序和装配路径,完成装配的可行性分析,避免碰撞干涉的发生。

应用碰撞检测技术,我们应该能够检测出某一时刻虚拟环境中任意两个物体间是否发生了碰撞,这称为碰撞检测的完全性。同时,对于物体间的每一次碰撞,应该只能检测到一次,这称为碰撞检测的唯一性。在大部分的碰撞检测应用中,都要求实时碰撞检测,这称为碰撞检测的实时性。例如虚拟现实要求系统能够实现与用户的交互,这不仅要求实现操作对象变化的实时显示,而且要求实时进行碰撞检测,不能在碰撞已经发生了很长时间之后才做出响应,也不能发生碰撞漏检的情况。

更进一步的要求则是表现出碰撞的相关信息。在有N个实体的虚拟环境中,要检测每个实体是否与其他N-1个实体发生碰撞,其时间复杂度为N×(N-1)。比如对于触觉反馈系统,每秒钟至少需要进行1000次的检测。这对于系统来说是很高的要求,一方面,算法的速度在满足完全性和唯一性的前提下,要不低于系统实时性的要求;另一方面,硬件刷新显示的速度也要足够快。由于碰撞检测算法的复杂度随着实体模型复杂度的增加而成几何级数增加,因此当虚拟环境中的实体模型较多的时候,就会出现难以求解的情况。目前还没有解决碰撞检测的完全性、唯一性和实时性问题的高效算法。

所以,现在我们的研究主要集中在如何对算法进行优化,降低算法的复杂度,或者根据碰撞检测的原理另辟蹊径,开发新的高效算法以减少计算量,从而提高计算效率,达到满足实时检测的完全性和唯一性等要求。

2.碰撞检测的基本原理

碰撞检测技术的基本原理是:对于两个由完全封闭的多面体构成的实体模型,当两个实体模型发生相互碰撞时,其中一个模型至少会有一个面与另一个模型的至少一个面发生相交。基于这种思想,在物体移动时加入碰撞检测功能是实现碰撞检测的基本方法。以下是带碰撞检测功能的实体模型的移动处理循环:

while系统正在运行

for对虚拟场景中的每一个实体模型

refresh(实体模型)

refresh(实体模型):

ifcolliding(实体模型)

实体模型.currentPosition=实体模型.oldPosition;(orcollidingPoint)

showcollidinginformation

else

实体模型.oldTranslation=实体模型.currentTranslation

实体模型.oldRotaion=实体模型.currentRotation

基于实体模型的移动速度和其他因素修改实体模型

currentPosition

colliding(当前实体模型)

for(每一个虚拟场景中的实体模型)

for(每一个多边形)

for(当前实体模型每一个多边形)

ifpolygons(多边形1,多边形2)returnture

elsereturnfalse

其中,polygons(多边形1,多边形2)是检测两个凸多边形是否相交的模块。当检测到物体发生碰撞时,可以通过将它们移回起始位置的办法来处理碰撞。因为物体在移动前的位置是“安全”的位置,那么物体在运动后发生了碰撞,它运动前的位置仍可能是“安全”的位置。所以,可以在发生碰撞时,将发生碰撞的物体移回原来的位置。不过这种处理方法还存在着潜在的危险,当将一个物体移回其前一时刻位置时,必须确信该位置的“安全”性。若此时已有其他物体运动到此位置,则必须将它们也移回其前一时刻位置。最差的情况可能是必须依次将整个场景中的每一个物体都逆序移回各自的起始位置。另一种处理方式是让发生碰撞的物体立即停止移动,停留在发生碰撞接触的位置等待后续的处理,这就要求系统检测准确并且响应及时。我们在讲述机器人的虚拟装配过程中,就是应用的这种处理方法。

以上的碰撞检测算法是用来说明碰撞原理的,这是最基本、最简单的碰撞检测方法,但是这种碰撞检测算法的速度比较慢。若有两个实体模型,每一个都有100个多边形,当它们发生碰撞时,上述算法中的polygons(多边形1,多边形2)模块将被执行10000(100×100)次。两个多边形相交的检测是需耗费时间的,现在的计算机可在瞬间轻松地完成10000次计算,但若对场景中的每一对可能发生碰撞的物体都进行10000次检测,那么要在1s内对整个场景刷新多次,其计算量就十分巨大了,这是该算法速度慢的原因。所以,我们需要对算法进行优化或者开发新的算法。

3.碰撞检测的方法

通常,物体的干涉分为静态干涉和动态干涉两种。静态干涉的意思是,物体在空间中的位置是可变化的,但不随时间变化,位置的变化是由其他参数(比如装配零部件的结构尺寸变化等)定义的。动态干涉与时间相关,即物体在空间中的位置是随时间变化的,可分为两种情况:

第一种情况,运动空间中只有一个物体是运动的。例如机器人装配中,在往输出轴上装配板的时候,输出轴固定不动,只需移动板的位置或者调整板的姿态,就可以把它装配在输出轴的适当位置上,这种情况下,运动的物体只有套筒。

第二种情况,一对物体都是运动的,例如车间里两个运动的机器人。

与物体的干涉相对应,碰撞检测也分为静态碰撞检测和动态碰撞检测两大类。静态碰撞检测是判别是否有任何一对物体同时占有公共空间;而动态碰撞检测则是判别在时间的不断变化中是否有任何一对物体同时占有公共空间。所以,静态碰撞检测的算法是动态碰撞检测的基础,而动态碰撞检测就是在整个时间跨度中应用静态碰撞检测算法。在装配规划的应用中,我们考察产品的设计结构是否合理时要用到静态碰撞检测,在研究产品的可装配性时主要涉及到动态碰撞检测。

1)静态碰撞检测算法

静态碰撞检测算法实质上就是距离计算,即比较出两个模型中距离最近的两点,然后计算它们之间的距离,判断两个模型是否发生干涉。静态碰撞检测算法提高效率的关键是如何减少被测元素的数量。根据检测中实体模型的不同,人们将算法分成凸多面体算法和凹多面体算法两类。

(1)凸多面体算法。如果两个点集具有不相交的凸包,那么必然存在一个平面将两个点集分开。将平面方程中的三个参数作为变量,那么对于给定多面体中任何一个顶点,在线性的时间内就可以判断它是否在平面的一侧。当判断凸多面体之间是否发生碰撞时,一方面要判断各(

温馨提示

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

评论

0/150

提交评论