王豐產(chǎn) , 孫有朝
(1.南京航空航天大學(xué)民航學(xué)院,江蘇 南京 210016;2.武警杭州士官學(xué)校,浙江 杭州 310000)
維修是指為系統(tǒng)、裝備或產(chǎn)品保持或恢復(fù)到能執(zhí)行所需功能的狀態(tài)所進(jìn)行的全部技術(shù)措施和管理活動,通過執(zhí)行恢復(fù)產(chǎn)品性能的操作,使其達(dá)到或接近于新產(chǎn)品狀態(tài)的操作過程[1],是產(chǎn)品使用壽命周期中重要活動。維修是產(chǎn)品能否長時(shí)間、高質(zhì)量、低成本和低風(fēng)險(xiǎn)使用的重要措施。
為了實(shí)現(xiàn)高效和可視化產(chǎn)品維修過程,虛擬現(xiàn)實(shí)技術(shù)應(yīng)用到維修仿真中,產(chǎn)生了虛擬維修技術(shù)。從20世紀(jì)90年代末已經(jīng)成為研究的熱點(diǎn)問題之一[2-3],許多學(xué)者提出了各種各樣的方法來解決虛擬維修問題,不斷地研究虛擬維修技術(shù)。為了更好地解決實(shí)際應(yīng)用問題,也為了高效智能的實(shí)施維修仿真,研究人員綜合一個(gè)或多個(gè)領(lǐng)域知識來解決產(chǎn)品虛擬維修過程中遇到的各種問題。
產(chǎn)品維修過程包含很多內(nèi)容,例如:維修流程規(guī)劃、維修過程仿真和維修操作等。制造企業(yè)在不斷提高競爭力和縮短市場化時(shí)間需求的推動下,越來越多的維修領(lǐng)域?qū)<液凸こ處熜枰普妗⒏奖愕貓?zhí)行維修動作仿真任務(wù)。因此,維修工程仿真必須和虛擬人動作聯(lián)系起來,并且虛擬人動作必須明確的描述出來。
Badler研究小組對虛擬人動作進(jìn)行了“參數(shù)化動作描述(Parameterized action representation,PAR)”[4-5],給出了完整的定義和規(guī)范。所謂“參數(shù)化”是因?yàn)閳?zhí)行動作的虛擬人怎樣完成動作,這就需要對動作進(jìn)行規(guī)范化參數(shù)來描述,PAR解決了這個(gè)問題,根據(jù)虛擬人體結(jié)構(gòu)規(guī)范了虛擬人動作的各種參數(shù),比如:動作路徑、定位、完成方式和動作目標(biāo)等,也包括一些完成某動作的必備條件以及標(biāo)志動作終止應(yīng)滿足的條件。但是PAR描述的范圍比較廣泛,沒有針對維修動作進(jìn)行定義,本文在PAR的基礎(chǔ)上對維修動作進(jìn)行歸納,提出維修動作庫,便于維修仿真的調(diào)用,提高了虛擬維修仿真的方便性。
本文根據(jù)虛擬維修仿真的實(shí)際需要,結(jié)合PAR規(guī)范定義,提出了從自然語言描述的維修指令向元任務(wù)和動作分解的維修任務(wù)分解模型(Maintenance Task Decomposition Model,MTDM);根據(jù)維修經(jīng)驗(yàn),定義并形成了維修動作庫規(guī)范(Action-DB),提出了符合維修過程仿真的維修操作模型。最后,以某型飛機(jī)起落架維修任務(wù)的仿真過程驗(yàn)證虛擬維修仿真任務(wù)分解模型、動作庫使用及自然語言向參數(shù)化動作分解過程。
每個(gè)自然語言描述的維修任務(wù)是有一系列更低層次的元任務(wù)(Meta-Tasks,MT)組成,每個(gè)元任務(wù)又可以逐層向下細(xì)分為維修操作、維修動作和基本動素。維修任務(wù)分解模型如圖1所示。
圖1 任務(wù)分解模型
元任務(wù)是最小的不可再分的任務(wù)單位,可以一個(gè)人獨(dú)立完成的基本任務(wù)。元任務(wù)可以被更復(fù)雜不同等級的組合任務(wù)調(diào)用并組合成復(fù)雜任務(wù)。
操作層是元任務(wù)的下一層,操作是由一系列動作構(gòu)成,是連接元任務(wù)層和動作層的橋梁。例如:抓一個(gè)扳手去拆卸一個(gè)緊固件操作,包括去拿扳手和扭動緊固件等動作組成。
動作層是操作層的下一層,是具有維修語義的最小單位,一個(gè)動作還可以分解為基本動素,基本動素是身體某部分的運(yùn)動或移動,沒有具體的目的和維修語義。一個(gè)動作可以有一系列基本動素組成。比如,拿工具這個(gè)動作包括手指張開,大臂小臂前伸,到達(dá)目的工具手指抓握等肢體動素。
動素是身體各部分的基本運(yùn)動形式,定義動素是虛擬人身體和肢體運(yùn)動仿真的基礎(chǔ),動素可以基于人體骨骼結(jié)構(gòu)運(yùn)用動力學(xué)和運(yùn)動學(xué)模型直接驅(qū)動和仿真。例如:手指的彎曲運(yùn)動,肢體繞關(guān)節(jié)的轉(zhuǎn)動等基本運(yùn)動稱為動素。
通過維修任務(wù)的逐層分解,把一個(gè)具體的維修任務(wù)通過一系列的維修動作表示出來,建立了維修任務(wù)、動作及最底層的動素驅(qū)動之間的關(guān)系,提高仿真編程操作的方便性。
由于動素沒有特定的維修語義,只表示身體骨骼的某一部分運(yùn)動或轉(zhuǎn)動,而且動素?zé)o法分類和規(guī)范,所以在虛擬維修仿真中,定義動素的上一層動作為維修仿真基本運(yùn)動形式。結(jié)合維修仿真中常用的動作,對這些動作進(jìn)行分類定義,組成維修動作庫。便于在維修仿真中方便調(diào)用。維修動作所處的層次如圖1所示,可以分為平面移動類、姿態(tài)調(diào)整類、徒手操作類和工具操作類,共4類35個(gè)動作,根據(jù)這4類動作,分別定義動作含義,組成動作庫,見表1。
表1 維修動作庫描述表
一方面,維修動作庫的動作都用PAR[4-5]進(jìn)行參數(shù)化定義描述。并可以對其底層虛擬人骨骼結(jié)構(gòu)進(jìn)行動力學(xué)和運(yùn)動學(xué)驅(qū)動分析。
另一方面,組成的動作庫可以在虛擬維修仿真系統(tǒng)中直接調(diào)用,不用理會動作如何進(jìn)行驅(qū)動實(shí)現(xiàn)的,大大簡化維修仿真動作調(diào)試過程。特定的維修動作序列就可以組成維修操作,例如,在delmia系統(tǒng)中,定義好的動作庫可以方便高效地運(yùn)用于虛擬維修仿真。圖2給出了一些動作庫的基本動作樣例。
圖2 動作庫樣例
維修任務(wù)分解為元任務(wù)MT,MT通過操作(Operation,O)轉(zhuǎn)化為具體動作,操作成為了元任務(wù)和維修動作的橋梁。一個(gè)操作可以定義為包括虛擬人、部件、工具、動作和注意五元組表示,操作O定義如下:
Operation =:
Operation——維修操作;
Agent——維修操作虛擬人;
Tools——維修工具;
Action——維修動作序列;
Attention——注意和警告等;
例如:用扳手?jǐn)Q緊一個(gè)緊固件螺栓的操作,可以表示為:wrench (Agent, Wrench, Bolt,Attention) ,擰緊操作將被執(zhí)行。
任務(wù)、元任務(wù)、操作、動作之間關(guān)系是逐層細(xì)化分解的關(guān)系,可以用下式表示:
這里∑表示系列和的意思,表明一系列的動作可以組成操作,一系列的操作可以組成一個(gè)元任務(wù)等。通過把頂層任務(wù)向底層執(zhí)行動作分解,便于編程仿真實(shí)現(xiàn)具體的維修仿真過程,反之,底層的具體動作逐層有序組合可以形成具體的維修任務(wù)。這里PAR起到的關(guān)鍵的橋梁作用。PAR模型如圖3所示。不但便于維修仿真,而且還能在不同的層次上評估維修性、工效性、人體疲勞度及維修標(biāo)準(zhǔn)工時(shí)核定等有意義的工作。
圖3 PAR規(guī)范模型
要使系統(tǒng)運(yùn)行,必須有一個(gè)完整的系統(tǒng)結(jié)構(gòu),圖4給出了PAR系統(tǒng)仿真系統(tǒng)架構(gòu)[6],相關(guān)定義和各模塊意義如下所述。
UPAR (Uninstantiated PAR):所有PAR動作可以分為實(shí)例化IPAR和非實(shí)例化UPAR。維修任務(wù)所有待執(zhí)行動作序列形成一個(gè)動作層次樹,正在執(zhí)行或要執(zhí)行的動作進(jìn)行實(shí)例化,暫時(shí)不執(zhí)行的動作不進(jìn)行實(shí)例化而存在于動作庫,稱為UPAR。一個(gè)UPAR包括缺省的應(yīng)用環(huán)境條件和動作執(zhí)行條件,也包括執(zhí)行具體動作的人體結(jié)構(gòu)。
圖4 PAR仿真系統(tǒng)結(jié)構(gòu)
IPAR (Instantiated PAR):實(shí)例化的參數(shù)化動作IPAR 是UPAR 通過指向具體的虛擬人、物理對象、方式和目標(biāo)條件等進(jìn)行實(shí)例化。所有新的具體信息和條件實(shí)例化UPAR中缺省的信息和條件。
NL2PAR:該模塊的作用是完成自然語言描述的維修任務(wù)向參數(shù)化動作的轉(zhuǎn)化過程。包括:解析和翻譯兩部分,解析模塊執(zhí)行自然語言維修指令輸出為語言結(jié)構(gòu)樹,包括名詞、動詞、副詞和介詞等,語言結(jié)構(gòu)樹存入數(shù)據(jù)庫中。翻譯模塊利用解析模塊解析得到的信息確定執(zhí)行動作的虛擬人、物理對象及其運(yùn)行環(huán)境條件等,產(chǎn)生一系列IPAR和UPAR。
Database:數(shù)據(jù)庫以結(jié)構(gòu)樹形式存儲所有的待用的對象,包括虛擬人、物理對象和UPAR。
Execution Engine:執(zhí)行引擎模塊是一個(gè)系統(tǒng)控制器,包括全局時(shí)間控制器、向可視化運(yùn)行環(huán)境發(fā)送命令、刷新顯示、安排待執(zhí)行PAR到正確虛擬人等功能。
Agent Process:虛擬人隊(duì)列管理模塊來管理每一個(gè)虛擬人實(shí)例,保持每個(gè)IPAR都對應(yīng)正確虛擬人來執(zhí)行。在虛擬人執(zhí)行PAR時(shí),首先檢查應(yīng)用環(huán)境條件是否滿足,如果不滿足,執(zhí)行將中止并報(bào)告系統(tǒng)更新操作。如果條件滿足,檢查前提動作是否滿足,如果有前提動作需要執(zhí)行,相應(yīng)的前提UPAR轉(zhuǎn)化為IPAR,并排列到相應(yīng)的IPARs隊(duì)列中進(jìn)行執(zhí)行。
IVMTS:智能虛擬維修訓(xùn)練系統(tǒng)(IVMTS)是基于delmia軟件二次開發(fā)的一個(gè)虛擬維修訓(xùn)練系統(tǒng)。
在虛擬維修訓(xùn)練系統(tǒng)中,任務(wù)數(shù)據(jù)庫存儲存儲虛擬維修任務(wù),根據(jù)任務(wù)數(shù)據(jù)庫的任務(wù)描述和具體操作內(nèi)容進(jìn)行維修任務(wù)分解,規(guī)劃動作流序列,使自然語言描述的的任務(wù)逐層向動作流序列分解,包括工具、虛擬人、操作對象、注意等內(nèi)容。根據(jù)具體的動作環(huán)境條件實(shí)例化相應(yīng)的動作參數(shù)化,使動作序列中UPAR轉(zhuǎn)化為IPAR,然后在基于delmia二次開發(fā)的IVMTS系統(tǒng)中按照IPAR序列逐步添加動作仿真維修過程。
某型飛機(jī)起落架維修仿真實(shí)例在delmia二次開發(fā)的IVMTS中驗(yàn)證PAR的執(zhí)行流程,仿真過程同時(shí)考慮安全可靠操作因素。因此,為了達(dá)到這個(gè)目標(biāo),應(yīng)考慮虛擬樣機(jī)和虛擬人的物理屬性應(yīng)被考慮。以便在維修仿真過程中判斷操作安全和可靠。比如:一個(gè)虛擬人搬動超過其負(fù)荷的時(shí)候的危險(xiǎn)性和操作可能性等。
首先,利用維修任務(wù)分解模型先把任務(wù)分解成元任務(wù)MT,進(jìn)而分解為操作序列O,結(jié)合維修邏輯支持分析(logistic support analysis LSA),分析該維修任務(wù)的具體操作流程,用規(guī)范的自然語言表達(dá)操作流程。然后,維修仿真系統(tǒng)的NL2PAR解析維修操作流程語言,找到操作動作對應(yīng)于動作庫中相應(yīng)的PAR動作。根據(jù)操作流程相應(yīng)的PAR流組成維修PAR樹結(jié)構(gòu)存入數(shù)據(jù)庫。圖5給出了自然語言描述的任務(wù)的分解邏輯圖。
圖5 自然語言描述的維修指令參數(shù)化轉(zhuǎn)化結(jié)構(gòu)樹
產(chǎn)生的維修動作序列包括兩個(gè)重要的方面:(1)動作序列樹;(2)虛擬仿真驗(yàn)證。由于動作序列樹執(zhí)行過程中要保證安全可靠的執(zhí)行,仿真過程中要對動作進(jìn)行驗(yàn)證和判斷。從維修任務(wù)分解樹可以得到如下的動作序列:
Gettool(Agent,Wrench——Usetool(Agent, Wrench,Bolt)——Reach(Agent, Bolt)——Grasp(Agent,Bolt)——Pull(Agent, Bolt).
圖6 主要動作的仿真
在運(yùn)用delmia仿真時(shí),要進(jìn)行人體關(guān)節(jié)位置的調(diào)節(jié),工作量極大且相當(dāng)繁瑣,通過建立虛擬維修動作庫(Action-DB),在參數(shù)化動作描述(PAR)基礎(chǔ)上的維修任務(wù)分解模型的支持下,把維修任務(wù)分解為動作庫的維修動作指令流,直接應(yīng)用動作到虛擬人上,減少了虛擬人的動作姿態(tài)的繁瑣調(diào)整工作,大大簡化仿真動作的調(diào)整工作,只需按照動作指令流執(zhí)行即可。另一方面,可以根據(jù)動作庫的動作標(biāo)準(zhǔn)時(shí)間,非常方便的的計(jì)算維修任務(wù)的仿真時(shí)間,便于計(jì)算工時(shí),疲勞度等維修量化指標(biāo)。
本文在參數(shù)化動作描述(PAR)的基礎(chǔ)上提出維修任務(wù)分解模型(MTDM)和維修動作庫(Action-DB),提出了自然語言向動作的分解方法和仿真系統(tǒng)結(jié)構(gòu),并在舉例說明基于delmia二次開發(fā)的IVMTS中進(jìn)行維修仿真。系統(tǒng)應(yīng)用表明,維修任務(wù)分解模型、動作庫和PAR運(yùn)行系統(tǒng)結(jié)合在一起,虛擬維修仿真具有很大的方便性和可行性,是虛擬維修技術(shù)發(fā)展的方向。未來的研究可以集中在自動語音和語言識別上,并行任務(wù)的動作邏輯序列的生成和控制和自動仿真評估等方面。
[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.