江衍煊,江書洋
(1.福建船政交通職業學院,福建 福州 350007; 2.上海交通大學,上海 200434)
海運與河運是當前世界上最廉價的運輸方式,目前全球超80%的貨物運輸都依靠船舶進行運輸,船運對其效率、安全和最優化是海運與河運的工作重點.衛星導航技術與船舶通信導航的綜合應用有效地保證了航行安全.船舶安全航行所需的避碰六要素中船舶航向與航速既可以通過雷達標繪獲取,也可以通過衛星確定,最近會遇距離CPA與到達最近會遇點的時間TCPA是避碰的重要參數.衛星定位信息通過AIS傳遞,若AIS沒有正常傳輸相關信息[1],船舶之間的安全航行的預判將受到破壞,有發生碰撞的危險.若AIS出現以下任意故障都有可能引發船舶事故:靜態數據設置錯誤、惡意關閉設備發射模塊、天線問題、設備死機、設備老化故障、超功率發射,本文研究的預警系統可以避免以上故障的發生,研究成果以期為船舶的正常運行提供參考.
船舶交通管理系統VTS(Vessel Traffic Service)集中了衛星、雷達、AIS、CCTV、通訊等共同組成對港灣以及進出港口的船舶實施監控、協調,并為港區船舶提供安全信息[2].如圖1是莆田興化灣VTS海圖,所有進入該管轄范圍的船舶在其規定的報告線內都在其監控之中.VTS增進了船舶交通安全、提高了船舶通航效率,由于港區船舶通航密度大,航行狀況復雜,因此要求所有的船舶根據可靠的避碰參數進行導航操縱才能保證安全航行.

圖1 莆田VTS監管區
傳統的VTS通過雷達采集船舶數據并跟蹤,通過VHF話音通信確認船舶的信息.衛星定位信息通過AIS進行播發之后,VTS的船舶數據采集與跟蹤服務自動運行,自動識別信號覆蓋范圍內的船舶,收集更齊全的船舶數據,依據衛星AIS可擴展跟蹤范圍并改善跟蹤性能.
雷達波在空間以等速直線進行傳播,遇到障礙物會發生反射.航海雷達的定位是利用固定周期向四周發射微波脈沖,按照同一方向上反射回來電磁波的時間差計算出微波所探測到物體的距離和方向.其中物標的距離S根據雷達波離開天線的時間t1和遇到物標反射回來的時間t2得出.
(1)
式(1)中,C為電磁波的空間傳播速度,C=3×108m/s=300 m/us;Δt為電磁波往返的時間差.
一般情況航海雷達的掃描周期為每分鐘24轉,因此其定位周期為2.5 s.航海雷達每2.5 s獲得一次物標信息,按照時間差計算物標與天線之間的距離,天線作為坐標原點,天線旋轉角度用極坐標方式表示物標的方位.雷達與其他儀器之間傳送的數據系列根據NMEA0813協議格式,如表1中第10位和第11位所示,航向精度0.1°,距離精度0.001海里.

表1 雷達系統數據
具有ARPA功能的雷達在跟蹤目標船時,根據NMEA0183協議的數據格式如表2,第9位和第10位為目標船與本船舶之間的CPA和TCPA值,作用是判斷是否處于緊迫局面.

表2 雷達跟蹤目標數據
北斗衛星導航應用于高精度測量、地理數據采集、地面車輛監控調度和導航、航海、航空、航天、軍用、授時等服務.北斗導航系統采用三種軌道類型,分別是GEO衛星定點在赤道上空的同步軌道中、MEO中軌道衛星定位、IGSO衛星運行軌道在地面投影呈南北對稱的8字形.
北斗衛星的定位原理與傳統的衛星定位基本上是一致,包括與4星偽距交于一點的三球交會方式確定三維位置,或者與3星偽距計算二維位置,此外北斗增加了具有自身特色的雙星定位.北斗導航系統在投入使用之際考慮到需要與其他衛星導航系統的兼容,按照世界地理坐標系(WGS-84)為基準進行設計,坐標系統原點位于地球的質心,Z軸指向國際時間服務定義(BIH)的協議地球極(CPT)方向,X軸指向BIH的零子午面和地球極CTP赤道的交點,Y軸與X軸和Z軸共同構成右手系[3].
北斗衛星的定位信號通過船舶自動識別系統AIS(Automatic Identification System)在甚高頻(VHF)發射,AIS是集計算機、網絡、通訊、電子信息顯示等技術為一體的數字助航系統.AIS物標位置按自組織時分多路(SOTDMA)方式運行,將船舶各種導航傳感器信號向周圍進行傳播,如衛星定位的船位、計程儀提供船速、羅經提供航向和航向改變率等船舶動態信息,結合海上移動船舶識別碼(MMSI)、呼號、船名、船貨類型、天線位置、預計到達時間(ETA)、目的地、吃水深度等靜態信息[1].
AIS發射明碼和暗碼兩種類型,包含以下各例:MYMAITXT,MYMAIALR,MYMAISSD,MYMAIVSD,!AIVDO,!AIVDM,!AIABK,!AIACA等,其中以“!”開始的語句是需要進行字符轉換,稱為“暗碼”(Encapsulation Sentences)是船舶航行的相關信息,而以“MYM”開始的消息能被直接識別稱為“明碼”(Parametric Sentences)是傳感器傳輸的信息[4].
以“MYM”開頭的AIS傳遞信息明碼傳送標志符“GPGGA”用于表示發射位置的信息,緊接在標志之后包含“會話ID”和“語句ID”,其后為相關數據.數據字段以逗號分隔,空字段也得保留逗號,明碼格式如表3所示,語句末尾由校驗數據和兩個十六進制數據組成,以回車換行結束語句[1].

表3 明碼語句格式
明碼中每秒發送一次UTC時間的位置信息,會話ID以“GPGGA”作為標志符,如信息:MYMGPGGA,020721,2341.7285,N,12401.8686,E,1,02,99.99,522.7,M,-32.0,M, ,*63

表4 AIS信息解碼
將雷達定位與衛星定位進行信息融合處理的重點是要求信息時間、空間統一,兩定位信息的坐標點要一致,最終目標是形成對應定位中心.
雷達的定位特點是以極坐標方式表示的向量,用極軸ρ表示距離,用θ表示方向,因此轉換成平面坐標時,以雷達當前位置坐標(X0,Y0)加上對應的增量就是相應的目標位置(XR,YR),該定位是普通所用的BJ-54坐標系,與大地坐標系WGS-84還有一定的區別,大地坐標系是根據地球橢球體和比例尺按照緯度漸長特性所生成的.
XR=X0+ρSinθ
YR=Y0+ρCosθ
(2)
雷達極坐標的定位格式根據式(2)先轉換成BJ-54坐標系(XD,YD,ZD),其中高程以海平面為計,采用7參數轉換法轉換成WGS-84坐標系(XG,YG,ZG).如式(3)中要求已知3個原坐標點才能轉換到WGS-84坐標系.
(3)
式(3)中的7參數分別為:ΔX、ΔY、ΔZ為平移參數;εX、εY、εZ為旋轉參數;k為尺度因子.將7個參數統一為R=(ΔX,ΔY,ΔZ,(1+k),εX,εY,εZ)T.
(5)
則式(4),式(5)可轉換為CiR=bi,若現有3個已知點i=1,2,3,則可根據最小二乘法解R.

建立方程組AR=b,可解出參數系列R.
令R=(ATA)-1ATb,即可分別求得7個參數,在BJ-54坐標下的任意點(XD,YD,ZD),如式(6)所示可求得轉換成WGS-84坐標系列的(XG,YG,ZG).
(6)
BJ-54坐標系統實時轉換為WGS-84坐標系統過程非常復雜,坐標轉換精度不低于10-5m,可通過軟件完成轉換.
雷達的定位特點是每2.5 s提供一次定位信息,衛星定位是每秒一次,雷達的位置信息與衛星定位系統存在區別,需要通過轉換成相同的定位坐標以便于輸入數據庫進行坐標對比.
由于衛星定位是嚴格根據UTC時間進行,而雷達定位是隨機開啟的,同時兩者的定位頻率也不一致,雷達定位間隔時間比較長,所以在獲取前幾個位置需進行同步過程.該過程需要對衛星位置在時間采樣中采取處理算法,即在衛星定位中采用二次插值法在每兩個位置點中央再生成一個位置,這樣每5個衛星定位信息就有1次與雷達定位信息一致,可以提高比較雷達和衛星定置之間的相應關系.
雷達和衛星船位輸入MY SQL數據庫時使用INSERT 語句,它有兩種語法形式,分別是 INSERT VALUES 語句和 INSERT SET 語句,本案例采用第2種方法更利于分清楚具體哪列需填充對應的數值[5].
INSERT INTO <表名>
SET <列1> = <值1>,
<列2> = <值2>,
<列3> = <值3>,
┉┉
由于雷達定位信息與衛星定位數據的間隔不一致,衛星的定位信息每秒都有一個數據位置.雷達位置每2.5 s一個位置,根據插值法計算每秒一個位置.雷達定位信息每5 s才有原始數據,其他時間點的定位數據是推算獲得,因此比較兩組數據的異同需考慮多次定位數據.
雷達定位與衛星定位數據一一對應生成之后,考慮港區船舶數量大,實時性強,環境復雜,定位信息的融合必須考慮各種算法的有效性、可靠性[2].vincenty公式精度能達到0.5 mm,但是運行周期比較長.而采用haversine()函數計算在特定地理區域的兩點之間的距離會非常合理,現利用Python語言編寫程序如下[6]:
def haversine(lon1,lat1,lon2,lat2): #定義兩位置分別的經緯(十進制數)
long1,lat1,long2,lat2 = map(radians,[long1,lat1,long2,lat2])# 將十進制數轉化為弧度
# haversine公式
dlong =long2-long1 (經度值之差)
dlat = lat2-lat1(緯度值之差)
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlong/2)**2
c= 2 *asin(sqrt(a))
r =6371 # 地球平均半徑,單位為公里
return c*r*1000
現利用haversine()函數進行處理特定地理中的兩個位置間距離,不僅速度快,而且精度可達到米級,完全符合航海中的精度要求.
根據以上程序可以計算出帶誤差的雷達定位數據和衛星天線所確定的位置數據之間的距離,一般情況兩系統給出的位置距離是一個很小的固定值.VTS的雷達定位信息固定每2.5 s周期內探測一次港區的船舶位置,而衛星位置通過AIS進行傳輸是主動發射,如果通過計算發現兩位置的誤差突然變大,而且持續變大,則可以判斷AIS發射的位置信息出現故障[7].
當沒有開啟AIS的船舶進入港區被數據庫發現,數據庫立刻將其歸入VTS的警示名單中.如果船舶在港區航行期間AIS工作異常或者定位數據傳輸中斷,也會被VTS數據庫系統將發現,港口監督機構很快反應,并通知該船的操作人員[8].如果船舶進入港區后再將AIS關閉,定位跟蹤數據庫中按照原有的雷達數據與衛星數據就會發現該船舶的異常情況,系統將該船列入“異常”船舶進行呼叫并監控[9].
在VTS監管的區域里面,根據大數據的特點,所有船舶都在“天眼”跟蹤范圍內,在監控區中船舶即使沒有開啟AIS仍然被VTS數據庫所記錄.數據庫設置時間閾值為10 min,當AIS丟失信號超時了,在電子海圖中就把該船通過雷達提供的船位以變大變粗變紅方式“高亮”地顯示在VTS的監控屏幕上.VTS結合該數據庫還可以將CCTV高清探頭信息進行融合,便于及早篩查出特殊水域的船舶是否發生違章.