王豐產 , 孫有朝
(1.南京航空航天大學民航學院,江蘇 南京 210016;2.武警杭州士官學校,浙江 杭州 310000)
維修是指為系統、裝備或產品保持或恢復到能執行所需功能的狀態所進行的全部技術措施和管理活動,通過執行恢復產品性能的操作,使其達到或接近于新產品狀態的操作過程[1],是產品使用壽命周期中重要活動。維修是產品能否長時間、高質量、低成本和低風險使用的重要措施。
為了實現高效和可視化產品維修過程,虛擬現實技術應用到維修仿真中,產生了虛擬維修技術。從20世紀90年代末已經成為研究的熱點問題之一[2-3],許多學者提出了各種各樣的方法來解決虛擬維修問題,不斷地研究虛擬維修技術。為了更好地解決實際應用問題,也為了高效智能的實施維修仿真,研究人員綜合一個或多個領域知識來解決產品虛擬維修過程中遇到的各種問題。
產品維修過程包含很多內容,例如:維修流程規劃、維修過程仿真和維修操作等。制造企業在不斷提高競爭力和縮短市場化時間需求的推動下,越來越多的維修領域專家和工程師需要更逼真、更方便地執行維修動作仿真任務。因此,維修工程仿真必須和虛擬人動作聯系起來,并且虛擬人動作必須明確的描述出來。
Badler研究小組對虛擬人動作進行了“參數化動作描述(Parameterized action representation,PAR)”[4-5],給出了完整的定義和規范。所謂“參數化”是因為執行動作的虛擬人怎樣完成動作,這就需要對動作進行規范化參數來描述,PAR解決了這個問題,根據虛擬人體結構規范了虛擬人動作的各種參數,比如:動作路徑、定位、完成方式和動作目標等,也包括一些完成某動作的必備條件以及標志動作終止應滿足的條件。但是PAR描述的范圍比較廣泛,沒有針對維修動作進行定義,本文在PAR的基礎上對維修動作進行歸納,提出維修動作庫,便于維修仿真的調用,提高了虛擬維修仿真的方便性。
本文根據虛擬維修仿真的實際需要,結合PAR規范定義,提出了從自然語言描述的維修指令向元任務和動作分解的維修任務分解模型(Maintenance Task Decomposition Model,MTDM);根據維修經驗,定義并形成了維修動作庫規范(Action-DB),提出了符合維修過程仿真的維修操作模型。最后,以某型飛機起落架維修任務的仿真過程驗證虛擬維修仿真任務分解模型、動作庫使用及自然語言向參數化動作分解過程。
每個自然語言描述的維修任務是有一系列更低層次的元任務(Meta-Tasks,MT)組成,每個元任務又可以逐層向下細分為維修操作、維修動作和基本動素。維修任務分解模型如圖1所示。

圖1 任務分解模型
元任務是最小的不可再分的任務單位,可以一個人獨立完成的基本任務。元任務可以被更復雜不同等級的組合任務調用并組合成復雜任務。
操作層是元任務的下一層,操作是由一系列動作構成,是連接元任務層和動作層的橋梁。例如:抓一個扳手去拆卸一個緊固件操作,包括去拿扳手和扭動緊固件等動作組成。
動作層是操作層的下一層,是具有維修語義的最小單位,一個動作還可以分解為基本動素,基本動素是身體某部分的運動或移動,沒有具體的目的和維修語義。一個動作可以有一系列基本動素組成。比如,拿工具這個動作包括手指張開,大臂小臂前伸,到達目的工具手指抓握等肢體動素。
動素是身體各部分的基本運動形式,定義動素是虛擬人身體和肢體運動仿真的基礎,動素可以基于人體骨骼結構運用動力學和運動學模型直接驅動和仿真。例如:手指的彎曲運動,肢體繞關節的轉動等基本運動稱為動素。
通過維修任務的逐層分解,把一個具體的維修任務通過一系列的維修動作表示出來,建立了維修任務、動作及最底層的動素驅動之間的關系,提高仿真編程操作的方便性。
由于動素沒有特定的維修語義,只表示身體骨骼的某一部分運動或轉動,而且動素無法分類和規范,所以在虛擬維修仿真中,定義動素的上一層動作為維修仿真基本運動形式。結合維修仿真中常用的動作,對這些動作進行分類定義,組成維修動作庫。便于在維修仿真中方便調用。維修動作所處的層次如圖1所示,可以分為平面移動類、姿態調整類、徒手操作類和工具操作類,共4類35個動作,根據這4類動作,分別定義動作含義,組成動作庫,見表1。

表1 維修動作庫描述表
一方面,維修動作庫的動作都用PAR[4-5]進行參數化定義描述。并可以對其底層虛擬人骨骼結構進行動力學和運動學驅動分析。
另一方面,組成的動作庫可以在虛擬維修仿真系統中直接調用,不用理會動作如何進行驅動實現的,大大簡化維修仿真動作調試過程。特定的維修動作序列就可以組成維修操作,例如,在delmia系統中,定義好的動作庫可以方便高效地運用于虛擬維修仿真。圖2給出了一些動作庫的基本動作樣例。

圖2 動作庫樣例
維修任務分解為元任務MT,MT通過操作(Operation,O)轉化為具體動作,操作成為了元任務和維修動作的橋梁。一個操作可以定義為包括虛擬人、部件、工具、動作和注意五元組表示,操作O定義如下:
Operation =:
Operation——維修操作;
Agent——維修操作虛擬人;
Tools——維修工具;
Action——維修動作序列;
Attention——注意和警告等;
例如:用扳手擰緊一個緊固件螺栓的操作,可以表示為:wrench (Agent, Wrench, Bolt,Attention) ,擰緊操作將被執行。
任務、元任務、操作、動作之間關系是逐層細化分解的關系,可以用下式表示:

這里∑表示系列和的意思,表明一系列的動作可以組成操作,一系列的操作可以組成一個元任務等。通過把頂層任務向底層執行動作分解,便于編程仿真實現具體的維修仿真過程,反之,底層的具體動作逐層有序組合可以形成具體的維修任務。這里PAR起到的關鍵的橋梁作用。PAR模型如圖3所示。不但便于維修仿真,而且還能在不同的層次上評估維修性、工效性、人體疲勞度及維修標準工時核定等有意義的工作。

圖3 PAR規范模型
要使系統運行,必須有一個完整的系統結構,圖4給出了PAR系統仿真系統架構[6],相關定義和各模塊意義如下所述。
UPAR (Uninstantiated PAR):所有PAR動作可以分為實例化IPAR和非實例化UPAR。維修任務所有待執行動作序列形成一個動作層次樹,正在執行或要執行的動作進行實例化,暫時不執行的動作不進行實例化而存在于動作庫,稱為UPAR。一個UPAR包括缺省的應用環境條件和動作執行條件,也包括執行具體動作的人體結構。

圖4 PAR仿真系統結構
IPAR (Instantiated PAR):實例化的參數化動作IPAR 是UPAR 通過指向具體的虛擬人、物理對象、方式和目標條件等進行實例化。所有新的具體信息和條件實例化UPAR中缺省的信息和條件。
NL2PAR:該模塊的作用是完成自然語言描述的維修任務向參數化動作的轉化過程。包括:解析和翻譯兩部分,解析模塊執行自然語言維修指令輸出為語言結構樹,包括名詞、動詞、副詞和介詞等,語言結構樹存入數據庫中。翻譯模塊利用解析模塊解析得到的信息確定執行動作的虛擬人、物理對象及其運行環境條件等,產生一系列IPAR和UPAR。
Database:數據庫以結構樹形式存儲所有的待用的對象,包括虛擬人、物理對象和UPAR。
Execution Engine:執行引擎模塊是一個系統控制器,包括全局時間控制器、向可視化運行環境發送命令、刷新顯示、安排待執行PAR到正確虛擬人等功能。
Agent Process:虛擬人隊列管理模塊來管理每一個虛擬人實例,保持每個IPAR都對應正確虛擬人來執行。在虛擬人執行PAR時,首先檢查應用環境條件是否滿足,如果不滿足,執行將中止并報告系統更新操作。如果條件滿足,檢查前提動作是否滿足,如果有前提動作需要執行,相應的前提UPAR轉化為IPAR,并排列到相應的IPARs隊列中進行執行。
IVMTS:智能虛擬維修訓練系統(IVMTS)是基于delmia軟件二次開發的一個虛擬維修訓練系統。
在虛擬維修訓練系統中,任務數據庫存儲存儲虛擬維修任務,根據任務數據庫的任務描述和具體操作內容進行維修任務分解,規劃動作流序列,使自然語言描述的的任務逐層向動作流序列分解,包括工具、虛擬人、操作對象、注意等內容。根據具體的動作環境條件實例化相應的動作參數化,使動作序列中UPAR轉化為IPAR,然后在基于delmia二次開發的IVMTS系統中按照IPAR序列逐步添加動作仿真維修過程。
某型飛機起落架維修仿真實例在delmia二次開發的IVMTS中驗證PAR的執行流程,仿真過程同時考慮安全可靠操作因素。因此,為了達到這個目標,應考慮虛擬樣機和虛擬人的物理屬性應被考慮。以便在維修仿真過程中判斷操作安全和可靠。比如:一個虛擬人搬動超過其負荷的時候的危險性和操作可能性等。
首先,利用維修任務分解模型先把任務分解成元任務MT,進而分解為操作序列O,結合維修邏輯支持分析(logistic support analysis LSA),分析該維修任務的具體操作流程,用規范的自然語言表達操作流程。然后,維修仿真系統的NL2PAR解析維修操作流程語言,找到操作動作對應于動作庫中相應的PAR動作。根據操作流程相應的PAR流組成維修PAR樹結構存入數據庫。圖5給出了自然語言描述的任務的分解邏輯圖。

圖5 自然語言描述的維修指令參數化轉化結構樹
產生的維修動作序列包括兩個重要的方面:(1)動作序列樹;(2)虛擬仿真驗證。由于動作序列樹執行過程中要保證安全可靠的執行,仿真過程中要對動作進行驗證和判斷。從維修任務分解樹可以得到如下的動作序列:
Gettool(Agent,Wrench——Usetool(Agent, Wrench,Bolt)——Reach(Agent, Bolt)——Grasp(Agent,Bolt)——Pull(Agent, Bolt).

圖6 主要動作的仿真
在運用delmia仿真時,要進行人體關節位置的調節,工作量極大且相當繁瑣,通過建立虛擬維修動作庫(Action-DB),在參數化動作描述(PAR)基礎上的維修任務分解模型的支持下,把維修任務分解為動作庫的維修動作指令流,直接應用動作到虛擬人上,減少了虛擬人的動作姿態的繁瑣調整工作,大大簡化仿真動作的調整工作,只需按照動作指令流執行即可。另一方面,可以根據動作庫的動作標準時間,非常方便的的計算維修任務的仿真時間,便于計算工時,疲勞度等維修量化指標。
本文在參數化動作描述(PAR)的基礎上提出維修任務分解模型(MTDM)和維修動作庫(Action-DB),提出了自然語言向動作的分解方法和仿真系統結構,并在舉例說明基于delmia二次開發的IVMTS中進行維修仿真。系統應用表明,維修任務分解模型、動作庫和PAR運行系統結合在一起,虛擬維修仿真具有很大的方便性和可行性,是虛擬維修技術發展的方向。未來的研究可以集中在自動語音和語言識別上,并行任務的動作邏輯序列的生成和控制和自動仿真評估等方面。
[1]Rong L J, Pheng K L, Beng T S. An object-oriented intelligent disassembly sequence planner for maintenance [J]. Computers in Industry, 2005, 56:699-718.
[2]Elzendoorn B, DeBaar M, Chavan R, et al. Analysis of the ITER ECH upper port launcher remote maintenance using virtual reality [J]. Fusion Engineering and Design, 2009, 84: 733-745.
[3]Wang J F, Tse P W, He L S, et al. Remote sensing,diagnosis and collaborative maintenance with Web-enabled virtual instruments and miniservers [J].International Journal of Advanced Manufacturing Technology, 2004, 24: 764-772.
[4]Badler N, Webber B, Palmer M, et al. Final report to Air Force HRGA regarding feasibility of natural language text generation from task networks for use in automatic generation of technical orders from DEPTH simulations [R]. Technical report, 1997, CIS,University of Pennsylvania.
[5]Badler N, Rama B, Jan A, et al. Parameterized action representation and natural language instructions for dynamic behavior modification of embodied agents [C]//Artificial Intelligence and Interactive Entertainment,the 2000 AAAI Symposium, 2000, 6-10.
[6]Badler N, Bindiganavale R, Bourne J, et al. A parameterized action representation for virtual human agents [R]. In Workshop on Embodied Conversational Characters, Oct. 1998, Lake Tahoe, CA.
[7]Badler N, Phillips C, Webber B. Simulating humans:computer graphics animation and control [M]. New York: Oxford University Press, 1993.