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