王 宇,周建釗
(陸軍工程大學(xué) 野戰(zhàn)工程學(xué)院,江蘇 南京 210000)
柴油機(jī)技術(shù)含量高、結(jié)構(gòu)復(fù)雜,在實(shí)施結(jié)構(gòu)、原理及維修保養(yǎng)實(shí)機(jī)教學(xué)培訓(xùn)時(shí),培訓(xùn)難度大、成本高,滿足不了裝備使用管理維護(hù)人員培訓(xùn)的需求,師生普遍感到學(xué)習(xí)柴油機(jī)的結(jié)構(gòu)、原理、維護(hù)保養(yǎng)知識(shí)和操作技能時(shí)既費(fèi)時(shí)又費(fèi)力,因此,選擇一款優(yōu)秀的程序開(kāi)發(fā)工具,設(shè)計(jì)了一套虛擬訓(xùn)練系統(tǒng),利用系統(tǒng)模擬與訓(xùn)練的功能提升教學(xué)訓(xùn)練水平和操作效率。Delphi是一款簡(jiǎn)單、易學(xué)的快速應(yīng)用程序開(kāi)發(fā)工具,是以面向?qū)ο蟪绦蛟O(shè)計(jì)的一款功能強(qiáng)大的可視化編程軟件,其編譯器采用選擇鏈接和條件編譯技術(shù),直接編譯生成可執(zhí)行代碼,開(kāi)發(fā)人員可快速建立項(xiàng)目框架[1],結(jié)合3ds max進(jìn)行三維建模,以及Eon Studio交互邏輯設(shè)計(jì),應(yīng)用Delphi程序開(kāi)發(fā)工具設(shè)計(jì)虛擬訓(xùn)練系統(tǒng),具備開(kāi)發(fā)周期短、效率高,并能對(duì)虛擬訓(xùn)練系統(tǒng)應(yīng)用給予強(qiáng)大支持的優(yōu)勢(shì)。
為使受訓(xùn)人員熟練掌握柴油機(jī)的結(jié)構(gòu)性能、工作原理、保養(yǎng)規(guī)程、故障診斷與排除方法等內(nèi)容,以進(jìn)行柴油機(jī)相關(guān)培訓(xùn)的人員應(yīng)當(dāng)掌握的基本理論和實(shí)際操作為出發(fā)點(diǎn),柴油機(jī)虛擬訓(xùn)練系統(tǒng)應(yīng)包含如下內(nèi)容:
(1)結(jié)構(gòu)組成觀測(cè)。用戶通過(guò)點(diǎn)擊結(jié)構(gòu)組成選框按鈕,即進(jìn)入該子模塊??梢粤私飧鹘M成機(jī)構(gòu)零部件的名稱、結(jié)構(gòu)、功用、連接關(guān)系、配合方式等內(nèi)容,例如:缸體總成、配氣機(jī)構(gòu)、曲軸連桿機(jī)構(gòu)、進(jìn)排氣系統(tǒng)、燃油系統(tǒng)、潤(rùn)滑系統(tǒng)、冷卻系統(tǒng)、電氣系統(tǒng)等,操作鼠標(biāo)和鍵盤以一定的路徑和視角觀察柴油機(jī)的外部形態(tài)和內(nèi)部結(jié)構(gòu),選取柴油機(jī)主要部件作為觀測(cè)對(duì)象,可以透視、剖分等多種方式進(jìn)行觀測(cè),在觀測(cè)過(guò)程中可選擇主要部件中的具體零部件,觀測(cè)同時(shí)伴隨語(yǔ)音介紹和文字說(shuō)明。
(2)工作原理演示。受訓(xùn)者操作虛擬環(huán)境中柴油機(jī)的啟動(dòng),觀察其工作演示;也可通過(guò)操作變換視角切換至柴油機(jī)各個(gè)組成部分(曲軸連桿機(jī)構(gòu)、配氣機(jī)構(gòu)、燃料系、潤(rùn)滑系、冷卻系、起動(dòng)系、點(diǎn)火系),實(shí)現(xiàn)其原理演示。采用透視和剖分等效果,將操作和零部件動(dòng)作緊密聯(lián)系在一起,讓受訓(xùn)者對(duì)零部件內(nèi)部工作過(guò)程有一個(gè)更直觀形象的理解。
(3)拆裝訓(xùn)練。通過(guò)拆卸與裝配操作,熟練掌握重要零部件的組成結(jié)構(gòu)和特點(diǎn)以及拆卸裝配順序和注意事項(xiàng),通過(guò)反復(fù)訓(xùn)練提高操作者維修效率。
(4)保養(yǎng)訓(xùn)練。根據(jù)柴油機(jī)保養(yǎng)訓(xùn)練的科目及特點(diǎn),設(shè)置保養(yǎng)內(nèi)容,并進(jìn)行細(xì)化,保證保養(yǎng)內(nèi)容較全面完整,受訓(xùn)人員可以有的放矢,根據(jù)需要進(jìn)行有針對(duì)性的保障訓(xùn)練。在虛擬訓(xùn)練過(guò)程中,提供準(zhǔn)確的保養(yǎng)工具和設(shè)備,設(shè)計(jì)了檢查、調(diào)整、更換、緊固、清洗等操作,在操作的同時(shí),配合文字介紹和語(yǔ)音講解,對(duì)工具選擇、工藝流程、要求方法、保養(yǎng)重點(diǎn)和難點(diǎn)進(jìn)行介紹。
(5)維修訓(xùn)練。在故障數(shù)據(jù)目錄中調(diào)用柴油機(jī)常見(jiàn)典型故障,在虛擬環(huán)境下運(yùn)用聲音、圖像、儀表指示、操作失敗等方式提示用戶柴油機(jī)組成部分出現(xiàn)故障,針對(duì)相應(yīng)的故障現(xiàn)象,選擇正確的故障診斷方法并進(jìn)行排除,在維修訓(xùn)練系統(tǒng)中選擇故障排除模塊,根據(jù)提示選擇需要的工具進(jìn)行維修操作,通過(guò)反復(fù)訓(xùn)練,使操作者熟練掌握故障排除方法。
(6)考核。根據(jù)訓(xùn)練考核要求,構(gòu)建考核場(chǎng)景,可實(shí)時(shí)對(duì)受訓(xùn)人員的操作進(jìn)行跟蹤監(jiān)測(cè),理論部分進(jìn)行隨堂測(cè)試,給出最終成績(jī)和全部訓(xùn)練過(guò)程信息,以便檢驗(yàn)受訓(xùn)人員的訓(xùn)練質(zhì)量。
以各模塊功能為區(qū)分,結(jié)構(gòu)組成觀測(cè)和工作原理演示為漫游展示,保養(yǎng)訓(xùn)練、拆裝訓(xùn)練、維修訓(xùn)練及實(shí)操考核為交互訓(xùn)練,隨堂測(cè)試為理論考核。各訓(xùn)練模塊相互銜接,且互不干擾,即可連續(xù)進(jìn)行,也可獨(dú)立完成區(qū)分主面板和子模塊,在主界面中點(diǎn)擊按鈕進(jìn)入子模塊,子模塊中區(qū)分內(nèi)容,分別完成規(guī)定功能,如圖1所示。具體達(dá)成以下功能。
圖1 訓(xùn)練科目模塊化體系構(gòu)建
首先柴油機(jī)虛擬訓(xùn)練系統(tǒng)應(yīng)當(dāng)實(shí)現(xiàn)對(duì)各項(xiàng)視頻、文字資源的整合,保存進(jìn)相應(yīng)項(xiàng)目文件。對(duì)柴油機(jī)利用3ds max制作仿真模型,并導(dǎo)入Eon Studio制作交互工程文件,再通過(guò)Delphi的程序應(yīng)用實(shí)現(xiàn)柴油機(jī)的使用、維護(hù)、保養(yǎng)、考核的交互操作模擬和訓(xùn)練的系統(tǒng)功能。
利用Delphi完成規(guī)定的功能實(shí)現(xiàn),我們采取先制作子模塊,后由主界面完成統(tǒng)一連接的方式。打開(kāi)Delphi軟件設(shè)計(jì)界面,首先規(guī)劃好窗體布局,區(qū)分好各個(gè)子模塊的內(nèi)容區(qū)域,使用戶可以通過(guò)視頻、圖片、文字來(lái)了解各子模塊名稱及內(nèi)容[2],如圖2所示。
圖2 子模塊界面設(shè)計(jì)
虛擬訓(xùn)練環(huán)境要求提供有關(guān)對(duì)象、場(chǎng)景、維修工具等的真實(shí)描述。通過(guò)生成一個(gè)大的虛擬空間,給其它虛擬對(duì)象提供了漫游場(chǎng)景。為了給虛擬對(duì)象在虛擬場(chǎng)景中精確定位,使受訓(xùn)人員能夠操作維修工具執(zhí)行特定的維修動(dòng)作,需要給虛擬維修環(huán)境指定一個(gè)絕對(duì)坐標(biāo)系。
通過(guò)定義絕對(duì)坐標(biāo)系,實(shí)現(xiàn)虛擬維修場(chǎng)景中的對(duì)象定位功能,包括零件(工具)的選擇、抓取、放置等動(dòng)作的定位,為零件的空間移動(dòng)與旋轉(zhuǎn)提供參考坐標(biāo),為實(shí)現(xiàn)對(duì)象的交互控制提供支持。這個(gè)坐標(biāo)系的指定方法有2種:(1)在場(chǎng)景建模的過(guò)程中,利用建模工具來(lái)指定對(duì)象的坐標(biāo)中心,當(dāng)對(duì)象導(dǎo)入EON后,在Scene(場(chǎng)景)節(jié)點(diǎn)下添加3DPointerA節(jié)點(diǎn)實(shí)現(xiàn);(2)導(dǎo)入場(chǎng)景后,通過(guò)在場(chǎng)景節(jié)點(diǎn)中添加DOF(degree of freedom)節(jié)點(diǎn),修改DOF節(jié)點(diǎn)的初始位置,按照系統(tǒng)需求進(jìn)行手動(dòng)調(diào)整與設(shè)置。
在指定了場(chǎng)景坐標(biāo)系之后,還需要實(shí)現(xiàn)場(chǎng)景的三維觀察,即視點(diǎn)隨受訓(xùn)者移動(dòng)或經(jīng)受訓(xùn)者控制,視景實(shí)時(shí)刷新并動(dòng)態(tài)連續(xù)顯示,根據(jù)受訓(xùn)者在虛擬維修環(huán)境中定義的視點(diǎn)位置和視線方向,控制環(huán)境中的顯示內(nèi)容。
柴油機(jī)虛擬維修訓(xùn)練系統(tǒng)的基本交互任務(wù)可分為:對(duì)象選擇、對(duì)象操縱以及系統(tǒng)控制。對(duì)象選擇是指為實(shí)現(xiàn)操作任務(wù)而在虛擬維修環(huán)境中選擇一個(gè)或一組零件;對(duì)象操縱是指改變被選擇物體的位置、方向等屬性的任務(wù);系統(tǒng)控制是指為完成虛擬訓(xùn)練場(chǎng)景內(nèi)特定任務(wù)而向系統(tǒng)發(fā)出的指令,如重新開(kāi)始某項(xiàng)操作或者返回到某一特定狀態(tài)等。
根據(jù)操作控制器的輸入信息和指令,改變虛擬環(huán)境中的各種對(duì)象的狀態(tài),如裝備實(shí)體模型的位置、大小、連接關(guān)系等,實(shí)現(xiàn)訓(xùn)練過(guò)程的高度交互控制。交互控制主要包括2個(gè)大方面,即裝備零部件的拾取和裝配體復(fù)位。
(1)裝備零部件的拾取
虛擬環(huán)境下零部件的操作可分為抓取、移動(dòng)和安放3個(gè)動(dòng)作?;谑叭∷惴ǎ谔摂M環(huán)境下進(jìn)行實(shí)時(shí)零部件操作時(shí),系統(tǒng)通過(guò)獲取控制器光標(biāo)的位置數(shù)據(jù)/指令,去驅(qū)動(dòng)所拾取的元件的坐標(biāo),實(shí)現(xiàn)元件的位置隨控制器光標(biāo)位置改變而變化。
(2)裝配體的復(fù)位
采用裝配體強(qiáng)制復(fù)位算法,實(shí)時(shí)激活裝配體復(fù)位節(jié)點(diǎn),在受訓(xùn)者虛擬訓(xùn)練過(guò)程中,可以根據(jù)需要重新開(kāi)始某一模塊的訓(xùn)練。
在Delphi中調(diào)用交互功能,可以利用TControl類定義可視化組件,在控件面板中引入ActiveX控件中加入EONX控件,實(shí)現(xiàn)數(shù)據(jù)傳遞[3]。為方便快捷選取項(xiàng)目,添加TreeView控件建立目錄樹(shù),在各個(gè)節(jié)點(diǎn)(TreeNode)中編排每個(gè)內(nèi)容的子項(xiàng),點(diǎn)擊節(jié)點(diǎn)則在源代碼中對(duì)應(yīng)TreeView.Item[*].Selected=true,未點(diǎn)擊節(jié)點(diǎn)則為false。保存全部工程生成*.dpr工程文件,*.pas源代碼文件,*.dcu單元文件。
在Delphi中開(kāi)發(fā)理論考核功能,數(shù)據(jù)庫(kù)使用ACCESS,試題內(nèi)容和試題答案的編輯使用TXText Control(ActiveX)控件來(lái)實(shí)現(xiàn)。將柴油機(jī)各組成部分及零件的基本信息,拆裝、維修等基本內(nèi)容的操作規(guī)范及注意事項(xiàng),制作成試題,保存時(shí)將試題內(nèi)容和試題答案分別保存為Word格式,然后將Word文檔保存到數(shù)據(jù)庫(kù)。Delphi連接數(shù)據(jù)庫(kù)使用ADOConnection組件,在試題窗體的edit框,顯示提示已經(jīng)設(shè)定的考核時(shí)間及試題數(shù)量。受訓(xùn)者通過(guò)點(diǎn)擊所要進(jìn)行的試題的按鈕,進(jìn)行考核,結(jié)束后計(jì)算受訓(xùn)者最后得分并顯示正確答案,形成訓(xùn)練效果的評(píng)價(jià)考核。
主界面是該系統(tǒng)中最重要的界面,為了使界面簡(jiǎn)明、美觀,系統(tǒng)中運(yùn)用了Pagecontrol控件,該控件的功能是可以在一個(gè)窗體中添加多個(gè)頁(yè)面,從而減少窗體的數(shù)量,達(dá)到了美化系統(tǒng)界面的目標(biāo),并且提高了系統(tǒng)運(yùn)行的效率。作為一款工具類軟件,主界面的設(shè)計(jì)應(yīng)當(dāng)直觀形象,采用了中規(guī)中矩的區(qū)域劃分形式,主要為左右結(jié)構(gòu),左側(cè)為菜單欄,設(shè)置按鈕并負(fù)責(zé)連接各子模塊,如圖3所示。
在窗體中合理設(shè)置子模塊的入口,然后在控件面板中安裝子模塊的.pas文件,即可實(shí)現(xiàn)點(diǎn)擊進(jìn)入子模塊功能,如圖4所示。
為了驗(yàn)證系統(tǒng)交互設(shè)計(jì)的合理性和可用性,運(yùn)行系統(tǒng),進(jìn)行了兼容性運(yùn)行檢測(cè),程序運(yùn)行流暢,依次點(diǎn)擊各模塊,檢查是否能夠順利進(jìn)入,并對(duì)設(shè)計(jì)的功能進(jìn)行操作使用,測(cè)試是否符合設(shè)計(jì)要求。圖5所示為通過(guò)鼠標(biāo)鍵盤操作改變結(jié)構(gòu)視角,檢驗(yàn)多視角漫游觀測(cè)功能;圖6為選擇科目按提示進(jìn)行操作,測(cè)試交互功能是否正常;圖7為進(jìn)入理論考核模塊,測(cè)試考核功能、信息提示及成績(jī)?cè)u(píng)價(jià)功能是否正常。
若虛擬維修訓(xùn)練系統(tǒng)無(wú)異常退出情況,渲染性能符合使用要求,未出現(xiàn)異常,所有功能皆可以順利使用,則表明系統(tǒng)完成。
圖3 系統(tǒng)主界面
圖4 安裝子模塊組件
圖5 視角漫游功能
圖6 拆裝交互功能
圖7 理論考核功能
利用Delphi編程軟件為基礎(chǔ),以柴油發(fā)動(dòng)機(jī)為研究對(duì)象,開(kāi)發(fā)面向以維修訓(xùn)練為目的的虛擬訓(xùn)練系統(tǒng),此系統(tǒng)屬于基于PC的交互式模擬虛擬訓(xùn)練系統(tǒng),成本低,使用方便,便于推廣。通過(guò)試用,能夠完成工作原理展示、視角觀測(cè)、拆裝訓(xùn)練、保養(yǎng)訓(xùn)練、維修訓(xùn)練、訓(xùn)練考核等設(shè)計(jì)的操作訓(xùn)練,用戶體驗(yàn)直觀便利,較好解決該型裝備在實(shí)際訓(xùn)練中存在的難題,具有提高訓(xùn)練效率和水平,減輕裝備使用和維護(hù)壓力的良好效果。