李 彬,崔漢國,李正民,崔霽月(海軍工程大學(xué) 動力工程學(xué)院,湖北 武漢 430033)
維修理論
基于共享子網(wǎng)合成Petri網(wǎng)的協(xié)同虛擬維修系統(tǒng)
李 彬,崔漢國,李正民,崔霽月
(海軍工程大學(xué) 動力工程學(xué)院,湖北 武漢 430033)
為實現(xiàn)大型復(fù)雜裝備多人協(xié)同虛擬維修訓(xùn)練,解決并行、資源競爭等協(xié)同工作問題,提出了面向協(xié)同維修的共享子網(wǎng)合成Perti網(wǎng)的過程建模方法,實現(xiàn)了仿真任務(wù)的層次化建模、虛擬樣機建模、維修過程建模以及視景仿真及程序驅(qū)動等關(guān)鍵技術(shù)。分析協(xié)同系統(tǒng)的功能需求、基于虛擬現(xiàn)實開發(fā)平臺EON Studio功能節(jié)點的人機交互技術(shù)和EON X與Visual Studio 2005的集成通信功能,搭建了協(xié)同虛擬維修仿真平臺的系統(tǒng)框架,開發(fā)了協(xié)同虛擬維修訓(xùn)練仿真系統(tǒng)。以某型號船舶主動力裝置齒輪箱故障軸承維修拆換為例,說明了協(xié)同虛擬維修系統(tǒng)的工作過程并對相關(guān)關(guān)鍵技術(shù)進(jìn)行了驗證。
虛擬維修;協(xié)同;合成Perti網(wǎng)
隨著數(shù)字化技術(shù)和虛擬現(xiàn)實技術(shù)的發(fā)展,維修訓(xùn)練技術(shù)已經(jīng)從傳統(tǒng)的實裝維修訓(xùn)練發(fā)展到以計算機仿真技術(shù)與虛擬現(xiàn)實技術(shù)結(jié)合的虛擬維修訓(xùn)練階段。同時,隨著虛擬維修任務(wù)要求的不斷提高,特別是針對大型復(fù)雜裝備及多維修人員參與的維修任務(wù),虛擬維修訓(xùn)練逐漸向網(wǎng)絡(luò)化協(xié)同化維修新模式發(fā)展,協(xié)同虛擬維修技術(shù)因此應(yīng)運而生。協(xié)同虛擬維修技術(shù)就是以計算機、網(wǎng)絡(luò)和虛擬現(xiàn)實等技術(shù)為基礎(chǔ),把分散在不同地點、運行于不同計算機平臺上的各種維修仿真通過局域網(wǎng)聯(lián)結(jié)在一起,共享一個逼真的虛擬環(huán)境,使得維修人員在其中進(jìn)行各種復(fù)雜的訓(xùn)練任務(wù)的同時進(jìn)行實時、同步的協(xié)作討論和交互設(shè)計。近年來,計算機支持的協(xié)同問題受得到了國內(nèi)外學(xué)者的廣泛關(guān)注[1-2],雖然國內(nèi)外很多學(xué)者在不同領(lǐng)域?qū)f(xié)同問題的研究取得了很多成果[3-5],但對支持多人并行操作的協(xié)同虛擬維修系統(tǒng)及其過程建模研究有限。
本文重點研究了協(xié)同虛擬維修系統(tǒng)的體系結(jié)構(gòu)并提出面向協(xié)同維修的共享子網(wǎng)合成Petri網(wǎng)過程建模方法,結(jié)合虛擬現(xiàn)實仿真平臺EON Studio開發(fā)了非沉浸式協(xié)同虛擬維修仿真系統(tǒng),實現(xiàn)了資源的有效共享和復(fù)雜Petri網(wǎng)的同步操作。
1.1系統(tǒng)功能需求分析
針對實裝維修訓(xùn)練中裝備不允許隨意拆卸、多人次協(xié)同配合訓(xùn)練很難展開、人員的安全無法保障、訓(xùn)練成本高等問題,協(xié)同虛擬維修系統(tǒng)的功能需求應(yīng)主要包括:①構(gòu)建虛擬維修資源模型,實現(xiàn)設(shè)備的虛擬拆裝演示;②實現(xiàn)支持協(xié)同虛擬維修的各計算資源的有效訪問和共享;③實現(xiàn)裝備虛擬維修中組織協(xié)同的仿真,維修人員可以利用多臺計算機共享各地各人的維修經(jīng)驗、維修技術(shù),實現(xiàn)任務(wù)和資源的有效調(diào)度和分配;④實現(xiàn)用戶與非沉浸式虛擬現(xiàn)實系統(tǒng)的實時交互,用戶能夠通過鼠標(biāo)、鍵盤等輸入設(shè)備對虛擬場景進(jìn)行維修操作。
1.2系統(tǒng)總體框架
本文采用面向數(shù)據(jù)的建模方法來構(gòu)造協(xié)同虛擬維修系統(tǒng),將客觀世界存在的實體對象映射成數(shù)據(jù)表從而形成以數(shù)據(jù)表為核心的系統(tǒng)架構(gòu)。針對系統(tǒng)的功能需求,設(shè)計了基于協(xié)同維修的多層次結(jié)構(gòu)體系,包括界面表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層。三個層次中系統(tǒng)功能和業(yè)務(wù)邏輯主要在業(yè)務(wù)邏輯層進(jìn)行處理。
1)界面表現(xiàn)層。界面顯示層位于最上層,用于顯示和接收用戶提交的數(shù)據(jù),為用戶提供交互式的訪問界面。界面顯示層將系統(tǒng)分為4大模塊即維修裝配仿真模塊、協(xié)同虛擬維修模塊、理論知識考核模塊以及用戶管理模塊。
2)業(yè)務(wù)邏輯層。業(yè)務(wù)邏輯層是針對系統(tǒng)的需求的具體操作,是整個協(xié)同虛擬維修系統(tǒng)的核心。系統(tǒng)采用CATIA軟件建立仿真資源的數(shù)字樣機,將虛擬維修流程分解為任務(wù)層、作業(yè)單元層、動作單元層3個作業(yè)層次。利用虛擬現(xiàn)實軟件EON Studio功能節(jié)點的人機交互技術(shù)與EON X同Visual Studio 2005的集成通信功能,將仿真程序嵌入到基于對話框的Windows應(yīng)用程序中,用共享子網(wǎng)合成Petri網(wǎng)模型的分析結(jié)果驅(qū)動虛擬場景并控制整個維修仿真過程。同時通過本層結(jié)構(gòu)實現(xiàn)對數(shù)據(jù)業(yè)務(wù)邏輯的處理,包括系統(tǒng)管理及配置管理等。
3)數(shù)據(jù)訪問層。數(shù)據(jù)訪問層把系統(tǒng)對底層運行、維修仿真資源等數(shù)據(jù)庫的訪問進(jìn)行封裝,為業(yè)務(wù)邏輯層或表示層提供服務(wù),避免在業(yè)務(wù)過程代碼中形成重復(fù)編碼,并且便于后期維護(hù)。業(yè)務(wù)人員只需要根據(jù)定義的接口進(jìn)行編程實現(xiàn)業(yè)務(wù)邏輯,而無須關(guān)心底層數(shù)據(jù)庫的結(jié)構(gòu)。
2.1仿真任務(wù)的層次化建模
為了能夠準(zhǔn)確快捷的控制維修仿真過程,實現(xiàn)對維修活動的建模與封裝,必須要對虛擬維修仿真任務(wù)進(jìn)行層次分解從而更好地操控虛擬人執(zhí)行指定的維修動作。本文參考機械加工工藝過程[6]和現(xiàn)有的虛擬維修仿真任務(wù)層次分解方法,將虛擬維修流程分解為維修任務(wù)層、作業(yè)單元層、動作單元層3個作業(yè)層次。
維修任務(wù)層是維修人員針對裝備可能發(fā)生的故障利用工具對設(shè)備進(jìn)行的全部維修操作的統(tǒng)稱。作業(yè)單元層用來描述虛擬人模型在一段時間內(nèi)實現(xiàn)某一維修任務(wù)而完成的各項維修活動,包括拆裝序列規(guī)劃、故障零件的更換以及基于語義的維修活動。動作層是指在虛擬維修仿真環(huán)境中,涉及虛擬維修人員彎腰、轉(zhuǎn)身、取放工具、定位等不同的動作形式。通過任務(wù)層-作業(yè)單元層-動作層3個層次不僅可以完整地刻畫任意維修任務(wù),而且能夠更好地支持維修活動的仿真,進(jìn)而更有效地支持維修分析與評價。3個層次間的作業(yè)活動既可以形成前后相依的線性關(guān)系也可以同時進(jìn)行各個層次的作業(yè)任務(wù),在仿真任務(wù)的流程分解結(jié)構(gòu)圖上則體現(xiàn)出一種錯綜復(fù)雜的父子或兄弟關(guān)系。
2.2虛擬維修資源建模技術(shù)
為了模擬構(gòu)建真實的虛擬維修環(huán)境,協(xié)同虛擬維修系統(tǒng)需要建立基本的虛擬維修資源模型,主要包括維修設(shè)備的數(shù)字樣機三維模型、常用維修工具模型以及虛擬人模型。
建立維修設(shè)備的數(shù)字樣機三維模型最重要的原則就是比例準(zhǔn)確、結(jié)構(gòu)嚴(yán)謹(jǐn),所以必須嚴(yán)格按照給定的圖紙進(jìn)行設(shè)計。本系統(tǒng)采用參數(shù)化建模軟件CATIA建立某型號船舶主動力裝置的三維模型,然后導(dǎo)入到Deep Exploration 6.0中進(jìn)行模型數(shù)據(jù)的優(yōu)化處理,減少多邊形的數(shù)目以提高渲染效率,最后將保存的wrl文件導(dǎo)入到虛擬現(xiàn)實開發(fā)平臺EON Studio中進(jìn)行虛擬維修場景的構(gòu)建。
人體建模的基本工作是要構(gòu)建逼真準(zhǔn)確的人體可視化幾何模型。本文采用CATIA V5的人體模型測量編輯(Human Measurements Editor)模塊,通過修改臨界參數(shù)建立面向我國人體測量學(xué)數(shù)據(jù)標(biāo)準(zhǔn)的虛擬人幾何模型。
2.3基于共享子網(wǎng)合成Petri網(wǎng)的協(xié)同維修過程建模
協(xié)同虛擬維修條件下,多名維修人員在不同地點、不同計算機終端同時通過網(wǎng)絡(luò)對同一操作對象進(jìn)行拆裝維修,由于個體用戶操作的未知性以及共享資源的有限性,零件的可拆性可能受到用戶獨立行為間的沖突操作影響,處理不當(dāng)則會阻滯維修拆裝進(jìn)程,無法模擬真實的維修訓(xùn)練場景,為此需要建立一套完整的建模、分析、控制和優(yōu)化的方法,本文采用Petri網(wǎng)作為建模分析工具,先建立各個維修人員拆裝維修子模型,然后再進(jìn)行合成得到系統(tǒng)整體模型。
Petri網(wǎng)通過節(jié)點與弧組成的有向圖來描述系統(tǒng)模型,是一種系統(tǒng)的數(shù)學(xué)和圖形的建模分析工具。庫所與變遷節(jié)點之間用有向弧來連接,“變遷”的觸發(fā)受其觸發(fā)規(guī)則控制。Petri網(wǎng)合成操作是復(fù)雜系統(tǒng)過程建模的一條重要途徑,因而廣泛應(yīng)用于復(fù)雜系統(tǒng)的建模過程中。合成操作就是按某種方式將所有子系統(tǒng)結(jié)合起來綜合成復(fù)雜大系統(tǒng),從而達(dá)到通過研究小系統(tǒng)的性質(zhì)來研究大系統(tǒng)性質(zhì)的目的。Petri網(wǎng)系統(tǒng)的合成運算中一般可劃分為共享合成和同步合成2種合成形式。共享合成可實現(xiàn)合成網(wǎng)系統(tǒng)的資源共享,減少公共資源(特別是非消耗資源,如、維修工具等)的占用,從而達(dá)到節(jié)省系統(tǒng)資源的目的;同步合成一般用于實現(xiàn)復(fù)雜Petri網(wǎng)的同步操作。而共享子網(wǎng)合成Petri網(wǎng)同時具備共享合成和同步合成的優(yōu)點,既可以實現(xiàn)資源的有效共享,又能實現(xiàn)控制器的同步操作。
現(xiàn)對本文涉及到Petri網(wǎng)的相關(guān)概念進(jìn)行如下基本定義。
定義1:設(shè)∑=(P,T;F,M0)是一個簡單的Petri網(wǎng)系統(tǒng),其中P表示變遷,T表示庫所,F(xiàn)表示變遷指向庫所或庫所指向變遷的流關(guān)系,M0表示Petri網(wǎng)的初始標(biāo)識。
定義2:設(shè)∑i=(Pi,Ti;Fi,M0i)(i=1,2)是2個Perti網(wǎng)系統(tǒng),滿足下列條件:
P=P1∪P2,P1∩P2≠Φ,
(1)
T=T1∪T2,T1∩T2≠Φ,
(2)
F=F1∪F2。
(3)
若2個Petri網(wǎng)子網(wǎng)N1,N2共享一個單鏈子網(wǎng),則可對N1,N2進(jìn)行合成,N即為共享子網(wǎng)合成網(wǎng)。
以下以維修人員1和維修人員2使用同種維修資源(同一維修工具)替換維修設(shè)備的故障零件、替換后對設(shè)備重新裝配為例,應(yīng)用Petri網(wǎng)共享子網(wǎng)合成方法進(jìn)行系統(tǒng)建模。
步驟1:根據(jù)設(shè)備零件的約束關(guān)系,先建立各個維修Petri網(wǎng)子模型。
圖1給出了N1的Petri網(wǎng)子模型,其中變遷和庫所的含義如下:t1為開始維修;p1為零件1;t2為拆卸零件;p2為零件2;t3為拆卸零件……p8為待拆卸故障零件;t9為拆卸故障零件;p9為替換的零件9;t10為替換故障零件;p10為拆卸出的故障零件;t11為裝配零件;p11為完成維修拆裝后的裝備。對于N2,圖2給出了它的Petri網(wǎng)子模型,其中部分變遷和庫所的含義類似于圖1中的說明。t12為拆卸故障零件;p12為替換的零件9;t13為替換故障零件;p13為拆卸出的故障零件;t14為裝配零件;p14為完成維修拆裝后的裝備。
圖 2 Petri網(wǎng)子模型(N2)圖
步驟2:若N1,N2共享一個子網(wǎng),則判斷是否有以下公式成立:
?x,y∈P∪T:W(x,y)=W1(x,y)+W2(x,y),
(4)
式中:W表示從變遷P到庫所T的權(quán)函數(shù)。
步驟3:對N1,N2進(jìn)行共享子網(wǎng)合成:
N=N1∪N2。
(5)
因為維修人員1和維修人員2可同時共用同一工作臺的維修工具替換故障零件,即可共享同一組資源,反映在Petri網(wǎng)模型上,就是對N1,N2進(jìn)行共享子網(wǎng)合成,得到共享子網(wǎng)合成網(wǎng)N(圖3所示),即整體模型??梢?,通過共享子網(wǎng)合成可以實現(xiàn)資源的有效共享,減少公用資源的占用,又能實現(xiàn)控制器的同步操作。
圖3 共享子網(wǎng)合成Petri網(wǎng)(N)圖
2.4視景驅(qū)動與程序控制
本系統(tǒng)的虛擬維修場景以及三維可視化模型的交互都是通過虛擬現(xiàn)實軟件EON Studio的驅(qū)動和路由機制實現(xiàn)的。通過系統(tǒng)中設(shè)置的傳感器節(jié)點clicksensor接收用戶指令,然后由路由發(fā)送相關(guān)的數(shù)據(jù)信息,通過EON Studio的OutEvent與InEvent 2個接口節(jié)點接收Visual Studio 2005中SendEvent函數(shù)發(fā)送的信息,將共享子網(wǎng)合成Petri網(wǎng)生成的拆卸序列數(shù)據(jù)鏈表中的數(shù)據(jù)傳遞給EON Studio內(nèi)部接口Script節(jié)點,然后向拆卸過程對應(yīng)零件的Place節(jié)點發(fā)送使能信號,驅(qū)動對應(yīng)的零件拆卸,零件經(jīng)過短暫停留后移動到指定位置,完成拆卸過程。通過Task和Latch節(jié)點控制某一零件拆卸完畢后,系統(tǒng)才能讀取拆卸鏈表中的下一個節(jié)點,以免造成所有零件同時拆卸的現(xiàn)象。利用Counter節(jié)點記錄錯誤拆卸操作的次數(shù)。
本文利用虛擬現(xiàn)實軟件EON Studio功能節(jié)點的人機交互技術(shù)與EonX同Visual Studio 2005的集成通信功能,將仿真程序嵌入到基于對話框的Windows應(yīng)用程序中,用合成Petri網(wǎng)模型的分析結(jié)果驅(qū)動虛擬場景進(jìn)行維修仿真,并控制整個維修仿真過程,完成了協(xié)同虛擬維修系統(tǒng)的開發(fā)。
船舶主動力裝置主要包括柴油機、齒輪箱、動力軸系以及推進(jìn)裝置,下面僅以齒輪箱為例進(jìn)行說明。疲勞磨損、設(shè)計不當(dāng)以及維護(hù)保養(yǎng)不善等原因均能導(dǎo)致齒輪箱的運行故障,其中較為常見的是軸承、軸系及泵體失效。熟練掌握齒輪箱故障軸承維修拆換是維修人員應(yīng)具備的維修技能之一。
通過三維建模軟件CATIA的機械設(shè)計模塊及人體模型創(chuàng)建模塊分別建立齒輪箱、維修工具以及本土化的虛擬人模型。其中齒輪箱零件名稱清單列于表1。
表1 齒輪箱三維模型零件清單
利用共享子網(wǎng)合成Perti網(wǎng)過程建模方法對多維修人員協(xié)同替換齒輪箱故障軸承進(jìn)行系統(tǒng)建模,系統(tǒng)模型如圖4所示。
圖4 齒輪箱協(xié)同維修共享子網(wǎng)合成Petri網(wǎng)過程模型圖
利用虛擬現(xiàn)實軟件EON Studio構(gòu)建協(xié)同維修仿真動畫,將生成的仿真動畫集成到Visual Studio 2005中,用共享子網(wǎng)合成Petri網(wǎng)模型的分析結(jié)果驅(qū)動虛擬場景并控制整個維修仿真過程。協(xié)同虛擬維修功能模塊運行情況如圖5所示,窗口上端為主要的功能菜單,包括結(jié)構(gòu)演示、協(xié)同虛擬維修、考核系統(tǒng)以及用戶管理;左側(cè)區(qū)域為通信功能模塊,通信界面主要實現(xiàn)了局域網(wǎng)各終端用戶間的通信功能;中間區(qū)域為協(xié)同虛擬維修模塊,通過此模塊,分布在不同地域不同計算機終端的維修人員可以通過局域網(wǎng)共享完成同一維修任務(wù),分享各人維修經(jīng)驗,實現(xiàn)協(xié)同維修;右側(cè)顯示了任務(wù)的基本信息,同一任務(wù)組的成員進(jìn)行相關(guān)操作后,同組其他成員對此操作信息可見。
圖5 系統(tǒng)運行圖
針對傳統(tǒng)設(shè)備維修訓(xùn)練中存在的問題,本文開發(fā)了基于共享子網(wǎng)合成Petri網(wǎng)的協(xié)同虛擬維修仿真系統(tǒng)。在系統(tǒng)多層架構(gòu)的體系結(jié)構(gòu)基礎(chǔ)上,對虛擬維修的仿真任務(wù)層次進(jìn)行分解,提出并實現(xiàn)了共享子網(wǎng)合成petri網(wǎng)的過程建模方法,有效減少了公用資源的占用,實現(xiàn)了資源的有效共享。系統(tǒng)運行提高了協(xié)同維修訓(xùn)練效率,減少了訓(xùn)練成本,對其他虛擬維修系統(tǒng)的開發(fā)有一定的借鑒意義。
[1] Moreura L O, SOUSA F R C, MACHADO J C. A distributed concurrency control mechanism for XML data [J]. Journal of Compute and System Science, 2011,38(9): 1009-1022.
[2] 袁靜,史維峰,郝昂.CSCW系統(tǒng)中協(xié)同感知的研究[J].計算機應(yīng)用與軟件,2008,25(8):207-208.
[3] 周思航,劉振宇,譚建榮.面向協(xié)同維修拆裝仿真的并發(fā)操作控制方法[J].浙江大學(xué)學(xué)報,2012,46(12):2133-2140.
[4] 楊元,黎放,候重遠(yuǎn).協(xié)同維修過程的合成Petri網(wǎng)建模與分析[J].北京航空航天大學(xué)學(xué)報,2011,37(6):711-716.
[5] 李世其,馮雅青,王俊峰.網(wǎng)絡(luò)環(huán)境下協(xié)同虛擬拆卸平臺[J].計算機輔助工程,2013,22(4): 82-86.
[6] 鄭煥文.機械制造工藝學(xué)[M].北京:高等教育出版社,1994.
To realize multiuser collaborative virtual maintenance training of large complex equipment and solve the collaborative work problems such as parallel and competition for resources,a method based on synthesis of Petri Nets sharing a kind of subnet for modeling collaborative maintenance process was put forward and the key technologies such as hierarchical modeling of the simulation task,virtual prototype modeling,maintenance process modeling,visual simulation and the program driver were realized.Through analysis of the functional requirements of the system,the integrated communication function between EON X and Visual Studio 2005 and the human-machine interaction of the virtual reality development based on EON studio function node,a system framework is presented for multiuser collaborative virtual maintenance simulation training platform and the multiuser collaborative virtual maintenance simulation training system is developed.Taking the fault bearing maintenance conversion for the main power device of a ship gear box as an example,the working process of the system is illustrated and the key technologies of the system are verified.
virtual maintenance;collaborative;synthesis of Petri Nets
TP391
10.13352/j.issn.1001-8328.2015.05.013
湖北省自然科學(xué)基金(2014CFB233)
李彬(1990-),男,山東平度人,在讀碩士研究生,研究方向為艦船動力裝置自動化及仿真技術(shù)。
2015-06-11