邱紹楊 代廣樹 任鴻翔 蔣效彬



摘要:為提高學員的培訓效率,節約費用,滿足多人協同訓練需要,搭建船舶駕駛綜合訓練平臺,提出一種網絡同步方案,以保證網絡的安全性、穩定性和場景的一致性。應用基于角色的訪問控制(role-based access control, RBAC)模型對系統的角色和訪問權限進行有效管理;提出基于交互混合圖的串并行交互管理方法, 解決交互中的串并行控制問題;對系統的異常情況進行分析,并給出解決方案。研發的船舶駕駛綜合訓練平臺運行穩定,能滿足船舶駕駛的多人協同訓練。
關鍵詞:船舶駕駛; 協同訓練; 角色管理; 交互管理; 協同機制
中圖分類號:U675.79; U676.2
文獻標志碼:A
收稿日期:2018-06-04
修回日期:2018-07-28
基金項目:國家高技術研究發展計劃(“八六三”計劃) (2015AA010504);交通運輸部應用基礎研究資助項目(2015329225204);遼寧省自然科學基金(20170540092)
作者簡介:
邱紹楊(1992—),男,遼寧沈陽人,博士研究生,研究方向為交通信息工程及控制,(E-mail)799509823@qq.com;
代廣樹(1978—),男,天津人,碩士研究生,研究方向為虛擬仿真、航海技術,(E-mail)862874922@qq.com;
任鴻翔(1974—),男,黑龍江肇東人,教授,博導,研究方向為虛擬現實和視景仿真,(E-mail)dmu_rhx@163.com
Abstract:In order to improve the training efficiency, save the cost and meet the requirement of multi-person collaborative training, a comprehensive training platform is constructed for ship navigation. A network synchronization scheme is proposed to guarantee the security and stability of the network and scene consistency. The role-based access control (RBAC) model is used to manage the roles and access rights of the system effectively. A method of serial and parallel interactive management based on interactive mixed graphs is proposed to solve the serial and parallel control problem in interaction. The abnormal situations of the system are analyzed and the solutions are given. The ship navigation comprehensive training platform developed is stable and meets the requirement of multi-person collaborative training of ship navigation.
Key words:ship navigation; collaborative training; role management; interactive management; collaborative mechanism
0 引 言
隨著航運業的發展和科學技術的進步,船舶不斷朝著大型化、高速化的方向發展,這對船舶駕駛員的綜合素質提出了更高的要求。IMO制定并通過的《海員培訓、發證和值班標準國際公約》(STCW 1978/1995公約)及我國政府根據IMO公約內容制定的《中華人民共和國海員專業訓練發證辦法》都明確規定,海員必須經過嚴格的專業培訓并取得相應證書,方能勝任海船工作。
早期的培訓評估主要基于真實設備,培訓評估具有較大的局限性,如受經費、場地、不安全因素等的影響, 培訓效果并不理想。為解決上述問題,一些航海模擬器被開發出來[1-3]。隨著計算機技術和虛擬現實(virtual reality,VR)技術的不斷提高,模擬器在場景、訓練方式和功能上也不斷地升級和發展[4-6]。然而,現有航海模擬器的功能相對單一、相互獨立,影響學員的訓練效率。為提升學員培訓效果,節約費用,滿足實際操作要求以及讓船舶駕駛員在訓練中更好地理解個人角色、團隊角色、職責等,本文搭建了一個船舶駕駛綜合訓練平臺,設計能夠滿足團隊協作訓練的協同方案。
多人協同訓練方式已在各個領域都有應用,陳學文等[7]針對多名航天員在太空完成協同操作的實際需求,提出并實現了航天員太空協同操作訓練仿真系統,實現了各參訓航天員在計算機虛擬場景中的實時一致,能處理訪問沖突問題,但航天員協同訓練人數較少,所操作的設備較少,交互的頻率也較低。李燕彪等[8]在輪機模擬器中建立多人協同訓練模型,主要解決角色權限管理和人物晉級的問題,沒有對同步機制進行分析。許愛軍[9]在教育培訓領域內提出協同訓練方案,采用了定時采集和發送數據的方法,該方法在場景簡單、交互量較少的系統中較為適用,在復雜場景中操作延遲較為明顯。李世其等[10]
建立了拆卸復雜設備的多人協同訓練平臺體系架構,建立了
協同拆卸過程模型并提出了管理辦法,此方法可應用在具有復雜操作流程的協同訓練上。邱紹楊等[6]建立了船舶救生艇協同訓練系統,提出了一種多角色協同訓練方案和兩種協同工作方式,但該系統的網絡連接機制并不完善。
本文通過對以上系統中協同訓練關鍵技術的分析,搭建船舶駕駛綜合訓練平臺,使訓練人員能夠在廣域網或局域網內完成協同訓練。本文重點研究網絡同步機制、基于角色的訪問控制(role-based access control, RBAC)模型、設備交互管理模型并對系統中可能出現的異常情況進行分析,給出解決方案。
1 船舶駕駛綜合訓練平臺結構
整個系統由1個指揮決策中心和若干訓練單元組成,見圖1。指揮決策中心的功能包括訓練數據管理、訓練任務初始化、訓練過程監管和訓練結果評估。訓練任務初始化主要包括設定訓練場景、設置訓練科目和分配訓練角色及任務。每個訓練單元的硬件設備包括處理器、鍵鼠設備、視頻音頻設備和VR設備;訓練軟件為三維訓練仿真軟件,用它能逼真地模擬整船和海上各種氣象環境以及實船狀態下船舶主要設備的VR交互。軟件采用模塊化程序設計思想,分為不同模塊開發,其主要組成模塊見圖2,各個訓練模塊可以單獨訓練,也可以聯合訓練。
按照實際操作需要,一些訓練科目(如救生、消防、靠離泊等)需要訓練人數達到一定的數量才能進行,因此本系統設置若干個訓練單元,其數量由訓練人數決定,訓練單元之間、訓練單元與指揮決策中心之間通過局域網或互聯網相互連接。訓練人員能通過觀察代替訓練人員的虛擬化身行為
感知互相間的存在、行為及工作狀態[11],并且訓練人員之間能夠通過語音或文字信息進行溝通,最終完成協同訓練。
2 關鍵技術
2.1 網絡同步機制
常見的網絡模式包括P2P模式和Client-Server模式。P2P模式下所有客戶端(C)之間都需要保持一個網絡連接,見圖3a。該模式下所有數據的同步、演算都在客戶端進行,因此在客戶端容易發生作弊行為。除此之外,隨著客戶端數量的增多,需要的網絡連接也會大量增多。Client-Server模式由客戶端和服務端(Server)兩部分組成,見圖3b。該模式通過服務端處理來自客戶端的數據,可防止大部分的作弊行為,但這種模式嚴重依賴服務端的穩定性以及網絡質量,一旦服務端出現問題,整個網絡將崩潰。
通過權衡以上兩種網絡模式的優缺點,本系統給出一個折中方案:由一個訓練單元(客戶端)創建房間,創建房間的訓練單元作為服務器,所有其他的訓練單元都與服務器相連。如果服務器出現問題或退出網絡,則按照“次序優先”的原則重新分配服務器權限。為提高服務器的網絡速度,作為服務器的主機僅執行數據同步、演算和傳遞等功能,而不對三維虛擬場景進行渲染,不接受硬件設備的輸入。
為保證每個訓練單元場景一致,系統選擇狀態同步作為數據同步的方案。狀態同步指在客戶端操作設備后,將數據信息發送給服務器,服務器負責將所有的數據進行處理和演算,最后將數據處理的結果發送給所有相關的客戶端。此方案的好處是所有的控制權在服務器,服務器具有決策權,從而可以防止大部分的作弊行為。用戶可以隨時從客戶端登陸或退出,而不影響整個網絡和其他客戶端。系統工作原理見圖4。
2.2 RBAC模型
在進行訓練時,系統中有多個用戶和角色[12],用戶登錄后選擇角色,完成對應的操作,每個角色對應一組操作權限[13-14],不同角色對應的操作權限有
所不同。系統的角色分為3種,職業角色(船長、
PSCO(港口國檢察官)、大副、二副、三副、水手長、水手、實習生、旁觀者等),用戶類型角色(干部船員、普通船員),訓練執行角色(救生艇艇長、救生艇艇員、消防組長、消防組員等)。在訓練時,每個用戶至少擁有一個角色,一個角色可以擁有多個用戶, 這與現實是一致的。
系統對用戶、角色、操作權限的管理采用RBAC模型[15]。模型的基本思想是將訪問權限與角色相聯系,為用戶分配合適的角色,使用戶獲得訪問權限,從而簡化權限管理,減少管理訪問控制策略的開銷。圖5為RBAC0模型(RBAC系列模型中的基礎模型),它定義了5個基本元素集:用戶
U(ui∈U)、角色R(ri∈R)、對象、操作和權限P(pi∈P)。其基本要素是用戶、角色、權限和會話(si∈S)。用戶角色指派關系集合UAU×R,角色權限指派關系集合PAP×R。用戶只要進入系統,就會建立一個會話,這個會話可以激活該用戶全部角色的一個子集,用戶獲得的是被激活角色的所有權限。會話的活躍角色集:S→2R,表示會話si到角色子集role(si)的用戶與角色的會話關系矩陣為Msa=(saij)(a=1,2,3),角色與權限的關系矩陣為Mta=(taij)(a=1,2,3)。可得出用戶與操作權限的矩陣Mst,用整型0、1、2分別表示“不可訪問”“只讀”“可操作”三種權限。此外,在角色之間存在某些約束條件[15]。
2.3 設備交互管理模型
在多人協同操作過程中, 若各訓練人員操作的設備之間沒有約束關系, 則可同時進行操作(這種情況稱為并行交互), 否則只能等待被約束設備無約束后才能操作該設備(這種情況稱為串行交互)。本文提出基于交互混合圖的串、并行交互管理方法, 解決交互中的串、并行控制問題。
交互混合圖見圖6,用二元組(V,E)形式表示,其中:V為非空的節點集合,即設備集合;E為邊集合,每條邊總是與2個節點關聯,表示2個設備之間的關系。若邊ei與節點無序偶(vi,vj)相關聯,則稱該邊為無向邊,僅表示連接關系;若邊ei與節點有序偶(vi,vj)相關聯,則該邊為有向邊,表示操作優先關系,vi、vj分別稱為邊ei的起始和終止節點, 并稱設備vi為設備vj的優先交互設備。
圖6中:節點8與9的連接邊屬于無向邊,設備8與9為連接關系;節點7與8的連接邊屬于有向邊,設備7與8之間具有交互優先關系(設備7為設備8的優先交互設備)。
在協同訓練過程中,若將設備6的操作任務分配給2位訓練人員,則總的操作流程為1→2→4→5→3→6[16-17],可分配給2位訓練人員的操作任務分別為1→2→6和4→5→3,設備1與設備4并行交互,設備3與6為串行交互。
2.4 異常處理
為使訓練人員通過觀察代替訓練人員的虛擬化身行為感知相互間的存在、行為及工作狀態,系統中包括大量的操作設備以及虛擬化身,當多人同時操作不同的設備或同一個設備時,系統要對這些設備以及用戶的虛擬化身進行區分,并且準確地給出設備以及虛擬化身的行為響應。若訓練時某個客戶端掉線后重連,則要保證其場景與其他訓練人員的場景一致。為應對以上可能出現的異常情況,定義:設備集合V={vij},i為設備類型,j為設備編號;虛擬化身行為集合A={aij},aij為操作設備vij的虛擬化身的行為;正在訓練的虛擬化身集合H={hm},其中m為虛擬化身的數量。當訓練人員操作設備時,系統通過設備、行為及虛擬化身的索引即可準確地作出響應。當多人同時操作一個設備時,按照優先搶占或者角色級別的原則,賦予其操作權限,其余訓練人員操作無響應。當用戶掉線后重連時,為保證場景的一致性,依據狀態同步機制,服務端強制每個客戶端上傳數據,對數據進行處理后,將數據迅速發給該客戶端,使其場景數據與其他客戶端一致。
3 船舶駕駛綜合訓練平臺的實現
本系統以巴拿馬型散貨船“長山海”號為母型船,利用三維建模技術建立船體、救生設備、消防設備、甲板設備等模型。將模型導入Unity 3D中,構建虛擬海上場景,實現三維虛擬交互,具體實現流程見圖7。模型中除包括第2節的算法外,還有粒子系統、反向動力學、自動尋路等算法。為使功能完善,方便用戶操作,對用戶界面進行設計,其功能包括角色選擇、網絡連接、全船導航等,見圖8。圖9~11分別為船舶駕駛綜合訓練平臺中救生、駕駛臺、靠離泊協同訓練的部分效果圖。
4 系統測試結果分析
對系統進行多次、多人協同訓練的測試,測試內容及結果見表1。測試內容分為正常訓練和斷網重連測試,訓練人數分別為10、20和30人。正常訓練時,隨著訓練人數的增多,系統的幀率降低,當訓練人數為30人時,幀率為35幀/s,訓練的人數和幀率都能夠滿足船舶駕駛協同訓練的要求。斷網重連測試指一定數量的客戶端掉網后同時進行重連操作:在重連的瞬間,在線的客戶端與服務端之間進行大量的數據傳輸和計算,因此系統的幀率較低,但也能夠保證在25幀/s以上;當系統穩定后,系統的幀率會提升至正常訓練狀態下的幀率。在操作訓練過程中,系統網絡連接穩定,系統對設備交互和角色管理具有較好的控制,不會出現邏輯混亂的現象。
5 總結與展望
本文搭建了船舶駕駛綜合訓練平臺,實現了船舶駕駛多人協同訓練。在搭建綜合訓練平臺過程中,建立了多人協同機制,實現多人聯網訓練的功能,保證了網絡的安全性、穩定性和場景的一致性;應用基于角色的訪問控制(RBAC)模型對系統的角色和訪問權限進行有效管理;提出基于交互混合圖的串、并行交互管理方法, 解決交互中的串、并行控制問題;對系統的異常情況進行分析,并給出解決方案。經測試,系統的實時性、沉浸感較好,協同訓練效果較為理想。今后的研究將進一步完善多人協同訓練的智能評估算法。
參考文獻:
[1]金一丞, 尹勇. STCW公約馬尼拉修正案下的航海模擬器發展戰略[J]. 中國航海, 2012, 35(3):5-10.
[2]尹勇, 金一丞, 任鴻翔, 等. 全任務航海仿真系統的評價方法及關鍵技術研究[J]. 系統仿真學報, 2009, 21(21):6910-6914. DOI:10.16182/j.cnki.joss.2009.21.035.
[3]任鴻翔. 航海模擬器中基于GPU的海洋場景真實感繪制[D]. 大連:大連海事大學, 2009.
[4]劉晶晶, 任鴻翔, 尹金崗, 等. 多平臺的船用陀螺羅經交互仿真系統[J]. 大連海事大學學報, 2016, 42(1):17-20. DOI:10.16411 /j.cnki.issn1006-7736.2016.01.004.
[5]楊曉, 金一丞, 任鴻翔, 等. 航海儀器操作智能評估系統的設計與實現[J]. 中國航海, 2013, 36(4):28-33.
[6]邱紹楊, 任鴻翔, 尹金崗. 基于虛擬現實技術的自由降落式救生艇培訓系統[J]. 大連海事大學學報, 2017, 43(3):14-18. DOI:10.16411/j.cnki.issn1006-7736.2017.03.003.
[7]陳學文, 劉玉慶, 朱秀慶, 等. 航天員太空協同操作虛擬訓練仿真系統研究[J]. 系統仿真學報, 2013, 25(10):2348-2354. DOI:10.16182/j.cnki.joss.2013.10.007.
[8]李燕彪, 張均東, 曹輝, 等. 輪機協同訓練平臺中的角色問題及協同策略[J]. 大連海事大學學報, 2016, 42(2):63-67, 82. DOI:10.16411/j.cnki.issn1006-7736.2016.02.011.
[9]許愛軍. 多用戶協同虛擬現實的技能訓練系統[J]. 計算機系統應用, 2016, 25(2):65-70.
[10]李世其, 馮雅清, 王峻峰, 等. 網絡環境下協同虛擬拆卸訓練平臺[J]. 計算機輔助工程, 2013, 22(4):82-86.
[11]陳家新, 米曉紅. 協同環境中3D替身交互行為動態控制的實現[J]. 工程圖學學報, 2005(2):50-54.
[12]汪厚祥, 李卉. 基于角色的訪問控制研究[J]. 計算機應用研究, 2005, 22(4):125-127.
[13]SCHEFER S, STREMBECK M. Modeling support for delegating roles, tasks, and duties in a process-related RBAC context[J]. Lecture Notes in Business Information Processing, 2011, 83:660-667.
[14]MA Li, ZHOU Yanjie, DUAN Wei. Extended RBAC model with task-constraint rules[J]. Lecture Notes in Electrical Engineering, 2014, 276:245-250. DOI:10.1007/978-3-642-40861-8_37.
[15]熊厚仁, 陳性元, 杜學繪, 等. 基于角色的訪問控制模型安全性分析研究綜述[J]. 計算機應用研究, 2015, 32(11):3201-3208. DOI:10.3969 /j.issn.1001-3695.2015.11.001.
[16]于萬鈞, 劉大有, 劉全,等. 基于角色的工作流授權約束規格說明[J]. 計算機集成制造系統, 2005, 11(9):1312-1318. DOI:10.13196/j.cims.2005.09.114.yuwj.021.
[17]章小紅, 李世其, 王峻峰, 等. 基于蟻群算法的單目標選擇性拆卸序列規劃研究[J]. 計算機集成制造系統, 2007, 13(6):1109-1114. DOI:10.13196/j.cims.2007.06.71.zhangxh.012.
(編輯 趙勉)