2012-11-29 08:59:17
來源:
1 DIS系統介紹
分布式交互仿真(Distributed Interactive Simulation)起源于美國國防高級研究計劃局(DARPA,現更名為ARPA)和美國陸軍在1983年共同制定的SIMNET計劃。它是對具有時空一致性、互操作性、可伸縮性的綜合環境的表達。DIS采用一致的結構、標準和算法,通過網絡將分散在不同地理位置的不同類型的仿真應用和真實世界互聯、互操作,建立一種人可以參與、交互的綜合環境。
從體系結構上說,DIS的基礎結構和實現方式有如下幾個特點:
1.1 沒有控制整個仿真演練的中心計算機
一些仿真系統(如網絡MUD)使用一臺中心計算機維持整體的狀態,并計算每一實體動作對其他實體和環境的影響,這樣的系統必須根據其最大可能負載來確定資源配置,以便能夠處理極端情況下的運算負載。DIS采用分布式仿真的方法,把仿真實體狀態的任務留給通過網絡相連的相互獨立的仿真計算機。
1.2 使用一個標準協議傳輸底層真實數據
每一個仿真應用都將它所控制(測量)的實體的狀態(位置、方向、速度、鉸鏈部件的位置等被稱為底層真實數據)傳遞給網絡中的其他仿真應用,接收方負責接收并進行計算,以確定發送方所代表的實體是否可通過視覺或電子裝置所感知,被感知到的實體狀態將會按單個仿真的要求展現給用戶。
1.3 平臺級的大系統仿真
DIS充分利用現代計算機網絡提供的強大的分布計算能力實現對復雜大系統的仿真,這和以往采用單計算機實現大系統仿真的策略不一樣。比如對一次作戰過程進行仿真,如果采用單計算機進行,則由于計算能力的局限,只能采用概率模型(比較典型的是蘭徹斯特方程)進行大粒度建模仿真,在缺乏足夠的試驗數據支持下,這種概率模型的仿真結果可信度比較低。而DIS則提供基于武器平臺粒度級的仿真,通過大規模聯網實現對大系統的仿真。顯然,單個武器平臺的仿真模型要比一次作戰過程的模型容易建立,且具有更高的可信度。因此DIS 的仿真結果更加真實地模擬了實際系統。
2 技術特點
從技術特點上看,DIS還具有互操作性(Interoperability)、可伸縮性(Scalability)和仿真的時空一致性(Time-Space Coherence)等三大特性。下面我們分別介紹DIS在這三方面的技術方法。
2.1 互操作性
互操作性指多個仿真模型相互協調工作的能力,它在DIS中主要體現為實體間數據的交互能力。顯然,互操作性是DIS的最基本要求,相對于其他二者,這是研究得最深入的一個方面。這一點主要體現在以下2個方面:
2.1.1 標準的數據結構
在DIS中,將分布仿真模型交互的數據分為若干標準的類型,分別對這些交互數據定義一系列標準的數據結構,即IEEE1278-1995標準。這一標準構成DIS的核心,通過遵循這種統一的數據結構標準,任何分布仿真模型都可以處理這些統一結構的數據,從而實現互操作。
2.1.2 TCP/IP的廣播通信
結合標準的PDU(協議數據單元)定義,并采用基于TCP/IP的廣播(組播)這種最常用的通信模式,構成了一個"軟總線",仿真應用程序只要掛接在計算機網絡上就可接收到任何交換的數據,同時也可將數據發送給任何一個其他的仿真應用程序。因此DIS提供的互操作是相當徹底的,雖然不能滿足所有條件下的互操作需求,但也已足夠實現廣泛和相當規模的仿真應用了,這便是DIS能在較短時間內迅速發展的根本原因。其中1997年年底舉行的STOW-97是較為典型的大規模DIS演練,包含了分布于美歐幾十個城市的各軍兵種在內的約3萬個作戰實體,其中DIS網絡上同時活動的實體最多達6500個左右(如圖1所示)。
圖1 DIS的TCP/IP廣播通信
2.2 可伸縮性
DIS的通用框架可以有效地適應一個數目不斷增長的并發動態實體的仿真,并且數目的增長不會引入對該體系的結構性修改,我們所說的"有效地適應"是指對應仿真實體個數的增長而要求計算資源的線性或常數的增長。在DIS中,可伸縮性的困難同時體現在網絡資源和計算機的處理能力兩個方面,目前,DIS采用的最有效的方法是引入DR(Dead Reckoning)推算和PDU過濾兩種方法,在一定仿真規模和仿真品質下,這兩種方法是卓有成效的,因此目前DIS技術能夠實現諸如STOW-97這樣大規模的仿真演練。
2.2.1 DR算法推算過程(見圖2)。
圖2 推算過程
2.2.2 層次數據過濾
PDU的層次化過濾也是解決DIS可伸縮性問題的有效手段之一,其中包括輸出過濾和輸入過濾。輸出過濾一般應用在網關管理,指屏蔽本局域網內部的PDU數據包,它只將必要的PDU發送到廣域網或其他局域網段上。輸入過濾可以同時應用在網關和仿真計算機上,指屏蔽外部的PDU數據包,只將本局域網(仿真計算機)內部所預定的PDU接收進來。過濾包括5級:DIS演練號過濾、PDU類型的過濾、實體類型過濾、實體作用域過濾和實體位置過濾,這樣通過層次過濾保證了網絡帶寬和計算機資源得到有效的利用。
2.3 時空一致性
和前二者相比,時空一致性是由人的感覺和行為來衡量的,因此較為抽象一些,在實現中也復雜得多。簡單地說,時空一致性主要包括空間表達一致和分布仿真時間一致兩個方面:
2.3.1 空間一致性
● 相容的環境數據庫
為實現空間表達的一致,首先要求采用統一的環境模型,參加DIS演練的實體只能在統一的虛擬戰場環境中才能進行有效的對抗和協同,因此,相容的環境數據庫是至關重要的。由于分布仿真的各個節點對仿真環境所需要的粒度不一樣,所采用的地形數據庫也必定不一樣。如仿真地面車輛的節點可能需要高分辨率的地形數據,但由于車輛活動范圍有限,因此只需要小范圍的地形數據;而仿真空中飛機的節點可能就需要大范圍的地形數據,但分辨率卻不一定要太高。如何使這兩種規格的地形數據庫共存于同一個仿真中,又維護其數據的相容性,從而保證仿真的公平和一致性,這是DIS環境模型研究和解決的一個主要問題。這一點和普通網絡游戲是不一樣的,網絡游戲雖然也是一種分布系統,但都采用統一的數據庫拷貝,即完全采用同樣的數據庫,因此普通游戲軟件很難支持不同粒度或不同游戲軟件之間的協同操作。
目前在DIS中環境模型方面研究比較系統、有代表性的項目有DoD支持的SEDRIS(Synthetic Environment Data Representation and Interchange Specification),這是旨在提供一個包括陸地、海洋、大氣和外層空間的完整的物理環境模型以及相關的標準化數據的存取和交換方法。它提出了綜合環境的數據模型,于1998年11月發布了第一個正式版V2.0,而后又陸續發布了V2.5和V3.0版。
● 統一的坐標系統
有了一致的環境模型,如何描述仿真實體在環境中的位置,則需要采用相應的參考坐標系,不幸的是由于研究領域的差異,不同的仿真模型建模和仿真常采用不同的坐標系,即使采用完全相同的環境模型,同一空間點在不同坐標系下的坐標表達可能不一致,為了解決這個矛盾,DIS提出了一個標準的參考坐標系統,包括世界坐標系和實體坐標系。
仿真世界中的位置是用一個右手地心笛卡爾坐標系來標注的,這一坐標系被稱做世界坐標系,其中地球模型采用WGS84標準。此坐標系的原點是地心, X的正半軸在赤道通過子午線,Y的正半軸在赤道通過東徑90°線,Z的正半軸通過北極(如圖3所示)。
為了描述實體的姿態和運動方向,DIS還引進了和實體相聯系的實體坐標系(如圖4所示)。該坐標系也是一個右手笛卡爾坐標系。實體坐標系的原點是實體的中心,X正半軸指向實體正面,Y正半軸指向實體右側,Z正半軸指向實體底部。
一個實體的方位由實體坐標系的原點在世界坐標系中的位置表示,實體的姿態用三個連續轉動的角度來表示。通過這三個角的轉動,就可把世界坐標系變換為實體坐標系。這些角被稱做歐拉(Euler)角,它們定義了圍繞三個不同的正交軸的三個連續旋轉。旋轉的順序是"321":即首先繞z旋轉角度ψ,然后繞新y軸(y′)旋轉角度θ,再繞最新的x軸(x″)旋轉角度Φ。旋轉的正方向被定義為:沿著軸的正方向看時的順時針方向。
2.3.2 時間一致性
仿真實際上是在真實的時空中構造出一個虛擬的時空,并將仿真模型置于該虛擬時空環境中運行的過程。因此,時間是仿真中的一個基本概念。仿真時間的一致性是仿真時空一致性問題中不可缺少的一環,是決定仿真品質的重要因素。在DIS中,時間管理在兩個方面比較有特色,即時間的表達方式和分布時間的同步技術。
● 大跨度、高精度的時間表達
由于DIS是一個分布系統,仿真節點間的時間同步誤差不可避免,同時仿真實體間交換的PDU在網絡傳輸上有延遲,因此為了標記PDU的發送時刻,每個PDU都帶有一個時間戳。時間戳標注的是時間值對小時的余數值,即時間戳的最大值為3600秒。因此32為時間戳在留出1位標志位后,其精度可以達到3600/231=1.676×10-6秒,這個精度對絕大多數仿真應用而言是足夠的。時間戳成功應用的前提是各仿真計算機的時間(包括機器模擬的自然時間和仿真時間)必須同步,為確定同步與否,時間戳的最低位專門用作時間同步標志:最低位為1,則表明時間已經同步,此時的時間戳稱為絕對時戳(Absolute);反之,則稱其時間戳為相對時戳(Relative)。
時間戳最大只能表達3600秒,而DIS試驗時間不局限于這一時間值,因此,為標識DIS中的時間,僅有時間戳是不夠的。為此,DIS專門引入了一套時間規則以及相應的數據結構。為統一時間描述,DIS是采用UTC時間,即取1970年1月1日0時為時間參考點。DIS的時間是采用一個64位的結構描述的,前32位為描述小時數,即從UTC時間1970年1月1日0時為時間起點以來的流逝的小時計數,這是一個32位整數;后32位描述自最近一小時以來的秒數,其描述方式同"時間戳"。采用這種方式所描述的時間跨度可以達到49萬年,時間精度可以達到1.6微秒,足以滿足DIS的要求。
● 遞階混合時間同步策略
由于存在多個仿真節點,DIS中的時間同步指各仿真節點間的仿真時間保持一致,同時由于DIS支持人在回路的仿真,因此要求仿真時間和自然時間保持同速率的推進,即保證仿真的實時性。為實現這一要求,在DIS系統中通常采用遞階混合同步的方法:即對DIS中的每個局域網設置一臺時間管理計算機(或稱時間服務器),并給每一臺時間管理計算機裝備GPS時間同步系統,從而保證時間管理計算機之間的時間同步,這種同步稱為硬同步;同時,在局域網內部采用一定的軟件算法,通過在時間管理計算機與仿真計算機之間的網絡數據交換方式實現每一臺仿真計算機的實時時間同步,這種同步模式稱為軟同步。DIS中的時間同步是和仿真的實時計算結合進行的,且時間同步精度要求達到毫秒級,因此需要進行專門的實時同步算法設計。
3 發展前景
限于篇幅,本文只對DIS中的部分關鍵技術作簡要的介紹,雖然DIS的研究和應用最初是為了實現軍事領域中的大規模分布式交互仿真,但它所提出的技術方案和研究成果是通用的。考慮到分布計算已經成為計算機應用的主流,DIS中的技術在通用分布仿真、分布式網絡游戲以及分布計算機測控系統中都有實際的應用價值。
在軟件開發方面,國防科大軍用仿真技術實驗室已經成功開發出相應的支撐軟件DIS-Link,并得到了廣泛的推廣。