胡 畔,姜 睞,李依桐
(1.東北電力大學(xué) 輸變電技術(shù)學(xué)院,吉林 吉林132012;2.北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京 100876)
由于機(jī)電產(chǎn)品價(jià)格昂貴、設(shè)計(jì)精密,對實(shí)物的設(shè)備拆裝實(shí)訓(xùn)不易開展。傳統(tǒng)的設(shè)備拆裝實(shí)訓(xùn)教學(xué)一般是通過指導(dǎo)教師在圖紙、模型上的原理講解與實(shí)物演示相配合完成,其缺點(diǎn)是實(shí)訓(xùn)互動(dòng)性不強(qiáng),受訓(xùn)者缺乏參與體驗(yàn)和主動(dòng)探索的積極性,而且拆裝過程中的某些重要細(xì)節(jié)不易展示,實(shí)訓(xùn)活動(dòng)存在一定的局限[1],效果不理想。
基于虛擬現(xiàn)實(shí)技術(shù)(VR:Virtual Reality)的設(shè)備拆裝實(shí)訓(xùn)系統(tǒng)可在虛擬環(huán)境中對設(shè)備拆裝過程進(jìn)行演示和虛擬操作,從而幫助受訓(xùn)人員掌握設(shè)備構(gòu)造、拆裝規(guī)程等方面的知識,為實(shí)物拆裝實(shí)訓(xùn)提供必要的補(bǔ)充和準(zhǔn)備,并輔助相關(guān)理論知識的理解和實(shí)踐技能的形成,提高學(xué)習(xí)興趣與動(dòng)力,為培養(yǎng)空間思維能力、實(shí)踐動(dòng)手能力、創(chuàng)新能力和工程意識提供幫助。
在虛擬設(shè)備拆裝系統(tǒng)環(huán)境中,可以使用各類交互設(shè)備(如:數(shù)據(jù)手套、位置跟蹤器和力反饋操作設(shè)備等)模擬真實(shí)環(huán)境中對設(shè)備零部件的各類拆裝操作[2]。系統(tǒng)提供實(shí)時(shí)的碰撞檢測、裝配約束處理、裝配路徑指示等功能規(guī)范操作過程,受訓(xùn)者可以隨時(shí)停止拆裝活動(dòng),通過可視化的裝配過程對設(shè)備部件進(jìn)行多角度、近距離觀察,并參加零部件拆裝序列驗(yàn)證和規(guī)劃等;拆裝結(jié)束后,系統(tǒng)記錄拆裝過程的所有信息,并生成評審報(bào)告、視頻錄像等,進(jìn)而驗(yàn)證拆裝操作的正確與否,以便發(fā)現(xiàn)在拆裝過程中存在的問題,及時(shí)進(jìn)行修改,從而避免實(shí)物拆裝實(shí)訓(xùn)中對設(shè)備造成不可挽回的損壞。
基于VR的設(shè)備拆裝系統(tǒng)是VR技術(shù)在工程設(shè)計(jì)和教育培訓(xùn)領(lǐng)域的重要應(yīng)用。針對不同目標(biāo),國內(nèi)外已經(jīng)提出了多個(gè)開發(fā)模式與方法(如VRML&Java、VC++&OpenGL、LabVIEW&MAQvision等軟件解決方案),但該領(lǐng)域尚沒有公認(rèn)的能全面適合各種條件的開發(fā)方案。筆者結(jié)合實(shí)訓(xùn)具體情況,提出了一種“模型文件+開發(fā)包”的開發(fā)思路和方法,據(jù)此設(shè)計(jì)構(gòu)建了具有高效率、高質(zhì)量、低成本的VR設(shè)備拆裝實(shí)訓(xùn)系統(tǒng)。
在基于VR技術(shù)的設(shè)備拆裝系統(tǒng)設(shè)計(jì)中,設(shè)計(jì)與實(shí)訓(xùn)工程環(huán)境一致的、可交互的虛擬場景信息是整個(gè)系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。系統(tǒng)開發(fā)的組織者根據(jù)實(shí)訓(xùn)大綱對具體項(xiàng)目的目標(biāo)要求,編寫實(shí)訓(xùn)活動(dòng)的虛擬場景劇本,說明該項(xiàng)實(shí)訓(xùn)活動(dòng)的目標(biāo)、設(shè)備情況、零部件組成信息和拆裝規(guī)則等情況;對設(shè)備進(jìn)行分解,析出的零件模型設(shè)計(jì)任務(wù)交由模型設(shè)計(jì)人員完成。虛擬環(huán)境由大量的與實(shí)物對應(yīng)的虛擬零件組成,有多種軟件(如3DMAX、AutoCAD、MAYA等)可用于構(gòu)造這些靜態(tài)模型,完整的靜態(tài)模型包括零件3D模型、紋理貼圖、渲染路徑[3,4]、生成日期等基本信息以及零件的質(zhì)量、材質(zhì)、規(guī)格及功能說明等高級信息。
虛擬場景是在計(jì)算機(jī)環(huán)境中對現(xiàn)實(shí)拆裝環(huán)境的模擬再現(xiàn),是基于VR技術(shù)的設(shè)備拆裝系統(tǒng)設(shè)計(jì)的核心。虛擬設(shè)備及零件的三維模型根據(jù)用戶輸入的拆裝操作指令進(jìn)行動(dòng)態(tài)變化(如:移動(dòng)、旋轉(zhuǎn)、放縮等),進(jìn)而實(shí)現(xiàn)具體拆裝的組合、分解和碰撞[5]等效果。傳統(tǒng)的VR系統(tǒng)的開發(fā)通常使用編程語言(如:VC)調(diào)用底層圖形接口(如:OpenGL)讀取靜態(tài)模型的方式構(gòu)造虛擬場景,再使用編程語言對內(nèi)部基本對象和交互控制操作進(jìn)行描述實(shí)現(xiàn),這種方式的設(shè)計(jì)過程對開發(fā)人員要求較高,且開發(fā)的虛擬拆裝系統(tǒng)功能單一,不易維護(hù),系統(tǒng)的靈活性、可移植性和交互性較差。設(shè)計(jì)則直接使用編程語言(VC)內(nèi)嵌TrueVision3D(簡稱TV3D)引擎的解決方案實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)。TV3D是個(gè)優(yōu)秀的3D開發(fā)引擎,具有開源、簡潔、開發(fā)高效等特點(diǎn),直接使用VC的語法調(diào)用TV3D中的API即可實(shí)現(xiàn)虛擬場景的開發(fā)。此方案僅使用通用的編程語法就可以簡單、高效地完成三維虛擬場景的生成和渲染、模型的動(dòng)態(tài)增刪、物體的碰撞檢測、場景的實(shí)時(shí)渲染和交互控制等功能。
設(shè)計(jì)良好的系統(tǒng)架構(gòu)對于保障開發(fā)質(zhì)量、降低開發(fā)成本和達(dá)成軟件設(shè)計(jì)目標(biāo)要求至關(guān)重要,系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)如圖1所示。交互控制系統(tǒng)負(fù)責(zé)接收用戶提出的操作請求,轉(zhuǎn)為交互指令提交給場景調(diào)度系統(tǒng),場景調(diào)度根據(jù)系統(tǒng)后備拆裝信息資源提供的數(shù)據(jù)驗(yàn)證該指令,并將具體的動(dòng)作要求提交給裝配場景,該部分是整個(gè)系統(tǒng)的核心部分,其將零件模型按裝配關(guān)系進(jìn)行計(jì)算機(jī)再現(xiàn),并根據(jù)場景調(diào)度的要求模擬拆裝過程。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1Block diagram of system
為了更好地體現(xiàn)鍵連接、螺紋連接、銷連接和帶傳動(dòng)機(jī)構(gòu)等典型連接的拆裝工藝,系統(tǒng)以粉碎機(jī)為例分析了系統(tǒng)的設(shè)計(jì)過程。粉碎機(jī)在結(jié)構(gòu)上由軸承臺(tái)、定刀臺(tái)、篩片和篩架等組成,其特征在于軸承臺(tái)和定刀臺(tái)鑄在下機(jī)殼軸預(yù)留孔外側(cè)的同一平面上,篩架在下機(jī)殼內(nèi)經(jīng)螺絲固定形成階梯形,為橢圓形模型。使用3DMAX軟件設(shè)計(jì)設(shè)備零件模型,導(dǎo)出為.3ds格式文件后,將相關(guān)信息添加到數(shù)據(jù)庫系統(tǒng)中,為加載模型文件到虛擬環(huán)境提供支持。模型生成須按系統(tǒng)所要求的標(biāo)準(zhǔn)化規(guī)格統(tǒng)一設(shè)計(jì),一個(gè)模型可以在一個(gè)場景中或系統(tǒng)中的多個(gè)場景中反復(fù)使用,從而減少了重復(fù)性建模工作,對提高系統(tǒng)的開發(fā)效率尤為重要。
根據(jù)場景劇本的要求,對各零件模型分別賦予旋轉(zhuǎn)、移動(dòng)、放縮、對齊和復(fù)合等操作,據(jù)此生成相應(yīng)的拆裝操作的動(dòng)作信息并將其添加到系統(tǒng)數(shù)據(jù)庫中,為場景調(diào)度活動(dòng)提供支持。
系統(tǒng)管理員負(fù)責(zé)對系統(tǒng)運(yùn)行的后備資源數(shù)據(jù)庫進(jìn)行維護(hù)和管理。包括多種文件類型的后備資料,如模型庫中存儲(chǔ)包括3D素材對象的模型、材質(zhì)、紋理和貼圖等;場景資料庫存放多個(gè)備用場景的構(gòu)成元素的描述信息;裝配內(nèi)容資料庫則以文字、圖片、聲音和動(dòng)畫等多種形式存放供系統(tǒng)引用的設(shè)備元件、裝配資料等。
為了更加便捷地訪問和處理模型、紋理、材質(zhì)等內(nèi)容,數(shù)據(jù)庫組織如表1所示。
表1 數(shù)據(jù)表的組織Tab.1The table of the organization of the data in database
另外系統(tǒng)為不同用戶分別實(shí)現(xiàn)增、刪、改、查詢等操作權(quán)限,以滿足各類資源的修改和更新要求。對場景中的固定實(shí)體(如構(gòu)成一個(gè)設(shè)備的必要實(shí)體元件),只允許管理員對其進(jìn)行增、刪、改操作。普通用戶僅可以對學(xué)習(xí)場景中實(shí)體的紋理、材質(zhì)、位置和角度進(jìn)行改變。在用戶參與裝配的訓(xùn)練方式中允許用戶增加元件,但有數(shù)目的限制。
針對具體拆裝任務(wù),考慮實(shí)際拆裝過程中可能遇到的情況設(shè)計(jì)出符合實(shí)際操作要求的VR設(shè)備拆裝系統(tǒng)的核心場景是首要任務(wù)。包括地形的建立、場景中設(shè)備模型的加載等[6]。
建立符合裝配內(nèi)容要求的地形是提升虛擬場景真實(shí)效果的重要部分。系統(tǒng)設(shè)計(jì)采用數(shù)字高程模型(DEM:Digital Elevation Model)描述地形結(jié)構(gòu),從事先準(zhǔn)備好的數(shù)據(jù)庫中進(jìn)行高程圖文件和地面紋理文件的讀取,并直接使用TV3D中的TVLandscape類(見圖2)實(shí)現(xiàn)地貌效果。高程信息根據(jù)具體的目標(biāo)場景要求設(shè)計(jì),使用基于灰度圖像的DEM生成方法實(shí)現(xiàn)地面模型的生成。
場景中的模型包括電動(dòng)機(jī)(三角帶、連接螺栓、帶輪及連接鍵)、上蓋(連接銷、螺栓及殼體、擋板、牙板)等,通過TVMesh和TVScene類(見圖3)對存放在后備資源數(shù)據(jù)庫中模型的ID和幾何參數(shù)等信息進(jìn)行讀取,在獲取了用戶的交互信息或有新的元件加載要求觸發(fā)時(shí),根據(jù)控制參數(shù)對場景中相應(yīng)區(qū)域調(diào)用對應(yīng)的模型。在某些場景中,需要描述模型的動(dòng)態(tài)變化,即行為效果(如設(shè)備運(yùn)轉(zhuǎn)時(shí)相關(guān)組件的動(dòng)態(tài)變化,設(shè)備中各組件在不同裝配狀態(tài)的外觀、位置的變化等),展示各元件在虛擬環(huán)境中的位置、大小、狀態(tài)(紋理、材質(zhì)、燈光、攝像機(jī)、角色等)及關(guān)系的變化情況。引用TV3D的API在虛擬場景中直接封裝并加載頂點(diǎn)和索引數(shù)據(jù)的Mesh對象,從而實(shí)現(xiàn)在系統(tǒng)中加載存儲(chǔ)于.3ds文件中的模型數(shù)據(jù)。通過Mesh的屬性、方法、事件實(shí)現(xiàn)對場景中的模型進(jìn)行紋理、材質(zhì)、色彩的變化控制,以及幾何位置的移動(dòng)、旋轉(zhuǎn)、大小縮放等動(dòng)態(tài)行為描述。對一些固定的行為效果在場景數(shù)據(jù)庫中可以直接進(jìn)行描述,再由場景初始化時(shí)直接加載其效果。另外一些復(fù)雜的行為描述(如螺紋/鍵/銷/過盈連接、帶傳動(dòng)等)則需要使用編程代碼對其變化過程進(jìn)行精確的說明。
圖2 地形實(shí)現(xiàn)類Fig.2Class of TVLandscape
圖3 加載模型類Fig.3Class of TVMesh and TVScene
交互控制在系統(tǒng)中主要負(fù)責(zé)精確地響應(yīng)用戶的交互行為,并產(chǎn)生對應(yīng)行為的實(shí)時(shí)變化。通過視覺反饋設(shè)備(顯示器、數(shù)據(jù)眼鏡等)[7],操作者接收到場景中設(shè)備元件的實(shí)時(shí)變化,從而完成進(jìn)一步的交互。系統(tǒng)的交互控制主要包括場景控制、用戶進(jìn)出控制、漫游控制、場景調(diào)度、操作效果控制和實(shí)時(shí)渲染。
良好的沉浸性是VR技術(shù)的重要特征之一,核心場景控制部分的主要功能是控制虛擬場景中設(shè)備整體的拆卸或各設(shè)備組件模型的裝配過程的動(dòng)態(tài)變化(如:設(shè)備拆裝演示、人機(jī)交互的拆裝實(shí)踐、拆裝效果的直觀展示等),是用戶所要體驗(yàn)的虛擬世界的關(guān)鍵部分[8]。在虛擬場景空間中,為了使瀏覽者方便地控制自己的觀察位置和角度,整體把握實(shí)訓(xùn)內(nèi)容,由TV3D對攝像機(jī)的運(yùn)動(dòng)過程進(jìn)行全面控制,包括視點(diǎn)位置和視點(diǎn)方向的變換等。在系統(tǒng)中用戶參與學(xué)習(xí)的過程采用追逐攝像機(jī)跟蹤對象,從而更好地觀察對象。
例如:初始狀態(tài)下實(shí)驗(yàn)場景的視點(diǎn)設(shè)置:Cam.SetPosition 100,100,-200。在場景中向前移動(dòng)時(shí)的視點(diǎn)設(shè)置:Scene.GetCamera.MoveRelative TV.AccurateTimeElapsed*0.2,0,0。
用戶進(jìn)出控制模塊的設(shè)計(jì)包括用戶登錄、場景選擇、學(xué)習(xí)模式選擇、啟動(dòng)核心場景、用戶離開時(shí)安全關(guān)閉系統(tǒng)等功能。
用戶在虛擬場景中的漫游控制,涉及對用戶漫游位置的檢測,場景中人與實(shí)體間、實(shí)體與實(shí)體間的碰撞檢測[9],設(shè)置交互節(jié)點(diǎn)實(shí)現(xiàn)與用戶的實(shí)時(shí)交互等[10]。系統(tǒng)中碰撞檢測的實(shí)現(xiàn)有兩種方式:1)通過使用TVCollisionResult對象的IsCollision方法實(shí)現(xiàn),直接可以檢測到與其他實(shí)體之間是否發(fā)生表面的接觸;2)通過使用三維圖形碰撞檢測包圍盒,它可以包圍整個(gè)模型,用于測試碰撞和精確的鼠標(biāo)點(diǎn)擊識別。根據(jù)不同需要,系統(tǒng)可使用的碰撞檢測類型有:與角色的碰撞和與地面的碰撞、與Mesh的碰撞和與所有實(shí)體發(fā)生碰撞。
操作效果控制部分主要是對場景中的模型進(jìn)行動(dòng)態(tài)的紋理映射、材質(zhì)設(shè)置和光照特效、并結(jié)合粒子系統(tǒng)等技術(shù)增強(qiáng)虛擬場景的真實(shí)感。
交互控制可以使操作者通過輸入設(shè)備(鍵盤、鼠標(biāo)和力矩球等)選擇或輸入信息,通過交互控制系統(tǒng)檢測用戶操作的各設(shè)備組件之間的關(guān)系是否正確,并作用于虛擬環(huán)境中的實(shí)體,產(chǎn)生實(shí)時(shí)的設(shè)備拆、裝狀態(tài)效果。另一方面要讀取場景中的信息,渲染到屏幕上。實(shí)時(shí)渲染部分除了將場景中的實(shí)時(shí)變化反映到屏幕上以外,還應(yīng)該能創(chuàng)造出非常逼真的、有說服力的虛擬環(huán)境。
在系統(tǒng)中交互操作的鼠標(biāo)按鍵任務(wù)分配如表2所示。
表2 輸入設(shè)備交互任務(wù)分配表Tab.2The allocation of input device interaction tasks
在系統(tǒng)的交互控制中,要為鍵盤和鼠標(biāo)編寫更新函數(shù),根據(jù)按鍵狀態(tài)和按鍵時(shí)鼠標(biāo)的位置狀態(tài)設(shè)置角色合適的位置值。圖4為實(shí)現(xiàn)輸入檢測并控制視角變換的類及其方法。
圖4 實(shí)現(xiàn)輸入檢測并控制視角變換的類及其方法Fig.4Class and method of input detection and view angle changing
VR設(shè)備拆裝系統(tǒng)運(yùn)行的效率至關(guān)重要,設(shè)計(jì)時(shí)要考慮在不影響系統(tǒng)表現(xiàn)的前提下,盡量使用優(yōu)化策略實(shí)現(xiàn)開發(fā)。
將VR技術(shù)引入設(shè)備拆裝實(shí)訓(xùn)中,改變了傳統(tǒng)的實(shí)驗(yàn)室實(shí)訓(xùn)方式,突破了學(xué)習(xí)過程的時(shí)間和空間的限制,有助于輔助教學(xué)活動(dòng)開展,提高實(shí)訓(xùn)效果。系統(tǒng)的開發(fā)融“理論、示范、訓(xùn)練、反饋”于一體,將“教、學(xué)、做”合而為一,能有效地培養(yǎng)使用者的技術(shù)綜合應(yīng)用能力。同時(shí)利用虛擬拆裝代替實(shí)物拆裝,可以解決實(shí)際拆裝訓(xùn)練受到的設(shè)備成本、拆裝場所、不易觀察等條件限制的難題,對降低成本、提高效率具有重要的意義。筆者提出的系統(tǒng)總體設(shè)計(jì)方案和簡捷易用的軟件解決方案能對虛擬技術(shù)領(lǐng)域中的虛擬儀器[11,12]的研究和發(fā)展提供有益的參考。
:
[1]陳敏,劉曉秋,伍勝男.基于 VRML技術(shù)虛擬機(jī)械設(shè)計(jì)實(shí)驗(yàn)室的研究[J].機(jī)械設(shè)計(jì),2007,24(2):68-70.
CHEN Min,LIU Xiao-qiu,WU Sheng-nan.Study of the Virtual Machine Design Laboratory Based on VRML Technology[J].Journal of Machine Design,2007,24(2):68-70.
[2]黃海,方宏根,姜力,等.基于虛擬彈簧的欠驅(qū)動(dòng)手指的動(dòng)力學(xué)建模和控制[J].吉林大學(xué)學(xué)報(bào):工學(xué)版,2010,40(6):1688-1692.
HUANG Hai,F(xiàn)ANG Hong-gen,JIANG Li,et al.Virtual Spring Based Dynamic Model and Control of Underactuated Hand[J].Journal of Jilin University:Engineering and Technology Edition,2010,40(6):1688-1692.
[3]汪偉,范秀敏,武殿梁.虛擬現(xiàn)實(shí)應(yīng)用中的并行渲染技術(shù)[J].計(jì)算機(jī)工程,2009,35(3):282-285.
WANG Wei,F(xiàn)AN Xiu-min,WU Dian-liang.Parallel Rendering Technology in Virtual Reality Applications[J].Computer Engineering,2009,35(3):282-285.
[4]GAO Xin,HU Huan,JIA Qing-xuan,et al.3DAugmented Reality Teleoperated Robot System Based on Dual Vision[J].The Journal of China Universities of Posts and Telecommunications,2011,18(1):105-112.
[5]叢佩超,孫兆偉.雙臂式空間機(jī)械臂捕捉目標(biāo)的碰撞問題研究[J].四川大學(xué)學(xué)報(bào):工程科學(xué)版,2010(4):234-241.
CONG Pei-chao,SUN Zhao-wei.Research of Impact Issues During Dual-Arm Space Manipulator Capturing Object[J].Journal of Sichuan University:Engineering Science Edition,2010(4):234-241.
[6]李惠,盧奕南,齊阿榮.基于VRML的大規(guī)模虛擬場景的實(shí)時(shí)載入方法[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2010,28(1):84-88.
LI Hui,LU Yi-nan,QI A-rong.Real-Time Loading Method of Virtual Environment Based on VRML[J].Journal of Jilin University:Information Science Edition,2010,28(1):84-88.
[7]LIU Hong,MEUSEL P,SEITZ N,et al.The Modular Multisensory DLR-HIT-Hand[J].Mechanism and Machine Theory,2007,42(5):612-625.
[8]王念東,劉毅,李文正.面向虛擬裝配的VR與CAD系統(tǒng)信息集成技術(shù)機(jī)械科學(xué)與技術(shù)[J].機(jī)械科學(xué)與技術(shù),2009(1):25-30.
WANG Nian-dong,LIU Yi,LI Wen-zheng.Information Integration Technology between Virtual Reality and CAD for Virtual Assembly[J].Mechanical Science and Technology for Aerospace Engineering,2009(1):25-30.
[9]孫曉光,王明強(qiáng).碰撞檢測中的層次包圍盒算法研究[J].現(xiàn)代制造工程,2009(4):87-91.
SUN Xiao-guang,WANG Ming-qiang.Research on Collision Detection Algorithm Based on Bounding Box[J].Modern Manufacturing Engineering,2009(4):87-91.
[10]孟慶南,王曉春,張洪武.一種用于動(dòng)態(tài)光散射測量的虛擬數(shù)字相關(guān)儀[J].吉林大學(xué)學(xué)報(bào):理學(xué)版,2007,45(4):638-641.
MENG Qing-nan,WANG Xiao-chun,ZHANG Hong-wu.A Virtual Digital Correlator for the Measurement of Dynamic Light Scattering[J].Journal of Jilin University:Science Edition,2007,45(4):638-641.
[11]ZHANG Ming,F(xiàn)ENG Yuan.The Study on Remote Virtual Measurement Technology Based on Wireless Sensor Networks[C]∥2010International Conference on Multimedia Technology.[S.l.]:ICMT,2010:1-4.
[12]ZHANG Mian,ZHANG Li.Remote Virtual Instrument System[C]∥Proceeding 2010 3rd IEEE International Conference on Computer Science and Information Technology.[S.l.]:ICCSIT,2010:541-543.