陳靜杰, 李會(huì)茹, 曾學(xué)鋒
(1. 中國(guó)民航大學(xué)航空自動(dòng)化學(xué)院,天津 300300;2. 北京飛機(jī)維修工程有限公司,北京 100621)
虛擬拆裝是民航飛機(jī)維修培訓(xùn)中的一個(gè)重要環(huán)節(jié),對(duì)民航維修人員熟悉工作,提高拆裝效率具有重要意義。目前,對(duì)虛擬拆裝研究[1-4]主要集中在零部件拆裝次序和拆裝關(guān)系的建模,其實(shí)質(zhì)是將零部件作為一個(gè)質(zhì)點(diǎn)的虛擬拆裝。文獻(xiàn)[5]中介紹了對(duì)虛擬拆裝過(guò)程進(jìn)行建模的分析,采用PERT圖建立拆裝過(guò)程模型,但模型中缺少工具約束。與真實(shí)操作中的要求不相符。文獻(xiàn)[6]中對(duì)UML狀態(tài)機(jī)的形式化語(yǔ)義進(jìn)行了研究,定義了狀態(tài)項(xiàng)代數(shù)和配置函數(shù),可以求出在任一時(shí)刻UML狀態(tài)機(jī)的狀態(tài)配置。這種方法滿(mǎn)足組合性,但是沒(méi)有進(jìn)一步進(jìn)行形式化驗(yàn)證。以上拆裝過(guò)程建模存在一些不足,例如,沒(méi)有對(duì)拆卸零部件的狀態(tài)遷移和行為進(jìn)行描述,一般的工作流模型缺乏對(duì)拆卸過(guò)程中約束條件和拆卸過(guò)程層次化建模的考慮。
基于此,針對(duì)已有虛擬拆裝過(guò)程模型的不全面,本文結(jié)合UML狀態(tài)機(jī)和層次化分析法描述拆裝過(guò)程的建模。文中利用狀態(tài)機(jī)表示零部件拆裝過(guò)程中的狀態(tài)變換形式,遷移條件。應(yīng)用層次分析法將復(fù)雜問(wèn)題中的各種因素劃分為相互聯(lián)系的有序?qū)哟位P偷姆椒?,建立層次化模型序列,采用多線(xiàn)程數(shù)據(jù)采集,跟蹤待拆的零部件。
維修任務(wù)中有多道工序,主要包括測(cè)試、排故與拆裝。本文研究基于3D仿真場(chǎng)景中的組件拆裝過(guò)程仿真。分析拆裝過(guò)程中零部件狀態(tài)變遷的條件,建立零部件的關(guān)系網(wǎng)。直觀(guān)形象表達(dá)出各個(gè)零部件的狀態(tài)轉(zhuǎn)換。
本研究中應(yīng)用UML完善的功能表達(dá)性和完備的定義[7]描述零部件拆裝過(guò)程。用狀態(tài)(state)描述待拆零部件的存在狀態(tài),變遷表示零部件在兩個(gè)狀態(tài)之間的遷移。
事件表示對(duì)零部件施加的外界條件,動(dòng)作表示對(duì)零部件的運(yùn)動(dòng)仿真,監(jiān)護(hù)條件為布爾函數(shù),只有為true時(shí),狀態(tài)才能遷移。
定義1:UML狀態(tài)機(jī)的狀態(tài)和遷移N=(P,T,E,G,A)
P表示零部件的狀態(tài)集,T表示狀態(tài)變遷集,E表示變遷的事件,G表示監(jiān)護(hù)條件,A為具體動(dòng)作的描述。圖1描述某個(gè)零部件狀態(tài)遷移的過(guò)程,其中Ps表示零部件的初始狀態(tài),經(jīng)過(guò)變遷后到達(dá)最終狀態(tài)Pt。變遷弧上條件表示在發(fā)生事件E(在拆裝中表示拆卸或安裝的工具和設(shè)備的到達(dá)條件)后,監(jiān)護(hù)條件的變量為真,發(fā)生變遷的動(dòng)作A,到達(dá)狀態(tài)Pt。其中A表示零部件的運(yùn)動(dòng)表示(平移,螺旋,旋轉(zhuǎn)等)。
圖1 狀態(tài)遷移圖
每一個(gè)待拆卸的組件由多個(gè)零部件組成,用數(shù)學(xué)表達(dá)式表示:
其中x是待拆的零部件。零部件之間的約束關(guān)系可以總結(jié)為下圖2中的4種:一對(duì)一約束、一對(duì)多約束、多對(duì)一約束和多對(duì)多約束。設(shè)xi,xj… xj∈X,則編號(hào)為i,j,k,m,n的零部件之間的關(guān)系表示為: Ρ (xi,xj) = R(xk,xm,xn)。
圖2 零部件約束關(guān)系圖
拆卸過(guò)程模型包含 7個(gè)元素:Ni={P,F,T,E,G,A,X },其中,P為庫(kù)所集,T為變遷集,F(xiàn)為狀態(tài)和變遷連接關(guān)系的有向弧集。dom(F)為F的定義域,cod(F)為F的值域。
sP表示零部件的原狀態(tài),tP表示目標(biāo)狀態(tài),E表示變遷的事件,G表示監(jiān)護(hù)條件,A為具體動(dòng)作的描述,T表示狀態(tài)變遷集,K表示零部件狀態(tài)集,X表示拆卸零部件與相連零部件之間的關(guān)系表示。在此模型中,可以清晰的定義狀態(tài)和轉(zhuǎn)換。實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換的模塊化描述。圖3為一個(gè)零部件的狀態(tài)和遷移過(guò)程描述。圖中,零部件B、C、D是A的前置條件,零部件B、C、D可并行操作。其中P1表示零部件B的拆卸狀態(tài),P2表示零部件C的拆卸狀態(tài),P3表示零部件D的拆卸狀態(tài)。T1,T2,T3分別表示零部件C、D、B的狀態(tài)遷移過(guò)程。T4表示零部件A在解除零部件B、C、D的約束后,進(jìn)行狀態(tài)遷移到達(dá)狀態(tài)P4。
圖3 零部件拆卸過(guò)程圖
UML狀態(tài)機(jī)具有直觀(guān)清晰,包含信息量大的特點(diǎn),但是對(duì)于多個(gè)零部件組成的復(fù)雜的飛機(jī)組件而言,只使用UML狀態(tài)機(jī)模型表示,會(huì)使模型龐大,造成建模效率低。本文引入層次分析法[9-10],將復(fù)雜的拆裝過(guò)程,進(jìn)行層次分解,條理結(jié)構(gòu)清晰的建立組件的拆裝過(guò)程模型。在同一層次的各要素關(guān)系平等,不存在顯著的相關(guān)性;最低層的指標(biāo)可以被量化。把組成復(fù)雜的組件根據(jù)拆卸的相關(guān)性和并行性,分解成不同的層次(如圖4)。
圖4 拆卸零部件分層圖
飛機(jī)組件的拆卸一般分為三大部分:進(jìn)入飛機(jī)維護(hù)構(gòu)型、進(jìn)近程序和拆卸操作。下面對(duì)拆卸操作建立層次化模型。
在應(yīng)用層次分析法時(shí),頂層表示待拆的組件,第二層表示只要選取了合適的工具或設(shè)備便可以直接進(jìn)行拆卸的零部件(或者是零部件序列)。第三層表示,在第二層的零部件拆卸后,才可能進(jìn)行拆卸操作的零部件,第三層的零部件可能受第二層一個(gè)或者多個(gè)零部件的約束。處于第二層的零部件可以進(jìn)行并行操作。處于第三層的零部件在滿(mǎn)足與其相連的第二層的所有零部件拆卸完成后,才能進(jìn)行拆卸操作(根據(jù)需要確定建立層次數(shù),本文以三層為例)。
在層次分析法中,給位于最低層的每一個(gè)零部件設(shè)置一個(gè)標(biāo)志位,待拆狀態(tài)(初始狀態(tài))時(shí)為零,應(yīng)用層次分析法,給位于底層的零部件計(jì)算出狀態(tài)標(biāo)志值Si,待相應(yīng)拆卸完成后,對(duì)應(yīng)的零部件標(biāo)志值從初始狀態(tài)零變成Si。當(dāng)標(biāo)志拆卸過(guò)程完成。
位于層次圖中的每一節(jié)點(diǎn),代表組件的一種當(dāng)前狀態(tài)。
層次分析法的應(yīng)用步驟:
(1)第二層按照B1,B2,…Bn編號(hào);第三層按照C1,C1…Cn;以此類(lèi)推。按照建立的層次結(jié)構(gòu)模型建立判斷矩陣,設(shè)頂層元素A與下一層B1,B2,…Bn有關(guān),判定矩陣的形式如下所示。
bij表示相對(duì)A來(lái)講,bi和bj與A關(guān)系的緊密度。采用1,2,3…9或者其倒數(shù)作為度量的參照。
(2)對(duì)判定矩陣的每一列做歸一化計(jì)算:
(3)同理第三層(C1,C2,C3…)的零部件,分別對(duì)每個(gè)父結(jié)點(diǎn)下的零部件建立判斷矩陣這里的x,y,x表示零部件的編號(hào),
n為同一父節(jié)點(diǎn)的子節(jié)點(diǎn)個(gè)數(shù)。見(jiàn)步驟(1)和(2),
(4)將計(jì)算得到的第三層的所有的歸一化矩陣值,進(jìn)行全局的歸一化處理。與父節(jié)點(diǎn)沒(méi)有連接的零部件歸一化值置為0,見(jiàn)式(1)。
(m為C層元素的個(gè)數(shù), Wcη|m×1為Wcη|的擴(kuò)展矩陣,E1×m為1的列陣)
對(duì)新建立的新方陣的元素做歸一化運(yùn)算,見(jiàn)式(2)。
根據(jù)Wc計(jì)算得到 C層的零部件的狀態(tài)標(biāo)志值,隨著拆卸的進(jìn)行,模型標(biāo)志從初始狀態(tài)零,置為計(jì)算得到的值Si。時(shí),組件拆卸完成。根據(jù)每個(gè)標(biāo)志值的到達(dá)可以判定相應(yīng)的零部件是否完成拆卸,達(dá)到實(shí)時(shí)監(jiān)測(cè)的效果。
基于上述研究構(gòu)建的層次化UML狀態(tài)機(jī)建模方法,應(yīng)用在基于OSG的3D虛擬設(shè)備維修平臺(tái)上[11],對(duì)A320飛機(jī)電子設(shè)備艙中電瓶的拆裝過(guò)程進(jìn)行仿真分析。
步驟一,分析電瓶拆卸過(guò)程。第一部分為飛機(jī)維護(hù)構(gòu)型;第二部分為進(jìn)近程序,包括打開(kāi)822電子艙門(mén)和斷開(kāi)相應(yīng)跳開(kāi)關(guān);第三部分為拆卸過(guò)程。步驟二,對(duì)電瓶的拆卸工作分為可并行操作的3個(gè)元素(每個(gè)元素中包含了要求順序操作的零部件集):供電(包括滾花螺帽,盲蓋,電源固定保險(xiǎn)絲);通風(fēng)(包括通風(fēng)管道,卡箍,堵蓋);電瓶的固定(包括兩個(gè)翼型螺帽,兩個(gè)桿,固定保險(xiǎn)絲)。
3D渲染場(chǎng)景在拆裝進(jìn)行前加載完畢,選取工作平臺(tái)準(zhǔn)備進(jìn)入電子設(shè)備艙開(kāi)始電瓶的拆裝。圖5中H表示歷史狀態(tài),即飛機(jī)處于維護(hù)構(gòu)型,供電給勤務(wù)網(wǎng)絡(luò),駕駛艙中BAT 1的按鈕電門(mén)彈起,在頂板35VU上放置警告裝置;打開(kāi)822電子艙,斷開(kāi) 5PB1、12PB1的按鈕電門(mén)。開(kāi)始電瓶的拆卸操作,首先將電瓶的拆裝工作分成3部分(通電部分、通風(fēng)部分、固定部分),每部分可以并行操作。P1描述 822電子艙門(mén)打開(kāi)的狀態(tài),P2描述跳開(kāi)關(guān)斷開(kāi)的狀態(tài);T1,T2,T3,T4描述固定裝置的拆開(kāi)過(guò)程,T1描述用工具剪鉗剪斷固定用的保險(xiǎn)絲的過(guò)程,T2描述用手旋轉(zhuǎn)翼型螺帽,翼型螺帽螺旋式上升至固定桿頂端的操作,T3描述用手抬高墊片的操作,T4描述用手側(cè)向搬開(kāi)固定桿的操作。P3,P4,P5,P6描述固定裝置的組成零部件完成相應(yīng)操作后的狀態(tài)。T5,T6,T7,T8描述通電部分的拆開(kāi)過(guò)程,T5描述用工具剪鉗剪斷固定用的保險(xiǎn)絲的過(guò)程,T6描述用手旋轉(zhuǎn)電源插頭的操作,T7描述用手將電插頭從電瓶上移除的操作,T8描述用手將盲蓋安裝在電瓶上的操作。P7,P8,P9,P10描述通電部分的組成零部件完成相應(yīng)操作后的狀態(tài)。T9,T10,T11描述通風(fēng)管路部分的拆開(kāi)過(guò)程,T9描述用扳手?jǐn)Q松卡箍的過(guò)程,T10描述用手將通風(fēng)管移開(kāi)的操作,T11描述用手將堵頭安裝到通風(fēng)管上的操作。P11,P12,P13描述通風(fēng)部分的組成零部件完成相應(yīng)操作后的狀態(tài)。安裝是拆卸的逆過(guò)程,這里沒(méi)有敘述。圖6是電瓶拆卸操作的部分效果圖。
圖5 電瓶的拆卸過(guò)程及建模
圖6 電瓶拆卸效果圖
本文對(duì)虛擬維修拆裝過(guò)程建模進(jìn)行了研究,結(jié)合UML狀態(tài)機(jī)和層次分析法建立了飛機(jī)組件的拆裝過(guò)程模型,并將這種模型應(yīng)用于基于OSG的三維虛擬維修設(shè)備平臺(tái)上,對(duì)組成復(fù)雜的組件采用層次分析法規(guī)劃零部件的拆卸,規(guī)范了拆裝過(guò)程建模的流程,解決了飛機(jī)虛擬維修訓(xùn)練設(shè)備中大量組件的統(tǒng)一建模問(wèn)題,且利用層次分析法能動(dòng)態(tài)監(jiān)測(cè)拆裝過(guò)程中的零部件。利用UML狀態(tài)機(jī)仿真零部件的拆裝過(guò)程中狀態(tài)的變遷,真實(shí)再現(xiàn)零部件的拆卸過(guò)程。此維修訓(xùn)練設(shè)備已應(yīng)用于某高校的機(jī)務(wù)維修訓(xùn)練中,提高受訓(xùn)人員的拆裝熟練度和操作能力。
[1] 蔣雙雙,劉鵬遠(yuǎn),張錫恩. 一種基于Petri網(wǎng)的虛擬維修過(guò)程建模方法[J]. 系統(tǒng)仿真學(xué)報(bào),2007,19(11):2488-2491.
[2] 于鵬飛,時(shí)和平,芮科慧. 基于動(dòng)作對(duì)象的虛擬維修動(dòng)作仿真方法研究[J]. 裝備指揮技術(shù)學(xué)院學(xué)報(bào),2009,20(5): 127-131.
[3] 任洪麗,張 偉,李文瑞. 基于改進(jìn)蟻群算法UML狀態(tài)機(jī)圖的測(cè)試用例生成[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2010,31(17): 3835-3837,3928.
[4] 郭 峰,姚淑珍. 基于Petri網(wǎng)的UML狀態(tài)圖的形式化模型[J]. 北京航空航天大學(xué)學(xué)報(bào),2007,33(2):248-252.
[5] 尚 潔,容曉峰,徐興華. 基于PERT圖的虛擬拆裝過(guò)程建模[J]. 計(jì)算機(jī)與數(shù)學(xué)工程,2011,39(3):151-154.
[6] 姚淑珍,金茂忠. UML 狀態(tài)圖的形式化建模及其分析[J]. 北京航空航天大學(xué)學(xué)報(bào),2007,33(4): 472-476.
[7] 蔣 慧,林 東,謝希仁. UML狀態(tài)機(jī)的形式語(yǔ)義[J]. 軟件學(xué)報(bào),2002,13(12): 2244-2250.
[8] Zhou Y,Baresi L,Rossi M. Towards a formal semantics for UML/MARTE state machines based on hierarchical timed automata [J]. Journal of Computer Science and Technology,2013,28(1): 188-202.
[9] 王偉巖,馬 野,邱楚楚. 基于改進(jìn)層次分析模型的艦載無(wú)人機(jī)系統(tǒng)修理級(jí)別分析研究[J]. 艦船電子工程,2011,31(4): 143-146.
[10] 荊全忠,姜秀慧,楊鑒淞,周延峰. 基于層次分析法(AHP)的煤礦安全生產(chǎn)能力指標(biāo)體系研究[J].中國(guó)安全科學(xué)學(xué)報(bào),2006,16(9): 74-79,145.
[11] 劉家學(xué),劉 濤,耿 宏. 基于Petri網(wǎng)和語(yǔ)義網(wǎng)絡(luò)的虛擬維修過(guò)程建模與應(yīng)用[J]. 圖學(xué)學(xué)報(bào),2013,34(2): 113-118.