姚 凡,羅滇生,趙 靜,汪會財(cái),匡少林
(1.湖南大學(xué)電氣與信息工程學(xué)院,長沙410082;2.河南省電力公司,鄭州450052)
面對電力生產(chǎn)中的新形勢,國家電網(wǎng)公司提出了“一強(qiáng)三優(yōu)”的發(fā)展目標(biāo),作為電力系統(tǒng)的統(tǒng)一目標(biāo)和根本任務(wù)。在這種形勢下,電力安全教育更加凸現(xiàn)出其必要性。電力工業(yè)的迅速發(fā)展對工作人員的培訓(xùn)工作提出了較高的要求。培訓(xùn)是提高工作人員素質(zhì)及保證電力系統(tǒng)安全、穩(wěn)定運(yùn)行的重要手段之一,而電力系統(tǒng)的運(yùn)行特點(diǎn)決定了不能通過實(shí)際設(shè)備直接操作進(jìn)行人員培訓(xùn),而傳統(tǒng)的理論講述培訓(xùn)與手冊培訓(xùn)周期長、資金投入大、學(xué)員現(xiàn)場感差,因此進(jìn)行仿真培訓(xùn)具有重要的現(xiàn)實(shí)意義[1]。仿真培訓(xùn)不僅是一種實(shí)踐與理論的結(jié)合,且寓教于樂,并能夠使學(xué)員身臨其境,達(dá)到高效、安全培訓(xùn)的目的?;谔摂M現(xiàn)實(shí)技術(shù) VR(virtual reality)[2]的培訓(xùn)方式應(yīng)運(yùn)而生,它具有信息容量大、多項(xiàng)演示、模擬生動、身臨其境等顯著特征,這是有限空間、有限時(shí)間的其它傳統(tǒng)培訓(xùn)方式無法比擬的。而基于Torque引擎的電力安規(guī)虛擬交互培訓(xùn)系統(tǒng)以虛擬仿真訓(xùn)練的方式,把各個(gè)崗位的操作規(guī)程和安全規(guī)程以一種交互的方式體現(xiàn)出來,并且涵蓋了每個(gè)危險(xiǎn)點(diǎn)陷阱。電力職工通過使用該系統(tǒng),能夠熟悉每個(gè)崗位的操作規(guī)范和安全注意事項(xiàng),從而在日常的工作中最大限度地減少事故的發(fā)生。
Garage Games的先驅(qū)產(chǎn)品是Torque Game Engine,簡稱TGE,它是3D計(jì)算機(jī)游戲引擎的改進(jìn),也就是說TGE是一個(gè)專業(yè)的3D引擎,而不僅僅是一個(gè)游戲開發(fā)包。它最初由Dynamix于2001年為第一人稱射擊游戲―Tribes 2而研發(fā)。后由Garage Games向獨(dú)立開發(fā)者和專業(yè)游戲開發(fā)商授權(quán)。著名的由該引擎開發(fā)的商業(yè)版游戲有:Marble Blast Gold, "Minions of Mirth","TubeTwist","Ultimate Duck Hunting"和"Wildlife Tycoon:Venture Africa"。涵蓋了目前市場存在的各種游戲類型和風(fēng)格。
作為一款典型的游戲引擎,Torque包含了以下主要功能模塊[3,4]:
1)事件輸入模塊;任何平臺輸入事件經(jīng)由平臺層解釋遞交到游戲,然后游戲按照一張全局動作映射表檢查輸入事件,這張表取代所有其他的動作處理程序。最后這些事件都被發(fā)送到主應(yīng)用程序事件隊(duì)列中。
2)資源管理器模塊;Torque Engine會使用到為數(shù)眾多的資源,比如地形文件、位圖、形狀、材質(zhì)清單、字體以及內(nèi)景等等,因此這個(gè)管理器用于管理各種游戲資源并提供一個(gè)加載和保存資源的通用接口,它支持每次只加載一種資源的一個(gè)實(shí)例。
3)形狀和動畫處理模塊;該模塊管理各種形狀模型的顯示和動畫。圖形引擎負(fù)責(zé)渲染整個(gè)場景,并決定一個(gè)給定的對象是否需要有客戶端處理。
4)網(wǎng)絡(luò)連接模塊;該引擎提供了強(qiáng)大的C/S網(wǎng)絡(luò)模擬支持,同時(shí)處理了三個(gè)基本的實(shí)時(shí)網(wǎng)絡(luò)編程問題:受限帶寬,數(shù)據(jù)包丟失和延遲。
5)窗口管理模塊;此模塊包含了游戲的菜單、設(shè)置、選項(xiàng)、對話框以及每個(gè)游戲進(jìn)行時(shí)的消息系統(tǒng),能控制游戲視覺外觀并接受用戶控制輸入,提供各種按鈕控件。
游戲引擎的元素由用戶輸入、圖形、音頻、事件、時(shí)序與同步、場景圖、腳本、對象和資源、網(wǎng)絡(luò)、文件I/O九部分組成。
本引擎全面支持3ds Max與maya建模,由于本次項(xiàng)目采用3ds Max建模,所以可通過引擎規(guī)定的導(dǎo)出插件,把3ds Max所搭建的模型導(dǎo)出為.dts格式文件。Torque引擎在內(nèi)部已經(jīng)封裝好固定格式的數(shù)據(jù)塊,只需要在腳本文件中填寫該模型文件的屬性信息,所需要的模型就可以在虛擬場景中得到加載和實(shí)現(xiàn)。整個(gè)流程簡單易操作,而且虛擬場景中的所有3D模型都可以自由地設(shè)置其大小、位置。電力安規(guī)虛擬交互培訓(xùn)系統(tǒng)的變電站三維模型場景如圖1所示。
圖1 Torque引擎中變電站的模型場景Fig.1 Substation model scene of Torque engine
3D動畫整合與3D模型整合大致相似,3D動畫也可以說是帶有動作的3D模型,都是通過加載.dts格式文件,填寫數(shù)據(jù)塊屬性值來指定給引擎,所不同的是由于有動作,3D建模會有兩個(gè)部分,即骨骼和蒙皮。導(dǎo)出時(shí)骨骼與蒙皮是分開的,蒙皮也就是一個(gè)3D模型,而骨骼是一些存儲蒙皮變換的矩陣,引擎通過不同的矩陣來控制虛擬人物的不同動作。當(dāng)模型加載入引擎以后會再加載一個(gè)動作列表,該列表也可以在腳本文件中編寫。程序員編寫邏輯代碼判斷培訓(xùn)人員的鍵盤或者鼠標(biāo)操作,通過匹配動作列表中動作各動作名稱,達(dá)到不同操作不同動作的播放。
電力安規(guī)虛擬交互培訓(xùn)系統(tǒng)中的人物驗(yàn)電動作如圖2所示。
圖2 Torque引擎中的人物驗(yàn)電Fig.2 People examining electricity in Torque engine
本引擎在網(wǎng)絡(luò)支持方面存在著缺陷,引擎本身也不支持SQL Server數(shù)據(jù)庫連接,但可以用改動引擎的方法達(dá)到支持。
由于Torque是基于Win32平臺,對MFC不支持,所以在改動引擎時(shí)選用 Win32連接數(shù)據(jù)庫的方法,把該功能加進(jìn)引擎源代碼后對引擎進(jìn)行再次編譯,達(dá)到通過腳本文件,指定數(shù)據(jù)庫類型、連接地址、表名、用戶名、密碼等,即可連接數(shù)據(jù)庫,對SQL Server數(shù)據(jù)庫進(jìn)行讀取、修改、添加、刪除操作。
電力安規(guī)虛擬交互培訓(xùn)系統(tǒng)應(yīng)用目前的計(jì)算機(jī)技術(shù)、信息及網(wǎng)絡(luò)技術(shù),采用虛擬現(xiàn)實(shí)的方法,為電力企業(yè)提供了一個(gè)3D互動電力安全教育培訓(xùn)平臺。系統(tǒng)運(yùn)用TorqueScript進(jìn)行培訓(xùn)流程控制,采用SQL Server數(shù)據(jù)庫記錄受訓(xùn)人員的信息,采用xmlhttp的service技術(shù)與流媒體技術(shù)實(shí)現(xiàn)變電的無刷新實(shí)時(shí)電力安規(guī)培訓(xùn)操作場景,以3D游戲開發(fā)引擎Torque作為基礎(chǔ)平臺進(jìn)行二次開發(fā)。
系統(tǒng)基于虛擬現(xiàn)實(shí)技術(shù),綜合運(yùn)用圖形、3D動畫和聲音等多種媒體模擬電力現(xiàn)場作業(yè)的實(shí)際情形,將電力標(biāo)準(zhǔn)化作業(yè)流程和安全規(guī)程以一種交互的方式體現(xiàn)出來,涵蓋各種典型違章事故案例。同時(shí),系統(tǒng)引入110kV、220kV變電站仿真系統(tǒng),供變電運(yùn)行人員進(jìn)行巡視、操作、異常及事故處理的仿真模擬訓(xùn)練及考核,可供電力企業(yè)的各級管理人員和生產(chǎn)技術(shù)人員進(jìn)行安全生產(chǎn)規(guī)程考核培訓(xùn)使用。
虛擬交互系統(tǒng)的結(jié)構(gòu)如圖3所示,主界面如圖4所示。
圖3 虛擬交互培訓(xùn)系統(tǒng)的結(jié)構(gòu)Fig.3 Structure of virtual interactive training system
圖4 虛擬交互培訓(xùn)系統(tǒng)的主界面Fig.4 Main interface of virtual interactive training system
為了給電力設(shè)備運(yùn)行、維護(hù)、檢修人員提供全方位的仿真培訓(xùn),通過構(gòu)建一個(gè)虛擬仿真培訓(xùn)系統(tǒng)平臺,為變電、線路運(yùn)行人員提供系統(tǒng)結(jié)構(gòu)、變電站設(shè)備、運(yùn)行原理、運(yùn)行規(guī)程、生產(chǎn)流程等的培訓(xùn)。盡可能地提供與實(shí)際工況相一致的軟、硬件環(huán)境,使受訓(xùn)人員有身臨其境的感受,掌握變電、線路運(yùn)行操作控制的基本技能。進(jìn)一步提升檢修人員和老員工的業(yè)務(wù)水平,也為新員工提供對專業(yè)設(shè)備的感性認(rèn)識,并具備一定的操作技能。通過使用虛擬仿真培訓(xùn)系統(tǒng)平臺,在一定程度上解決了電力安全培訓(xùn)中不可視、不可摸、不可入危險(xiǎn)性場所的的難題。同時(shí)對于變電站日常運(yùn)行過程中并非每個(gè)員工都會遇到的故障和事故,可以利用本系統(tǒng)的預(yù)設(shè)場景,使受訓(xùn)人員在虛擬事故中得到"真實(shí)"鍛煉,一旦真實(shí)的事故發(fā)生,得到"真實(shí)"鍛煉的人員就可鎮(zhèn)定自若地正確應(yīng)對,把事故影響減至最小范圍。
系統(tǒng)功能主要分三個(gè)模塊,如圖5所示。
圖5 系統(tǒng)功能模塊Fig.5 System function block diagram
1)實(shí)景培訓(xùn)
本模塊采用現(xiàn)場實(shí)拍視頻方式,完整記錄電力標(biāo)準(zhǔn)化作業(yè)流程的各個(gè)現(xiàn)場操作。學(xué)員通過觀看各種知識點(diǎn)的實(shí)際操作過程,對每一步操作都有一個(gè)感性的認(rèn)識,理論結(jié)合實(shí)際,更有助于將安全意識融入到實(shí)際操作中。
2)虛擬交互培訓(xùn)
本模塊采用VR虛擬現(xiàn)實(shí),提供了一個(gè)3D互動電力安全教育培訓(xùn)平臺。系統(tǒng)根據(jù)不同學(xué)員的培訓(xùn)需求,提供了整體、隨機(jī)和游戲三種培訓(xùn)模式。
整體模式:該模式主要針對于新學(xué)員。在系統(tǒng)的提示下,學(xué)員可完成整個(gè)標(biāo)準(zhǔn)化作業(yè)流程操作,讓其熟悉整個(gè)操作流程,并了解操作流程中的關(guān)鍵環(huán)節(jié)。
隨機(jī)模式:系統(tǒng)將整個(gè)培訓(xùn)流程做內(nèi)容分解,提取各個(gè)不同的關(guān)鍵操作環(huán)節(jié)并隨機(jī)地供學(xué)員自由選擇進(jìn)行培訓(xùn)。
游戲模式:學(xué)員可自由選擇培訓(xùn)內(nèi)容,并能觸發(fā)相關(guān)任務(wù)事件,可以獲取成就、金錢、積分等,增加培訓(xùn)的趣味性。
培訓(xùn)開始時(shí),系統(tǒng)將會下達(dá)培訓(xùn)任務(wù)書。任務(wù)書起作業(yè)指導(dǎo)作用,其中列出了要完成相應(yīng)知識點(diǎn)正確操作步驟,是初學(xué)者順利完成任務(wù)的有利保障。當(dāng)完成培訓(xùn)任務(wù)時(shí),系統(tǒng)將會給出任務(wù)報(bào)告,任務(wù)報(bào)告將總結(jié)作業(yè)過程,指出其中需改進(jìn)的地方,給你任務(wù)評價(jià),同時(shí)提供了作業(yè)時(shí)間、事故列表等參考信息,有助于規(guī)范操作,避免事故發(fā)生。
3)典型案例分析
本模塊歸類收集了國內(nèi)近年來發(fā)生在供電企業(yè)的大量典型事故案例,以供電企業(yè)發(fā)生的典型違章事故案例為原形,采用事故現(xiàn)場資料和3D動畫仿真的表現(xiàn)手法,生動形象地演示了事故過程,并結(jié)合《安規(guī)》相關(guān)條款,詳實(shí)地分析了事故發(fā)生的主要原因,提出相應(yīng)的防范措施,對電力職工的安全教育起到警示作用。
文獻(xiàn)[5]描述的系統(tǒng)可實(shí)現(xiàn)的培訓(xùn)功能主要有現(xiàn)場漫游、電路圖培訓(xùn)、安全工器具規(guī)范化操作指導(dǎo)、運(yùn)行操作培訓(xùn)、維護(hù)檢修培訓(xùn)、倒閘操作票培訓(xùn)、典型案例仿真處理、教員 -學(xué)員互動平臺、學(xué)員-學(xué)員互動平臺等,這些功能本系統(tǒng)都能實(shí)現(xiàn)。
為了實(shí)現(xiàn)以上培訓(xùn)功能,本系統(tǒng)須在技術(shù)上實(shí)現(xiàn)以下功能:
1)自動行走:利用引擎把鍵盤按鍵事件和人物動作做出綁定,在程序中判斷其按鍵鍵值做出相應(yīng)的動作。在碰撞檢測中,給每一個(gè)物體套上一個(gè)和物體大小相同的盒子,并做出統(tǒng)一的命名,在虛擬人物身上也會有一個(gè)相同的盒子,當(dāng)盒子與盒子發(fā)生碰撞時(shí)判斷其盒子屬性,其盒子屬性分為:可站立,不可通過,事件觸發(fā)等。
2)案例重現(xiàn):將虛擬人物在電桿的操作過程全部存儲在數(shù)據(jù)庫中,每一次重要操作都會進(jìn)行與標(biāo)準(zhǔn)操作的判定,是否為可操作,是否為正確操作等。如有錯(cuò)誤發(fā)生將正確的數(shù)據(jù)提示,或在操作結(jié)束后,用正確數(shù)據(jù)將操作步驟以重放方式進(jìn)行。
3)操作流程:由于每一個(gè)操作步驟都是在數(shù)據(jù)庫中存放,所以可在數(shù)據(jù)庫中動態(tài)的改變操作順序以及匹配操作動作,程序?qū)⒃诔跏蓟臅r(shí)候讀取數(shù)據(jù)庫中的標(biāo)準(zhǔn)流程表,所以每一個(gè)場景的操作流程根據(jù)數(shù)據(jù)庫中數(shù)據(jù)的不同動態(tài)的改變,但所改變的數(shù)值必須是虛擬人物動畫中存在的動作。
4)娛樂性:在虛擬交互培訓(xùn)系統(tǒng)中將人物劃分等級,以勛章數(shù)目表示,人物等級越高,其勛章越多,而且生命值也會有所增長,在虛擬培訓(xùn)中,生命值等于可出現(xiàn)錯(cuò)誤的次數(shù),而致命錯(cuò)誤是不受生命值多少影響的,當(dāng)然考試中是不允許出現(xiàn)錯(cuò)誤的,既等級以及生命只對培訓(xùn)有作用,管理人員可根據(jù)安規(guī)規(guī)定在數(shù)據(jù)庫中標(biāo)識出致命錯(cuò)誤,而且可考慮把培訓(xùn)人員的等級以百分比方式納入考試中。
5)音樂播放:根據(jù)每個(gè)動作以及動作產(chǎn)生后的效果播放音效,而音樂采用三維立體聲,既離聲源的遠(yuǎn)近及角度不同會改變耳麥中左右聲道的大小,讓人能感覺到聲源的位置,使整個(gè)操作更逼真。
6)虛擬場景:場景根據(jù)實(shí)拍照片所編輯,整個(gè)布局都可以靈活變動,在規(guī)定文本當(dāng)中會存儲某一個(gè)物體的大小,位置,碰撞體盒,而場景中的各種建筑都是由3ds max所鍵,這樣很方便以后對場景的改動,也方便新增加場景。
7)工作虛擬:將一個(gè)電力工人所有工作流程以數(shù)據(jù)方式存儲,而該數(shù)據(jù)與數(shù)據(jù)庫當(dāng)中匹配,因此只需要在數(shù)據(jù)庫中制定好正確的工作流程,虛擬人物會在接受培訓(xùn)人員命令后進(jìn)行相對應(yīng)的操作,很好地處理了重復(fù)動作問題,即在整個(gè)操作流程中可能會出現(xiàn)多次的相同動作,而人物只有一個(gè)對應(yīng)的動作,在數(shù)據(jù)庫中將這個(gè)動作名稱在不同的地方多次放置,就可達(dá)到該動作多次操作的功能。
本系統(tǒng)利用Torque引擎,設(shè)計(jì)出了一個(gè)人機(jī)交互的虛擬交互培訓(xùn)平臺,與傳統(tǒng)的電力安規(guī)培訓(xùn)系統(tǒng)相比,具有以下與眾不同的特點(diǎn):
(1)頂級的三維游戲享受
本系統(tǒng)充分借鑒三維游戲的開發(fā)模式和技術(shù)。一方面以逼真的顯示方式,為學(xué)員營造身臨其境的感受,使學(xué)員得到與現(xiàn)場操作相近的效果。例如:在對電力施工流程建模中,除了模擬相關(guān)的電力設(shè)備,同時(shí)也需要模擬雨、雪之類的自然現(xiàn)象和觸電時(shí)火花四濺等狀況(系統(tǒng)中所涉及的3D模型均以實(shí)物為原型),并對相關(guān)地方配以聲音。同時(shí),在模擬電力操作時(shí),常常按三維動力學(xué)的思想來設(shè)計(jì),從而很好地模擬了系統(tǒng)中電力工具、設(shè)備受到外力時(shí),產(chǎn)生的諸如自由落體、滾動、傾斜等動作。使得整個(gè)培訓(xùn)場景繪聲繪色,給人的感覺與所模擬的客觀世界非常相像,如同在真實(shí)世界一樣。
另一方面采用人機(jī)交互運(yùn)行方式和積分制。在虛擬環(huán)境中,操作人員通過自主選擇推動情節(jié)向前發(fā)展,若操作錯(cuò)誤,便扣除相應(yīng)積分,這樣便可充分發(fā)揮其積極主動性。
(2)靈活的人機(jī)交互
本系統(tǒng)通過OpenGL程序,完成移動、旋轉(zhuǎn)和放縮過程中物體的三維幾何坐標(biāo)的平移、放大和縮小、坐標(biāo)旋轉(zhuǎn)[6]。根據(jù)計(jì)算機(jī)圖形學(xué)關(guān)于物體和坐標(biāo)系統(tǒng)變換公式,計(jì)算物體被操縱后的目標(biāo)坐標(biāo)值,從而使學(xué)員可使用鼠標(biāo)、鍵盤對可視化的人機(jī)交互界面中的三維場景模型進(jìn)行操作:平移物體、旋轉(zhuǎn)物體、對物體拉伸、在場景中進(jìn)行瀏覽、電力系統(tǒng)元件工作原理演示、將系統(tǒng)元件與其相聯(lián)系的工作元件聯(lián)合演示、出現(xiàn)故障如何進(jìn)行搶修等。
圖6描述的是電力安規(guī)虛擬交互培訓(xùn)系統(tǒng)各個(gè)部分之間的數(shù)據(jù)關(guān)系,即系統(tǒng)數(shù)據(jù)流程圖。
圖6 系統(tǒng)數(shù)據(jù)流程圖Fig.6 System data flow diagram
基于Torque引擎的電力安規(guī)虛擬交互培訓(xùn)系統(tǒng)是集實(shí)用性與有效性于一體的電力現(xiàn)場作業(yè)人員的培訓(xùn)方式,是虛擬現(xiàn)實(shí)技術(shù)的具體應(yīng)用。本系統(tǒng)已成功應(yīng)用于湖南省電力公司及其各下屬單位,提高了電力工業(yè)企業(yè)和電力職工培訓(xùn)的積極性,在培訓(xùn)過程中人們充分享受培訓(xùn)的樂趣,改變了原來那種呆板的培訓(xùn),使人們由“要我培訓(xùn)”到“我要培訓(xùn)”的轉(zhuǎn)變,培訓(xùn)的效果大幅度提高。系統(tǒng)中虛擬現(xiàn)實(shí)技術(shù)、數(shù)據(jù)庫技術(shù)、3D動畫技術(shù)的完美整合,使整個(gè)系統(tǒng)不但大量節(jié)省了培訓(xùn)成本,而且提高了培訓(xùn)效率。
[1] Frank Paul.Using simulations to provide safety and operations training in the electric power industry[C]∥IEEE Engineering Society Winter Meeting,New York,USA:1999.
[2] 陳天翼,邱家駒,邱淘西(Chen Tianyi,Qiu Jiaju,Qiu Taoxi).電力系統(tǒng)虛擬現(xiàn)實(shí)場景開發(fā)研究(PC-based VR environment of a power system training system)[J].電力系統(tǒng)及其自動化學(xué)報(bào)(Proceedings of the CSU-EPSA),2000,12(5):7-10.
[3] Kenneth C Finney.3D游戲開發(fā)大全[M].北京:清華大學(xué)出版社,2005.
[4] 李志丹(Li Zhidan).應(yīng)用游戲設(shè)計(jì)思想開發(fā)指控系統(tǒng)引擎的研究(Feasibility Study of Building Command and Control System Engine Based on Game Engine)[J].計(jì)算機(jī)與數(shù)字工程(Computer & Digital Engineering),2010,38(8):118-121.
[5] 徐良軍,章建,蔣毅,等(Xu Liangjun,Zhang Jian,Jiang Yi,etal).基于虛擬現(xiàn)實(shí)技術(shù)的電力安監(jiān)仿真培訓(xùn)系統(tǒng)(Simulation training system for supervision of power work safety based on virtual reality)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用(Computer System & Applications),2010,19(11):162-165,147.
[6] 檀英杰 (Tan Yingjie).OpenGL在變電站仿真系統(tǒng)中的應(yīng)用 (Application of OpenGL in Substation Simulation System)[D].天津:天津大學(xué)電氣與自動化工程學(xué)院(Tianjin:School of Electrical Engineering and Automation of Tianjin University),2008.