羅志偉
(廈門理工學院機械工程系,廈門 361024)
現(xiàn)代企業(yè)產品的創(chuàng)新開發(fā)正朝著全球化和敏捷化方向發(fā)展,產品數(shù)字化模型的設計交流與合作需依賴于新型的、適應網絡化的、具有異地工作模式的設計工具。協(xié)同設計是網絡化制造的一個重要組成部分,是智力資源集成與優(yōu)化的有效途徑[1]。協(xié)同設計以快速、經濟地開發(fā)產品為目標,使團隊成員通過協(xié)作實現(xiàn)資源和信息共享,合作完成任務。協(xié)同設計可分為同步協(xié)同與異步協(xié)同,2類協(xié)同都具有異地性,主要區(qū)別在于響應的實時性[2]。異步協(xié)同對每個網絡結點的配置要求較高,響應周期較長;而同步協(xié)同交互響應是實時的,實現(xiàn)難度較大,應用成果較少,網絡傳輸效率是其實現(xiàn)的瓶頸[3]。
目前,由于尚未出現(xiàn)較完備的商用網絡協(xié)同設計系統(tǒng),較為普遍的協(xié)同設計方法是利用現(xiàn)成的網絡工具,如電子郵件、視頻聊天軟件、白板、FTP等來實現(xiàn)協(xié)同工作[4]。然而,在這種工作模式下,工作進程繁瑣、協(xié)同周期長、系統(tǒng)性差,參與設計的人員無法進行實時的產品設計合作,屬于效率較低的異步工作模式。據此,本文試圖從同步協(xié)同的角度出發(fā),研究在Web環(huán)境下同步協(xié)同設計系統(tǒng)的框架及實現(xiàn)方法,并重點介紹三維實體協(xié)同瀏覽與修改、協(xié)商策略模型等內容。本系統(tǒng)的開發(fā)推動了異地多學科設計人員的協(xié)同設計與交流,縮短了產品開發(fā)周期,降低了產品開發(fā)成本。
協(xié)同設計是一個異地、多學科、多參與者協(xié)調合作的過程。在整個協(xié)同設計過程中會牽涉到不同學科、領域的知識及軟件功能調用[5],如機械學科中包括優(yōu)化設計功能、二維 CAD、三維建模、CAE、CAM、機械設計方法等。因此,本系統(tǒng)采用Java提供的遠程方法調用包RMI(remote method invocation)[6]和 Internet技術搭建系統(tǒng)軟總線,將各學科的知識及軟件功能以組件、功能庫的形式掛在總線上,同時與服務器上的RMI存根配合,實現(xiàn)學科資源的共享。系統(tǒng)整體框架結構如圖1所示。
圖1 Web環(huán)境下同步協(xié)同設計系統(tǒng)整體框架
各學科使用的計算機擁有其自身學科領域的知識及軟件功能,只要把這些知識和軟件功能的RMI存根放在服務端框架上,通過網絡后端Java程序實現(xiàn)遠程知識和軟件功能調用,最終實現(xiàn)學科間知識和功能的共享。如圖1所示,Web環(huán)境下同步協(xié)同設計系統(tǒng)框架主要包括以下部分:
1)產品組件。各異地產品模型組件通過網絡平臺構成協(xié)同設計系統(tǒng)產品模型庫。
2)系統(tǒng)管理組件。負責用戶的注冊、注銷、權限管理、組件查詢、信息修改等。
3)項目管理組件。負責項目的創(chuàng)建、維護、信息存儲和刪除等功能。
4)約束管理組件。約束體現(xiàn)了產品各方面的設計要求、參數(shù)間的關系,大量的約束構成了本學科的約束空間。通過參數(shù)化約束可實現(xiàn)網絡環(huán)境下的管理,形成約束管理組件,包括約束檢測、一致性維護、約束求解等。
5)圖形協(xié)同組件。負責產品圖形信息交流,包括Web環(huán)境下對產品三維模型的控制、異地產品模型的協(xié)同瀏覽及修改等。
6)協(xié)商組件。負責非圖形信息的交流。與普通聊天軟件不同,該組件通過協(xié)商策略模塊輔助協(xié)商過程,確保協(xié)商效率、協(xié)商結果質量以及協(xié)商的收斂性。
在同步協(xié)同設計過程中,設計者之間要完成最基本的2種信息交流,即圖形信息和非圖形信息。圖形信息主要包括產品的二維、三維模型,而非圖形信息則是產品相關的參數(shù)、技術要求及文字性的探討內容。實現(xiàn)這2種信息的同步交流是本系統(tǒng)的核心,也是難點所在。
圖形同步協(xié)同功能的實現(xiàn)是通過圖形協(xié)同組件來完成的,其內部結構如圖2所示??紤]到產品模型的共享性、模型的專業(yè)性及網絡的實現(xiàn)方式,圖形協(xié)同組件采用3層結構,包括接口層、處理層及數(shù)據層。接口層是各學科知識、功能相互調用的通道;處理層完成產品模型的商用軟件自動建模、網絡轉換、網絡控制和數(shù)據通訊,使產品建模更加專業(yè)、通用,實現(xiàn)模型的網絡協(xié)同瀏覽及修改;數(shù)據層進行學科模型和學科數(shù)據的存儲,其中,學科模型庫主要存儲通用產品零部件模型,學科數(shù)據庫主要負責學科知識、協(xié)商數(shù)據、模型修改數(shù)據等信息的存儲。
圖2 圖形協(xié)同組件框架結構
圖形協(xié)同瀏覽功能是使設計參與者能通過網絡同角度、同視圖、同步地控制瀏覽網絡三維模型,為設計方案的商定帶來便利。首先,要選定網絡上可以瀏覽的三維模型格式。商用三維設計軟件可生成多種格式的三維模型,如 prt、igs、set、vda、wrl等。根據網絡平臺的需要及不同三維模型格式的特點,本文采用wrl文件格式,即虛擬現(xiàn)實建模語言VRML(virtual reality modeling language)格式作為網絡圖形協(xié)同的格式。VRML聯(lián)盟的目標是將Web3D的實現(xiàn)方式標準化。各種商用三維建模軟件都支持VRML格式的輸出,為異構CAD系統(tǒng)提供統(tǒng)一的產品模型標準,實現(xiàn)產品模型在網絡上的自如顯示。
實現(xiàn)三維模型的網絡平臺顯示后,應解決客戶端對網絡三維模型的參數(shù)化控制??蛻舳藢θS模型的姿態(tài)控制主要是6個自由度的定量控制,即X、Y、Z三個方向的平動和轉動,見圖3,這樣便于三維實體空間姿態(tài)信息的傳遞。本系統(tǒng)采用Java編程方法,調用VRML的外部通用接口EAI(external authoring interface)中的功能類庫,實現(xiàn)VRML場景外Java applet小程序對VRML事件模型的訪問,從而控制VRML場景,最終把Java applet與VRML場景嵌入到同一網頁中,實現(xiàn)網絡三維模型控制。這些控制信息再通過Java applet與網絡后端的Servlet通信方式來實現(xiàn)客戶端之間的姿態(tài)信息傳遞。例如,設計參與者a已修改模型的姿態(tài)信息,則系統(tǒng)會自動把修改信息發(fā)布到各客戶端網頁的文本框中,如圖3所示。若本地需要采納設計者a的三維模型姿態(tài),則可通過Refresh功能使模型的顯示姿態(tài)與參與者a的一模一樣,從而實現(xiàn)模型的協(xié)同瀏覽。
圖3 Applet對VRML模型的網絡控制
在同步協(xié)同設計過程中,常常需要對模型進行修改。對于模型庫中沒有的模型,只能是把修改后的模型文件以各種網絡傳輸方式傳遞給各客戶端;對于模型庫中已有的模型則傳遞修改的參數(shù)即可。例如,設計參與者可通過調用圖3中Set-Parameter功能修改從動盤轂參數(shù),修改界面如圖4所示。通過該頁面,客戶端可修改服務器數(shù)據庫中從動盤轂的參數(shù),以便其他客戶端的調用。運用JSP網絡編程及網絡后端的JavaBean,能方便地實現(xiàn)服務器數(shù)據庫參數(shù)的修改及權限的控制。
圖4 修改從動盤轂參數(shù)的修改界面
在獲取修改參數(shù)、自動更新模型方面,本系統(tǒng)應用Visual C++和Pro/TOOKIT對Pro/Engineer野火版進行二次開發(fā),得到模型自動更新插件,并安裝于客戶端,實現(xiàn)對服務器數(shù)據庫設計參數(shù)的提取和模型的自動生成。如圖5所示,通過調用“提取數(shù)據”功能,得到服務器數(shù)據庫中最新設計參數(shù),從而由插件自動生成新的三維實體。在實現(xiàn)設計參數(shù)提取功能方面,通過對比套接字Socket、RMI及http協(xié)議等各種通信方式的特點,最終采取了在VC環(huán)境下http通信協(xié)議方式,實現(xiàn)廣域網范圍的數(shù)據傳輸。至此,其他設計參與者對模型的修改就可在本客戶端中得以體現(xiàn),實現(xiàn)三維模型的協(xié)同修改。
在協(xié)同設計過程中,由于每個設計小組的專業(yè)背景、知識水平和目標等方面存在差異,再加上每個設計小組都會自然而然地更多考慮自身的局部利益,必然導致沖突的產生[7]。在沖突產生時就需要通過有效的協(xié)商進行解決,共同決定設計方案的修改。這種設計上的協(xié)商結果最終將體現(xiàn)在產品設計參數(shù)上,即設計參數(shù)的商定是同步協(xié)同設計協(xié)商的核心。協(xié)商組件除了提供普通網絡聊天功能外,更重要的是通過協(xié)商策略模型實現(xiàn)協(xié)商過程的指導,使協(xié)商過程在保證團隊整體利益最大化的前提下往參數(shù)收斂的方向發(fā)展,最終給出推薦的參數(shù)值集。
圖5 提取設計參數(shù)重構實體模型
為實現(xiàn)協(xié)商策略模型,需建立整個協(xié)商過程的數(shù)學模型,方便計算機處理。根據協(xié)同設計系統(tǒng)中協(xié)商的合作競爭性、專業(yè)依賴性、折衷妥協(xié)性、多域性和全局性等特點,在博弈論和協(xié)商理論基礎上建立協(xié)商過程數(shù)學模型,如式(1)所示。
通過式(1)的數(shù)學模型可把各學科參與者的行為以程序算法的形式體現(xiàn)出來,得到相應程序代碼,實現(xiàn)協(xié)商過程的數(shù)字化處理,進而得到具有最高整體回報值的參數(shù)集,整個協(xié)商過程如圖6所示。圖中顯示一輪協(xié)商過程分4步完成。第1步是協(xié)商問題的提出與決策樹的編輯,例如壓緊彈簧可采用膜片彈簧、螺柱螺旋彈簧、矩形截面彈簧等方式實現(xiàn),其中膜片彈簧又有不同材質選擇,這樣就可以得到不同的決策組,各決策組中都對m個設計參數(shù)進行商定,從決策問題到決策組整體構成了決策樹,在協(xié)同網中采用可擴展標記語言XML(extensible markup language)的方式進行編輯。第2步是各學科參與者通過選定不同的讓步冪值n,對不同決策組中m個參數(shù)選擇不同的回報函數(shù)和權值,體現(xiàn)參與者對本決策組的觀點。圖6第2步中方框內的曲線就是學科參與者根據設計參數(shù)選定的回報函數(shù),即式(1)中的P1和P2,若為空白則表示該學科參與者對本設計參數(shù)不感興趣,并不會影響到本學科的回報值。第3步,根據式(1)中的Pji,對各決策組中m個參數(shù)的回報函數(shù)進行加權疊加,得到相應決策組中參數(shù)的總回報函數(shù),如圖6第3步中的方框,并通過式(1)中的Vp計算推薦的參數(shù)值,按照決策組對m個參數(shù)的最大回報值進行疊加,例如圖6中決策組1得到600的總回報值、決策組2得到690的總回報值等,通過比較總回報值得到推薦的決策組及m個參數(shù)的推薦值。第4步,判斷各學科參與者是否同意推薦方案,若同意則完成協(xié)商過程得到m個參數(shù)的推薦值,若不同意則回到第2步,調整讓步值。
基于以上策略模型,協(xié)商組件框架結構如圖7所示。
協(xié)商組件主要包括以下部分:
1)接口層。功能與圖形協(xié)同組件采用統(tǒng)一標準及功能。
2)處理層。協(xié)商策略模型通過計算機算法及Java編程形成協(xié)商策略模塊,分布在網絡后端,輔助協(xié)商整個過程。協(xié)商組件采用XML作為通訊語言,通過XML解析器與Java編程實現(xiàn)網絡平臺下的XML文檔處理功能,方便設計參與者把協(xié)商內容編輯為XML文檔,使計算機能理解協(xié)商內容,掌握設計者的設計意圖。
3)數(shù)據層。學科數(shù)據庫主要用于學科知識、協(xié)商過程中涉及到的參數(shù)的存儲;學科共享本體主要是為產品制定的各級標準及相關術語[8]。
協(xié)商組件的網絡平臺運行效果如圖8所示。
圖6 協(xié)商處理過程
圖7 協(xié)商組件框架結構
圖8 網絡協(xié)商界面
圖形協(xié)同與網絡協(xié)商組件功能是協(xié)同設計系統(tǒng)的核心,它們擔負著協(xié)同設計系統(tǒng)中主要信息的傳輸與處理工作。通過網絡平臺測試,本協(xié)同設計系統(tǒng)已實現(xiàn)三維實體模型的網絡協(xié)同瀏覽及協(xié)同修改功能,并在協(xié)商設計參數(shù)時能根據協(xié)商策略算法給出推薦決策組及參數(shù)值組,使協(xié)商過程高效、協(xié)商結果合理。特別是在設計參與者多,需要商定的參數(shù)也比較多的情況,協(xié)商策略組件能把握整體利益,起到整體統(tǒng)籌指導的作用。
這些功能的實現(xiàn)為同步協(xié)同設計帶來了極大便利,使參與者能同角度、同視圖、同步地瀏覽三維模型、修改模型,同時進行面向設計參數(shù)的協(xié)商,使眾多異地參與者就像坐在同一臺電腦前進行共同協(xié)商設計一樣。系統(tǒng)應用了http、JSP、Java、RMI、Applet、Servlet、VRML 等多項網絡開發(fā)技術,實現(xiàn)網絡協(xié)同設計的核心功能,在協(xié)同設計系統(tǒng)中起到關鍵性的作用,為計算機輔助協(xié)同工作(CSCW)的實現(xiàn)提供了一種新的途徑。
[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]羅亞波,肖田元.機械產品協(xié)同設計同步效率提升策略研究[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的同步遠程協(xié)同產品設計的實現(xiàn)[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,王海衛(wèi).精通RMI:Java與EJB企業(yè)級應用開發(fā)[M].北京:機械工業(yè)出版社,2003.
[7]金貴林,容芷君,應保勝.基于設計目標最大化的協(xié)同設計沖突消解算法[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.