共享三维变换矩阵的模具工艺协同关键技术研究

2012-09-08 07:58王成勇钱凌云陈从升刘全坤
中国机械工程 2012年1期
关键词:组员客户端模具

王成勇 钱凌云 陈从升 李 亨 韩 豫 刘全坤

合肥工业大学,合肥,230009

0 引言

方案,开发了模具专家在线工艺讨论系统。

先进制造技术和网络技术的迅速发展正深刻改变着传统的工艺设计模式。基于网络的协同工艺设计应运而生,并逐渐成为一门具备多学科性和群体协作性的工程[1]。如何有效地在网络环境下进行团队协同工艺讨论,实现高效的工艺决策与技术交流,从而提高大型模具项目开发效率、缩短开发周期,是网络环境下模具工艺协同研究的主要领域。

为了支持网络协同工艺讨论,需要开发基于网络的多用户共享三维模具模型并进行工艺会商的可视化交流平台。利用这种工具平台,异地的设计团队成员可以进行各种工艺方案的协商讨论,不仅可以进行文字信息的交流,还能对产品三维模型进行共享操纵,实现同步浏览与工艺设计。本文针对这一技术展开研究,提出共享三维变换矩阵的协同

1 网络环境下模具协同工艺讨论关键技术

协同工艺设计(process collaborative design,PCD)是解决复杂工艺难题或完成大型工艺设计任务的一种重要和有效的工作方式,它通过一个团队中多个成员的共同努力与合作最终完成工艺设计任务。目前基于网络的协同技术已在诸多领域得到应用,如协同医疗、协同编著、协同会签等。在模具行业动态联盟框架下,模具协同设计、模具数据共享与交换、模具协同模型的轻量化网络传输以及多客户端三维同步显示与互操作等是其关键技术。

模具三维模型远程同步显示与交互是模具协同工艺讨论的基础和核心。为了实现“你见即我见(what you see is what I see,WYSIWIS)”,系统需要将协同群组中获得令牌(Token)的成员对模具模型的三维浏览操作同步反映在群组所有成员的屏幕上。与通用的即时通信系统(instant messenger,IM)不同,为了保证模具工艺协同系统在公网带宽条件下可以流畅地实现三维交互操作,暂不宜开通语音视频数据的多点传输。

2 三维工艺协同浏览方案及其开发技术对比研究

2.1 三种典型协同浏览与同步交互方案

围绕网络环境下的协同浏览与同步交互技术,国内外学者开展了广泛的研究。文献[2-8]都对此进行了讨论,所涉及的协同浏览与同步交互方案大致有三类:基于共享屏幕的方案、基于共享桌面的方案和基于对象复制的方案。

(1)基于共享屏幕的协同浏览方案。共享屏幕(screen sharing)又称为共享显示(display sharing),是早期简单模式的多点共享方式。协同群组组员在本机(local PC)操作三维模型,其屏幕画面被实时截取,交由协同工具传送至其他组员的屏幕上,其实质是屏幕拷贝。这种方式难以实现相互感知,即使经过行程编码或哈夫曼编码压缩,在公网多点间传送的截屏位图数据量也是非常大的,响应速度很慢,实时性差。由于没有真实地传输三维操作参数,下一个取得控制权的协同组员无法在当前模型的形位姿态下继续操作和浏览。这种限制使得协同不畅、交互性差。

(2)基于共享桌面的协同工艺方案。基于共享桌面方案需要借助远程桌面共享技术(remote desktop sharing),一般支持音视频(audio &video)交流、白板(whiteboard)交流、应用程序共享(program sharing)等。通过“请求控制”和“释放控制”命令获得控制权和释放控制权,主控端将客户端的鼠标和键盘信息转换成控制信息并通过网络传送至受控端以达到控制目的,执行相关操作。目前一些三维专业软件支持此类技术。但是大型多工位连续模的3D模型结构复杂,数据量大,而且协同工艺对3D模型操作的高交互性和实时性要求较高,因此采用共享桌面的协同工艺方案,网络传输延时是主要障碍。如何减少传输的数据量对提高实时性十分关键。

(3)基于模型复制的协同浏览方案。前两种协同浏览方案实际上都是基于视图共享来实现的,而基于模型复制的协同方式需要在多点间复制模具三维数字模型。该方案能够绝对地保证各组员客户端显示和操作模型的一致性,是一种理想的协同浏览方案。协同群组所有成员不仅能够实时获得同步的显示结果,而且可以真正获得改变后的模型,但是在目前带宽条件下同样难以满足实时传输要求。文献[9]提出了在协同过程中采用渐进式快速显示技术实现三维几何模型在多点间传输并显示,该方案能够实现边传输边显示,而不是等到完整模型数据传输结束才显示模型,使协同不至于出现长时间停顿,但该方法并没有减少总的模型传输时间。

基于模型复制的方案与基于共享屏幕的方案在传输方式上非常相似,只是传输的内容不同,在共享屏幕的方案中传输的是经过帧压缩的截屏图像,而在基于模型复制的方案中,传输的是三维实体模型数据。实际上,三种协同方案只有在局域网带宽条件下才具有现实意义。随着设计与生产的全球化,异地环境下的协同设计、协同工艺乃至网络协同制造已经成为一种必然的趋势,因此,研究在Internet环境下新型的多用户实时共享的模型数据交换和工艺协同具有重要意义。

2.2 三种三维协同浏览开发技术

针对多用户三维数字模型同步显示与交互浏览的开发技术研究主要有三个方向[10]。

(1)基于 CGI(common gateway interface)的网络三维协同开发。CGI技术是外部扩展应用程序与WWW服务器交互的一个标准接口。按照CGI标准编写的外部扩展应用程序可以处理远程客户端输入的协同工作数据,完成客户端与服务器的交互操作。服务器在任一时刻只允许一个客户端的操作请求,并存储该客户端的操作结果。其他用户通过客户端工具实时从服务器取回模型操作结果,并显示在屏幕上,从而达到同步显示和交互操作目的。

(2)基于 VRML(virtual reality modeling language)的网络三维协同开发。VRML作为三维模型的轻量化格式可以构建三维虚拟世界(3D virtual world),描绘三维虚拟场景[11],网络分布式协同系统控制VRML场景中的三维物体实现远程操作和浏览[12]。

(3)基于Java3D的网络三维协同开发。Java 3D是一种三维图形应用编程接口,可在较高层次上调用基本图元构造复杂的模具三维实体模型,将三维对象作为场景中的节点添加到三维空间中,在目前应用较广的三维开发技术OpenGL、Direct3D和Java 3D中[13]。Java 3D在三维应用开发方面,具有明显优势,适合开发模具工艺协同讨论与网络协同系统。

3 模具工艺协同讨论解决方案

3.1 共享变换矩阵的协同浏览原理

为了在动态联盟环境下,利用有限的网络带宽实现模具协同工艺群组异地共享三维模型,讨论工艺方案,本文提出共享变换矩阵的协同浏览方案。该方案采用事件驱动机制,由讨论组管理员控制模型操纵与工艺设计的令牌,获得令牌的组员可以操纵模具模型并组播工艺设计命令流(command stream)。协同客户端实时记录组员对三维模型所施加的浏览变换矩阵及工艺设计命令流,在群组内组播。所有组员共享该三维浏览操作及命令流,达到工艺协同设计的目的。

三维变换矩阵是由浏览者的鼠标事件(单击、左键拖动、右键拖动和中键滚动等)触发产生的,工艺命令流由键盘输入触发产生,因此本工艺协同方案的实质是共享事件驱动机制。这种模式不需要在多个网络节点间传输模具模型数据,仅传输有限的变换矩阵数据(4×4矩阵中的16个双精度浮点数)及格式化封装的工艺命令流,数据量较少,可以实现流畅的三维协同浏览和工艺讨论。

一次协同工艺讨论过程大致如下:工艺会商发起者将制件或模具的初始轻量化模型在群组内分发;工艺专家登录为协同组员,利用本文开发的工艺协同系统打开轻量化三维模型;发起者邀约在线工艺专家开始工艺讨论,并控制令牌的发放和回收,消解协同过程的并发冲突;各个客户端的协同模块之间会自动进行数据监听和信息交互,取得控制权的客户端协同工具自动记录并组播三维变换矩阵和工艺命令流;群组内其他组员的客户端以特定时长周期轮循侦听特定端口,收到变换矩阵或工艺命令流后,导入到工艺协同系统中驱动模型进行三维变换或写入工艺文件,从而实现同步浏览与工艺协同设计。其原理如图1所示。

图1 基于共享变换矩阵的三维协同浏览方案

3.2 共享中性轻量化模型选择

为了提高三维浏览速度,同时也考虑模具工艺人员可能没有安装专业模具CAD软件,工艺协同系统必须能够脱离特定CAD软件的支持。Java 3D可以支持主流模具CAD软件导出的中性轻量化三维模型,如 VRML、X3D、3DXML、XML3D、DXF和OBJ等,通过相应三维数据的导入接口实现对轻量化模型的操纵。

4 模具工艺协同系统的实现

模具协同系统的三维模型空间对象按照图2所示的节点层次结构进行组织。

图2 三维空间对象层次结构

共享三维变换矩阵的模具协同浏览及工艺讨论系统的功能框图如图3所示。核心模块三维同步浏览器通过监视鼠标在三维空间中的触发事件,记录并生成三维模型旋转、缩放和平移等齐次变换坐标矩阵并写入下面的数组变量中:

图3 模具协同浏览及工艺讨论工具功能框图

变换矩阵交由协同系统组播模块传送出去,同时协同组员可以利用工艺协同白板绘制工艺流程图,绘图命令也会及时组播出去,在其他组员的工艺白板上实时看到新绘制的图形;工艺发言与工艺命令流也交由组播模块封装后组播出去。组播模块还负责侦听网络中由其他组员发来的组播信息,并将侦听结果进行提取和分类。

若接收到的信息为三维变换矩阵,则将连续数据流(DataStream)重新组装成为矩阵数组导入Java 3D浏览器中驱动三维浏览;若接收的是工艺白板绘图数据,则提取图形类别特征码,判定图形类别并提取绘图参数,再导入本地白板生成该图形。例如图形类别特征码为“R”则表示矩形,接着提取对角顶点坐标信息生成该矩形;若接收到的是工艺会商发言数据,则直接组播。若接收到的是工艺设计命令流,则在工艺模板相应位置填写对应工艺术语,同时,协同系统在接收的信息中根据模具标准件库和典型模具工艺案例库中的工艺术语进行关键词语义自动切分,并标记为链接,以便协同工艺人员随时参考相应支撑库的资料。工艺协同系统运行界面如图4所示。

图4 模具工艺协同系统运行界面

上述接收信息由获得发言权的协同组员发出,所有其他组员同步接收,实现了“WYSIWIS”。

5 结束语

本文讨论了以共享三维变换矩阵方式实现模具工艺在线协同会商与设计。通过比较研究三种典型的协同浏览与同步交互技术,分析各自优缺点,提出共享变换矩阵的工艺协同新方案。阐述了新方案的理论模型和运行原理,给出了基于上述原理的模具工艺协同设计系统功能框图,采用Java 3D技术开发了模具工艺协同原型实验系统。

本文创新点在于将跨平台的JAVA3D技术和网络协同技术运用于模具专业领域。该创新点借助网络共享三维模型变换矩阵和工艺命令流,实现多工艺专家协同完成大型复杂零部件成形模具工艺设计,尝试改变传统单人单机难以完成大型成套模具工艺设计的现状。

[1]范玉顺.网络化制造的内涵与关键技术问题[J].计算机集成制造系统——CIMS,2003,9(7):576-582.

[2]王成勇,刘全坤,胡龙飞,等.基于 Web3D/STEP的模具协同设计联盟数据共享研究[J].中国机械工程,2006,17(23):2477-2481.

[3]莫蓉,张军波,万能.基于B/S结构的网络协同造型技术研究[J].中国机械工程,2007,18(18):2201-2205.

[4]张晓冬,杨育,李国龙,等.网络化协同设计环境下4C集成服务模型与平台研究[J].中国机械工程,2006,17(10):1031-1035.

[5]You Chun-Fong,Tsou Pei-Jung,Yeh Shen-Chou.Collaborative Design for an Assembly Via the Internet[J].International Journal of Advanced Manufacturing Technology,2007,31(11):1217-1222.

[6]Germani M,Mandolini M,Mengoni M,et al.Collaborative Design System for Supporting Dynamic Virtual Enterprises[J].IFIP Advances in Information and Communication Technology,2010,336:577-584.

[7]陈亮,王伟.产品多学科协同设计中的一致性维护方法[J].中国机械工程,2010,21(12):1447-1468.

[8]杨煜俊,陈新度,陈新,等.基于五维状态空间的产品建模方法研究[J].中国机械工程,2007,18(4):407-453.

[9]莫蓉,常智勇,张毅澜,等.协同设计中三维几何模型渐进式快速显示技术研究[J].计算机辅助设计与图形学学报,2004,16(10):1341-1345.

[10]周祖德,盛步云.数字化协同与网络交互设计[M].北京:科学出版社,2005.

[11]冯桂珍,池建斌,王晨,等.VRML模型创建工具中可视化交互操作的设计和实现[J].系统仿真学报,2006,18(2):387-390.

[12]周自强,沈连婠,李木军,等.面向用户的产品虚拟模型协同讨论环境的实现[J].工程图学学报,2005,26(3):5-11.

[13]王映辉.3D建模与编程技术[J].计算机应用研究,2004(1):37-43.

猜你喜欢
组员客户端模具
《模具制造》月刊征稿启事
当组长真不容易
《模具制造》月刊2020年订阅通知
《电加工与模具》征订启事
回忆流金岁月
如何看待传统媒体新闻客户端的“断舍离”?
第十三届Asiamold广州模具展盛大开幕
小组落幕
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略