基于高斯过程回归的船舶动力学模型辨识
2022-11-26陈刚,王威,霍聪
陈 刚,王 威,霍 聪
(海军工程大学 舰船与海洋学院,湖北 武汉 430033)
0 引言
随着自主船舶技术的发展,船舶自主航行的安全尤为重要。当船舶执行避障或狭窄水域航行等高机动任务时,需要建立准确的动力学模型来预见船舶未来的运动状态或轨迹,判断控制策略是否有效或规划路径是否满足船舶运动特性,并提前采取行动避免碰撞。高精度船舶数学模型可以提供准确的运动预测,对于船舶智能导航和控制器的设计至关重要。
船舶动力学模型辨识的目标是建立数学模型,在给定船舶运动状态、推力和舵角作为输入的情况下,生成船舶测量的运动状态与模型预测运动状态之间的最佳拟合。输入和输出之间的映射越准确,现实世界与模型之间的差距就越小。
目前,船舶动力学建模主要分为基于先验模型的参数化建模和基于数据的非参数化建模。由于船舶表面不规则,水动力分析极其复杂,用第一原理建模非常困难,有许多先验模型结构用于近似表达船舶动力学。其中一些模型广泛用于水面船舶的动力学建模,如基于泰勒展开的三次Abkowitz 模型[1]和二次Norrbin 模型[2]。围绕这些模型,参数化建模开展了大量的研究工作。诸如最小二乘法[3]、扩展卡尔曼滤波器 (EKF)[4]和最小二乘支持向量回归(LSSVR)[5–6]等方法已用于船舶运动辨识。然而,这些方法都存在一些固有的缺点,如涉及参数过多,导致的多重共线性会使参数识别不准确,2 组不同的系数可以同样好地预测某一特定工况,而它们在另一个工况中表现不佳,泛化性不足。许多方法被提出来克服参数漂移的影响[7],最优截断奇异值分解 (T-SVD)[8]和最优截断最小二乘支持向量回归(T-LSSVR)[9–11]被证明可以减少估计参数的不确定性。然而,这些方法是一种有偏估计,降低了水动力系数的准确性,从而降低了参数的方差,参数不确定性问题仍未完全解决。也有各种消除变量和简化参数的模型[12–13]。然而,船舶的“真实”模型结构是未知的,确定船舶的模型结构一直是参数化建模实际应用中的一个难题。建立模型的目标是获得准确的预测,不一定是获得正确的水动力系数。
与参数化建模相比,非参数化建模几乎不需要船舶模型结构的先验信息,无需分析复杂的流体动力学,也可以获得正确的输入输出映射。近年来,支持向量回归(SVR)和局部加权学习(LWL)等机器学习方法被用于船舶动力学建模。广义椭球基函数模糊神经网络[14]用于模拟大型油轮的运动,但是,神经网络的结构难以确定。v-SVM[15]被提出来建立操纵运动模型,并通过KVLCC2 船舶实验数据进行验证,它基于结构风险最小化来克服神经网络容易过拟合但参数难以调整的缺点。一种新的基于局部加权学习(LWL)[16]的非参数辨识建模方法用于船舶动力学建模,它可以提供更高的建模精度,但存在计算复杂度高和计算时间长的缺点。核岭回归(KRR)[17–19]用于训练具有多个随机测试的模型,然而核岭回归需要执行网格搜索以进行超参数优化。总的来说,采用核函数的非参数建模避免了参数化建模需要了解模型结构的缺点,但仍然存在过拟合、超参数调整困难等问题。
高斯过程回归(GPR)可以通过最大化边际似然函数来自动优化超参数,还可以克服过拟合问题,它广泛应用于机械臂[20]和赛车[21]的动力学建模。最近,它也被引入到船舶的动力学建模中,多输出高斯过程被用来模拟集装箱船运动[22]。薛[23]通过使用带有人工噪声的模拟数据,提出了一种考虑噪声输入高斯过程来进行船舶动力学建模,但目前仅限于模拟数据,没有对实验数据进行建模。
在本文研究中,基于高斯过程的非参数回归被用于船舶动力学模型辨识,通过建立模型预测难以测量的船舶加速度。同时提出多步预测模型以提供船舶未来一段时间加速度、速度和位置信息。KVLCC2 的实验数据用于验证所提出方法的有效性。
1 船舶动力学参数模型和非参数模型
船舶动力学参数模型极其复杂,该模型包含辐射引起的附加质量、阻尼和恢复力。描述船舶动力学的参数化数学模型有很多,常用的运动方程[24]可以表示为:
其中,船速s=[u,v,r]T与位置η=[x0,y0,ψ]T的 关系如图1所示。
图1 地球和船舶固定坐标系Fig.1 Earth and ship-fixed coordinate systems
当只考虑3 个自由度模型(纵向、摇摆和偏航)时,静水恢复力和流体记忆效应可以忽略不计,不考虑外界风和流的影响,方程(1)可以简化为:
由于阻尼力D(s)的非常复杂,参数模型中通常使用二次或三次模型进行估计。根据参数化模型的表达形式,提出船舶动力学的非参数化表达如下:
其中:τ通常由推进器产生推力T和舵δ表示;s表示船舶运动速度;表示船舶运动速度,3 个自由度方向可以表示为:
2 基于高斯过程回归的非参数建模
2.1 高斯过程回归
{(xi,yi)|i=1,···,n}是回归的输入和输出,它们之间的关系可以表示为:
在高斯过程回归[25]中,y和f(x∗)的联合分布为:
f(x∗)的预测值为:
通常采用平方指数协方差函数作为核函数:
其中,ςf和Λ是核函数的超参数。使用共轭梯度或拟牛顿法算法对边际似然函数可对超参数进行优化。
2.2 船舶运动状态多步预测模型
在控制船舶时,通常希望在执行控制命令后预测未来k步船舶的运动响应。一个简单的方法是按顺序应用单步预测模型k次。在传感器信号丢失的情况下,多步预测模型用于提供未来一段时间的轨迹估计。
对于船舶动力学模型,多步预测模型的主要输入为:初始速度状态(u0,v0,r0)和接下来k步中的舵角控制命令(δ0,δ1,δ2,...δk−1)。为了简化模型,螺旋桨速度T通常可以被视为常数而不是输入变量。输出是船舶在接下来k步中的加速度,通过欧拉积分可以得速度和船舶的位置,多步预测模型的输入和输出如图2 所示。
图2 多步预测模型的输入和输出Fig.2 The inputs and outputs of multi-step prediction model
多步预测模型容易受到误差累积问题的影响,过去的误差会传播到未来的预测中。因此,有必要尽可能提高单步预测的准确性。
3 KVCLL2 船舶动力学辨识
3.1 实验船模型和数据集
自由航行试验是船舶动力学识别的常用方法。这种方法只需要测量船舶的位置和速度等状态信息,不需要测量力。此外,它还可以应用于全尺寸船舶以避免规模效应。KVLCC2 是一艘大型油轮,在国际上已被用作验证船舶模型辨识方法的基准船型。本文使用的试验数据来自在德国汉堡水箱(HSVA)进行的KVLCC2 模型自由航行试验。KVLCC2 模型的主要参数详见表1。试验开展了一系列Z 形测试,所有的数据用在20 Hz 的采样率采集。此研究中所用的试验数据见表2。
表1 KVLCC2 型号参数及尺寸Tab.1 Parameters and dimensions of the KVLCC2 model
表2 KVLCC2 试验数据Tab.2 Test data of the KVLCC2 model
3.2 基于高斯过程回归的船舶动力学辨识
传统的机动运动预测需要预测超调角和战术直径。然而,在规划路线或控制船舶避开障碍物时,操作员更需要知道在执行完一段控制命令后预测的船舶状态响应或轨迹是否与实际情况一致。因此,必须确保辨识中的控制指令和试验中的控制命令始终相同。基于高斯过程回归的非参数回归被用于船舶动力学建模。历史的控制命令和运动响应数据用于训练模型。训练后的模型可以准确预测未来任何控制命令的运动响应。
非参数建模主要适用于插值预测,为了学习一个“好”的模型,训练数据必须覆盖船舶状态空间较大范围。因此,使用5°/1°,10°/5°,20°/5°,30°/5°,35°/5°之字形测试来训练模型,数据几乎覆盖了舵角的输入空间。数据太多会使计算变慢,每间隔12 个点选1 个进入训练集,训练集中共有1 512 个训练点。25°/5°之字形测试作为验证集,预测间隔为0.05 s。
通常,加速度无法测量或者测量不准确,可以直接用速度差分代替加速度。虽然会放大噪声,使加速度不可靠,但不影响模型预测结果,因为高斯过程回归可以应用于噪声数据回归,辨识得到准确的加速度值。25°/5°Z 形试验加速度的3 700 步预测值和试验值如图3 所示。可以发现,试验中速度差分得到的加速度具有较强的振荡性,通过高斯过程回归可以很好地得到准确的加速度预测值。
图3 25°/5°Z 形运动中的加速度3 700 步预测Fig.3 3 700 steps prediction of acceleration in 25°/5° zigzag maneuver
图4 25°/5°Z 形运动中的速度3 700 步预测Fig.4 3 700 steps prediction of speed in 25°/5° zigzag maneuver
图5 25°/5°Z 形运动中的轨迹3 700 步预测Fig.5 3 700 steps prediction of position in 25°/5° zigzag maneuver
该模型训练时间为87 s,然而,训练时间并不重要,因为模型只需要离线训练一次,相比之下,预测时间更为重要,预测时间越短,可实现控制频率越高。选择不同的起始点来进行多步预测,比较预测时间和预测精度。如表3 所示,一步预测准确率高,预测所需时间短。随着预测步数的增加,预测时间会在一定程度上增加,累积误差也会增加,欧拉积分方法会导致误差随着时间的推移而增加。但模型仍能保持较高的预测精度,100 步的位置跟踪误差为0.013 m,1 000步的位置跟踪误差为0.599 m。
表3 25°/5°Z 形试验多步预测RMSE 的精度Tab.3 Multi-step prediction accuracy assessed by the RMSE of the 25°/5° zigzag test
在预测船舶运动响应时,通常假设控制输入舵角在预测区间内恒定或缓慢变化,因此时间间隔应尽可能小。在大区间预测中,舵角变化较大时,预测精度会降低。因此,为了实现多步高精度预测,应尽量选取较小的区间。
4 结语
基于高斯过程的非参数回归被用于船舶的动力学辨识,KVLCC2 的试验数据用于验证所提方法的有效性。结果表明,通过高斯过程回归辨识得到的模型可以准确预测船舶未来一段时间的运动响应。在传感器信号丢失的情况下,模型未来仍能提供准确的船舶加速度、速度和位置信息,1 000 步的位置预测误差为0.599 m。
基于高斯过程回归的船舶动力学建模模型的优点可以概括为:1)与参数辨识不同,基于高斯过程回归的模型不需要知道船舶动力学的先验模型结构,可以得到准确的从输入到输出的映射;2)与LSSVR 等其他黑盒识别相比,该模型可以通过最大化边际似然来自动调整超参数,减少因超参数不准确而导致的预测精度损失;3)该模型可以应用于噪声数据而不会过拟合,它可以准确估计难以测量的加速度。
但是,所提出方法的许多问题还需要进一步研究:对于非参数识别,训练数据必须覆盖转向角的输入空间,回转的预测和随机舵运动预测是否需要改变训练集有待进一步的实验数据验证。同时数据量越大,预测精度越高,但训练时间会更长甚至无法计算。未来的研究可以尝试将局部高斯过程回归应用于大数据船舶动力学建模。