羅志偉
(廈門理工學院機械工程系,廈門 361024)
現代企業產品的創新開發正朝著全球化和敏捷化方向發展,產品數字化模型的設計交流與合作需依賴于新型的、適應網絡化的、具有異地工作模式的設計工具。協同設計是網絡化制造的一個重要組成部分,是智力資源集成與優化的有效途徑[1]。協同設計以快速、經濟地開發產品為目標,使團隊成員通過協作實現資源和信息共享,合作完成任務。協同設計可分為同步協同與異步協同,2類協同都具有異地性,主要區別在于響應的實時性[2]。異步協同對每個網絡結點的配置要求較高,響應周期較長;而同步協同交互響應是實時的,實現難度較大,應用成果較少,網絡傳輸效率是其實現的瓶頸[3]。
目前,由于尚未出現較完備的商用網絡協同設計系統,較為普遍的協同設計方法是利用現成的網絡工具,如電子郵件、視頻聊天軟件、白板、FTP等來實現協同工作[4]。然而,在這種工作模式下,工作進程繁瑣、協同周期長、系統性差,參與設計的人員無法進行實時的產品設計合作,屬于效率較低的異步工作模式。據此,本文試圖從同步協同的角度出發,研究在Web環境下同步協同設計系統的框架及實現方法,并重點介紹三維實體協同瀏覽與修改、協商策略模型等內容。本系統的開發推動了異地多學科設計人員的協同設計與交流,縮短了產品開發周期,降低了產品開發成本。
協同設計是一個異地、多學科、多參與者協調合作的過程。在整個協同設計過程中會牽涉到不同學科、領域的知識及軟件功能調用[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所示。考慮到產品模型的共享性、模型的專業性及網絡的實現方式,圖形協同組件采用3層結構,包括接口層、處理層及數據層。接口層是各學科知識、功能相互調用的通道;處理層完成產品模型的商用軟件自動建模、網絡轉換、網絡控制和數據通訊,使產品建模更加專業、通用,實現模型的網絡協同瀏覽及修改;數據層進行學科模型和學科數據的存儲,其中,學科模型庫主要存儲通用產品零部件模型,學科數據庫主要負責學科知識、協商數據、模型修改數據等信息的存儲。

圖2 圖形協同組件框架結構
圖形協同瀏覽功能是使設計參與者能通過網絡同角度、同視圖、同步地控制瀏覽網絡三維模型,為設計方案的商定帶來便利。首先,要選定網絡上可以瀏覽的三維模型格式。商用三維設計軟件可生成多種格式的三維模型,如 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模型的網絡控制
在同步協同設計過程中,常常需要對模型進行修改。對于模型庫中沒有的模型,只能是把修改后的模型文件以各種網絡傳輸方式傳遞給各客戶端;對于模型庫中已有的模型則傳遞修改的參數即可。例如,設計參與者可通過調用圖3中Set-Parameter功能修改從動盤轂參數,修改界面如圖4所示。通過該頁面,客戶端可修改服務器數據庫中從動盤轂的參數,以便其他客戶端的調用。運用JSP網絡編程及網絡后端的JavaBean,能方便地實現服務器數據庫參數的修改及權限的控制。

圖4 修改從動盤轂參數的修改界面
在獲取修改參數、自動更新模型方面,本系統應用Visual C++和Pro/TOOKIT對Pro/Engineer野火版進行二次開發,得到模型自動更新插件,并安裝于客戶端,實現對服務器數據庫設計參數的提取和模型的自動生成。如圖5所示,通過調用“提取數據”功能,得到服務器數據庫中最新設計參數,從而由插件自動生成新的三維實體。在實現設計參數提取功能方面,通過對比套接字Socket、RMI及http協議等各種通信方式的特點,最終采取了在VC環境下http通信協議方式,實現廣域網范圍的數據傳輸。至此,其他設計參與者對模型的修改就可在本客戶端中得以體現,實現三維模型的協同修改。
在協同設計過程中,由于每個設計小組的專業背景、知識水平和目標等方面存在差異,再加上每個設計小組都會自然而然地更多考慮自身的局部利益,必然導致沖突的產生[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步,調整讓步值。
基于以上策略模型,協商組件框架結構如圖7所示。
協商組件主要包括以下部分:
1)接口層。功能與圖形協同組件采用統一標準及功能。
2)處理層。協商策略模型通過計算機算法及Java編程形成協商策略模塊,分布在網絡后端,輔助協商整個過程。協商組件采用XML作為通訊語言,通過XML解析器與Java編程實現網絡平臺下的XML文檔處理功能,方便設計參與者把協商內容編輯為XML文檔,使計算機能理解協商內容,掌握設計者的設計意圖。
3)數據層。學科數據庫主要用于學科知識、協商過程中涉及到的參數的存儲;學科共享本體主要是為產品制定的各級標準及相關術語[8]。
協商組件的網絡平臺運行效果如圖8所示。

圖6 協商處理過程

圖7 協商組件框架結構

圖8 網絡協商界面
圖形協同與網絡協商組件功能是協同設計系統的核心,它們擔負著協同設計系統中主要信息的傳輸與處理工作。通過網絡平臺測試,本協同設計系統已實現三維實體模型的網絡協同瀏覽及協同修改功能,并在協商設計參數時能根據協商策略算法給出推薦決策組及參數值組,使協商過程高效、協商結果合理。特別是在設計參與者多,需要商定的參數也比較多的情況,協商策略組件能把握整體利益,起到整體統籌指導的作用。
這些功能的實現為同步協同設計帶來了極大便利,使參與者能同角度、同視圖、同步地瀏覽三維模型、修改模型,同時進行面向設計參數的協商,使眾多異地參與者就像坐在同一臺電腦前進行共同協商設計一樣。系統應用了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.