張德剛,王達達,李澤河,黃繼杰
(1.云南電網有限責任公司教育培訓評價中心,云南 昆明 510650;2.北京科東電力控制系統(tǒng)有限責任公司,北京 100192)
基于HLA/RTI的分布交互仿真技術在聯(lián)合訓練中得到了廣泛應用,并且正在朝智能化[1]、服務化[2]和虛擬現(xiàn)實化[3]方向發(fā)展。在虛擬現(xiàn)實化方面,追求聯(lián)合訓練場景的逼真度和學員的沉浸體驗度是當前的研究熱點。以往針對分布交互仿真對象的運動所采用的插值技術難以滿足這種逼真度的要求,需要實時地獲得分布交互仿真對象的運動和位置數據,這就需要開發(fā)實時的RTI。
實時RTI的開發(fā)技術在高性能仿真領域作了許多研究,文獻[4-5]通過共享內存技術來提高RTI的實時通信性能,在多核服務器上取得了很好的效果。文獻[6-7]通過在服務器間構建Infiniband網絡,并采用直接內存訪問(remote direct memory access,RDMA)通信機制對RTI進行優(yōu)化,在Infiniband網絡環(huán)境下取得了很好的實時性,并且針對大數據包傳輸的實時性更顯突出。這些研究都將RTI的底層通信代碼進行了替換,將基于TCP/IP的網絡通信換成了共享內存或內存映射等,但聯(lián)合訓練仿真多在基于TCP/IP的局域網環(huán)境下進行,這就需要擴展RTI的底層通信代碼,而不是替換了。
以基于虛擬現(xiàn)實技術的變電設備運維多人協(xié)同培訓[8]為應用背景,結合應用中所用的高速局域網環(huán)境,探討計算機支持的協(xié)同工作技術(computer supported cooperative work,CSCW)及其所采用的終端組播技術的實時性,并研究將CSCW和HLA/RTI這兩種技術進行融合,以提高三維虛擬場景下多人協(xié)同培訓仿真的逼真度。
基于虛擬現(xiàn)實的變電設備運維仿真培訓系統(tǒng)應用架構如圖1所示,包括N臺變電設備、M個虛擬現(xiàn)實(VR)頭盔和電網計算服務器。每個變電站設備和電網計算程序各自構成HLA的聯(lián)邦成員[9],同時每個帶VR頭盔的培訓人員和教師各自構成聯(lián)邦成員。變電站中電氣設備的可視化模型組件數目很多,且要達到虛擬現(xiàn)實的沉浸式實時渲染,至少要保證圖形的刷新頻率不低于60幀/秒,故為了達到三維場景的實時顯示效果需要采用實時通訊技術。

圖1 基于VR的變電設備運維培訓架構
當前高速以太網可達1GbE甚至10GbE,需要從減少延遲的指標來選擇,和延遲有關的兩個問題是傳輸和序列化,但在延遲時間中序列化時間只占很小的一部分。連接層的巨大延遲主要是由連接的每一端的接口和系統(tǒng)引入的。對于一個特定的包來說,它通過一個1GbE的連接的往返時間是135 μs,而通過一個10GbE的連接的往返時間只能下降到75 μs,大多數其他的開銷都是來自于設備的兩端,而不是來自于連接本身。
由此,在基于增強現(xiàn)實技術的變電設備運維多人協(xié)同培訓中采用了1GbE的網卡和網線來構建高速以太網,其兩個節(jié)點間單向傳輸512字節(jié)包速度是75 μs,高于文獻[6]中所測得的各種用高速RTI來更新對象屬性的速度。故可采用CSCW組播技術來進行實時通信。
CSCW的三要素是合作、協(xié)調和通信。CSCW的合作模式從時間和空間上可分為同步模式、分布式同步模式、異步模式和分布式異步模式[10-11]。其中,同步模式系統(tǒng)用于本地組(局域網)之間面對面的實時協(xié)同工作系統(tǒng),這種模式的協(xié)同工作系統(tǒng)要達到“你見即我見”[12-13]。CSCW在協(xié)同操作過程中難免會碰到多個用戶對同一個對象進行操作,這樣就使得如何保證這些操作井然有序地執(zhí)行是必須的,目前國內外針對協(xié)同編輯、協(xié)同設計、網絡會議等協(xié)同工作系統(tǒng)上的并發(fā)控制進行了相關的研究。按照是否允許操作沖突的發(fā)生,共享對象的并發(fā)控制方法分為以下幾種典型[14-15]:令牌控制方法、加鎖方法、操作信息序列化、基于操作轉換的并發(fā)控制。
CSCW的通信方式多采用終端系統(tǒng)組播方式,終端系統(tǒng)組播是由美國卡內基梅隆大學(Carnegie Mellon University,CMU)研究開發(fā)的實用組播系統(tǒng),包括成員管理和數據包復制等。這種把由路由器支持的組播轉變到由終端系統(tǒng)支持的組播,能夠解決IP組播的大部分問題(傳輸的不可靠性)。組播樹是終端系統(tǒng)組播的核心結構,它的創(chuàng)建分為兩個步驟:首先初始化一個連通圖(Mesh),使得Mesh中的每個節(jié)點是連通的;然后在Mesh上創(chuàng)建生成樹,每個生成樹以在Mesh上對應的源節(jié)點為根節(jié)點。
HLA通過采用LBTS算法來實現(xiàn)聯(lián)邦成員的時空一致性,保證了仿真邏輯的正確性,但犧牲了仿真的實時性。因為在實現(xiàn)LBTS算法時,只能采用集中式的星型網絡拓撲結構,由服務端來管理各成員間仿真時間的傳輸及HLA其他服務的訂閱和發(fā)布處理,同時由各聯(lián)邦成員端的RTI庫組件來管理本地的時間推進以及對帶時戳事件的處理。顯然,這種RTI庫組件間彼此不通信的星型網絡拓撲結構增加了通信量,同時降低了成員間的信息交換速度。為此引入了CSCW的終端組播方式,而CSCW所面對的上述協(xié)調問題可由HLA的時間管理來解決,培訓仿真中所用的CSCW組播通信僅完成HLA的非受控受限的消息收發(fā),擴展的RTI的通信方式如圖2所示。
其中方框代表RTI的服務進程,圓圈代表被聯(lián)邦成員所調用的libRTI線程。圖中左側星型拓撲保留HLA/RTI所有六大類服務的功能,而右圖中新增的四個聯(lián)邦成員間的網狀通信拓撲(Mesh)實現(xiàn)了CSCW的終端組播功能,用于聯(lián)邦成員間交互彼此的三維繪圖信息,這些繪圖數據不影響仿真事件的時空一致性,只是達到協(xié)同仿真系統(tǒng)視覺上的“你見即我見”,用來提高虛擬現(xiàn)實環(huán)境下的沉浸式逼真度。

圖2 終端組播擴展RTI的通信架構
與文獻[3-4]一樣,對開源CERTI作修改,需要利用RTI所支持的HLA服務來擴展libRTI線程,使其增添CSCW的終端組播功能。在CERTI的libRTI庫中包含RTI成員大使和RTI回調大使兩類接口,應用程序主動調用RTI成員大使接口,同時在RTI回調大使接口中定義自己的函數功能。這些RTI回調大使接口或是通過應用程序主動調用RTI成員大使接口tick來查詢并執(zhí)行,或是通過響應libRTI線程發(fā)來的消息執(zhí)行。當然,在tick接口實現(xiàn)中包含了時間管理的實現(xiàn),即通過LBTS算法來獲取滿足時空一致性的回調事件并執(zhí)行相應的回調接口。對于文中關注的實時數據的傳輸,則通過響應libRTI線程發(fā)來的消息來執(zhí)行。
首先是建立動態(tài)的終端組播網,包括成員組播鏈路的建立和刪除,可通過RTI的聲明管理和對象管理的訂閱和發(fā)布功能來實現(xiàn)。當聯(lián)邦成員加入聯(lián)邦運行后,聲明訂閱和發(fā)布cosimNetCard對象類,它包含cardIP和cardPort兩個屬性,即在FOM中添加(Class cosimNetCard(Attribute cardIP reliable timestamp) (Attribute cardPort reliable timestamp))。之后每個聯(lián)邦成員調用registerObjectInstance接口,其參數除了cosimNetCard對象類句柄外,第二個對象名參數采用“FedName:cardIP:cardPort”這一字符串,串中的FedName是該成員名字,cardIP是該成員所在機器的網絡IP地址,cardPort是該成員libRTI線程監(jiān)測實時數據通信所用的網絡端口。
每個聯(lián)邦成員在RTI的發(fā)現(xiàn)對象回調接口中判斷該對象的對象類是否是cosimNetHandle,若是則解析回調參數中的“FedName:cardIP:cardPort”這一字符串,從而獲得某聯(lián)邦成員監(jiān)測實時數據通信所用的網絡地址和端口,并用此網絡地址和端口向該成員發(fā)起連接,在獲得linkID后將[FedName,cardIP,cardPort,linkID]四元組加入本地的隊列中(逐步形成Mesh連通圖),并以linkID作為關鍵字來查找對應的四元組,也可以用聯(lián)邦成員名來查找對應的linkID。當成員FedName調用DeleteObjectInstance時,其第一個參數采用上述的“FedName:cardIP:cardPort”字符串,各聯(lián)邦成員在回調接口中通過FedName可消除隊列中對應的四元組。
每個聯(lián)邦成員要發(fā)送實時數據時,先將數據打包后依次發(fā)給四元組隊列中的各linkID(也可根據應用需要來過濾出實際的接收者,形成一棵Mesh生成樹)。將libRTI線程的網絡監(jiān)聽進行擴展,除了監(jiān)聽來自RTI服務端的網絡事件和來自本地RTI聯(lián)邦大使端的接口調用事件外,還監(jiān)聽實時數據通信所用的網絡端口,如圖3所示。當監(jiān)聽到實時通信數據后,libRTI線程向顯示窗口發(fā)Windows消息,通知顯示窗口接收消息并更新顯示畫面。

圖3 終端組播擴展RTI組件的通信通道
聯(lián)邦成員間建立了網狀的通訊鏈路,但每個聯(lián)邦成員要發(fā)送實時數據時,會根據應用的要求來構建實時的終端組播隊列,將與滿足條件的成員的連接加入到自身實時的終端組播隊列中(Mesh生成樹),從而對發(fā)送數據過濾,減少了通訊量并提高了執(zhí)行效率。
基于虛擬現(xiàn)實技術的交互培訓包括立體投影、立體弧幕、圖像虛擬現(xiàn)實頭盔、動作捕捉器、仿真工作站和網絡交換機,采用虛擬現(xiàn)實頭盔和立體弧幕投影兩種沉浸式立體顯示技術,具體的硬件結構如圖4所示。
仿真工作站用來供教員進行虛擬操作,并將視頻信號傳送到融合機并通過6臺投影輸出到大型弧幕上。主工作站通過數據線連接動作捕捉器,實時獲取人體的動作捕捉數據并驅動虛擬人與虛擬場景的設備實現(xiàn)交互操作。學員工作站可以通過佩戴3D眼鏡的方式,沉浸式地體驗變電站一二次設備的正常、異常、事故狀態(tài)及其動作過程,進行變電站設備虛擬巡視、檢查、漫游、操作及事故案例處理過程。其中,動作捕捉器(Kinect)實時獲取用戶運動關鍵位置的空間坐標和運動姿態(tài)數據,并實時將數據傳送給網絡中的工作站,以更新虛擬人物角色相應的關節(jié)旋轉角度,從而實現(xiàn)虛擬人物的控制和場景交互操作;虛擬頭盔(VR)配套了位置跟蹤器,通過實時追蹤頭盔上的位置感應點,實時獲取頭盔的空間位置和方位并傳送給網絡中的工作站,來實時更新頭盔內顯示的三維影像和大型弧幕上的仿真場景。

圖4 實驗的硬件系統(tǒng)結構
該實驗支持多人分別以監(jiān)護員、操作員、負責人的角色交互,完全按照變電站實際運行的工作流程,協(xié)同完成一個任務。多個受訓人員可分別以不同角色登錄進入培訓場景,以團隊協(xié)作的方式共同完成一個多人參與的作業(yè)任務。在協(xié)同作業(yè)過程中,學員按照各自的角色、任務分工在仿真系統(tǒng)上進行仿真實操,用戶之間采用文字、語音等通信方式進行溝通交流。各學員都在四核CPU的工作站上培訓,以下三組學員在同時完成不同的任務,得到如圖5所示的多人協(xié)同仿真顯示效果。
在學員操作時,包括大電網仿真程序在內的所有聯(lián)邦成員依舊按固定的仿真步長協(xié)同推進,采用的推進策略是既受限又受控;同時學員聯(lián)邦成員和教員聯(lián)邦成員在時刻監(jiān)聽libRTI線程利用Windows消息機制發(fā)來的運動和操作消息,并負責在顯示線程中更新畫面的顯示。
在基于HLA/RTI的分布交互仿真應用中引入虛擬現(xiàn)實技術可增加仿真的可視化效果,但隨著用戶體驗的逼真度要求越來越高,對RTI網絡傳輸的實時性提出了更高要求。故須將傳輸數據分為支持虛擬場景

圖5 基于擴展RTI的變電設備運維仿真培訓
構建的場景交互數據和支持仿真時空一致性的數據,對于后者采用原有RTI的六大類服務來支撐;而交換場景數據的最佳方案是在聯(lián)邦成員間直接傳輸。文中通過在開源CERTI的聯(lián)邦成員組件libRTI中引入CSCW的終端組播機制,實現(xiàn)了變電站培訓員間運動和操作數據的直接傳輸,達到了場景數據交互的實時要求。從最近兩年針對大電網運行的仿真培訓應用來看,該技術使仿真培訓中的每個學員獲得了滿意的沉浸感。
參考文獻:
[1] 梁彥剛,高曉升,張 翼,等.基于HLA的分布式仿真框架自動生成技術[J].計算機工程與科學,2014,36(1):34-38.
[2] 張 濤,史璐莎,張 斌,等.一種快速擴展HLA/RTI Web服務的方法[J].計算機技術與發(fā)展,2016,26(12):49-52.
[3] 王傳魁,董云峰,鄧武東,等.衛(wèi)星編隊構型設計可視化系統(tǒng)[J].系統(tǒng)仿真學報,2012,24(7):1428-1433.
[4] 張智慧,李伯虎,柴旭東,等.一種面向共享內存環(huán)境的高性能HLA/RTI原型系統(tǒng)[J].系統(tǒng)仿真學報,2014,26(2):315-322.
[5] 朱衛(wèi)國,梁洪波,姚益平.面向裝備體系對抗仿真的RTI關鍵技術研究[J].計算機仿真,2014,31(2):18-21.
[6] 邢 馳,李伯虎.Infiniband網絡架構下RTI通信機制研究[J].電子學報,2016,44(2):327-333.
[7] 嚴 琳.基于HLA分布式實時仿真系統(tǒng)中軟總線設計[J].電子科技,2015,28(6):91-94.
[8] 李蔚清,吳慧中,林昌年.變電站仿真培訓系統(tǒng)虛擬環(huán)境的研究與實現(xiàn)[J].系統(tǒng)仿真學報,2006,18:123-126.
[9] 楊選懷,林昌年,王國平,等.基于高層體系結構的電力系統(tǒng)綜合仿真平臺[J].電網技術,2009,33(11):98-103.
[10] PENICHET V M R,MARIN I,GALLUD J A,et al.A classification method for CSCW systems[J].Electronic Notes in Theoretical Computer Science,2007,168:237-247.
[11] ZHAO Jianmin, LONG Xiaochun. A modified model for flexible workflow access control[C]//4th international symposium on computational intelligence and design.Hangzhou,China:IEEE,2011:279-281.
[12] ELMARZOUQI N,GARCIA E.ACCM:a new architecture model for CSCW[C]//Proceedings of the 2007 11th international conference on computer supported cooperative work in design.[s.l.]:[s.n.],2007:84-91.
[13] CONVERTINO G, BILLMAN D, PIROLLIP, et al.The CACHE study:group effects in computer-supported collaborative analysis[J].Computer Supported Cooperative Work,2008,17(4):353-393.
[14] 毛彩輝,于忠黨.CSCW系統(tǒng)中的并發(fā)控制策略研究[J].計算機系統(tǒng)應用,2007,16(3):122-125.
[15] KHAN S M,SULAIMAN M,TAHIR A M.Domain-based classification of CSCW systems[J].Research Journal of Applied Sciences,Engineering and Technology,2011,3(11):1315-1319.