內(nèi)容提要:為從AIS中獲取相關(guān)船舶的航行信息,利用接口設(shè)施獲取AIS信息并詳細(xì)分析該信息,掌握船舶航行數(shù)據(jù)的出處。編寫(xiě)軟件將得到對(duì)應(yīng)船舶的航行數(shù)據(jù)轉(zhuǎn)變成船舶航行的平面仿真圖,借助該仿真圖可以進(jìn)行隨意設(shè)定數(shù)量不定且各種航行動(dòng)態(tài)的船舶,以便于教師講解航海課程,學(xué)生也容易領(lǐng)會(huì)其中知識(shí)要點(diǎn)。
關(guān)鍵詞:AIS信息 明碼 暗碼 避碰仿真
0引言
上世紀(jì)船舶主要依靠雷達(dá)探測(cè)目標(biāo)進(jìn)行導(dǎo)航,并通過(guò)VHF交流協(xié)商避碰。在VTS控制的水域,船舶信息是依賴(lài)VHF通信才能登記到VTS信息管理數(shù)據(jù)庫(kù)中。AIS(自動(dòng)識(shí)別系統(tǒng))不但利于加強(qiáng)船舶間避免碰撞,而且同時(shí)還能增強(qiáng)ARPA雷達(dá)、船舶交通管理系統(tǒng)、船舶報(bào)告的功能,并且能在電子海圖上顯示船舶可視化的航向、航線、船名等信息,大大改善了海事通信的功能。配備了AIS的船舶在一定范圍內(nèi)可以自動(dòng)與其它船舶或者VTS控制中心分享其他船舶的動(dòng)、靜態(tài)等信息。
1 AIS信息
AIS船臺(tái)比較常用的信息主要有三類(lèi):船舶動(dòng)態(tài)信息、船舶靜態(tài)信息和航行相關(guān)信息。船舶的動(dòng)態(tài)信息中包括:航行狀態(tài)、轉(zhuǎn)向率、對(duì)地速度、位置精度、經(jīng)度、緯度、對(duì)地航向、船首向等。船舶的靜態(tài)信息和航行相關(guān)信息包括:海上移動(dòng)船舶標(biāo)識(shí)號(hào)(MMSI)、呼號(hào)、船名、船貨類(lèi)型、天線位置、估計(jì)到達(dá)時(shí)間(ETA)、目的地、吃水深度等等。如果能從AIS中獲取以上的信息,就能夠在平面上顯示出船舶的動(dòng)態(tài)情況,在船舶避碰等培訓(xùn)過(guò)程中就會(huì)顯得比較直觀。
AIS接收機(jī)內(nèi)部分布了多個(gè)COM口,傳輸速率有4.8和38.4kbps。PC機(jī)和AIS通過(guò)轉(zhuǎn)換設(shè)備(例如MAX232)將其轉(zhuǎn)換為RS232標(biāo)準(zhǔn)數(shù)據(jù),再對(duì)接收數(shù)據(jù)進(jìn)行分析就能轉(zhuǎn)換為導(dǎo)航信息。
2 AIS信息分析
AIS在海上是利用VHF來(lái)發(fā)送信息,它發(fā)射的信息類(lèi)型主要有:!AIVDO,!AIVDM,!AIABK,!AIACA,$AITXT,$AIALR,$AISSD,$AIVSD等等。由于AIS系統(tǒng)與各種傳感器互相連接,如:GPS、速度傳感器、角度傳感器等,各種傳感器傳送給AIS的數(shù)據(jù)就提供了各艘船舶的實(shí)時(shí)信息。AIS串口輸出的信息非常多,限于篇幅僅分析利于仿真設(shè)計(jì)的語(yǔ)句,如:
GPZDA,020803.00,13,04,2004*6F
$GPGGA,020803.00,3852.0270,N,12131.2178,E,1,07,1.2,50.3,M,4.4,M,,*62
!AIVDM2,1,3,A,569FoE02<C:@
998"OOOP4U9D000000000000001A7PH5:55=0:QOC2@C,0*16
!AIVDM2,2,3,A,P00000000000000,2*47
AIS碼文分為兩種形式,一種以“$”開(kāi)始的語(yǔ)句,能直接從消息中讀出包含的信息,稱(chēng)為“明碼”(Parametric Sentences),主要是傳感器的信息;另一種是以“!”開(kāi)始的語(yǔ)句,需要通過(guò)字符轉(zhuǎn)換和格式定義才能明白其中信息,稱(chēng)之為“暗碼”(Encapsulation Sentences),包含了船舶航行的重要信息。
2.1明碼語(yǔ)句(Parametric Sentences)
明碼語(yǔ)句是按照NMEA-0183協(xié)議進(jìn)行編寫(xiě)的,所有字符均為ASCII文本字符。語(yǔ)句都以“$”開(kāi)頭,緊接著是“會(huì)話(huà)ID”和“語(yǔ)句ID”,其后才是數(shù)據(jù)體。數(shù)據(jù)字段用逗號(hào)分隔,空字段保留逗號(hào),語(yǔ)句末尾是校驗(yàn)數(shù)據(jù)和兩個(gè)十六進(jìn)制數(shù)據(jù)組成,以回車(chē)換行結(jié)束語(yǔ)句,具體格式如表1所示。每行語(yǔ)句最多包含82個(gè)字符,如果語(yǔ)句長(zhǎng)度超出82個(gè)字符的話(huà),就要利用暗碼進(jìn)行傳輸。
表1明碼語(yǔ)句格式
標(biāo)志 |
會(huì)話(huà)與語(yǔ)句ID |
數(shù)據(jù)體 |
填充位數(shù) |
校驗(yàn)碼 |
明碼主要是傳感器信息,可以方便地提取當(dāng)前的UTC時(shí)間和船舶位置。明碼中最有規(guī)律的是GPZDA序列碼,它每秒發(fā)送一次UTC時(shí)間,接收到GPZDA字符串就能夠掌握信息發(fā)送時(shí)間,獲取UTC時(shí)間。
例如分析以下語(yǔ)句:$GPGGA,020621,3041.7285,N,10401.8686,E,1,02,99.99,522.7,M,-32.0,M,,*63<CR><LF>。其中$為明碼的標(biāo)志,GP表示發(fā)信息者為GPS,GGA表示本句發(fā)送的是GPS修正數(shù)據(jù);020621表示UTC時(shí)間02時(shí)06分21秒,3041.7285表示緯度為30度41.7285分,N表示北緯;10401.8686表示經(jīng)度為104度1.8686分,E表示東經(jīng);1表示GPS狀況,02表示使用2顆衛(wèi)星,99.99為HDOP值;522.7為海拔高度,M代表海拔高度單位為米;-32.0代表Geoidal Separation,后面的M代表該區(qū)域單位是米。部分語(yǔ)句域可以為空,如*號(hào)前有兩個(gè)逗號(hào)表明DGPS沒(méi)有數(shù)據(jù);*號(hào)后的63為校驗(yàn)碼,<CR><LF>表示語(yǔ)句結(jié)束。能與AIS相關(guān)的傳感器設(shè)備很多,如:AI:船舶自動(dòng)識(shí)別系統(tǒng);LC:LORAN-C;EP:EPIRB;GP:GPS;GN:GNSS;EI:電子海圖(ECDIS);VR:航海數(shù)據(jù)記錄儀。明碼語(yǔ)句的內(nèi)涵是很豐富的,從明碼語(yǔ)句分析中可以很方便地獲取船舶航行中不同UTC時(shí)刻所對(duì)應(yīng)的經(jīng)緯度。
2.2暗碼語(yǔ)句(Encapsulation Sentences)
暗碼語(yǔ)句的開(kāi)頭標(biāo)志是“!”,不但能夠傳送格式不確定的信息,而且還能將較長(zhǎng)的信息內(nèi)容分段傳送,數(shù)據(jù)的傳送以“語(yǔ)句”方式進(jìn)行,格式如表2所示。
表2暗碼語(yǔ)句的格式
標(biāo)志 |
會(huì)話(huà)ID |
語(yǔ)句數(shù) |
語(yǔ)句 序號(hào) |
標(biāo)識(shí)號(hào) |
頻道 |
封裝消 息碼文 |
填充 位數(shù) |
校驗(yàn)碼 |
例如接收如下暗碼消息:!AIVDM,2,1,3,A,569F0E02<C;@998000P4U9D000000000000001
A7PH5:55=0;O0C2@C0*16<CR><LF>。其中!表示暗碼標(biāo)志,五位字符的會(huì)話(huà)ID:“AIVDM”,說(shuō)明是通過(guò)VHF數(shù)據(jù)鏈路進(jìn)行接收的AIS信息(AIS VHF Data link Message)。當(dāng)把一條長(zhǎng)消息分成多條語(yǔ)句進(jìn)行傳輸時(shí),第三項(xiàng)為語(yǔ)句數(shù)表示由多少條語(yǔ)句組成,此處該項(xiàng)為2,說(shuō)明該消息共由兩條VDM語(yǔ)句組成。第四項(xiàng)是語(yǔ)句序號(hào),表示該語(yǔ)句在序列中的位置;第五項(xiàng)為消息標(biāo)識(shí)號(hào)。第七項(xiàng)是按ITU-RM.1371定義的封裝消息,如果消息是由多條語(yǔ)句組成,那么在解碼時(shí)需要將各條消息提取合并成完整的消息碼文,才能進(jìn)行解碼。第八項(xiàng)是填充位數(shù),最后才是校驗(yàn)碼和結(jié)束符。
接收暗碼信息之后首先要識(shí)別會(huì)話(huà)ID,因?yàn)椴煌?/SPAN>ID對(duì)應(yīng)于不同的解碼格式,其中最重要的是將封裝消息轉(zhuǎn)化ASCII碼信息。
2.3封裝信息
以與船舶航行密切相關(guān)的封裝消息進(jìn)行分析,例如暗碼語(yǔ)句:!AIVDM,1,1,A,1P000Oh1IT1svTP2r:43grwb0Eq4,0*01<CR><LF>。它封裝的消息是“1P000Oh1IT1svTP2r:43grwb0Eq4”,將每位轉(zhuǎn)換為6位二進(jìn)制數(shù)得出如表3的結(jié)果。從暗碼語(yǔ)句的封裝信息分析發(fā)現(xiàn),暗碼包含船舶的識(shí)別碼、航向狀態(tài)、航行速度、精確的經(jīng)緯度和UTC時(shí)間等等,如果按照時(shí)間順序連續(xù)地接收以上信息,就可以推斷出船舶在海上的航行軌跡。
表3封裝消息
信息 |
6位二進(jìn)制數(shù) |
占字符位置和信息的意義 | |||||
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1-6位:信息標(biāo)識(shí)符,000001為信息l |
P |
1 |
0 |
0 |
0 |
0 |
0 |
7-8位:重發(fā)指示符:2為信息重發(fā)兩次 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
9-38位:船舶的海上移動(dòng)識(shí)別MMSI號(hào)碼 |
0 |
0 |
0 |
0 |
0 |
0 |
0 | |
0 |
0 |
0 |
0 |
0 |
0 | ||
0 |
0 |
1 |
1 |
1 |
1 |
1 | |
h |
1 |
1 |
0 |
0 |
0 |
0 |
39-42位:航行狀態(tài);0在航、1錨泊、3受限 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
43-50位:轉(zhuǎn)向率;00000101 R0T=(5/4.733)2=+1.1度,分鐘 |
I |
0 |
1 |
1 |
0 |
0 |
1 | |
T |
1 |
0 |
0 |
1 |
0 |
0 |
51-60位:對(duì)地航速,1001100100表示為612/10=-61.2節(jié) |
1 |
0 |
0 _ |
0 |
0 |
0 |
1 |
61位:為船位精度,0為低精度 |
s |
1 |
1 j |
1 _ l一。 |
0 |
1 隧i |
1 |
62-89位:經(jīng)度/10000,該值為正表示是東經(jīng),16250000/10000=1625分=27度5分 |
v |
1 |
1 |
1 |
1 |
1 |
0 | |
T |
1 |
0 |
0 |
1 |
0 |
0 | |
p |
1 |
0 |
0 |
0 |
0 |
0 | |
2 |
0 |
0 |
0 |
0 |
1 |
90-116位:表示緯度,10000,3050000/10000=305分=5度5分,該值為正表示是北緯 | |
r |
1 |
1 |
1 |
0 |
1 |
0 | |
: |
0 |
0 |
1 |
0 |
1 |
0 | |
4 |
0 |
0 |
0 |
1 |
0 |
0 | |
3 |
0 |
0 |
0 |
0 |
1 |
1 |
117-128位:表示對(duì)地航向/10。為95.9度; |
g |
1 |
0 |
1 |
1 |
1 |
1 |
129-137位:船艏向+35l度 |
r |
1 |
1 |
1 |
0 |
1 |
0 |
138-143位:報(bào)告UTC時(shí)間(秒)110101=53秒 |
w |
1 |
1 |
1 |
1 |
1 |
1 | |
b |
1 |
0 |
1 |
0 |
1 |
0 |
144-147位:地區(qū)管理,0表示:無(wú)區(qū)域應(yīng)用 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
149位:RAM狀態(tài),0表示未使用 |
E |
0 |
1 |
0 |
1 |
0 |
1 |
150-155位:S0TDMA通信狀態(tài),0:UTC直接同步。156-168位:1E04=7684;除本臺(tái)外接收了7684臺(tái)AIS。 |
q |
1 |
1 |
1 |
0 |
0 |
0 | |
4 |
0 |
0 |
0 |
1 |
0 |
0 |
3船舶仿真
分析了AIS傳送的信息就可以發(fā)現(xiàn)它提供的內(nèi)容包含了船舶的動(dòng)態(tài)和靜態(tài)信息,基本上包含了船舶航行的所有狀態(tài),因此完全可以利用這些數(shù)據(jù)來(lái)開(kāi)發(fā)船舶避碰的航行仿真。
3.1仿真硬件
在開(kāi)發(fā)船舶航行仿真之前,首先要將AIS的信息傳送到計(jì)算機(jī)中,然后才能對(duì)其進(jìn)行分析。AIS與計(jì)算機(jī)之間的連接如圖1所示。仿真開(kāi)始之前首先要將PC機(jī)與AIS接收機(jī)的串口連接起來(lái),然后利用單片機(jī)將AIS的串口的數(shù)據(jù)讀出,并將明碼與暗碼數(shù)據(jù)都傳送到PC機(jī)中,PC機(jī)利用軟件處理接收到的信息。
圖1AIS與計(jì)算機(jī)數(shù)據(jù)連接
3.2仿真軟件
船舶AIS仿真程序?qū)⒔邮盏降拿鞔a和暗碼都轉(zhuǎn)變成船舶的IM0號(hào)、MMSI碼、船名、船舶經(jīng)緯度、時(shí)間、對(duì)地航速、航向信息、吃水深度、ETA等信息,并將所接收到的船舶數(shù)據(jù)一一對(duì)應(yīng)地自動(dòng)存入PC機(jī)的船舶數(shù)據(jù)庫(kù)。本船與人工增加船舶的航行數(shù)據(jù)都是利用增加船舶對(duì)話(huà)框,按照如表4所述設(shè)定航行信息。增加的新船舶信息需要把整個(gè)航程進(jìn)行分段,并為每一個(gè)小航行區(qū)間設(shè)定各種狀態(tài),經(jīng)過(guò)匯總所有時(shí)間段的全部航行數(shù)據(jù),整個(gè)航程的每部分航行狀態(tài)就都能表達(dá)清楚;PC機(jī)中的數(shù)據(jù)庫(kù)就能包含所有船舶在海上的航行動(dòng)態(tài)情況,然后根據(jù)每一船舶的航速和航向就可以判斷出與其他船舶之間是否存在碰撞危險(xiǎn)。
表4MMSI信息數(shù)據(jù)
起始UTC |
終此UTC |
船位 |
船速 |
航向 |
吃水 |
轉(zhuǎn)向率 |
經(jīng)緯度 |
… |
由于船舶航行動(dòng)態(tài)情況發(fā)生變化時(shí),AIS發(fā)送信息的頻率也會(huì)隨之發(fā)生變化,仿真程序需要采用對(duì)應(yīng)的頻率去接收數(shù)據(jù)并存儲(chǔ)在數(shù)據(jù)庫(kù)中,并計(jì)算出與所有船舶之間的碰撞參數(shù)。因此每一船舶都要設(shè)定自己唯一的航行數(shù)據(jù)表,這樣才不至于互相混淆,也便于程序計(jì)算所有船舶之間的碰撞參數(shù)。數(shù)據(jù)庫(kù)要求按照時(shí)間與速度變化頻率不斷地改變船舶位置,時(shí)間的間隔根據(jù)AIS發(fā)送數(shù)據(jù)頻率來(lái)設(shè)定(如表5),這樣依據(jù)數(shù)據(jù)庫(kù)中任意不同時(shí)間對(duì)應(yīng)的船舶位置信息就可以在PC機(jī)中顯示所有船舶的航行狀態(tài)。
表5AIS船位報(bào)告頻率
船型 |
報(bào)告頻率 |
錨泊船 |
1次/3分鐘 |
0-14節(jié)航速的航船 |
1次/12秒 |
航速為0-14節(jié)并且在改變航向的航船 |
1次/4秒 |
14-23節(jié)航速的航船 |
1次/6秒 |
航速為14-23節(jié)并且在改變航向的航船 |
1次/2秒 |
超過(guò)23節(jié)航速的航船 |
1次/3秒 |
航速超過(guò)23節(jié)并且在改變航向的航船 |
1次/2秒 |
3.3航行仿真
首先要把一臺(tái)正在工作的AIS接收機(jī)的串口與PC機(jī)的串口連接,然后才能啟動(dòng)仿真軟件。仿真軟件運(yùn)行的第一步應(yīng)該根據(jù)所接收的部分船舶運(yùn)動(dòng)狀態(tài)再適當(dāng)?shù)卦黾釉O(shè)置船舶;除了按照AIS所接收到的船舶之外還應(yīng)該設(shè)置本船和另外增加一定數(shù)量的船舶來(lái)模擬多船相遇的場(chǎng)景,每一艘船舶都要按照3.2節(jié)所述增加恰當(dāng)?shù)暮叫袛?shù)據(jù)并設(shè)定最小CPA。
仿真程序運(yùn)行過(guò)程中,如果我船航行的相對(duì)航向線與其他船舶的最小CPA圓相交時(shí),判斷為緊急狀態(tài),程序立即暫停并為這兩船跳出更改航向或航速的對(duì)話(huà)框;如果輸入數(shù)據(jù)后他們的CPA大于設(shè)定的Mini CPA,且不會(huì)和其他船舶構(gòu)成碰撞危險(xiǎn),則說(shuō)明這次避碰成功。假如輸入的新航向或新航速不滿(mǎn)足要求,則繼續(xù)跳出更改數(shù)據(jù)的對(duì)話(huà)框,直到完全讓清為止。如果航行過(guò)程發(fā)生如圖2所示的多船與本船存在碰撞危險(xiǎn)時(shí),按先急后緩原則,陸續(xù)跳出需要更改航向、航速的對(duì)話(huà)框。只要我船航行矢量與其他船舶的Mini CPA相交,或者其他船的航行矢量線與我船的Mini CPA相交,程序都會(huì)暫停,直到相互讓清后程序才會(huì)繼續(xù)進(jìn)行。因?yàn)檎麄€(gè)過(guò)程都與數(shù)據(jù)庫(kù)關(guān)聯(lián)著,所以該仿真程序還具有回放功能,如果選擇了我船的某一UTC時(shí)間開(kāi)始運(yùn)行就進(jìn)入了回放進(jìn)程,程序運(yùn)行到出現(xiàn)碰撞危險(xiǎn)局面為止,此時(shí)仍然需要更改船舶航向、航速,軟件才能繼續(xù)運(yùn)行。
圖2仿真船舶碰撞態(tài)勢(shì)
4結(jié)語(yǔ)
仿真是為了讓培訓(xùn)學(xué)員從視覺(jué)上感觸當(dāng)船舶在海上航行過(guò)程中存在碰撞危險(xiǎn)時(shí),結(jié)合避碰規(guī)則所應(yīng)該采取的適當(dāng)行動(dòng),這樣才便于學(xué)員理解避碰規(guī)則的各條規(guī)則。該軟件可以很方便地講解部分航海課程,如:船舶操縱、信號(hào)、船舶避碰和關(guān)于AIS的課程等。此軟件不足之處是尚未開(kāi)發(fā)網(wǎng)絡(luò)版仿真軟件,無(wú)法讓所有學(xué)員親手操作,只能供教師教學(xué)演示。
作者:福建交通職業(yè)技術(shù)學(xué)院 江衍煊 張?jiān)娪?陳福金 陳宏 來(lái)源:航海技術(shù)