董健康,姜乃心,耿 宏
(中國(guó)民航大學(xué) 電子信息與自動(dòng)化學(xué)院,天津 300300)
協(xié)同維修是提高飛機(jī)維修效率的重要因素,也是飛機(jī)維修培訓(xùn)的一個(gè)主流發(fā)展,因此研究適用于飛機(jī)協(xié)同維修的仿真模型非常重要。張志利等[1,2]基于顏色Petri網(wǎng)對(duì)協(xié)同維修過(guò)程中的操作對(duì)象、維修資源、維修人員等進(jìn)行行為分析和狀態(tài)描述;李彬等[3]建立了共享子網(wǎng)合成Petri網(wǎng)的協(xié)同維修過(guò)程模型,實(shí)現(xiàn)合成網(wǎng)系統(tǒng)的資源共享、公共資源的占用;Kou Li等[4-6]采用多Agent的建模方法對(duì)協(xié)同拆裝過(guò)程、協(xié)同機(jī)制等建立模型;王海濤等[7]采用BOM的方法建立了排故任務(wù)BOM模型;陳靜杰等[8]采用層化UML狀態(tài)機(jī)的建模方法,對(duì)飛機(jī)維修中的拆裝過(guò)程進(jìn)行建模。以上文獻(xiàn)大都針對(duì)裝配體的拆裝層面或某種維修任務(wù)運(yùn)用不同的建模方法對(duì)其進(jìn)行研究,由于飛機(jī)維修任務(wù)種類多,操作流程復(fù)雜,不能僅僅從拆裝層面進(jìn)行研究,并且飛機(jī)區(qū)域眾多,幾乎每個(gè)維修任務(wù)都涉及多個(gè)維修場(chǎng)景。針對(duì)以上問(wèn)題,在UML狀態(tài)機(jī)的基礎(chǔ)上提出了一種適用于飛機(jī)協(xié)同維修的交互狀態(tài)機(jī)模型,用此模型來(lái)描述不同維修場(chǎng)景中實(shí)體對(duì)象間的行為交互和狀態(tài)變遷,使建模復(fù)雜度降低,并且具有普適性。
在進(jìn)行機(jī)務(wù)維修培訓(xùn)時(shí),訓(xùn)練人員根據(jù)維修手冊(cè)中的維修任務(wù)進(jìn)行維修訓(xùn)練,每個(gè)維修任務(wù)都有其對(duì)應(yīng)的任務(wù)號(hào),每個(gè)任務(wù)號(hào)下包含許多維修操作。這里將維修任務(wù)進(jìn)行劃分直到維修任務(wù)不可再分,將不可再分的維修任務(wù)統(tǒng)稱為維修活動(dòng)。
由于飛機(jī)有許多獨(dú)立的空間組成,即維修場(chǎng)景,而每個(gè)維修任務(wù)幾乎都涉及多個(gè)維修場(chǎng)景,即每個(gè)維修任務(wù)中所包含的操作對(duì)象分布在各個(gè)場(chǎng)景中,而維修人員必須處于操作對(duì)象所對(duì)應(yīng)的場(chǎng)景中時(shí)才執(zhí)行任務(wù),因此操作對(duì)象、維修場(chǎng)景、維修人員之間存在關(guān)系,其關(guān)系如圖1所示。
圖1 操作對(duì)象-維修場(chǎng)景-維修人員的關(guān)系
設(shè)O={o1,o2,…,on} 為操作對(duì)象集合,P={p1,p2,…,pm} 為維修人員集合,Z={z1,z2,…,zk} 為操作對(duì)象所對(duì)應(yīng)的維修場(chǎng)景集合。
(1)操作對(duì)象與維修場(chǎng)景之間的關(guān)系可以用關(guān)聯(lián)矩陣D=(dij)n×k表示
(2)維修場(chǎng)景與維修人員之間的關(guān)系可以用關(guān)聯(lián)矩陣F=(fij)k×m表示
(3)基于維修場(chǎng)景的操作對(duì)象-維修人員關(guān)聯(lián)矩陣G=D×FT=(gij)n×k
UML狀態(tài)機(jī)[8-10]描述了一個(gè)對(duì)象的所有可能生命歷程。一個(gè)完整的UML狀態(tài)機(jī)包括狀態(tài)、轉(zhuǎn)換、事件、監(jiān)護(hù)條件和動(dòng)作,圖形化表示如圖2所示。
圖2 單個(gè)對(duì)象的狀態(tài)變遷
定義2 維修人員狀態(tài)轉(zhuǎn)移模型形式化描述為一個(gè)六元組psi=(X,S,δ,S0,F)。
X為驅(qū)動(dòng)狀態(tài)變化的事件集合;S為維修人員狀態(tài)集合;δ為狀態(tài)轉(zhuǎn)移函數(shù);S0(S0∈S) 為初始狀態(tài);F為終止?fàn)顟B(tài)。當(dāng)維修人員pi接收到任務(wù)分配模型下達(dá)的任務(wù)指令xi(xi∈X),維修人員由狀態(tài)空閑s通過(guò)狀態(tài)轉(zhuǎn)移函數(shù)δ變?yōu)闋顟B(tài)忙碌s′,s′=δ(s,xi)。
對(duì)維修人員空閑和忙碌兩種狀態(tài)進(jìn)行定義:
(1)維修人員處于待工狀態(tài)稱為空閑,可分為“真”空閑和“偽”空閑;
“真”空閑:維修人員所負(fù)責(zé)的維修活動(dòng)全部執(zhí)行完成;
“偽”空閑:維修人員所負(fù)責(zé)的維修活動(dòng)存在沒(méi)有執(zhí)行的。
(2)維修人員正在操作某項(xiàng)維修活動(dòng)稱為忙碌。
串行協(xié)同維修:即維修操作順序是不可逆的,只有前一維修操作執(zhí)行完,后一維修操作才能觸發(fā)。
并行協(xié)同維修分為兩種:①多個(gè)維修操作之間無(wú)關(guān)聯(lián),可以同時(shí)執(zhí)行;②多個(gè)維修操作之間有關(guān)聯(lián),必須同時(shí)執(zhí)行。
競(jìng)爭(zhēng)協(xié)同維修:某維修活動(dòng)的執(zhí)行有多種方式,當(dāng)維修人員pi和pj所在維修場(chǎng)景中的維修操作都可以觸發(fā)同一維修活動(dòng)時(shí),則維修人員pi和pj存在競(jìng)爭(zhēng)關(guān)系。
定義3 操作對(duì)象模型形式化描述為一個(gè)二元組oj=(osj,oIj),oj∈O,O={o1,o2,…,on} 為操作對(duì)象集合,osj為操作對(duì)象狀態(tài)轉(zhuǎn)移模型,oIj為操作對(duì)象oj與其它操作對(duì)象、維修人員的行為交互模型。
定義4 操作對(duì)象狀態(tài)轉(zhuǎn)移模型形式化描述為一個(gè)八元組osj=(IP,OP,X,Y,S,δ,S0,F)。
IP為輸入接口;OP為輸出接口;X為輸入信號(hào)集;Y為輸出信號(hào)集;S、δ、S0、F表示的意義與維修人員狀態(tài)轉(zhuǎn)移模型中的意義相同。當(dāng)有輸入信號(hào)xj(xj∈X) 作用于操作對(duì)象oj時(shí),操作對(duì)象的狀態(tài)s通過(guò)狀態(tài)轉(zhuǎn)移函數(shù)δ變?yōu)閟′并產(chǎn)生輸出信號(hào)yj(yj∈Y),s′=δ(s,xj)。 操作對(duì)象的輸入信號(hào)來(lái)自維修人員操作其本身產(chǎn)生的信號(hào)及其它操作對(duì)象產(chǎn)生的輸出信號(hào)。操作對(duì)象oj與其它操作對(duì)象、維修人員通過(guò)輸入輸出接口進(jìn)行信息交互。
定義5 行為交互模型形式化描述為一個(gè)二元組oIj=(OC,OT)。
從鄰接矩陣中可知,在每一操作對(duì)象對(duì)應(yīng)的列中,其值為1的元素所在的行對(duì)應(yīng)的操作對(duì)象為列對(duì)應(yīng)的操作對(duì)象的約束條件。
(2)OT為操作對(duì)象oj與其它操作對(duì)象、維修人員的行為交互函數(shù),若oj位于維修場(chǎng)景zg(zg∈Z), 則oj=OT(Oaij=1,Pfkg=1,X),表示oj與Oaij=1、Pfkg=1的行為交互,X為oj的輸入信號(hào)集,包括Oaij=1的輸出信號(hào)和Pfkg=1的操作信號(hào)。Oaij=1={oi|oi∈O且aij=1,i=1,2,…,n},Pfkg=1={pk|pk∈P且fkg=1,k=1,2,…,m}。
由于一個(gè)UML狀態(tài)機(jī)只能描述一個(gè)對(duì)象的狀態(tài)轉(zhuǎn)移,完成一個(gè)維修任務(wù)要包括多個(gè)維修人員、多個(gè)操作對(duì)象及多個(gè)維修場(chǎng)景,因此本文通過(guò)將行為交互模型與狀態(tài)轉(zhuǎn)移模型進(jìn)行融合建立交互狀態(tài)機(jī)模型,以滿足不同維修場(chǎng)景之間的交互和狀態(tài)變遷。
定義6 交互狀態(tài)機(jī)描述為一個(gè)八元組I_SM=(E,ES,EZ,X,T,φ,ES0,ESF)。
(1)E={O,P} 為實(shí)體對(duì)象集,其中O為操作對(duì)象集,P為維修人員集;
(2)ES={OSO,PSP} 為實(shí)體對(duì)象集的所有狀態(tài)集合,其中OSO為操作對(duì)象集的所有狀態(tài)集合,OSO=(O×SO),OiSOp表示操作對(duì)象Oi的狀態(tài)為SOp;PSP為維修人員集的所有狀態(tài)集合,PSP?(P×SP),PkSPq表示維修人員Pk的狀態(tài)為SPq;
(3)EZ={OZ,PZ} 為實(shí)體對(duì)象集所在的維修場(chǎng)景集,OZ為操作對(duì)象集所在的維修場(chǎng)景集合,OZ?(O×Z),OiZp表示操作對(duì)象Oi屬于維修場(chǎng)景Zp;PZ為維修人員集所在的維修場(chǎng)景集合,PZ?(P×Z),PkZq表示維修人員Pk處于維修場(chǎng)景Zq;
(4)X={XO,XP} 為觸發(fā)實(shí)體對(duì)象狀態(tài)轉(zhuǎn)移的輸入信號(hào)、輸入事件集,XO為觸發(fā)操作對(duì)象狀態(tài)轉(zhuǎn)移的輸入信號(hào)、輸入事件集,XP為觸發(fā)維修人員狀態(tài)轉(zhuǎn)移的輸入事件集;
(5)T=X[G]/A為實(shí)體對(duì)象狀態(tài)變遷集,G為監(jiān)護(hù)條件,是一個(gè)布爾表達(dá)式,只有為true時(shí),狀態(tài)才能遷移,A為效果動(dòng)作[8];
(6)φ為操作對(duì)象間的遷移函數(shù),若Oj位于維修場(chǎng)景Zg,則φ(Ocij=1Srpq=1,Pfkg=1Spb,X)=(OjSOjq,Pfkg=1Spf) 表示Ocij=1Srpq=1到OjSOjq的變遷,操作Oj的維修人員Pfkg=1狀態(tài)由忙碌SPb變?yōu)榭臻eSPf,其中Ocij=1SOrpq=1={OiSOep|OiSOep∈OSO且cij=1且e=i且rpq=1,i=1,2,…,n,p=1,2,…,N},Pfkg=1SPb={PkSPb|Pk∈P且fkg=1,k=1,2,…,m}。 若i=j,φ(OjSOjp,Pfkg=1SPb,X)=(OjSOjq,Pfkg=1SPf) 表示對(duì)象Oj的狀態(tài)變遷;
(7)ES0={OSO0,PSO0} 為實(shí)體對(duì)象集的初始狀態(tài)集合,其中OSO0為操作對(duì)象集的初始狀態(tài)集,PSP0為維修人員集的初始狀態(tài)集;
(8)ESF={OSOF,PSPF} 為實(shí)體對(duì)象集的終止?fàn)顟B(tài)集合,其中OSOF為操作對(duì)象集的終止?fàn)顟B(tài)集,PSPF為維修人員集的終止?fàn)顟B(tài)集。
狀態(tài)機(jī)可以通過(guò)狀態(tài)機(jī)圖進(jìn)行圖形化描述,因此可以基于狀態(tài)機(jī)的狀態(tài)機(jī)圖建立交互狀態(tài)機(jī)的交互狀態(tài)機(jī)圖。
交互狀態(tài)機(jī)圖包括實(shí)體對(duì)象、狀態(tài)、轉(zhuǎn)換、事件、實(shí)體對(duì)象間的交互、維修場(chǎng)景,圖形化表示如圖3所示,Z1、Z2表示維修場(chǎng)景;O1S11、O2S21、O3S31表示操作對(duì)象O1、O2、O3的狀態(tài)分別為S11、S21、S31;P1Sb、P1Sf、P2Sb、P2Sf表示維修人員P1、P2忙碌和空閑兩種狀態(tài);OiSip與OjSjq之間的有向弧表示操作對(duì)象間的交互;T為操作對(duì)象的狀態(tài)變遷集;指向PkSf的弧表示操作對(duì)象對(duì)維修人員的“釋放”,相反則由PkSb指向T的弧表示操作對(duì)象對(duì)維修人員的“占用”。
圖3 不同場(chǎng)景中實(shí)體對(duì)象間的狀態(tài)變遷
將建立的模型在分布式虛擬維修仿真平臺(tái)上進(jìn)行仿真驗(yàn)證,以TSM TASK-34-11-00-810-801 Loss of the 26VAC Power Supply of the ADIRU1為例進(jìn)行仿真分析。
將維修任務(wù)分解為不可再分的維修活動(dòng),包括①ADIRU旋鈕設(shè)在NAV位(駕駛艙);②MCDU上ADR的接口測(cè)試(駕駛艙);③領(lǐng)取工具(機(jī)庫(kù));④在822艙門(mén)附近放平臺(tái)(機(jī)庫(kù));⑤打開(kāi)822艙門(mén)(機(jī)庫(kù));⑥擰松105VU保護(hù)蓋上的兩個(gè)螺母(822電子設(shè)備艙);⑦拆卸保護(hù)蓋(822電子設(shè)備艙);⑧斷開(kāi)105VU上的C02跳開(kāi)關(guān)(822電子設(shè)備艙);⑨斷開(kāi)49VU上的F06、F07跳開(kāi)關(guān)(駕駛艙);⑩在824艙門(mén)附近放平臺(tái)(機(jī)庫(kù));打開(kāi)824艙門(mén)(機(jī)庫(kù));擰松螺帽(824電子設(shè)備艙);放低螺帽(824電子設(shè)備艙);斷開(kāi)電插頭(824電子設(shè)備艙);拆下ADIRU1(824電子設(shè)備艙);在電插頭上放堵蓋(822電子設(shè)備艙)。ADIRU1的安裝與拆卸步驟相反,這里不再描述,當(dāng)安裝成功后會(huì)進(jìn)行與上述步驟相反的工作并再進(jìn)行一遍ADR1的接口測(cè)試,這里也不再描述。
假設(shè)駕駛艙Z1的維修活動(dòng)由P1完成,機(jī)庫(kù)Z2的維修活動(dòng)由P2、P3配合完成,822電子設(shè)備艙Z3的維修活動(dòng)由P3完成,824電子設(shè)備艙Z4的維修活動(dòng)由P3完成。
依據(jù)交互狀態(tài)機(jī)模型建立如圖4所示的ADIRU故障排除的協(xié)同維修仿真模型,并在分布式虛擬維修仿真平臺(tái)上對(duì)模型進(jìn)行仿真,其仿真結(jié)果的部分效果如圖5所示。T1表示步驟①,O1S11表示ADIRU旋鈕在NAV位;T2表示步驟②,O2S21表示MCDU顯示故障信息;T3表示步驟③,O3S31表示工具離位;T4表示步驟④,O4S41表示平臺(tái)在822艙門(mén)附近;T5表示步驟⑤,O5S51表示822艙門(mén)打開(kāi);T6表示步驟⑥,O6S61表示105VU保護(hù)蓋上的兩個(gè)螺母已擰松;T7表示步驟⑦,O7S71表示保護(hù)蓋已拆下;T8表示步驟⑧,O8S81表示105VU上的C02跳開(kāi)關(guān)斷開(kāi);T9表示步驟⑨,O9S91表示 49VU上的F06、F07跳開(kāi)關(guān)斷開(kāi);T10表示步驟⑩,O10S101表示平臺(tái)在824艙門(mén)附近;T11表示步驟,O11S111表示824艙門(mén)打開(kāi);T12表示步驟,O12S121表示螺帽已擰松;T13表示步驟,O12S122表示螺帽已放低;T14表示步驟,O13S131表示電插頭斷開(kāi);T15表示步驟,O14S141表示ADIRU1拆下;T16表示步驟,O15S151表示堵蓋在電插頭上。
圖4 ADIRU故障排除過(guò)程模型
圖5 ADIRU故障排除過(guò)程仿真效果
本文提出了一種適用于飛機(jī)協(xié)同維修仿真的交互狀態(tài)機(jī)模型,彌補(bǔ)了原狀態(tài)機(jī)只能描述單一對(duì)象狀態(tài)變遷過(guò)程的不足,并能滿足飛機(jī)不同維修場(chǎng)景間的交互。通過(guò)以ADIRU故障排除為實(shí)例進(jìn)行建模及仿真,驗(yàn)證了該模型能夠滿足多場(chǎng)景的飛機(jī)協(xié)同維修仿真建模要求及不同維修任務(wù)的協(xié)同操作。模型具有直觀性和普適性,能夠清晰表達(dá)不同維修場(chǎng)景中操作對(duì)象、維修人員之間的行為交互和狀態(tài)變遷,并且可以實(shí)現(xiàn)飛機(jī)協(xié)同維修仿真中實(shí)體對(duì)象的快速建模。