基于神经网络的无人船自主靠泊模拟研究

2021-03-11 02:01贾玉鹏神和龙张秀凤
中国航海 2021年4期
关键词:泊位坐标系船舶

贾玉鹏, 神和龙, 尹 勇, 张秀凤

(大连海事大学 航海动态仿真和控制交通部重点实验室, 辽宁 大连 116026)

大型船舶靠泊被认为是最困难的船舶操纵之一。当船舶低速靠近泊位时,船舶的操纵性与可控性急剧下降,并且由于岸壁效应与浅水效应,导致大型无人船的靠泊更加困难[1]。人工神经网络(Artificial Neural Network,ANN)具有较强的非线性映射能力,可以学习经验丰富船长的操纵过程,被广泛应用在自主靠泊控制器中。2002年,Mizuno等[2]提出了基于神经网络的船舶最小时间操纵系统。该方法既可以用于插值预计算的最小时间解,又可以补偿模型误差以及干扰引起的误差。这个控制策略在“Shioji Maru”号实习船上进行海试并取得了理想的效果。2012年Ahmed[3]采用虚拟窗口技术,解决了神经网络自动靠泊控制中训练数据的一致性问题,实验验证了该方法也可以增强控制器对风干扰的处理能力。2013与2014年Ahmed、Hasegawa等[4-6]考虑舵角受限的情形,进一步增强了样本的一致性。同时首次考虑了阵风的干扰而不是均匀风,通过对不同船舶的靠泊实验,验证了其设计的ANN控制器的有效性。2018年Im与Nguyen等[7-8]提出了一种“艏向上”的坐标系统,他们将ANN的输入由船舶位置坐标更换为船舶距离泊位间距、航向与虚拟引航线的夹角,这样极大增强了控制器的适用范围。张强、张显库等[9]通过取消虚拟导航线与位置辅助线参数,来解决多参数船舶自动靠泊神经网络控制器的负荷问题。在大样本的数据处理中,采用有效数据提取方法优化控制效果,缩短计算时间,提高了控制的实时性。

传统ANN控制器虽然在靠泊仿真过程中取得了较好的效果,可以成功将船舶停靠在距离泊位1.5倍船长内,但忽略了车令与螺旋桨转速、舵令与实际舵角之间的映射关系,并且在靠泊完成后船艏向与泊位岸线方向偏差较大,船艏偏差20°[9]。本文以“银河号”为研究对象,采用考虑舵令、车令响应的船舶运动数学模型,尝试采用人工神经网络实现无人商船的自动靠泊控制,以减小靠泊完成后的船艏误差。

1 靠泊问题的提出

大型商船的自主靠泊通常为靠泊与系泊操纵两个阶段。第一阶段是船舶由锚地或进港航道减速至泊位附近,这时要求船艏向与泊位基本平行。第二阶段是利用侧推器、缆绳与拖轮等辅助设备实现船舷与泊位碰垫的完全靠拢。由于大型集装箱船一般只在船尾安装一个推进器,首尾无侧推器,属于典型的欠驱动系统,因此本文针对大型商船设计的靠泊控制器重点解决第一阶段的靠泊问题。本ANN自主靠泊控制器的目标是将船舶成功停靠在泊位首尾线限定范围内、与岸线夹角小于10°、速度减小到0.05 m/s以内、船舶靠泊位一侧与岸线距离在一倍船长内。

在过往的神经网络控制器中,为了降低计算负荷,选择性地提取靠泊数据,这样虽然可以加快网络的训练速度,但丢失了部分信息的数据导致在靠泊完成后误差较大。因此本文在训练样本时,选择提取手动靠泊过程中的全部运动状态值来训练网络,以提高精度。

2 船舶港内操纵数学模型

本文采用六自由度船舶运动数学模型,考虑风、流、浪等外力对本船运动的影响[10-12]。借鉴MMG(Maneuvering Modeling Group)分离建模思想,在惯性坐标系与附体坐标系中描述船舶运动(见图1),O1-x1y1z1为固定在地球表面的坐标系,其中O1x1指向正北,O1y1指向正东,O1z1指向地心。O-xyz为附体坐标系,Ox指向船艏,Oy指向船舶右舷,Oz指向船底。在这两种坐标系下,船舶运动可以通过沿附体坐标系的三个坐标轴平移与绕三个坐标轴旋转来描述,其名称说明如表1所示。

图1 船舶惯性坐标系和附体坐标系

表1 船舶运动描述

六自由度船舶运动数学模型为:

(1)

式(1)中:符号XH、YH、ZH、KH、MH、NH分别表示裸船体在相应自由度上受到的力与力矩,下标为P、R的变量分别为螺旋桨和舵的力和力矩;下标为wind与wave的变量分别为风与浪的力与力矩;u、v、w、p、q、r分别表示在相应自由度上的速度与角速度;Ixx、Iyy、Izz分别为船体自身绕Ox、Oy、Oz轴的转动惯性矩;Jxx、Jyy、Jzz分别为绕Ox、Oy、Oz轴的附加惯性矩;m为船舶质量;mx、my、mz分别为纵向、横向和垂向船舶的附加质量。

3 大型商船的ANN控制器设计

3.1 设计靠泊实验

设计靠泊选定的船舶为“银河号”集装箱船,其主要参数见表2。靠泊实验起始点经纬度为 (39°00.352 7′N,121°41.453 4′E),初始速度为4 kn,船艏向为真北45°(泊位岸线真北方向为15°)。在V.Dragon-5000航海模拟器中手动控制车与舵进行多次靠泊实验,最后选择效果理想的靠泊数据进行训练。船舶在人为操纵下将速度减小至0.05 m/s以内,并成功停靠在泊位附近。图2a可以看到船舶在电子海图中的位置,船舶前方箭头为速度矢量线,其方向表示船舶的运动方向,长度表示船舶运动速度的大小。靠泊全程如图2b所示,靠泊全程的船舶状态信息如图3所示。

表2 “银河号”参数

a) 初始位置

图3 手动靠泊实验的船舶参数

3.2 ANN控制器设计

随着科技的发展,越来越多高精度的传感器应用于船舶辅助决策上。作为本神经网络控制器输入的船舶运动状态量:经度、纬度、船艏向、横向速度、纵向速度与转艏角速度可以从现有的传感器,如GPS、罗经、姿态测量仪等方便地得到。如图4所示,采用三层BP神经网络来作为自主靠泊的控制器。控制器的输入为船舶的运动状态信息,输出为舵令与车令,在每次训练中不断计算权重与偏差,使其达到期望值,学习结束后将样本模式以连接权与阈值的形式,分布记忆在控制器中。控制器通过对训练数据提供的靠泊模式进行学习训练并储存此模式,在重新输入新的船舶运动信息时,控制器实时地输出舵令与车令来完成自主靠泊,整个实验的设计流程如图5所示。

图4 ANN控制器结构

图5 自动靠泊流程

为了消除不同单位下的数据对神经网络的影响,在训练之前将全部q组数据利用式(2)进行归一化处理。式中x为归一化前的数据原始值。xmin,xmax分别为归一化前数据的最小值与最大值。y为与x相对应的归一化后的值,ymin,ymax为设定归一化后的阈值,此处设为-1与1,可以将训练数据归一化到(-1,1)的区间内。

(2)

在设计的三层BP神经网络中,Hn为隐层的第n个节点处的输出,可以表示为:

(3)

式(3)中:Wjn为输入层节点m到隐层节点n的网络权重,θn为隐层节点处的阈值。输入层到输出层的激活函数为Tan-Sigmoid(S型正切函数),其计算公式为式(4),其返回值位于(-1,1)的区间中,其中net_n为隐层输入的列向量。

(4)

同理,输出层的第p个节点的输出Op如式(5)所示。其中,Wip为隐层节点n到输出层节点p的网络权重,θp为输出层节点处的阈值。

(5)

因为隐层激活函数的返回值已经位于(-1,1)之间,所以可以不再采用传统的输出层激活函数Satlin,而选用更为简捷的Purelin函数,如式(6)所示,其中net_p为输出层输入的列向量。

f2(net_p)=net_p

(6)

输出节点的误差Eo为:

3.3 训练数据

本小节将手动操纵环节得到的靠泊记录作为神经网络数据驱动。将数据以[lat,lon,hdg,u,v,r]T的形式保存,作为神经网络训练数据的输入,将神经网络的输出保存为[OrderRPM,OrderRud]T,神经网络的学习速率设置为0.01,目标误差设置为1×e-7。在网络训练完成后,即可作为自主靠泊控制器使用。

将式(2)求逆,可得到待求网络输出反归一化方程:

(8)

在训练结束后,将所使用的船舶状态信息再作为网络输入,通过式(9)即可得到网络的输出[OrderRPM,OrderRud]T,将其与手动靠泊记录的车舵命令信息对比如图6所示。可以看出神经网络的输出与训练数据中的输出符合度较高,验证了设计的ANN控制器可以代替经验丰富的船长给出合理的车舵命令,能够进一步进行靠泊实验。

[OrderRPM,OrderRud]T=f3(OP)=

(9)

a)命令车钟

4 自主靠泊实验

在上一环节中,验证了所设计控制器与原始状态下的输出符合度较高,证明了ANN控制器对靠泊决策这一强非线性过程的映射能力较好。但是仅仅把测试数据作为控制器输入得到的车舵命令与原始数据比较还不能证明所设计控制器的稳定性,这一环节忽视了控制器实时性对整个控制过程的影响。

为了进一步测试所设计ANN控制器的稳定性能与泛化能力,在原始位置与更改船舶的初始位置(在V.Dragon-5000航海模拟器中的电子海图上将船舶移动,并更改船艏向,初始速度保持不变,如图7所示,灰色船舶轮廓为船舶原始位置)分别来进行靠泊实验:将船舶运动状态实时传送给控制器,控制器输出的车舵命令发给模拟器来解算船舶运动数学模型。自主靠泊过程如图7所示,其中一次更改初始点之后靠泊的船舶运动状态信息、车舵命令与实际车舵数据见图8。

a) 初始点不变靠泊

图8 改变初始点后一次靠泊实验的船舶参数

手动靠泊、初始位置自动靠泊与更改初始位置后的靠泊参数如表3所示,两种情形下的船舶自动靠泊均达到了设定的靠泊目标,验证了本ANN控制器的泛化能力达到要求。从图9可以看出,更改初始点后船舶的靠泊轨迹与手动靠泊轨迹十分接近,证实所设计的ANN控制器的训练效果良好。

表3 靠泊参数对比

图9 手动靠泊与自动靠泊(更改初始点)轨迹对比

5 结 论

针对在过往ANN控制器靠泊结束后船艏向与岸线偏差较大这一问题[9],将只选择靠泊过程中的重要节点数据改变为训练整个过程。同时,为了更加符合实际靠泊情形,将控制器输出由螺旋桨转速、舵角改为车令与舵令。在V.Dragon-5000航海模拟器中选取“银河号”集装箱船,移动初始点之后,进行自主靠泊仿真实验,可以完成指定的靠泊任务。

本控制器使用的训练数据都可以通过现有的传感器:GPS、姿态测量仪、罗经等精确得到;将ANN控制器收到船舶信息到给出车令与舵令视为一个控制步,计算了整个控制过程的平均步长为26.2 m,完全满足实际过程中对控制器的实时性要求。经过实验验证,本控制器可以在前移130 m范围内,船艏向在42°到47°之间可以完成靠泊第一阶段的任务,本文所有实验都在一级风浪干扰下进行,对于进一步增大初始船位移动范围,并考虑更高风级的干扰将是接下来的重点研究方向。

猜你喜欢
泊位坐标系船舶
《船舶》2022 年度征订启事
船舶!请加速
BOG压缩机在小型LNG船舶上的应用
解密坐标系中的平移变换
坐标系背后的故事
基于重心坐标系的平面几何证明的探讨
船舶压载水管理系统
湄洲湾港斗尾港区部分泊位竣工验收
基于排队论的区域路内停车最优泊位占用率研究
Anti-ageing effects of a new Dimethylaminoethanol-based formulation on DGalactose induced skin ageing model of rat