近水面低航速下潜航器深度自抗扰控制
2020-03-09冯正平郑天海潘万钧
赵 硕,冯正平,郑天海,潘万钧
(上海交通大学船舶海洋与建筑工程学院,上海 200240)
0 引 言
潜航器在海底探测、海洋开发以及军事上都有着广泛应用,而深度控制效果对潜航器的性能有着重要的影响,快速跟踪并维持在目标深度附近是潜航器的常见控制目标[1]。潜航器的执行机构有水平舵、螺旋桨、压载水舱以及波动鳍等[2-5]。利用水平舵对潜航器进行深度控制的方法具有执行机构响应快,控制量输入精准的特点。水平舵作为执行机构被广泛应用于潜航器,其产生的升力与航速密切相关。当潜航器航速较高时,水平舵能够产生的升力较高,具有较强的控制力,而当潜航器在低航速状态下航行时,控制力大幅降低,使潜航器深度控制的难度大幅增加[6]。另一方面,潜航器在航行过程中会受到波浪的扰动。相较于深水,潜航器在近水面航行时收到的波浪扰动力大幅增加,波吸力将使潜航器难以维持在目标深度附近[7]。
PID控制方法凭借着不依赖模型参数、适应范围广、简单易用的优势在众多领域得到了广泛的应用。其控制思想是根据控制目标与实际行为之间的误差来确定消除此误差的控制量。然而,PID方法也存在着诸多缺点。首先,该方法是根据已经存在的偏差来计算纠正偏差的控制量,因而产生滞后。其次,PID中微分项的获取在工程中并不容易,处理不当会产生噪声放大的不良效果。同时,为保证消除稳态误差而存在的积分项可能会导致积分饱和等现象。最后,PID三项线性加权的方式未必能组合出最佳的控制量[8]。面对PID方法存在的缺点,国内外已经有多种控制方法被提出,包括模糊PID与滑模等控制方法[9-10]。
20世纪80年代末期,韩京清提出自抗扰(ADRC)控制方法,在保留了PID方法不依赖模型参数优点的基础上,通过微分跟踪器、扩张状态观测器以及非线性加权3个部分弥补了PID的不足。自抗扰控制方法已经被应用在诸多领域并取得了很好的效果[11]。本文为解决潜航器在近水面、低航速下受波浪扰动大,控制力降低,目标深度难以维持的问题,设计自抗扰深度控制器,通过扩张状态观测器观测扰动并及时进行补偿[12]。仿真与实验结果证明,相比于传统PID控制方法,本文所设计的深度控制器使得潜航器具有更好的深度控制性能。
1 问题的提出
潜航器在近水面、低航速状态下航行时,深度控制难度较大[13]。本文潜航器具有首尾水平舵各一对,尾垂直舵一对。由于潜航器纵稳性较强,且在低航速下纵倾对深度变化影响较小,故重点考虑垂荡运动,水平舵亦均用于进行深度控制,在总力矩输出为0的情况下产生升沉控制力。潜航器升沉运动方程可以表示为:
式中:u为航速;w为垂荡速度;z为深度;δb和δs分别为首尾水平舵舵角;Z0与M0分别为扰动力与力矩[14]。
2 自抗扰控制器设计
由于本文潜航器的工况为近水面,波浪的扰动力相比于在深水中要更加剧烈,所以深度控制的难度显著增加,需要提高控制力。而航速较低的情况下潜航器水平舵升力降低,需要设计更高效的控制器,因此本文采用自抗扰技术设的深度控制器。
自抗扰控制器主要包含3个部分,即跟踪微分器、扩张状态观测器与非线性加权[8]。
1)跟踪微分器可以提取微分信号,并且相对于传统差分的方法具有噪声放大效果不明显的优势,同时还可以安排过渡过程以避免由于初始偏差过大引起的超调问题。
式中:v1(k)为安排过渡过程后的目标;v2(k)为v1(k)的微分信号;h为时间步长;r为速度因子;fhan为最速控制函数。
2)扩张状态观测器能够观测控制目标的值及其微分信号,并且将除控制输入量以外的合力作为总扰动(包括模型误差与环境扰动力)观测出以便给予补偿。
式中:δ为参数。
3)非线性加权能够将控制目标的偏差及其微分信号进行高效的组合以产生合适的控制输入量。
式中:u0(k)为反馈信号及其微分信号组合输出;为扩张状态观测器观测出的总扰动的补偿量;u(k)为控制量输入。
由于在实际实验过程中传感器存在噪声干扰,且扩张状态观测器观测其微分信号时噪音的干扰作用将被放更大,进而容易导致执行机构出现高频振动,一方面影响控制效果,另一方面可能导致机械损坏。本文将自抗扰控制技术中的跟踪微分器(TD)用于滤波,相比传统的一阶差分,TD滤波器能够在相同的相位滞后情况下产生更好的滤波效果[16]。
式中:v(k)为原始数据;v1(k)表示滤波后的数据;v2(k)表示v1(k)的微分信号;h为时间步长;h0为滤波因子;r为速度因子;fhan为最速控制函数。
3 仿 真
本文对作为研究对象的潜航器进行建模,根据实际参数建立了Simulink仿真模型,并采取不同的控制器对潜航器深度控制进行仿真。PID控制器的控制效果如图2所示,执行机构舵角如图3所示。其中控制器参数为Kp=3000,Ki=50,Kd=0。
在无干扰的情况下,调节时间为48.1 s。在仿真过程的第200 s处,施加常值扰动以模拟波吸力。受波吸力的影响,潜航器深度减至4.84 cm,之后由控制器缓慢调节至5 cm。
图1 自抗扰控制器结构图Fig. 1 Structure of ADRC
图2 PID控制器深度控制效果Fig. 2 Depth (PID)
图3 PID控制器水平舵舵角变化Fig. 3 Angle of planes (PID)
自抗扰控制仿真结果如图4所示,执行机构舵角如图5所示。其中控制器参数如下:
过渡过程参数r=0.01,h=0.05;
图4 深度控制效果Fig. 4 Deprh (ADRC)
图5 ADRC控制器水平舵舵角变化Fig. 5 Angle of planes (ADRC)
扩张状态观测器参数β1=20,β2=60,β3=90,δ=0.01;
非线性加权参数β1=80,β2=400,δ=0.01。
调节时间为46.4 s。受波吸力的影响,最小深度达到了4.96 cm,之后由控制器调节至5 cm。
由仿真结果可以看出,当收到波吸力的影响时,潜航器具有深度减小的趋势。PID控制器若无积分项则会存在稳态误差,维持在偏离目标的某一深度。存在积分项的PID控制器依靠积分项消除稳态误差使潜航器回到目标深度附近,但由于偏差的积分需要时间,所以具有明显的控制滞后现象。与PID控制方法不同的是,面对扰动ADRC控制方法通过扩张状态观测器观测扰动并快速调整舵角及时给予补偿,使得潜航器在收到扰动力后能够快速抵消波吸力对潜航器深度的影响,保持在目标深度附近。相较于PID控制器,ADRC控制器能够更有效抵抗波浪扰动,具有更好的深度控制效果。
4 实 验
为验证仿真结果,本文对潜航器深度控制进行了水池实验验证。由于水池长度有限,为保证足够长稳态运动段,潜航器水池实验采取分段控制的方法。第1阶段,潜航器首先由压载水舱控制下潜,在下潜深度达到0.65 m且升沉速度不大于0.05 m/s时进入第2阶段。此时关闭水泵,同时启动螺旋桨,由水平舵进行深度控制。由于压载水舱控制精度有限,将导致第2阶段潜航器具有非零浮力状态,需要基于水平舵的深度控制器予以克服。实验工况设定为速度0.17 m/s,目标深度0.7 m。
在实验过程中,由于传感器存在测量噪声,使用TD滤波器对传感器数据进行滤波以避免微分项中噪声较大影响控制效果。实验验证了波浪扰动下ADRC深度控制器的深度控制效果,深度变化如图6所示。
在深度首次到达0.7 m后,潜航器在控制器作用下平均深度为0.700 48 m。面对波浪的扰动,潜航器在航速下有效抵抗了波吸力的影响,没有在波吸力的作用下体现出被吸至水面的趋势,维持在了0.7 m处的目标深度附近,验证了ADRC控制器具有良好的控制效果。
图6 深度控制实验效果Fig. 6 Depth
图7 水平舵舵角变化实验结果Fig. 7 Angle of planes
5 结 语
潜航器时常需要根据要求保持在某一目标深度附近,其控制性能决定对潜航器完成任务的质量。水平舵在潜航器上被广泛采用,但由于水平舵提供的控制力与航速的平方成正比,所以在低航速状态下,水平舵控制力大幅降低,此时传统的PID控制方法无法发挥执行机构最大控制力,难以保证深度控制效果。同时潜航器在近水面受波浪力的扰动更大,二阶波浪力将使潜航器具有被吸至水面的趋势,使得潜航器更加难以保持深度。
为此,本文基于自抗扰控制技术(ADRC)设计深度控制器。通过仿真对比了在受到扰动后不同控制器的控制效果。PID控制器中的比例项依靠偏差可以抵消扰动但无法消除稳态误差。控制器中的积分项可以消除稳态误差误差,但是偏差的积分需要时间所以在受到扰动后深度回到目标值的时间较长。利用自抗扰技术中扩张状态观测器能够及时观测扰动并进行补偿的特点,ADRC控制器能够在受到扰动后及时做出反应,使潜航器的深度在扰动下保持在目标深度。最后,进行了水池实验,实验中潜航器始终保持在目标深度0.7 m处附近,验证了潜航器ADRC深度控制器在波浪扰动下的良好表现。压载水深度控制调节能力强但控制量不精确,而基于自抗扰控制技术的水平舵控制具有控制量精确且能观测总扰动的特点。未来的研究方向是将压载水控制与水平舵控制结合起来,面对高强度的扰动使用压载水进行大幅度调节,而扰动与压载水合作用力作为总扰动再由水平舵进行精确控制。