1. 引 言
從20世紀80年代初開始國內就有研究人員從事圖形圖像處理和可視化方面的研究工作,并取得了一批虛擬現實研究和分布式仿真成果[1,2]。進入90年代美國國防建模與仿真辦公室(DMSO)先后制定并頒布分布交互仿真(DIS)、高層體系結構(HLA)[11,12]等一系列規范和標準,掀起了分布式仿真系統研究和開發的熱潮。但是這些研究大都是針對分布在廣域空間中復雜軍事對抗系統的仿真,所制定的規范和標準對于非軍事領域的仿真實現顯得過于復雜,難以適用。而在復雜過程系統仿真方面,如船舶運動控制系統仿真,對設計和構造分布式結構的仿真支撐環境的研究還很少,成熟的商用產品還沒有出現,因此在這方面尚有許多理論和技術問題需要研究和探討。本文以大型船舶海上遠程遙控操縱駕駛為背景開展研究,按實船遙控要求完成了船舶航向與主機控制參數監控系統的設計,模擬實船駕控臺設計研制生成了駕控臺硬件系統,并在此基礎上設計編制出駕控臺上位機軟件。為使岸站以及指揮船能實時觀測遙控船運動情況,設計了遠程視頻監控系統,可實現船舶運動與主動力裝置主要參數的遠程觀測,還可以通過遠程視頻圖像觀察機艙以及駕駛室的實際情況。論文設計并實現了船舶遙控駕駛操縱仿真系統,對系統結構和所采用的關鍵技術作了分析與介紹,對各子系統的功能作了相應的說明,可以基于該平臺進行對船舶遙控系統方面的研究,如船舶避碰操縱,船舶航跡控制等。
2. 仿真系統原理及總體結構
本文設計的船舶仿真系統設有不同的工作模式,由于受到技術的局限性,船舶的自動航行在狹水道以及船舶密集區還存在一些困難,所以這部分需要人工操縱;當船舶航行至大洋時,進行遠程遙控,所以需要在原有系統上增加遠程遙控功能。本系統在車鐘部分加上步進電機驅動系統以控制車鐘的位置,從而控制船舶的航速;在舵機部分加上自動舵控制系統來控制船舶航向。同時還可以通過視頻監控系統將船上重要部位如機艙以及駕駛室等重要部位發生的情況,實時地發送給遠程指揮控制中心。
本仿真系統如圖1所示,主要由遠程指揮控制仿真系統,船舶航向與主機主要控制參數監控系統,駕駛室視頻監控系統,船舶運動虛擬現實仿真場景,操舵儀(自動舵)系統,船舶柴油主機三維運動模型,集控室主機遙控系統及駕控臺主機遙控單元,及系統調度服務器七臺主機構成,其功能結構如圖2所示。
圖1 船舶遙控駕駛操縱仿真系統
除駕駛室視頻監控系統外,其他分布在各臺主機上的仿真對象采用基于DCOM的群組通信模型,通過網絡來進行信息交換,每個仿真對象通過獲取其他對象的信息來計算對本對象的影響,并將本對象的狀態通過網絡發送給相關的對象,各個仿真對象通過相互通信實現仿真數據和視景的協調。駕駛室視頻監控系統與遠程指揮控制仿真系統之間采用IP組播技術進行視頻數據傳輸。
圖2 構圖
3. 仿真系統采用的關鍵技術
3.1 分布式仿真
本仿真系統含有船舶運動和主機兩個被控對象,有駕控臺上的操舵儀,車鐘以及虛擬操舵儀,虛擬車鐘,同時還有遠程遙控單元等幾個控制部分。本仿真系統規模較大,由于資源的限制,在一臺計算機進行仿真是難以實現的。另外,由于在實船上這些系統是分布在多個設備上的,若采用單機集中仿真也與實船系統不相符合。分布式仿真通過計算機網絡將不同主機上運行的模型和資源綜合集成到一個共用的仿真環境中,實現對系統的仿真研究。采用分布式仿真的系統結構,能夠更好地與所研究系統的結構相對應,增強了仿真的可信度。每一個方塊代表仿真系統中的一臺仿真主機。分布在各臺主機上的仿真對象采用統一的仿真協議,通過網絡通信來進行信息交換,每個仿真對象通過獲取其他對象的信息來計算對本對象的影響,并將本對象的狀態通過網絡發送給相關的對象,各個仿真對象通過相互通信實現仿真視圖的一致。
在分布式仿真系統中,由于受網絡延遲和處理器計算延遲的影響,事件到達各仿真主機的次序是無法保證的,因此存在事件以不正確的因果次序達到各仿真主機的可能;即使同一個仿真系統運行兩次,事件的次序也可能不相同。為此,需要對分布式仿真系統進行合理的調度,確保事件能以正確的因果次序到達每個仿真主機,保證同一個仿真程序多次執行能產生相同的結果,從而保證整個仿真系統功能的完整性、真實性和實時性。
3.2 基于DCOM的群組通信
DCOM本質上建立了一個應用程序與組件之間通信的規范[3],根據DCOM規范建立的組件,不管運行在與應用程序相同的機器或遠程機器,都可以實現與應用程序間的通信,而不需考慮底層的通信細節,因而將DCOM的通信機制直接應用于網絡通信,將是非常有益的嘗試。同時DCOM提供了對象遠程過程調用(ORPC)的通信機制,可以建立客戶與服務器間的位置透明通信服務[4-5]。根據DCOM的可連接點機制,一個客戶對服務器的通信內容可以轉發給與服務器連接的其他客戶,從而實現多點通信。
本仿真系統在分析DCOM相關技術的基礎上,采用一種基于DCOM的群組通信模型,并對此通信模型中調度器的設計和負載平衡問題進行研究,給出通信模型的主要DCOM對象與接口描述,并分析其客戶、服務器、調度器的協作過程。
3.3 系統調度服務器
負責對每一臺仿真主機的協調調度。主要協調整個仿真系統的同步運行,實現仿真主機加入,仿真啟動,仿真運行、仿真結束等控制。當主機和船舶航向控制處離線模式時,系統不進行調度。由于網絡的不確定性,系統調度服務器必須能夠通過時間管理對各類消息的發送和接收進行管理,通過各仿真主機間相互交換信息來實現節點仿真時間的推進并獲得分布仿真時間的一致性,保證分布結點間特定消息的接收和處理次序[9,10],從而保證分布仿真的邏輯正確性。
3.4 基于IP組播技術的視頻通訊
單個數據流可以發送到多個客戶端的組播能力已成為大多數多媒體應用的傳輸手段[6-7]。組播技術利用一個IP地址使IP數據報文發送到用戶組。IP組播采用了特殊定義的目的IP地址和目的MAC地址[8]。IGMP(Internet組管理協議)為客戶端提供加入和離開組播組的方式。CGMP(Cisco組管理協議)使路由器為交換機配置組播轉發表,并告訴交換機當前的組播成員。指派路由器根據對網絡中組播成員的分布和使用的不同采用密集模式DM或稀疏模式SM組播路由協議來構造組播的分布樹,而這個分布樹將在源子網和組播組之間確定一條唯一路徑以提高數據傳輸效率。
4. 仿真子系統
4.1 船舶航向與主機控制參數監控系統
實現對駕控臺車鐘車令、舵角等參數實時地讀取,并且可以通過電機對車鐘進行控制。對船舶運動與主動力裝置主要參數進行實時地顯示,以及對船舶運動控制模式進行設定。船舶航向與主機控制參數監控系統主界面如圖3所示。采用四個線程分別用于駕控臺數據采集和數據輸出,網絡數據的接受和發送,船舶運動與主動力裝置主要參數進行實時地顯示,以及當采用軟盤臺控制模式或遠程控制模式時對電機進行實時地控制。
圖3 船舶航向與主機控制參數監控系統主界面
根據船舶運動與主機模型計算出的參數對駕駛臺上各個儀表進行設定,并且將各個參數實時地顯示出來。實時地讀取車鐘車令遺跡舵角,在采用駕駛臺硬件控制時,將這些數據作為船舶運動與主機控制指令發送給調度服務器??梢詫Υ斑\動控制模式進行設定。當選用控制臺操縱時,將控制臺車鐘信號,舵角信號作為主機車令以及船舶運動舵角對船舶進行控制;當選用軟盤臺控制時,將虛擬操舵儀的舵角,以及虛擬車鐘的車令作為控制信號對船舶運動進行控制;當選用遠程控制時,將遠程設定的航向和車令作為控制參數,對船舶進行遠程控制。
圖4 遠程指揮控制中心視頻監控主界面
4.2 遠程指揮控制仿真系統
仿真系統如圖4所示,可實現對船舶機艙以及駕駛室進行遠程視頻監視,同時可對船舶運動與主動力裝置主要參數進行監視。而且在目標船要求進行遠程遙控駕駛時,可以對移動目標船運動參數進行遠程設定。
利用雙線程技術,后臺進行網絡數據的接受和發送,前臺用于視頻信息地顯示,船舶運動與主動力裝置主要參數地顯示,以及船舶遙控駕駛參數地設定。在對船舶機艙以及駕駛室進行遠程視頻監視時,可以對駕駛室以及機艙視頻進行錄像,對于重要畫面可以抓圖進行分析,而且還可以與駕駛室監控中心發送信息。
4.3 船舶運動虛擬現實仿真場景
可實現船舶運動虛擬現實仿真場景及各種虛擬儀表的顯示。采用虛擬現實軟件平臺WTK開發生成的6萬噸級油船在海洋中航行。船舶運動虛擬現實視景,如圖5所示。利用雙線程技術,前臺顯示,后臺進行網絡數據的接受和發送。
圖5 船舶運動控制場景
圖6 虛擬操舵儀
4.4 虛擬自動操舵儀
實現操舵控制功能及船舶運動數學模型的仿真計算。包括操舵儀上的轉舵輪控制界面和離線仿真時船舶航向、舵角變化的曲線示意圖界面,及其仿真模式、操縱方式、算法選擇、參數設置等功能菜單。虛擬操舵儀如圖6所示。
本軟件采用三個線程分別用于用戶界面顯示、仿真計算及網絡數據的接受和發送。系統提供在線、離線兩種仿真模式。在線仿真時把船舶運動數學模型仿真計算得到的船舶航行位置和舵角等參數通過局域網傳輸給船舶運動虛擬現實仿真場景仿真主機和集控室主機遙控系統及駕控臺主機遙控單元仿真主機。離線仿真時顯示船舶航向、舵角變化的曲線示意圖。
參照船舶的實際運行,操縱方式包括自動、隨動兩種狀態。在自動運行狀態下,用戶可通過菜單設定期望航向,選擇相應的控制算法,船舶根據期望航向自動航行,此時對操舵儀的操作不會影響到船舶的航向。在隨動運行狀態下,用戶可以通過轉動虛擬操舵儀上的轉舵輪控制船舶航向。
4.5 船舶柴油主機三維運動模型
實現船舶大型低速柴油主機三維運動模型及各種虛擬儀表的顯示,如圖7所示。利用雙線程技術,前臺顯示,后臺進行網絡數據的接受和發送。
圖7 船舶柴油主機三維運動模型仿真場景
圖8 虛擬集控室主機遙控界面
4.6 虛擬集控室主機遙控系統
該子系統實現集控室主機遙控系統和船舶主機數學模型的仿真計算。包括集控室主機遙控系統界面和離線仿真時船舶主機轉速、船舶航速變化的曲線示意圖界面,及其各項功能菜單。
采用三個線程分別用于用戶界面顯示、仿真計算及網絡數據的接受和發送。系統提供在線、離線兩種仿真模式。在線仿真時把主機數學模型仿真計算得到的主機轉速和船速等參數通過局域網傳輸給船舶柴油主機三維運動模型仿真主機和自動舵系統仿真主機。離線仿真時顯示船舶主機轉速、船舶航速變化的曲線示意圖。
如果用戶選擇在線方式,則可以通過圖8右下角按鈕選擇控制位置是在集控臺還是駕控臺。圖8是機艙集控臺車鐘和油門控制桿的可視化界面,在這個界面中,操縱人員可以根據車鐘的不同車令來改變油門的大小,從而控制圖中主機的轉速,用戶可以清楚地從三維可控主機場景中察覺出主機轉速的變化,而且在場景的右上角和左上角分別設置了船舶航速和主機轉速顯示儀表,并配有船舶機艙設備實時運行的音響效果,使用戶產生身臨其境的現場感。其中,車鐘的初始位置(STOP位置),向上(綠色)是前進(正車),向下(紅色)是倒車。
5. 結論
本文主要對船舶遠程駕駛操縱仿真系統的結構及其所采用的關鍵技術進行了介紹與分析,然后對系統的各子系統的功能及相關原理做了相應的介紹。按實船遙控要求完成了船舶航向與主機主要控制參數監控系統的設計,模擬實船駕控臺設計研制生成了駕控臺硬件系統,并在此基礎上設計編制出駕控臺上位機軟件。為使岸站以及指揮船能實時觀測遙控船運動情況,設計了遠程視頻監控系統,可實現船舶運動與主動力裝置主要參數的遠程觀測,還可以通過遠程視頻圖像觀察機艙以及駕駛室的實際情況,該平臺可應用于船舶避碰操縱,船舶航跡控制等方面的研究。
參考文獻
[1] 趙沁平著.DVENET分布式虛擬環境.科學出版社.2002, 20~23
[2] 惠天舒等. 分布式交互仿真技術綜述.系統仿真學報, 1998,Vol.10,No.l, 1-7
[3] 林勇,劉奔常.基于DCOM的點對點數據遠程傳輸,計算機應用研究,2003,20(9):139-142
[4] 申應海,張鵬. COM/DCOM在仿真軟件開發中的應用,計算機仿真,2002, 19(5),114-116
[5] 曹曉陽,劉錦德 COM及其應用-面向對象的組件集成技術 計算機應用.1999,19(1),1-4
[6] 鄭力明,張會汀,劉偉平等.基于IP組播技術的分布式視頻會議系統的設計與實現.計算機工程與應用,2003,39(2),153-155.
[7] 周俊.組播技術在遠程教學系統中的應用及其優化:(碩士論文).武漢:華中科技大學,2005.
[8] 豐洪才,盧正鼎.IP組播技術及其在遠程監控中的應用.測控技術,2004,23(4),71-73.
[9] 陳華平, 安虹,黃劉生,陳國良. 分布式任務調度算法的仿真環境研究. 中國科學技術大學學報. 2002, 29(4), 421~426
[10] 許建峰,朱暗波,胡寧,謝立. 分布式實時系統中的預測調度算法. 軟件學報. 2000, 11(1),95~103.
[11] IEEE Draft Standards P1516(HLA Rules),P1516.1(Interface Specification ) and P1516.2(OMT). http://standards.ieee.org . 1999
[12] U.S DoD, The High Level ARChitecture HomePage[EB/OL]. http://hal.dmso.mil/,1998