蔡蒙蒙 楊麗波
摘 要:?針對傳統(tǒng)石油行業(yè)培訓方式缺乏交互性且無法滿足員工實踐需求等問題,設計并開發(fā)了一套交互性較強的電纜射孔實訓系統(tǒng)。描述了使用Unity 3D引擎開發(fā)仿真培訓系統(tǒng)的設計思路,總結了系統(tǒng)中用到的三維模型壓縮優(yōu)化、碰撞檢測、鍵盤交互等關鍵技術。該系統(tǒng)通過逼真的射孔施工虛擬環(huán)境,使員工達到“身臨其境”的感覺,從而快速掌握培訓內容,提高培訓效率。該系統(tǒng)還能增加員工對所負責業(yè)務的熟練程度,降低由于錯誤操作造成安全事故發(fā)生的可能性。
關鍵詞:?Unity 3D; 油田作業(yè); 培訓系統(tǒng); 虛擬仿真
中圖分類號: TP 37
文獻標志碼: A
Design and Development of Simulation Training System for
Cable Perforation Based on U3D
CAI Mengmeng, YANG Libo
(School of Computer and Information Technology, Northeastern University of Petroleum, Daqing,? Heilongjiang? 163318, China)
Abstract:
Aiming at the problem that the traditional petroleum industry training method lacks interactivity and cannot meet the practical needs of employees, a set of cable perforation training system with strong interactivity is designed and developed. This paper describes the design idea of developing simulation training system using Unity 3D engine, and summarizes the key technologies used in the system, such as 3D model compression optimization, collision detection and keyboard interaction. Through the realistic virtual environment of perforation construction, the system enables employees to achieve the feeling of "being in the scene", so as to quickly grasp the training content, improve the training efficiency, increase the proficiency of employees in the business which they are responsible for, and reduce the possibility of safety accidents caused by wrong operations.
Key words:
Unity 3D; oilfield operation; training system; virtual simulation
0 引言
由于石油行業(yè)實踐過程中所擁有的安全問題和工藝復雜性,導致了現階段常用的培訓方式是依據觀看視頻的多媒體培訓方式等來了解和掌握理論知識、學習事故案例以及井場跟班操作等來集中培訓相關技術,這也是油田企業(yè)現階段最重要的一種安全的培訓方式[1]。但在實際應用中,這種操作方式存在著長周期、高成本、抽象難理解、限制培訓效果等一些弊端。而當下的虛擬現實技術若能很好的與石油行業(yè)的培訓方式進行結合,則可以很大程度改變傳統(tǒng)培訓方式中的一些弊端,通過更直觀、生動的學習在一定程度上提高培訓效率。
1 系統(tǒng)設計思路與構成框架
針對于電纜射孔實訓系統(tǒng)的設計,通過了解和結合實際參加培訓人員水平層次不齊的實際情況,在系統(tǒng)設計時,運用了香農-施拉姆模式的教育培訓模式。當香濃-施拉姆模式的教育培訓模式與三維仿真培訓相結合時,由于三維仿真培訓是以軟件系統(tǒng)的形式進行無導師教學的一種方式,所以決定了香農-施拉姆模式需要經過一定的改進才能應用到三維仿真培訓中,發(fā)揮其優(yōu)勢,提高培訓人員的興趣,進而快速的擴大培訓人員的經驗領域[2]。
如圖1所示。
本系統(tǒng)主要內容由三大模塊構成,其包括:三維動畫演示模塊、三維交互式演練學習模塊、三維考試測評模塊。首先,通過相關知識的文檔閱覽和動畫演示,進行灌輸式學習,使學習者掌握培訓中的基本知識;其次,在對基礎知識有了一定了解的基礎上,在通過在三維環(huán)境中進行交互式演練學習,對學習的內容進行強化和擴展,以便學習者對基礎知識的鞏固和深化;最后,通過三維考試系統(tǒng)對學習到的知識進行測試,并把測試結果反饋給培訓人員,根據反饋信息重新進行針對性的培訓學習,直至完全掌握。
2 關鍵技術
2.1 三維模型的壓縮優(yōu)化技術
虛擬射孔井場是個非常復雜的模型集合,在渲染過程中需要實時生成大量的多邊形,增加系統(tǒng)運行時的開銷,降低了系統(tǒng)的實時交互速度。為此,不僅要在建模的過程中綜合應用各種三維模型優(yōu)化技術,而且還要在三維場景中通過使用有效的優(yōu)化算法進行優(yōu)化。優(yōu)化結果的好壞直接影響系統(tǒng)運行效率及顯示速度,良好的優(yōu)化策略及方法可以極大減少模型所占據的內存空間,使系統(tǒng)運行更加流暢。三維模型的壓縮優(yōu)化貫穿整個模型及場景的創(chuàng)建過程,其主要從兩個方面進行:建模和貼圖。
(1)建模過程中的壓縮優(yōu)化
從模型的個數上進行優(yōu)化。場景中的模型個數過多會直接影響到三維場景的導出及場景的打開速度。如果當前場景里的模型個數過多,計算機的計算量太大,可能會使部分物體無法加載,造成模型丟失現象;即使所有模型都加載了,其運行速度也會很慢。因此,在實際解決中,將相同材質的物體分別賦好材質,調整好各自的貼圖坐標,再將這些相同材質的物體進行合并以減少模型個數。在虛擬射孔井場中,很多模型就采用了從個數上的整合來達到建模過程中的壓縮優(yōu)化,如采油樹法蘭螺絲,一共為十二個,大小顏色均相同,所以在場景中,將法蘭螺絲整合在一個空物體中,并調整好位置坐標,進而減少場景模型渲染所需要的時間。
從模型的分段及布面上進行優(yōu)化。在建模時,針對不同的模型采用合適的分段數,可以盡量減小模型的頂點數及面數,從而減少不必要的點、線、面所占據的空間。主要用到了Plane模型面的精簡和Cylinder模型面的精簡。其次合理的布面也是很重要的,通過適當的刪除模型之間重疊的面和模型底部看不到的面來降低整個場景的面數,這樣能提高貼圖的利用率,進而提高交互場景的運行速度。如:場景中,貼著地面的井架底座面。
在場景中,簡模的運用十分重要。對于大多數相對不重要的模型或者較遠處作為陪襯的模型要使用簡模,比如在虛擬射孔井場,為了場景的完整性而作為陪襯的槍身車、運輸車等,其車內的構造、車身的細節(jié)均不需要進行精細的制作,放置簡模即可。
(2)貼圖過程中的壓縮優(yōu)化
貼圖的大小對系統(tǒng)運行速度影響很大,精簡的貼圖既可以保證效果,又可以減少系統(tǒng)大小提高系統(tǒng)運行效率。在保證圖像質量的前提下,運用紋理壓縮技術對紋理圖片進行必要的壓縮處理,減少圖片文件的大小,通過減小紋理圖片幾何尺寸的大小來實現紋理壓縮。進行模型貼圖時采用UV貼圖,能比其他貼圖方式所占的容量更小,且顏色相近的模型,可以選擇共用一張貼圖,從而達到減少模型文件的大小。
2.2 碰撞檢測技術
虛擬現實要求系統(tǒng)能夠實現與用戶的交互,在其中便會遇到有關碰撞檢測的問題,甚至會成為其中的關鍵問題[3]。在電纜起下槍身工序中,有較多的操作中,兩個不可穿透的對象不可能在同一時間共享相同的空間區(qū)域[4]。為了防止系統(tǒng)中運動的物體發(fā)生彼此穿透的現象,工序中的緊固操作、下井操作等均采用了碰撞檢測技術。
此外,在場景中,會有一個觀察者的身份存在,其在虛擬環(huán)境中進行漫游時,也需要進行碰撞檢測。進而可以避免諸如觀察者飛入地下或者穿墻而過等不真實情況的發(fā)生[5]。而在unity3d中,碰撞檢測的功能是有函數封裝好的,我們調用函數就可以實現了。OnControllerColliderHit()函數是用于角色碰撞的,物體如果附加了CharactorController則可使用這個函數檢測碰撞。
碰撞檢測技術在虛擬射孔井場中運用時,有兩個很重要且需要了解的概念:剛體組件與碰撞體組件,且對于創(chuàng)建在Unity3D中的物體來說,碰撞體和剛體是比較容易混淆的兩個概念,將以簡易的Cube圖形為展示,表現了幾組不同的碰撞反應,如圖2所示。
(1)在Unity 3D創(chuàng)建一個放置在地面的Cube物體,一般創(chuàng)建后的物體會自帶碰撞體組件(Collider),若需要給物體添加剛體或者碰撞體時,先選中該物體,然后選擇Component > Physics,在Physics里可以添加Collider碰撞體組件,如圖3所示。
以及Rigidbody剛體組件,如圖4所示。一個在地面的物體若只有剛體而沒有碰撞體,此時它是不會運動并碰撞到其他物體的,因為它會直接掉落到地面以下。
(2)當一個帶有碰撞體組件與剛體組件的Cube A撞向沒有添加碰撞體和剛體的Cube B時,會發(fā)現Cube A會直接穿過Cube B。
(3)當一個帶有碰撞體組件與剛體組件的Cube A撞向添加了碰撞體而沒有剛體的Cube B時,Cube A與Cube B會發(fā)生碰撞,且可以通過碰撞信息監(jiān)測反饋出來,但是此時的Cube A能撞到B卻不會穿過Cube B。這個方法在虛擬射孔井場中的運用十分常見,因為在射孔工序操作中,有較多類似擰螺絲,緊固管鉗等操作,在虛擬場景中進行這些操作時,可能會因為移動距離或位置坐標的精度不夠,而導致穿?,F象的出現。若利用該種碰撞的方法,則不管A物體如何撞擊B,都無法穿過B物體,也就避免了在場景中,出現A物體穿過B物體的失真現象。
(4)當一個帶有碰撞體組件與剛體組件的Cube A撞向同樣添加了碰撞體和剛體的Cube B時,Cube A與Cube B會發(fā)生碰撞,且會根據實際情況產生碰撞反應,例如:若Cube A的質量足夠大于B時,A可以將B撞開,且此時的碰撞可以通過碰撞信息監(jiān)測函數void OnCollisionEnter(Collision other)反映出來。
2.3 鍵盤交互技術
鍵盤交互主要是指能夠控制操作者在系統(tǒng)中進行漫游,參觀各個位置的三維物體。在虛擬射孔井場中,有許多操作是在不同的位置完成的,而鍵盤交互技術的加入能使操作者更有身臨其境的感覺。鍵盤交互以設置方向鍵“↑”、“↓”、“←”、“→”或者“W”、“S”、“A”、“D”為控制鍵,分別用來控制化身的“前”、“后”、“左”、“右”的走動。在unity3d中,可以通過函數實現這些功能,以用“W”、“S”、“A”、“D”為控制鍵為例,代碼如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public test : MonoBehaviour {
private Transform m_Transform;
void Start () {
m_Transform = gameObject.GetComponent
}
void Update () {
if (Input.GetKey (KeyCode.W))//判斷按鍵
{
m_Transform.Translate (Vector3.forward * 0.1f, Space.Self);//前進與速度
}
if (Input.GetKey (KeyCode.S)) {
m_Transform.Translate (Vector3.back * 0.1f, Space.Self);
}
if (Input.GetKey (KeyCode.A)) {
m_Transform.Translate (Vector3.left * 0.1f, Space.Self);
}
if (Input.GetKey (KeyCode.D)) {
m_Transform.Translate (Vector3.right * 0.1f, Space.Self);
}
}
}
3 總結
電纜射孔工序是一項復雜的系統(tǒng)工程,需要多種專業(yè)操作人員利用適合的機械設備進行聯合作業(yè)。面對這樣較為復雜、要求較高且有一定危險性的工程,利用傳統(tǒng)的多媒體培訓或實際場地觀摩,都可能使培訓的效果達不到理想標準。而基于虛擬現實技術的實訓系統(tǒng)則很好地解決上述問題。它不但解決了現實培訓中的時間環(huán)境限制和設備不足的問題,同時降低了實訓運行的成本,可提供反復練習。此外,還能將抽象的概念與問題直觀、形象的反應給培訓人員,從而調動他們的學習積極性和主動性,進而提高教學質量,讓培訓的效果能更加顯著[6]。
參考文獻
[1]劉賢梅,郝愛民.油田安全作業(yè)虛擬仿真訓練系統(tǒng)研究[J].系統(tǒng)仿真學報,2006(11):3082-3087.
[2] 解紅濤,張麗娜.香農-施拉姆模式的改進及應用研究[J].西南民族大學學報(自然科學版),2011,37(1):136-139.
[3] 高春曉,劉玉樹.碰撞檢測技術綜述[J].計算機工程與應用,2002(5):9-11.
[4] 張紅巖.基于虛擬現實技術的煤礦安全培訓系統(tǒng)[J].工礦自動化,2014,40(2):88-92.
[5] 熊偉,毛善君,馬藹乃.基于觀察者的碰撞檢測技術在虛擬環(huán)境漫游中的應用[J].計算機應用,2002(11):6-7.
[6] 陳良英,羅凡.基于VR的電梯拆裝實訓系統(tǒng)的研究[J].微型電腦應用,2017,33(4):59-61.
(收稿日期: 2019.05.29)