APP下载

协同设计系统中图形协同与网络协商的实现

2012-07-06罗志伟

关键词:参与者协商组件

罗志伟

(厦门理工学院机械工程系,厦门 361024)

现代企业产品的创新开发正朝着全球化和敏捷化方向发展,产品数字化模型的设计交流与合作需依赖于新型的、适应网络化的、具有异地工作模式的设计工具。协同设计是网络化制造的一个重要组成部分,是智力资源集成与优化的有效途径[1]。协同设计以快速、经济地开发产品为目标,使团队成员通过协作实现资源和信息共享,合作完成任务。协同设计可分为同步协同与异步协同,2类协同都具有异地性,主要区别在于响应的实时性[2]。异步协同对每个网络结点的配置要求较高,响应周期较长;而同步协同交互响应是实时的,实现难度较大,应用成果较少,网络传输效率是其实现的瓶颈[3]。

目前,由于尚未出现较完备的商用网络协同设计系统,较为普遍的协同设计方法是利用现成的网络工具,如电子邮件、视频聊天软件、白板、FTP等来实现协同工作[4]。然而,在这种工作模式下,工作进程繁琐、协同周期长、系统性差,参与设计的人员无法进行实时的产品设计合作,属于效率较低的异步工作模式。据此,本文试图从同步协同的角度出发,研究在Web环境下同步协同设计系统的框架及实现方法,并重点介绍三维实体协同浏览与修改、协商策略模型等内容。本系统的开发推动了异地多学科设计人员的协同设计与交流,缩短了产品开发周期,降低了产品开发成本。

1 协同设计系统框架

协同设计是一个异地、多学科、多参与者协调合作的过程。在整个协同设计过程中会牵涉到不同学科、领域的知识及软件功能调用[5],如机械学科中包括优化设计功能、二维 CAD、三维建模、CAE、CAM、机械设计方法等。因此,本系统采用Java提供的远程方法调用包RMI(remote method invocation)[6]和 Internet技术搭建系统软总线,将各学科的知识及软件功能以组件、功能库的形式挂在总线上,同时与服务器上的RMI存根配合,实现学科资源的共享。系统整体框架结构如图1所示。

图1 Web环境下同步协同设计系统整体框架

各学科使用的计算机拥有其自身学科领域的知识及软件功能,只要把这些知识和软件功能的RMI存根放在服务端框架上,通过网络后端Java程序实现远程知识和软件功能调用,最终实现学科间知识和功能的共享。如图1所示,Web环境下同步协同设计系统框架主要包括以下部分:

1)产品组件。各异地产品模型组件通过网络平台构成协同设计系统产品模型库。

2)系统管理组件。负责用户的注册、注销、权限管理、组件查询、信息修改等。

3)项目管理组件。负责项目的创建、维护、信息存储和删除等功能。

4)约束管理组件。约束体现了产品各方面的设计要求、参数间的关系,大量的约束构成了本学科的约束空间。通过参数化约束可实现网络环境下的管理,形成约束管理组件,包括约束检测、一致性维护、约束求解等。

5)图形协同组件。负责产品图形信息交流,包括Web环境下对产品三维模型的控制、异地产品模型的协同浏览及修改等。

6)协商组件。负责非图形信息的交流。与普通聊天软件不同,该组件通过协商策略模块辅助协商过程,确保协商效率、协商结果质量以及协商的收敛性。

在同步协同设计过程中,设计者之间要完成最基本的2种信息交流,即图形信息和非图形信息。图形信息主要包括产品的二维、三维模型,而非图形信息则是产品相关的参数、技术要求及文字性的探讨内容。实现这2种信息的同步交流是本系统的核心,也是难点所在。

2 图形协同的实现

图形同步协同功能的实现是通过图形协同组件来完成的,其内部结构如图2所示。考虑到产品模型的共享性、模型的专业性及网络的实现方式,图形协同组件采用3层结构,包括接口层、处理层及数据层。接口层是各学科知识、功能相互调用的通道;处理层完成产品模型的商用软件自动建模、网络转换、网络控制和数据通讯,使产品建模更加专业、通用,实现模型的网络协同浏览及修改;数据层进行学科模型和学科数据的存储,其中,学科模型库主要存储通用产品零部件模型,学科数据库主要负责学科知识、协商数据、模型修改数据等信息的存储。

图2 图形协同组件框架结构

2.1 图形协同浏览

图形协同浏览功能是使设计参与者能通过网络同角度、同视图、同步地控制浏览网络三维模型,为设计方案的商定带来便利。首先,要选定网络上可以浏览的三维模型格式。商用三维设计软件可生成多种格式的三维模型,如 prt、igs、set、vda、wrl等。根据网络平台的需要及不同三维模型格式的特点,本文采用wrl文件格式,即虚拟现实建模语言VRML(virtual reality modeling language)格式作为网络图形协同的格式。VRML联盟的目标是将Web3D的实现方式标准化。各种商用三维建模软件都支持VRML格式的输出,为异构CAD系统提供统一的产品模型标准,实现产品模型在网络上的自如显示。

实现三维模型的网络平台显示后,应解决客户端对网络三维模型的参数化控制。客户端对三维模型的姿态控制主要是6个自由度的定量控制,即X、Y、Z三个方向的平动和转动,见图3,这样便于三维实体空间姿态信息的传递。本系统采用Java编程方法,调用VRML的外部通用接口EAI(external authoring interface)中的功能类库,实现VRML场景外Java applet小程序对VRML事件模型的访问,从而控制VRML场景,最终把Java applet与VRML场景嵌入到同一网页中,实现网络三维模型控制。这些控制信息再通过Java applet与网络后端的Servlet通信方式来实现客户端之间的姿态信息传递。例如,设计参与者a已修改模型的姿态信息,则系统会自动把修改信息发布到各客户端网页的文本框中,如图3所示。若本地需要采纳设计者a的三维模型姿态,则可通过Refresh功能使模型的显示姿态与参与者a的一模一样,从而实现模型的协同浏览。

图3 Applet对VRML模型的网络控制

2.2 图形协同修改

在同步协同设计过程中,常常需要对模型进行修改。对于模型库中没有的模型,只能是把修改后的模型文件以各种网络传输方式传递给各客户端;对于模型库中已有的模型则传递修改的参数即可。例如,设计参与者可通过调用图3中Set-Parameter功能修改从动盘毂参数,修改界面如图4所示。通过该页面,客户端可修改服务器数据库中从动盘毂的参数,以便其他客户端的调用。运用JSP网络编程及网络后端的JavaBean,能方便地实现服务器数据库参数的修改及权限的控制。

图4 修改从动盘毂参数的修改界面

在获取修改参数、自动更新模型方面,本系统应用Visual C++和Pro/TOOKIT对Pro/Engineer野火版进行二次开发,得到模型自动更新插件,并安装于客户端,实现对服务器数据库设计参数的提取和模型的自动生成。如图5所示,通过调用“提取数据”功能,得到服务器数据库中最新设计参数,从而由插件自动生成新的三维实体。在实现设计参数提取功能方面,通过对比套接字Socket、RMI及http协议等各种通信方式的特点,最终采取了在VC环境下http通信协议方式,实现广域网范围的数据传输。至此,其他设计参与者对模型的修改就可在本客户端中得以体现,实现三维模型的协同修改。

3 网络协商组件

3.1 协商策略模型

在协同设计过程中,由于每个设计小组的专业背景、知识水平和目标等方面存在差异,再加上每个设计小组都会自然而然地更多考虑自身的局部利益,必然导致冲突的产生[7]。在冲突产生时就需要通过有效的协商进行解决,共同决定设计方案的修改。这种设计上的协商结果最终将体现在产品设计参数上,即设计参数的商定是同步协同设计协商的核心。协商组件除了提供普通网络聊天功能外,更重要的是通过协商策略模型实现协商过程的指导,使协商过程在保证团队整体利益最大化的前提下往参数收敛的方向发展,最终给出推荐的参数值集。

图5 提取设计参数重构实体模型

为实现协商策略模型,需建立整个协商过程的数学模型,方便计算机处理。根据协同设计系统中协商的合作竞争性、专业依赖性、折衷妥协性、多域性和全局性等特点,在博弈论和协商理论基础上建立协商过程数学模型,如式(1)所示。

通过式(1)的数学模型可把各学科参与者的行为以程序算法的形式体现出来,得到相应程序代码,实现协商过程的数字化处理,进而得到具有最高整体回报值的参数集,整个协商过程如图6所示。图中显示一轮协商过程分4步完成。第1步是协商问题的提出与决策树的编辑,例如压紧弹簧可采用膜片弹簧、螺柱螺旋弹簧、矩形截面弹簧等方式实现,其中膜片弹簧又有不同材质选择,这样就可以得到不同的决策组,各决策组中都对m个设计参数进行商定,从决策问题到决策组整体构成了决策树,在协同网中采用可扩展标记语言XML(extensible markup language)的方式进行编辑。第2步是各学科参与者通过选定不同的让步幂值n,对不同决策组中m个参数选择不同的回报函数和权值,体现参与者对本决策组的观点。图6第2步中方框内的曲线就是学科参与者根据设计参数选定的回报函数,即式(1)中的P1和P2,若为空白则表示该学科参与者对本设计参数不感兴趣,并不会影响到本学科的回报值。第3步,根据式(1)中的Pji,对各决策组中m个参数的回报函数进行加权叠加,得到相应决策组中参数的总回报函数,如图6第3步中的方框,并通过式(1)中的Vp计算推荐的参数值,按照决策组对m个参数的最大回报值进行叠加,例如图6中决策组1得到600的总回报值、决策组2得到690的总回报值等,通过比较总回报值得到推荐的决策组及m个参数的推荐值。第4步,判断各学科参与者是否同意推荐方案,若同意则完成协商过程得到m个参数的推荐值,若不同意则回到第2步,调整让步值。

3.2 协商组件框架

基于以上策略模型,协商组件框架结构如图7所示。

协商组件主要包括以下部分:

1)接口层。功能与图形协同组件采用统一标准及功能。

2)处理层。协商策略模型通过计算机算法及Java编程形成协商策略模块,分布在网络后端,辅助协商整个过程。协商组件采用XML作为通讯语言,通过XML解析器与Java编程实现网络平台下的XML文档处理功能,方便设计参与者把协商内容编辑为XML文档,使计算机能理解协商内容,掌握设计者的设计意图。

3)数据层。学科数据库主要用于学科知识、协商过程中涉及到的参数的存储;学科共享本体主要是为产品制定的各级标准及相关术语[8]。

协商组件的网络平台运行效果如图8所示。

图6 协商处理过程

图7 协商组件框架结构

图8 网络协商界面

4 结束语

图形协同与网络协商组件功能是协同设计系统的核心,它们担负着协同设计系统中主要信息的传输与处理工作。通过网络平台测试,本协同设计系统已实现三维实体模型的网络协同浏览及协同修改功能,并在协商设计参数时能根据协商策略算法给出推荐决策组及参数值组,使协商过程高效、协商结果合理。特别是在设计参与者多,需要商定的参数也比较多的情况,协商策略组件能把握整体利益,起到整体统筹指导的作用。

这些功能的实现为同步协同设计带来了极大便利,使参与者能同角度、同视图、同步地浏览三维模型、修改模型,同时进行面向设计参数的协商,使众多异地参与者就像坐在同一台电脑前进行共同协商设计一样。系统应用了http、JSP、Java、RMI、Applet、Servlet、VRML 等多项网络开发技术,实现网络协同设计的核心功能,在协同设计系统中起到关键性的作用,为计算机辅助协同工作(CSCW)的实现提供了一种新的途径。

[1]Shen Y,Ong S K,Nee A Y C.Augmented reality for collaborative product design and development[J].Design Studies,2010,31(2):118-145.

[2]罗亚波,肖田元.机械产品协同设计同步效率提升策略研究[J].机械工程学报,2005,41(1):6-10.

[3]Ren Z,Yang F,Bouchlaghem N M,et al.Multi-disciplinary collaborative building design—A comparative study between multi-agent systems and multi-disciplinary optimisation approaches[J].Automation in Construction,2011,20(5):537-549.

[4]江平宇,陈献国.基于Web的同步远程协同产品设计的实现[J].机械工程学报,2002,38(3):34-38.

[5]Liu Jin-Fei,Chen Ming-Yao,Yuan Kong,et al.Collaborative design strategy of product modularity based on multi-Agent[J].Computer Integrated Manufacturing Systems,2011,17(3):560-570.

[6]奥贝格,Oberg,王海卫.精通RMI:Java与EJB企业级应用开发[M].北京:机械工业出版社,2003.

[7]金贵林,容芷君,应保胜.基于设计目标最大化的协同设计冲突消解算法[J].机械设计,2010,27(11):8-14.

[8]Conrad Bock,XuanFang Zha,Hyo-won Suh,et al.Ontological product modeling for collaborative design[J].Advanced Engineering Informatics,2010,24(4):510-524.

猜你喜欢

参与者协商组件
无人机智能巡检在光伏电站组件诊断中的应用
休闲跑步参与者心理和行为相关性的研究进展
台胞陈浩翔:大陆繁荣发展的见证者和参与者
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
浅析打破刚性兑付对债市参与者的影响
论协商实效与协商伦理、协商能力
Rheological Properties and Microstructure of Printed Circuit Boards Modifed Asphalt
以政协参与立法深化协商民主
海外侨领愿做“金丝带”“参与者”和“连心桥”