技术领域
[0001] 本发明涉及船舶控制工程与船舶自动化航行装备技术领域,尤其涉及一种具有性能博弈机制的船舶轨迹跟踪事件触发控制方法及系统。
相关背景技术
[0002] 在船舶运动控制领域,制导算法是目前解决船舶航迹保持控制(可分为间接航迹控制和直接航迹控制2类)的一项重要关键技术之一。目前已有的制导算法是从导弹射击制导研究领域引入到船舶导航领域的,即我们通常所说的Line of sight(LOS)算法。它解决了间接航迹保持控制中利用航迹偏差和航向偏差计算船舶引导航向的问题,也是目前船载自动操舵仪中较为广泛采用的算法。同时本申请将对LOS算法的具体技术特征进行简要介绍:
[0003] 可变的LOS半径和航路点切换边界环是LOS算法中两个重要的概念或变量。LOS算法的目的是演绎出航迹保持控制中完成控制任务需求的航向参考命令,即ψlos。利用现有的船舶航向保持控制器驱动转舵执行装置,使船舶航向跟踪参考命令ψlos,减小航迹偏差,最终实现船舶沿着计划航线自动航行。图1给出了LOS算法的基本制导原理图。在航海实践中,计划航线通常由驾驶员通过设置航路点进行设计,如图1中的(xi‑1,yi‑1),(xi,yi)和(xi+1,yi+1)。以当前船位(x,y)为中心,以LOS半径R画弧,在LOS半径选取恰当的前提下能够交计划航线Pi‑1Pi于点AB和AF。起始于当前船位(x,y)终止于点AF的线段定义为LOS线,所对应的方位角即为ψlos,可由式(1)计算且ψlos∈<‑π,π>。通常情况下R有3种取法:1)传统LOS算法:R=αLpp,Lpp为船舶的两柱间长。这种情况下必须要求α>1,否则船舶将绕着计划航线频繁波动;2)改进LOS算法:R=d+Lpp,d为当前船位到计划航向的投影距离,即航迹偏差。这样选择能够保证R>d恒成立,保证LOS线始终存在;3)指数收敛LOS算法,如式(2)所示。其中,xlambertw是函数f(x)=xe 的反函数,选取最小LOS半径Rmin=1.7Lpp,系数b为指数收敛因子,b=0.05。
[0004]
[0005] LOS制导算法能够实现直线航线对船舶的导航引导作用,最终实现航迹保持控制任务。但船舶驶向航路点附近时,即图1中Pi位置处,需要进行航路点转换。这就涉及到了航路点切换边界环的概念,即以(xi,yi)为中心以δi为半径的圆形区域。但船舶进入到该区域内,参考计划航线就由航线段{(xi‑1,yi‑1),(xi,yi)}切换到航线段{(xi,yi),(xi+1,yi+1)},切换条件为式(3)。
[0006]
[0007] 同时在船舶运动控制领域,轨迹跟踪控制算法的主要设计思路是根据位置姿态误差设计虚拟控制律,由此得到动力学速度误差,进一步设计船舶控制器。为了解决船舶执行器磨损,抵抗海洋环境干扰的问题,已有的船舶轨迹跟踪控制技术提出了事件触发控制算法和干扰观测器。
[0008] 尽管事件触发控制算法可以通过降低控制精度的方法阻止控制器产生实时的控制命令,降低控制输入的更新频率,但事件触发阈值参数的调节具有不确定性和主观性,操作者很难权衡控制精度与触发效果,且没有评判控制精度与触发效果的标准。此外,由于真实海洋环境非线性极强,多变的特点,干扰观测器难以应用于航海实践中。
[0009] 基于以上分析,可确定已有船舶轨迹跟踪控制算法主要存在以下2点缺陷:
[0010] 1)已有船舶轨迹跟踪事件触发控制算法不能平衡触发效果和控制精度,操作者在调节触发阈值参数时完全依赖试错法和经验,导致很容易得到较好的触发效果与较差的控制精度,或较高的控制精度与较差的触发效果两种极端情况。因此,现有的船舶运动控制工程实践技术难以使得操作者难以得到最佳的触发效果和控制精度;
[0011] 2)已有的船舶海洋环境干扰观测器不能直接应用于航海实践中。究其主要原因,主要是由于在面对复杂多变的海洋环境时,干扰观测器往往达不到观测的效果,由此设计的船舶轨迹跟踪控制器不具备较强的鲁棒性,即船舶轨迹跟踪控制器在海洋环境干扰中鲁棒性较弱。
具体实施方式
[0100] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0101] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一元件称为第二元件,且类似地,可将第二元件为第一元件。第一元件和第二元件两者都是元件,但其不是同一元件。
[0102] 在面对现有技术所存在的不足,在本实施例中,特提出了一种实现船舶轨迹跟踪任务的、基于微分博弈思想的性能博弈控制方法,即该方法考虑到船舶运动控制工程实践中“操作者难以得到最佳的触发效果和控制精度”与“船舶轨迹跟踪控制器在海洋环境干扰中鲁棒性较弱”这两点问题,提出一种基于微分博弈的船舶轨迹跟踪事件触发控制方法,以解决船舶轨迹跟踪控制问题。
[0103] 具体的,如图13所示,所述控制方法,其特征在于,包括如下步骤:
[0104] S1、基于船舶三自由度平面运动模型,确定出船舶对应的位置误差和姿态误差;
[0105] S2、基于所述位置误差和姿态误差,设计第一性能指标和对应的第一价值函数,所述第一性能指标用于描述位置误差和姿态误差对应的性能指标;
[0106] S3、设计所述第一价值函数对应的第一负梯度估计值,基于第一负梯度估计值确定最优虚拟控制律并设计在线学习律;
[0107] S4、基于动态面技术,对所述最优虚拟控制律的导数进行降阶处理以获得对应的动力学参考信号,进而获得动力学控制误差;
[0108] S5、基于输入端事件触发机制以及所述动力学控制误差,定义第二性能指标和对应的第二价值函数,所述第二性能指标用于描述控制输入和触发误差微分零和博弈的关系;
[0109] S6、设计所述第二价值函数对应的第二负梯度估计值、最优控制输入和最优触发误差;
[0110] S7、基于确定的S6的设计参数判断是否满足触发规则,是则,确定最优控制输入为下一触发时刻 对应的控制输入估计值 并执行S8,否则,确定最优控制输入为当前触发时刻 对应的控制输入估计值 并执行S8;
[0111] S8、改变船舶状态继续判断是否完成航行任务,未完成则重新确认船舶当前状态并返回S1重新确定船舶对应的位置误差和姿态误差。
[0112] 在一些具体的实施例中,所述S1对应的步骤包括:
[0113] S11、创建船舶三自由度平面运动模型,其对应的模型公式为
[0114]
[0115] 其中
[0116]
[0117] 式中,x,y,ψ分别为船舶在大地坐标系下的x轴坐标,y轴坐标和艏向角;v=[u,v,Tr]为船舶速度矩阵,其中u,v,r分别为船舶前进速度,横漂速度和艏摇速度;fu(v),fv(v),fr(v)分别为船舶前进、横漂和艏摇自由度的动力学非线性项,可以用径向基神经网络进行在线逼近,详细的原理介绍可以参阅文献[1][2];mu,mv,mr分别为船舶在前进、横漂和艏摇自由度的排水量,dwu,dwv,dwr分别为海洋环境作用在船体前进,横漂和艏摇运动方向上的干扰;τu,τr分别为螺旋桨提供的推进力和舵叶产生的转船力矩,作为船舶运动控制系统的控制输入;du1,du2,du3分别为船舶前进自由度的1、2、3阶水动力导数,dv1,dv2,dv3分别为船舶横漂自由度的1、2、3阶水动力导数,dr1,dr2,dr3分别为船舶艏摇自由度的1、2、3阶水动力导数。
[0118] 前述段落所提及的文献信息:[1]Guoxing Wen,Shuzhi Sam Ge,C.L.Philip Chen,Fangwen Tu and Shengnan Wang.Adaptive Tracking Control of Surface Vessel Using Optimized Backstepping Technique.IEEE Transactions on Cybernetics,2019,49(9):3420‑3431.
[0119] [2]Jiqiang Li,Guoqing Zhang,Cheng Liu and Weidong Zhang.COLREGs‑Constrained Adaptive Fuzzy Event‑Triggered Control for Underactuated Surface Vessels With the Actuator Failures.IEEE Transactions on Fuzzy System.2021,29(12):3822‑3832.
[0120] S12、基于船舶三自由度平面运动模型,确定出船舶坐标与虚拟船坐标之间的关系,进而得到参考艏向角;
[0121] 假设船舶的参考轨迹由虚拟船实时规划产生并确定出船舶坐标与虚拟船坐标之间的关系,如下式(6)所示,
[0122]
[0123] 式中,xr,yr,ψr分别为虚拟船在大地坐标系下的x轴坐标,y轴坐标和艏向角;ur,rr分别为虚拟船的前进速度和艏摇速度;
[0124] 则根据船舶坐标与虚拟船坐标之间的关系,得到参考艏向角,如下式(7)所示;
[0125]
[0126] 式中,xe,ye为船舶x轴和y轴坐标误差,ψd为参考艏向角;
[0127] S13、基于船舶三自由度平面运动模型(4)以及参考艏向角(7),确定出船舶对应的位置误差和姿态误差,对应的计算公式如下式(8)所示;
[0128]
[0129] 式中,ze和ψe分别为船舶位置误差和姿态误差。
[0130] 在一些具体的实施例中,所述S2对应的步骤包括:
[0131] S2、基于所述位置误差和姿态误差(参见式(8)),设计第一性能指标和对应的第一价值函数,所述第一性能指标用于描述需要考虑的船舶位置误差和姿态误差对应的性能指标;
[0132] 所述第一性能指标与对应的第一价值函数的公式如下式(9)(10)所示;
[0133]
[0134] 式中,Ju1(ze,αu)和Jr1(ψe,αr)分别为位置误差和姿态误差的性能指标; 和则分别为Ju1(ze,αu)和Jr1(ψe,αr)的价值函数;αu和αr分别为u和r的虚拟控制律;和 分别为能够使Ju1和Jr1达到最小值时的αu和αr即最优虚拟控制律,t为时间,s为某一时刻。
[0135] 在一些具体的实施例中,所述S3对应的步骤包括:设计所述第一价值函数对应的第一负梯度估计值,基于第一负梯度估计值确定最优虚拟控制律以及在线学习律;以通过所述最优虚拟控制律以及在线学习律获得最小的第一性能指标的指标值;其中,[0136] 考虑价值函数 的第一负梯度估计值为:
[0137]
[0138] 式中, 分别为 的负梯度估计值,ku,kr分别为前进和艏摇自由度的虚拟控制参数, 分别为前进和艏摇自由度的径向基神经网络权重critic估计值,Su1,Sr1则分别为径向基神经网络权重 的激活函数。
[0139] 为得到性能指标的最小值,设计如式(12)所示的最优虚拟控制律估计值与式(13)所示的在线学习律。
[0140]
[0141] 式中, 分别为最优虚拟控制律 的估计值, 分别为前进和艏摇自由度的径向基神经网络的actor估计值,kuc1,krc1,kua1,kra1为 的在线学习率,和 分别为前进和艏摇自由度的径向基神经网络的critic学习律和actor学习律,I为单位矩阵,σj1为在线学习律 的大于0的常数。
[0142] 在一些具体的实施例中,由于最优虚拟控控制律 在接下来的求导中会引起很大的计算负载问题,因此需要引入动态面技术,以对最优虚拟控控制律的导数进行降阶处理,则S4对应的具体步骤包括:
[0143] S41、基于动态面技术,对所述最优虚拟控制律的导数进行降阶处理以获得对应的动力学参考信号,对应的公式如下式所示,
[0144]
[0145] 式中,∈u,∈r分别为 的滤波时间常量;βu,βr分别为 滤波后得到的动力学参考信号;
[0146] S42、基于所述船舶三自由度平面运动模型‑式(4)以及动力学参考信号‑式(14),定义船舶动力学控制误差,对应的公式如下式所示,
[0147] ue=βu‑u,re=βr‑r
[0148] 其中ue,re分别为动力学控制前进速度误差和艏摇速度误差。
[0149] 根据式(4)进而得到动力学控制误差的导数形式为:
[0150]
[0151] 在一些具体的实施例中,为减轻执行器磨损,避免不必要的执行器制动,引入如下的输入端事件触发机制,对应的公式如下式所示,
[0152]
[0153] 式中, 为触发后的控制输入, 为触发误差,t代表连续时间,为触发时刻;通过采用事件触发机制(16),可以保证控制输入在触发时间段内
保持不变;对于事件触发机制而言,越大的触发误差意味着越长的触发时段和越差的控制精度,因此希望得到能够平衡控制精度和触发时段的最优触发误差,即
[0154] 考虑事件触发机制(16)和径向基神经网络,式(15)可表达为:
[0155]
[0156] 式中,Wj,Sj(v)分别为重组船舶动力学非线性项的径向基神经网络权重和激活函数,εj为神经网络逼近误差。
[0157] 考虑到控制输入与触发误差之间存在的零和博弈关系,定义控制输入和触发误差微分零和博弈的第二性能指标和第二价值函数如式(18)(19)
[0158]
[0159] 式中,Ju2,Jr2分别为动力学控制前进速度和艏摇速度误差的性能指标, 分别为Ju2,Jr2的价值函数,γu,γr分别为螺旋桨和舵的事件触发阈值参数,为最优控制输入。
[0160] 在一些具体的实施例中,所述S6对应的步骤包括:
[0161] 考虑价值函数 的第二负梯度估计值为:
[0162]
[0163] 式中, 分别为价值函数 的负梯度估计值,kue,kre分别为τu,τr的速度控制参数, 为极端海洋干扰作用在船体前进和艏摇自由的估计值, 为重组动力学前进和艏摇自由度的径向基神经网络权重的估计值, 为前进和艏摇自由度的径向基神经网络权重的critic估计值,bu,br分别为价值函数负梯度估计值 中的大于0的常数。
[0164] 最优控制输入估计值和最优触发误差估计值如式(21)所示。
[0165]
[0166] 式中, 分别为最优控制输入和最优触发误差的估计值, 为前进和艏摇自由度的径向基神经网络权重的actor估计值。
[0167] 其中所涉及到的径向基神经网络权重估计值和极端海洋干扰估计值的在线学习律如式(22)(23)所示。
[0168]
[0169] 式中, 分别为径向基神经网络权重 的critic学习律和actor学习律, 为重组动力学非线性项的径向基神经网络权重的学习律, 为极端海洋干扰的学习律,kjc2,kja2,Γj,Γwj分别为 的学习率,σj2为在线学习律 中的大于0
的常数,σWj,σwj则分别为在线学习律 中的大于0的常数。, 分别为 的初
始值。
[0170] 基于相同的发明构思,本发明还提出了一种具有性能博弈机制的船舶轨迹跟踪事件触发控制系统:
[0171] 第一数据获取单元,其用于基于船舶三自由度平面运动模型,确定出船舶对应的位置误差和姿态误差;
[0172] 第一数据设计单元,其用于基于所述位置误差和姿态误差,设计第一性能指标和对应的第一价值函数;
[0173] 第二数据设计单元,其用于设计所述第一价值函数对应的第一负梯度估计值、最优虚拟控制律以及在线学习律;
[0174] 第二数据获取单元,其用于基于动态面技术,对所述最优虚拟控制律的导数进行降阶处理以获得对应的动力学参考信号,进而获得动力学控制误差;
[0175] 第三数据设计单元,其用于基于输入端事件触发机制以及所述得动力学控制误差,定义第二性能指标和对应的第二价值函数;
[0176] 第四数据设计单元,其用于设计所述第二价值函数对应的第二负梯度估计值、最优控制输入和最优触发误差;
[0177] 第一数据判断单元,其用于基于第四数据设计单元的设计参数判断是否满足触发规则,是则,确定最优控制输入为下一触发时刻对应的控制输入估计值并由第二数据判断单元继续判断是否完成航行任务,否则,确定最优控制输入为当前触发时刻对应的控制输入估计值并由第二数据判断单元继续判断是否完成航行任务;
[0178] 第二数据判断单元,其用于改变船舶状态继续判断是否完成航行任务,未完成则重新确认船舶当前状态并通过所述第一数据获取单元重新确定出船舶对应的位置误差和姿态误差。
[0179] 基于相同的发明构思,本发明还提出了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行所述的方法。
[0180] 为了验证如图2所示的本发明所提出的船舶轨迹跟踪控制算法的有效性,申请人利用matlab进行计算机仿真实验,并与现有常规算法进行对比。同时为进一步验证本发明所提出的船舶轨迹跟踪控制算法具有算法工程开发的价值,申请人于大连海事大学凌水码头进行了实船验证实验。
[0181] 相关的实验设计过程以及验证过程如下:
[0182] 实验1:
[0183] 条件设定:
[0184] 设定虚拟船初始状态为[xr(0),yr(0),ψr(0),ur(0),rr(0)]=[0m,0m,45deg,3m/s,0deg/s],船舶初始状态[x(0),y(0),ψ(0),u(0),v(0),r(0)]=[‑20m,0m,0deg,0m/s,0m/s,
0deg/s],虚拟船的前进速度和艏摇速度通过式(23)进行设计表达,对应的公式如下式[0185]
[0186] 实验目的:通过本发明所提出的船舶轨迹跟踪控制算法使得船舶位置和姿态跟踪在虚拟船上,并与前述文献[1]中的已有控制算法进行对比,进而验证本发明所提出的船舶轨迹跟踪控制算法的优越性。
[0187] 验证结果如下:
[0188] 图3‑图8分别为matlab仿真平台上模拟的3级海况下船舶轨迹跟踪仿真结果;其中,图3为在matlab仿真平台上使用的仿真环境,即3级海况下的风场平面视图和波浪三维视图,图3中的(a)为150°风向风场平面示意图,(b)风生浪立体示意图;图4为船舶轨迹跟踪结果,本发明所提出的船舶轨迹跟踪控制算法和文献[1]中的算法均能实现船舶轨迹跟踪,但采用本发明是所提出的船舶轨迹跟踪控制算法的船舶更靠近虚拟船,具有更好的轨迹跟踪表现;图5为船舶轨迹跟踪的位置误差和姿态误差图,其中(a)位置误差图,(b)姿态误差图,可以看出本发明所提出的船舶轨迹跟踪控制算法的控制误差小于文献[1]中的,特别是姿态误差远小于文献[1]所提算法;图6为两种控制算法为船舶提供的控制输入的曲线图,其中,(a)螺旋桨推进力图,(b)舵转船力矩图;其中文献[1]控制算法提供的控制输入为时变连续式的输入,这种输入会连续给螺旋桨和舵发送控制命令以造成不必要的磨损,而本发明所提控制算法的控制输入为间断触发式的输入,这种输入方式仅在触发时间点给螺旋桨和舵发送新的控制命令,大大减少了设备磨损;触发次数和相邻两次触发时间点间的触发间隔如图7所示(图7中:(a)螺旋桨输入触发效果.(b)舵输入触发效果),其中螺旋桨的控制输入共触发了203次,舵的控制输入共触发了1037次,而对于文献[1]算法而言,舵和螺旋桨的控制输入总共各触发15000次。图8为所提出的船舶轨迹跟踪控制算法对极端海洋干扰的估计结果((a)前进自由度海洋干扰估计值 艏摇自由度海洋干扰估计值 曲线),可以看出,相比于船舶的前进运动方向,船舶需要在艏摇运动方向上对非线性和干扰做出更多的补偿。
[0189] 实验2:
[0190] 实验设计要点:
[0191] 本实验利用无人艇“INAC‑5”作为实验对象,利用DVS制导算法生成虚拟船以引导无人艇“INAC‑5”,其中无人艇“INAC‑5”的主要参数如表1所示。同时实验对象相关内容(具体详见文献[3]Guoqing Zhang,Shang Liu,Jiangshuai Huang and Weidong Zhang.Dynamic event‑triggered path‑following control of underactuated surface vehicle with the experiment verification.IEEE Transactions on Vehicular Technology,2022,71(10):10415–10425.);利用DVS制导算法生成虚拟船以引导无人艇“INAC‑5”相关技术详见文献[4]Guoqing Zhang and Xianku Zhang.Anovel DVS guidance principle and robust adaptive path‑following control for underactuated ships using low frequency gain‑learning.ISATransactions,2015,56:75‑86.
[0192]
[0193] 实验参数选择:
[0194] 在实验中选取如下5个航路点:W1(38.8650188°N,121.5333179°E),W2(38.8648882°N,121.5336210°E),W3(38.86551169°N,121.5341547°E),W4(38.8656234°N,121.5338168°E),W5(38.8650188°N,121.5333179°E)。无人艇起始位置为(38.8650175°N,
121.5333118°E);同时本实验中,虚拟船的前进速度为2m/s。为了给无人艇“INAC‑5”生成控制命令,通过visual basic 2015将本发明所提出的控制算法嵌入到个人计算机主处理单元中,同时利用个人计算机接入船载无线局域网实现对无人艇“INAC‑5”传递控制命令。另,为了实现事件触发机制,使得个人计算机在触发间隔时间段内发送同一控制命令,由船载工控盒和舵机伺服器实现螺旋桨和舵机对控制命令的执行。为记录实验经过,在航路点W1附近以固定机位记录无人艇“INAC‑5”驶过各航路点的状态。
[0195] 实验目的:通过本实验希望无人艇能够自主沿着由5个航路点组成的闭合航路航行,并依次通过5个航路点。
[0196] 验证结果如下:
[0197] 图9‑图12为本次实验的实验结果;其中图9为无人艇“INAC‑5”沿航路航行的轨迹结果,可以看出无人艇“INAC‑5”能够自主完成直航和转向路径的轨迹跟踪任务,其中无人艇“INAC‑5”在航路点W1‑W5的转向状态如图10所示。从图11(图中(a)位置误差,(b)姿态误差)中可以看到,无人艇“INAC‑5”在采用本发明所提出的控制算法的情况下,能够将位置误差稳定在3m以下,将姿态误差稳定在±20°以下。图12(图中(a)车钟令.(b)舵令)展示了由本发明所提出的控制算法生成的控制命令,在本次实验中共为螺旋桨生成了53次控制命令,为舵机生成了587次控制命令。
[0198] 综上所述,结合上面验证实验,并与已有技术进行对比,实施本发明实施例,将具有如下有益效果:
[0199] (1)、利用本发明所提出的船舶轨迹跟踪控制算法/方法解决了“事件触发轨迹跟踪控制算法难以获得最佳的触发效果和控制精度”的缺陷,实现了控制精度和触发效果之间的性能博弈和权衡,能够对船舶自动驾驶性能进行优化,具有高控制精度、绿色的特点;
[0200] (2)、本发明所提出的船舶轨迹跟踪控制算法/方法涉及海洋环境干扰的参数估计补偿方法,使得本发明能够考虑海洋环境干扰和动力学控制误差之间的关系,具备抵抗极端海洋环境干扰的能力,由此设计出的船舶路径跟踪控制器具有较强的鲁棒性,对航行精度要求高的船舶工程具有重大意义;
[0201] (1)、目前,事件触发、博弈控制理论研究日趋繁荣,然而其在船舶控制工程中的应用却寥寥无几。本发明所提出船舶轨迹跟踪控制算法/方法经过了实船实验验证,为本发明成果应用于船舶控制工程实践提供了可能性。
[0202] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。