APP下载

面向网络实验教学的虚拟协同装配技术研究

2010-07-07吴志军张建富冯平法郁鼎文

图学学报 2010年4期
关键词:语义协同实验教学

吴志军, 张建富, 冯平法, 郁鼎文

(清华大学精密仪器与机械学系,北京 100084)

随着网络化技术的发展及虚拟实验网络教学的推广和广泛应用,虚拟网络实验教学系统日益成为一种重要的教学支持手段和方法,针对网络虚拟实验室研究和开发成为一个重要的研究方向。近几年来,国内外学者都开展了深入的研究[1-3]。如在国外,美国卡耐基梅隆大学(Carnegie Mellon University, CMU)提出了针对基于服务和组件的网络教学系统的设计框架 LSA(learning system architecture),约翰霍普金斯大学开发了基于Java技术的虚拟物理实验室项目,德国Ruhr大学开发了有关控制工程的VCLAB 实验室,新加坡国立大学开发的用于工程教育的虚拟实验室。在国内,华中科技大学“液压与气压传动”远程教育小组开发了液压回路性能和液压元件装拆虚拟实验,北京大学计算机科学与技术系基于 Web设计了支持大计算量和交互式的网上虚拟实验室的基本结构(3WNVLAB),北京师范大学现代教育技术研究所研制的基于虚拟空间的三维电子线路实验环境―Evlab系统等[4]。

国内研究内容主要集中在理论探讨和虚拟实验网络教学平台搭建上,网络虚拟实验系统在教育技术领域的应用研究关注不够,与国外相比还很落后,尤其是专门面向学生课程实践、支持多用户协同的网络虚拟实验系统开发不够,并对网络虚拟实验系统应用于教学的模式、效果分析和反馈评价的研究很少;另外,虚拟实验网络教学系统的架构、开发方法和技术实现手段呈现多样化得格局,通用的网络虚拟实验平台构建体系结构、支持平台下二次开发应用的模型研究不足[5]。

本文基于机械制图网络教学中对装配体虚拟拆装的需求,分析了虚拟实验网络教学中协同装配的特征,研究了实现网络化协同装配的方法和相关技术,提出了用于支持虚拟协同装配的信息模型及网络虚拟装配实验平台的体系结构,论述了系统执行的过程。最后,以柱塞泵为例,简述了系统的初步实现情况。

1 虚拟实验网络教学中协同装配的特征

当前,针对虚拟协同装配的研究主要集中在面向产品的多成员协同设计(面向设计的协同装配)方面,即在设计阶段通过虚拟装配检查零部件设计的合理性、是否满足最基本的要求,及其可装配特性等,研究的重点是:预装配技术、装配工艺规划策略、可装配性检验、设计优化或再设计等。而面向网络教学的虚拟协同装配研究的基础是:在既有的零部件基础上(已完成设计,并确保了设计的合理性),通过虚拟装配让学生体验装配的过程,并进行协同装配规划,从而实现辅助实验教学的目的,其研究的重点是:装配模型信息表达、装配协同控制、装配路径记录和再现等。面向虚拟实验网络教学和面向设计的协同装配特征对比情况如表1所示。

表1 面向实验教学和面向设计的协同装配特征对比

基于面向虚拟装配网络教学和面向设计中协同装配特征和研究目标的差异,两者在关键实现技术和系统体系架构上既有一定的共性,又有很大的不同。对于面向实验教学的协同装配,一方面要解决网络虚拟协同装配系统在体系架构上与现有教学平台的集成和模型信息共享;另一方面需要针对教学的需求考虑协同装配过程中装配路径及顺序的规划和冲突消解问题。协同是一个以知识为基础的计算过程,以教学为目的的协同装配过程需要依据装配的需求特征设计知识和规则,并就装配问题展开设计推理。为此,构建面向虚拟网络实验教学的协同装配体系并在研究其关键实现技术时需要考虑如下因素[7]:

(1)怎样基于现有教学平台构建可供共享的装配信息模型?

(2)怎样确定要把什么零件装配到什么零件的什么位置上?

(3)怎样确定装配时的姿态,即操作零件的装配方向?

(4)怎样确定装配的先后顺序是否合理?

(5)怎样确定装配时不会发生干涉碰撞?

(6)怎样确定装配完成,要随时给出装配过程的提示信息?

(7)视角要合理,并提供多种预设选择;

(8)有可能的多种路径组合的解决方法,一个零件可以向多个地方装配的解决方法,有多个相同零件的解决方法。

2 网络虚拟协同装配关键技术研究

2.1 虚拟模型室的构建

要实现面向虚拟实验网络教学的协同装配,首先要解决的问题是建立能够支持网络协同装配的虚拟模型。考虑到课程教学的不同需要及模型的普适性,在构建虚拟模型室时将模型分成三类:授课模型(指在授课系统中或在线学习时所使用的模型)、作业模型(指用于完成课程习题指导的模型)、装配模型(指用于虚拟装配实验教学的真实机械产品模型)。基于对现有各种虚拟现实技术优势分析,本文采用的是开放性、网络兼容性和传输性都较好的 VRML(Virtual Reality Modeling Language)。由于当CAD系统输出为 VRML文件时,在场景的组织结构及元素的表示方式上存在较大的差异[8]。为此,针对不同CAD系统在转换为VRML模型时存在的这种语义表达差异,在对数据接口文件二次开发的基础上,定义了标准的文件转化格式,从而确保系统中模型的语义一致性,以支持网络条件下模型装配的虚拟现实场景浏览和交互功能。构建的虚拟模型室结构如图1所示。

基于以上方法获得的模型,其共同的特征是保留了原有CAD图形的基本属性信息(如零件几何和拓扑信息以及工程设计信息)。图1所示的模型导航树中,授课模型和作业模型用于课程基本教学所用,如体的投影、组合体、直线及平面与立体的相交等,由于这部分模型仅作为进行虚拟协同装配实验的预备知识,为此原有 CAD图形的特征属性完全可以满足模型的再现、移动等需求。而装配模型用于虚拟装配实验,其在以上特征信息的基础上,还需要表达装配信息(如装配关系、装配约束和装配操作指令等)及决策信息等。下一节主要阐述装配信息模型的语义信息构成,从而形成装配知识库。

2.2 装配语义信息模型

虚拟协同装配是以模型库某一待装配体为对象,以适当的序列规划,按照合理的约束关系和装配顺序,通过一系列的协同操作,实现装配功能的过程。基于VRML的虚拟装配实现中,为满足可视化显示和碰撞检测的需求,通常使用面片模型(即基于标准文件转换格式得到的虚拟模型)来表达对象。但由于片面模型不能完整的表达装配过程涉及到的装配信息[9]。为此,基于构建的虚拟模型,定义了支持实现虚拟装配过程的语义知识。同时,基于Web本体语言便于计算机解析和人工读写、适于在分布的设计人员之间传递知识的优势,装配知识选用OWL (Web Ontology Language)来描述[10]。

装配信息语义模型是零部件间装配约束、装配关系及装配行为的抽象和概括。基于协同装配过程中所涉及到的装配信息需求,装配信息语义模型(assem_onto)可以用一个四元组来表示,如式(1)所示

即以实体(entity)、方法(method)、行为(action)、操作(operation)等语义来表达装配过程,进而形成装配知识库所需要的最基本语义信息。

(1)实体即为实现虚拟协同装配的功能体(基本几何体),表现为片面模型,亦即虚拟模型室中的装配模型。实体分为主体(body)、从体(subody)和联接体(linkage),表示如下

图1 虚拟模型室

(2)行为(action)指装配中,那些实体以何种约束方法被装配及相应的联接关系,包含三方面的语义,如式(3)所示

其中 装配约束(assemConsTraints)表示为式(4)所示的几种形式,即贴合(mate)、偏置贴合(mate偏offset)、联接(joint)、偏置联接( joint offset)、插入(insert)、焊接(weld)、铆接(rivet)和粘合(adhesive)

自由度约束(freeomConsTraints)表示为式(5)所示的5种形式,即固定自由度(fixDegree)、线性自由度(linearDegree)、平面自由度(planarDegree)、旋转自由度(rotationalDegree)、球面自由度(sphericalDegree)。

空间关系(spatialRL)包括:平行(parallel),对齐(aligned),倾斜(incline-offset),倚靠(against),夹角(include-angle),相切(tangent),共线(collinear),过盈配合(interference-fit),其用来约束配合实体(面、中心线、中心点等)间的空间运动关系,如式(6)所示

(3)语义模型中的方法(method)指装配方法,包括联接(joint)、定位(fixed)、紧固(fasten)、支承(bearing)、传动(gearing)和密封(sealed)7种类型,表示如下

每一种装配方法又表示为不同的语义,为了表达的直观性,其语义涵盖如图2所示。

图2 装配方法语义信息

(4)操作(operation)表达为式(8)的形式,包括的最基本语义为路径(route),顺序(sequence),规则(rule)、策略(strategy)、场景(scenario)、参考(reference),用以表达装配过程的执行情况,并在知识库中形成实例

以上对装配语义信息的定义,只是将实体的主要关系进行了抽象化。对于一些特殊的装配语义可以由用户以标准的语义描述语言自己定义和扩充,从而不断完善装配知识库的语义知识,如轮与轮毂的装配、曲柄与连杆的装配、端盖与箱体的装配等。另外,实际装配过程中通常任何一种装配语义都是多种装配活动的组合表达,如齿轮装配,装配实体为齿轮,装配方法为齿轮副啮合的传动,行为中既表现为平面贴合的装配约束,又表现为旋转自由度和倚靠对齐的空间约束关系,在装配操作中,同时又产生了齿轮与齿轮轴键联接的装配关系。

2.3 干涉检测方法

在面向设计的虚拟产品预装配中,产品的可装配性通常包含三层含义:一是检验零件在装配时是否出现碰撞现象;二是检验零件是否有可装配的路径;三是检验利用现有的装配手段是否可以完成装配任务[11-12]。基于面向网络实验教学虚拟协同装配的定义及其目的,不难发现可装配性的内涵已经发生了改变,其重点是如何解决好装配碰撞和干涉问题。由于装配体通常是一些典型的机械部件,为此,以上提及的第三层含义是确定的。对于第二层含义,需要考虑的不再是“是否有”,而是什么样的路径最优。其实现办法是事先进行多种可装配路径的虚拟仿真,并将得到的各种装配路径进行知识描述,进而保存于装配知识库,在协同装配教学中根据用户所选取装配路径的实时记录进行路径最优化的评价,辅助指导学生形成合理的装配顺序和路径。

对于装配碰撞和干涉问题,在现有检查零件是否发生干涉碰撞的基础上,同时要应对实验教学的目的,实现干涉区域(碰撞点)的场景显示和报警功能。具体方法是采用包装盒层次法[13],把待装配模型的每个基本体用一个能将其全部覆盖的最小尺寸的长方体套住,根据零件之间的相对位置,检测包围盒是否干涉,如果局部包容盒不干涉,则判定零件不干涉;如果局部发生干涉,则具体分析干涉量,一方面在装配场景中突出显示干涉的部分并报警,另一方面进一步进行几何求交,使用精确的公式加以计算,判定基本体是否有碰撞和干涉。以上针对每种基本体所建立的干涉检测模型和算法,最后形成于装配知识库中。

3 虚拟协同装配实验平台体系架构

3.1 平台体系架构

面向虚拟网络教学的协同装配实验系统的总体结构如图3所示。服务器端采用多用户服务器 MuServer,客户端面向虚拟模型室的 VRML显示模型,采用Web浏览器与VRML插件等工具,实现装配零部件的模型调用、装配知识获取,以及装配过程的可视化方式捕捉、操纵、浏览、同步协同等。

系统实现的主要功能包括:基于标准格式文件的CAD模型到VRML模型的转换、可扩展的装配信息语义生成、装配顺序/路径规划及干涉检测知识获取、协同装配支持服务管理,以及协同装配过程的虚拟仿真功能。系统以 VRML作为零部件显示模型,基于预定义的装配知识语义进行装配顺序/路径规划,并实现干涉/碰撞的检测功能,同时将装配过程信息并行公布于各客户端;在协同装配支持服务方面,以流式套接字方式传输装配操作的 C/P(命令/参数),并支持采用令牌一致性维护机制;通过记录每种装配体的装配过程,形成装配仿真实例,可视化的展现装配过程,指导和辅助学生进行装配过程的拟实评价。

图3 虚拟协同装配实验平台体系结构

3.2 虚拟协同装配执行过程

虚拟协同装配的执行过程如图4所示。主服务启动后,客户端用户通过登录认证(服务器端通过客户端节点配置参数,基于用户名和 IP地址判定申请人的合法性)进入虚拟装配空间。当某一用户获得令牌后,在装配语义信息模型和装配知识库的支持下,调用模型室中的相关模型,设定装配基础件和目标件进行装配操作;并触发相应事件,如视点变换、视讯交流、移动贴合等,系统通过监听捕获事件,当装配场景发生变化的时候根据事件类型抽象封装成C/P消息格式发送至服务器端,完成相应的装配操作服务。需要协同装配式,基于令牌维护机制完成装配授权的转换。

图4 虚拟协同装配过程

4 虚拟装配实例

基于本文提出的关键技术及系统架构方法,初步开发完成的系统以柱塞泵为例,如图5所示。

用户联网后,虚拟零部件由各种可视节点(node)构建,节点之间通过事件(Event)相互通讯,事件通过路由(Route)在场景中传播,用户的操作信息(如选择零件、移动物体、用户交互等)反映到本身的场景文件中,进而通过 Java Applet建立的网络套接字,发送给服务器的Muserver。它判断这是什么用户,在装那个装配体,进行了什么操作,再决定发送什么信息给与此用户在装同一个装配体(或处于同一小组)的用户。此信息通过服务器与接收用户对应的Mudispatcher发出,通过网络套接字传送到用户的MuRecerver,再控制用户的场景发生变化。同时,服务器端通过建立记录制度,把每个用户每一步操作写入到文件中。各用户可以进行协同装配,图5左边两圈表示一个用户装配完成一个零件,另一个场景也立即产生相应变化,右边表示的是用户的及时交互信息。

图5 虚拟协同装配示例

5 结 论

随着虚拟网络实验教学应用需求日益增长,研究用于支持虚拟网络实验教学的架构方法和实现技术是一个重要的研究方向。本文以机械制图网络教学为背景,基于网络实验教学环境下对虚拟协同装配提出的特殊需求,分析了其与面向设计的协同装配实现技术之间在定义、目的等方面存在的差异,研究了实现虚拟实验网络教学中协同装配的关键技术和实验平台体系结构。阐述了基于现有教学平台体系下虚拟模型室的构建和 VRML模型转换方式;定义了支持实现虚拟装配过程的语义知识,对零部件间装配约束、装配关系及装配行为进行了抽象和概括;就虚拟网络实验教学中的可装配性特征进行了界定,并阐述了装配过程中干涉/碰撞的检测方法。基于以上关键实现技术,提出了面向虚拟网络教学的协同装配实验系统的总体结构和系统执行过程。以柱塞泵的虚拟装配实验为例,初步验证了本文提出的方法和架构的可行性。

[1]Bidarra R, Kranendonk N, Noort A, et al. Acollaborative framework for integrated part and assembly modeling [J]. Journal of Computing and Information Science in Engineering, 2002, 2(4):256-264.

[2]Chen L, Song Z J, Feng L. Internet-enabled real-time collaborative assembly modeling via an e-Assembly system: status and promise [J]. Computer-Aided Design, 2004, 36(9): 835-847.

[3]Shyamsundar N, Gadh R. Collaborative virtual prototyping of product assemblies over the Internet [J].Computer-Aided Design, 2002, 34(10): 755-768.

[4]秦伟俊, 史元春, 相培峰. 基于多层体系结构的网络教学系统[J]. 清华大学学报(自然科学版), 2006,46 (7): 1301-1304.

[5]王建新, 凌 亮, 王伟平. 基于www的“计算机网络”虚拟实验室的设计与实现[J]. 计算机工程, 2005,31(6): 228-230.

[6]董兴辉. 协同环境下预装配方法与装配规划的研究[D].北京: 清华大学, 2003.

[7]李一丁. 虚拟现实技术在网络课程中的应用[D]. 北京: 清华大学, 2002.

[8]武殿梁, 杨润党, 马登哲, 等. 虚拟装配环境中的装配模型表达技术研究[J]. 计算机集成制造系统,2004, 10(11): 1364-1369.

[9]李永立, 张树有, 刘振宇. VRML环境下基于语义的产品装配设计技术研究[J]. 计算机辅助设计与图形学学报, 2003, 15(2): 209-214.

[10]Kim K, Manley D, Yang H. Ontology-based assembly design and information sharing for collaborative product development [J]. Computer- Aided Design,2006, 38(12): 1233-1250.

[11]Dong T Y, Tong R F, Zhang L, et al. A collaborative approach to assembly sequence planning [J].Advanced Engineering Informatics, 2005, 19(2):155-168.

[12]张 烨, 宁汝新, 刘检华. 面向虚拟装配的装配序列规划技术研究[J]. 计算机集成制造系统, 2006,12(1): 90-94.

[13]王峻峰, 李世其, 刘继红. 面向协同装配规划的信息模型研究[J]. 计算机集成制造系统, 2009, 15(4):670-675.

猜你喜欢

语义协同实验教学
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
小议初中化学演示实验教学
电容器的实验教学
对初中化学实验教学的认识和体会
语言与语义
“四化”协同才有出路
几何体在高中数学实验教学中的应用
三医联动 协同创新
“社会”一词的语义流动与新陈代谢