APP下载

基于多策略免疫遗传算法的无人艇航向自适应控制

2023-09-22金建海周则兴

船舶力学 2023年9期
关键词:航向无人遗传算法

陈 卓,金建海,张 波,包 涛,周则兴

(1.中国船舶科学研究中心,江苏 无锡 214082;2.深海技术科学太湖实验室,江苏 无锡 214082)

0 引 言

近年来,随着计算机技术和人工智能的飞速发展,无人系统得到了广泛的研究和应用。无人艇作为一种专用于水面任务的无人化平台,可通过搭载航行控制单元,实现水域内的智能航行和自主作业[1]。与有人船艇相比,无人艇具有体积小、快速灵活、自主可靠等优势,被越来越广泛地应用于军民用领域,如海域侦察、探雷、反潜、水质监测、资源勘探等。在各种复杂的任务场景下,航向控制是无人艇完成自主航行的关键和基础技术。无人艇的控制问题有以下特点:(1)无人艇总是受船舶惯性、水动力等非线性项的影响,运动响应过程复杂,难以精确建模;(2)极易受到风浪流等因素的动态干扰,造成无人艇偏离期望位置,具有一定的不可预测性。这些特点给无人艇的运动控制提出了更高的要求,设计出快速稳定且具有环境自适应性的航向控制器是当前无人艇领域的研究热点之一。

在无人艇航向控制的研究方面,国内外学者均进行了广泛的探索。主流的控制方法包括滑模控制、模糊控制、反步法、神经网络方法、Lyapunov 直接法等[2~5]。但是在工程领域内,使用最多的还是经典的PID控制方法。与其他方法相比,PID方法具有结构简单、参数含义明确等优点,不需要系统的精确模型,更易于工程实现[6]。在应用PID 方法时,参数的调节是一个关键问题,常规的经验调参方式效率低下,已无法满足无人艇高精度、自适应的航向控制要求。为解决此问题,李光宇等[7]设计了一种基于分数阶PIλDμ控制器,积分阶次λ 和微分阶次μ的引入使得分数阶比例积分微分控制器具有更好的鲁棒性和抗扰动能力,但同时也加大了算法设计的难度。龚波等[8]提出了一种基于P系统的非线性航向跟踪控制方法,并引入粒子群优化细胞型膜算法对P 系统进行参数寻优;范云生等[9]设计并实现了一种基于模糊自适应PID 的无人水面艇航向跟踪控制器,并通过实船试验证明了该跟踪控制器良好的动静态控制性能和抗干扰能力;胡志强等[10]提出了在线自优化PID 控制算法,以状态误差与系统纵向速度为自变量,构建各控制参数的在线调整函数;包涛等[11]设计了一种基于广义动态模糊神经网络和参考模型的鲁棒自适应控制器,利用广义动态模糊神经网络建立了环境干扰的逆动态模型,并结合无人艇运动控制的参考模型设计了鲁棒自适应控制器;葛贝贝[12]将免疫遗传算法(IGA)应用到了船舶航向PID控制器的离线优化中,控制效果良好,但收敛较慢,鲁棒性差,无法适应于在线优化过程。

针对以上问题,本文提出一种基于多策略融合改进的免疫遗传算法(Multi-Strategy Fusion Immune Genetic Algorithm,MSFIGA),引入混沌初始化、向量角相似度及自适应差分接种等策略,以改善基本免疫遗传算法收敛缓慢、易陷入局部最优的缺点。在此基础上,设计基于MSFIGA 的无人艇航向自适应控制器及性能评价函数,实现对PID 控制参数的自适应优化。最后进行对比仿真试验以验证方法的有效性。

1 无人艇运动数学模型

1.1 无人艇运动模型

在无人艇航向控制器的设计中,响应型船舶运动模型是最常用的一种数学模型。该模型由野本谦作(Nomoto)提出,从控制工程的角度描述了船舶操纵的动态响应过程。无人艇的二阶Nomoto 模型可以表示为

式中,ψ为船舶航向角,δ为舵角,K、T分别为表征船舶操纵特性的特征参量。

野本方程较好地描述了船舶运动的线性化模型,但是在无人艇的实际航行中,还应考虑由船舶惯性和水动力造成的非线性物理力影响,因此在上式中引入非线性项,得到USV的非线性响应模型[13]:

式中,α、β分别为非线性项系数;K、T、α、β均与船舶航速有关,可通过试验数据辨识获得。

1.2 风浪流干扰模型

在无人艇实际航行过程中,风浪流等环境力会对船舶运动及真实航向造成干扰,因此在设计航向控制器时应加以考虑。按照作用形式,作用于船舶上的环境扰动力可分为风流扰动和波浪扰动两种。在应用船舶非线性数学响应模型时,可以将风流力和波浪力干扰表述为一种额外的干扰舵角。

风流力的干扰形式较为简单,可用白噪声的形式进行表示:

式中,cw为一定常值,wgn为零均值高斯噪声。

波浪对船舶造成的扰动较为复杂,本文参考文献[14]的方法模拟波浪力对船舶的扰动。基于波浪谱分析理论,将海浪干扰用有色噪声经滤波器输出的波高加以代替:

再根据波高及波高变化率计算出扰动力矩:

最后利用扰动力矩计算得到海浪扰动造成的等效舵角值:

以上式子中,k1为比例环节,G( )s为有色噪声到波高的传递函数,C1、C2、ρ1为波浪模型增益系数,Cv为比例系数,v为船舶航速。

2 多策略融合改进的免疫遗传算法(MSFIGA)

2.1 基本免疫遗传算法

免疫遗传算法(Immune Genetic Algorithm,IGA)[15]是基本遗传算法的改进版本,通过融合生物免疫系统的动态调节机制,优化了遗传算法的随机搜索过程。免疫遗传算法与传统遗传算法的最大不同之处在于其引入了种群相似度的概念,通过抗体之间的相似性和浓度来促进和抑制种群个体的生成,进而维持种群进化过程中的多样性。

假设种群规模为N,抗体的基因数为M,编码数为S,则种群在第i个基因位上的信息熵可以表示为

式中,pi,j表示种群中N个抗体在第i个基因位的值为j的概率。N个抗体的平均信息熵可以定义为

种群中任意两个抗体a1和a2之间的相似度可以用平均信息熵加以表示,即

设定一相似度阈值为γ,若Sa1,a2>γ,则认为抗体a1和a2相似,否则认为不相似。根据抗体a1与种群中所有抗体的相似度判断,可得到该抗体在群体中的浓度值为

式中,Qa1,ai为标记值。当抗体a1和a2相似时,Qa1,ai=1;当抗体a1和ai不相似时,Qa1,ai=0。

IGA根据抗体浓度和适应度对种群的进化过程进行促进和抑制,抗体的选择概率可以表示为

式中:Pf、Pd分别为抗体的适应度概率和浓度概率,可用轮盘赌方法计算;α为抗原-抗体亲和系数,用于调节适应度和浓度对抗体选择的影响,且有0<α<1。

2.2 多策略融合改进

2.2.1 混沌初始化策略

研究表明,初始群体的分布性质严重影响整个算法的收敛性能[16]。IGA 采用简单的随机初始化方式,种群进化效果受到初始种群质量的限制,容易出现种群过分集中、多样性不足等问题,难以有效利用整个解空间。借鉴于混沌系统对数据空间的遍历特性,本文采用一种基于Tent 混沌映射的方法对种群进行初始化,以克服随机化方法的缺陷。

Tent混沌映射系统的动力学模型可定义为

当参数k∈( 0,1 ),x∈[0,1 ]时,该系统处于浑沌状态;当k=0.5 时,该系统为标准Tent混沌映射,可完成对[0,1 ]空间的满映射,

种群初始化过程可描述如下:随机生成初始值x0∈[]0,1 ;根据式(13)迭代计算得到一个数值序列{x0,x1,…,xN} ,其中N为种群规模;将混沌序列映射到待求解问题的解值域,即可得到具有遍历特性的初始化种群。

2.2.2 向量角相似度评价策略

免疫操作主要靠计算不同抗体之间的相似度及浓度来实现,然而IGA 中单纯基于抗体结构的相似度计算方式没有真正体现生物学中免疫操作对选择多样性的影响,限制了算法的优化性能。为改善此缺陷,本文提出了一种基于向量角的相似度评价策略。

在种群中,给定抗体a和b,记其值分别为va和vb,适应度值分别为fa和fb。将每个抗体用二维特征向量[v,f]表示,抗体a和b之间的相似度以特征向量之间的余弦角进行表征:

对于特定的求解问题,可给定一相似度阈值ε,0<ε≤1。若S′a,b>ε,则认为抗体a和b相似;否则认为不相似。基于向量角的相似度计算方式,综合考虑了抗体在结构特征和品质特征上的相似度,更贴近自然免疫系统中对抗体相似度的定义。

2.2.3 自适应差分接种策略

在进化经过一定代数后,抗体种群的多样性下降,导致算法陷入局部最小、收敛变慢。为解决IGA 算法前后期搜索不均衡的问题,同时充分利用进化过程中的优势抗体信息,引入一种自适应差分接种策略。

疫苗提取:定义V为种群N的疫苗库,由进化过程中每一代的最优个体vi组成。将疫苗库V中的抗体按适应度值进行排序,选择最优的N个抗体作为待接种疫苗(若不足N个,则复制最优个体以补充)。

疫苗接种:定义疫苗接种周期TAC,进化代数记为g。如果mod(k/TAC)=0,则执行差分疫苗接种操作,其中mod(·)为取余函数。选择疫苗对当前种群进行差分接种:

式中a'(g)为接种后抗体,a(g)为接种前抗体,bac为疫苗,F为差分缩放因子。再将抗体种群a'(g)和a(g)进行等位基因对比,产生优势进化种群:

2.3 算法流程

MSFIGA的具体流程如图1所示。

3 基于MSFIGA的无人艇航向自适应控制器

3.1 无人艇航向控制器设计

本文采用基于参数自适应整定的PID 算法作为无人艇航向跟踪的控制器。在每个采样周期内,以航向偏差量作为控制器输入,并利用MSFIGA 对控制器参数进行实时优化调整,再由控制器执行输出舵角到USV的运动模型,如图2所示。

图2 基于MSFIGA的USV航向在线自适应控制器结构Fig.2 Structure for USV’s online heading contoller based on MSFIGA

定义初始时刻为t0,当前时刻为t,航向误差量为e(t),则PID控制器的基本结构可以表示为

式中,kp、ki、kd分别为比例、积分、微分系数,为待优化目标。

3.2 性能评价函数

性能评价函数通过评估控制器的综合性能指引参数优化的方向。控制系统主要的性能指标有三类,即稳定性、准确性和快速性。对航向控制而言,以上三个要求往往是相互制约的,如上升时间短,则系统震荡,航向稳定性变差;改善稳定性,则调节速度可能过于缓慢,精度也有可能变差。

为获得满意的静、动态特性,本文采用误差e(t)、误差变化率de(t)及超调量eM的加权函数作为抗体优化的最小目标函数:

式中,ω1、ω2、ω3为加权系数。公式右侧第三项是为了避免超调而引入的惩罚函数,超调量eM可按下式进行计算:

性能评价函数J综合考虑了采样周期内的稳态误差、调节速率和超调量,其值越小,表明控制系统的性能越好,对应的控制参数越优。

4 仿真结果分析

4.1 算法优化性能测试

为验证本文混合优化免疫遗传算法(MSFIGA)的优化性能,首先针对下面5 组典型的测试函数,即Camel 函数(f1)、Rastriqrin 函数(f2)、Schwefel 函数(f3)、Bohachevsky 函数(f4)、Griewangk 函数(f5),利用Matlab进行仿真测试,并与基本免疫遗传算法(IGA)和基于单策略优化的免疫遗传算法进行比较。

考虑到算法的随机性,每组函数均进行20次独立的随机试验。MSFIGA 的参数设置如下:N=30,M=3,Ps=0.8,Pc=0.6,ε=0.85,α=0.7,Tac=20。IGA 和单策略优化的IGA 算法的相关参数与MSFIGA中的相同。测试结果如表1 所示,表中SSIGA1、SSIGA2、SSIGA3 分别表示基于混沌初始化、向量角相似度评价和自适应差分接种的单策略改进免疫遗传算法。

表1 免疫遗传算法优化性能测试对比Tab.1 Comparison of performance for immune genetic algorithms

由表1 可以看出,基于单策略优化的IGA 通过引入不同的改进策略,不同程度地改善了IGA 的全局搜索能力,使得其在优化性能上均优于传统的IGA。而在基于多策略混合优化的算法中,将三种策略有机融合进了免疫进化的整个过程中,在保证种群多样性的同时使得种群的整体性能得到了进一步提升,从而显著提高了算法的搜索能力。从测试结果可以看出,MSFIGA 具有比单策略算法更强大的全局搜索能力,且收敛更加稳定。

4.2 航向控制仿真测试

为验证MSFIGA 算法在无人艇航向控制任务中的有效性,开展不同干扰条件下的航向控制仿真测试,并将测试结果与经验PID、IGA-PID 方法进行比较。以中国船舶科学研究中心小型水面无人艇“X-boat”作为仿真对象,无人艇模型参数及风浪流干扰参数设置如表2所示。

表2 无人艇运动模型及环境干扰参数设置Tab.2 Parameter setting of USV motion model and environment disturbance

图3和图4给出了无人艇阶跃响应的航向控制结果,其中图3为在无干扰情况下的仿真结果,图4为在有风浪干扰情况下的仿真结果。从图中可以看出:在无干扰情况下,三种方法均能实现对期望航向的精确跟踪,但是本文方法在快速性上明显优于其他两种方法;在有干扰情况下,传统的PID 控制对航向干扰的调整能力较差,存在一定的稳态误差;基于MSFIGA 的方法在稳态误差、调节时间和最大超调量上均优于其他两种方法。

图3 无干扰情况下的无人艇阶跃响应航向控制结果Fig.3 Results of USV heading control under good sea conditions for step response

图4 风浪干扰情况下的无人艇阶跃响应航向控制结果Fig.4 Results of USV heading control under worse sea conditions for step response

图5给出了无人艇在有风浪干扰情况下方波响应的航向控制结果。在跟踪方波航向的过程中,采用单步优化的方式实现对控制参数的在线更新。为了保证算法的实时性,对单步优化过程中的种群数量和最大进化代数进行了限制(种群规模N=30,最大进化代数G=10),在牺牲一定优化性能的基础上有效减低了计算量,以实现算法的在线运行。从试验结果可以看出,基于MSFIGA 在线优化的航向控制器能够实现对航向轨迹的快速响应和跟踪,与经验PID 和IGA-PID 方法相比,具有更少的调整时间和响应速度。

图5 风浪干扰情况下的无人艇方波响应航向控制结果Fig.5 Results of online adaptive heading control of USV under worse sea conditions for squared wave response

从以上仿真测试结果可以看出,基于多策略融合改进免疫遗传算法(MSFIGA)的PID控制器,在离线情况和在线情况下均能实现对无人艇航向的准确跟踪,且在有风浪干扰情况下具有比传统PID 和IGA-PID 方法更快的响应速度和更好的鲁棒性能。仿真试验说明本文方法具有良好的自适应跟踪能力,能满足无人艇的航向自适应控制要求。

5 结 语

针对无人艇的航行过程具有强非线性、易受环境动态干扰等特点,本文设计了一种基于多策略融合改进免疫遗传算法(MSFIGA)的无人艇航向自适应控制器。在基本免疫遗传算法的基础上引入了混沌初始化、向量角相似度及差分接种等调节策略,实现了对PID 航向控制器的控制参数的自适应优化,有效提升了无人艇航向控制的准确性和鲁棒性。在离线、在线情况下进行了无人艇在风浪流干扰条件下的航向控制仿真试验。试验结果表明:在多种风浪流干扰条件下,本文方法均能快速准确地跟踪期望航向,且控制性能明显优于其他两种方法,具有较强的稳定性和自适应调整能力。虽然计算量大于传统PID 算法,但是在具有常规运算能力的计算机上能够完成单次采样时间内的优化计算,满足实时性要求,具有一定的工程实用价值。

猜你喜欢

航向无人遗传算法
知坐标,明航向
考虑几何限制的航向道模式设计
无人战士无人车
反击无人机
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
诗到无人爱处工
基于遗传算法和LS-SVM的财务危机预测
无人超市会流行起来吗?
基于干扰观测器的船舶系统航向Backstepping 控制