董健康+鄧龍
摘 要: 針對現階段虛擬維修拆裝過程不能模擬真實維修環境中多人協同拆裝的問題,結合面向對象和過程建模的特點,使用MAS(Multi-Agent System)對維修拆裝系統中的拆裝平臺進行仿真構建,給出一種適用于多人協同維修拆裝訓練的維修拆裝模型;采用面向對象的著色Petri網對多拆裝平臺拆裝過程的交互模型進行仿真描述,并在A320虛擬維護訓練器上驗證了本方案的可行性和正確性。
關鍵詞: MAS; 協同拆裝; 仿真模型; 行為交互
中圖分類號: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 引言
民用飛機維修培訓是機務人員入崗前必經的環節,國內各大航空公司對新員工往往會有大約一年的維修培訓時間,長時間的培訓依然掩蓋不了國內維修資源短缺及維修資源分布分散的現狀。
隨著計算機技術的高速發展,虛擬拆裝仿真技術為虛擬維修環境中多個用戶共協同拆裝訓練提供了條件。國內外學者在協同虛擬裝配仿真方面進行了研究,如:Wang Y[1]等在虛擬維護系統框架中建立了維護工具Agent的行為選擇機制。Liu X[2]等人提出了基于本體的Agent通信機制和合作模型,并利用模糊綜合評估的智能算法來解決Agent之間的競爭沖突。甄希金[3]等介紹了分布式裝配環境中并行渲染、協同操作管理機制、裝配工具庫等關鍵技術。歐立銘等[4]提出協同虛擬維修系統,艦員在共享網絡環境下體會大型復雜裝備維修過程中協同維修配合。然而這些協同拆裝都是對單一虛擬拆裝平臺中的三維模型進行協同裝配設計,沒有考慮多人執行拆裝仿真過程中的大數據量實時處理問題,不能滿足實時協同拆裝仿真的要求。
雖然多Agent維修拆裝系統中每一個Agent模型具有自治性和反應性的功能[5],但是對于系統來說,它們不是一個孤立的實體,通過拆裝系統中多個操作平臺之間的交互合作[6],可以有效地解決系統中場景的一致性和多用戶協同操作引起的并發沖突問題。
1 維修拆裝過程
飛機維修拆裝過程是由一系列拆裝任務構成的,每一個維修拆裝任務是維修人員按照維修手冊[7]的要求,對飛機的故障LRU(Line Replace Unit)組件執行的一系列拆卸裝配操作的過程。在維修拆裝培訓時,訓練人員根據拆裝任務進行拆裝訓練。維修手冊中LRU組件的拆卸或裝配過程,有其對應的任務號,每一個任務號還包含對應多個拆裝子任務號。
定義1:維修手冊單個LRU組件任務號中,完成該任務號執行的所有操作稱為一個拆裝任務。
定義2:維修手冊中拆裝任務號以模塊劃分,一個拆裝任務號中的部分操作模塊稱為拆裝子任務。
結合A320飛機維護手冊AMM拆裝任務的結構,單個組件的拆卸任務由多個的子任務構成,可以按層次關系對任務劃分為:拆卸任務層、拆卸子任務層和基本拆裝動作執行層。
拆卸子任務層由該組件拆卸任務的進入飛機維護構型子任務、進入工作區程序任務和組件移除子任務構成。進入飛機維護構型是使飛機能夠保持在能夠滿足執行拆裝條件的前提條件;進入工作區程序包括平臺工具的使用和打開對應的檢查口蓋或者艙門;組件移除包括具體組件的拆卸步驟,包括組件連接件的移除和固定件的拆卸。
基本拆裝動作層是每個子任務單元中,單個或者多個維修人員使用工具對組件進行的一系列拆裝動作。
由以上對任務和子任務的層次分析,以燃油活門組件7QU拆卸任務和拆卸子任務進行層次劃分如圖1。
2 維修拆裝過程Agent建模
2.1 多Agent維修拆裝系統
通過對多操作平臺維修拆裝系統的分析,根據Agent分層建模思想,可以用人機交互層、多Agent層、物理平臺層三層結構來描述多Agent維修拆裝系統[1]。基于多Agent的維修系統框架如圖2所示。
物理平臺層提供了維修拆裝系統功能的技術支持,其中包含可視化渲染子系統、3D模型、分布式網絡通信環境,操作系統等。該層負責管理3D模型,組織和驅動3D場景,并計算3D模型的屬性、狀態和基于場景的事件管理。
多Agent層包含操作和服務兩類Agent。每個Agent對應于維修系統中具有特定語義、行為規則和交互功能的計算機軟件實體,捕獲維修拆裝事件中用戶的操作和拆裝行為特征。
人機交互層是用戶通過鼠標鍵盤對其他Agent交互的消息的驅動。包括學生用戶通過鼠標、鍵盤的操作,以事件觸發的形式改變操作平臺中實體3D模型的狀態,達到完成組件拆裝過程的目的。
基于以上虛擬維修拆裝系統Agent層次分析,對維修拆裝系統進行MAS的形式化定義。
定義3:維修拆裝系統由如下三元組描述:
MTD=::
其中,MTD是維修拆裝系統的形式化描述模型;Ca是維修系統中各Agent之間的消息實例集合。Ia是維修系統中Agent的實例集合,OperatAgent是操作平臺Agent,MagAgent任務管理Agent,InfAgent是接口Agent。智能體Iai是物理實體的面向對象的著色PN模型,面向對象著色Petri網[8]為OPNAi=(CPNAi,MI),其中CPNAi是智能體Iai的著色Petri網模型;MI是Agent的消息接口集合,包括消息的輸入和輸出接口。R={Rij|i,j=1,2,…,n;i≠j}是虛擬維修拆裝系統中各Agent外部動作之間的交互關系。
2.2 操作平臺Agent結構
維修拆裝平臺Agent模型中,拆裝過程中每一個仿真平臺中拆裝實體的行為動作的執行與其邏輯關系的描述都是該平臺Agent模型內部行為的一部分,所以,仿真平臺Agent模型是具有自治性、主動性功能的思考模塊Ro和具有反應性、交互性功能的反應模塊Pm的混合結構[9]。混合型Agent的維修拆裝仿真平臺模型結構如圖3所示。Pm通過平臺自身行為推理體現反應性和自治性;Ro通過對拆裝實體行為的規則計算實現實體拆裝行為決策性。
定義4:思考模塊Ro可由二元組(KN,RP)表示。KN是平臺Agent的行為知識庫,包括維修拆裝平臺中各個拆裝實體3D模型庫Na和其3D模型維修拆裝行為邏輯規則庫Be;RP是平臺內拆裝實體3D模型動作行為決策器,包括 3D模型行為規則子模塊BR和行為傳遞子模塊BT,其中BR實現Agent內部狀態變遷,BT負責各平臺Agent間行為決策的傳遞,實現與不同Agent的交互。模型行為決策器RP中的BR由實體3D模型行為規則編號RID、實體3D模型部件編號AID、目標狀態SN和結果狀態SR組成;BT由Agent集合和行為傳遞關系R組成,如Rij是指i與j之間的行為傳遞關系。在BR將反應模塊中輸出的實體3D模型行為狀態偏差Uout與目標狀態SN進行對比,若狀態偏差為零,則行為狀態輸出目標狀態SR;反之,決策器RP將繼續執行實體3D模型當前狀態的行為計算。
定義5:反應模塊Pm用八元組(Pr,Uino,Rf,Uinn,Cf,Pr',Pf,Uout)表示。其中,Pr是實體3D模型目標行為參數集,Pf內有多個可以預先設定值域且相互獨立的數據區,存儲不同拆裝任務下制定行為狀態目標行為參數Pr值域的集合;Uino是外圍其他Agent模型消息輸入,行為決策執行器Rf接收Uino通過思考模塊RP行為規劃后的決策執行計算;Rf是響應由RP接收到外部輸入Uino后做出改變模型狀態決策的行為決策執行器;Uinn是內部行為決策執行器Rf的結果輸出,用于觸發執行器Cf進行行為變化計算;Cf是以物理規則和維修拆裝行為約束規則為標準的控制器,內部輸入Uinn觸發控制器改變行為實體3D模型的狀態;Pr'是由Cf執行模型狀態變化后得到的模型當前行為狀態參數;比較器Pf用于比較當前實體3D模型行為狀態參數Pr'和目標行為狀態參數Pr,并得到行為狀態偏差輸出Uout。
2.3 多操作平臺Agent拆裝過程交互過程
拆裝平臺中拆裝實體的狀態隨受訓者使用虛擬工具執行的具體操作變化做出反應。OperatAgent的模型接收觸發信息通過效應輸出改變其狀態,在改變自身狀態的同時與其他操作平臺進行信息交互[10],實現其他平臺中相同組件模型狀態和位置同步。拆裝實體的狀態是通過拆裝工具對其一步一步操作而變化的,每當工具發送一次有效觸發信息,組件的根據其約束關系狀態改變一次。由于不同組件從開始拆裝到拆裝結束要經過多步操作,以下為OperatAgent內部響應一次用戶的觸發操作,其內部狀態改變的整個過程。OperatAgent自身行為的Petri網表示如圖4所示。
當OperatAgent接收到用戶觸發信息(e1)前,首先接收來自用戶的觸發消息(Act1),判斷該消息的有效性(Act2),如果觸發消息無效,格式化數據(Act10), 顯示操作錯誤(Act11);如果該輸入觸發信息有效,執行存儲數據(Act3),給維修系統中的其他操作平臺發送該觸發信息(Act4),實現拆裝實體狀態聯動,讀取觸發信息類型(Act5),拆裝實體狀態改變(Act6),組件位置狀態改變(Act7),模型渲染(Act8),最后并行執行顯示結果(Act9)。圖4中P1、P2、…、P13為OperatAgent的初始狀態或者中間狀態。
維修拆裝多Agent仿真系統中,各個操作平臺Agent共同完成一個復雜組件的拆裝過程時,采用請求/應答的方式實現協商,合作。當請求Agent發出請求后,請求托肯通過請信息求弧發送到ILP中[8],應答Agent執行請求,無論是否執行成功,均通過對應弧返回信息給請求Agent,如果無法完成任務,或請求不符合自己的要求,則拒絕執行,通過相應弧返回拒絕信息。
以7QU燃油活門的拆裝為例,兩個維修學員在各自的操作平臺上執行該燃油活門的拆卸任務。由單個操作平臺內燃油活門拆裝過程模型可知,當OperatAgent1的用戶通過鼠標觸發操作斷開7QU燃油活門接帶,OperatAgent1根據觸發操作實現該操作平臺內燃油活門接帶斷開操作,與此同時給MagAgent發送搭接帶被斷開的觸發信息,OperatAgent2通過接收MagAgent轉發來自OperatAgent1的搭接帶斷開的消息,實現自身平臺下搭接帶的斷開。最終實現在不同操作平臺,實現拆裝操作的場景一致性。用以上請求/應答模型,重點描述執行拆裝任務時的交互行為。用面向對象的Perti網模型描述其過程如圖5所示。
3 維修拆裝仿真實現
3.1 3D模型的動作實現
針對靜態3D模型的場景主要使用3DMAS軟件來繪制,其尺寸均以實際A320飛機比例大小為標準。另外,考慮模型位置以及在特定狀態下的動作等等,而且由于模型數量龐大,涉及到眾多飛機組件及零件,我們選擇使用XML腳本文件進行組件和拆裝中涉及的零部件模型的邏輯推理和加載調用,以節點來對應實體模型的動作條件、路徑、坐標及其他屬性的加載,每個節點內容則是每個屬性所對應的內容,最后將每個顯示組件所需的全部模型參數信息,集成為一個腳本文件在初始化時進行加載。7QU燃油活門動作實現腳本語言實現如圖6所示。
3.2 操作過程中的并發性沖突解決
LRU和工具的并發性沖突解決方案,采取權限獲取法,當對應的實體被操作時,其狀態被一個客戶端用戶鎖定,其他客戶端不能對其操作。在維修訓練為前提的系統設計中解決操作并發沖突[11],本文采取“權限控制法+時間戳”的方法,其中的權限控制法可以看成權限優先的方法,即多人同時對一個拆裝對象進行操作時,由最先執行此行為的用戶獲得最高權限。主要思路是:當維修訓練人員執行一個拆裝操作時,每個操作平臺Agent會記錄當前平臺下用戶對組件觸發操作的時間,維修對象接受到動作指令,首先判斷當前是否存在并發操作,如果沒有則執行操作指令,如果有并發性沖突,則系統依據時間戳的控制方法,選出最先對維修對象進行操作的維修人員,采用協商最先占據最先操作獲得控制權,接受動作指令。并發沖突解決方案如圖7所示。
4 結論及仿真驗證
通過以上建立的基于多Agent的維修拆裝交互模型,把這些模型融入到實驗室虛擬維護模擬機系統整體架構上,把虛擬維護模擬機系統中每一個拆裝平臺進行Agent抽象。通過所建立的維修拆裝交互模型,解決多人維修拆裝訓練中場景一致和并發性沖突問題。最終在實驗室A320虛擬維修訓練器平臺上對維修拆裝過程模型和交互行為效果進行仿真。
在模擬維修拆裝環境中,以燃油活門組件7QU(AMM 28-25-51-000-001)為例,其兩個維修學員在兩臺操作平臺Agent上拆卸過程參考圖如圖8所示。
表示兩個維修訓練人員進入到維修拆裝系統后,按照手冊要求對7QU燃油活門進行拆裝前準備工作,包括領取可移動工作平臺、扳手,斷開跳開關等。當兩個維修人員進入到拆裝工作區后,如圖(b)所示。學員1按照維修手冊中7QU的拆卸要求拆掉電插頭,同時,學員2拆掉其搭接帶,如圖(c)所示。在拆卸螺母時,兩人可以同時操作,效果圖如圖(d)和(e)。最終移除燃油到可移動工作平臺上如圖(f),拆卸完畢。
建立良好的多人協同維修拆裝模型,可以增強飛機維修拆裝培訓的真實性和沉浸性、減少實物飛機培訓過程中的成本,也有利于該分布式維修訓練平臺的改進,對還原實際拆裝過程中多人交互協作的拆裝實況,具有一定的重要意義。
參考文獻(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] 甄希金,武殿梁,范秀敏等.虛擬環境下汽車裝配工位協同操
作仿真[J].上海交通大學學報,2009.12:1863-1868
[4] 歐立銘,徐曉剛,王建國等.協同虛擬維修及其關鍵技術[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網模型及其應用研究[D].東
北大學,1998.
[9] 劉家學,郭瑾.基于弱定義Agent的補充勤務維修行為建模[J].
中國民航大學學報,2015.33(3):28-31
[10] 曹軍海,張和明,熊光楞.AOSE中Agent行為的形式化定義
與描述方法[J].系統工程與電子技術,2004.26(11):1684-1686
[11] 焦玉民,王強,徐婷等.智能虛擬維修環境多Agent協作機制[J].
系統工程與電子技術,2013.35(6):1348-1352