王成勇 錢凌云 陳從升 李 亨 韓 豫 劉全坤
合肥工業大學,合肥,230009
方案,開發了模具專家在線工藝討論系統。
先進制造技術和網絡技術的迅速發展正深刻改變著傳統的工藝設計模式。基于網絡的協同工藝設計應運而生,并逐漸成為一門具備多學科性和群體協作性的工程[1]。如何有效地在網絡環境下進行團隊協同工藝討論,實現高效的工藝決策與技術交流,從而提高大型模具項目開發效率、縮短開發周期,是網絡環境下模具工藝協同研究的主要領域。
為了支持網絡協同工藝討論,需要開發基于網絡的多用戶共享三維模具模型并進行工藝會商的可視化交流平臺。利用這種工具平臺,異地的設計團隊成員可以進行各種工藝方案的協商討論,不僅可以進行文字信息的交流,還能對產品三維模型進行共享操縱,實現同步瀏覽與工藝設計。本文針對這一技術展開研究,提出共享三維變換矩陣的協同
協同工藝設計(process collaborative design,PCD)是解決復雜工藝難題或完成大型工藝設計任務的一種重要和有效的工作方式,它通過一個團隊中多個成員的共同努力與合作最終完成工藝設計任務。目前基于網絡的協同技術已在諸多領域得到應用,如協同醫療、協同編著、協同會簽等。在模具行業動態聯盟框架下,模具協同設計、模具數據共享與交換、模具協同模型的輕量化網絡傳輸以及多客戶端三維同步顯示與互操作等是其關鍵技術。
模具三維模型遠程同步顯示與交互是模具協同工藝討論的基礎和核心。為了實現“你見即我見(what you see is what I see,WYSIWIS)”,系統需要將協同群組中獲得令牌(Token)的成員對模具模型的三維瀏覽操作同步反映在群組所有成員的屏幕上。與通用的即時通信系統(instant messenger,IM)不同,為了保證模具工藝協同系統在公網帶寬條件下可以流暢地實現三維交互操作,暫不宜開通語音視頻數據的多點傳輸。
圍繞網絡環境下的協同瀏覽與同步交互技術,國內外學者開展了廣泛的研究。文獻[2-8]都對此進行了討論,所涉及的協同瀏覽與同步交互方案大致有三類:基于共享屏幕的方案、基于共享桌面的方案和基于對象復制的方案。
(1)基于共享屏幕的協同瀏覽方案。共享屏幕(screen sharing)又稱為共享顯示(display sharing),是早期簡單模式的多點共享方式。協同群組組員在本機(local PC)操作三維模型,其屏幕畫面被實時截取,交由協同工具傳送至其他組員的屏幕上,其實質是屏幕拷貝。這種方式難以實現相互感知,即使經過行程編碼或哈夫曼編碼壓縮,在公網多點間傳送的截屏位圖數據量也是非常大的,響應速度很慢,實時性差。由于沒有真實地傳輸三維操作參數,下一個取得控制權的協同組員無法在當前模型的形位姿態下繼續操作和瀏覽。這種限制使得協同不暢、交互性差。
(2)基于共享桌面的協同工藝方案。基于共享桌面方案需要借助遠程桌面共享技術(remote desktop sharing),一般支持音視頻(audio &video)交流、白板(whiteboard)交流、應用程序共享(program sharing)等。通過“請求控制”和“釋放控制”命令獲得控制權和釋放控制權,主控端將客戶端的鼠標和鍵盤信息轉換成控制信息并通過網絡傳送至受控端以達到控制目的,執行相關操作。目前一些三維專業軟件支持此類技術。但是大型多工位連續模的3D模型結構復雜,數據量大,而且協同工藝對3D模型操作的高交互性和實時性要求較高,因此采用共享桌面的協同工藝方案,網絡傳輸延時是主要障礙。如何減少傳輸的數據量對提高實時性十分關鍵。
(3)基于模型復制的協同瀏覽方案。前兩種協同瀏覽方案實際上都是基于視圖共享來實現的,而基于模型復制的協同方式需要在多點間復制模具三維數字模型。該方案能夠絕對地保證各組員客戶端顯示和操作模型的一致性,是一種理想的協同瀏覽方案。協同群組所有成員不僅能夠實時獲得同步的顯示結果,而且可以真正獲得改變后的模型,但是在目前帶寬條件下同樣難以滿足實時傳輸要求。文獻[9]提出了在協同過程中采用漸進式快速顯示技術實現三維幾何模型在多點間傳輸并顯示,該方案能夠實現邊傳輸邊顯示,而不是等到完整模型數據傳輸結束才顯示模型,使協同不至于出現長時間停頓,但該方法并沒有減少總的模型傳輸時間。
基于模型復制的方案與基于共享屏幕的方案在傳輸方式上非常相似,只是傳輸的內容不同,在共享屏幕的方案中傳輸的是經過幀壓縮的截屏圖像,而在基于模型復制的方案中,傳輸的是三維實體模型數據。實際上,三種協同方案只有在局域網帶寬條件下才具有現實意義。隨著設計與生產的全球化,異地環境下的協同設計、協同工藝乃至網絡協同制造已經成為一種必然的趨勢,因此,研究在Internet環境下新型的多用戶實時共享的模型數據交換和工藝協同具有重要意義。
針對多用戶三維數字模型同步顯示與交互瀏覽的開發技術研究主要有三個方向[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在三維應用開發方面,具有明顯優勢,適合開發模具工藝協同討論與網絡協同系統。
為了在動態聯盟環境下,利用有限的網絡帶寬實現模具協同工藝群組異地共享三維模型,討論工藝方案,本文提出共享變換矩陣的協同瀏覽方案。該方案采用事件驅動機制,由討論組管理員控制模型操縱與工藝設計的令牌,獲得令牌的組員可以操縱模具模型并組播工藝設計命令流(command stream)。協同客戶端實時記錄組員對三維模型所施加的瀏覽變換矩陣及工藝設計命令流,在群組內組播。所有組員共享該三維瀏覽操作及命令流,達到工藝協同設計的目的。
三維變換矩陣是由瀏覽者的鼠標事件(單擊、左鍵拖動、右鍵拖動和中鍵滾動等)觸發產生的,工藝命令流由鍵盤輸入觸發產生,因此本工藝協同方案的實質是共享事件驅動機制。這種模式不需要在多個網絡節點間傳輸模具模型數據,僅傳輸有限的變換矩陣數據(4×4矩陣中的16個雙精度浮點數)及格式化封裝的工藝命令流,數據量較少,可以實現流暢的三維協同瀏覽和工藝討論。
一次協同工藝討論過程大致如下:工藝會商發起者將制件或模具的初始輕量化模型在群組內分發;工藝專家登錄為協同組員,利用本文開發的工藝協同系統打開輕量化三維模型;發起者邀約在線工藝專家開始工藝討論,并控制令牌的發放和回收,消解協同過程的并發沖突;各個客戶端的協同模塊之間會自動進行數據監聽和信息交互,取得控制權的客戶端協同工具自動記錄并組播三維變換矩陣和工藝命令流;群組內其他組員的客戶端以特定時長周期輪循偵聽特定端口,收到變換矩陣或工藝命令流后,導入到工藝協同系統中驅動模型進行三維變換或寫入工藝文件,從而實現同步瀏覽與工藝協同設計。其原理如圖1所示。

圖1 基于共享變換矩陣的三維協同瀏覽方案
為了提高三維瀏覽速度,同時也考慮模具工藝人員可能沒有安裝專業模具CAD軟件,工藝協同系統必須能夠脫離特定CAD軟件的支持。Java 3D可以支持主流模具CAD軟件導出的中性輕量化三維模型,如 VRML、X3D、3DXML、XML3D、DXF和OBJ等,通過相應三維數據的導入接口實現對輕量化模型的操縱。
模具協同系統的三維模型空間對象按照圖2所示的節點層次結構進行組織。

圖2 三維空間對象層次結構
共享三維變換矩陣的模具協同瀏覽及工藝討論系統的功能框圖如圖3所示。核心模塊三維同步瀏覽器通過監視鼠標在三維空間中的觸發事件,記錄并生成三維模型旋轉、縮放和平移等齊次變換坐標矩陣并寫入下面的數組變量中:


圖3 模具協同瀏覽及工藝討論工具功能框圖
變換矩陣交由協同系統組播模塊傳送出去,同時協同組員可以利用工藝協同白板繪制工藝流程圖,繪圖命令也會及時組播出去,在其他組員的工藝白板上實時看到新繪制的圖形;工藝發言與工藝命令流也交由組播模塊封裝后組播出去。組播模塊還負責偵聽網絡中由其他組員發來的組播信息,并將偵聽結果進行提取和分類。
若接收到的信息為三維變換矩陣,則將連續數據流(DataStream)重新組裝成為矩陣數組導入Java 3D瀏覽器中驅動三維瀏覽;若接收的是工藝白板繪圖數據,則提取圖形類別特征碼,判定圖形類別并提取繪圖參數,再導入本地白板生成該圖形。例如圖形類別特征碼為“R”則表示矩形,接著提取對角頂點坐標信息生成該矩形;若接收到的是工藝會商發言數據,則直接組播。若接收到的是工藝設計命令流,則在工藝模板相應位置填寫對應工藝術語,同時,協同系統在接收的信息中根據模具標準件庫和典型模具工藝案例庫中的工藝術語進行關鍵詞語義自動切分,并標記為鏈接,以便協同工藝人員隨時參考相應支撐庫的資料。工藝協同系統運行界面如圖4所示。

圖4 模具工藝協同系統運行界面
上述接收信息由獲得發言權的協同組員發出,所有其他組員同步接收,實現了“WYSIWIS”。
本文討論了以共享三維變換矩陣方式實現模具工藝在線協同會商與設計。通過比較研究三種典型的協同瀏覽與同步交互技術,分析各自優缺點,提出共享變換矩陣的工藝協同新方案。闡述了新方案的理論模型和運行原理,給出了基于上述原理的模具工藝協同設計系統功能框圖,采用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.