付玉慧,馬鵬森
(大連海事大學 航海學院,遼寧 大連 116000)
海運具有天然航道、運輸能力強、運費較低廉等優勢,是目前最主要的貿易運輸方式。日益增長的貿易量使我國沿海與內陸水域的交通流愈加密集,加之船舶逐漸往大型化、高速化方向發展,使得我國現有航行水域的交通環境變得更加復雜,給船舶通航安全帶來隱患。基于這些情況,我國越發重視研究船舶個體行為對交通流的影響。現在海運界學者研究的熱點之一,便是建立交通流模型并利用仿真方法對船舶行為進行研究[1]。
在基于元胞自動機的交通流微觀研究中,大部分都是使用正方形元胞對交通運動空間進行離散化處理[2-4]。然而,使用正方形元胞來仿真船舶航行存在著明顯的缺點:當船舶向對角方向運動時,正方形元胞很難處理。如對船舶向對角方向運動處理為行走兩步到達,會導致船舶運動機械化且不符合實際情況;如對船舶向對角方向運動,處理為一步到達,則船舶的垂直和對角航行位移存在差異,使船舶速度難以計算。
在實際的船舶追越情形中,兩船的主要變化在于航向,速度變化不大。六邊形元胞與三角形元胞或矩形元胞相比,能夠較好地模擬船舶追越。在現有研究中,基于正六邊形元胞自動機的應用主要在行人或道路交通工程中。文獻[5]基于六邊形元胞對行人運動進行仿真,發現六邊形元胞模型的臨界密度大于正方形元胞模型;文獻[6]利用六邊形結構提出一種自適應路徑尋找方法;文獻[7-8]對正六邊形元胞自動機的行人疏散模型進行修改完善;文獻[9]提出速度等級的概念用來描述行人的疏散速度,并定義了恐慌系數,展示恐慌心理對疏散過程的影響;文獻[10]基于環形交叉口圓環形結構和車流流向,建立六邊形元胞空間替代傳統矩形元胞空間,并定義多值元胞狀態,提出基于改進間隙接受理論的元胞規則,分析交叉口交織區通行能力。
筆者提出了一種基于正六邊形元胞自動機的船舶追越模型。前船與后船根據實際情況(船長、操縱性、航行環境等)設置不同的危險領域、船舶領域、動界,根據船舶速度近似整數比設置單位時間內元胞移動速度。兩船將根據自身動界對他船(或障礙物)進行避碰,當他船(或障礙物)進入本船船舶領域或危險領域時,則記為危險情況或碰撞事故。由此期望能利用以上模型,實現對船舶追越過程微觀上的模擬。
船舶有多種種類,長寬不一,航行環境、操縱性能也各不相同,在進行模擬時可根據實際情況選擇大小合適的六邊形元胞。當兩艘船舶不同時,以較小船舶為基準設定元胞,避免元胞設定過大導致較小船舶的模擬結果偏差過大。
在筆者模型中,仿真的兩艘船船長為100 m,每個正六邊形元胞設定為邊長為100 m,最大長度為200 m,2個相鄰元胞的中心相距173.205 m。
在任何時刻,一艘船舶僅能占據一個元胞,且占據后視為該船舶占據整個元胞。每艘船舶能根據“航行規則”移動至周圍6個相鄰元胞或者保持靜止在當前的元胞,如圖1。

圖1 元胞的移動方向Fig. 1 Cell movement directions
在元胞自動機模型中,時間需離散化處理,船舶位置可根據仿真實際情況選取適當規則更新。在筆者模型中,船舶追越過程中后船比前船速度快,同一時間內后船前進的距離大于前船前進的距離,為節約計算機仿真儲存空間和計算成本,選取船舶速度的近似整數比作為元胞移動速度。
船舶有多種種類,各種船舶或同一艘船舶在不同航行環境下的避碰行為也會不一樣。在筆者模型中,為了仿真效果能與實際情況更為接近,模型中參考文獻[11]使用以下3個參數(如圖2)用于船舶避碰及危險情況的判斷:

圖2 一艘船舶的危險領域、船舶領域、動界Fig. 2 Dangerous area, ship area and moving boundary of a ship
1)危險領域:當本船與目標的距離小于某個臨界距離時,本船與目標即使能避免碰撞也會形成緊迫危險。
2)船舶領域:每艘船舶周圍的有效區域。該船駕駛員將其他船舶和靜止目標保持在該區域之外,以保證船舶航行安全。
3)動界:在實際的船舶航行中,為了能讓清他船,有效維護船舶領域,駕駛員需要提前采取適當的避碰行動,避免緊迫局面與目標的距離。
每艘船舶都預先設定目標方向(或目標點),當船舶動界內無他船或障礙物時,船舶將向目標方向或目標點行駛,當船舶動界內出現他船或障礙物時,將根據轉向規則選擇目標方向兩側的方向 “繞行”避碰。
在筆者模型中,當有他船進入某一艘船舶的船舶領域時,記為危險情況;當有他船進入某一艘船舶的危險領域時,記為發生事故。
船舶動界內無他船時,船舶將向目標點(或目標方向)前進;若有他船進入船舶動界時,船舶進行轉向,轉向規則如下:
1)判斷目標航向。
2)計算他船與目標航向的橫距,若橫距不大于本船船舶領域,則進行轉向追越。
3)計算目標航向與他船之間夾角。
4)若他船位于本船目標航向左側,則選擇目標方向右側方向行駛;若他船位于本船目標航向右側,則選擇目標方向左側方向行駛,如圖3。

圖3 障礙物位于目標航向右側Fig. 3 Obstacle is to the right of target course
每艘船舶將會在7個可行方向內選擇下一步的運動方向。目標方向選擇的步驟如下:
1)以船舶當前所在元胞為中點,根據六邊形邊線將整個運動空間劃分為6個區域,如圖4;

圖4 根據六邊形邊線劃分區域Fig. 4 Divide the area according to the hexagon edge
2)確定目標方向(或目標點)所在區域;
3)判斷動界中是否有他船,若沒有則選擇當前方向作為目標方向并執行7);
4)若動界內有他船,當前航向下他船與本船的橫距滿足船舶領域條件,執行7),當前航向下他船與本船的橫距不滿足船舶領域條件,則執行5);
5)動界中存在他船且當前航向下他船與本船的橫距不滿足船舶領域條件,判斷目標方向和他船方向,并得出其夾角;
6)根據后船追越判斷規則,選擇目標方向相鄰兩個方向的其中一個方向作為目標方向,如圖5;

圖5 目標方向存在障礙物,根據避碰規則選擇另一方向Fig. 5 Obstacles in the target direction, choosing another directionaccording to the collision avoidance rule
7)向目標方向前進;
8)根據以上規則循環執行。
每艘船舶在每一步做出方向選擇后移向相應的元胞。每個元胞只能被一艘船舶占據,當某艘船舶的船舶領域被他船侵入時,視為發生危險情況并進行統計;當危險領域被他船侵入時,視為發生碰撞事故且仿真結束。
筆者模型適用于模擬兩艘參數相近的船舶追越情形,若追越兩船差別過大,則需考慮加入新的規則模擬較大船舶的轉向性能、船吸現象等參數。
使用MATLAB仿真船舶追越過程。假定開闊水域和受限水域2種情景。
模型中元胞數量較多,因此每個元胞僅以正六邊形的中點表示。
3.1.1 開闊水域
對開闊水域船舶追越仿真模型的初始條件進行設置:
1)船舶大小:前船與后船的船長100 m。
2)船舶航行空間:長9.35海里,寬1.54海里。船舶航行空間被分成相同的正六邊形元胞(共100×20=2 000個)。每個正六邊形元胞的邊長為100 m,最大長度為200 m,2個相鄰元胞的中心相距173.205 m,如圖6。

圖6 元胞尺寸Fig. 6 Cell size
3)船舶速度及其比值:后船速度∶前船速度=12 kn∶9 kn=4∶3。模型中更新一次的時間為112.23 s。
4)兩船初始距離:船舶追越過程模型初始狀態(即模型中的時間為0 s時),后船距離前船約1.59海里。
3.1.2 受限水域
對受限水域船舶追越仿真模型的初始條件進行設置:
1)船舶大小:前船與后船船長100 m。
2)船舶航行空間:長2.43海里,寬0.73海里。船舶航行空間被分成相同的正六邊形元胞(共25×10=250個)。每個正六邊形元胞的邊長為100 m,最大長度為200 m,2個相鄰元胞的中心相距173.205 m,如圖6。
3)船舶速度及其比值:后船速度∶前船速度=6 kn∶4 kn=3∶2。模型中更新一次的時間為168.34 s。
4)兩船初始距離:船舶追越過程模型初始狀態(即模型中的時間為0 s時),后船距離前船約0.56海里。
3.2.1 開闊水域
筆者參考E.M.GOODWIN關于開闊水域船舶領域模型的統計[12],開闊水域船舶模型參數如下:
1)危險領域:以船舶為圓心,半徑200 m的圓。
2)船舶領域:以船舶為中心,扇形1為0.7海里;扇形2為0.6海里;扇形3為0.5海里(扇形1為船舶正前方到船舶右舷112.5°;扇形2為船舶正前方到船舶左舷112.5°;扇形3為剩余部分)。
3)動界:以船舶為中心,扇形1為1.12海里;扇形2為0.93海里;扇形3為0.75海里(扇形1為船舶正前方到船舶右舷112.5°;扇形2為船舶正前方到船舶左舷112.5°;扇形3為剩余部分)。
開闊水域模型中的船舶各領域如圖7。

圖7 開闊水域模型中的船舶各領域Fig. 7 Various areas of ships in the open waters model
3.2.2 受限水域
筆者參考藤井關于受限水域船舶領域模型的研究[13],使用簡化式(矩形)。受限水域船舶模型參數如下:
1)危險領域:以船舶為圓心,半徑200 m的圓。
2)船舶領域:筆者模型使用矩形船舶領域,以船舶為中心,長為800 m(8倍船長),寬為320 m(3.2倍船長)的矩形。
3)動界:以船舶為中心,長半軸0.94海里,短半軸0.56海里的橢圓(在模型中簡化為矩形)。
受限水域模型中的船舶各領域如圖8。

圖8 受限水域模型中的船舶各領域Fig. 8 Various areas of ships in the restricted waters model
根據3.1.1節和3.2.1節的模型參數,進行在開闊水域船舶追越場景中的仿真,展示仿真中4個截圖,如圖9。圖9、圖10中“+”為被追越船,右三角形“”為追越船。

圖9 開闊水域模擬Fig. 9 Simulation of the open waters
根據3.1.2節和3.2.2節的模型參數,進行在受限水域船舶追越場景中的仿真,展示仿真中4個截圖,如圖10。

圖10 受限水域模擬Fig. 10 Simulation of the restricted waters
將開闊和受限水域追越,2種不同航行環境船舶追越過程仿真模型的數據作對比,如表1。

表1 開闊水域和受限水域兩個場景船舶追越仿真數據Table 1 Simulation data of ship overtaking in open waters andrestricted waters scenarios
由圖9、圖10和表1,可知:
1)開闊水域場景中,追越船會及早避讓被追越船,保持較大橫距情況下從被追越船兩舷追越;受限水域場景中,追越船會選擇更近的距離開始避碰,且超越前船時兩船橫距較小;
2)開闊水域中,追越船更早開始避碰,雖然船速較快,但整個追越過程時間更長。
參考以往的研究[14-15],以上結論與現實情況較為相符。
筆者以正六邊形元胞自動機研究了船舶追越模型。
1)筆者模型根據船舶大小設置了元胞大小,并根據水域環境的不同,以危險領域、船舶領域、動界為參考,為前船與后船設置更新規則。其中危險領域作為事故判斷依據,船舶領域作為發生危險依據,動界作為避碰判斷依據。
2)仿真結果表明,在開闊水域中,船舶船速較快,避碰空間大,追越船會及早避讓被追越船,保持較大橫距從被追越船兩舷追越;由于更早更遠開始避碰,開闊水域中船舶追越整個過程時間會更長;在受限水域中,船舶船速較慢,船舶航行空間較小,追越船避碰范圍明顯減小,追越時兩船橫距較小;受限水域中船舶追越過程時間較少。