找回密码
 注册
搜索
查看: 1149|回复: 4

AIS信息分析及基于AIS的船舶避碰仿真

[复制链接]
发表于 2011-12-19 11:51:53 | 显示全部楼层 |阅读模式
  AIS信息分析及基于AIS的船舶避碰仿真  

      
内容提要:为从AIS中获取相关船舶的航行信息,利用接口设施获取AIS信息并详细分析该信息,掌握船舶航行数据的出处。编写软件将得到对应船舶的航行数据转变成船舶航行的平面仿真图,借助该仿真图可以进行随意设定数量不定且各种航行动态的船舶,以便于教师讲解航海课程,学生也容易领会其中知识要点。
关键词:AIS信息 明码 暗码 避碰仿真
0引言
上世纪船舶主要依靠雷达探测目标进行导航,并通过VHF交流协商避碰。在VTS控制的水域,船舶信息是依赖VHF通信才能登记到VTS信息管理数据库中。AIS(自动识别系统)不但利于加强船舶间避免碰撞,而且同时还能增强ARPA雷达、船舶交通管理系统、船舶报告的功能,并且能在电子海图上显示船舶可视化的航向、航线、船名等信息,大大改善了海事通信的功能。配备了AIS的船舶在一定范围内可以自动与其它船舶或者VTS控制中心分享其他船舶的动、静态等信息。
1 AIS信息
AIS船台比较常用的信息主要有三类:船舶动态信息、船舶静态信息和航行相关信息。船舶的动态信息中包括:航行状态、转向率、对地速度、位置精度、经度、纬度、对地航向、船首向等。船舶的静态信息和航行相关信息包括:海上移动船舶标识号(MMSI)、呼号、船名、船货类型、天线位置、估计到达时间(ETA)、目的地、吃水深度等等。如果能从AIS中获取以上的信息,就能够在平面上显示出船舶的动态情况,在船舶避碰等培训过程中就会显得比较直观。
AIS接收机内部分布了多个COM口,传输速率有4.8和38.4kbps。PC机和AIS通过转换设备(例如MAX232)将其转换为RS232标准数据,再对接收数据进行分析就能转换为导航信息。
2 AIS信息分析
AIS在海上是利用VHF来发送信息,它发射的信息类型主要有:!AIVDO,!AIVDM,!AIABK,!AIACA,$AITXT,$AIALR,$AISSD,$AIVSD等等。由于AIS系统与各种传感器互相连接,如:GPS、速度传感器、角度传感器等,各种传感器传送给AIS的数据就提供了各艘船舶的实时信息。AIS串口输出的信息非常多,限于篇幅仅分析利于仿真设计的语句,如:
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[tr][td]
标志
[/td][td]
会话与语句ID
[/td][td]
数据体
[/td][td]
填充位数
[/td][td]
校验码
[/td][/tr]
[/table]
明码主要是传感器信息,可以方便地提取当前的UTC时间和船舶位置。明码中最有规律的是GPZDA序列码,它每秒发送一次UTC时间,接收到GPZDA字符串就能够掌握信息发送时间,获取UTC时间。
例如分析以下语句:$GPGGA,020621,3041.7285,N,10401.8686,E,1,02,99.99,522.7,M,-32.0,M,,*63。其中$为明码的标志,GP表示发信息者为GPS,GGA表示本句发送的是GPS修正数据;020621表示UTC时间02时06分21秒,3041.7285表示纬度为30度41.7285分,N表示北纬;10401.8686表示经度为104度1.8686分,E表示东经;1表示GPS状况,02表示使用2颗卫星,99.99为HDOP值;522.7为海拔高度,M代表海拔高度单位为米;-32.0代表Geoidal Separation,后面的M代表该区域单位是米。部分语句域可以为空,如*号前有两个逗号表明DGPS没有数据;*号后的63为校验码,表示语句结束。能与AIS相关的传感器设备很多,如:AI:船舶自动识别系统;LC:LORAN-C;EP:EPIRB;GP:GPS;GN:GNSS;EI:电子海图(ECDIS);VR:航海数据记录仪。明码语句的内涵是很丰富的,从明码语句分析中可以很方便地获取船舶航行中不同UTC时刻所对应的经纬度。
2.2暗码语句(Encapsulation Sentences)
暗码语句的开头标志是“!”,不但能够传送格式不确定的信息,而且还能将较长的信息内容分段传送,数据的传送以“语句”方式进行,格式如表2所示。
表2暗码语句的格式
标志
会话ID
语句数
语句
序号
标识号
频道
封装消
息码文
填充
位数
校验码
例如接收如下暗码消息:!AIVDM,2,1,3,A,569F0E02。其中!表示暗码标志,五位字符的会话ID:“AIVDM”,说明是通过VHF数据链路进行接收的AIS信息(AIS VHF Data link Message)。当把一条长消息分成多条语句进行传输时,第三项为语句数表示由多少条语句组成,此处该项为2,说明该消息共由两条VDM语句组成。第四项是语句序号,表示该语句在序列中的位置;第五项为消息标识号。第七项是按ITU-RM.1371定义的封装消息,如果消息是由多条语句组成,那么在解码时需要将各条消息提取合并成完整的消息码文,才能进行解码。第八项是填充位数,最后才是校验码和结束符。
接收暗码信息之后首先要识别会话ID,因为不同的ID对应于不同的解码格式,其中最重要的是将封装消息转化ASCII码信息。
2.3封装信息
以与船舶航行密切相关的封装消息进行分析,例如暗码语句:!AIVDM,1,1,A,1P000Oh1IT1svTP2r:43grwb0Eq4,0*01。它封装的消息是“1P000Oh1IT1svTP2r:43grwb0Eq4”,将每位转换为6位二进制数得出如表3的结果。从暗码语句的封装信息分析发现,暗码包含船舶的识别码、航向状态、航行速度、精确的经纬度和UTC时间等等,如果按照时间顺序连续地接收以上信息,就可以推断出船舶在海上的航行轨迹。
表3封装消息
信息
6位二进制数
占字符位置和信息的意义
1
0
0
0
0
0
1
1-6位:信息标识符,000001为信息l
P
1
0
0
0
0
0
7-8位:重发指示符:2为信息重发两次
0
0
0
0
0
0
0
9-38位:船舶的海上移动识别MMSI号码
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位:航行状态;0在航、1锚泊、3受限
1
0
0
0
0
0
1
43-50位:转向率;00000101
R0T=(5/4.733)2=+1.1度,分钟
I
0
1
1
0
0
1
T
1
0
0
1
0
0
51-60位:对地航速,1001100100表示为612/10=-61.2节
1
0
0
_
0
0
0
1
61位:为船位精度,0为低精度
s
1
1
j
1
_
l一。
0
1
隧i
1
62-89位:经度/10000,该值为正表示是东经,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位:表示对地航向/10。为95.9度;
g
1
0
1
1
1
1
129-137位:船艏向+35l度
r
1
1
1
0
1
0
138-143位:报告UTC时间(秒)110101=53秒
w
1
1
1
1
1
1
b
1
0
1
0
1
0
144-147位:地区管理,0表示:无区域应用
0
0
0
0
0
0
0
149位:RAM状态,0表示未使用
E
0
1
0
1
0
1
150-155位:S0TDMA通信状态,0:UTC直接同步。156-168位:1E04=7684;除本台外接收了7684台AIS。
q
1
1
1
0
0
0
4
0
0
0
1
0
0
3船舶仿真
分析了AIS传送的信息就可以发现它提供的内容包含了船舶的动态和静态信息,基本上包含了船舶航行的所有状态,因此完全可以利用这些数据来开发船舶避碰的航行仿真。
3.1仿真硬件
在开发船舶航行仿真之前,首先要将AIS的信息传送到计算机中,然后才能对其进行分析。AIS与计算机之间的连接如图1所示。仿真开始之前首先要将PC机与AIS接收机的串口连接起来,然后利用单片机将AIS的串口的数据读出,并将明码与暗码数据都传送到PC机中,PC机利用软件处理接收到的信息。
图1AIS与计算机数据连接
3.2仿真软件
船舶AIS仿真程序将接收到的明码和暗码都转变成船舶的IM0号、MMSI码、船名、船舶经纬度、时间、对地航速、航向信息、吃水深度、ETA等信息,并将所接收到的船舶数据一一对应地自动存入PC机的船舶数据库。本船与人工增加船舶的航行数据都是利用增加船舶对话框,按照如表4所述设定航行信息。增加的新船舶信息需要把整个航程进行分段,并为每一个小航行区间设定各种状态,经过汇总所有时间段的全部航行数据,整个航程的每部分航行状态就都能表达清楚;PC机中的数据库就能包含所有船舶在海上的航行动态情况,然后根据每一船舶的航速和航向就可以判断出与其他船舶之间是否存在碰撞危险。
表4MMSI信息数据
起始UTC
终此UTC
船位
船速
航向
吃水
转向率
经纬度









由于船舶航行动态情况发生变化时,AIS发送信息的频率也会随之发生变化,仿真程序需要采用对应的频率去接收数据并存储在数据库中,并计算出与所有船舶之间的碰撞参数。因此每一船舶都要设定自己唯一的航行数据表,这样才不至于互相混淆,也便于程序计算所有船舶之间的碰撞参数。数据库要求按照时间与速度变化频率不断地改变船舶位置,时间的间隔根据AIS发送数据频率来设定(如表5),这样依据数据库中任意不同时间对应的船舶位置信息就可以在PC机中显示所有船舶的航行状态。
表5AIS船位报告频率
船型
报告频率
锚泊船
1次/3分钟
0-14节航速的航船
1次/12秒
航速为0-14节并且在改变航向的航船
1次/4秒
14-23节航速的航船
1次/6秒
航速为14-23节并且在改变航向的航船
1次/2秒
超过23节航速的航船
1次/3秒
航速超过23节并且在改变航向的航船
1次/2秒
3.3航行仿真
首先要把一台正在工作的AIS接收机的串口与PC机的串口连接,然后才能启动仿真软件。仿真软件运行的第一步应该根据所接收的部分船舶运动状态再适当地增加设置船舶;除了按照AIS所接收到的船舶之外还应该设置本船和另外增加一定数量的船舶来模拟多船相遇的场景,每一艘船舶都要按照3.2节所述增加恰当的航行数据并设定最小CPA。
仿真程序运行过程中,如果我船航行的相对航向线与其他船舶的最小CPA圆相交时,判断为紧急状态,程序立即暂停并为这两船跳出更改航向或航速的对话框;如果输入数据后他们的CPA大于设定的Mini CPA,且不会和其他船舶构成碰撞危险,则说明这次避碰成功。假如输入的新航向或新航速不满足要求,则继续跳出更改数据的对话框,直到完全让清为止。如果航行过程发生如图2所示的多船与本船存在碰撞危险时,按先急后缓原则,陆续跳出需要更改航向、航速的对话框。只要我船航行矢量与其他船舶的Mini CPA相交,或者其他船的航行矢量线与我船的Mini CPA相交,程序都会暂停,直到相互让清后程序才会继续进行。因为整个过程都与数据库关联着,所以该仿真程序还具有回放功能,如果选择了我船的某一UTC时间开始运行就进入了回放进程,程序运行到出现碰撞危险局面为止,此时仍然需要更改船舶航向、航速,软件才能继续运行。
图2仿真船舶碰撞态势
4结语
仿真是为了让培训学员从视觉上感触当船舶在海上航行过程中存在碰撞危险时,结合避碰规则所应该采取的适当行动,这样才便于学员理解避碰规则的各条规则。该软件可以很方便地讲解部分航海课程,如:船舶操纵、信号、船舶避碰和关于AIS的课程等。此软件不足之处是尚未开发网络版仿真软件,无法让所有学员亲手操作,只能供教师教学演示。


作者:福建交通职业技术学院 江衍煊 张诗永 陈福金 陈宏  来源:航海技术
  

ajdyyyy 该用户已被删除
发表于 2011-12-19 18:00:28 | 显示全部楼层
{:soso_e100:}{:soso_e100:}
王建联 该用户已被删除
发表于 2011-12-20 21:19:58 | 显示全部楼层
学习了,谢谢猴哥。
发表于 2011-12-25 18:58:05 | 显示全部楼层
AIS串口输出的信息非常多,限于篇幅仅分析利于仿真设计的语句,如:

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[tr][td]

-----误导!

发表于 2011-12-25 18:59:06 | 显示全部楼层
AIS串口输出的信息非常多,限于篇幅仅分析利于仿真设计的语句,如:

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[tr][td]

-----误导!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|隐私政策|注册协议|注册协议|Landho 看海-懒猴航海-电子海图 ( 津ICP备19004518号-1 )

GMT+8, 2025-5-1 07:06 , Processed in 0.088844 second(s), 33 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表