王成勇 錢凌云 陳從升 李 亨 韓 豫 劉全坤
合肥工業(yè)大學(xué),合肥,230009
方案,開(kāi)發(fā)了模具專家在線工藝討論系統(tǒng)。
先進(jìn)制造技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展正深刻改變著傳統(tǒng)的工藝設(shè)計(jì)模式?;诰W(wǎng)絡(luò)的協(xié)同工藝設(shè)計(jì)應(yīng)運(yùn)而生,并逐漸成為一門具備多學(xué)科性和群體協(xié)作性的工程[1]。如何有效地在網(wǎng)絡(luò)環(huán)境下進(jìn)行團(tuán)隊(duì)協(xié)同工藝討論,實(shí)現(xiàn)高效的工藝決策與技術(shù)交流,從而提高大型模具項(xiàng)目開(kāi)發(fā)效率、縮短開(kāi)發(fā)周期,是網(wǎng)絡(luò)環(huán)境下模具工藝協(xié)同研究的主要領(lǐng)域。
為了支持網(wǎng)絡(luò)協(xié)同工藝討論,需要開(kāi)發(fā)基于網(wǎng)絡(luò)的多用戶共享三維模具模型并進(jìn)行工藝會(huì)商的可視化交流平臺(tái)。利用這種工具平臺(tái),異地的設(shè)計(jì)團(tuán)隊(duì)成員可以進(jìn)行各種工藝方案的協(xié)商討論,不僅可以進(jìn)行文字信息的交流,還能對(duì)產(chǎn)品三維模型進(jìn)行共享操縱,實(shí)現(xiàn)同步瀏覽與工藝設(shè)計(jì)。本文針對(duì)這一技術(shù)展開(kāi)研究,提出共享三維變換矩陣的協(xié)同
協(xié)同工藝設(shè)計(jì)(process collaborative design,PCD)是解決復(fù)雜工藝難題或完成大型工藝設(shè)計(jì)任務(wù)的一種重要和有效的工作方式,它通過(guò)一個(gè)團(tuán)隊(duì)中多個(gè)成員的共同努力與合作最終完成工藝設(shè)計(jì)任務(wù)。目前基于網(wǎng)絡(luò)的協(xié)同技術(shù)已在諸多領(lǐng)域得到應(yīng)用,如協(xié)同醫(yī)療、協(xié)同編著、協(xié)同會(huì)簽等。在模具行業(yè)動(dòng)態(tài)聯(lián)盟框架下,模具協(xié)同設(shè)計(jì)、模具數(shù)據(jù)共享與交換、模具協(xié)同模型的輕量化網(wǎng)絡(luò)傳輸以及多客戶端三維同步顯示與互操作等是其關(guān)鍵技術(shù)。
模具三維模型遠(yuǎn)程同步顯示與交互是模具協(xié)同工藝討論的基礎(chǔ)和核心。為了實(shí)現(xiàn)“你見(jiàn)即我見(jiàn)(what you see is what I see,WYSIWIS)”,系統(tǒng)需要將協(xié)同群組中獲得令牌(Token)的成員對(duì)模具模型的三維瀏覽操作同步反映在群組所有成員的屏幕上。與通用的即時(shí)通信系統(tǒng)(instant messenger,IM)不同,為了保證模具工藝協(xié)同系統(tǒng)在公網(wǎng)帶寬條件下可以流暢地實(shí)現(xiàn)三維交互操作,暫不宜開(kāi)通語(yǔ)音視頻數(shù)據(jù)的多點(diǎn)傳輸。
圍繞網(wǎng)絡(luò)環(huán)境下的協(xié)同瀏覽與同步交互技術(shù),國(guó)內(nèi)外學(xué)者開(kāi)展了廣泛的研究。文獻(xiàn)[2-8]都對(duì)此進(jìn)行了討論,所涉及的協(xié)同瀏覽與同步交互方案大致有三類:基于共享屏幕的方案、基于共享桌面的方案和基于對(duì)象復(fù)制的方案。
(1)基于共享屏幕的協(xié)同瀏覽方案。共享屏幕(screen sharing)又稱為共享顯示(display sharing),是早期簡(jiǎn)單模式的多點(diǎn)共享方式。協(xié)同群組組員在本機(jī)(local PC)操作三維模型,其屏幕畫(huà)面被實(shí)時(shí)截取,交由協(xié)同工具傳送至其他組員的屏幕上,其實(shí)質(zhì)是屏幕拷貝。這種方式難以實(shí)現(xiàn)相互感知,即使經(jīng)過(guò)行程編碼或哈夫曼編碼壓縮,在公網(wǎng)多點(diǎn)間傳送的截屏位圖數(shù)據(jù)量也是非常大的,響應(yīng)速度很慢,實(shí)時(shí)性差。由于沒(méi)有真實(shí)地傳輸三維操作參數(shù),下一個(gè)取得控制權(quán)的協(xié)同組員無(wú)法在當(dāng)前模型的形位姿態(tài)下繼續(xù)操作和瀏覽。這種限制使得協(xié)同不暢、交互性差。
(2)基于共享桌面的協(xié)同工藝方案?;诠蚕碜烂娣桨感枰柚h(yuǎn)程桌面共享技術(shù)(remote desktop sharing),一般支持音視頻(audio &video)交流、白板(whiteboard)交流、應(yīng)用程序共享(program sharing)等。通過(guò)“請(qǐng)求控制”和“釋放控制”命令獲得控制權(quán)和釋放控制權(quán),主控端將客戶端的鼠標(biāo)和鍵盤信息轉(zhuǎn)換成控制信息并通過(guò)網(wǎng)絡(luò)傳送至受控端以達(dá)到控制目的,執(zhí)行相關(guān)操作。目前一些三維專業(yè)軟件支持此類技術(shù)。但是大型多工位連續(xù)模的3D模型結(jié)構(gòu)復(fù)雜,數(shù)據(jù)量大,而且協(xié)同工藝對(duì)3D模型操作的高交互性和實(shí)時(shí)性要求較高,因此采用共享桌面的協(xié)同工藝方案,網(wǎng)絡(luò)傳輸延時(shí)是主要障礙。如何減少傳輸?shù)臄?shù)據(jù)量對(duì)提高實(shí)時(shí)性十分關(guān)鍵。
(3)基于模型復(fù)制的協(xié)同瀏覽方案。前兩種協(xié)同瀏覽方案實(shí)際上都是基于視圖共享來(lái)實(shí)現(xiàn)的,而基于模型復(fù)制的協(xié)同方式需要在多點(diǎn)間復(fù)制模具三維數(shù)字模型。該方案能夠絕對(duì)地保證各組員客戶端顯示和操作模型的一致性,是一種理想的協(xié)同瀏覽方案。協(xié)同群組所有成員不僅能夠?qū)崟r(shí)獲得同步的顯示結(jié)果,而且可以真正獲得改變后的模型,但是在目前帶寬條件下同樣難以滿足實(shí)時(shí)傳輸要求。文獻(xiàn)[9]提出了在協(xié)同過(guò)程中采用漸進(jìn)式快速顯示技術(shù)實(shí)現(xiàn)三維幾何模型在多點(diǎn)間傳輸并顯示,該方案能夠?qū)崿F(xiàn)邊傳輸邊顯示,而不是等到完整模型數(shù)據(jù)傳輸結(jié)束才顯示模型,使協(xié)同不至于出現(xiàn)長(zhǎng)時(shí)間停頓,但該方法并沒(méi)有減少總的模型傳輸時(shí)間。
基于模型復(fù)制的方案與基于共享屏幕的方案在傳輸方式上非常相似,只是傳輸?shù)膬?nèi)容不同,在共享屏幕的方案中傳輸?shù)氖墙?jīng)過(guò)幀壓縮的截屏圖像,而在基于模型復(fù)制的方案中,傳輸?shù)氖侨S實(shí)體模型數(shù)據(jù)。實(shí)際上,三種協(xié)同方案只有在局域網(wǎng)帶寬條件下才具有現(xiàn)實(shí)意義。隨著設(shè)計(jì)與生產(chǎn)的全球化,異地環(huán)境下的協(xié)同設(shè)計(jì)、協(xié)同工藝乃至網(wǎng)絡(luò)協(xié)同制造已經(jīng)成為一種必然的趨勢(shì),因此,研究在Internet環(huán)境下新型的多用戶實(shí)時(shí)共享的模型數(shù)據(jù)交換和工藝協(xié)同具有重要意義。
針對(duì)多用戶三維數(shù)字模型同步顯示與交互瀏覽的開(kāi)發(fā)技術(shù)研究主要有三個(gè)方向[10]。
(1)基于 CGI(common gateway interface)的網(wǎng)絡(luò)三維協(xié)同開(kāi)發(fā)。CGI技術(shù)是外部擴(kuò)展應(yīng)用程序與WWW服務(wù)器交互的一個(gè)標(biāo)準(zhǔn)接口。按照CGI標(biāo)準(zhǔn)編寫的外部擴(kuò)展應(yīng)用程序可以處理遠(yuǎn)程客戶端輸入的協(xié)同工作數(shù)據(jù),完成客戶端與服務(wù)器的交互操作。服務(wù)器在任一時(shí)刻只允許一個(gè)客戶端的操作請(qǐng)求,并存儲(chǔ)該客戶端的操作結(jié)果。其他用戶通過(guò)客戶端工具實(shí)時(shí)從服務(wù)器取回模型操作結(jié)果,并顯示在屏幕上,從而達(dá)到同步顯示和交互操作目的。
(2)基于 VRML(virtual reality modeling language)的網(wǎng)絡(luò)三維協(xié)同開(kāi)發(fā)。VRML作為三維模型的輕量化格式可以構(gòu)建三維虛擬世界(3D virtual world),描繪三維虛擬場(chǎng)景[11],網(wǎng)絡(luò)分布式協(xié)同系統(tǒng)控制VRML場(chǎng)景中的三維物體實(shí)現(xiàn)遠(yuǎn)程操作和瀏覽[12]。
(3)基于Java3D的網(wǎng)絡(luò)三維協(xié)同開(kāi)發(fā)。Java 3D是一種三維圖形應(yīng)用編程接口,可在較高層次上調(diào)用基本圖元構(gòu)造復(fù)雜的模具三維實(shí)體模型,將三維對(duì)象作為場(chǎng)景中的節(jié)點(diǎn)添加到三維空間中,在目前應(yīng)用較廣的三維開(kāi)發(fā)技術(shù)OpenGL、Direct3D和Java 3D中[13]。Java 3D在三維應(yīng)用開(kāi)發(fā)方面,具有明顯優(yōu)勢(shì),適合開(kāi)發(fā)模具工藝協(xié)同討論與網(wǎng)絡(luò)協(xié)同系統(tǒng)。
為了在動(dòng)態(tài)聯(lián)盟環(huán)境下,利用有限的網(wǎng)絡(luò)帶寬實(shí)現(xiàn)模具協(xié)同工藝群組異地共享三維模型,討論工藝方案,本文提出共享變換矩陣的協(xié)同瀏覽方案。該方案采用事件驅(qū)動(dòng)機(jī)制,由討論組管理員控制模型操縱與工藝設(shè)計(jì)的令牌,獲得令牌的組員可以操縱模具模型并組播工藝設(shè)計(jì)命令流(command stream)。協(xié)同客戶端實(shí)時(shí)記錄組員對(duì)三維模型所施加的瀏覽變換矩陣及工藝設(shè)計(jì)命令流,在群組內(nèi)組播。所有組員共享該三維瀏覽操作及命令流,達(dá)到工藝協(xié)同設(shè)計(jì)的目的。
三維變換矩陣是由瀏覽者的鼠標(biāo)事件(單擊、左鍵拖動(dòng)、右鍵拖動(dòng)和中鍵滾動(dòng)等)觸發(fā)產(chǎn)生的,工藝命令流由鍵盤輸入觸發(fā)產(chǎn)生,因此本工藝協(xié)同方案的實(shí)質(zhì)是共享事件驅(qū)動(dòng)機(jī)制。這種模式不需要在多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間傳輸模具模型數(shù)據(jù),僅傳輸有限的變換矩陣數(shù)據(jù)(4×4矩陣中的16個(gè)雙精度浮點(diǎn)數(shù))及格式化封裝的工藝命令流,數(shù)據(jù)量較少,可以實(shí)現(xiàn)流暢的三維協(xié)同瀏覽和工藝討論。
一次協(xié)同工藝討論過(guò)程大致如下:工藝會(huì)商發(fā)起者將制件或模具的初始輕量化模型在群組內(nèi)分發(fā);工藝專家登錄為協(xié)同組員,利用本文開(kāi)發(fā)的工藝協(xié)同系統(tǒng)打開(kāi)輕量化三維模型;發(fā)起者邀約在線工藝專家開(kāi)始工藝討論,并控制令牌的發(fā)放和回收,消解協(xié)同過(guò)程的并發(fā)沖突;各個(gè)客戶端的協(xié)同模塊之間會(huì)自動(dòng)進(jìn)行數(shù)據(jù)監(jiān)聽(tīng)和信息交互,取得控制權(quán)的客戶端協(xié)同工具自動(dòng)記錄并組播三維變換矩陣和工藝命令流;群組內(nèi)其他組員的客戶端以特定時(shí)長(zhǎng)周期輪循偵聽(tīng)特定端口,收到變換矩陣或工藝命令流后,導(dǎo)入到工藝協(xié)同系統(tǒng)中驅(qū)動(dòng)模型進(jìn)行三維變換或?qū)懭牍に囄募?,從而?shí)現(xiàn)同步瀏覽與工藝協(xié)同設(shè)計(jì)。其原理如圖1所示。
圖1 基于共享變換矩陣的三維協(xié)同瀏覽方案
為了提高三維瀏覽速度,同時(shí)也考慮模具工藝人員可能沒(méi)有安裝專業(yè)模具CAD軟件,工藝協(xié)同系統(tǒng)必須能夠脫離特定CAD軟件的支持。Java 3D可以支持主流模具CAD軟件導(dǎo)出的中性輕量化三維模型,如 VRML、X3D、3DXML、XML3D、DXF和OBJ等,通過(guò)相應(yīng)三維數(shù)據(jù)的導(dǎo)入接口實(shí)現(xiàn)對(duì)輕量化模型的操縱。
模具協(xié)同系統(tǒng)的三維模型空間對(duì)象按照?qǐng)D2所示的節(jié)點(diǎn)層次結(jié)構(gòu)進(jìn)行組織。
圖2 三維空間對(duì)象層次結(jié)構(gòu)
共享三維變換矩陣的模具協(xié)同瀏覽及工藝討論系統(tǒng)的功能框圖如圖3所示。核心模塊三維同步瀏覽器通過(guò)監(jiān)視鼠標(biāo)在三維空間中的觸發(fā)事件,記錄并生成三維模型旋轉(zhuǎn)、縮放和平移等齊次變換坐標(biāo)矩陣并寫入下面的數(shù)組變量中:
圖3 模具協(xié)同瀏覽及工藝討論工具功能框圖
變換矩陣交由協(xié)同系統(tǒng)組播模塊傳送出去,同時(shí)協(xié)同組員可以利用工藝協(xié)同白板繪制工藝流程圖,繪圖命令也會(huì)及時(shí)組播出去,在其他組員的工藝白板上實(shí)時(shí)看到新繪制的圖形;工藝發(fā)言與工藝命令流也交由組播模塊封裝后組播出去。組播模塊還負(fù)責(zé)偵聽(tīng)網(wǎng)絡(luò)中由其他組員發(fā)來(lái)的組播信息,并將偵聽(tīng)結(jié)果進(jìn)行提取和分類。
若接收到的信息為三維變換矩陣,則將連續(xù)數(shù)據(jù)流(DataStream)重新組裝成為矩陣數(shù)組導(dǎo)入Java 3D瀏覽器中驅(qū)動(dòng)三維瀏覽;若接收的是工藝白板繪圖數(shù)據(jù),則提取圖形類別特征碼,判定圖形類別并提取繪圖參數(shù),再導(dǎo)入本地白板生成該圖形。例如圖形類別特征碼為“R”則表示矩形,接著提取對(duì)角頂點(diǎn)坐標(biāo)信息生成該矩形;若接收到的是工藝會(huì)商發(fā)言數(shù)據(jù),則直接組播。若接收到的是工藝設(shè)計(jì)命令流,則在工藝模板相應(yīng)位置填寫對(duì)應(yīng)工藝術(shù)語(yǔ),同時(shí),協(xié)同系統(tǒng)在接收的信息中根據(jù)模具標(biāo)準(zhǔn)件庫(kù)和典型模具工藝案例庫(kù)中的工藝術(shù)語(yǔ)進(jìn)行關(guān)鍵詞語(yǔ)義自動(dòng)切分,并標(biāo)記為鏈接,以便協(xié)同工藝人員隨時(shí)參考相應(yīng)支撐庫(kù)的資料。工藝協(xié)同系統(tǒng)運(yùn)行界面如圖4所示。
圖4 模具工藝協(xié)同系統(tǒng)運(yùn)行界面
上述接收信息由獲得發(fā)言權(quán)的協(xié)同組員發(fā)出,所有其他組員同步接收,實(shí)現(xiàn)了“WYSIWIS”。
本文討論了以共享三維變換矩陣方式實(shí)現(xiàn)模具工藝在線協(xié)同會(huì)商與設(shè)計(jì)。通過(guò)比較研究三種典型的協(xié)同瀏覽與同步交互技術(shù),分析各自優(yōu)缺點(diǎn),提出共享變換矩陣的工藝協(xié)同新方案。闡述了新方案的理論模型和運(yùn)行原理,給出了基于上述原理的模具工藝協(xié)同設(shè)計(jì)系統(tǒng)功能框圖,采用Java 3D技術(shù)開(kāi)發(fā)了模具工藝協(xié)同原型實(shí)驗(yàn)系統(tǒng)。
本文創(chuàng)新點(diǎn)在于將跨平臺(tái)的JAVA3D技術(shù)和網(wǎng)絡(luò)協(xié)同技術(shù)運(yùn)用于模具專業(yè)領(lǐng)域。該創(chuàng)新點(diǎn)借助網(wǎng)絡(luò)共享三維模型變換矩陣和工藝命令流,實(shí)現(xiàn)多工藝專家協(xié)同完成大型復(fù)雜零部件成形模具工藝設(shè)計(jì),嘗試改變傳統(tǒng)單人單機(jī)難以完成大型成套模具工藝設(shè)計(jì)的現(xiàn)狀。
[1]范玉順.網(wǎng)絡(luò)化制造的內(nèi)涵與關(guān)鍵技術(shù)問(wèn)題[J].計(jì)算機(jī)集成制造系統(tǒng)——CIMS,2003,9(7):576-582.
[2]王成勇,劉全坤,胡龍飛,等.基于 Web3D/STEP的模具協(xié)同設(shè)計(jì)聯(lián)盟數(shù)據(jù)共享研究[J].中國(guó)機(jī)械工程,2006,17(23):2477-2481.
[3]莫蓉,張軍波,萬(wàn)能.基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)協(xié)同造型技術(shù)研究[J].中國(guó)機(jī)械工程,2007,18(18):2201-2205.
[4]張曉冬,楊育,李國(guó)龍,等.網(wǎng)絡(luò)化協(xié)同設(shè)計(jì)環(huán)境下4C集成服務(wù)模型與平臺(tái)研究[J].中國(guó)機(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]陳亮,王偉.產(chǎn)品多學(xué)科協(xié)同設(shè)計(jì)中的一致性維護(hù)方法[J].中國(guó)機(jī)械工程,2010,21(12):1447-1468.
[8]楊煜俊,陳新度,陳新,等.基于五維狀態(tài)空間的產(chǎn)品建模方法研究[J].中國(guó)機(jī)械工程,2007,18(4):407-453.
[9]莫蓉,常智勇,張毅瀾,等.協(xié)同設(shè)計(jì)中三維幾何模型漸進(jìn)式快速顯示技術(shù)研究[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2004,16(10):1341-1345.
[10]周祖德,盛步云.數(shù)字化協(xié)同與網(wǎng)絡(luò)交互設(shè)計(jì)[M].北京:科學(xué)出版社,2005.
[11]馮桂珍,池建斌,王晨,等.VRML模型創(chuàng)建工具中可視化交互操作的設(shè)計(jì)和實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào),2006,18(2):387-390.
[12]周自強(qiáng),沈連婠,李木軍,等.面向用戶的產(chǎn)品虛擬模型協(xié)同討論環(huán)境的實(shí)現(xiàn)[J].工程圖學(xué)學(xué)報(bào),2005,26(3):5-11.
[13]王映輝.3D建模與編程技術(shù)[J].計(jì)算機(jī)應(yīng)用研究,2004(1):37-43.