張智躍 梁 旭 游江維
(中國礦業(yè)大學(xué)〈北京〉機(jī)電與信息工程學(xué)院,中國 北京100083)
采用虛擬現(xiàn)實技術(shù)(VR)進(jìn)行采煤工作面的三維場景仿真,將整個采煤過程可視化,進(jìn)行采礦生產(chǎn)過程模擬,服務(wù)于工作面的隱患預(yù)警,提高煤炭開采的安全性,用于煤礦人員技術(shù)培訓(xùn)。
采煤工作面的設(shè)備包括刮板輸送機(jī)、采煤機(jī)和液壓支架,其中液壓支架的結(jié)構(gòu)組成復(fù)雜。液壓支架由多個部件構(gòu)成,組件類型多,部件的運動模式各不相同,包括垂直方向的升降運動、水平方向的平移運動,依賴升降的旋轉(zhuǎn)運動等,組件間的運動關(guān)系難以準(zhǔn)確描述。準(zhǔn)確的實施液壓支架運動仿真的基礎(chǔ)是設(shè)計液壓支架的運動控制技術(shù),也是采煤工作面仿真的關(guān)鍵技術(shù)。
VR技術(shù)在煤礦領(lǐng)域的仿真工作主要有煤礦設(shè)備的虛擬設(shè)計、礦井火災(zāi)模擬和瓦斯爆炸模擬[1]等,但存在設(shè)備仿真模型粗糙、場景控制技術(shù)簡單和實時性差等缺陷。由于采煤設(shè)備的多樣性、采煤過程和場景的復(fù)雜性,采煤工作面的場景仿真研究很少。液壓支架的運動仿真及運動控制的相關(guān)研究沒有見諸報道。
1.1.1 液壓支架的組件
液壓支架一共由六個部件組成:前梁、頂梁、立柱、底座、掩護(hù)梁和連桿,如圖1。液壓支架的構(gòu)造可以簡化為圖2,其中A為頂梁,B是立柱,C是底座,D掩護(hù)梁,E是連桿,F是前梁。
圖1 液壓支架原圖
圖2 液壓支架示意圖
1.1.2 液壓支架的運動關(guān)系
液壓支架的運動由立柱的升降為主導(dǎo),隨著B的升降,頂梁A隨著立柱平動,底座C保持不變,拉桿E繞著W點旋轉(zhuǎn),掩護(hù)梁D的運動是最復(fù)雜的,不僅有升降還有旋轉(zhuǎn),對D的運動控制是工作的重中之重。液壓支架組件描述表1如下:
表1 支架組件描述表
液壓支架的運動是周期性的,設(shè)液壓支架的一個周期為時間T,整個周期T運動狀態(tài)又可以分為四個階段,支架部件在上述階段的運動模式見表2:
表2 支架部件不同階段運動模式
液壓支架運動過程表達(dá)為若干個關(guān)鍵幀,計算關(guān)鍵幀時刻支架所處的位置和狀態(tài)信息,以幀的形式組織描述支架狀態(tài),連接關(guān)鍵幀形成支架運動仿真過程[2-3]。通過場景中的幾何模型關(guān)系計算求解關(guān)鍵幀的方法,解決了液壓支架的復(fù)雜運動部件的路徑信息難以獲取的問題。
設(shè)置運動路徑是常用的運動控制及仿真方法,即求出場景中物體的真實運動數(shù)學(xué)關(guān)系模型,根據(jù)運動數(shù)學(xué)模型生成運動路徑[4]。如果運動數(shù)學(xué)關(guān)系模型特別復(fù)雜,提取數(shù)學(xué)關(guān)系模型困難,以及場景仿真時會運算量巨大,仿真的實時性差,也無法提高渲染效率。提取關(guān)鍵幀的方法在保證仿真真實性的情況下,能夠很好的解決這個問題。
液壓支架的運動周期為[0,T4],從支架的運動周期中提取N個關(guān)鍵幀,幀間的時隔:
液壓支架的關(guān)鍵幀表述為H(t),描述t時刻液壓支架的狀態(tài),在液壓支架第m個運動周期的第i幀的時刻為:
關(guān)鍵幀由支架的各組件狀態(tài)組成:
本系統(tǒng)是基于Open Scene Graph(OSG)圖形庫開發(fā)[5],OSG包含了一系列的開源圖形庫,主要為圖形圖像應(yīng)用程序的開發(fā)提供場景管理和圖形渲染優(yōu)化的功能。它使用可移植的ANSIC++編寫,并使用已成為工業(yè)標(biāo)準(zhǔn)的OpenGL底層渲染API。因此,OSG具備跨平臺性,可以運行在Windows,MacOSX和大多數(shù)類型的UNIX和Linux操作系統(tǒng)上。
OSG提供了樹狀的結(jié)構(gòu)組織模型,有效液壓支架進(jìn)行場景組織。3DMAX制作生成前六個設(shè)備部件模型文件,并進(jìn)行組織,然后由OSG Exp插件導(dǎo)出為.osg格式文件。
液壓支架是采煤工作面仿真的核心設(shè)備模型,通過OSG中加載模型函數(shù)osgDB::read Node File()從文件中讀取設(shè)備模型,然后對場景模型進(jìn)行相應(yīng)的運動控制。
加載液壓支架模型,首先按照液壓支架的運動位移范圍及運動時間,切分出若干關(guān)鍵點實施控制??刂谱兞堪ǎ弘p精度型時間變量,包括動畫的起始時間和持續(xù)時間;向量型變量osg::Vec,用來控制關(guān)鍵點節(jié)點的位置;表示運動方式的四元數(shù)變量osg::Quat,其矢量部分表示旋轉(zhuǎn)軸,標(biāo)量部分表示關(guān)鍵點之間的旋轉(zhuǎn)角度。
由于液壓支架各部件功能各異,其運動形式也不同。因為液壓支架為周期性運動,前面我們分析了在周期不同的階段各部件的運動狀態(tài),針對不同階段不同的運動狀態(tài)給不同的部件編寫動畫函數(shù)。
首先設(shè)定動畫持續(xù)的時間time,為整個周期T內(nèi)一段時間,起始時間time_start,以及整個動畫過程由n個關(guān)鍵幀組成。
1)平移運動控制
平移以頂梁A為例,需設(shè)定升降的距離,即位移量displacement。由函數(shù)osg::Vec position()生成平動時兩關(guān)鍵幀之間的位移量;函數(shù)osg::Animation Path::insert()把運動時間、位移量插入動畫路徑函數(shù),完成路徑設(shè)置。頂梁A節(jié)點調(diào)用動畫路徑回調(diào)函數(shù)osg::Node::set Update Callback()完成運動路徑。
2)旋轉(zhuǎn)運動控制
旋轉(zhuǎn)以連桿E為例,首先設(shè)置旋轉(zhuǎn)角度angle。關(guān)鍵幀之間的節(jié)點旋轉(zhuǎn)角度為angle/n,所用的時間為time/n,由函數(shù)osg::Quatrotation()更新旋轉(zhuǎn)角度。最后同樣調(diào)用insert()函數(shù)插入時間和當(dāng)前狀態(tài),返回動畫路徑。同樣連桿E節(jié)點通過函數(shù)osg::Node::set Update Callback()調(diào)用動畫路徑。
3)旋轉(zhuǎn)和平移協(xié)同運動控制:
旋轉(zhuǎn)又平移以掩護(hù)梁D為例,首先設(shè)置旋轉(zhuǎn)角度angle,平移量displacement。關(guān)鍵點之間的節(jié)點旋轉(zhuǎn)角度為angle/n,平移量為displacement/n,所用的時間為time/n,由函數(shù)osg::Quat rotation()更新旋轉(zhuǎn)角度,由函數(shù)osg::Vec position()更新平移量。最后仍然調(diào)用insert()函數(shù)插入時間和當(dāng)前狀態(tài),返回動畫路徑。最后節(jié)點調(diào)用回調(diào)函數(shù)osg::Node::set Update Callback()完成掩護(hù)梁D的運動路徑。
圖3
論文主要研究了在基于OSG的虛擬場景中對模型運動的控制所需要的理論和方法,尤其是在對液壓支架的運動控制技術(shù)做了詳細(xì)設(shè)計,提出了一種新的設(shè)備運動控制方法,能夠解決復(fù)雜動畫路徑關(guān)系下對剛體的運動做準(zhǔn)確的運動控制,很好的解決了采煤工作面中復(fù)雜運動關(guān)系的控制。并且可以應(yīng)用在其它更復(fù)雜場景仿真中,都可以通過提取這種空間的幾何關(guān)系來取代運動路徑的數(shù)學(xué)模型關(guān)系,達(dá)到同樣的仿真效果。
系統(tǒng)也有自己的不足之處,首先設(shè)備模型單一,整個液壓支架精簡成了六個部件的運動,雖然能體現(xiàn)出液壓支架的運動狀態(tài),但很多其他次要部件都被忽略。其次整個系統(tǒng)都沒有加入聲音系統(tǒng),整個場景的運動都是無聲的狀態(tài),不可避免的降低了場景的真實感。
隨著數(shù)字化礦山的發(fā)展,虛擬現(xiàn)實技術(shù)在礦業(yè)方面的應(yīng)用將會越來越廣,將來可以將三維仿真虛擬現(xiàn)實技術(shù)與動力學(xué)理論結(jié)合,做到場景的真實性,并且可以與傳感器和網(wǎng)絡(luò)設(shè)備一起結(jié)合,達(dá)到場景的實時性。
[1]禹亮.采煤工作面仿真系統(tǒng)研究[D].山東科技大學(xué),2008.
[2]X.Shen,R.Hage and N.D.Georganas.Agent-aided Collaborative Virtual Environments over HLA/RTI[C]//Proc.IEEE/ACM Third International Workshop on Distributed Interactive Simulation and Real Time Applications (D IS-R’99),Greenbelt MD,Oct.1999.
[3]J.C.Oliveira,X.Shen,N.D.Georganas.Collaborative Virtual Environment for Industrial Training and e-Commerce[C]//Proc.Workshop on Application of Virtual Reality Technologies for Future Telecommunication Systems,IEEEGlobecom’2000 Conference,Nov.-Dec.2000,San Francisco.
[4]肖甫,王汝傳,孫力娟.多關(guān)聯(lián)性虛擬現(xiàn)實系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展,2009,19(12):36-39.
[5]楊化斌.Open Scene Graph3.0三維視景仿真技術(shù)開發(fā)詳解[M].國防工業(yè)出版社,2012.