馬 玫 楊鴻昌 白 丁
(國網(wǎng)四川省電力公司信息通信公司,成都 610041)
信息化是建設(shè)堅強(qiáng)電網(wǎng)的基礎(chǔ),智能電網(wǎng)建設(shè)將為電網(wǎng)信息化的發(fā)展帶來變革[1]。隨著新興技術(shù)的不斷融入,智能電網(wǎng)信息化建設(shè)過程中智能化、自動化、互動性等需求的增加,智能化變電站的建設(shè)也在不斷深入。智能變電站輔助系統(tǒng)是變電站站端系統(tǒng),包含視頻監(jiān)控子系統(tǒng)和環(huán)境監(jiān)控子系統(tǒng),實現(xiàn)對變電站視頻資源及環(huán)境數(shù)據(jù)的采集和顯示,并實現(xiàn)兩個系統(tǒng)的聯(lián)動應(yīng)用功能,為電網(wǎng)生產(chǎn)運行提供有力的輔助手段。
隨著智能變電站規(guī)模不斷擴(kuò)大,信息技術(shù)綜合應(yīng)用的深入,智能變電站站端輔助系統(tǒng)的建成成為生產(chǎn)運行及安防應(yīng)急提供了重要手段。目前變電站站端輔助系統(tǒng)只能顯示二維信息,為了使視頻中的場景以及物體具有立體感,更直觀、逼真、有效地再現(xiàn)現(xiàn)實場景[2],給人以身臨其境的感受,在智能變電站中引進(jìn) 3D場景顯示技術(shù)對智能變電站輔助系統(tǒng)進(jìn)行展示。本文將對智能變電站輔助系統(tǒng)實現(xiàn)3D場景顯示的關(guān)鍵技術(shù)進(jìn)行探討。
目前國內(nèi)變電站中智能輔助系統(tǒng)的呈現(xiàn)主要以視頻資源列表、動環(huán)數(shù)據(jù)圖表、一次接線圖、設(shè)備照片和現(xiàn)場錄像等常規(guī)多媒體方式作為表現(xiàn)手段[3]。傳統(tǒng)顯示是基于二維平面,單純的二維場景顯示技術(shù),不能真實的體現(xiàn)出智能變電站內(nèi)場景的多方向變化,并且無法準(zhǔn)確展現(xiàn)變電站現(xiàn)場環(huán)境溫濕度、風(fēng)速、水浸等環(huán)境量,無法較為真實的感知現(xiàn)場的實際場景及各類數(shù)據(jù)信息。因此,需要更為清晰,更具立體效果、功能更加強(qiáng)大的場景顯示技術(shù)以適應(yīng)日趨復(fù)雜的電網(wǎng)現(xiàn)代化、智能化建設(shè)的需求。
目前 3D場景顯示技術(shù)日益成熟,并廣泛應(yīng)用于影視娛樂、醫(yī)學(xué)以及軍事等各個領(lǐng)域[4],并發(fā)揮著舉足輕重的作用。在智能電網(wǎng)領(lǐng)域,3D場景顯示技術(shù)應(yīng)用還不普遍,此技術(shù)應(yīng)用于智能變電站輔助系統(tǒng)中,將彌補(bǔ)了變電站輔助系統(tǒng)無法將站端視頻資源與變電站環(huán)境信息更準(zhǔn)確、直觀地進(jìn)行有機(jī)結(jié)合后呈現(xiàn)出來的缺陷。將環(huán)境溫濕度及風(fēng)度、風(fēng)向等環(huán)境量通過 3D顯示技術(shù)融入到視頻顯示中,達(dá)到仿真、立體的效果,給人以身臨其境的感受。能較為真實地反應(yīng)出現(xiàn)場的設(shè)備周邊環(huán)境狀況和設(shè)備的運行狀況。管理人員通過實時對溫度、濕度、風(fēng)向等環(huán)境信息進(jìn)行采集、處理和上傳,生成曲線和報表,并與視頻資源進(jìn)行聯(lián)動整合,方便實時監(jiān)控、歷史查詢、統(tǒng)計分析,更為全面地掌握變電站的運行狀況。
該技術(shù)的應(yīng)用優(yōu)化電力部門工作的傳統(tǒng)模式,由事后處理向事前預(yù)測轉(zhuǎn)化,使管理人員有充分的時間和精力去綜合、分析、解決系統(tǒng)運行維護(hù)過程中出現(xiàn)的問題,從而提高其管理工作質(zhì)量。
在計算機(jī)領(lǐng)域有多種成熟的三維圖形顯示技術(shù)可以選擇。常用的 3D開發(fā)軟件主要有 Unity3D,HTML5等。Unity3D能輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎,具有優(yōu)越的效果和很高的擴(kuò)展空間[5];在網(wǎng)絡(luò)方面,Unity3D提供了很強(qiáng)大的可視化編輯器和語言層面的網(wǎng)絡(luò)類,支持重載和命名空間。
HTML5是基于SVG、Canvas、WebGL和CSS3的 3D功能的開發(fā)工具,在瀏覽器中能達(dá)到驚人的3D顯示效果,HTML5在支持跨平臺進(jìn)行使用的同時,還提供數(shù)據(jù)與應(yīng)用接入開放接口,使外部應(yīng)用程序可以直接與瀏覽器內(nèi)部數(shù)據(jù)直接相連,例如視頻影音。
Unity3D相對于其他開發(fā)環(huán)境,其優(yōu)勢在于:可以輕松的創(chuàng)建三維視頻,并且可以使用AssetBundle動態(tài)載入外部模型,或者使用3ds Max正常制作三維模型,導(dǎo)入生成 FBX文件,載入Unity3D中構(gòu)建,最后進(jìn)行交互操作。盡管HTML5也可是創(chuàng)作模擬出三維場景,但HTML5存在漏洞,產(chǎn)生的數(shù)據(jù)垃圾會對用戶進(jìn)行轟炸,甚至?xí)诙虝r間將硬盤塞滿。綜合各方面因素,選用Unity3D進(jìn)行三維場景的模擬在技術(shù)層而言相對穩(wěn)定,并且易于操作。此外,Unity3D對于同一項目,在不需要修改的前提下,可以通過菜單發(fā)布到各種平臺,市場空間很大。
首先是進(jìn)行數(shù)據(jù)采集,包括地理信息、建筑物紋理等,在變電站中根據(jù)現(xiàn)實需求設(shè)置多個傳感器,通過傳感器獲取設(shè)備或周邊環(huán)境情況的信息,如圖1所示。
圖1 傳感器獲取信息
對信息進(jìn)行采集,包括錄像、信息、建筑物紋理等。在變電站中不同的位置設(shè)置攝像機(jī),對實時情況進(jìn)行錄像,通過3ds MAX根據(jù)采集的信息進(jìn)行三維模型建立。在三維模型空間中,設(shè)置一個攝像機(jī)的點,通過設(shè)置攝像機(jī)的角度,依據(jù)現(xiàn)場攝像機(jī)所提供的實際的參數(shù)轉(zhuǎn)換為三維界面中攝像機(jī)的模擬參數(shù),形成逼真、生動的現(xiàn)場效果模擬3D圖像。
設(shè)想有一個任意方向、任意位置的物體,我們要把它渲染到任意方向、任意位置的攝像機(jī)中。為了做到這一點,必須將物體的所有頂點從物體坐標(biāo)系變 換到世界坐標(biāo)系,接著再從世界坐標(biāo)系變換到攝像機(jī)坐標(biāo)系。其中的數(shù)學(xué)變換總結(jié)如下:
矩陣乘法滿足結(jié)合律,所以我們能用一個矩陣直接從物體坐標(biāo)系變換到攝像機(jī)坐標(biāo)系:
這樣就能在渲染的循環(huán)外先將所有矩陣組合起來,使循環(huán)內(nèi)作矩陣乘法的時候只需要和一個矩陣相乘即可(物體有很多頂點,省一次矩陣乘法就會提高不少效率),如下:
通過攝像機(jī)和傳感器完成對信息的采集之后,存儲到相應(yīng)的數(shù)據(jù)庫中,利用三維制作軟件 3ds MAX根據(jù)已經(jīng)采集的信息進(jìn)行三維模型的建立。
下面將比較動態(tài)貼圖技術(shù)和使用Unity3D軟件進(jìn)行3D場景顯示的兩種方式。
動態(tài)貼圖技術(shù)利用在三維模型的不同面以動態(tài)貼圖的方式,從不同角度看到的視頻角度不同,在視覺上初步實現(xiàn)3D視頻顯示。
未經(jīng)過動態(tài)貼圖的三維模型為灰色,通過攝像機(jī)獲取監(jiān)控視頻的畫面,將視頻畫面截取為一幀一幀的圖片,利用已經(jīng)截取的圖片對已經(jīng)建立的三維模型動態(tài)貼圖。通過在模型不同的面,間隔時間段的進(jìn)行貼圖,如圖2所示。
圖2 動態(tài)貼圖顯示效果
通過視頻播放控件與GUI界面中的視頻窗口疊加,視頻截圖不間斷的替換出現(xiàn),從而實現(xiàn)對視頻的播放。
但是,通過在三維模型上動態(tài)貼圖的方式實現(xiàn)3D視頻顯示的同時也存在一些缺陷。由于三維模型的分辨率較低,將分辨率高于三維模型的視頻截圖動態(tài)貼入三維模型時,視頻截圖的分辨率也會隨之降低。背離了3D視頻顯示清晰、真實的技術(shù)要求。
對建立的變電站的三維模型進(jìn)行透視投影原理進(jìn)行模型渲染,發(fā)布至 Web,通過視頻播放插件與GUI界面預(yù)設(shè)視頻窗口疊加,實現(xiàn)3D場景顯示。
1)模型建立
各個點的攝像機(jī)獲取的場景和設(shè)備紋理以及傳感器獲得的各種信息,通過程控放大器、A/D數(shù)模轉(zhuǎn)換以及邏輯控制,傳送到服務(wù)器的數(shù)據(jù)庫中。利用三維軟件3ds MAX,根據(jù)計算機(jī)存放的數(shù)據(jù)庫中采集的變電站現(xiàn)場的信息進(jìn)行模型的建立,將建立的模型進(jìn)行場景的拼接,模擬出變電站現(xiàn)實場景相對應(yīng)虛擬現(xiàn)實的初步三維模型。利用Unity3D可以導(dǎo)入外部模型的特性,將已經(jīng)建立的虛擬現(xiàn)實的初步三維模型導(dǎo)入Unity3D中進(jìn)行模型的透視投影和渲染等。
2)透視投影的實現(xiàn)
對于透視投影的標(biāo)準(zhǔn)模型,視平面的坐標(biāo)模型如圖 3所示,它的坐標(biāo)原點位于視平面的中心,x軸正向水平向右,y軸正向垂直向上。要把透視投影的結(jié)果在計算機(jī)屏幕上顯示的話,需要對透視圖進(jìn)行坐標(biāo)變換,將其從視平面坐標(biāo)系轉(zhuǎn)換到屏幕坐標(biāo)系。
圖3 視平面坐標(biāo)模型
計算機(jī)屏幕的坐標(biāo)模型如圖4所示,它的原點(0, 0)位于屏幕的左上角,y軸正向垂直向下。設(shè)視平面的寬度為Wp,高度為Hp;屏幕的寬度為Ws,高度為Hs。
圖4 屏幕坐標(biāo)模型
令視平面坐標(biāo)系中的點(xp, yp)對應(yīng)于屏幕坐標(biāo)系中的點(xs, ys),它們的變換關(guān)系如下:
由圖2和圖3可知,視平面中的(0, 0)點對應(yīng)于屏幕坐標(biāo)系中的中心點(0.5×Ws-0.5, 0.5×Hs-0.5);由于屏幕坐標(biāo)系是離散坐標(biāo)系,所有屏幕右下點的坐標(biāo)為(Ws-1, Hs-1),而不是(Ws, Hs);另外,視平面的(-0.5×Wp, -0.5×Hp)對應(yīng)于屏幕的(0, 0)點。將上述兩種取值代入變換方程可以得出
3)載入3D模型
在3ds MAX中,已經(jīng)根據(jù)現(xiàn)場所采集的信息,包括設(shè)備、建筑等按照視頻需求比例進(jìn)行了三維模型建立;使用Matt Fairfax實現(xiàn)的Model_3DS類支持3DS模型文件的載入。并對已經(jīng)導(dǎo)入的變電站的三維模型進(jìn)行視圖變換、透視變換和屏幕變換。
4)視圖變換
為表示透視投影的模型,實現(xiàn)了KCamera類,除保存視點的位置和姿態(tài),還保存視圖變換矩陣m_kmView,隨著視點位置和姿態(tài)的變化,視圖矩陣也不斷更新。對于世界坐標(biāo)系中的任何一點v(x, y,z),通過v=m_kmView×v將其變換到透視投影的標(biāo)準(zhǔn)模型坐標(biāo)系,通過KCamera::Transform函數(shù)實現(xiàn)。
5)透視變換
經(jīng)過視圖變換之后,利用KFrustum類用來對透視投影的模型進(jìn)行建模,其成員包括視平面的尺寸大小,以及近截面和遠(yuǎn)截面的z軸坐標(biāo)。KFrustum通過 Project函數(shù)將視圖變換的結(jié)果變換為透視坐標(biāo)。代碼實現(xiàn)如下:
6)屏幕變換
實現(xiàn)視圖變換和投影變換之后,需要將其轉(zhuǎn)換為適合屏幕大小的模型,繼而需要進(jìn)行屏幕變換;屏幕變換的算法通過宏實現(xiàn),代碼如下:
7)三維模型的渲染
將已經(jīng)導(dǎo)入經(jīng)過投影變換的變電站的電力系統(tǒng)以及變電站周邊環(huán)境的三維模型進(jìn)行渲染,渲染使用軟件來實現(xiàn),沒有使用任何第三方圖形庫,主代碼在 KCamera::Render函數(shù)中,它接收兩次參數(shù):Model_3DS和KSurface,對Model_3DS中的頂點進(jìn)行透視投影。渲染代碼如下:
8)視頻疊加重合
三維模型渲染結(jié)束之后,將其發(fā)布至Web上,在 GUI客戶端界面的設(shè)計過程中,預(yù)留的配置了Web瀏覽器的視頻播放窗口,將Unity3D虛擬視頻與預(yù)先定義的視頻窗口進(jìn)行疊加重合,實現(xiàn) 3D視頻的播放功能,從而達(dá)到理想中的 3D場景顯示的效果,如圖5所示。
圖5 Unity3D軟件生成3D場景
上述兩種方式均能實現(xiàn) 3D視頻的顯示,但通過實際模型對比得出第二種方式實現(xiàn) 3D場景顯示的效果優(yōu)于第一種方式。因此采用第二種方式在220kV武侯變電站上試點建設(shè)一套 3D顯示系統(tǒng)來展現(xiàn)變電站場景及站端輔助系統(tǒng)。
用戶可以通過客戶端訪問系統(tǒng),客戶端所采用的通信協(xié)議,具有很強(qiáng)的開放性和兼容性,完全能融合在電力系統(tǒng)現(xiàn)有網(wǎng)絡(luò)中。通過標(biāo)準(zhǔn)的客戶端,相關(guān)負(fù)責(zé)人和管理人員可根據(jù)不同的權(quán)限對系統(tǒng)進(jìn)行配置及監(jiān)控,操作界面全部為中文可視化界面,使用非常方便。
此系統(tǒng)將獲取的真實站端動環(huán)數(shù)據(jù),如環(huán)境溫濕度、風(fēng)度、風(fēng)向等環(huán)境量以及門禁,集成到 3D場景顯示系統(tǒng)中。在此 3D顯示界面上,管理人員可以根據(jù) 3D虛擬現(xiàn)實視頻中得到的實時數(shù)據(jù)的模擬數(shù)據(jù),判斷設(shè)備周邊環(huán)境和設(shè)備運行情況。
圖6所示為設(shè)備周邊環(huán)境,能真實地反映出周邊環(huán)境溫濕度、風(fēng)度、風(fēng)向等環(huán)境量以及門禁等的變化。
圖6 設(shè)備周邊環(huán)境
圖7所示為設(shè)備運行情況,根據(jù)3D虛擬現(xiàn)實視頻中的實時數(shù)據(jù),立體、形象、真實地反映了變電站各個設(shè)備的細(xì)節(jié)和特征以及運行情況,讓管理人員和技術(shù)人員可以更直觀地了解設(shè)備的運行情況。
試點表明利用透視原理,使用Unity3D軟件可以很好的展現(xiàn)生成變電站 3D場景,并能把輔助系統(tǒng)的相關(guān)數(shù)據(jù)都融合到這個界面上,對變電站的全景數(shù)據(jù)進(jìn)行有效的展示。
圖7 設(shè)備運行情況
目前,3D視頻顯示技術(shù)雖然已經(jīng)應(yīng)用于眾多領(lǐng)域,但在電力企業(yè)的信息化建設(shè)中應(yīng)用并不普遍,武侯變電站的試點結(jié)果表明,在電網(wǎng)的信息化建設(shè)中,采用 3D場景顯示技術(shù)呈現(xiàn)變電站設(shè)備的空間關(guān)系以及環(huán)境數(shù)據(jù)的實時變化,既可以縱覽全局,也可以觀察局部詳細(xì)信息,為變電站的智能化管理提供了直觀、準(zhǔn)確并且真實的監(jiān)控管理方式。利用3D場景顯示技術(shù)進(jìn)行有效的監(jiān)控和管理,能更好的滿足生產(chǎn)運維、安防應(yīng)急的需求,同時也有利于工程人員進(jìn)行擴(kuò)建項目的分析和設(shè)計,將大大提高管理的可操作性并提升了電網(wǎng)信息化的管理和決策水平。
[1]李鑫. 三維全景智能電網(wǎng)支撐平臺在電網(wǎng)信息化過程中的應(yīng)用[J]. 電力技術(shù), 2010, 4(19): 54-57.
[2]倪倩, 李會平. 三維電子地圖的制作與漫游研究[J].青島職業(yè)技術(shù)學(xué)院學(xué)報, 2013(6).
[3]侯俊, 李蔚清, 林昌年. 變電站三維交互場景仿真關(guān)鍵技術(shù)研究[J]. 電網(wǎng)技術(shù), 2005, 29(9): 70-75.
[4]王永, 孫可, 孫士祥. 3D顯示技術(shù)的現(xiàn)狀及發(fā)展[J].現(xiàn)代顯示, 2012(2): 26-28.
[5]倪樂波, 戚鵬, 遇麗娜, 等. Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J]. 數(shù)字技術(shù)與應(yīng)用, 2010(9).