劉明,王崴,2,瞿玨★,白柯萌
(1.空軍工程大學(xué)防空反導(dǎo)學(xué)院,西安710051;2.西安交通大學(xué)機(jī)械制造系統(tǒng)工程國家重點(diǎn)實(shí)驗(yàn)室,西安710049)
虛擬檢測維修系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*
劉明1,王崴1,2,瞿玨1★,白柯萌1
(1.空軍工程大學(xué)防空反導(dǎo)學(xué)院,西安710051;2.西安交通大學(xué)機(jī)械制造系統(tǒng)工程國家重點(diǎn)實(shí)驗(yàn)室,西安710049)
結(jié)合實(shí)際裝備維修工作的需求,開發(fā)了一套基于虛擬現(xiàn)實(shí)技術(shù)的具有一定通用性的虛擬維修訓(xùn)練系統(tǒng)。系統(tǒng)由界面層、應(yīng)用層、對(duì)象層和技術(shù)支持層組成,運(yùn)用OSG渲染創(chuàng)建逼真的場景,基于均勻網(wǎng)格和OBB樹的混合碰撞檢測算法解決碰撞問題,通過協(xié)同網(wǎng)絡(luò)通信實(shí)現(xiàn)多人協(xié)作維修/檢測操作。通過對(duì)某型裝備手控臺(tái)的虛擬維修訓(xùn)練系統(tǒng)的構(gòu)建,證明系統(tǒng)能夠快速開發(fā)相應(yīng)的虛擬訓(xùn)練系統(tǒng)。訓(xùn)練過程中操作與場景變化實(shí)時(shí)同步,結(jié)果表明該系統(tǒng)能夠有效提高操作人員的維修維護(hù)能力。
虛擬維修,場景渲染,混合碰撞檢測,協(xié)同網(wǎng)絡(luò)通信
虛擬現(xiàn)實(shí)是指將計(jì)算機(jī)技術(shù)以及諸多硬件交融而發(fā)展起來的計(jì)算機(jī)領(lǐng)域高新技術(shù),用戶通過多種傳感器設(shè)備與虛擬環(huán)境進(jìn)行自然交互,使操作者具有身臨其境之感[1]。虛擬維修是虛擬現(xiàn)實(shí)技術(shù)的衍生技術(shù),其宗旨是基于虛擬現(xiàn)實(shí)技術(shù)在計(jì)算機(jī)上模擬裝備的維修過程,使維修人員能快速地掌握設(shè)備維修知識(shí)、設(shè)備維修原理以及設(shè)備維修過程。
雖然虛擬維修的維修過程及維修方法是通過計(jì)算機(jī)虛擬完成的,但確實(shí)能夠提升維修人員的維修技能,達(dá)到與真實(shí)環(huán)境相同的訓(xùn)練效果。1993年NASN利用虛擬維修技術(shù)成功對(duì)哈勃望遠(yuǎn)鏡進(jìn)行了維修,證明了虛擬維修的有效性。將虛擬維修技術(shù)應(yīng)用于武器裝備的維修培訓(xùn)和教學(xué)過程中,可以很好解決裝備維修維護(hù)過程中存在的耗時(shí)、場地限制、維修費(fèi)用昂貴等問題。尤其是針對(duì)復(fù)雜、危險(xiǎn)的裝備維修任務(wù)時(shí),利用虛擬維修系統(tǒng)模擬真實(shí)維修場景,降低真實(shí)維修過程中的危險(xiǎn)性。國內(nèi)外在武器裝備的虛擬維修方面進(jìn)行了大量的研究。軍械工程學(xué)院[2]進(jìn)行了無人機(jī)虛擬維修訓(xùn)練系統(tǒng)的開發(fā)。南京航空航天大學(xué)[3]針對(duì)民機(jī)的虛擬維修訓(xùn)練、維修性分析、產(chǎn)品拆卸序列規(guī)劃等進(jìn)行了研究,取得了一定成果。裝甲兵工程學(xué)院進(jìn)行了坦克炮虛擬維修系統(tǒng)的研究[4]。此外,眾多院校以及研究所對(duì)裝備虛擬維修過程中的拆卸過程[5]、序列規(guī)劃[6]、路徑規(guī)劃[7]等進(jìn)行了研究。
本文構(gòu)建了一套虛擬維修訓(xùn)練系統(tǒng),可以根據(jù)維修需要進(jìn)行不同裝備的建模,設(shè)定操作流程,從而生成相應(yīng)的虛擬維修系統(tǒng)。
1.1系統(tǒng)功能
虛擬檢測維修系統(tǒng)主要用于設(shè)備的檢測與維修訓(xùn)練培訓(xùn),訓(xùn)練人員在使用本系統(tǒng)時(shí),不僅要能夠進(jìn)行高仿真度的虛擬訓(xùn)練,提升人員的訓(xùn)練水平和配合能力,還要能夠利用虛擬裝備的三維幾何模型、運(yùn)動(dòng)模型、裝配模型等數(shù)據(jù)資料全面理解裝備的機(jī)械系統(tǒng)原理和控制系統(tǒng)原理。因此,該系統(tǒng)應(yīng)具備以下功能:
①訓(xùn)練功能:針對(duì)不同的檢測/維修任務(wù),均能建立完整的檢測/維修訓(xùn)練過程,操作人員能夠操作檢測/維修工具進(jìn)行相應(yīng)的維修訓(xùn)練。②考核功能:針對(duì)不同的檢測/維修任務(wù),都能夠建立完整的考核過程,操作人員能夠?qū)崿F(xiàn)對(duì)操作過程的考核。③警報(bào)功能:維修過程中,當(dāng)維修人員出現(xiàn)錯(cuò)誤操作,系統(tǒng)提醒受訓(xùn)人員此處操作產(chǎn)生嚴(yán)重錯(cuò)誤,從而加深受訓(xùn)人員記憶,避免真實(shí)操作時(shí)發(fā)生同樣事故。④評(píng)價(jià)功能:在檢測維修任務(wù)的同時(shí),能夠記錄并且評(píng)價(jià)相應(yīng)的操作,最后生成操作文檔。評(píng)價(jià)功能可對(duì)維修人員訓(xùn)練過程以及考核過程給出公平合理性評(píng)價(jià),利于受訓(xùn)人員掌握學(xué)習(xí)狀況。⑤幫助功能:針對(duì)不同的檢測與維修的任務(wù),在檢測維修訓(xùn)練任務(wù)的同時(shí),可以為操作人員提供進(jìn)一步的指導(dǎo)。
1.2系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
為滿足虛擬檢測維修系統(tǒng)的功能需求,本文建立了該系統(tǒng)的體系結(jié)構(gòu),該體系結(jié)構(gòu)分為4層,即界面層、應(yīng)用層、對(duì)象層和支持層,如圖1所示。
①界面層。界面是用戶和系統(tǒng)交互的窗口,界面模塊主要包括:主界面、對(duì)話框、提示框和屬性頁。通過界面模塊可對(duì)系統(tǒng)各個(gè)功能進(jìn)行管理,如三維裝備模型的管理、虛擬維修工具的管理、考核成績單查詢、維修任務(wù)選取等等。
圖1 武器裝備虛擬維修系統(tǒng)體系結(jié)構(gòu)
②應(yīng)用層。應(yīng)用層屬于系統(tǒng)實(shí)現(xiàn)的核心,由環(huán)境渲染模塊、人機(jī)交互模塊、用戶管理模塊、維修任務(wù)管理模塊、檢測任務(wù)管理模塊、網(wǎng)絡(luò)通信和協(xié)同模塊組成。系統(tǒng)運(yùn)行過程中,各個(gè)模塊實(shí)現(xiàn)相對(duì)獨(dú)立的功能,依靠系統(tǒng)消息控制實(shí)現(xiàn)模塊間的數(shù)據(jù)通信。本系統(tǒng)基于圖形圖像提供場景管理及渲染優(yōu)化,OSG(Open Scene Graph)使用場景樹結(jié)構(gòu)管理三維世界。人機(jī)交互模塊用來實(shí)現(xiàn)操作人員與虛擬系統(tǒng)設(shè)備的交聯(lián)互通,設(shè)備需要對(duì)人員的交互命令實(shí)時(shí)響應(yīng)與輸出。用戶管理模塊則是構(gòu)建用戶注冊(cè)、登陸的“門戶”,同時(shí)輸出用戶的訓(xùn)練成績。維修任務(wù)管理模塊設(shè)計(jì)定義維修任務(wù),制定相應(yīng)的維修策略。檢測任務(wù)管理模塊主要實(shí)現(xiàn)檢測功能,即對(duì)拆卸的零件進(jìn)行檢測,確定故障位置,明確故障原因。網(wǎng)絡(luò)通信模塊實(shí)現(xiàn)了服務(wù)器端與客戶端的信息傳遞,包括狀態(tài)、命令和事件等。協(xié)同模塊對(duì)發(fā)生沖突的信息并發(fā)控制,從而保證各客戶端的會(huì)話交流。
③對(duì)象層。對(duì)象層是三維場景對(duì)用戶操作的體現(xiàn)部分,包括三維場景控制模塊、維修工具模塊、檢測工具模塊、考核評(píng)價(jià)模塊、故障分析模塊、警報(bào)模塊。三維場景控制模塊實(shí)現(xiàn)的三維場景的構(gòu)造、加載以及對(duì)三維場景的控制。維修工具模塊和檢測工具模塊實(shí)現(xiàn)維修工具和檢測工具的構(gòu)造、加載以及控制??己嗽u(píng)價(jià)模塊實(shí)現(xiàn)用戶操作過程的記錄與評(píng)價(jià),并生成相應(yīng)的報(bào)告文檔。故障分析模塊結(jié)合數(shù)據(jù)庫,分析故障的原因。警報(bào)模塊通過對(duì)用戶誤操作的響應(yīng),進(jìn)一步糾正用戶的操作。
④支持層。支持層是系統(tǒng)實(shí)現(xiàn)的物理層,包括硬件平臺(tái)、操作系統(tǒng)、網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)庫。
本系統(tǒng)按照實(shí)際維修情況制訂維修任務(wù)。維修整個(gè)過程包括維修前準(zhǔn)備、零件的拆卸、零件的檢測與更換、零件的裝配等等,總流程圖如下頁圖2所示。
2.1基于OSG的維修環(huán)境的創(chuàng)建
維修場景構(gòu)建包括三維模型的顯示與渲染、維修環(huán)境、維修工具等虛擬模型仿真。其中三維模型的顯示與渲染是指將設(shè)備模型顯示于虛擬場景中,虛擬設(shè)備模型為許多零部件組成的裝配體,各零部件通過添加約束確定運(yùn)動(dòng)關(guān)系,即建立零部件之間的運(yùn)動(dòng)副。維修環(huán)境包括天空、訓(xùn)練場、草地、山丘等靜態(tài)物體的仿真,因其結(jié)構(gòu)簡單,具體實(shí)現(xiàn)過程較為容易。維修工具為維修過程中需要采用的各工具,包括虛擬手、虛擬螺絲釘?shù)取?/p>
圖2 維修過程總流程
2.1.1樣機(jī)建模
建立精細(xì)的零件模型是實(shí)現(xiàn)逼真的系統(tǒng)仿真過程的基礎(chǔ)。本系統(tǒng)采用PROE進(jìn)行三維模型的建立,進(jìn)行格式的轉(zhuǎn)化后導(dǎo)入系統(tǒng),建立維修資源的數(shù)字樣機(jī)。
2.1.2OSG渲染窗口搭建
OSG作為C++平臺(tái)的應(yīng)用程序接口(API),能夠快速便捷地為使用者實(shí)現(xiàn)最核心的場景數(shù)據(jù)庫的組織和管理、對(duì)場景圖形的操作以及為外部數(shù)據(jù)庫的導(dǎo)入提供接口等。通過對(duì)OSG開源庫的開發(fā)研究,構(gòu)建系統(tǒng)所需的環(huán)境場景,如圖3所示。
圖3 虛擬維修場景
2.2協(xié)同網(wǎng)絡(luò)通信
在操作人員協(xié)同操作的過程中,往往會(huì)遇到信息的傳遞問題,如請(qǐng)求、監(jiān)聽、注冊(cè)等。為實(shí)現(xiàn)人員操作與場景變化實(shí)時(shí)同步,系統(tǒng)必須高效、準(zhǔn)確地傳遞這些信息。為此,系統(tǒng)采用C/S模式網(wǎng)絡(luò)結(jié)構(gòu),即客戶機(jī)與服務(wù)器結(jié)構(gòu),實(shí)現(xiàn)客戶機(jī)與服務(wù)器任務(wù)的合理分配,加快客戶端的響應(yīng)速度。系統(tǒng)中C/S網(wǎng)絡(luò)結(jié)構(gòu)采用TCP/IP協(xié)議。該協(xié)議不依賴于計(jì)算機(jī)硬件以及操作系統(tǒng),能夠滿足系統(tǒng)協(xié)同訓(xùn)練的通信需求。本系統(tǒng)利用Windows底層的Winsock類來實(shí)現(xiàn)TCP/IP協(xié)議。
網(wǎng)絡(luò)通信結(jié)構(gòu)圖如圖4所示。協(xié)同模式下,客戶端軟件通過循環(huán)線程函數(shù)接受消息,消除了消息傳遞過程中的冗余步驟,降低了網(wǎng)絡(luò)延遲,提高了客戶端處理消息的效率。實(shí)驗(yàn)表明,系統(tǒng)的網(wǎng)絡(luò)延遲大約為100 ms左右,遠(yuǎn)小于人眼可分辨的最低值200 ms,保證了服務(wù)器和客戶端之間的實(shí)時(shí)性。
圖4 系統(tǒng)網(wǎng)絡(luò)通信結(jié)構(gòu)
2.3實(shí)時(shí)碰撞檢測技術(shù)
作為虛擬維修的核心——碰撞檢測技術(shù),對(duì)維修環(huán)境的逼真程度、操作人員的操作體驗(yàn)有著至關(guān)重要的支撐作用。碰撞檢測是基于現(xiàn)實(shí)生活中一個(gè)普遍存在的事實(shí):兩個(gè)實(shí)體對(duì)象不能共享相同的空間區(qū)域[8]。虛擬系統(tǒng)中主要包含兩種碰撞:一是合法碰撞,主要是指拆卸工具、虛擬手等觸碰到應(yīng)該觸碰的零部件,將要執(zhí)行下一步操作;另一種是非法碰撞,主要是指操作零部件過程中觸碰到不應(yīng)該觸碰的零部件或工具。在虛擬維修系統(tǒng)中碰撞檢測是為了快速、準(zhǔn)確地判斷物體是否被拾取以及物體間是否存在碰撞現(xiàn)象。
大型設(shè)備往往結(jié)構(gòu)緊湊、拆卸過程復(fù)雜,碰撞檢測技術(shù)能檢驗(yàn)裝備虛擬維修過程中零件拆卸的可行性。同時(shí),實(shí)現(xiàn)警報(bào)功能的核心也是碰撞檢測技術(shù),利用碰撞檢測,判斷出維修人員維修過程中的非法碰撞,出現(xiàn)非法碰撞時(shí)進(jìn)行警報(bào)提醒。本系統(tǒng)采用基于均勻網(wǎng)格和OBB(Oriented Bounding Box)樹的混合碰撞檢測算法[9]。
2.3.1場景空間的劃分
均勻網(wǎng)格法是空間網(wǎng)格法的一種,顧名思義,均勻網(wǎng)格法是指將場景空間分為均勻的立方體小空間。由空間關(guān)系可知,非相鄰小空間之內(nèi)的基本要素相距較遠(yuǎn),不可能發(fā)生碰撞現(xiàn)象,據(jù)此剔除不必要的檢測,提高碰撞檢測的效率。
Matthias Teschner提出使用哈希函數(shù)來影射3D網(wǎng)格到一個(gè)哈希表,從而實(shí)現(xiàn)快速的隱式的空間分割[10]。為確定網(wǎng)格大小,通過式(1)求得網(wǎng)格的三邊長d1,d2,d3。
其中,i=1,2,3,…,n為場景中物體數(shù)目,BjBmaxVi表示第j個(gè)物體根節(jié)點(diǎn)包圍盒極大點(diǎn)的第i個(gè)坐標(biāo)值,BjBminV表示第j個(gè)物體根節(jié)點(diǎn)包圍盒極小點(diǎn)的第i個(gè)坐標(biāo)值。
從而求出BjBmax和BjBmin所對(duì)應(yīng)的空間網(wǎng)格(m1,m2,m3),(n1,n2,n3)。則第j個(gè)物體所占據(jù)網(wǎng)格就是(m1,m2,m3),(n1,n2,n3)之間的連續(xù)網(wǎng)格。
其中,i=1,2,3。
最后,映射3D網(wǎng)格到一個(gè)哈希表,得到(x,y,z)的哈希地址是:
2.3.2虛擬場景的更新
零部件位置變化過程中,所占據(jù)的空間網(wǎng)格也會(huì)不斷變化,為保持檢測的準(zhǔn)確性,需要保證場景的實(shí)時(shí)更新。
零件位置更新時(shí),需要獲取零部件的相對(duì)位置和絕對(duì)位置,其中相對(duì)位置指的是該零部件在最近一層組件中的相對(duì)位置,而絕對(duì)位置指的是該零部件在整個(gè)產(chǎn)品級(jí)中的位置[11]。不考慮尺寸大小發(fā)生變化,位置改變包括旋轉(zhuǎn)和平移,因此,需要讀取相應(yīng)的旋轉(zhuǎn)矩陣X和一個(gè)平移矩陣P,表示為:
對(duì)于原始位置為(x,y,z)的坐標(biāo)點(diǎn),每隔一個(gè)固定間隔對(duì)其絕對(duì)位置進(jìn)行刷新一次,經(jīng)過旋轉(zhuǎn)平移變換后坐標(biāo)將變?yōu)椋▁',y',z',1)=(x,y,z,1)T。
2.3.3碰撞檢測
初始化之后,首先進(jìn)行場景的刷新,之后,映射物體的3D網(wǎng)格到哈希表中,然后,對(duì)比移動(dòng)物體和靜態(tài)物體的哈希表索引項(xiàng),找出有沖突的項(xiàng),從而找出來所有的重疊網(wǎng)格,然后在重疊網(wǎng)格的范圍內(nèi)進(jìn)行精確的碰撞檢測。初步檢測完成后,通過遍歷動(dòng)態(tài)物體和靜態(tài)物體的層次包圍樹來檢測兩者是否發(fā)生碰撞。流程圖如圖5所示。
圖5 碰撞檢測流程圖
2.4評(píng)估與報(bào)告
在進(jìn)行系統(tǒng)的拆卸與檢測過程中,針對(duì)關(guān)鍵的維修作業(yè)。維修步驟、維修動(dòng)作定制維修性分析報(bào)告。虛擬考核根據(jù)對(duì)操作過程的監(jiān)控記錄結(jié)果,對(duì)比標(biāo)準(zhǔn)的操作軌跡可輸出當(dāng)前用戶的相應(yīng)成績單以及操作過程視頻。并且可實(shí)現(xiàn)對(duì)操作過程的回放。通過虛擬考核功能,檢驗(yàn)操作手訓(xùn)練效果,虛擬考核功能能夠較公平地給出操作手完成一次任務(wù)的分?jǐn)?shù)。根據(jù)考核視頻,合理找出操作手薄弱環(huán)節(jié),使操作手更快掌握操作技巧。
系統(tǒng)以某型裝備車輛為應(yīng)用對(duì)象,對(duì)其手控臺(tái)進(jìn)行實(shí)例驗(yàn)證,該型手控臺(tái)主要控制車輛的調(diào)平與液壓支腿的啟收。給定的維修檢測任務(wù)是進(jìn)行手控臺(tái)的拆卸,手控臺(tái)電路的檢測,確定故障原因,進(jìn)行故障件的更換,最后將配電系統(tǒng)重新安裝好。
3.1虛擬場景構(gòu)建
手控臺(tái)在該裝備車輛中占據(jù)空間較小,電子元器件的拆卸比較復(fù)雜,需要對(duì)電子元器件進(jìn)行細(xì)致的建模。根據(jù)獲得的手控臺(tái)尺寸,在PROE中進(jìn)行裝備三維模型的建立,進(jìn)行格式的轉(zhuǎn)換后導(dǎo)入系統(tǒng),如圖6所示。
3.2進(jìn)行檢測維修過程
選定的任務(wù)為進(jìn)行手控臺(tái)的拆卸與檢修工作,得到相應(yīng)的操作流程圖,如下頁圖7。按照提示的流程進(jìn)行有次序的操作,如下頁圖8所示。
圖6 場景的載入
圖7 維修過程操作流程圖
圖8 手控臺(tái)的拆卸過程
3.3檢測電路板
利用虛擬萬用表對(duì)拆卸好的電路板進(jìn)行檢測工作。首先將旋鈕扭轉(zhuǎn)至測量電阻開關(guān),如第143頁圖9(a)所示。將萬用表表筆分別測量兩電路板電阻,萬用表顯式阻值為13.30 MΩ,因此,推測電路板不為斷路,電路板不存在斷路故障,不需要更換。
重新裝配手控臺(tái),完成虛擬檢測維修過程。
根據(jù)現(xiàn)有武器裝備維修培訓(xùn)的不足,本文設(shè)計(jì)并實(shí)現(xiàn)了一套虛擬維修系統(tǒng)。系統(tǒng)由界面層、應(yīng)用
Design and Implementation of Virtual Maintenance and Detecting System
LIU Ming1,WANG Wei1,2,QU Jue1★,BAI Ke-meng1
(1.School of Air-Defense and Anti-Missile,Air Force Engineering University,Xi’an 710051,China;
2.State Key Laboratory for Manufacturing System Engineering,Xi’an Jiaotong University,Xi’an 710049,China)
This system uses OSG rendering to create lifelike scene,and solves the problem of collision by the hybrid collision detection method based on uniform network method and OBB algorithm,and realize people coordinated maintenance and detecting operation using cooperative network communication to.The virtual maintenance training of a certain kind of crane control platform proves the system can adapt to set up corresponding virtual maintenance training systems easily. Operation and scene changes are real-time and synchronization in the process of training.The result shows that the system can improve the maintenance ability of the operator effectively.
virtual maintenance,scene rendering,hybrid collision detection,cooperative network communication
TP391
A
1002-0640(2016)11-0134-05
2015-10-13
2015-11-17
國家自然科學(xué)基金資助項(xiàng)目(51405505)
劉明(1992-),男,湖北荊州人,碩士研究生。研究方向:虛擬現(xiàn)實(shí)及虛擬維修。
瞿玨(1985-),男,湖南汨羅人,碩士,講師。研究方向:虛擬現(xiàn)實(shí)、誘導(dǎo)維修和人機(jī)工程。