一种基于改进白鲸算法的无人救援艇航向控制方法转让专利

申请号 : CN202310416094.X

文献号 : CN116149166B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张玉璘徐明辉曹旭饶志鹏

申请人 : 济南大学

摘要 :

本发明公开了一种基于改进白鲸算法的无人救援艇航向控制方法,属于分数阶PID控制优化技术领域,具体包括改进基础白鲸算法,引入非线性的鲸落概率更新策略和新的平衡因子策略,提高算法收敛速度和精度,利用改进的白鲸优化算法优化分数阶PID控制器,解决分数阶PID参数寻优困难的问题,提高无人救援艇在面对复杂环境时的灵活性能,控制性能,提高无人救援艇的抗干扰能力,满足无人救援艇在复杂环境下航向控制要求。

权利要求 :

1.一种基于改进白鲸算法的无人救援艇航向控制方法,其特征在于,利用改进白鲸算法优化分数阶PID控制器,然后在Matlab/Simulink中对航向控制系统进行仿真,得到最佳分数阶PID参数下的航向控制效果,具体包括以下步骤:步骤一:建立无人救援艇航向控制数学模型;

步骤二:在无人救援艇航向控制数学模型基础上,建立无人救援艇航向控制系统结构模型,在Simulink中建立无人救援艇航向控制仿真模型;

步骤三:在基础白鲸算法的基础上进行改进,引入非线性的鲸落概率更新策略和新的平衡因子策略;具体改进方式为:Q1、为提高算法的寻优精度,不易陷入局部最优,新的平衡因子策略计算如下式所示:;

式中,T和Tmax分别为当前迭代次数和最大迭代次数,randn为正态随机数,Npop为白鲸的种群规模,Bf新的平衡因子;

Q2、为提高算法的寻优速度,非线性的鲸落概率更新策略计算如下式所示:;

式中,T和Tmax分别为当前迭代次数和最大迭代次数,WF为非线性的鲸落概率更新策略;

步骤四:利用改进的白鲸算法对分数阶PID控制器参数优化整定,获得最优控制参数,并在Matlab/Simulink中对系统仿真,根据无人救援艇目标航向与实际航向的误差值建立误差积分准则ITAE,并根据误差积分准则计算适应度值,获得最优航向控制效果;所述改进的白鲸算法对分数阶PID控制器参数优化整定,得到最优控制效果,具体步骤为:Step1:设置改进白鲸算法初始参数,包括最大迭代次数、种群规模、待优化问题维度和搜索空间;

Step2:采用Matlab/Simulink搭建系统仿真模型,并将ITAE作为模型输出;

Step3:构建优化目标函数,采用仿真系统模型的ITAE作为待优化目标;ITAE公式为:;

式中,J为模型目标函数值,e(t)为分数阶PID控制系统的输入系统的反馈偏差,t为时间;

Step4:初始化种群,各白鲸初始位置在搜索范围内随机产生,并基于目标函数计算得到适应的值;

Step5:计算改进后的非线性平衡因子Bf和鲸鱼坠落概率WF;

Step6:根据非线性平衡因子Bf的大小判断每条白鲸进入的阶段,当Bf>0.5时,白鲸的更新机制处于探索阶段,由下式(1)更新白鲸的位置:(1);

式中, 是第i条白鲸在第j维上更新后的位置,Pj是从d维中选择的随机整数,是第i条白鲸在Pj维度上的位置, 是第r条白鲸的当前位置,even和odd分别表示奇偶数;r1和r2是(0, 1)的随机数,sin(2πr2)和cos(2πr2)表示镜像白鲸的鳍朝向水面,决定算法开发的方向;

当Bf≤0.5时,白鲸的更新机制处于开发阶段,由下式(2)更新白鲸的位置:(2);

式中, 和 分别是第i只白鲸和任意白鲸的当前位置, 是第i只白鲸的新位置, 是白鲸种群中的最佳位置,r3和r4是(0, 1)之间的随机数,C=2r4(1‑T/Tmax)是衡量莱维飞行强度的随机跳跃强度,LF是构造的莱维飞行函数;

然后对新位置的适应度值进行计算排序,找到当前迭代的最优解,每次迭代均需计算改进后的鲸鱼坠落概率WF,并通过下式(3)来更新鲸鱼的位置:(3);

式中,r5,r6和r7是(0,1)之间随机数,Xstep是鲸鱼坠落的步长,鲸鱼坠落步长公式为:;

式中,C2是与鲸鱼坠落和种群规模相关的阶跃因子,其中C2=Wf×n;

Step7:判断是否达到最大迭代次数,若是,则寻优停止输出最优参数,否则返回Step5继续寻优;

Step8:将最优参数赋值给Kp、Ki、Kd、λ和μ并带入到无人救援艇航向控制仿真系统中进行仿真,得到最佳数据情况下的模型输出结果。

2.根据权利要求1所述的一种基于改进白鲸算法的无人救援艇航向控制方法,其特征在于,所述步骤一中无人救援艇航向控制数学模型包括无人救援艇运动数学模型、无人救援艇动力装置数学模型和复杂海浪干扰数学模型以及正常海浪干扰数学模型。

3.根据权利要求2所述的一种基于改进白鲸算法的无人救援艇航向控制方法,其特征在于,所述无人救援艇运动数学模型为:;

式中,K0是船舶回转性参数,取值为0.42,T0为船舶操纵性能指数,取值为107.12,s为函数变量,G(s)无人救援艇运动数学模型输出值。

4.根据权利要求2所述的一种基于改进白鲸算法的无人救援艇航向控制方法,其特征在于,所述无人救援艇动力装置数学模型为:;

式中,s为函数变量,Gp(s)为无人救援艇动力装置数学模型输出值。

5.根据权利要求2所述的一种基于改进白鲸算法的无人救援艇航向控制方法,其特征在于,所述复杂海浪干扰数学模型采用三阶环节为:;

式中,s为函数变量,G1(s)为复杂海浪干扰数学模型输出值;

所述正常海浪干扰数学模型采用典型二阶环节为:;

式中,s为函数变量,G2(s)为正常海浪干扰数学模型输出值。

6.根据权利要求1所述的一种基于改进白鲸算法的无人救援艇航向控制方法,其特征在于,所述步骤二中无人救援艇航向控制系统结构模型,其航向控制器采用分数阶PID,同时通过改进白鲸优化方法优化整定分数阶PID参数,分数阶PID公式为:;

式中,Kp为比例系数,Ki为积分系数,Kd为微分系数,λ为积分阶次,μ为微分阶次,S为函数变量,G3(S)为分数阶PID公式输出值。

说明书 :

一种基于改进白鲸算法的无人救援艇航向控制方法

技术领域

[0001] 本发明属于分数阶PID航向控制技术领域,尤其涉及一种基于改进白鲸算法的无人救援艇航向控制方法。

背景技术

[0002] 近些年随着无人驾驶技术逐渐成熟,水面无人驾驶船舶逐渐兴起,水面无人船舶主要应用于水上救援、水上环境监测以及水面垃圾清理等场景;其中水上救援是最重要的应用,利用无人智能化船舶开展海面救援,在节约人力成本同时,面对复杂海域和恶劣环境时,可以实现高效率救援,提高救援率。
[0003] 无人救援船舶在复杂水域要实现精准救援、快速救援,其航行方向必须精确,航向偏离预定方向后需要快速反应,及时调整方向,具备较好的抗干扰能力、机动能力。
[0004] PID控制器是非常经典的一种控制器,根据期望与现状的偏差调节,实现较为简单,目前是无人救援船舶的主要控制方式;但是传统PID是一种线性控制器,对复杂被控对象控制、非线性系统效果不佳,难以满足无人救援船舶在复杂环境下航向控制要求。由常规PID控制器采用分数演算得到的分数阶PID控制器是传统PID控制器升级版,分数阶PID控制中积分次数和微分次数不是整数,可为实现复杂的控制性能提供更大的灵活性,提高系统的鲁棒性和机动性。分数阶PID相对于传统PID来说,虽然在控制效果方面得到了提高,但是由于分数阶PID增加了两个参数,使得分数阶PID的参数整定变得更加复杂。
[0005] 白鲸优化算法(BWO)是一种新的元启发式优化算法,其灵感来源于白鲸的生活行为;BWO包含探索阶段和开发阶段,此外该算法还模拟了生物界中存在的鲸落现象,BWO在解决单模态和多模态控制优化问题方面十分具有竞争力,但是基础白鲸算法仍然存在求解精度低、容易陷入局部最优的缺点。

发明内容

[0006] 本发明的目的在于:提出一种无人救援艇舵向控制方法,利用改进的白鲸优化方法对分数阶PID参数优化整定,从而提高无人救援艇在复杂海域的航向控制的响应速度和鲁棒性。
[0007] 为了实现上述目的,本发明采用了如下技术方案:
[0008] 一种基于改进白鲸算法的无人救援艇航向控制方法,具体包括以下步骤:
[0009] 步骤一:建立无人救援艇航向控制数学模型;航向控制数学模型主要包括无人救援艇运动数学模型、无人救援艇动力装置数学模型和复杂海浪干扰数学模型以及正常海浪干扰数学模型。
[0010] 步骤二:在无人救援艇航向控制数学模型基础上,建立无人救援艇航向控制系统结构模型,在Simulink中建立无人救援艇航向控制仿真模型。
[0011] 步骤三:在基础白鲸优化算法的基础上进行改进,引入非线性的鲸落概率更新策略和新的平衡因子策略。
[0012] 步骤四:利用改进的白鲸优化算法对分数阶PID控制器参数优化整定,获得最优控制参数,并在Matlab/Simulink中对系统仿真,根据无人救援艇目标航向与实际航向的误差值建立误差积分准则ITAE,并根据误差积分准则计算适应度值,获得最优航向控制效果。
[0013] 进一步的,所述步骤一中,无人救援艇运动数学模型采用野本谦作的 Nomoto模型,Nomoto模型是船舶运动目前最稳定的模型,也是应用最广泛的一种线性数学模型,在线性控制器的设计和简单的系统仿真中能够保证较高的精度,无人救援艇运动数学模型为:
[0014] ;
[0015] 式中,K0是船舶回转性参数,取值为0.42,T0为船舶操纵性能指数,取值为107.12,s为函数变量,G(s)无人救援艇运动数学模型输出值。
[0016] 进一步的,在仿真操作时,K0取值为0.42,T0取值为107.12;无人救援艇运动数学模型为:
[0017] ;
[0018] 式中,s为函数变量,G(s)无人救援艇运动数学模型输出值。
[0019] 进一步的,所述步骤一中,无人救援艇动力装置数学模型为:
[0020] ;
[0021] 式中,s为函数变量,Gp(s)为无人救援艇动力装置数学模型输出值。
[0022] 进一步的,所述步骤一中,为了测试改进白鲸算法相对于基础白鲸优化算法在复杂海浪和正常海浪干扰下优化无人救援艇航向的控制特性,在Matlab和Simulink仿真中利用白噪声驱动一个典型环节模拟海浪干扰;其中复杂海浪干扰数学模型为三阶环节:
[0023] ;
[0024] 式中,s为函数变量,G1(s)为复杂海浪干扰数学模型输出值;
[0025] 正常海浪干扰数学模型为二阶环节:
[0026] ;
[0027] 式中,s为函数变量,G2(s)为正常海浪干扰数学模型输出值。
[0028] 进一步的,所述步骤二中,无人救援艇航向控制系统结构模型中,航向控制器采用分数阶PID,同时通过改进白鲸优化方法优化整定分数阶PID参数;所述分数阶PID公式为:
[0029] ;
[0030] 式中,Kp为比例系数,Ki为积分系数,Kd为微分系数,λ为积分阶次,μ为微分阶次,S为函数变量,G3(S)为分数阶PID公式输出值。
[0031] 进一步的,所述步骤三中,在基础白鲸算法中,白鲸作为搜索代理,每只白鲸个体都是一个候选解,在整个算法优化过程中根据白鲸三个阶段迭代更新;搜素阶段初始化白鲸个体的位置X为:
[0032] ;
[0033] 式中,ub和lb分别为搜索空间的上界和下界,rand是一个N行d列数值在[0, 1]之间的随机矩阵,N为白鲸的种群规模,d为问题变量的维数,X为最新白鲸个体位置;
[0034] 对于所有白鲸个体,对应的适应度值即为目标函数的值,白鲸算法默认是求解最小值,对应目标函数式的最小值;优化算法一个影响其寻优能力的关键在于全局探索与局部开发的平衡,在白鲸算法中,探索逐渐转换到开发阶段取决于平衡因子Bf,平衡因子公式为:
[0035]   ;
[0036]  式中,T和Tmax分别为当前迭代次数和最大迭代次数,B0是[0, 1]之间的随机常数;平衡因子Bf>0.5时,算法处于探索阶段;而当Bf <=0.5,此时算法进入局部开发阶段。
[0037] 进一步的,在整个白鲸优化算法迭代寻优过程中,全局勘探和局部开发依赖于平衡因子进行过渡;从平衡因子公式可以看出平衡因子从1线性随机递减至0.5,为了进一步提高算法的寻优精度,本发明专利提出了一种新的平衡因子策略,其计算如下式所示:
[0038] ;
[0039] 式中,T和Tmax分别为当前迭代次数和最大迭代次数,randn为正态随机数,Npop为白鲸的种群规模,Bf为新的平衡因子。
[0040] 进一步的,为了模拟鲸鱼坠落的行为,选择主观假定的鲸鱼坠落的概率以模拟群体中的小变化,假设这些白鲸要么移到别处,要么被击落并坠入深海,为了确保种群大小的数量恒定,使用白鲸的位置和鲸鱼落体的步长来建立更新的位置;鲸落阶段位置更新公式表示为:
[0041]   ;
[0042] 式中,XiT和XrT分别是第i只白鲸和任意白鲸的当前位置,XiT+1是第i只白鲸的新位置,r5,r6和r7是(0, 1)之间随机数,Xstep是鲸鱼坠落的步长,定义为:
[0043] ;
[0044] 式中,C2是与鲸鱼坠落和种群规模相关的阶跃因子,其中C2=Wf×n;鲸鱼坠落概率Wf公式为:
[0045] ;
[0046] 式中,T和Tmax分别为当前迭代次数和最大迭代次数,Wf鲸鱼坠落概率。
[0047] 进一步的,从白鲸的鲸落阶段可以看到,鲸落概率为从0.1线性递减至0.05,在整个迭代周期中递减速率始终不变,这可能会影响到其寻优的性能,为此,本发明专利提出了一种非线性的鲸落概率更新策略,计算如下式所示:
[0048] ;
[0049] 式中,T和Tmax分别为当前迭代次数和最大迭代次数,WF为非线性的鲸落概率更新策略。
[0050] 进一步的,所述步骤四中,利用改进的白鲸优化算法对分数阶PID控制器参数优化整定,具体步骤如下:
[0051] Step1:设置改进白鲸算法初始参数,包括最大迭代次数、种群规模、待优化问题维度和搜索空间;
[0052] Step2:采用Matlab/Simulink搭建系统仿真模型,并将ITAE作为模型输出;
[0053] Step3:构建优化目标函数,采用仿真系统模型的ITAE作为待优化目标;ITAE公式为:
[0054] ;
[0055] 式中,J为模型目标函数值,e(t)为分数阶PID控制系统的输入系统的反馈偏差,t为时间;
[0056] Step4:初始化种群,各白鲸初始位置在搜索范围内随机产生,并基于目标函数计算得到适应的值;
[0057] Step5:计算改进后的非线性平衡因子Bf和鲸鱼坠落概率WF;
[0058] Step6:根据非线性平衡因子Bf的大小判断每条白鲸进入的阶段,当Bf>0.5时,白鲸的更新机制处于探索阶段,由下式(1)更新白鲸的位置:
[0059] (1);
[0060] 式中, 是第i条白鲸在第j维上更新后的位置,Pj是从d维中选择的随机整数,是第i条白鲸在Pj维度上的位置, 是第r条白鲸的当前位置,even和odd分别表示奇偶数;r1和r2是(0, 1)的随机数,sin(2πr2)和cos(2πr2)表示镜像白鲸的鳍朝向水面,决定算法开发的方向;
[0061] 当Bf≤0.5时,白鲸的更新机制处于开发阶段,由下式(2)更新白鲸的位置:
[0062] (2);
[0063] 式中, 和 分别是第i只白鲸和任意白鲸的当前位置, 是第i只白鲸的新位置, 是白鲸种群中的最佳位置,r3和r4是(0, 1)之间的随机数,C=2r4(1‑T/Tmax)是衡量莱维飞行强度的随机跳跃强度,LF是构造的莱维飞行函数;
[0064] 然后对新位置的适应度值进行计算排序,找到当前迭代的最优解,每次迭代均需计算改进后的鲸鱼坠落概率WF,并通过下式(3)来更新鲸落阶段鲸鱼的位置:
[0065] (3);
[0066] 式中,r5,r6和r7是(0,1)之间随机数,Xstep是鲸鱼坠落的步长;
[0067] Step7:判断是否达到最大迭代次数,若是,则寻优停止输出最优参数,否则返回Step5继续寻优;
[0068] Step8:将最优参数赋值给Kp、Ki、Kd、λ和μ并带入到无人救援艇航向控制仿真系统中进行仿真,得到最佳数据情况下的模型输出结果。
[0069] 综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0070] 本发明中,为了提高无人救援艇在海域中航向控制性能,尤其在复杂海域中的航向控制,从而提高海上救援成功率,采用了相对传统PID性能更优的分数阶PID控制器,为了优化分数阶PID参数,提出了改进白鲸优化算法优化分数阶PID,通过改进算法,提高了算法局部寻优能力,从而让算法在精度和搜索速度上相平衡,能快速找到全局最优值,提高了算法的运算效率;提高了无人救援艇在复杂环境中航向控制的鲁棒性和机动性。

附图说明

[0071] 图1为基于改进白鲸算法的无人救援艇航向控制流程图。
[0072] 图2为改进前后白鲸算法平衡因子参数函数对比图。
[0073] 图3为改进前后白鲸算法鲸落概率更新策略参数函数对比图。
[0074] 图4为改进白鲸算法对分数阶PID参数优化方法的流程图。
[0075] 图5为基础白鲸算法优化分数阶PID的参数寻优曲线图。
[0076] 图6为改进的白鲸算法优化分数阶PID的参数寻优曲线图。
[0077] 图7为改进前后白鲸算法的最优个体适应度值对比图。
[0078] 图8为正常海浪干扰下改进后白鲸算法与改进前白鲸算法以及无优化下分数阶PID、普通PID对无人救援艇航向控制的效果对比图。
[0079] 图9为复杂海浪干扰下改进后白鲸算法与改进前白鲸算法以及无优化下分数阶PID、普通PID对无人救援艇航向控制的效果对比图。

具体实施方式

[0080] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0081] 请参阅图1‑9,本发明提供一种技术方案:
[0082] 一种基于改进白鲸算法的无人救援艇航向控制方法,包括以下步骤:
[0083] 步骤一:建立无人救援艇航向控制数学模型;航向控制数学模型主要包括无人救援艇运动数学模型、无人救援艇动力装置数学模型和复杂海浪干扰数学模型以及正常海浪干扰数学模型。
[0084] 无人救援艇运动数学模型采用野本谦作的 Nomoto模型,Nomoto模型是船舶运动目前最稳定的模型,也是应用最广泛的一种线性数学模型,在线性控制器的设计和简单的系统仿真中能够保证较高的精度,无人救援艇运动数学模型为:
[0085]  ;
[0086] 式中,K0是船舶回转性参数,T0为船舶操纵性能指数,s为函数变量,G(s)无人救援艇运动数学模型输出值;
[0087] 在实际仿真操作时,K0取值为0.42,T0取值为107.12;无人救援艇运动数学模型为:
[0088] ;
[0089] 式中,s为函数变量,G(s)无人救援艇运动数学模型输出值。
[0090] 无人救援艇动力装置数学模型为:
[0091] ;
[0092] 式中,s为函数变量,Gp(s)无人救援艇动力装置数学模型输出值。
[0093] 为了测试改进白鲸算法优化无人救援艇航向相对于基础白鲸优化算法在复杂海浪和正常海浪的控制特性,在Matlab和Simulink仿真中利用白噪声驱动一个典型环节模拟海浪干扰;其中复杂海浪干扰数学模型为三阶环节:
[0094]   ;
[0095] 式中,s为函数变量,G1(s)为复杂海浪干扰数学模型输出值;
[0096] 正常海浪干扰数学模型为二阶环节:
[0097] ;
[0098] 式中,s为函数变量,G2(s)为正常海浪干扰数学模型输出值。
[0099] 步骤二:在无人救援艇航向控制数学模型基础上,建立无人救援艇航向控制系统结构模型,其流程图如图1所示;在Simulink中建立无人救援艇航向控制仿真模型。
[0100] 无人救援艇航向控制系统结构模型中,航向控制器采用分数阶PID,同时通过改进白鲸优化方法优化整定分数阶PID参数;所述分数阶PID公式为:
[0101] ;
[0102] 式中,Kp为比例系数,Ki为积分系数,Kd为微分系数,λ为积分阶次,μ为微分阶次,S为函数变量,G3(S)为分数阶PID公式输出值。
[0103] 步骤三:在基础白鲸优化算法的基础上进行改进,引入非线性的鲸落概率更新策略和新的平衡因子策略。
[0104] 在基础白鲸算法中,白鲸作为搜索代理,每只白鲸个体都是一个候选解,在整个算法优化过程中根据其三个阶段迭代更新;搜索阶段初始化白鲸个体的位置X为:
[0105] ;
[0106] 式中,ub和lb分别为搜索空间的上界和下界,rand是一个N行d列数值在[0, 1]之间的随机矩阵,N为白鲸的种群规模,d为问题变量的维数,X为最新白鲸个体位置;
[0107] 对于所有白鲸个体,对应的适应度值即为目标函数的值,白鲸算法默认是求解最小值,对应目标函数式的最小值;优化算法一个影响其寻优能力的关键在于全局探索与局部开发的平衡,在白鲸算法中,探索逐渐转换到开发阶段取决于平衡因子Bf,平衡因子公式为:
[0108]   ;
[0109]  式中,T和Tmax分别为当前迭代次数和最大迭代次数,B0是[0, 1]之间的随机常数;平衡因子Bf>0.5时,算法处于探索阶段;而当Bf <=0.5,此时算法进入局部开发阶段。
[0110] 在整个白鲸优化算法迭代寻优过程中,全局勘探和局部开发依赖于平衡因子进行过渡,从平衡因子公式可以看出平衡因子从1线性随机递减至0.5,为了进一步提高算法的寻优精度,本发明专利提出了一种新的平衡因子策略,其计算如下式所示:
[0111] ;
[0112] 式中,T和Tmax分别为当前迭代次数和最大迭代次数,Bf为新的平衡因子,randn为正态随机数,Npop为白鲸的种群规模。
[0113] 从图2可以看到,改进后的平衡因子策略参数值呈现对称随机变化,最终收敛至0;迭代前期变化值较大,侧重于全局开发操作,而后期则变化较小,注重局部开发操作。
[0114] 为了模拟鲸鱼坠落的行为,选择主观假定的鲸鱼坠落的概率以模拟群体中的小变化,假设这些白鲸要么移到别处,要么被击落并坠入深海,为了确保种群大小的数量恒定,使用白鲸的位置和鲸鱼落体的步长来建立更新的位置;鲸落阶段鲸鱼位置更新公式为:
[0115]   ;
[0116] 式中,XiT和XrT分别是第i只白鲸和任意白鲸的当前位置,XiT+1是第i只白鲸的新位置,r5,r6和r7是(0, 1)之间随机数,Xstep是鲸鱼坠落的步长,定义为:
[0117] ;
[0118] 式中,C2是与鲸鱼坠落和种群规模相关的阶跃因子,其中C2=Wf×n;鲸鱼坠落概率Wf公式为:
[0119] ;
[0120] 式中,T和Tmax分别为当前迭代次数和最大迭代次数。
[0121] 从白鲸的鲸落阶段可以看到,鲸落概率为从0.1线性递减至0.05,在整个迭代周期中递减速率始终不变,这可能会影响到其寻优的性能,为此,本发明专利提出了一种非线性的鲸落概率更新策略,计算如下式所示:
[0122] ;
[0123] 式中,T和Tmax分别为当前迭代次数和最大迭代次数。
[0124] 从图3可以看到,改进后的鲸落概率更新策略参数值从0.1非线性递减至0.05,迭代前期变化速率较慢有利全局开发,而迭代后期变化速率较快有利于局部开发。
[0125] 步骤四:利用改进的白鲸优化算法对分数阶PID控制器参数优化整定,具体步骤如图4所示;
[0126] Step1:设置改进白鲸算法初始参数,包括最大迭代次数、种群规模、待优化问题维度和搜索空间;
[0127] Step2:采用Matlab/Simulink搭建系统仿真模型,并将ITAE作为模型输出;
[0128] Step3:构建优化目标函数,采用仿真系统模型的ITAE作为待优化目标;ITAE公式为:
[0129] ;
[0130] 式中,J为模型目标函数值,e(t)为分数阶PID控制系统的输入系统的反馈偏差,t为时间;
[0131] Step4:初始化种群,各白鲸初始位置在搜索范围内随机产生,并基于目标函数计算得到适应的值;
[0132] Step5:计算改进后的非线性平衡因子Bf和鲸鱼坠落概率WF;
[0133] Step6:根据非线性平衡因子Bf的大小判断每条白鲸进入的阶段,当Bf>0.5时,白鲸的更新机制处于探索阶段,由下式(1)更新白鲸的位置:
[0134] (1);
[0135] 式中, 是第i条白鲸在第j维上更新后的位置,Pj是从d维中选择的随机整数,是第i条白鲸在Pj维度上的位置, 是第r条白鲸的当前位置,even和odd分别表示奇偶数;r1和r2是(0, 1)的随机数,sin(2πr2)和cos(2πr2)表示镜像白鲸的鳍朝向水面,决定算法开发的方向;
[0136] 当Bf≤0.5时,白鲸的更新机制处于开发阶段,由下式(2)更新白鲸的位置:
[0137] (2);
[0138] 式中, 和 分别是第i只白鲸和任意白鲸的当前位置, 是第i只白鲸的新位置, 是白鲸种群中的最佳位置,r3和r4是(0, 1)之间的随机数,C=2r4(1‑T/Tmax)是衡量莱维飞行强度的随机跳跃强度,LF是构造的莱维飞行函数;
[0139] 然后对新位置的适应度值进行计算排序,找到当前迭代的最优解,每次迭代均需计算改进后的鲸鱼坠落概率WF,并通过下式(3)来更新鲸鱼的位置:
[0140] (3);
[0141] 式中,r5,r6和r7是(0,1)之间随机数,Xstep是鲸鱼坠落的步长;
[0142] Step7:判断是否达到最大迭代次数,若是,则寻优停止输出最优参数,否则返回Step5继续寻优;
[0143] Step8:将最优参数赋值给Kp、Ki、Kd、λ和μ并带入到无人救援艇航向控制仿真系统中进行仿真,得到最佳数据情况下的模型输出结果。
[0144] 为验证改进白鲸算法优化分数阶PID控制器后无人救援艇航向控制的优越性,利用 Matlab/Simulink对航向控制系统进行仿真,采用不同的PID控制方法与本发明中改进后的白鲸算法优化分数阶PID控制器进行对比,来完成本发明设计方法的实验验证。
[0145] 设置种群规模Npop 为 50,优化变量的个数dim为5,最大迭代次数为60,Kp、Ki、Kd、‑8 ‑8 ‑8 ‑8 ‑8λ和μ的取值范围为ub = [100 100 100 2 2],lb = [1e 1e 1e 1e 1e ]。
[0146] 将图5与图6对比分析可知,基于改进白鲸优化算法优化分数阶PID参数寻优的效果相对于基础白鲸算法优化分数阶PID的参数寻优效果更好,搜索速度更快;改进白鲸优化算法的Kp、Ki、Kd、λ和μ在算法迭代20次就可达到最优参数,而基础白鲸算法需要迭代35次才寻优成功。
[0147] 由图7输出的最优个体适应度值可知,IBWO_FOPID‑‑改进白鲸优化算法优化分数阶PID得到的最优个体适应度值比BWO_FOPID‑‑基础白鲸优化算法优化分数阶PID得到的最优个体适应度值更精确,进而控制效果更优异。
[0148] 由图8输出的不同PID控制方式在正常海浪干扰下航向控制效果可知,当期望航向为70°时,IBWO_FOPID‑‑改进白鲸优化算法优化的分数阶PID控制器的超调量相对于其他控制方式更低,且响应速度更快,5秒左右便可以达到期望航向,体现了更好的控制性能。
[0149] 由图9输出的不同PID控制方式在复杂海浪干扰下航向控制效果,相对于图9在正常海浪干扰环境下,无人救援艇在复杂海浪干扰下的控制更困难,各种PID控制方式下,超调量更大,航向更不稳定;对比分析图9中的PID控制方式,不难发现,IBWO_FOPID‑‑改进白鲸优化算法优化分数阶PID控制方式仍然表现出优秀的性能,5秒左右便达到期望航向,拥有更短的上升时间和调节时间以及更快的响应速度,可以很好的满足无人救援艇在复杂环境下的性能要求。
[0150] 整体上来看,改进白鲸算法和分数阶PID相结合的IBWO_FOPID系统,其航向控制策略有较好的控制性能和效果,能够更好地满足相关的控制运行。
[0151] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。