陆潇杨,刘志全,高迪驹,褚建新
上海海事大学 航运技术与控制工程交通运输行业重点实验室,上海 201306
航向控制作为船舶控制领域的首要问题,一直是国内外学者研究的热点。随着控制理论的发展,从PID[1]、滑模[2]、神经网络[3]到模糊自适应[4-5]等智能优化算法,很多控制理论都被应用到船舶控制领域并取得了理想的控制效果,但也存在一定的局限性。例如,神经网络所需设备较昂贵且计算时间长,不利于工程实现,而模糊规则的制定复杂且难以推广。彭秀艳和胡忠辉[6]针对海浪滤波和状态估计问题,设计了反步自适应输出反馈控制器,但传统反步法中易出现“计算爆炸”情况。林郁[7]提出的一种可减少控制器计算负担的滤波器能够有效避免此问题,但未考虑该方法在欠驱动水面船舶上的适用性。然而,海上实际使用的多数船舶都属欠驱动系统,即仅利用主推进和舵装置驱动完成船舶操纵任务。Liu 等[8]利用反步法并结合改良的视线法,将欠驱动路径跟踪控制问题转化为了虚拟全驱动控制问题,但对风、浪、流等外部干扰因素考虑不周,且忽略了船舶运动时非零漂角的影响。漂角是船体受不对称水流作用发生偏转时纵剖面与水流方向形成的夹角,其对船舶操纵效果有一定的影响,通常很少考虑。Yu 等[9]提出通过漂角修正来实现航向控制,但需要借助全球定位系统(GPS)和速率传感器。在不借助GPS 的情况下,Hu 等[10]根据船舶相对速度进一步求得了实际漂角,Wang 等[11]则利用有限时间观测器并结合视线法,对受漂角影响的船舶进行了航迹控制设计,但未考虑输入饱和问题。作为实际控制系统中的常见现象,执行器饱和会降低系统性能,甚至导致闭环系统的不稳定性,因此要解决船舶控制问题,就必须考虑受限约束条件下系统的稳定性。Lin 等[12]提出了适用于未知时变环境扰动及输入饱和情况的自适应模糊输出反馈控制器,Ma 等[13]提出了一种基于径向基神经网络,采用动态面控制和反步法相结合的方法,用于处理饱和问题,但该方法只能用于单输入单输出系统。
针对以上提到的水面船舶运动中出现的漂角及输入饱和问题,本文将设计一种带漂角修正和输入约束的鲁棒自适应反步航向控制器。首先采用光滑双曲正切函数和Nussbaum 函数逼近约束条件,利用自适应技术处理未知扰动,然后引入指令滤波器并结合反步法设计航向控制器,以及通过Lyapunov 理论证明其有界性,最后进行仿真实验验证该控制方法的有效性。
假设船舶关于xz平面对称,且垂荡、横摇、纵摇方向上的运动可忽略不计。为便于设计控制器,纵荡速度u由独立控制系统控制,故假设其为常数,横荡速度v与船舶操纵中其他运动变量相比较小,故设其被动有界[14],则水面船舶动力学模型通常可以简化为在艏摇和横荡方向上的两自由度运动,描述如下[15]:
式中: ψ为船舶的实际航向角,(°);r为船舶的艏摇角速度, rad/s;mi(i=1, 2, 3)为包含附加质量影响的船舶惯性参数, kg;φ为艏摇力矩,N·m,是唯一的控制输入; τ(φ)为 饱和执行器输出,N·m; ωr和ωv分别为艏摇和横荡方向上有未知界的时变扰动;艏摇和横荡方向上的阻尼函数f1(r),f2(v)分别表示如下:
在反步法框架下,求解虚拟控制律所涉及到的所有函数都必须保证是可导的。但饱和执行器输出 τ(φ)存在非线性部分,为解决这一问题,引入了双曲正切函数g(φ),即将不连续函数转化为连续函数,逼近误差为 µ(φ), 即 τ(φ)=g(φ)+µ(φ)。其中
式 中: ∆=ωr+µ(φ), 由 于 ωr和 µ(φ)均 有 界,则 ∆有界,且假设 |∆|≤σ ;定义 σˆ , σ˜分 别为界值常数 σ的估计值和估计误差,即 σ˜= σˆ−σ ;c为正常数;由于实际控制输入φ难以直接计算得出,因此定义一个辅助变量 ϕ以方便后续的控制器设计。
针对受非零漂角和输入饱和影响的水面船舶,提出一种基于反步法的航向控制方法,目标如下:
1) 减小航向输出误差;
2) 控制输入力矩并始终保持在较小值。
为避免船舶航向角突然改变较大导致航速变化明显,而对研究时假设的条件造成影响,采用了一种预滤波方法,这样既可使船舶航向平滑过渡,又可保证控制器的鲁棒性。在期望航向角ψd处加入一个预滤波器,输出光滑、缓慢变化的参考航向角 ψdr及其导数作为参考输入。提出的二阶预滤波器可以写为[16]
式中,ni(i=1,2,3,4)为二阶预滤波器的参数。
在航向控制设计中,通常假设漂角为0,选择期望路径的切线角作为期望航向角 ψd,航向误差e=ψ−ψd。然而,实际上漂角是存在的,且会对航行造成一定的影响,特别是对欠驱动水面船舶来说,利用一个输入来控制横荡和艏摇运动,使船舶的重力速度方向与航向不一致,将会导致船舶逐渐偏离航线。可以利用漂角来修正所需航向的不合理性。在如图1 所示的地面坐标系OXoYo及船体坐标系BXbYb中,由于船舶重心速度方向与期望路径的切线角相差一个漂角[10],所以结合预滤波器。漂角修正后的期望航向角 ψda和航向误差ea如下:
图1 漂角修正后的期望航向Fig. 1 Desired heading after sideslip angle amendment
在设计控制器之前,为避免在虚拟控制律求导过程中出现复杂的计算问题,引入了一种指令滤波器[17],可以表示为
将式(29)~式(31)代入式(28),可得
3) 步骤3。设 ϑ=∂g(φ)/∂φ, 对z3求导,可得
为避免在求解 ϑ的过程中出现复杂的计算过程,引入了Nussbaum 函数N(η)[19]:
式中: η为一个连续函数,同时为Nussbaum 函数的自变量; γη为函数 η中大于0 的参数。
选 择Lyapunov 函 数V3=V2+0.5z32,对 其 求导,得
式中,参数k3>0。
结合式(35)~ 式(36),得
根据引理2,可知V3(t)和 η有界。根据最终一致 有 界(ultimately uniformly bounded,UUB) 稳 定性定义,即控制系统的末态收敛于以原点为圆心的小邻域内,由式(38)可得出V3和zi(i=1,2,3)是最终一致有界的,即对于任意 δ>0,t>0,|zi(t)|<δ(i=1,2,3)成立[17]。
因此, |ea|=|ψ−ψda|=|ψ−ψd+β|=|z1|<δ,t>T,即航向误差也是最终一致有界且稳定的。
由zi(i=1,2,3)的 有界性可知,控制律 ϕ 和 ϕ¯、虚拟控制律 αi0(i=1,2) 及其相应的 αi、辅助系统状态量ei(i=1,2)和 σ的估计误差均有界,结合其他前面所提到的信号也有界,即闭环系统中所有信号均有界。对于控制器参数值,除ki(i=1,2,3)外,其他参数也会对控制精度造成影响。例如kei(i=1,2)和 γσ越大,得到的航向误差越小,但同时也会导致控制输入增大。过大的控制输入(艏摇力矩)会加速舵机的磨损。因此,需要选择合适的控制器参数以保持航向控制性能和控制输入之间的协调。控制器整体控制流程如图2 所示。
图2 控制系统Fig. 2 Control system
为了验证所提控制器的有效性,选择垂荡、横摇、纵摇忽略不计,包含艏摇、横荡、纵荡的船舶运动的两自由度水面船舶数学模型为仿真对象。式(7)中的相关参数具体见文献[20],控制输入约束 τM=1.5×107N·m。 设置船舶速度为1 5 m/s,期望航向角分别为1 5◦, −30◦, 0◦, 20◦和 −5◦。
仿真结果如图3~图6 所示。为保证仿真结果的可靠性,分别在3 级和5 级海况下,根据有、无预滤波器这2 种情况,对3 种不同控制器进行比较。在无预滤波器( ψdr=ψd)处理情况下,对带漂角修正和输入约束的控制器、仅考虑漂角修正的反步控制器和既不考虑漂角修正也不带输入约束的传统反步控制器进行了仿真分析,图中分别用约束无滤波、漂角无滤波和传统无滤波表示。在基于预滤波器处理的情况下(参考航向角 ψdr随预滤波器处理变化),对带漂角修正和输入约束的控制器、仅考虑漂角修正的反步控制器和既不考虑漂角修正也不带输入约束的传统反步控制器进行了仿真分析,图中分别用约束预滤波、漂角预滤波和传统预滤波表示。图中,饱和极限指舵能正常使用时的控制输入极限值。仿真过程中涉及到的不同控制方法的相关参数如表1 所示。在不同海况下,相同的初始条件和相关参数值是保持一致的。
图3 3 级和5 级海况下无预滤波器控制器的航向角及航向角误差Fig. 3 The heading angles and their errors of the controllers without pre-filter in sea states 3 and 5
图4 3 级和5 级海况下无预滤器控制器的艏摇力矩Fig. 4 The yaw torque of the controllers without pre-filter in sea states 3 and 5
图5 3 级和5 级海况下带预滤波器的控制器的航向角及航向误差Fig. 5 The heading angles and their errors of the controllers with pre-filter in sea states 3 and 5
图6 3 级和5 级海况下带预滤波器的控制器艏摇力矩Fig. 6 The yaw torque of the controllers with pre-filter in sea states 3 and 5
表1 不同控制方法的设计参数Table 1 Design parameters of different control methods
漂角大小对航向角的影响不可忽视,未经预滤波处理的3 种不同控制器在3,5 级海况下输出的航向角及其相应的航向角误差的仿真结果如图3 所示。在不同海况下,无论是航向角还是航向角误差,相同控制器的输出结果差别很小。相比相同海况下的不同控制器,航向突然改变会导致超调量增加,所以3 种控制器的输出误差均很大。由图3(b)和图3 (d)可见,忽略漂角影响的控制器输出的航向误差不能收敛至0。而与其他控制器相比,带漂角修正和输入约束的控制器则能有效提高船舶航向控制性能,减小航向角误差,并能在较短的时间内明显抑制系统超调量的增加,即对于每次航向改变,带漂角修正和输入约束的控制器均能保证在 5 ~8 s 内使系统趋于稳定,相比其他2 种控制器,其达到稳定的时间缩短了一半甚至是更多,超调量平均减少了90%以上,且处于稳定状态时,其与传统控制器相比航向误差减小了1◦~2◦。
图4(a)和图4 (c)给出了3 级和5 级海况下未经预滤波处理的3 种控制器的艏摇力矩仿真结果。由图可见,当航向发生变化时,未考虑输入饱和控制器的艏摇力矩很大,已远远超出舵能正常使用的极限值,尤其是仅考虑漂角的控制器无论是在3 级还是5 级海况下时,艏摇力矩不仅大而且变化剧烈。为解决该问题,在设计带漂角修正和输入约束的控制器时,增加了输入约束并进行了相应的处理,使其无论航向是否改变,艏摇力矩都保持在很小的范围内,即平均位于−3 ~3 N·m范围内,为饱和极限的 2×10−7倍,且在应对更剧烈的海况时艏摇力矩变化频率将更稳定,如图4(b)和图4(d)所示。
基于预滤波处理的3 种不同控制器在3 级和5 级海况下输出的航向角及其相应的航向角误差仿真结果如图5 所示。与图3 相同,在不同海况下,相同控制器的输出航向角、航向角误差无明显差别;在相同海况下,带漂角修正和输入约束的控制器仍然是3 种控制器中控制性能最好的。与图3(b)相比,在航向变化时能够更加平滑地过渡,且超调量几乎为0,航向误差不超过 ±8◦,与无预滤波作用的漂角约束控制器相比航向误差平均减小了约40%,这也是与图3(b)相比差别最大处。
图6(a)和图6 (c)给出了3 级和5 级海况下经过预滤波处理的3 种控制器的艏摇力矩仿真结果。图6 内各控制器的比较结果与图4的分析基本相同。但在相同海况下,从其与图4中相同控制器的比较结果来看,发现经过预滤波处理的3 种不同控制器在航向改变时艏摇力矩比未处理时的小,即预滤波器也能在一定程度上降低较大舵角的要求。
上述2 种工况下不同控制方法的主要性能参数如表2 所示。通过比较表中几种不同的控制方法,可以看出基于预滤波处理的漂角约束控制器更具优越性,不仅响应速度快,到达稳定状态的调节时间更短,无明显超调,而且艏摇力矩一直保持在很小的范围内,即使面对不同的海况,其控制效果依旧表现良好,具有较强的鲁棒自适应能力。
表2 不同海况下不同控制方法主要性能参数的对比Table 2 Performance comparison of control methods in different sea states
本文针对水面船舶航向运动中出现的非零漂角和输入饱和问题,结合反步控制算法提出了一种鲁棒自适应航向控制器,可有效减小非零漂角对航向的影响,采用预滤波方法使船舶航向改变时能够平滑过渡,双曲正切函数和指令滤波器的引入有效解决了控制器设计过程中反步法的应用难题。所提出的控制器可以实现用较小的控制输入准确跟踪期望航向的目标,有效改善了水面船舶的航向控制性能。
然而,需要指出的是,本文在建模时简化了模型,没有过多考虑船舶非线性动态和参数不确定情况,同时控制精度也有待提高,航向误差的超调量还可进一步减小,今后将从这几个方面开展研究。