董健康+鄧龍
摘 要: 針對現(xiàn)階段虛擬維修拆裝過程不能模擬真實維修環(huán)境中多人協(xié)同拆裝的問題,結合面向對象和過程建模的特點,使用MAS(Multi-Agent System)對維修拆裝系統(tǒng)中的拆裝平臺進行仿真構建,給出一種適用于多人協(xié)同維修拆裝訓練的維修拆裝模型;采用面向對象的著色Petri網(wǎng)對多拆裝平臺拆裝過程的交互模型進行仿真描述,并在A320虛擬維護訓練器上驗證了本方案的可行性和正確性。
關鍵詞: MAS; 協(xié)同拆裝; 仿真模型; 行為交互
中圖分類號:TP391.9 文獻標志碼:A 文章編號:1006-8228(2017)07-01-05
Simulation model of multi-agent cooperative disassembly process
Dong Jiankang, Deng Long
(Electronic Information and Automation College of Civil Aviation University of China, Tianjin 300300, China)
Abstract: In order to solve the problem of multi-person coordination and disassembly in real maintenance environment, this paper uses MAS (Multi-Agent System) to build a simulated disassembly platform in the disassembly system combined with object-oriented and process modeling features. This paper presents a model of maintenance disassembly for multi-person collaborative maintenance and disassembly training. The interactive model of collaborative disassembly platform is simulated by object-oriented colored Petri net. Finally, the collaborative disassembly process and behavior interaction are simulated on the A320 virtual maintenance trainer, and the simulation results verified the feasibility and correctness of this scheme.
Key words: Multi-Agent System; collaborative disassembly; simulation model; behavior interaction
0 引言
民用飛機維修培訓是機務人員入崗前必經(jīng)的環(huán)節(jié),國內(nèi)各大航空公司對新員工往往會有大約一年的維修培訓時間,長時間的培訓依然掩蓋不了國內(nèi)維修資源短缺及維修資源分布分散的現(xiàn)狀。
隨著計算機技術的高速發(fā)展,虛擬拆裝仿真技術為虛擬維修環(huán)境中多個用戶共協(xié)同拆裝訓練提供了條件。國內(nèi)外學者在協(xié)同虛擬裝配仿真方面進行了研究,如:Wang Y[1]等在虛擬維護系統(tǒng)框架中建立了維護工具Agent的行為選擇機制。Liu X[2]等人提出了基于本體的Agent通信機制和合作模型,并利用模糊綜合評估的智能算法來解決Agent之間的競爭沖突。甄希金[3]等介紹了分布式裝配環(huán)境中并行渲染、協(xié)同操作管理機制、裝配工具庫等關鍵技術。歐立銘等[4]提出協(xié)同虛擬維修系統(tǒng),艦員在共享網(wǎng)絡環(huán)境下體會大型復雜裝備維修過程中協(xié)同維修配合。然而這些協(xié)同拆裝都是對單一虛擬拆裝平臺中的三維模型進行協(xié)同裝配設計,沒有考慮多人執(zhí)行拆裝仿真過程中的大數(shù)據(jù)量實時處理問題,不能滿足實時協(xié)同拆裝仿真的要求。
雖然多Agent維修拆裝系統(tǒng)中每一個Agent模型具有自治性和反應性的功能[5],但是對于系統(tǒng)來說,它們不是一個孤立的實體,通過拆裝系統(tǒng)中多個操作平臺之間的交互合作[6],可以有效地解決系統(tǒng)中場景的一致性和多用戶協(xié)同操作引起的并發(fā)沖突問題。
1 維修拆裝過程
飛機維修拆裝過程是由一系列拆裝任務構成的,每一個維修拆裝任務是維修人員按照維修手冊[7]的要求,對飛機的故障LRU(Line Replace Unit)組件執(zhí)行的一系列拆卸裝配操作的過程。在維修拆裝培訓時,訓練人員根據(jù)拆裝任務進行拆裝訓練。維修手冊中LRU組件的拆卸或裝配過程,有其對應的任務號,每一個任務號還包含對應多個拆裝子任務號。
定義1:維修手冊單個LRU組件任務號中,完成該任務號執(zhí)行的所有操作稱為一個拆裝任務。
定義2:維修手冊中拆裝任務號以模塊劃分,一個拆裝任務號中的部分操作模塊稱為拆裝子任務。
結合A320飛機維護手冊AMM拆裝任務的結構,單個組件的拆卸任務由多個的子任務構成,可以按層次關系對任務劃分為:拆卸任務層、拆卸子任務層和基本拆裝動作執(zhí)行層。
拆卸子任務層由該組件拆卸任務的進入飛機維護構型子任務、進入工作區(qū)程序任務和組件移除子任務構成。進入飛機維護構型是使飛機能夠保持在能夠滿足執(zhí)行拆裝條件的前提條件;進入工作區(qū)程序包括平臺工具的使用和打開對應的檢查口蓋或者艙門;組件移除包括具體組件的拆卸步驟,包括組件連接件的移除和固定件的拆卸。
基本拆裝動作層是每個子任務單元中,單個或者多個維修人員使用工具對組件進行的一系列拆裝動作。
由以上對任務和子任務的層次分析,以燃油活門組件7QU拆卸任務和拆卸子任務進行層次劃分如圖1。
2 維修拆裝過程Agent建模
2.1 多Agent維修拆裝系統(tǒng)
通過對多操作平臺維修拆裝系統(tǒng)的分析,根據(jù)Agent分層建模思想,可以用人機交互層、多Agent層、物理平臺層三層結構來描述多Agent維修拆裝系統(tǒng)[1]。基于多Agent的維修系統(tǒng)框架如圖2所示。
物理平臺層提供了維修拆裝系統(tǒng)功能的技術支持,其中包含可視化渲染子系統(tǒng)、3D模型、分布式網(wǎng)絡通信環(huán)境,操作系統(tǒng)等。該層負責管理3D模型,組織和驅動3D場景,并計算3D模型的屬性、狀態(tài)和基于場景的事件管理。
多Agent層包含操作和服務兩類Agent。每個Agent對應于維修系統(tǒng)中具有特定語義、行為規(guī)則和交互功能的計算機軟件實體,捕獲維修拆裝事件中用戶的操作和拆裝行為特征。
人機交互層是用戶通過鼠標鍵盤對其他Agent交互的消息的驅動。包括學生用戶通過鼠標、鍵盤的操作,以事件觸發(fā)的形式改變操作平臺中實體3D模型的狀態(tài),達到完成組件拆裝過程的目的。
基于以上虛擬維修拆裝系統(tǒng)Agent層次分析,對維修拆裝系統(tǒng)進行MAS的形式化定義。
定義3:維修拆裝系統(tǒng)由如下三元組描述:
MTD=::
其中,MTD是維修拆裝系統(tǒng)的形式化描述模型;Ca是維修系統(tǒng)中各Agent之間的消息實例集合。Ia是維修系統(tǒng)中Agent的實例集合,OperatAgent是操作平臺Agent,MagAgent任務管理Agent,InfAgent是接口Agent。智能體Iai是物理實體的面向對象的著色PN模型,面向對象著色Petri網(wǎng)[8]為OPNAi=(CPNAi,MI),其中CPNAi是智能體Iai的著色Petri網(wǎng)模型;MI是Agent的消息接口集合,包括消息的輸入和輸出接口。R={Rij|i,j=1,2,…,n;i≠j}是虛擬維修拆裝系統(tǒng)中各Agent外部動作之間的交互關系。
2.2 操作平臺Agent結構
維修拆裝平臺Agent模型中,拆裝過程中每一個仿真平臺中拆裝實體的行為動作的執(zhí)行與其邏輯關系的描述都是該平臺Agent模型內(nèi)部行為的一部分,所以,仿真平臺Agent模型是具有自治性、主動性功能的思考模塊Ro和具有反應性、交互性功能的反應模塊Pm的混合結構[9]。混合型Agent的維修拆裝仿真平臺模型結構如圖3所示。Pm通過平臺自身行為推理體現(xiàn)反應性和自治性;Ro通過對拆裝實體行為的規(guī)則計算實現(xiàn)實體拆裝行為決策性。
定義4:思考模塊Ro可由二元組(KN,RP)表示。KN是平臺Agent的行為知識庫,包括維修拆裝平臺中各個拆裝實體3D模型庫Na和其3D模型維修拆裝行為邏輯規(guī)則庫Be;RP是平臺內(nèi)拆裝實體3D模型動作行為決策器,包括 3D模型行為規(guī)則子模塊BR和行為傳遞子模塊BT,其中BR實現(xiàn)Agent內(nèi)部狀態(tài)變遷,BT負責各平臺Agent間行為決策的傳遞,實現(xiàn)與不同Agent的交互。模型行為決策器RP中的BR由實體3D模型行為規(guī)則編號RID、實體3D模型部件編號AID、目標狀態(tài)SN和結果狀態(tài)SR組成;BT由Agent集合和行為傳遞關系R組成,如Rij是指i與j之間的行為傳遞關系。在BR將反應模塊中輸出的實體3D模型行為狀態(tài)偏差Uout與目標狀態(tài)SN進行對比,若狀態(tài)偏差為零,則行為狀態(tài)輸出目標狀態(tài)SR;反之,決策器RP將繼續(xù)執(zhí)行實體3D模型當前狀態(tài)的行為計算。
定義5:反應模塊Pm用八元組(Pr,Uino,Rf,Uinn,Cf,Pr',Pf,Uout)表示。其中,Pr是實體3D模型目標行為參數(shù)集,Pf內(nèi)有多個可以預先設定值域且相互獨立的數(shù)據(jù)區(qū),存儲不同拆裝任務下制定行為狀態(tài)目標行為參數(shù)Pr值域的集合;Uino是外圍其他Agent模型消息輸入,行為決策執(zhí)行器Rf接收Uino通過思考模塊RP行為規(guī)劃后的決策執(zhí)行計算;Rf是響應由RP接收到外部輸入Uino后做出改變模型狀態(tài)決策的行為決策執(zhí)行器;Uinn是內(nèi)部行為決策執(zhí)行器Rf的結果輸出,用于觸發(fā)執(zhí)行器Cf進行行為變化計算;Cf是以物理規(guī)則和維修拆裝行為約束規(guī)則為標準的控制器,內(nèi)部輸入Uinn觸發(fā)控制器改變行為實體3D模型的狀態(tài);Pr'是由Cf執(zhí)行模型狀態(tài)變化后得到的模型當前行為狀態(tài)參數(shù);比較器Pf用于比較當前實體3D模型行為狀態(tài)參數(shù)Pr'和目標行為狀態(tài)參數(shù)Pr,并得到行為狀態(tài)偏差輸出Uout。
2.3 多操作平臺Agent拆裝過程交互過程
拆裝平臺中拆裝實體的狀態(tài)隨受訓者使用虛擬工具執(zhí)行的具體操作變化做出反應。OperatAgent的模型接收觸發(fā)信息通過效應輸出改變其狀態(tài),在改變自身狀態(tài)的同時與其他操作平臺進行信息交互[10],實現(xiàn)其他平臺中相同組件模型狀態(tài)和位置同步。拆裝實體的狀態(tài)是通過拆裝工具對其一步一步操作而變化的,每當工具發(fā)送一次有效觸發(fā)信息,組件的根據(jù)其約束關系狀態(tài)改變一次。由于不同組件從開始拆裝到拆裝結束要經(jīng)過多步操作,以下為OperatAgent內(nèi)部響應一次用戶的觸發(fā)操作,其內(nèi)部狀態(tài)改變的整個過程。OperatAgent自身行為的Petri網(wǎng)表示如圖4所示。
當OperatAgent接收到用戶觸發(fā)信息(e1)前,首先接收來自用戶的觸發(fā)消息(Act1),判斷該消息的有效性(Act2),如果觸發(fā)消息無效,格式化數(shù)據(jù)(Act10), 顯示操作錯誤(Act11);如果該輸入觸發(fā)信息有效,執(zhí)行存儲數(shù)據(jù)(Act3),給維修系統(tǒng)中的其他操作平臺發(fā)送該觸發(fā)信息(Act4),實現(xiàn)拆裝實體狀態(tài)聯(lián)動,讀取觸發(fā)信息類型(Act5),拆裝實體狀態(tài)改變(Act6),組件位置狀態(tài)改變(Act7),模型渲染(Act8),最后并行執(zhí)行顯示結果(Act9)。圖4中P1、P2、…、P13為OperatAgent的初始狀態(tài)或者中間狀態(tài)。
維修拆裝多Agent仿真系統(tǒng)中,各個操作平臺Agent共同完成一個復雜組件的拆裝過程時,采用請求/應答的方式實現(xiàn)協(xié)商,合作。當請求Agent發(fā)出請求后,請求托肯通過請信息求弧發(fā)送到ILP中[8],應答Agent執(zhí)行請求,無論是否執(zhí)行成功,均通過對應弧返回信息給請求Agent,如果無法完成任務,或請求不符合自己的要求,則拒絕執(zhí)行,通過相應弧返回拒絕信息。
以7QU燃油活門的拆裝為例,兩個維修學員在各自的操作平臺上執(zhí)行該燃油活門的拆卸任務。由單個操作平臺內(nèi)燃油活門拆裝過程模型可知,當OperatAgent1的用戶通過鼠標觸發(fā)操作斷開7QU燃油活門接帶,OperatAgent1根據(jù)觸發(fā)操作實現(xiàn)該操作平臺內(nèi)燃油活門接帶斷開操作,與此同時給MagAgent發(fā)送搭接帶被斷開的觸發(fā)信息,OperatAgent2通過接收MagAgent轉發(fā)來自OperatAgent1的搭接帶斷開的消息,實現(xiàn)自身平臺下搭接帶的斷開。最終實現(xiàn)在不同操作平臺,實現(xiàn)拆裝操作的場景一致性。用以上請求/應答模型,重點描述執(zhí)行拆裝任務時的交互行為。用面向對象的Perti網(wǎng)模型描述其過程如圖5所示。
3 維修拆裝仿真實現(xiàn)
3.1 3D模型的動作實現(xiàn)
針對靜態(tài)3D模型的場景主要使用3DMAS軟件來繪制,其尺寸均以實際A320飛機比例大小為標準。另外,考慮模型位置以及在特定狀態(tài)下的動作等等,而且由于模型數(shù)量龐大,涉及到眾多飛機組件及零件,我們選擇使用XML腳本文件進行組件和拆裝中涉及的零部件模型的邏輯推理和加載調用,以節(jié)點來對應實體模型的動作條件、路徑、坐標及其他屬性的加載,每個節(jié)點內(nèi)容則是每個屬性所對應的內(nèi)容,最后將每個顯示組件所需的全部模型參數(shù)信息,集成為一個腳本文件在初始化時進行加載。7QU燃油活門動作實現(xiàn)腳本語言實現(xiàn)如圖6所示。
3.2 操作過程中的并發(fā)性沖突解決
LRU和工具的并發(fā)性沖突解決方案,采取權限獲取法,當對應的實體被操作時,其狀態(tài)被一個客戶端用戶鎖定,其他客戶端不能對其操作。在維修訓練為前提的系統(tǒng)設計中解決操作并發(fā)沖突[11],本文采取“權限控制法+時間戳”的方法,其中的權限控制法可以看成權限優(yōu)先的方法,即多人同時對一個拆裝對象進行操作時,由最先執(zhí)行此行為的用戶獲得最高權限。主要思路是:當維修訓練人員執(zhí)行一個拆裝操作時,每個操作平臺Agent會記錄當前平臺下用戶對組件觸發(fā)操作的時間,維修對象接受到動作指令,首先判斷當前是否存在并發(fā)操作,如果沒有則執(zhí)行操作指令,如果有并發(fā)性沖突,則系統(tǒng)依據(jù)時間戳的控制方法,選出最先對維修對象進行操作的維修人員,采用協(xié)商最先占據(jù)最先操作獲得控制權,接受動作指令。并發(fā)沖突解決方案如圖7所示。
4 結論及仿真驗證
通過以上建立的基于多Agent的維修拆裝交互模型,把這些模型融入到實驗室虛擬維護模擬機系統(tǒng)整體架構上,把虛擬維護模擬機系統(tǒng)中每一個拆裝平臺進行Agent抽象。通過所建立的維修拆裝交互模型,解決多人維修拆裝訓練中場景一致和并發(fā)性沖突問題。最終在實驗室A320虛擬維修訓練器平臺上對維修拆裝過程模型和交互行為效果進行仿真。
在模擬維修拆裝環(huán)境中,以燃油活門組件7QU(AMM 28-25-51-000-001)為例,其兩個維修學員在兩臺操作平臺Agent上拆卸過程參考圖如圖8所示。
表示兩個維修訓練人員進入到維修拆裝系統(tǒng)后,按照手冊要求對7QU燃油活門進行拆裝前準備工作,包括領取可移動工作平臺、扳手,斷開跳開關等。當兩個維修人員進入到拆裝工作區(qū)后,如圖(b)所示。學員1按照維修手冊中7QU的拆卸要求拆掉電插頭,同時,學員2拆掉其搭接帶,如圖(c)所示。在拆卸螺母時,兩人可以同時操作,效果圖如圖(d)和(e)。最終移除燃油到可移動工作平臺上如圖(f),拆卸完畢。
建立良好的多人協(xié)同維修拆裝模型,可以增強飛機維修拆裝培訓的真實性和沉浸性、減少實物飛機培訓過程中的成本,也有利于該分布式維修訓練平臺的改進,對還原實際拆裝過程中多人交互協(xié)作的拆裝實況,具有一定的重要意義。
參考文獻(References):
[1] Wang Y, Lv C, Zhou D, et al. Multi-agent based modeling
and simulation of virtual maintenance system[C]// World Congress on Intelligent Control and Automation,2016:2963-2968
[2] Liu X, Peng G, Liu X, et al. Development of a collaborative
virtual maintenance environment with agent technology[J].Journal of Manufacturing Systems,2010.29(4):173-181
[3] 甄希金,武殿梁,范秀敏等.虛擬環(huán)境下汽車裝配工位協(xié)同操
作仿真[J].上海交通大學學報,2009.12:1863-1868
[4] 歐立銘,徐曉剛,王建國等.協(xié)同虛擬維修及其關鍵技術[J].艦
船科學技術,2010.32(11):122-125
[5] Wooldridge M, Jennings N R. Intelligent agents: theory and
practice[J]. Knowledge Engineering Review,1995.10(2):115-152
[6] Buehler J, Pagnucco M. A framework for task planning in
heterogeneous multi robot systems based on robot capabilities[C]// AAAI Conference on Artificial Intelligence,2014.
[7] A320 Aircraft Maintenance Manual [Z]. China Eastern
Airline, REVISION NO.30, Aug 01/05
[8] 郭曉泉.多級面向對象著色Petri網(wǎng)模型及其應用研究[D].東
北大學,1998.
[9] 劉家學,郭瑾.基于弱定義Agent的補充勤務維修行為建模[J].
中國民航大學學報,2015.33(3):28-31
[10] 曹軍海,張和明,熊光楞.AOSE中Agent行為的形式化定義
與描述方法[J].系統(tǒng)工程與電子技術,2004.26(11):1684-1686
[11] 焦玉民,王強,徐婷等.智能虛擬維修環(huán)境多Agent協(xié)作機制[J].
系統(tǒng)工程與電子技術,2013.35(6):1348-1352