基于误差分析的莆田港区预警研究*
2022-12-10江衍煊江书洋
江衍煊,江书洋
(1.福建船政交通职业学院,福建 福州 350007; 2.上海交通大学,上海 200434)
引言
海运与河运是当前世界上最廉价的运输方式,目前全球超80%的货物运输都依靠船舶进行运输,船运对其效率、安全和最优化是海运与河运的工作重点.卫星导航技术与船舶通信导航的综合应用有效地保证了航行安全.船舶安全航行所需的避碰六要素中船舶航向与航速既可以通过雷达标绘获取,也可以通过卫星确定,最近会遇距离CPA与到达最近会遇点的时间TCPA是避碰的重要参数.卫星定位信息通过AIS传递,若AIS没有正常传输相关信息[1],船舶之间的安全航行的预判将受到破坏,有发生碰撞的危险.若AIS出现以下任意故障都有可能引发船舶事故:静态数据设置错误、恶意关闭设备发射模块、天线问题、设备死机、设备老化故障、超功率发射,本文研究的预警系统可以避免以上故障的发生,研究成果以期为船舶的正常运行提供参考.
1 VTS的功能
船舶交通管理系统VTS(Vessel Traffic Service)集中了卫星、雷达、AIS、CCTV、通讯等共同组成对港湾以及进出港口的船舶实施监控、协调,并为港区船舶提供安全信息[2].如图1是莆田兴化湾VTS海图,所有进入该管辖范围的船舶在其规定的报告线内都在其监控之中.VTS增进了船舶交通安全、提高了船舶通航效率,由于港区船舶通航密度大,航行状况复杂,因此要求所有的船舶根据可靠的避碰参数进行导航操纵才能保证安全航行.
图1 莆田VTS监管区
传统的VTS通过雷达采集船舶数据并跟踪,通过VHF话音通信确认船舶的信息.卫星定位信息通过AIS进行播发之后,VTS的船舶数据采集与跟踪服务自动运行,自动识别信号覆盖范围内的船舶,收集更齐全的船舶数据,依据卫星AIS可扩展跟踪范围并改善跟踪性能.
2 雷达定位
2.1 雷达定位原理
雷达波在空间以等速直线进行传播,遇到障碍物会发生反射.航海雷达的定位是利用固定周期向四周发射微波脉冲,按照同一方向上反射回来电磁波的时间差计算出微波所探测到物体的距离和方向.其中物标的距离S根据雷达波离开天线的时间t1和遇到物标反射回来的时间t2得出.
(1)
式(1)中,C为电磁波的空间传播速度,C=3×108m/s=300 m/us;Δt为电磁波往返的时间差.
2.2 雷达位置信息
一般情况航海雷达的扫描周期为每分钟24转,因此其定位周期为2.5 s.航海雷达每2.5 s获得一次物标信息,按照时间差计算物标与天线之间的距离,天线作为坐标原点,天线旋转角度用极坐标方式表示物标的方位.雷达与其他仪器之间传送的数据系列根据NMEA0813协议格式,如表1中第10位和第11位所示,航向精度0.1°,距离精度0.001海里.
表1 雷达系统数据
具有ARPA功能的雷达在跟踪目标船时,根据NMEA0183协议的数据格式如表2,第9位和第10位为目标船与本船舶之间的CPA和TCPA值,作用是判断是否处于紧迫局面.
表2 雷达跟踪目标数据
3 卫星定位
北斗卫星导航应用于高精度测量、地理数据采集、地面车辆监控调度和导航、航海、航空、航天、军用、授时等服务.北斗导航系统采用三种轨道类型,分别是GEO卫星定点在赤道上空的同步轨道中、MEO中轨道卫星定位、IGSO卫星运行轨道在地面投影呈南北对称的8字形.
3.1 北斗卫星的定位原理
北斗卫星的定位原理与传统的卫星定位基本上是一致,包括与4星伪距交于一点的三球交会方式确定三维位置,或者与3星伪距计算二维位置,此外北斗增加了具有自身特色的双星定位.北斗导航系统在投入使用之际考虑到需要与其他卫星导航系统的兼容,按照世界地理坐标系(WGS-84)为基准进行设计,坐标系统原点位于地球的质心,Z轴指向国际时间服务定义(BIH)的协议地球极(CPT)方向,X轴指向BIH的零子午面和地球极CTP赤道的交点,Y轴与X轴和Z轴共同构成右手系[3].
3.2 卫星位置数据的编码
北斗卫星的定位信号通过船舶自动识别系统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].
3.3 位置信息的解码
以“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信息解码
4 数据格式转换
将雷达定位与卫星定位进行信息融合处理的重点是要求信息时间、空间统一,两定位信息的坐标点要一致,最终目标是形成对应定位中心.
4.1 雷达位置格式的特点
雷达的定位特点是以极坐标方式表示的向量,用极轴ρ表示距离,用θ表示方向,因此转换成平面坐标时,以雷达当前位置坐标(X0,Y0)加上对应的增量就是相应的目标位置(XR,YR),该定位是普通所用的BJ-54坐标系,与大地坐标系WGS-84还有一定的区别,大地坐标系是根据地球椭球体和比例尺按照纬度渐长特性所生成的.
XR=X0+ρSinθ
YR=Y0+ρCosθ
(2)
4.2 BJ-54坐标转换
雷达极坐标的定位格式根据式(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,可通过软件完成转换.
5 建立数据库
雷达的定位特点是每2.5 s提供一次定位信息,卫星定位是每秒一次,雷达的位置信息与卫星定位系统存在区别,需要通过转换成相同的定位坐标以便于输入数据库进行坐标对比.
5.1 位置数据采样
由于卫星定位是严格根据UTC时间进行,而雷达定位是随机开启的,同时两者的定位频率也不一致,雷达定位间隔时间比较长,所以在获取前几个位置需进行同步过程.该过程需要对卫星位置在时间采样中采取处理算法,即在卫星定位中采用二次插值法在每两个位置点中央再生成一个位置,这样每5个卫星定位信息就有1次与雷达定位信息一致,可以提高比较雷达和卫星定置之间的相应关系.
5.2 数据的输入
雷达和卫星船位输入MY SQL数据库时使用INSERT 语句,它有两种语法形式,分别是 INSERT VALUES 语句和 INSERT SET 语句,本案例采用第2种方法更利于分清楚具体哪列需填充对应的数值[5].
INSERT INTO <表名>
SET <列1> = <值1>,
<列2> = <值2>,
<列3> = <值3>,
┉┉
5.3 位置数据序列
由于雷达定位信息与卫星定位数据的间隔不一致,卫星的定位信息每秒都有一个数据位置.雷达位置每2.5 s一个位置,根据插值法计算每秒一个位置.雷达定位信息每5 s才有原始数据,其他时间点的定位数据是推算获得,因此比较两组数据的异同需考虑多次定位数据.
5.4 计算两系统的位置差
雷达定位与卫星定位数据一一对应生成之后,考虑港区船舶数量大,实时性强,环境复杂,定位信息的融合必须考虑各种算法的有效性、可靠性[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()函数进行处理特定地理中的两个位置间距离,不仅速度快,而且精度可达到米级,完全符合航海中的精度要求.
5.5 判定AIS工作的依据
根据以上程序可以计算出带误差的雷达定位数据和卫星天线所确定的位置数据之间的距离,一般情况两系统给出的位置距离是一个很小的固定值.VTS的雷达定位信息固定每2.5 s周期内探测一次港区的船舶位置,而卫星位置通过AIS进行传输是主动发射,如果通过计算发现两位置的误差突然变大,而且持续变大,则可以判断AIS发射的位置信息出现故障[7].
5.6 三种异常情况分析
当没有开启AIS的船舶进入港区被数据库发现,数据库立刻将其归入VTS的警示名单中.如果船舶在港区航行期间AIS工作异常或者定位数据传输中断,也会被VTS数据库系统将发现,港口监督机构很快反应,并通知该船的操作人员[8].如果船舶进入港区后再将AIS关闭,定位跟踪数据库中按照原有的雷达数据与卫星数据就会发现该船舶的异常情况,系统将该船列入“异常”船舶进行呼叫并监控[9].
6 结论
在VTS监管的区域里面,根据大数据的特点,所有船舶都在“天眼”跟踪范围内,在监控区中船舶即使没有开启AIS仍然被VTS数据库所记录.数据库设置时间阈值为10 min,当AIS丢失信号超时了,在电子海图中就把该船通过雷达提供的船位以变大变粗变红方式“高亮”地显示在VTS的监控屏幕上.VTS结合该数据库还可以将CCTV高清探头信息进行融合,便于及早筛查出特殊水域的船舶是否发生违章.