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