褚式新,茅云生,董早鹏,杨鑫
(1.武汉理工大学 高性能船舶技术教育部重点实验室, 湖北 武汉 430063;2.武汉理工大学 交通学院, 湖北 武汉 430063)
近年来,由于海洋资源开发的蓬勃发展,各类智能化海洋装备都备受关注,各学者关于此类海洋装备的研究也层出不穷[1-2],其中关于无人海洋运载器(UMV)的研究最为广泛[3],UMV包括无人波浪滑翔机(UWG)[4]、水下自主航行器(AUV)[5-6]、无人水下机器人(UUV)和水面无人艇(USV)等[7-8],其中USV由于其船型轻巧、智能化等特点广泛应用在军事和商业等各个方面,各个国家非常重视USV的研究和发展[9-11]。良好的操纵性是USV智能化的基础,而操纵性的预报精度与操纵响应模型参数的精度相关。随着系统辨识学科的发展,系统辨识的方法被广泛应用在各种模型参数的辨识上,改变了以往通过实验获取模型参数的现状,节约了实验成本。而在船舶方面的研究,各种辨识方法层出不穷,对操纵模型参数的辨识精度也越来越高,对船舶的操纵性预报也越来越精确[12]。
众多学者采用辨识的方法对船舶的操纵性进行了研究:Luo等[13]、张心光等[14]研究了支持向量机(SVM)在船舶操纵模型中的辨识效果,并在船模实验中得到了验证;Zhu等[15]通过人工蜂群算法对SVM进行优化,辨识了大型集装箱船的运动模型;Xu等[16]和谢朔等[17]将最小二乘法与SVM结合运用,实现了参数的在线辨识;文献[18-22]介绍了卡尔曼滤波在船舶运动模型参数辨识方面的应用,包括扩展卡尔曼滤波(EKF)和无迹卡尔曼滤波(UKF)。
但是目前所使用的辨识算法在获取USV操纵响应模型参数方面的研究较少,且算法存在精度不高的问题,USV一般体型较小,需要较精确的操纵性预报,因此需要一种精度较高的辨识算法获取响应模型参数。极大似然(ML)算法是系统辨识中一种常见的辨识算法,已经应用在很多领域内的参数获取上[23-26],具有简单、方便、精度高等特点,但是目前应用在USV运动模型上的研究比较少见,本文基于ML算法,结合高速USV的2阶非线性运动模型展开研究。
随着海洋资源开发效率的提升,对USV航速的要求越来越高,随着航速的提升,对USV的操纵性要求越来越高。描述USV运动模型又分为MMG(由日本Maneuvering Modeling Group提出,简称MMG)模型、Abkowitz模型和响应型模型,其中MMG分离模型与Abkowitz整体模型因为分析了USV的水动力受力,从根本上得到USV的运动机理,使USV的运动得到精确的预报。但是由于模型中含有众多水动力导数,求解起来比较困难,难以普遍使用。相对来说响应型模型用简单的数学表达式反映了操纵舵角与艏向角的关系式,因此在预报USV操纵性上被广泛使用。响应型模型分为1阶线性、1阶非线性、2阶线性和2阶非线性模型。由于2阶线性模型受小扰动限制,当USV运动幅度较大时,线性响应模型已经不再适用,其运动模型中的非线性项值不能忽略,在高速USV操纵响应模型中必须要加上非线性项,才能满足其操纵响应变化,由文献[27]得高速USV 2阶非线性操纵响应方程为
(1)
式中:T1、T2、T3为时间常数(s),表示应舵性和航向稳定性;r为艏向角速度;α为非线性项系数(s2/rad2);K为舵角增益(s-1);δ为舵角;δr表示压舵角(rad)。
ML算法是Fisher等在1912年提出的一种辨识算法。它根据观测输出量的条件概率分布构造以观测数据和未知参数为自变量的似然函数,当似然函数取最大值时,自变量的值即为模型参数的辨识值。ML算法是系统辨识中一种比较常用的辨识方法,具有简单和高精度等优点。对于一个形如(2)式的模型:
Yt=Htθ,
(2)
式中:Yt为输出量矩阵,包含从开始到t时刻的所有输出量;Ht为输入量矩阵,包含从开始到t时刻的所有输入量;θ为参数矩阵。定义似然函数为
L(Yt|θ)=f(y1|θ)f(y2|θ)…f(yt|θ),
(3)
式中:f(yt|θ)表示t时刻的观测值概率分布密度。似然函数就是从1到t时刻的所有观测值概率分布密度的乘积。
为了方便求出似然函数的极大值,将其变换为
(4)
对参数θ求导,得
(5)
可推得参数θ的ML估计为
(6)
由此即可得到基于ML算法对形如(2)式模型的参数辨识结果。
Z形实验是一种常见的USV操纵运动,目前基于船舶操纵性的研究大部分以此展开。本文基于数学分析软件MATLAB开展Z形半物理仿真操纵实验,以获取辨识所需实验数据。选取文献[28]中参数,如表1中所示。
表1 USV 2阶非线性操纵响应模型参数
基于上述响应模型参数,应用工程上常用的4阶龙格- 库塔法进行计算,以MATLAB 2018a软件为仿真计算平台,进行了20° Z形仿真操纵实验。为拟合真实实验,仿真采样时间间隔取1 s,采样时间为500 s,各项数据如图1所示,图中ψ为艏向角。
图1 20° Z形实验仿真数据
为了满足基于ML算法辨识需求,需要构造形如(2)式的辨识模型,因此需要将待辨识模型(1)式转化为(2)式。由于(1)式为连续模型,需要使用差分法对其进行离散处理,考虑到实际实验中艏向角比其他参数容易测量获取,将(1)式中各物理量使用前向差分法差分到艏向角,具体差分过程为
(7)
(8)
(9)
(10)
式中:Δt为时间间隔。
将(7)式~(10)式代入(1)式中,令y(t)=ψ(t+1)-ψ(t),得
(11)
将(11)式写成矩阵形式,即可得到Yt=Htθ的辨识模型,矩阵的具体表达式为:
输入矩阵
Ht=[(Δt)3δ(t) (Δt)3(Δt)2[δ(t+1)-δ(t)]
-Δt[y(t+1)-y(t)] -(Δt)2y(t) -y3(t)];
(12)
参数矩阵
(13)
输出矩阵
Yt=[y(t+2)-2y(t+1)+y(t)].
(14)
基于图1中的仿真数据,可依次计算输入矩阵和输出矩阵的各值,然后根据ML算法的辨识结果(6)式可得到USV 2阶非线性响应模型的参数辨识结果。
为充分体现ML算法在辨识模型参数上的精确性,将ML算法与目前参数辨识中常用的EKF算法在20° Z形仿真实验数据的情况下展开辨识,并对比其辨识结果,辨识结果如表2所示。
表2 20° Z形仿真辨识结果
由表2可以看出,ML算法在辨识高速USV操纵响应模型参数时,T1、K、α、δr参数辨识精度均较EKF算法有所提高,但T2、T3参数辨识精度误差很大,且同时向大于原始值的方向偏移,故认为此辨识结果产生了参数漂移。
参数漂移现象产生的原因是在设计辨识模型时,使用了前向差分法离散角速度和舵角变化率等物理量。由图1可知,艏向角的变化曲线很光滑,用差分法处理时误差很小,但是舵角的变化曲线却不光滑,使用差分法处理时误差很大,导致了T2、T3的漂移。鉴于目前的操纵运动中只有正弦实验舵角变化曲线比较光滑,使用差分法处理时误差较小,将采用正弦仿真数据开展辨识。
(15)
辨识数据的采集改用20°正弦仿真实验,与Z形仿真实验相同,采样时间间隔取1 s,采样时间取500 s.仿真数据如图2所示。
图2 20°正弦实验仿真数据
辨识过程与Z形实验相同,与Z形实验对比结果如表3所示。
表3 20°正弦和Z形实验辨识结果对比
由表3可知:基于正弦仿真数据下辨识,在其他参数辨识精度变化不大的情况下,T2、T3整体参数辨识精度有较大改善;改善后T2辨识结果小于真实值,T3辨识结果大于真实值,说明了此方法对改善响应模型辨识中参数漂移的有效性。同时也通过此方法使辨识结果精度得到进一步的提升,从而最大程度提高USV的操纵性预报精度。
为了将USV 2阶非线性响应模型参数辨识结果与具体的USV操纵运动预报相对应,本文基于表2的ML算法与EKF算法的辨识结果开展了5°、10°、20°和30°正弦和Z形半物理仿真操纵实验,以分析本文所提ML算法和EKF算法,基于Z形仿真数据下的辨识参数结果,在USV操纵性预报上的预报精度。
因为在USV运动时,容易观测艏向角,所以只绘制了艏向角的变化曲线,为符合实际情况,均将艏向角值限制在[0 rad,2π rad]范围内,实验结果如图3所示。
图3 操纵运动仿真实验验证图
由图3可以看出,与EKF算法辨识结果对操纵性实验的预报相比,基于ML算法的辨识结果显然与真实操纵运动艏向角的变化更加拟合,且在不同角度与不同类型实验下都非常接近真实值,证明了ML算法的辨识结果精度优于EKF算法,且算法具有很高的泛化性。图3(e)与其他Z形实验艏向角变化形状不同的原因在于EKF算法辨识的δr值较大,5°的Z形实验不能使舵角左右偏移,舵角一直在一边,所以呈现的艏向角变化是一直增大的。
但是ML算法基于Z形数据的辨识结果在T2、T3参数处仍有较大误差,由表3的辨识数据可知,ML算法基于正弦实验数据辨识能提高T2、T3参数辨识精度,消除因参数漂移所带来的误差。为将辨识精度反映到操纵预报上,将基于表3正弦辨识和Z形辨识结果开展操纵运动验证。由图3可知,基于ML算法的Z形辨识结果在正弦和Z形操纵仿真实验中非常接近真实值,因此在这两种操纵运动中,基于正弦辨识结果的预报相对于Z形辨识的提升并不明显。考虑用回转运动去验证基于正弦实验辨识对操纵性的提升,将基于两种实验仿真数据辨识结果开展5°、10°、20°和30°回转运动,对比结果如图4所示。
图4 回转仿真实验验证图
从图4可以看出,在ML算法对USV 2阶非线性响应模型参数辨识过程中,基于正弦仿真实验数据辨识的结果对回转运动的预报与真实变化非常拟合,且精度明显高于Z形实验的,同样也验证了基于正弦实验数据辨识结果也具有极强的泛化能力。由此可以证明,基于正弦实验数据辨识结果消除了参数漂移现象,对参数T2、T3的辨识精度有很大提升,同时提高了USV的整体辨识精度。综上所述,基于正弦实验数据辨识能有效消除基于Z形实验数据辨识中的参数漂移现象,提高了USV的模型参数整体辨识精度,从而提高USV在各种复杂操纵运动中的预报精确度。
针对高速USV操纵性预报困难与精度不高等问题,本文提出了一种用于获取高速USV 2阶非线性响应模型参数的ML辨识方法,并基于辨识结果预报了高速USV的操纵运动。本文从ML算法的辨识模型设计、辨识过程、辨识结果分析、辨识结果对比4个方面展开了研究,并进行了泛化性仿真操纵性实验验证。主要得到以下结论:
1)基于USV 2阶非线性响应模型设计了ML辨识算法模型,通过仿真采集了Z形实验数据,以此初步辨识了模型参数,并与EKF算法辨识结果进行了对比,验证了ML辨识算法是一种精度极高的算法。
2)通过研究发现,ML算法在辨识USV 2阶非线性响应模型参数时,由于使用前向差分法处理舵角变化率会导致T2、T3参数在辨识过程中的漂移现象,提出采用舵角光顺变化的正弦实验进行辨识,且辨识结果能有效地消除参数漂移现象。
3)为验证辨识精度对于操纵性预报的影响,进行了5°、10°、20°及30° Z形、正弦和回转操纵运动仿真实验。实验结果表明:ML算法具有很强的泛化性,无论操纵运动种类和角度的变化,其辨识结果都能有效地预报USV的操纵性。