白伟伟, 任俊生, 李铁山, 张秀凤
(大连海事大学 航海学院, 辽宁 大连 116026)
基于全局最优局部加权学习算法的船舶操纵运动辨识
白伟伟, 任俊生, 李铁山, 张秀凤
(大连海事大学 航海学院, 辽宁 大连 116026)
运用一种基于全局最优的局部加权学习(Locally Weighted Learning,LWL)算法进行船舶操纵运动辨识建模。该方法是一种基于计算机存储的离线学习的黑箱建模方法,直接考虑船舶运动状态输入与输出之间的映射关系,可克服传统机理建模及参数辨识模型中存在的参数漂移问题和未建模动态问题。对样本点进行重新排列并提高输入空间的维度,解决船舶运动状态一对多映射和不可分问题。通过学习“Mariner”轮的三自由度数学模型,并进行旋回试验、Z形试验及逆螺旋试验,验证算法的有效性。
水路运输;全局最优;局部加权学习;辨识;船舶操纵性
Abstract: Global-optimal-based Locally Weighted Learning (LWL) algorithm is applied to ship maneuvering motion identification modeling. LWL as a black box off-line modeling algorithm based on the computer memory, makes directly mapping between input and output of the ship motion states, therefore, eliminates the problems caused by parameter drifting and unmodeled dynamics, which exist in the mechanism modeling and parameter identification modeling. One-to-many mapping and inseparability of ship motion states are dealt with by sample rearrangement and raising the input dimension. The effectiveness of the algorithm is illustrated with learning a 3-D Mariner class vessel mathematical model then performing several maneuvering simulations, including: turning tests, zig-zag tests and reverse spiral tests.
Keywords: waterway transportation; global optimal; LWL; identification; ship maneuverability
船舶操纵仿真预报是研究船舶操纵性的一种重要手段,包括船舶操纵模拟器[1]仿真和船舶运动状态预报[2]等。船舶运动数学模型的精度对预报性能有直接影响。辨识建模通过系统输入、输出的样本数据解算出输入与输出之间的映射关系,其作为一种船舶操纵运动建模方法近年来受到广泛关注。
局部加权学习(Locally Weighted Learning,LWL)算法[3]是一种非参数学习算法,被广泛应用于单输入单输出[4]、仿人机械手臂[5]、拟人机器人[6]、电力装备评估[7]和非线性时滞动态的模型预测控制[8]等系统中。
为改善LWL算法的拟合效果,相关学者对确定邻域大小进行研究。文献[9]对各种邻域确定方法展开系统性讨论。文献[10]针对一组严重非线性的人工合成数据,运用全局最优的LWL算法取得良好的拟合效果。因此,具有大惯性的船舶也适宜采用该算法。全局最优的LWL算法具有强的鲁棒性和抗干扰能力。在干扰服从正态分布的前提下,LWL算法可实现线性无偏估计。
上述系统与船舶操纵运动系统有本质区别。由于船舶具有大惯性,因此系统输入与输出表现为一对多映射,即舵角改变1次,船舶运动状态对应改变多次,这种现象被称为系统对输入响应的时滞。由于一对多的映射不是数学意义上的函数关系,因此很难找到一种函数拟合该映射。解决该问题的一个简单、有效的途径是对输入空间进行升维。这里将系统上一时刻的拟合结果作为下一时刻系统的输入来提高输入空间的维度。对船舶进行Z形操纵试验时,各运动变量呈周期性变化,LWL算法不能区分出相对于输入的上一时刻和下一时刻,称之为不可分现象。解决该问题的关键是让算法学习船舶运动趋势,因此将船舶运动加速度信号引入到输入空间中。舵角、上一时刻的运动状态变量(包括纵向速度、横向速度、转艏速度)和加速度(包括纵向加速度、横向加速度和转艏加速度)共同组成LWL算法辨识的输入。
将全局最优的局部加权学习算法应用到船舶操纵运动辨识建模中,为船舶操纵仿真预报提供更为精确的数学模型。
采用FOSSEN[10]提出的三自由度船舶运动数学模型验证该算法的有效性。“Mariner”轮的三自由度船舶运动方程见式(1),该模型中的输入信号仅有舵角。
(1)
以该水动力模型为研究对象,运用一种全新的系统辨识方法解算出系统输入与输出之间的映射关系。辨识算法以该模型预先采集的样本点和预测点作为辨识系统的输入,预测输出船舶的运动状态。样本点数据包括船舶模型的输入舵角和输出的运动状态变量。预测点的输入包括船舶当前时刻的舵角和上一时刻的运动状态变量;预测输出为船舶当前时刻的运动状态变量。
2.1高斯核函数
LWL算法通过自动调整接受域的大小来确定回归样本数量;同时,每个样本点和预测点都采用相同的处理方式。其实质是为每个预测点建立一个局部线性模型,每个局部模型的参数及接受域的大小都由核函数(或称加权函数)来确定。核函数利用距离计算出每个样本点的权重值,常用的加权函数是高斯核函数,即
K(d)=e-d2
(2)
式(2)中:d为距离。核函数通过距离测度决定接受域的大小,距离测度通常有以下2种形式:
1) 隐性距离测度,以矩阵的形式隐藏在距离矩阵中。
2) 显性距离测度h,通过h直接调节接受域的大小。
(3)
图1为高斯核函数与距离测度的关系图,其中:横轴为样本点据中心的距离;纵轴为权值;横轴0点为预测数据点,以该点为中心,随着h增大,接受域的半径逐渐增大。距离没有负值,符号用来表示不同的方向。与中心的距离下降得越快,囊括在核函数内的样本点越少,反之越多。距离测度足够大的核函数可囊括所有样本点,这样就变成全局线性回归。h的大小直接决定LWL算法的预报性能。
2.2距离
对样本点的加权可视为对相似点的重视和对较远点的舍弃。一种简单的鉴别相似度的方法是计算预测点与样本点之间的距离。距离描述预测点与样本点的相关性。距离有很多函数(如马氏距离、欧氏距离等),这里采用较为简单的马氏距离。
(4)
式(4)中:d(x,q)为样本点x与预测点q之间的距离;j为样本点的第j维。距离不仅能表示2个点的相似、相近程度,而且能描述接受域的大小和形状。
2.3目标函数
为说明算法的拟合效果,引入均方误差(Mean Square Error,MSE)目标函数。
(5)
若各点误差之和的平方最小,则说明拟合效果较好。为更好地得到预测点的输出,对准则式进行加权实际上就是要求局部模型去更好地拟合临近点,而忽略偏远点。
(6)
这里提出的是一种全局最优的算法,船舶操纵运动数据变化缓慢且数值数量级较小,误差的数量级更小。因此,选取样本点局部残差的平方和作为目标函数。
(7)
2.4LWL算法
函数拟合是找出样本点输入与输出之间的潜在函数关系,常用的方法是利用样本点训练出全局的函数模型。然而,针对严重非线性问题,很难找到满足要求的函数关系,且计算量较大。另一种方法是建立多个局部模型代替全局模型。LWL算法是用来解决局部逼近问题的一种经典方法,由于所用的训练样本数据都存储在计算机内存中,因此又称之为基于存储的学习方法。LWL算法的关键是用分段的线性模型逼近非线性方程,类似于一阶泰勒级数展开。[4]
选择标准的回归模型,即
y=f(X)+ε
(8)
式(8)中:X=[x1,x2,…,xj]T为N维输入向量;y为模型的一维输出;ε为均值为零的噪声项。采用线性回归映射,即
(9)
1) 用各样本点减去预测点,计算预测点与各样本点之间的距离。
2) 运用高斯函数计算出各样本点相对于预测点的权重。
wi=K(d(xi,q))
(10)
权值为<1的非负数,采用式(3)和式(4)计算,随着预测点与样本点之间距离的增大而减小。高斯核函数的权值还与距离测度有关,在首次计算预测点预测值时,赋予距离测度一个较小的初值。接受域距离测度舍弃距离预测点过远的样本点,从而形成一个以预测点为中心的局部邻域。将计算得到的权重分别加在对应的样本点上,即存放样本点输入值的矩阵X和样本点输出的矩阵y的每一行都乘以对应的权值,记为新的矩阵Z和v,则有
(11)
(12)
式(11)和式(12)中:W=diag(w1,w2,…,wj)。
由最小二乘法可得
(13)
则LWL算法对预测点的计算式为
(14)
式(14)中:q为预测点的输入向量。
(15)
采用留一交叉验证对半径因子h进行学习更新,选择式(7)作为学习准则,选择学习步长为λ。
h(k)=h(k-1)+λer(k-1)
(16)
在MATLAB环境下进行仿真试验,计算机配置为主频3.2 GHz和4 GB运行内存。为充分激励船舶运动特性,设计一系列特有的训练试验。
1) 设计4组8字形试验,船舶按照数字8的轨迹进行操纵。操纵时,首先向一舷操一定的舵角,当艏部转过360°时,操大小相同的反舵角;当艏部再次转过360°时,再次操大小相同的反舵角;当艏部再次转过360°时,停止试验并记录整个试验过程中的舵角、速度变量和加速度变量。图2为8字形试验的轨迹图(25°),原点代表船舶始发点,x轴正方向为正东,y轴正方向为正北。试验记录见表1。
2) 为进一步激励船舶操纵特性,将Z形试验的数据加入到训练数据中,试验记录情况见表2。
在前期工作中采集3组样本数据验证该算法的有效性和可行性,第1组为旋回试验,第2组为Z形试验,第3组为逆螺旋试验,试验记录情况见表3。
编号舵角/(°)样本点个数/个1152064220189532518704301791
表2 Z形试验记录结果
表3 测试试验记录结果
图3~图5为22°旋回试验的仿真结果。图3中,本文算法曲线和模型数据曲线重合度很高,且误差较小;图5中的轨迹预测也具有较高的精度。由仿真结果可知本文算法对船舶运动建模的有效性。
图6~图8为Z形试验的仿真结果(35°)。该组试验预测的数据是训练数据范围以外的数据,且Z形试验相较旋回试验非线性程度更为严重,图中预测曲线与仿真曲线重合度较高,且误差较小。图8中本文算法得出的超越角与模型数据得到的超越较接近,可看出仿真结果的有效性,说明本文算法对训练数据集范围外的数据也有一定的预报能力。因此,算法具有一定的泛化能力。
图9~图10为逆螺旋试验的仿真结果。从图10中可看出:当舵角<20°时形成一一映射,近似于线性关系,说明船舶模型在该操纵范围内具有航向稳定性,操纵性良好;当舵角>20°时,曲线形成一种近似的多值对应关系,说明船舶在该操纵范围内航向稳定性较弱,操纵性不好。图10中本文算法与模型数据的2条曲线几乎重合,说明了本文算法的有效性。
综上,LWL算法是一种针对船舶操纵运动建模的有效学习方法。Z形试验、旋回试验及逆螺旋试验的良好预测效果表明,LWL算法可很好地学习到船舶操纵运动特性。此外,LWL算法可对训练数据集以外的与训练数据相似的数据进行预测,表明该算法具有一定的泛化能力。从图3~图10中可看出,误差总会维持在可接受的范围内,具有较高的建模精度。
运用LWL算法进行船舶操纵运动建模。该算法原理简单、易于实现,具有较强的鲁棒性。通过提高输入空间的维度,可解决船舶运动状态的一对多映射问题和不可分问题。与传统的参数辨识算法相比,本文算法直接学习船舶运动状态输入与输出之间的映射关系,理论上能有效提高建模精度。从仿真结果中可看出,LWL算法能对与训练数据相似的训练数据集以外的测试数据做出很好的预报,具有一定的泛化性。仿真结果说明了本文算法的有效性。
[1] 王德龙,任鸿翔,肖方兵. 船舶操纵模拟器单船避碰自动评估系统[J].中国航海, 2015,38(1):44-48.
[2] 蔡奉君,胡勤友,施朝健,等. 一种船舶运动状态插值算法[J].中国航海, 2015,38(1):71-74.
[3] CLEVELAND W S. Robust Locally Weighted Regression and Smoothing Scatterplots[J]. Journal of the American Statistical Association, 1979,74:829-836.
[4] SCHAAL S, ATKESON CG. Robot Juggling: Implementation of Memory-Based Learning[J].IEEE Control Systems,1994,14(1):57-71.
[5] VIJAYAKUMAR S, SCHAAL S. Real Time Learning in Humanoids: A Challenge for Scalability of Online Algorithms[C]//IEEE-RAS International Conference on in Humanoids, 2000:7-8.
[6] LIU W, QUE H, WANG G, et al. Assessment of Electric Power Equipments Aging Trend Based on Robust Locally Weighted Regression Algorithm[C]. //Asia-Pacific Power and Energy Engineering Conference, 2010:1-4.
[7] LEHNERT C, WYETH G.Locally Weighted Learning Model Predictive Control for Nonlinear and Time Varying Dynamics[C]. //IEEE International Conference on Robotics and Automation, 2013:2619-2625.
[8] MIILLER HG, STADTMULLER U. Variable Bandwidth Kernel Estimators of Regression Curves[J]. Annals of Statistics, 1987,15(1):182-201.
[9] 石庆龙. 基于LWR算法的避障行为学习控制器设计及其在机器人上的实现[D]. 重庆:重庆大学,2013.
[10] FOSSEN T I. Guidance and Control of Ocean Vehicles[M]. New York: Wiley Pages, 1994:431-432.
Global-Optimal-BasedLocallyWeightedLearningforShipManeuveringMotionIdentification
BAIWeiwei,RENJunsheng,LITieshan,ZHANGXiufeng
(Navigation College, Dalian Maritime University, Dalian 116026, China)
U661.33
A
2016-11-10
国家高技术研究发展计划(八六三计划)课题(2015AA016404);国家自然科学基金(51109020);交通运输部应用基础研究项目(20143292-25370);海洋公益性行业科研专项经费项目(201505017-4)
白伟伟(1989—),男,山西临汾人,博士生,从事船舶运动辨识建模研究。E-mail:baiweiwei_dl@163.com
1000-4653(2017)01-0037-05