祖以慧,王昌昊,何 龍
(1成都航空職業(yè)技術(shù)學(xué)院 四川 成都 610100)
(2航空維修工程學(xué)院 四川 成都 610100)
隨著航空業(yè)的發(fā)展,為了保證飛行安全,對航空發(fā)動機(jī)維修的技術(shù)要求十分嚴(yán)格。航空發(fā)動機(jī)維修質(zhì)量的高低直接決定了設(shè)備可靠性,而維修質(zhì)量的高低取決于操作人員經(jīng)驗的積累和舉一反三的實踐,作為職業(yè)院校的學(xué)生更注重的是實踐操作和動手能力,所以持續(xù)的練習(xí)和反復(fù)的操作是必不可少的,這就使得設(shè)備的數(shù)量和可用性要滿足學(xué)生的學(xué)習(xí)需求,但設(shè)備造價昂貴往往限制了設(shè)備投入的數(shù)量,從而影響了操作人員維修能力的形成,虛擬維修技術(shù)應(yīng)運(yùn)而生。虛擬維修技術(shù)是虛擬現(xiàn)實技術(shù)的分支,虛擬維修技術(shù)的發(fā)展已經(jīng)經(jīng)歷了虛擬環(huán)境下的認(rèn)知學(xué)習(xí)、操作仿真訓(xùn)練等階段,已有高校將故障診斷技術(shù)引入到虛擬維修訓(xùn)練系統(tǒng)中,機(jī)器通過不斷學(xué)習(xí)以及現(xiàn)有的故障案例庫進(jìn)行故障分析和診斷,并將其存入案例庫中。虛擬維修已成為維修技術(shù)的發(fā)展趨勢之一。
現(xiàn)在國內(nèi)對虛擬維修也有諸多研究,徐振國[1]開發(fā)了基于虛擬現(xiàn)實的起落架虛擬仿真研究,采用Unity3D建模導(dǎo)入虛擬現(xiàn)實平臺,減少維修成本,提高維修人員的故障診斷能力和維修熟練度。于潞[2]開發(fā)了基于分布式VR系統(tǒng)技術(shù)的綜合航電虛擬訓(xùn)練系統(tǒng),解決了當(dāng)前航空機(jī)務(wù)航電專業(yè)維護(hù)訓(xùn)練中理論培訓(xùn)過程抽象,實裝和模擬器欠缺的問題。
本文針對零件拆裝序列的規(guī)劃提出了基于約束的線性拆裝模型,采用模塊化設(shè)計方案,為了滿足不同學(xué)員的不同訓(xùn)練需求,將系統(tǒng)設(shè)置為演示、訓(xùn)練、考核模式。系統(tǒng)采用VC++工具與Vega Prime視景仿真平臺作為開發(fā)方案,通過對系統(tǒng)的定位和功能需求的分析確定了系統(tǒng)的解決方案,進(jìn)而實現(xiàn)了航空發(fā)動機(jī)虛擬維修可視化平臺的開發(fā)。
基于航空類職業(yè)院校的學(xué)生不僅要學(xué)習(xí)系統(tǒng)的維修理論知識,更注重學(xué)生的動手操作和實踐能力的提升,但由于航空發(fā)動機(jī)價格高昂,設(shè)備數(shù)量有限,場地不足,實訓(xùn)期間大部分是很多同學(xué)共用1臺設(shè)備,極大地影響實訓(xùn)效果。其次,發(fā)動機(jī)型號更新?lián)Q代快,不能滿足學(xué)生緊跟時代前沿的要求。另外,航空發(fā)動機(jī)的維修費(fèi)用也是價格不菲,受到諸多局限的影響,虛擬維修技術(shù)的開發(fā)應(yīng)用正當(dāng)時,滿足學(xué)生的認(rèn)知需要、訓(xùn)練需求,學(xué)生可以不受地域、時間的限制,根據(jù)需求應(yīng)用虛擬維修系統(tǒng)進(jìn)行訓(xùn)練,增強(qiáng)實訓(xùn)效果[3]。
確定虛擬維修訓(xùn)練平臺的系統(tǒng)架構(gòu),將虛擬維修訓(xùn)練平臺分為以下4個模塊:虛擬視景仿真模塊、用戶圖形界面模塊、操作事件驅(qū)動模塊和維修操作控制模塊,見圖1。
虛擬視景仿真模塊是用戶應(yīng)用系統(tǒng)最直觀的窗口,鑒于Vega Prime具有面向?qū)ο蟆⒐δ軓?qiáng)大、界面友好、平臺兼容性好等特點(diǎn),應(yīng)用程序通過調(diào)用Vega Prime提供的底層API函數(shù)實現(xiàn)對虛擬場景的驅(qū)動和控制,作為專業(yè)的視景仿真工具,具有逼真的仿真元素,非常直觀地展現(xiàn)了人機(jī)交互的功能[4]。包括場景視圖、圖畫以及聲音特效、維修對象的3D模型和虛擬的維修工具和器材。
本系統(tǒng)采用桌面式虛擬現(xiàn)實,將計算機(jī)的屏幕作為觀察虛擬世界的窗口,鍵盤和鼠標(biāo)等手持交互設(shè)備通過屏幕控制三維場景,在場景中的漫游和進(jìn)行各種維修作業(yè),相比沉浸式虛擬維修沉浸性偏弱,但是由于此種方式?jīng)]有昂貴的外部硬件和軟件的支持,成本比較低,也適合在高校教學(xué)使用[5]。
主要分為外部響應(yīng)驅(qū)動和應(yīng)用程序本身驅(qū)動。外部響應(yīng)驅(qū)動主要是接收外部鍵盤、鼠標(biāo)等操作做出的反應(yīng),通過鍵盤的上、下、左、右鍵以及鼠標(biāo)控制在場景中漫游,視角的切換、零件的拾取等行為,而應(yīng)用程序本身去驅(qū)動區(qū)別于外部響應(yīng)驅(qū)動,是內(nèi)部程序的觸發(fā)而做出的響應(yīng),比如當(dāng)油量剩余低于最低值時,會觸發(fā)油量報警提示。
維修操作控制主要是通過系統(tǒng)對用戶行為的實時跟蹤進(jìn)行識別,與系統(tǒng)數(shù)據(jù)庫的內(nèi)容匹配進(jìn)行判定,最后提供幫助信息給用戶以引導(dǎo)。維修過程的識別主要包括兩個方面:(1)系統(tǒng)會自動記錄用戶的每一步操作,根據(jù)系統(tǒng)當(dāng)前的數(shù)據(jù)進(jìn)行分析給出下一步的操作提示。(2)體現(xiàn)在故障樹分析上,在發(fā)生故障后,系統(tǒng)根據(jù)當(dāng)前的狀態(tài)通過查詢數(shù)據(jù)庫里的數(shù)據(jù)進(jìn)行匹配,判定節(jié)點(diǎn)狀態(tài),給出操作提示,或根據(jù)現(xiàn)有案例做出判斷和決策[6-7]。
系統(tǒng)根據(jù)使用對象的不同,將用戶分為3類角色,每個角色的權(quán)限不同。第1類是管理員,主要對角色的分配、密碼進(jìn)行管理;第2類是維修人員(學(xué)生),可以根據(jù)虛擬維修演示視頻進(jìn)行學(xué)習(xí),針對不同的訓(xùn)練模塊進(jìn)行訓(xùn)練,對專家給出的內(nèi)容進(jìn)行考核自評;第3類是專家,可以設(shè)置考核方式和考核內(nèi)容,以及對學(xué)員的訓(xùn)練結(jié)果給出考核評價[8]。中間層是操作層,用戶動作的觸發(fā)以及系統(tǒng)內(nèi)部的命令都會以對話框的方式反饋給用戶,實現(xiàn)操作和維修的可視化。
系統(tǒng)的設(shè)計從上到下依次為客戶端、虛擬人機(jī)環(huán)境邏輯處理,最下層是數(shù)據(jù)支撐,虛擬維修仿真通過人機(jī)交互接口連接用戶與仿真系統(tǒng),用戶通過鼠標(biāo)或者鍵盤外部設(shè)備與系統(tǒng)交互,此外,友好的交互界面不僅使用戶對系統(tǒng)的功能一目了然,而且使系統(tǒng)簡單易用[9]。界面包括菜單欄、工具條等,通過各種按鈕和對話框提示各種響應(yīng)命令操縱仿真系統(tǒng)。用戶通過身份認(rèn)證后自動初始化系統(tǒng),模型和場景的調(diào)用進(jìn)入準(zhǔn)備階段,模型和場景文件以數(shù)據(jù)的形式存儲在數(shù)據(jù)庫中,在用戶用鍵盤和鼠標(biāo)外設(shè)驅(qū)動后,選擇維修任務(wù)后操作程序通過調(diào)用場景驅(qū)動程序載入場景和模型。具體設(shè)計見圖2。
維修過程中會涉及大量零部件的拆卸和安裝,如果零部件很多,可供選擇的拆卸安裝順序就會很多,為了規(guī)范學(xué)員的操作行為,必須規(guī)避組合爆炸。所以,針對規(guī)劃拆裝序列,本系統(tǒng)采用的是基于Petri網(wǎng)絡(luò)的順序拆卸方法,每個零件有且僅有一個ID,在每個零件開始拆卸前,必須將約束它的所有零件拆除后才可以拆除當(dāng)前零件。如果約束關(guān)系沒有解除,也就是當(dāng)前約束它的零件仍為“1”的狀態(tài),則系統(tǒng)提示不可拆除?;诰€性拆裝序列規(guī)劃,A1--A2--A3--A4........An,具體見圖3。
為了實現(xiàn)網(wǎng)絡(luò)端的多用戶共同操作,系統(tǒng)的數(shù)據(jù)庫設(shè)計要考慮網(wǎng)絡(luò)化要求,系統(tǒng)采用易于讀取的ACCESS作為本地數(shù)據(jù)庫存儲,采用ACCESS主要基于其支持ODBC,同時利用強(qiáng)大的DDE和OLE特性,可以在數(shù)據(jù)表中嵌入聲音、位圖等對象,同時可以動態(tài)地對數(shù)據(jù)表進(jìn)行操作,同時為了方便多用戶客戶端分布式操作,需建立網(wǎng)絡(luò)服務(wù)器,在服務(wù)器端系統(tǒng)采用SQLServer存儲作為網(wǎng)絡(luò)服務(wù)器。采用SQLServer是基于其易用性、適合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉庫功能、與許多其他服務(wù)器軟件緊密關(guān)聯(lián)的集成性、良好的性價比等優(yōu)勢。
系統(tǒng)的開發(fā)主要圍繞兩個模塊進(jìn)行,分別是仿真場景的調(diào)用和信息可視化管理系統(tǒng)的開發(fā)。
仿真場景包括模型仿真、拆/裝仿真、場景仿真,三維模型仿真主要考慮模型的大小和比例以及模型的存儲大小,三維模型盡可能輕量化,縮短調(diào)用模型的時間;場景仿真主要考慮場景的色調(diào)及光照等真實條件,盡量模擬真實的維修環(huán)境,拆/裝仿真的難點(diǎn)在于如何把拆卸下來的零件自由落地到地面,碰撞到地面會做出什么樣的反應(yīng),這就涉及碰撞檢測技術(shù)。本系統(tǒng)采用的是BUMP檢測方法。
信息可視化管理系統(tǒng)主要分為本地信息可視化的管理和遠(yuǎn)程端可視化管理,本地信息可視化管理主要是維修資源信息的管理和輔助決策(專家?guī)欤?,維修資源信息的可視化管理包括工具(TOOL)的管理、零件的管理、用戶(USER)的管理、場景(SECENE)的管理、維修過程記錄的管理、操作時管理;遠(yuǎn)程端信息可視化管理包括遠(yuǎn)程端的維修記錄管理,操作時間管理、訪問管理、故障信息的導(dǎo)入、遠(yuǎn)程的維修操作支持[10]。主應(yīng)用程序通過調(diào)用模型庫中的模型加載到場景中,進(jìn)行維修操作,所有操作都離不開方法庫和知識庫的支持。方法庫是將用戶的方法和系統(tǒng)包裝的方法抽象成函數(shù)庫。知識庫是故障診斷信息模塊中,基于對故障現(xiàn)象表征的判斷推理,從故障庫中找到故障原因,而隨著案例不斷的出現(xiàn),系統(tǒng)會自動將這些故障添加到故障庫中,故障庫中的案例就會不斷地豐富和擴(kuò)充,推理機(jī)通過自我學(xué)習(xí),模糊判斷找到故障原因,也是基于人工智能的思想。具體操作功能見圖4。
在高職的航空發(fā)動機(jī)專業(yè)應(yīng)用虛擬維修系統(tǒng)進(jìn)行教學(xué),彌補(bǔ)了傳統(tǒng)實訓(xùn)教學(xué)的弊端,緩解了因院校經(jīng)費(fèi)緊張產(chǎn)生的設(shè)備更新?lián)Q代難的問題,同時激發(fā)了學(xué)生的學(xué)習(xí)興趣,使其可以自主探索和訓(xùn)練。虛擬維修的教學(xué)方法形式多樣,訓(xùn)練時間自由,是對傳統(tǒng)教學(xué)方法的補(bǔ)充和豐富,此項研究可以對其他專業(yè)具有大型設(shè)備維修的訓(xùn)練提供參考,并有一定的借鑒意義。