馬 天, 李洪安,, 馬本源, 康寶生
(1. 西安科技大學計算機科學與技術學院,陜西 西安 710054;2. 西北大學信息科學與技術學院,陜西 西安 710127)
三維虛擬維護訓練系統關鍵技術研究
馬天1, 李洪安1,2, 馬本源1, 康寶生2
(1. 西安科技大學計算機科學與技術學院,陜西 西安 710054;2. 西北大學信息科學與技術學院,陜西 西安 710127)
針對三維虛擬維護訓練中設備拆裝操作復雜的問題,提出一種通用的拆裝關系數據格式和處理方法,可方便定制各種設備的拆裝訓練應用;提出一種高效簡潔的自動軸對齊約束拆裝操作方法,并以此設計實現了一種二維屏幕空間的移動拖拽器。通過OSG引擎進行場景渲染和管理,分析了系統的體系結構和場景組織設計,開發了一套虛擬拆裝訓練三維仿真系統,實現了拆裝操作記錄的統計和報表輸出。應用結果表明,該系統具有較好的實時性和顯示效果。
虛擬維護訓練;三維仿真;拆裝關系;軸對齊約束
飛機、艦船等復雜設備的零部件較多、關系復雜、價格昂貴,在復雜設備保養維護訓練方面,針對已成熟產品的維護需求,迫切需要引入虛擬裝配和虛擬維修技術。虛擬裝配仿真技術主要應用于產品的設計和制造領域,其應用主要面向產品設計工程師,側重于設計、分析、驗證、評估和優化產品裝配過程[1];虛擬維修仿真技術主要應用于維修性設計、保障性規劃和人員培訓等領域[2-3],其中前兩個領域主要面向產品設計和維修工程師,側重于設計、分析、驗證、評估和優化產品維修過程;第三個領域主要面向設備使用人員,側重于用戶操作訓練。
虛擬維護訓練主要面向設備日常保養維護人員,側重于設備的拆裝演示和交互訓練,使操作人員熟練掌握正確地拆裝操作步驟和過程。嚴格意義講其并不屬于傳統的虛擬裝配或虛擬維修系統,而是用于維護操作訓練和統計,著重于拆裝標準化順序和裝配關系的熟悉訓練和測評。文獻[4]最早提出虛擬維護訓練桌面式仿真系統,并基于OpenGL設計實現了離心泵的虛擬車間環境,可完成基本的拆裝訓練,能夠讀取STL模型;文獻[5]基于 OpenGL設計并實現了一種桌面式虛擬仿真訓練教學系統,但系統的渲染效果和功能擴展不夠豐富;文獻[6]針對虛擬維修過程中部件間關系描述混亂的問題,提出了一種Petri 網和語義網絡結合的過程建模方法,在基于OSG 的飛機電子設備三維虛擬設備維修平臺上驗證了方法的有效性,但每個步驟的規范約束格式不太直觀;文獻[7]針對單點式力反饋器工作空間狹小的問題,研究了改進的動態空間匹配算法和代理點移出視錐體時的漫游技術,但方法只針對特定設備;文獻[8]設計實現了數字機床的虛擬拆裝仿真培訓系統,但只能進行動態拆裝演示,不能進行用戶拆裝交互操作;文獻[9]基于EON軟件平臺開發了一套推土機變速箱虛擬維修訓練系統;文獻[10]基于VRP軟件平臺實現了船舶柴油機三維場景及虛擬拆裝仿真過程,該類系統受商業軟件功能和接口限制,顯示效果和再開發自由度受到一定限制;文獻[11]基于OSG設計實現了一套某型號電牽引采煤機虛擬裝配應用系統,重點描述了系統的軟硬件系統的結構、方案和結合UG和3DMax的精細建模方法,該系統功能完備、交互性好,但沒有操作步驟規劃、控制等關鍵技術的具體研究。
綜上所述,本文針對三維虛擬維護訓練中設備拆裝操作復雜的問題,提出了一種通用的拆裝關系數據格式和處理方法,可方便定制各種設備的拆裝訓練應用;提出了一種高效簡潔的自動軸對齊約束拆裝操作方法,并以此設計實現了一種二維屏幕空間的移動拖拽器。通過OSG進行場景渲染和管理,分析了系統的體系結構和場景組織設計,研究開發了一套虛擬拆裝訓練三維仿真系統,實現了拆裝操作記錄的統計和報表輸出;還實現了拆裝過程中的錯誤點記錄,并可供后續評價參考。
為滿足可自由定制訓練設備和加載多種格式的設備三維模型的需求,需將每個設備的拆裝關系信息寫在對應的數據文件里,模型文件可根據需要選擇3DMax、Maya等主流三維建模工具,以制作高品質的設備模型。
1.1數據文件設計
數據文件應包括設備拆裝所需的各個零件的裝配位置、裝配起始位置、拆裝序列、操作類型等信息。為增加操作靈活性,特別定義出同組無序拆裝零件,例如固定某個零件的多組螺釘、螺栓,這樣操作時可隨意拆解某一組,當所有組都拆解完畢后方能進行后續的操作;特別定義出非拆除零件,特指還需繼續拆解的子零件,例如槳轂拆下后不能直接放入物品欄,還要繼續拆解每一個槳葉。操作類型可簡化為旋轉、平移和綜合3種,如轉開聯動軸、卡箍等操作為旋轉;取下套管、螺釘等分離操作為平移;拆解螺母需要同時完成旋轉和平移操作,為綜合操作。最終設計的數據格式如圖1所示,第1~4行為文件頭數據,包括設備名稱、零件個數、總步驟數、同組無序拆裝零件的個數及其對應編號、非拆除零件的個數及其對應編號;第5~n行為零件的基本數據(每個零件信息占一行),包括零件的裝配坐標、裝配起始坐標、拆裝序列、操作類型、名稱等信息。

圖1 拆裝關系數據文件示例
1.2數據處理流程
拆裝關系數據的處理流程如圖2所示,首先讀取設備數據文件,并根據數據初始化每個零件的位置和顯示狀態,裝配模式需要隱藏拆除零件。然后開始訓練操作,拆解模式:直接在零件上點擊進行操作拾取,根據當前操作序列判斷拾取是否正確,如果正確則添加拖拽操作器進行拆解操作,正確拆解后若是非拆除零件則直接進行下一步,如果不是則將拆下零件隱藏,并放入物品欄;裝配模式:直接在物品欄里選擇待裝配零件,根據當前操作序列判斷選擇是否正確,如果正確則從物品欄里刪除該零件、并在場景中顯示該零件,并添加拖拽操作器進行裝配操作,正確裝配后直接進行下一步。在推進拆裝序列前,還要對同組無序拆裝的零件進行處理,需要在組內進行序列推進,當所有組都拆解完畢后方進行整體序列推進。最后,當拆裝序列推進到最大拆裝步驟后,結束訓練操作。

圖2 拆裝關系處理流程圖
對于桌面式的三維拆裝操作,一般用二維鼠標操作,但沒有沉浸式的直接在虛擬空間三維操作靈活。為簡化三維空間的移動操作,通過繼承osgManipulator::TranslatePlaneDragger類[12],設計了一種二維屏幕空間移動拖拽器,在構造函數時,需將觀察空間的(0,0,1)向量逆向變換到三維世界空間,設置移動面的法線為變換后向量,以使移動面為正對觀察者的屏幕;在handle()函數里處理鼠標拖拽操作時,需將二維屏幕空間的位移映射到移動面上。當選中添加拖拽器時,同時需將拖拽器添加到拾取檢測的節點路徑里、調用handle()函數處理拖拽初始化,以實現直接拖拽選中零件的操作。
因為模型類型、復雜度無限制,所以沒有引入傳統物理引擎進行碰撞檢測,這里提出了一種自動軸對齊約束的方法,通過臨近自動約束與軸對齊,可以避免拆裝時的復雜碰撞檢測,并可根據裝配坐標和裝配起始坐標進行拆裝操作完成判斷。具體方法的幾何示意如圖 3所示,虛線框面為移動面,P0點為裝配位置,P′1點為裝配起始位置,L為P0P′1的距離,α為P0P1與P0P′1的夾角。對于拆解操作,如果使用屏幕空間移動拖拽器在移動面上沿著P0P1方向拖動操作,為保證拆解物體根據約束關系正確移動,需將位移投影到 P0P′1方向,直到P′1點,即確定拆解后,零件轉變成沿著P0P1方向移動,即跟隨鼠標拖動。對于裝配操作,初始在拖拽器的移動面進行拖動操作,如果當前位置與裝配位置P0點的距離小于L,且夾角α小于一定角度,即認為接近安裝位置,需將零件從當前位置移動到P0P′1的投影位置,即自動進行零件軸對齊,確保根據約束關系正確移動到裝配位置;當與P0點距離小于L/10,即認為達到安裝位置,通過OSG更新回調實現慢放動畫的形式展示最后一段裝配過程。

圖3 自動軸對齊約束方法示意圖
3.1數據驅動設計實現
該虛擬訓練系統采用數據驅動方式,數據關系如圖 4所示。通過讀取拆裝關系數據自動加載設備零件模型、初始化每個零件的狀態和位置,并根據數據控制拆裝序列判斷、拆裝檢測和操作約束,所有操作過程數據都需進行記錄,結束后進行統計輸出。整個三維虛擬場景采用OSG進行管理和繪制,設備零件的位置、狀態、界面和文字信息更新通過OSG的更新回調機制實現;用戶鼠標、鍵盤的交互操作通過OSG的事件回調機制響應實現。

圖4 數據關系框圖
3.2場景組織設計實現
OSG是通過場景圖的方式管理和繪制三維場景,采用一種自頂向下的分層樹形結構來組織數據,以提升渲染的效率。場景圖樹結構的頂部是一個根節點,從根節點向下延伸,各個組節點中均包含幾何信息和用于控制其外觀的繪制狀態信息。場景樹結構如圖 5所示,圖中圓角矩形框為OSG的基本類型結點,矩形框為實際界面、素材等對象。場景樹分為背景、設備零件、界面 3個部分,其中:背景和界面部分都是使用相機類型結點進行管理,能控制背景部分前需渲染以保證不會遮擋其他對象,以保證界面部分后續渲染對象始終在最上層顯示;設備結點部分所有零件都放在自定義的移動控制結點下,選中結點并通過添加自定義拖拽器結點控制拆裝操作。

圖5 場景結構組織
3.3操作記錄統計實現
需要記錄的操作數據包括總操作次數、錯誤操作次數、錯誤點和錯誤類型,根據專家評價權重計分,評價權重可根據不同訓練設備進行設置。訓練結束后可直接彈出統計結果,并生成 Excel統計報表。Excel統計報表的實現是基于開源xlslib庫,設計了一個Excel報表生成類,通過調用xlslib庫中workbook、worksheet、cell_t類的功能函數,實現了Excel表格的常用單元格內容、格式設置等功能函數。
系統運行硬件環境:CPU為Inter Core2 Duo T5870/2.0 GHz,內存為DDR II 800/2 G,顯卡為NVIDIA GeForce G105 M/512 M,硬盤為SATA 250 G /7200/16 M;操作系統為Windows XP SP3,開發軟件環境為Visual Studio 2005 SP1和OSG 2.8.2。基于osgWidget設計實現了人性化的系統界面,包括右側菜單欄、底部物品箱欄和工具條等。某型飛機尾槳設備的拆裝應用效果如圖 6所示,為零件瀏覽時的高亮、透視三維顯示效果。

圖6 某型飛機尾槳設備應用效果圖
通過在場景中添加渲染狀態監測StatsHandler,實時記錄不同復雜程度設備模型在不同狀態下的幀率,為了與本文提出的自動軸對齊約束方法(簡稱自動對齊法)進行拆裝操作效率進行對比,分別測試了典型物理引擎 ODE和osgPhysics進行安裝碰撞檢測(基于網格形狀檢測)的效率,見表1。

表1 顯示幀率記錄表(幀/秒)
由表1可見,模型面片數在200萬以下時,該系統的顯示幀率在30幀/秒以上,可完全滿足實時交互訓練的要求;當超過 200萬時,實時性有所下降,但對于特別復雜的設備,進行整體拆裝訓練過于復雜,一般需分解成若干子部分,這樣模型面片數一般都可以控制在 200萬以下。通過本文的自動軸對齊約束方法進行拆裝操作時,因為每幀只進行裝配距離的判斷,對系統幀率的影響小于0.2,所以基本不影響拆裝交互操作的實時性;而通過ODE和osgPhysics進行安裝碰撞檢測時,在模型復雜度增加后幀率明顯下降,會明顯影響交互感受。表中沒有記錄模型加載時間,當面片數超過 100萬時,初始加載模型可明顯感覺到停頓,這可以通過進度條的形式提示加載等待,也不會影響拆裝交互操作的實時性。
本文設計實現的復雜設備維護拆裝訓練三維仿真系統,屬于桌面式三維虛擬系統,基于 OSG三維渲染引擎開發。通過提出的通用拆裝關系數據格式和數據處理流程,可方便定制各種設備部件的拆裝訓練應用,并可自由加載3DMax、Maya等主流三維建模工具制作高品質的設備模型;根據提出的自動軸對齊約束拆裝操作方法設計實現的二維屏幕空間移動拖拽器,可協助正確地進行訓練操作,避免操作復雜的碰撞檢測,可提高操作效率;實現了拆裝過程中的錯誤點記錄,并可對訓練操作進行統計評分。本文沒有考慮實際拆裝過程中人員活動范圍對拆裝操作的影響,使用時可配合人員操作三維動畫進行全面演示。該系統可用于復雜設備保養維護人員的拆裝操作培訓,成本較低,使用方便,直觀地操作感受,可以提高維護人員的培訓效率,降低拆裝操作風險和培訓成本。
[1] 劉佳, 劉毅. 虛擬維修技術發展綜述[J]. 計算機輔助設計與圖形學學報, 2009, 21(11): 1519-1534.
[2] 焦玉民, 張琦, 屈宏偉. 虛擬維修技術研究與展望[J]. 中國工程機械學報, 2011, 9(3): 359-366.
[3] 王文舉, 李光耀. 虛擬維修仿真技術的研究與進展[J].系統仿真學報, 2011, 23(9): 1751-1757.
[4] Li J R, Khoo L P, Tor S B. Desktop virtual reality for maintenance training: an object oriented prototype system (V-REALISM) [J]. Computers in Industry, 2003, 52: 109-125.
[5] 賀少華, 吳新躍. 基于 VC++和 OpenGL 的大型機械裝置虛擬教學訓練系統的開發[J]. 系統仿真學報, 2009, 21(4): 1059-1062.
[6] 劉家學, 劉濤, 耿宏. 基于Petri 網和語義網絡的虛擬維修過程建模與應用[J]. 圖學學報, 2013, 34(2): 113-118.
[7] 盧麗婷, 劉林, 熊巍. 基于單點式力反饋器的虛擬裝配研究[J]. 圖學學報, 2014, 35(2): 280-284.
[8] 周智勇. 虛擬拆裝仿真培訓系統的研究和開發[D]. 長沙: 湖南大學, 2010.
[9] 王斌, 周建釗, 焦玉民. 一種推土機變速箱虛擬維修訓練系統[J]. 中國制造業信息化, 2011, 40(9): 66-69.
[10] 潘玉平, 萬隆君, 徐軼群, 等. 船舶柴油機虛擬拆裝仿真[J]. 交通信息與安全, 2012, 30(2): 103-105.
[11] 王學文, 秦毅, 楊昕宇, 等. 采煤機虛擬現實裝配仿真系統研究[J]. 圖學學報, 2015, 36(2): 268-273.
[12] Wang R, Qian X L. OpenSceneGraph 3 cookbook [M]. Birmingham: Packt Publishing, 2012: 210-217.
Key Technology of 3D Virtual Maintenance Training System
Ma Tian1,Li Hongan1,2,Ma Benyuan1,Kang Baosheng2
(1. College of Computer Science and Technology, Xi′an University of Science and Technology, Xi′an Shaanxi 710054, China; 2. School of Information Science and Technology, Northwest University, Xi′an Shaanxi 710127, China)
In order to solve the problem of complex operation in 3D virtual maintenance training, a general data format of disassembly and assembly relation was proposed, and the data processing method was realized, which could be used to customize training application for various equipments easily. A simple and efficient disassembly operation method was presented, which has automatic shaft alignment constraint, and a 2D screen space dragger was designed and realized based on that. A 3D virtual maintenance training simulation system was developed, and the virtual scene was rendered and managed through OpenSceneGraph (OSG) engine, which architecture and scene organization were analyzed. The disassembly operation record and report output were realized. The application results show that this system has good performance on real-time and 3D display effect.
virtual maintenance training; 3D visual simulation; disassembly and assembly relation; shaft alignment constraint
TP 391.9
10.11996/JG.j.2095-302X.2016010097
A
2095-302X(2016)01-0097-05
2015-09-21;定稿日期:2015-10-11
陜西省教育廳科研計劃項目(2013JK1148)
馬天(1982–),男,河南商丘人,副教授,博士。主要研究方向為虛擬現實與三維視景仿真。E-mail:matian@xust.edu.cn