畢顯士, 趙延光, 黃 凱
(1.92281 部隊(duì), 山東 青島 266550; 2.95579 部隊(duì), 四川 邛崍 611530; 3.95737 部隊(duì), 重慶 402361)
機(jī)務(wù)訓(xùn)練是飛機(jī)機(jī)務(wù)人員重要的工作環(huán)節(jié), 對培養(yǎng)技術(shù)的熟練度,掌握飛機(jī)設(shè)備的操作維護(hù)具有重要意義。傳統(tǒng)模式下維修人員在具有一定理論基礎(chǔ)后, 跟隨 “師傅”進(jìn)行“一對一”的操作訓(xùn)練。 此外,飛機(jī)更新?lián)Q代越來越頻繁,出現(xiàn)的故障難以再次完整復(fù)現(xiàn),使用真機(jī)會造成大量的人力、 物力和資源的消耗, 訓(xùn)練效果難以達(dá)到預(yù)期。 同時,為適應(yīng)航空維修保障中越來越高的科技含量,會檢測、會調(diào)試、會維護(hù)、會修理、會管理(簡稱“五會”)己成為對航空機(jī)務(wù)人員的必然要求[1],虛擬機(jī)務(wù)訓(xùn)練可較好解決這種問題。
虛擬機(jī)務(wù)訓(xùn)練系統(tǒng)基于虛擬現(xiàn)實(shí)技術(shù), 結(jié)合三維建模, 利用動畫引擎, 目的是建起一個代替真實(shí)的訓(xùn)練的“實(shí)裝”、“實(shí)地”和“實(shí)戰(zhàn)”仿真環(huán)境,給訓(xùn)練人員提供一個高效、經(jīng)濟(jì)的訓(xùn)練平臺和模式,使其能夠深刻認(rèn)知維護(hù)對象的組成和構(gòu)造,掌握維護(hù)方法,以提高維修的熟稔度;還可根據(jù)操作流程或法規(guī),對操作結(jié)果進(jìn)行考核評估。
20 世紀(jì)90 年代以來,國外已廣泛開展虛擬訓(xùn)練技術(shù)的應(yīng)用,意大利薩勒諾大學(xué)的Abat 等開發(fā)了一種基于觸覺的虛擬維修訓(xùn)練系統(tǒng),實(shí)現(xiàn)了高交互性的虛擬環(huán)境,并將其應(yīng)用于航空行業(yè)中[2]。 新加坡南洋理工大學(xué)的Li 等采用桌面式虛擬現(xiàn)實(shí)系統(tǒng)VREALISM 實(shí)現(xiàn)了虛擬維修訓(xùn)練[3]。國內(nèi)的研究相對較晚,但發(fā)展較快,例如郝建平等人針對復(fù)雜的裝備虛擬維修訓(xùn)練,基于Multi-Agent,采用系統(tǒng)設(shè)計(jì)方法,開發(fā)的虛擬維修訓(xùn)練系統(tǒng)(VMTS)結(jié)構(gòu)框架,對此領(lǐng)域的研究具有重要意義。
本文針對某無人機(jī)機(jī)務(wù)崗位, 構(gòu)建多源信息融合交互式的三維動態(tài)視景和實(shí)體行為的系統(tǒng)仿真, 讓受訓(xùn)人員進(jìn)入虛擬現(xiàn)實(shí)環(huán)境, 實(shí)時感知和操作虛擬世界中的無人機(jī)設(shè)備和零部件,獲得身臨其境的真實(shí)感受。
虛擬現(xiàn)實(shí)技術(shù)(VR 技術(shù))綜合了計(jì)算機(jī)圖形學(xué)、傳感器、人機(jī)接口、機(jī)器視覺和人工智能等諸多先進(jìn)技術(shù),以諸如UNITY 3D 等三維引擎構(gòu)建虛擬場景, 使用者憑借視覺、 聽覺、 觸覺等多信息通道逼真地感受虛擬三維世界,形成以參與者為中心,并可進(jìn)行實(shí)時的交互的可視化環(huán)境。 其主要有三大特點(diǎn):分別是沉浸性(immersion),交互性(interactivity)和構(gòu)想性(imagination)[4]。 從90 年代初期開始,美國率先將虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于虛擬戰(zhàn)場環(huán)境、單兵訓(xùn)練模擬、實(shí)施諸軍兵種聯(lián)合演習(xí)、指導(dǎo)員訓(xùn)練四個方面,并在這方面取得很好的成績[5]。
Unity3D 提供諸如聲音、圖形渲染等多種功能,內(nèi)置強(qiáng)大的編輯器,支持3D Max、Maya 等多種文件格式,只需運(yùn)用一些編程語言, 就可以在它里面開發(fā)設(shè)計(jì)出高品質(zhì)的游戲產(chǎn)品。 使用基于Direct X 和Open GL 的可實(shí)現(xiàn)高度優(yōu)化的圖形渲染庫, 不僅可以支持Bump mapping、Rflection mapping,還可以支持Screen Space Ambient Occlusion 和動態(tài)陰影效果中用到的Shadow Map 技術(shù)。 Unity3D 的腳本是基于.NET Framework 開源框架的Mono類庫,通過Mono 將帶有GC(垃圾回收)的內(nèi)存安全語言和C++圖引擎橋接,不僅減少了安全隱患,也使得跨平臺開發(fā)代碼成為可能。 用戶編寫腳本的變量參數(shù)可以在編輯器里進(jìn)行調(diào)整并實(shí)時的可以看到調(diào)整的效果[6]。 此外,Unity 的第三方的插件包括GUI、網(wǎng)絡(luò)、材質(zhì)、動畫等,幾乎涵蓋了所有主題。
虛擬機(jī)務(wù)訓(xùn)練系統(tǒng)共分為學(xué)習(xí)訓(xùn)練、虛擬操作訓(xùn)練、考核評估、系統(tǒng)管理等四個模塊,見圖1。
采用設(shè)備部件三維仿真展示及文字介紹、 維修流程及三維動畫維修演示、 維修手冊、 圖片及PPT 課件等方式,以課程為單位來管理某機(jī)種的或整個學(xué)習(xí)過程,還可實(shí)時記錄受訓(xùn)人員的學(xué)習(xí)和訓(xùn)練時間。 本模塊構(gòu)建了一個導(dǎo)覽式和查詢式的學(xué)習(xí)平臺, 給受訓(xùn)人員提供全面系統(tǒng)的基礎(chǔ)理論和維修技能學(xué)習(xí)環(huán)境, 同時在虛擬操作訓(xùn)練時也可作為資料查詢使用。 維修演示按照操作規(guī)定自動可交互地播放操作動畫(相當(dāng)于視頻播放器),具有文字和語音提示功能,方便課堂教學(xué)。培訓(xùn)模式下可以按照最優(yōu)流程單步地對模型進(jìn)行操作,學(xué)習(xí)維護(hù)流程。學(xué)習(xí)完成后,通過相關(guān)的作業(yè)、單元測試還有仿真操作訓(xùn)練強(qiáng)化知識點(diǎn)的掌握,提供作業(yè)上傳、查詢、下載等功能。
虛擬操作訓(xùn)練模塊是受訓(xùn)人員開展日常訓(xùn)練的核心部分。按照無人機(jī)各系統(tǒng)劃分,依據(jù)“系統(tǒng)-設(shè)備-部件”的順序進(jìn)行分解,以LRU 為基本單元建立三維模型,依據(jù)系統(tǒng)及各設(shè)備結(jié)構(gòu)特點(diǎn)、檢測特性,遵循機(jī)務(wù)訓(xùn)練手冊,設(shè)計(jì)三維模型的裝配信息和屬性, 建立相應(yīng)的維護(hù)知識庫。通過交互設(shè)備受訓(xùn)人員可以方便地拾取部件,查看其名稱和相關(guān)信息,進(jìn)行組裝或檢測。組裝中通過動態(tài)約束和碰撞檢測技術(shù)判斷當(dāng)前部件是否可以拆裝和防止零件之間相互穿越,增強(qiáng)機(jī)務(wù)訓(xùn)練的真實(shí)感。
虛擬操作訓(xùn)練模塊還須建立起支撐機(jī)務(wù)訓(xùn)練的高逼真度三維虛擬環(huán)境, 將裝備真實(shí)工作環(huán)境進(jìn)行完整地展現(xiàn), 所建立的三維模型結(jié)構(gòu)與工作檢測狀態(tài)也要和真實(shí)設(shè)備相一致, 充分考慮裝備維修保障對保障人員素質(zhì)的需求,對受訓(xùn)人員的輸入可實(shí)時響應(yīng),實(shí)現(xiàn)使用各種測試儀表的重復(fù)訓(xùn)練;實(shí)現(xiàn)各類設(shè)備種類復(fù)雜,層次多樣的故障定位和排除的重復(fù)訓(xùn)練;實(shí)現(xiàn)各種部件的組裝、測試和維護(hù)操作的重復(fù)訓(xùn)練;充分調(diào)動受訓(xùn)人員的感官神經(jīng),激發(fā)操作訓(xùn)練的積極性和主動性。
考核評估模塊分為理論知識考核和機(jī)務(wù)操作考核兩部分。 理論知識考核部分采用C/S 架構(gòu),實(shí)現(xiàn)基于智能化的在線考核。理論知識題庫以學(xué)習(xí)課程來分類管理,包括文字試卷形式、三維仿真操作等。文字類分為單選、多選、判斷和實(shí)操等類型, 根據(jù)需要設(shè)定不同課目及崗位的題庫,由數(shù)據(jù)庫統(tǒng)一管理,分為試題組卷、測試界面、答題記錄、考核評分和成績查詢等子模塊。各種類型的題目覆蓋各知識點(diǎn)和機(jī)種, 并有自己的難度值, 組卷時采用預(yù)處理、改進(jìn)的遺傳算法以及分段優(yōu)化等方法,可適應(yīng)機(jī)務(wù)各崗位、各技術(shù)等級人員的需求。 試卷生成后,采用在線方式在限定時間內(nèi)開展考試,無需人工監(jiān)控。提交后自動評卷,反饋考試成績及具體情況。
機(jī)務(wù)操作考核可根據(jù)不同機(jī)務(wù)崗位, 選擇不同的三維考核場景。 在考核操作過程中,屏蔽了一切提示內(nèi)容,并具有一定的容錯性,逐步記錄操作者的動作,操作時間及操作順序,將相關(guān)信息實(shí)時存儲至數(shù)據(jù)庫中。操作考核的難點(diǎn)在于如何建立科學(xué)合理的評價指標(biāo)評定成績,本文以維修大綱規(guī)定的標(biāo)準(zhǔn)流程為基準(zhǔn),通過操作完整性、操作時間和操作順序三個維度, 采用模糊多準(zhǔn)則決策方法, 考察受訓(xùn)人員實(shí)際操作流程在上述三個維度上與標(biāo)準(zhǔn)流程的相關(guān)性,從而建立起評價模型和計(jì)算方法,實(shí)現(xiàn)對受訓(xùn)人員操作能力的評價。
系統(tǒng)管理模塊供管理員使用, 受訓(xùn)人員不能使用該項(xiàng)功能。 本模塊主要對系統(tǒng)中的數(shù)據(jù)在管理后臺統(tǒng)一管理,主要包含人員信息管理、用戶權(quán)限分配和制定、數(shù)據(jù)采集記錄、日志管理、資源管理等方面。 本模塊可修改與管理受訓(xùn)人員信息、自動記錄操作人員動作、時間、步驟等訓(xùn)練和操作考核情況;修改和維護(hù)知識庫、案例庫與考題庫;批改學(xué)習(xí)訓(xùn)練模塊中受訓(xùn)人員上傳的作業(yè);記錄和維護(hù)考核的結(jié)果,評定受訓(xùn)人員的知識等級和技能等級。
虛擬機(jī)務(wù)訓(xùn)練系統(tǒng)是操作人員,設(shè)備對象,技能培養(yǎng)的有機(jī)整體, 以高逼真實(shí)現(xiàn)實(shí)裝的操作為目的, 實(shí)施對象、 操作過程以及所使用配套工具與實(shí)際情況吻合度要高,因此在建立無人機(jī)全系統(tǒng)三維模型時,從最基礎(chǔ)的零部件開始, 自下而上, 綜合零部件及設(shè)備之間的層次關(guān)系、裝配關(guān)系以及不同層次設(shè)備的約束和傳遞關(guān)系,結(jié)合各部件的實(shí)際物理屬性,按照實(shí)際設(shè)備尺寸和功能,利用PATCH 方法、多邊形法、螺旋線法等建立數(shù)字模型。 按照無人機(jī)的系統(tǒng)劃分, 采用自頂而下參數(shù)約束集的樹狀結(jié)構(gòu)將所有部件模型有條不紊管理起來,見圖2。
圖2 建模與管理層次關(guān)系圖Fig.2 Modeling and management hierarchy diagram
虛擬機(jī)務(wù)操作訓(xùn)練系統(tǒng)為了幫助受訓(xùn)對象掌握和提高維修操作技能,著重于操作的正確性和完整性,主要以交互的方式完成,盡量減少主觀因素造成的影響。 因此在操作流程中加入啟發(fā)性知識和融入智能學(xué)習(xí), 建立虛擬環(huán)境下操作動作的映射和檢測處理, 形象地表現(xiàn)操作過程中信息的動態(tài)流動,增強(qiáng)操作的交互性,使現(xiàn)實(shí)中抽象和不易觀察的操作動作和現(xiàn)象展現(xiàn)為可視的宏觀過程。
機(jī)務(wù)崗位不同,操作熟練度不同,受訓(xùn)人員在訓(xùn)練或考核時的操作也不盡相同;操作難度等級、工具使用合理性等評價指標(biāo)須用專業(yè)的知識和經(jīng)驗(yàn)去建立, 要全面客觀評估操作的優(yōu)劣比較困難。 本文以各系統(tǒng)機(jī)務(wù)維護(hù)手冊標(biāo)準(zhǔn)流程為依據(jù),從操作時間、重定向數(shù)、操作聚合性等[7]三個方面出發(fā),通過拓?fù)渑判蚪⒉僮髁鞒痰脑u價模型,使用廣度優(yōu)先方法遍歷評價模型,結(jié)合蟻群算法得出最優(yōu)操作流程,為其他操作流程提供考核時的標(biāo)準(zhǔn)。
根據(jù)系統(tǒng)功能需求和設(shè)計(jì)模式的需要, 本系統(tǒng)的軟件體系結(jié)構(gòu)采用開放性和靈活性較高的分層軟件體系結(jié)構(gòu)進(jìn)行設(shè)計(jì)。整個系統(tǒng)分成了基礎(chǔ)數(shù)據(jù)層、通用數(shù)據(jù)訪問層、基礎(chǔ)應(yīng)用層和管理應(yīng)用層,是一種四層體系結(jié)構(gòu)。 具體結(jié)構(gòu)見圖3,系統(tǒng)采用C/S(客戶端/服務(wù)器)架構(gòu),整個系統(tǒng)劃分為四層:
圖3 軟件系統(tǒng)架構(gòu)設(shè)計(jì)圖Fig.3 Drawing of software system architecture design
(1)基礎(chǔ)層:主要采用Unity 程序庫,包含了基于.NET Framework 的開源框架Mono 腳本支持庫、Shader 渲染著色引擎庫;NIDIA 強(qiáng)大的物理引擎, 以及高質(zhì)量粒子系統(tǒng),這些特效均可輕松上手,且效果逼真,可以方便、準(zhǔn)確地開發(fā)出所需要的物理特效; 基于Direct X 和Open GL的一種可以實(shí)現(xiàn)高度優(yōu)化的圖形二三維渲染庫。
(2)數(shù)據(jù)層:主要采用SQLite 數(shù)據(jù)庫。 SQLite 是一個小型的C 程序庫,實(shí)現(xiàn)了獨(dú)立的、可嵌入、零配置的SQL數(shù)據(jù)庫引擎。數(shù)據(jù)庫分為五大類:用戶信息庫、資源庫、設(shè)備信息庫、三維模型庫、試題庫。
(3)業(yè)務(wù)邏輯層:對用戶需求的支持,包含了用戶登錄流程、設(shè)備學(xué)習(xí)模塊、仿真考核模塊、后臺管理模塊。
(4)界面展示層:使用了Unity 自帶的靈活美觀的界面庫UGUI、OnGUI;UIWidgets 第三方界面UI 插件, 包含Combobox、ListView、Progressbar、TileView 等 多 類 動 態(tài) 部件;HighlightingSystem 第三方高亮插件,可支持各類樣式的高亮效果;
本系統(tǒng)利用虛擬仿真技術(shù),采用unity3D 引擎、3DsMax等三維建模軟件與無人機(jī)機(jī)務(wù)訓(xùn)練相結(jié)合,對無人機(jī)結(jié)構(gòu)盡可能地可視化還原,構(gòu)建出一個從設(shè)備、到分系統(tǒng),再到全機(jī)系統(tǒng)的訓(xùn)練環(huán)境,實(shí)現(xiàn)展示設(shè)備結(jié)構(gòu)原理、訓(xùn)練維修技能、開展培訓(xùn)考核等功能,即使在無任務(wù)期間也可進(jìn)行近似于真實(shí)系統(tǒng)的學(xué)習(xí)和訓(xùn)練。 系統(tǒng)訓(xùn)練流程見圖4。
圖4 系統(tǒng)訓(xùn)練流程圖Fig.4 System training flow chart
4.2.1 三維建模
三維建模主要采用3D MAX 進(jìn)行場景建模, 不同類格式模型的導(dǎo)入導(dǎo)出及動畫設(shè)計(jì),Solidworks 輔助進(jìn)行無人機(jī)設(shè)備的工業(yè)設(shè)計(jì)。3D MAX 作為一款專業(yè)的三維動畫軟件,其主要有四種方式的建模方法。 包括:多邊形建模法、NURBS 建模法、PATCH 建 模 法 以及基于插件的建模法。
飛機(jī)外形及骨架包含大量的曲面形態(tài),因此利用PATCH方式建模;飛機(jī)內(nèi)部各模塊設(shè)備較為規(guī)則,主要采用多邊形建模方式;建模的基礎(chǔ)模型主要采用立方體、球體、圓柱體、切角長方體、切角圓柱體等標(biāo)準(zhǔn)幾何體通過各種組合形成;對于形狀和布設(shè)不規(guī)則的線纜,采用局部拼接、樣條線建模、螺旋線建模等方式完成。
根據(jù)場景的需要,設(shè)置地形的大小、像素等;選擇草地和樹木工具及適合的天空盒,通過調(diào)整相關(guān)參數(shù),使地形效果更加直觀、具體和真實(shí),實(shí)現(xiàn)了場景模型的構(gòu)建。
設(shè)計(jì)完成后, 將無人機(jī)模型利用Unity 插件導(dǎo)出為.fbx 格式,將場景模型導(dǎo)出為.3ds 格式;最終利用三維可視化引擎讀取加載兩種模型到MFC 工程中進(jìn)行顯示、渲染及交互操作,模型制作流程圖見圖5。
圖5 模型制作流程圖Fig.5 Model making flow chart
4.2.2 模型交互實(shí)現(xiàn)
為了實(shí)現(xiàn)真正的模擬仿真,在系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)時,通過使用Unity3D 的漫游特征, 實(shí)現(xiàn)設(shè)備與操作者的交互操作。 通過虛擬系統(tǒng),在內(nèi)部通過鍵盤控制漫游角度,根據(jù)需要自由地進(jìn)行切換視角,檢查機(jī)體內(nèi)部設(shè)備的狀態(tài)。針對系統(tǒng)中一些關(guān)鍵設(shè)備和儀器的組成結(jié)構(gòu),將Unity3D與3Dmax 結(jié)合,成功實(shí)現(xiàn)了設(shè)備的三維展示,包括角度的旋轉(zhuǎn)和移動等。 具體實(shí)現(xiàn)代碼如下:
登陸后, 系統(tǒng)主界面見圖6。 系統(tǒng)主界面分為設(shè)備學(xué)習(xí)、仿真訓(xùn)練、考試、成績查詢四個部分,其中考試部分又分為理論考試和操作考試兩類,操作考試見圖7。 在訓(xùn)練模式下, 會顯示諸如設(shè)備名稱、 操作步驟提示、 錯誤數(shù)量、質(zhì)量評價、選用工具名稱及操作方法等信息, 以利于操作者更好的掌握操作訓(xùn)練過程和操作維護(hù)標(biāo)準(zhǔn)。 根據(jù)崗位操作系統(tǒng)的區(qū)別, 顯示的內(nèi)容會有一定的差別。
圖6 系統(tǒng)主界面Fig.6 System main interface
圖7 操作考核界面Fig.7 Operation appraisal interface
本文針對無人機(jī)日常機(jī)務(wù)訓(xùn)練需求,采用三維軟件建立了某型無人機(jī)全系統(tǒng)模型,基于機(jī)務(wù)維護(hù)規(guī)程以虛擬現(xiàn)實(shí)技術(shù)構(gòu)架了交互式訓(xùn)練系統(tǒng)。 解決了三維物體建模與管理、基于虛擬現(xiàn)實(shí)的交互式操作與評估等問題,實(shí)現(xiàn)了理論學(xué)習(xí)、操作訓(xùn)練及崗位考核等功能。 可有效提高受訓(xùn)人員的機(jī)務(wù)維護(hù)技能,對降低訓(xùn)練成本、提升訓(xùn)練效果有較大的幫助作用。