赵蕊,许建,王淼,向先波,徐国华
1 中国舰船研究设计中心,湖北 武汉 430064
2 华中科技大学 船舶与海洋工程学院,湖北 武汉 430074
近年来,自主式水下机器人(AUV)在海洋资源勘探、设备检修、水下搜救等领域发挥着重要作用。AUV已成为国内外研究学者广泛关注的焦点,尤其是对其操纵性方面的研究。水下航行器具有六自由度耦合、非线性等控制模型的特点[1-2],其优劣直接关系到AUV航行的安全,是评价AUV性能的一个重要指标。但水下航行器在水下航行过程中所受干扰较复杂,航向和深度控制相互耦合,使得自动控制实现较困难,因此多采用水平面运动和垂直面运动解耦的方法[3]。
为了实现AUV按设定的航向自动航行,需要采用自动舵控制装置来修正因水下复杂环境干扰引起的航向偏差。目前,许多国内外研究学者针对水下航行器自动舵转舵控制进行了不同尝试。传统的航向控制装置为PID自动舵,Lee等[4-6]对PID自动舵均进行了应用研究。但由于PID自动舵对高频干扰比较敏感,容易引起频繁操舵。此外,由于AUV运动控制模型复杂,并且水下环境多变,而传统的PID模型过于简单,只能控制小范围内的控制点,具体表现为控制器鲁棒性差,难以达到理想的控制效果。
传统PID本质上是整数阶PID(Integer Order PID,IOPID)控制方法。为了解决上述问题,薛定宇 等[7-8]提出了分数阶PIλDμ(Fractional Order PID,FOPID)控制器。同IOPID控制器相比,由于FOPID控制器增加了积分阶次和微分阶次这2个参数,适度增加了模型复杂度,使之对复杂的运动模型和水下环境的适应力更强,从而提高了控制系统的鲁棒性和灵活性。但与此同时,也增加了FOPID控制器参数整定的难度。IOPID参数整定的经验方法此时已不再适用,因此,本文考虑使用智能算法对参数进行自动寻优。
近年来,智能仿真算法在参数寻优方面可谓硕果累累,这些算法通常引入“群体智能”的思想来避免目标函数陷入局部极值,使结果更加接近全局最优。因此,通过使用智能算法来对控制参数进行整定,可以有效地使模型实现参数自由,避免传统试凑参数带来的误差,从而提高航向控制精度。例如,Fan等[9]提出了一种有效的模糊自适应PID方法对水面船舶航向进行控制,仿真试验表明,该方法改善了系统对风、浪、流的响应,具有较好的鲁棒性。王芳荣等[10]将神经网络应用于无人水下航行器的控制,采用PID神经网络解耦控制算法来实现独立控制。
本文将结合以上思想,针对AUV航向自动舵提出一种基于遗传算法(GA)整定参数的分数阶PIλDμ控制器[11]。并对传统的试凑法整定IOPID、遗传算法整定IOPID(简称GAIOPID)、遗传算法整定FOPID(简称GAFOPID)这3种控制器进行仿真对比实验,以验证本文提出的遗传算法整定FOPID控制器的动态性能。
由于水下机器人的运动具有六自由度耦合、非线性等特点,而且模型存在不确定性,使其操纵性变得较为复杂,所以在实际操纵过程中,常将其运动方程解耦后采用三自由度方程进行控制,这样不仅能够简化运动模型,而且还能便于控制器的实现,降低成本。本文将只对其水平面航向进行控制研究,所以不考虑垂直面的影响。对标准运动方程[12]进行解耦后可得到航向角动力学模型和运动学模型。
分数阶微积分与整数阶微积分是统一的,是任意阶微分和积分的理论,它实际上是整数阶微积分的推广。目前,研究领域常用的分数阶微积分定义有4种形式:由整数阶直接扩展而来的分数阶Cauchy积分定义、Grunwald-Letnikov定义、Caputo定义和Riemann-Liouville定义[13]。
分数阶Cauchy积分定义直接由整数阶扩展而来。对于很多物理或实际工程应用中的函数来说,Grunwald-Letnikov分数阶微积分定义与Riemann-Liouville分数阶微积分定义是等效的。Caputo定义[14](式(1))对常数的求导是有界的,而Riemann-Liouville定义对常数的求导是无界的,因此,Caputo定义更适用于分数阶微分方程初值问题的描述。
式中:Dtα为分数阶微积分的基本操作算子,其中α和t分别为操作算子的上、下限,α为微积分阶次,p-1<α<p,p∈N;Γ为伽玛函数。
当函数f(t)已知时,分数阶微积分的计算可以利用Fourier级数计算周期函数的分数阶微积分和Grunwald-Letnikov分数阶微积分定义等求解。但在实际应用时,由于分数阶控制器中的f(t)常不可预知,不能直接求取分数阶微分,因此常采用近似法替代求取,如滤波算法和Oustaloup近似法[15]。本文采用Oustaloup近似法,将sα转化为整数阶微积分,阶次取N,拟合频率范围(ωb,ωh),则转化为整数阶传递函数[16]。
式中:0<α<1;b>0;d>0;s=jω。将上式表示成有理传递函数零点和极点形式:
第k个零点、极点为
构造出分数阶微积分算子的连续有理传递函数模型:
分数阶PID是基于传统的整数阶PID控制算法[17],引入微分阶次λ和积分阶次μ得到的分数阶PIλDμ控制器[7]。由于无法直接计算分数阶函数,因此需要将分数阶PIλDμ控制器传递函数采用Oustaloup近似法进行有理化处理,得到分数阶PIλDμ控制器的有理化表达式为
式中,kp,ki,kd分别为PID的比例、积分、微分系数。
对于一般的单输入单输出的系统传递函数,可表示为
采用零阶保持器,取采样周期为0.001 s,将传递函数采用Matlab进行离散化,得到
再将G(z)转化为差分方程
式中:e(s)为输入值;u(s)为控制器输出值;a0,…,均为实数。
将s-λ和sμ的有理整数传递函数模型分别进行离散化,可得到离散化的PID控制器表达式:
式中,e(k),e(k-1),…,e(k-m)分别为k,k-1,…,k-m时刻的航向角误差值;u(k),u(k-1),…,u(k-n)分别为k,k-1,…,k-n时刻的控制器输出舵角值;aλ1,…,aλn,bλ0,…,bλm,aμ1,…,aμn,bμ0,…,bμm均为实数,这些系数与λ,μ,b,d,N,ωb,ωh相关。
分数阶PIλDμ(FOPID)控制器是整数阶PID(IOPID)控制器的一般形式,由于其积分和微分阶次可以在一定范围内任意取值,所以FOPID较IOPID控制器更具灵活性。然而,由于FOPID在原来IOPID的3个增益参数的基础上,又额外引入了2个微积分阶次参数,因此增加了控制器参数的选择难度。本文采用遗传算法对分数阶PIλDμ的相关参数进行寻优[11]。
遗传算法是模拟现实世界中基因种群优胜劣汰的过程。通过对劣质解进行淘汰变异,对优质解进行交叉遗传,从而搜索到全局最优解。该方法在文献[18-20]中均有应用,是一种不需要任何初始信息并可以寻求全局最优解的、高效的优化组合方法,避免了由人为经验指定参数给控制器引入的误差。
遗传算法整定FOPID控制器参数的基本流程(图1)为:
1)确定待优化参数范围。根据相关约束条件和工程经验,为每一个待优化的参数(本文中为3个增益参数加上2个微积分阶数参数)确定取值范围,根据取值范围和需要的精度确定解的编码长度,并对每个待求解进行编码。
2)初始化种群。为了避免人为指定初始化种群而带来的误差,一般由计算机随机产生初始种群,即随机产生一批初始参数解。种群的大小由计算的复杂度确定。
3)确定目标函数。对于任何一个系统,衡量其控制性能的指标有3个方面,即稳定性、准确性和快速性。稳态误差反映了系统的准确性,稳态误差越小,系统越准确,反之,系统的准确性越差。上升时间反映了整个系统的快速性,上升时间越短,表示控制系统的快速性越好。然而如果单纯为了追求系统的快速性,很可能会导致控制量过大,使得系统受限于固有饱和特性而出现不稳定,因此需要在目标函数中加入控制量;另一方面,过快的系统往往伴随着过大的超调量,因此本目标函数中采用惩罚机制,将超调量作为最优指标的一项。
为了使控制效果更好,本文将控制量、稳态误差和上升时间作为约束条件。则参数选取的最优目标函数表达式为
式中:e(t)为系统稳态误差;u(t)为控制量输出;tu为上升时间;w1,w2,w3,w4为权值,且w3≫w1;ey(t)=y(t)-y(t-1),其中y(t)为被控对象输出。
4)遗传算法的操作。在遗传算法的每一次循环迭代中,当前种群通过复制、交叉及变异得到新一代种群,新一代种群代入目标函数中计算适配值。观察新一代种群是否满足预设条件,若不满足,则将新一代种群作为当前种群重复以上遗传操作(复制、交叉及变异),进入下一次循环迭代,直到满足预设条件为止。
5)解码得到最优解。遗传算法循环迭代结束后,将最终种群对应的编码信息进行解码,从而得到各参数的最优解,遗传算法参数寻优结束。
为了证明遗传算法整定FOPID控制器的优越性,本文分别在AUV样机上对传统的试凑法整定IOPID,GAIOPID和GAFOPID进行了模拟仿真。并对3个控制器的稳态误差、上升时间和超调量进行了对比分析。
仿真使用的AUV样机外形为流线型,长4.2 m,直径0.48 m,设计巡航时速4 kn。动力学模型的水动力系数由拖曳水池试验所得。仿真过程中,周期为1 s,总时间100 s,航速4 kn,最大舵角限定为±30°。分数阶控制器设计过程中,Oustaloup滤波方法拟合频率(ωb,ωh)取[0.01,1 000],阶次为5。遗传算法中,样本总数为20,交叉概率为0.9,变异概率最大为0.05。依据工程经验,选取参数kp的取值范围为[0,3],ki取值范围为[0,2],kd取值范围为[0,1],λ取值范围为[0,1],μ取值范围为[0,1],权 值w1=0.999,w2=0.001,w3=200,w4=1,采用实数编码方式,最大进化代数N为200。
试凑法整定IOPID的参数为:kp=2.5,ki=1.6,kd=0.02。经遗传算法寻优后,获得的最优参数为:GAIOPID整定参数kp=1.883 6,ki=1.578 8,kd=0.023 2;GAFOPID整定参数kp=2.057 5,ki=1.318 8,kd=0.014 4,λ=0.048 7,μ=0.004 3。遗传算法对IOPID和FOPID寻优过程中的目标函数J的取值(即适配值)随进化代数的变化如图2所示。由图可见,遗传算法对2种控制模型的参数寻优过程均能在较少迭代步数内达到稳定(约50步时收敛,约100步时稳定),且2种控制模型的适配值在寻优结束后非常接近,说明了遗传算法对参数寻优的有效性和稳定性。
随后,将3个整定好参数的控制器代入控制模型中,分别以10°,20°,30°和40°航向角为控制目标进行控制仿真。在每种控制目标情况中,3种控制器下的AUV实际航向角变化如图3~图6所示。其中黑色虚线为控制目标,红色点划线为试凑法整定PID控制器下的AUV实际航向角,蓝色虚线为GAIOPID控制器下的AUV实际航向角,绿色实线为GAFOPID控制器下的AUV实际航向角。
根据仿真结果,从航向变化图曲线来看,3种控制器下的AUV实际航向角均能收敛至目标值附近,而遗传算法整定的FOPID的超调量显著小于其它2个控制器。因此,采用遗传算法整定的FOPID控制器得到的效果最好,其次为采用遗传算法整定的IOPID,最后为试凑法整定的IOPID。
此外,本文还计算了4种仿真情况下3个控制器的上升时间、超调量、超调量百分比、稳态误差和稳态误差百分比,相应结果在表1中列出。
由表1可知,遗传算法整定的FOPID控制器得到的航向曲线的超调量和稳态误差值均比遗传算法和试凑法整定IOPID控制器的小,而上升时间几乎一致。虽然试凑法整定的IOPID控制器得到的航向曲线具有稳态误差较小的特点,但其超调量较大。考虑到在航行器的控制上,超调量过大会直接导致控制性能变差甚至是失控,因此,超调量对控制性能的影响应当摆在首要考虑位置。此外,以上结论在定向10°~40°的多组仿真实验中均成立,说明遗传算法整定FOPID在航向控制上普遍优于遗传算法和试凑法整定的IOPID。综合以上分析,遗传算法整定的FOPID具有更好的性能。
表1 航向变化曲线的性能指标Table 1 Performance of the three controllers
本文针对AUV航向自动控制的问题,提出了一种基于遗传算法的分数阶PIλDμ控制器的设计方案。仿真表明,基于遗传算法得到的分数阶PIλDμ控制器在航向控制过程中比基于遗传算法的整数阶PID控制器和常规试凑法PID控制器具有更好的动态性能。该方法可以对常规的航向自动舵进行改进,不仅减少了参数整定的工作量,还提高了控制器性能,具有较高的应用价值。