CN107300925B - 基于改进鱼群算法的四旋翼无人机姿控参数整定方法 - Google Patents

基于改进鱼群算法的四旋翼无人机姿控参数整定方法 Download PDF

Info

Publication number
CN107300925B
CN107300925B CN201710564001.2A CN201710564001A CN107300925B CN 107300925 B CN107300925 B CN 107300925B CN 201710564001 A CN201710564001 A CN 201710564001A CN 107300925 B CN107300925 B CN 107300925B
Authority
CN
China
Prior art keywords
fish
state
artificial
artificial fish
swarm algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710564001.2A
Other languages
English (en)
Other versions
CN107300925A (zh
Inventor
王佩
张科
吕梅柏
徐有新
王靖宇
姜海旭
邢超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guodian Ruiyuan Xi'an Intelligent Research Institute Co ltd
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201710564001.2A priority Critical patent/CN107300925B/zh
Publication of CN107300925A publication Critical patent/CN107300925A/zh
Application granted granted Critical
Publication of CN107300925B publication Critical patent/CN107300925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0808Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明涉及一种基于改进鱼群算法的四旋翼无人机姿控参数整定方法,在标准人工鱼群算法的基础上,提出了一种动态调整人工鱼移动步长的策略,引入精英保留、繁殖行为和外部捕鱼行为,克服现有技术中标准人工鱼群算法存在的后期收敛速度严重降低、收敛精度不高和易陷入局部最优的缺陷。该方法可用于解决飞行器设计、飞控参数整定和路径规划等问题,并具有较好的问题求解精度和效率。

Description

基于改进鱼群算法的四旋翼无人机姿控参数整定方法
技术领域
本发明涉及一种基于改进鱼群算法的四旋翼无人机姿控参数整定方法,主要对典型四旋翼无人机自抗扰姿态控制器进行参数整定。
背景技术
四旋翼无人机自抗扰控制器虽然具有良好的抗干扰性能,但控制器参数众多,大量非线性函数的使用,使得控制器参数整定问题由于呈现多变量、非线性、多极值等问题,很难通过解析计算进行解决,需要结合性能指标建立问题描述模型,转化为函数优化问题采用具有强鲁棒性、全局寻优能力的智能优化算法进行求解。我国学者李晓磊等从鱼群仿生机理出发,提出了人工鱼群算法(Atrificial Fish Swarm Algorithm,ASFA)[李晓磊.一种新型的智能优化算法-人工鱼群算法[D].杭州:浙江大学博士学位论文,2003],通过模拟鱼在水里的游动行为构建一种智能优化算法,用于解决优化问题,是一种鲁棒性强、收敛速度快、全局寻优和自适应能力强的新型群集智能优化算法,该算法一经提出,就以其概念简单、容易实现和需要调整的设计参数较少等优点被应用于解决面向众多对象的控制器参数整定问题。
但标准人工鱼群算法仍存在一些缺陷:前期收敛速度快,但后期收敛速度慢;寻优结果精度不高,易陷入局部最优。当前针对算法缺陷的改进研究也不断开展,通过改变步长和拥挤度因子以提高算法效率;采用自适应步长的方式提高后期寻优结果的精度;借鉴小生境思想改进人工鱼群算法将小生境排挤机制引入人工鱼群算法;将粒子群算法与人工鱼群算法相结合,以提高收敛速度等。以上的改进研究在一定程度上提高了人工鱼群算法的优化性能,但后期收敛速度慢、结果精度低、易陷入局部最优等问题仍然未得到很好地解决,需要进一步的改进完善,以提高控制器参数整定的效率和控制效果的最优精度。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于改进鱼群算法的四旋翼无人机姿控参数整定方法,克服现有参数整定方法对四旋翼无人机自抗扰控制器最优参数求解收敛精度不高、后期收敛速度严重降低和易陷入局部最优的缺陷的问题。该方法在标准鱼群算法的基础上,通过动态调整人工鱼移动步长,引入精英保留、鱼群繁殖和外部捕鱼行对标准鱼群算法进行改进,加快控制器参数整定的收敛速度、提高全局搜索能力和最优参数的求解精度。
技术方案
一种基于改进鱼群算法的四旋翼无人机姿控参数整定方法,其特征在于步骤如下:
步骤1、建立典型四旋翼无人机俯仰姿态运动学模型为:
Figure BDA0001347820370000021
式中,p为无人机的滚动角速度;q为无人机的俯仰角速度;
Figure BDA0001347820370000022
为无人机的俯仰角加速度;r为无人机的偏航角速度;;Iy为无人机在y轴上的转动惯量;τy为无人机在y轴上的力矩;
将运动学模型式变换为积分链式模型形式:
Figure BDA0001347820370000023
Figure BDA0001347820370000024
式中,
Figure BDA0001347820370000025
Δfθ为模型不确定性项;dθ为外部干扰项;x1=θ为无人机的俯仰角;
由俯仰姿态运动学模型阶数为2,设计由三阶扩展观测器和PID控制构成的自抗扰控制器对四旋翼无人机俯仰姿态进行控制,自抗扰姿态控制器为:
扩展观测器:
Figure BDA0001347820370000031
Figure BDA0001347820370000032
PID控制:
Figure BDA0001347820370000033
自抗扰控制输出:uARDC=upid-z3/b
式中,θcmd为俯仰角控制指令;e为俯仰角误差;h为计算步长;z1、z2、z3为扩展张观测器3个状态;β0、β1、β2是扩展观测器观测系数;Kp、Ki、Kd为比例控制增益、积分控制增益和微分控制增益;
整定的自抗扰控制器参数为:X=[Kp Ki Kd β0 β1 β2]T,将控制器参数看作优化设计变量;
选择ITAE评价指标为目标函数,
Figure BDA0001347820370000034
设置控制器仿真步长,计算时间,俯仰角初始状态和俯仰角控制指令;
步骤2,采用动态调整人工鱼移动步长策略,引入精英保留、鱼群繁殖和外部捕鱼行对标准鱼群算法进行改进,获得改进鱼群算法,过程为:
1、采用变步长状态更新:在聚群行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure BDA0001347820370000035
Xc第i条人工鱼探索视觉感知范围内的其他人工鱼所处的中心状态;Xi_next为第i条人工鱼朝Xc移动后的状态改为变步长状态更新规则:
Figure BDA0001347820370000036
Stepi为自适应移动步长;γ为速度因子;
在追尾行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure BDA0001347820370000041
Ximax为在第i条人工鱼探索视觉感知范围内食物浓度值最大的人工鱼所处状态。改为变步长状态更新规则:
Figure BDA0001347820370000042
在觅食行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure BDA0001347820370000043
Xrand为第i条人工鱼当前状态Xi的视觉范围内随机产生一个觅食状态。改为变步长状态更新规则:
Figure BDA0001347820370000044
2、在标准鱼群算法单次迭代流程最后,引入精英保留、繁殖和人工捕鱼行为,提高收敛速度,增加跳出局部最优能力:
所述精英保留行为:将所有人工鱼按食物浓度从大到小进行排序,按照精英保留个数参数Nelite将排序后的前Nelite个人工鱼直接保留到下一次迭代,不参与后续行为;
所述繁殖行为:增加繁殖概率参数Prep,通过抽取随机数,判断Prep<rand()是否成立不定期的触发繁殖行为。根据除精英个体以外的人工鱼的食物浓度计算每个人工鱼的选择概率
Figure BDA0001347820370000045
随机抽取满足
Figure BDA0001347820370000046
的两条人工鱼执行繁殖行为
Figure BDA0001347820370000047
获得一个新的人工鱼状态Xchild,并替换当前最差食物浓度处的人工鱼状态,并计算食物浓度;
所述外界捕鱼行为:增加外部捕鱼概率参数Pcatch,通过抽取随机数,判断Pcatch<rand()是否成立,不定期的触发外部捕鱼行为;根据捕鱼数量参数Ncatch,对食物浓度排序队列中k=N-1-Ncatch,…,Ncatch的人工鱼状态重新初始化,并计算各新状态的食物浓度;
步骤3、设置鱼群算法的人工鱼个数N、状态维数n、状态变量范围[Upk,Downk],i=1,2,…,n,感知距离Visual、人工鱼移动的最大步长Step、速度因子γ、人工鱼拥挤度因子δ、人工鱼搜索食物浓度的尝试次数为try_number、最大迭代次数lmax、精英保留策略的鱼群个数为Nelite、繁殖概率为Prep、精英保留策略的鱼群个数为Nelite、外界捕鱼概率为Pcatch、捕鱼个数为Ncatch、令食物浓度计算函数为Y=-J(X)ITAE
步骤4、执行改进鱼群算法,进行控制参数整定,直至达到最大迭代次数,输出公告板上的食物浓度Yboard及人工鱼状态Xboard
步骤5、若目标函数值满足需求,则Xboard即为最优姿态控制器参数;否则,返回步骤3,重新设置改进鱼群算法参数,执行改进鱼群算法,进行控制参数整定。
有益效果
本发明提出的一种基于改进鱼群算法的四旋翼无人机姿控参数整定方法,在标准人工鱼群算法的基础上,提出了一种动态调整人工鱼移动步长的策略,引入精英保留、繁殖行为和外部捕鱼行为,克服现有技术中标准人工鱼群算法存在的后期收敛速度严重降低、收敛精度不高和易陷入局部最优的缺陷。该方法可用于解决飞行器设计、飞控参数整定和路径规划等问题,并具有较好的问题求解精度和效率。
与现有技术相比,本发明的有益效果体现在:
1.变步长思想:算法在搜索过程中,前期人工鱼之间的距离较大,若要快速收敛,移动步长就需要相对大些;后期人工鱼已基本收敛,人工鱼之间距离较小,移动步长就要小些,从而不会使得人工鱼偏离收敛点,以提高其收敛速度。因此本发明采用变步长策略,由相对距离对移动步长进行调整,前期相对距离差距较大,则采用较大的移动步长,提高收敛速度。后期人工鱼逐渐接近最优位置,相对距离不断缩小,则减小移动步长,从而使人工鱼可以不断地逼近最优解,有效地避免某些人工鱼因移动步长较大而偏离最优解的情况,提高了算法的最优控制器参数求解精度。
2.本发明采用了避免陷入局部最优改进策略。原始算法在搜索过程中,只接受最优解,从而可能会陷入局部最优,无法达到全局最优。本发明引入繁殖和外部捕鱼行为,不仅接受最优解,而且还以一定概率分别从人工鱼内部和外部对一部分人工鱼状态进行重构,这样就可以使得算法不定期的跳出局部最优控制器参数,从而达到全局最优的控制器参数,增强了算法的跳出局部最优能力。
3.本发明引入了精英保留策略。在避免陷入局部最优的同时,将现有最优、次优控制器参数直接保留,可以保证前期计算的成果,避免重复搜索,浪费计算时间,加快控制器参数的整定收敛速度。
改进的整定方法具有更快的收敛速度、更好的控制器参数整定效率和控制器参数全局寻优能力。下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是本发明方法的流程图。
图2是本发明方法进行四旋翼无人机姿控参数整定结构图。
图3是本发明方法中改进鱼群算法流程图。
图4是本发明方法中改进鱼群算的人工鱼聚群行为的流程图。
图5是本发明方法中改进鱼群算的人工鱼追尾行为的流程图。
图6是本发明方法中改进鱼群算的人工鱼觅食行为的流程图。
图7是本发明方法中改进鱼群算的人工鱼繁殖行为的流程图。
图8是本发明方法中改进鱼群算的人工鱼外部捕鱼行为的流程图。
图9是使用本发明方法对实施例2中自抗扰控制器参数整定过程图。
图10是使用本发明方法对实施例2中自抗扰控制器参数进行整定过程中每代最优控制器参数控制效果图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明解决其技术问题所采用的技术方案:一种基于改进鱼群算法的四旋翼无人机姿控参数整定方法,具体步骤如下:
步骤1、建立四旋翼无人机的姿态运动模型,设计自抗扰姿态控制器,确定待整定参数X=[Kp Ki Kd β0 β1 β2]T,选择误差性能指标作为优化目标函数J=f(X)将参数整定问题转化为参数优化问题。
步骤2、动态调整人工鱼移动步长,引入精英保留、鱼群繁殖和外部捕鱼行对标准鱼群算法进行改进,采用改进的鱼群算法对控制器参数进行优化,解决控制器参数整定问题。设置改进鱼群算法参数:人工鱼群F中鱼群个数为N,F=(X1,X2,…,Xi,…,XN),1≤i≤N,每条人工鱼个体的状态X即代表一组控制器参数,Kp Ki Kd β0 β1 β2为优化设计变量;Xi表示鱼群中的第i条人工鱼的当前状态,其由Kpi Kii Kdi β0i β1i β2i组成,即为一组控制器参数值;由于人工鱼群算法是求食物浓度最大,而姿控希望误差指标函数最小,则人工鱼的食物浓度计算公式为Y=-f(X),其中f(X)为控制器参数整定目标函数值,反映了不同状态下对的控制器参数的姿控效果;设计变量的寻优范围[Downk,Upk],k=1,2,…6,[Downk,Upk]为第k个设计变量的寻优范围,Upk为范围上界、Downk为范围下界;人工鱼的视觉感知距离Visual;人工鱼移动的最大步长Step;速度因子γ;拥挤度因子δ。人工鱼搜索食物浓度的尝试次数try_number;最大迭代次数为lmax,lmax>0;精英保留策略的鱼群个数为Nelite,Nelite>1;繁殖概率为Prep,0<Prep<1;外界捕鱼概率为Pcatch,0<Pcatch<1,捕鱼个数为Ncatch,0<Ncatch<N;令人工鱼之间的距离计算公式为di,j=||Xi-Xj||;当前迭代次数l=1。
步骤3、鱼群初始化:
鱼群中的每条人工鱼均为一个向量,根据鱼群个数和设计变量维数,利用rand()随机函数产生n行,N列个0~1之间的随机数,结合设计变量范围[Upk,Downk]初始化N条人工鱼。
xki=Downk+rand()*(Up-Downk) (1)
式中,rand()随机函数能生成一个0~1之间均匀分布的随机数。
步骤4、公告板初始化:
通过Y=f(X)计算每条人工鱼当前状态的食物浓度为Y=(Y1,Y2,…,Yi,…YN),将最大浓度值Yboard=max(Y1,Y2,…,Yi,…YN)和对应的人工鱼状态赋值Xboard=Xi if Yi=Yboard给公告板;
步骤5、执行单次迭代寻优:令当前更新状态人工鱼i=1;
步骤6、执行聚群行为:
步骤6.1、设第i条人工鱼当前状态为Xi,使用式(2)计算第i条人工鱼Xi与第j条人工鱼之间的距离dij,得到第i条人工鱼Xi与鱼群中所有人工鱼之间的距离Di=(di1,di2,…,dij,…,diN);
dij=||Xi-Xj||1≤j≤N (2)
步骤6.2、获得位于第i条人工鱼探索视觉感知范围内的其他鱼群数目nf,即满足dij≤Visaul的人工鱼个数以及nf个人工鱼当前的状态
Figure BDA0001347820370000081
通过式(3)计算中心状态Xc:
Figure BDA0001347820370000082
步骤6.3、计算中心状态Xc的食物浓度Yc=f(Xc),判断中心状态Xc的食物浓度Yc是否大于第i条人工鱼Xi的食物浓度Yi,且周围鱼群数量不太多满足式(4),如均满足,则执行步骤6.4,否则执行步骤7;
Figure BDA0001347820370000091
步骤6.4、利用式(5)计算朝中心状态Xc移动的步长Stepi
Figure BDA0001347820370000092
在人工鱼的标准算法聚群行为中,每一条人工鱼采用固定步长Step进行移动,若固定步长较大,则可能导致后期人工鱼跳离最优解,出现收敛速度慢、精度低问题。若固定步长较小,结果精度较高,但收敛速度太慢。本发明提出变步长改进公式(5),在同一次迭代中,对离更优值状态距离较远的个体使用较大的移动步长,加快其收敛速度,相反,对离更优值状态距离较近的个体使用较小的移动步长,避免产生振荡现象,提高寻优结果精度,通过速度因子γ可以控制速度随距离变化的快慢,这种变步长选择方式,既考虑到前期算法收敛速度,又提高了后期寻优精度。
步骤6.5、利用式(5)计算第i条人工鱼移动后的状态Xi_next
Figure BDA0001347820370000093
步骤7、执行追尾行为:
设人工鱼当前状态为Xi,探索视觉感知范围内(di,j<Visaul)Yimax值最大的人工鱼Ximax,如果
Figure BDA0001347820370000094
表明人工鱼Xj的状态中心位置的食物浓度较大,且周围鱼群数量不太多,则朝人工鱼Xj的方向前进一步;否则进行觅食。
步骤7.1、根据dij<Visaul,得到第i条人工鱼Xi与鱼群中所有人工鱼之间的距离Di=(di1,di2,…,dij,…,diN)中位于第i条人工鱼探索视觉感知范围内的其他鱼群数目nf以及nf个人工鱼当前的状态的食物浓度
Figure BDA0001347820370000095
找到其中最大食物浓度
Figure BDA0001347820370000104
及食物浓度最大的人工鱼状态Ximax=Xu if Yiu=Yimaxwhere u=1,…,nf
步骤7.2、根据dmaxj=||Xmax-Xj||≤Visaul,j=1,…,N,获得所有距离位于Ximax状态人工鱼探索视觉感知范围内的其他鱼群数目m';
步骤7.3、判断Ximax人工鱼所处状态的食物浓度Yc是否大于第i条人工鱼Xi的食物浓度Yi,且周围鱼群数量不太多,即满足式(7),如均满足,则执行步骤7.4,否则执行步骤8;
Figure BDA0001347820370000101
步骤7.4、利用式(8)计算朝Ximax移动的步长Stepi
Figure BDA0001347820370000102
在人工鱼的标准算法追尾行为中,每一条人工鱼采用固定步长Step进行移动,若固定步长较大,则可能导致后期人工鱼跳离最优解,出现收敛速度慢、精度低问题。若固定步长较小,结果精度较高,但收敛速度太慢。本发明提出变步长改进公式(8),在同一次迭代中,对离当前搜索感知范围内最优值状态距离较远的个体使用较大的移动步长,加快其收敛速度,相反,对离当前搜索感知范围内最优值状态距离较近的个体使用较小的移动步长,避免产生振荡现象,提高寻优结果精度,通过速度因子γ可以控制速度随距离变化的快慢,这种变步长选择方式,既考虑到前期算法收敛速度,又提高了后期寻优精度。
步骤7.5、利用式(9)计算第i条人工鱼移动后的状态Xi_next
Figure BDA0001347820370000103
步骤8、执行觅食行为:
步骤8.1、令觅食尝试次数t=0;
步骤8.2、利用rand()函数在第i条人工鱼当前状态Xi的视觉范围内随机产生一个觅食状态Xrand,并计算该状态的食物浓度Yrand=f(Xrand);
步骤8.3、若ΔY=Yrand-Yi>0,则令移动补偿为
Figure BDA0001347820370000111
然后执行步骤8.4;否者执行步骤8.5;
在人工鱼的标准算法觅食行为中,每一条人工鱼采用固定步长Step进行移动,若固定步长较大,则可能导致后期人工鱼跳离最优解,出现收敛速度慢、精度低问题。若固定步长较小,结果精度较高,但收敛速度太慢。本发明提出变步长改进公式
Figure BDA0001347820370000112
在同一次迭代中,对离觅食状态Xrand距离较远的个体使用较大的移动步长,加快其收敛速度,相反,对离觅食状态Xrand距离较近的个体使用较小的移动步长,避免产生振荡现象,提高寻优结果精度,通过速度因子γ可以控制速度随距离变化的快慢,这种变步长选择方式,既考虑到前期算法收敛速度,又提高了后期寻优精度。
步骤8.4、通过式(10)计算第i条人工鱼移动后的状态Xi_next,完成觅食动作;
Figure BDA0001347820370000113
步骤8.5、令t=t+1;如果满足t<try_number,执行步骤8.2;否者执行步骤8.6;
步骤8.6、通过式(11),由随机向某方向移动最大步长,获得第i条人工鱼移动后的状态
Figure BDA0001347820370000114
Figure BDA0001347820370000115
步骤8.7、若Yi_next>Yboard,则将更新后的第i条人工鱼的食物浓度Yi_next和状态Xi_next更新到公告板,即Yboard=Yi_next,Xboard=Xi_next
步骤9、选择状态更新人工鱼:
令i=i+1;如果满足i≤N,则执行步骤4,否则执行步骤7;
步骤10、精英保留:
将所有人工鱼按食物浓度从大到小进行排序,将排序后的前Nelite个人工鱼直接保留到下一次迭代,前Nelite个人工鱼不参与后续行为。
通过增加精英保留策略,便于后续繁殖、捕鱼行为对除当前最优状态的人工鱼进行影响,保证前期计算的成果,避免重复搜索,浪费计算时间。
步骤11、繁殖行为:
步骤11.1、通过rand()函数根据繁殖概率,判断本代是否发生繁殖,如Prep<rand(),则执行步骤11.2;否者执行步骤12;
步骤11.2、根据排序的结果,根据除精英个体以外的人工鱼的食物浓度按照式(12)计算每个人工鱼的选择概率;
Figure BDA0001347820370000121
步骤11.3、通过两次rand()函数按照式(13),选择出两条人工鱼进行繁殖;
Figure BDA0001347820370000122
步骤11.4、根据选择出的两条人工鱼当前状态,按照式(14)进行繁殖获得一个新的人工鱼状态Xchild,并替换当前最差食物浓度处的人工鱼状态,并计算食物浓度。
Figure BDA0001347820370000123
在标准鱼群算法有收敛速度慢、陷入局部极值的缺陷,故在标准算法进入下一次迭代之前,增加生物繁殖行为,以一定概率通过随机抽取当前鱼群内部的两个状态进行组合,对当前最差人工鱼状态进行替换,可以基于鱼群内部状态跳到新的状态进行搜索,防止陷入局部最优,进行全局最优搜索。
步骤12、外部捕鱼行为:
步骤12.1、通过rand()随机函数根据外界捕鱼概率,判断本代是否发生外界捕鱼,如Pcatch<rand(),则执行步骤12.2;否者执行步骤13;
步骤12.2、根据捕鱼数量Ncatch,对食物浓度排序队列中k=N-1-Ncatch,…,Ncatch的人工鱼状态按照式(1)进行更新,并计算各新状态的食物浓度;
在标准鱼群算法有收敛速度慢、陷入局部极值的缺陷,故在标准算法进入下一次迭代之前,增加外部捕鱼行为,以一定概率直接在整个寻优空间中随机产生若干个新的状态,对当前若干个较差人工鱼状态进行替换,可以使部分搜索跳到更广阔的外部状态进行,从而跳出局部最优,进行全局最优搜索。
步骤13、若当前迭代次数l≤lmax,则令l=l+1,并执行步骤5;否则执行步骤14;
步骤14、输出公告板上的食物浓度Yboard及人工鱼状态Xboard,Xboard即为最优姿态控制器参数。
步骤15、若目标函数值满足需求,则Xboard即为最优姿态控制器参数。否则,返回步骤2,重新设置改进鱼群算法参数,执行步骤3~14。
下面结合附图1-10及两个实施例对本发明作进一步的详细描述,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1利用测试函数验证改进鱼群算法的求解精度和收敛性
为验证改进算法在求解精度和收敛性方面的改进效果,选择标准测试函数二维Griewank函数、Schaffer函数及Ackley函数对改进前后的算法效果进行对比,基于三种函数计算方法对于就最小值的问题,得到食物浓度计算函数为Y=f(X)=-gh(X)h=G、S、A,三种函数的数学表达式及全局最优解由表1给出。
假设人工鱼群中有N条鱼,F=(X1,X2,…,Xi,…,XN),1≤i≤N,每条人工鱼个体的状态X可用测试函数的参数X=(x1,x2)为优化设计变量;[Downk,Upk]为第k个设计变量的寻优范围,Upk为范围上界、Downk为范围下界;Xi=(x1i,x2i,…,xni)表示鱼群中的第i条人工鱼的当前状态;xki(k=1,…,n,i=1,…,N)表示第i条人工鱼状态中第k个设计变量的当前值;人工鱼当前位置的食物浓度用Y=f(X)表示,其中Y为目标函数值,反映了不同状态下所解决问题模型的优劣程度;人工鱼之间的距离为di,j=||Xi-Xj||;Visual表示人工鱼的视觉感知距离;Step表示人工鱼移动的最大步长;γ为速度因子;δ为拥挤度因子。人工鱼搜索食物浓度的尝试次数为try_number;
表1实施例测试函数具体信息表
Figure BDA0001347820370000141
本发明的改进鱼群方法与标准鱼群算法主要改进体现在:
(1)采用变步长状态更新,在聚群行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure BDA0001347820370000142
Xc第i条人工鱼探索视觉感知范围内的其他人工鱼所处的中心状态;Xi_next为第i条人工鱼朝Xc移动后的状态改为变步长状态更新规则:
Figure BDA0001347820370000143
Stepi为自适应移动步长;γ为速度因子。
在追尾行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure BDA0001347820370000144
Ximax为在第i条人工鱼探索视觉感知范围内食物浓度值最大的人工鱼所处状态。改为变步长状态更新规则:
Figure BDA0001347820370000145
在觅食行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure BDA0001347820370000146
Xrand为第i条人工鱼当前状态Xi的视觉范围内随机产生一个觅食状态。改为变步长状态更新规则:
Figure BDA0001347820370000151
在标准鱼群算法的聚群、追尾、觅食行为中,每一条人工鱼采用固定步长进行移动,若固定步长较大,则可能导致后期人工鱼跳离最优解,出现收敛速度慢、精度低问题。若固定步长较小,结果精度较高,但收敛速度太慢。本发明提出变步长改进方法,在同一次迭代中,对离目标状态距离较远的个体使用较大的移动步长,加快其收敛速度,相反,对离目标状态距离较近的个体使用较小的移动步长,避免产生振荡现象,提高寻优结果精度,通过速度因子γ可以控制速度随距离变化的快慢,这种变步长选择方式,既考虑到前期算法收敛速度,又提高了后期寻优精度。
(2)在标准鱼群算法单次迭代流程最后,引入精英保留、繁殖和人工捕鱼行为,提高收敛速度,增加跳出局部最优能力。
精英保留行为将所有人工鱼按食物浓度从大到小进行排序,按照精英保留个数参数Nelite将排序后的前Nelite个人工鱼直接保留到下一次迭代,不参与后续行为。通过增加精英保留策略,便于后续繁殖、捕鱼行为对除当前最优状态的人工鱼进行影响,保证前期计算的成果,避免重复搜索,浪费计算时间。
繁殖行为通过增加繁殖概率参数Prep,通过抽取随机数,判断Prep<rand()是否成立不定期的触发繁殖行为。根据除精英个体以外的人工鱼的食物浓度计算每个人工鱼的选择概率
Figure BDA0001347820370000152
随机抽取满足
Figure BDA0001347820370000153
的两条人工鱼执行繁殖行为
Figure BDA0001347820370000154
获得一个新的人工鱼状态Xchild,并替换当前最差食物浓度处的人工鱼状态,并计算食物浓度。在标准鱼群算法有收敛速度慢、陷入局部极值的缺陷,故在标准算法进入下一次迭代之前,增加生物繁殖行为,以一定概率通过随机抽取当前鱼群内部的两个状态进行组合,对当前最差人工鱼状态进行替换,可以基于鱼群内部状态跳到新的状态进行搜索,防止陷入局部最优,进行全局最优搜索。
外界捕鱼行为通过增加外部捕鱼概率参数Pcatch,通过抽取随机数,判断Pcatch<rand()是否成立,不定期的触发外部捕鱼行为。根据捕鱼数量参数Ncatch,对食物浓度排序队列中k=N-1-Ncatch,…,Ncatch的人工鱼状态重新初始化,并计算各新状态的食物浓度;在标准鱼群算法有收敛速度慢、陷入局部极值的缺陷,故在标准算法进入下一次迭代之前,增加外部捕鱼行为,以一定概率直接在整个寻优空间中随机产生若干个新的状态,对当前若干个较差人工鱼状态进行替换,可以使部分搜索跳到更广阔的外部状态进行,从而跳出局部最优,进行全局最优搜索。
图3给出了改进后鱼群算法的流程图,图4给出了改进后的人工鱼聚群行为的流程图。图5给出了改进后的人工鱼追尾行为的流程图。图6给出了改进后的人工鱼觅食行为的流程图。图7给出了改进后的人工鱼繁殖行为的流程图。图8给出了改进后的人工鱼外部捕鱼行为的流程图。
实施例1将本发明中改进鱼群算法与标准鱼群算法进行对比,结果可参照表2。其中标准鱼群算法的人工鱼个数N=50、状态维数n=2、状态变量范围[Up1,Down1]=[-20,20],[Up2,Down2]=[-20,20]、感知距离Visual=5、人工鱼移动的最大步长Step=0.1、人工鱼拥挤度因子δ=0.6、人工鱼搜索食物浓度的尝试次数为try_number=5、最大迭代次数lmax=100。改进标准鱼群算法中相同的参数设置与标准鱼群算法一致,新增的算法参数设置为速度因子γ=0.5,精英保留策略的鱼群个数为Nelite=2,Nelite>1;繁殖概率为Prep=0.2,0<Prep<1;精英保留策略的鱼群个数为Nelite=2,Nelite>1;外界捕鱼概率为Pcatch=0.1,0<Pcatch<1,捕鱼个数为Ncatch=10,0<Ncatch<N。
实施例1中,利用每种算法对各测试函数重复运行30次得到对优化结果进行分析,记录其收敛次数和收敛时的迭代次数,得到它们的平均迭代次数及收敛成功率,收敛成功率=收敛成功次数/30,表3给出了收敛性结果对比。
表3实施例的不同测试函数收敛性测试结果对比表
Figure BDA0001347820370000171
通过实施例1的收敛性测试结果可以看出,相对于标准鱼群算法,本发明中的改进鱼群算法在收敛性方面有很大提升。这也证明了本发明对标准鱼群算法改进的正确性。
在实施例1中,利用每种算法对各测试函数重复运行30次,记录其最优解及对应的人工鱼状态,并计算平均优化结果,表4给出了最优值优化求解结果对比。
表4实施例的不同测试函数最优值求解结果对比表
Figure BDA0001347820370000172
通过实施例1的收敛性测试结果可以看出,相对于标准鱼群算法,本发明中改进鱼群算法在最优值求解结果精度上有近2个数量级的提高,在最优解人工鱼状态求解精度上有近1个数量级的提高,在优化求解方面有很大提升。这也证明了本发明中对标准鱼群算法改进的正确性。
实施例2改进鱼群算法四旋翼无人机参数整定可行性验证
参照附图1~8,本发明方法的具体实施步骤如下:
步骤1、建立典型四旋翼无人机俯仰姿态运动学模型为:
Figure BDA0001347820370000181
式中,p为无人机的滚动角速度;q为无人机的俯仰角速度;
Figure BDA0001347820370000185
为无人机的俯仰角加速度;r为无人机的偏航角速度;;Iy为无人机在y轴上的转动惯量;τy为无人机在y轴上的力矩;
某型四旋翼飞行器的转动惯量为:Ix=0.039kgm2、Iy=0.039kgm2、Iz=0.078kgm2Δfθ=0.01cos(0.8t)θ,,p=0.05sin(0.5t)rad/s,r=0.02cos(0.5t)rad/s,dθ=0.01rad/s
将式(1)变换为式(2)的积分链式模型形式:
Figure BDA0001347820370000182
Figure BDA0001347820370000183
式中,
Figure BDA0001347820370000184
Δfθ为模型不确定性项;dθ为外部干扰项。x1=θ为无 人机的俯仰角。
由俯仰姿态运动学模型阶数为2,设计由三阶扩展观测器和PID控制构成的自抗扰控制器对四旋翼无人机俯仰姿态进行控制,自抗扰姿态控制器为:
扩展观测器:
Figure BDA0001347820370000191
Figure BDA0001347820370000192
PID控制:
Figure BDA0001347820370000193
自抗扰控制输出:uARDC=upid-z3/b
式中,θcmd为俯仰角控制指令;e为俯仰角误差;h为计算步长;z1、z2、z3为扩展张观测器3个状态;β0、β1、β2是扩展观测器观测系数;Kp、Ki、Kd为比例控制增益、积分控制增益和微分控制增益。
需整定的自抗扰控制器参数为:X=[Kp Ki Kd β0 β1 β2]T,将控制器参数看作优化设计变量。
选择ITAE评价指标为目标函数,
Figure BDA0001347820370000194
设置控制器仿真步长h=0.01,设置计算时间为[010]秒,无人机俯仰角初始值为5°,θcmd=0°。
步骤2、设置鱼群算法的人工鱼个数N=50、状态维数n=6、状态变量范围[Up1,Down1]=[10,50]、[Up2,Down2]=[0,10]、[Up3,Down3]=[5,50]、[Up4,Down4]=[500,2000]、[Up5,Down5]=[3000,8000]、[Up6,Down6]=[13000,16000],感知距离Visual=5、人工鱼移动的最大步长Step=1、速度因子γ=0.5、人工鱼拥挤度因子δ=0.6、人工鱼搜索食物浓度的尝试次数为try_number=5、最大迭代次数lmax=20、精英保留策略的鱼群个数为Nelite=2、繁殖概率为Prep=0.2、精英保留策略的鱼群个数为Nelite=2、外界捕鱼概率为Pcatch=0.1、捕鱼个数为Ncatch=10、令食物浓度计算函数为Y=-J(X)ITAE
步骤3、鱼群初始化:
结合实施例函数表达式可知鱼群中的每条人工鱼的状态均为一个6维向量,确定鱼群个数N=50和设计变量维数n=6,利用rand()函数产生n=6行,N=50列个0~1之间的随机数,结合设计变量范围[Upk,Downk],k=1,…,n,初始化获得N=50条人工鱼。
xki=Downk+rand()*(Upk-Downk),k=1,…,n,i=1,…,N (1)
步骤4、公告板初始化:
通过Y=f(X)计算每条人工鱼当前状态的食物浓度为Y=(Y1,Y2,…,Yi,…YN),将最大浓度值Yboard=max(Y1,Y2,…,Yi,…YN)和对应的人工鱼状态赋值Xboard=Xi if Yi=Yboard给公告板;
步骤5、执行单次迭代寻优:令当前更新状态人工鱼i=0;
步骤6、执行聚群行为:
步骤6.1、设第i条人工鱼当前状态为Xi,使用式(2)计算第i条人工鱼Xi与第j条人工鱼之间的距离dij,得到第i条人工鱼Xi与鱼群中所有人工鱼之间的距离Di=(di1,di2,…,dij,…,diN);
dij=||Xi-Xj||1≤j≤N (2)
步骤6.2、获得位于第i条人工鱼探索视觉感知范围内的其他鱼群数目nf,即满足dij≤Visaul的人工鱼个数以及nf个人工鱼当前的状态
Figure BDA0001347820370000203
通过式(3)计算中心状态Xc:
Figure BDA0001347820370000201
步骤6.3、计算中心状态Xc的食物浓度Yc=f(Xc),判断中心状态Xc的食物浓度Yc是否大于第i条人工鱼Xi的食物浓度Yi,且周围鱼群数量不太多满足式(4),如均满足,则执行步骤6.4,否则执行步骤7追尾行为;
Figure BDA0001347820370000202
步骤6.4、利用式(5)计算朝中心状态Xc移动的步长Stepi
Figure BDA0001347820370000211
在人工鱼的标准算法聚群行为中,每一条人工鱼采用固定步长进行移动,若固定步长较大,则可能导致后期人工鱼跳离最优解,出现收敛速度慢、精度低问题。若固定步长较小,结果精度较高,但收敛速度太慢。本发明提出变步长改进公式(5),在同一次迭代中,对离更优值状态距离较远的个体使用较大的移动步长,加快其收敛速度,相反,对离更优值状态距离较近的个体使用较小的移动步长,避免产生振荡现象,提高寻优结果精度,通过速度因子γ可以控制速度随距离变化的快慢,这种变步长选择方式,既考虑到前期算法收敛速度,又提高了后期寻优精度。
步骤6.5、利用式(5)计算第i条人工鱼移动后的状态Xi_next
Figure BDA0001347820370000212
步骤7、执行追尾行为:
设人工鱼当前状态为Xi,探索视觉感知范围内(di,j<Visaul)Yj值最大的人工鱼Xj,如果
Figure BDA0001347820370000213
表明人工鱼Xj的状态中心位置的食物浓度较大,且周围鱼群数量不太多,则朝人工鱼Xj的方向前进一步;否则进行觅食。
步骤7.1、根据dij<Visaul,得到第i条人工鱼Xi与鱼群中所有人工鱼之间的距离Di=(di1,di2,…,dij,…,diN)中位于第i条人工鱼探索视觉感知范围内的其他鱼群数目nz以及nz个人工鱼当前的状态的食物浓度
Figure BDA0001347820370000214
找到其中最大食物浓度
Figure BDA0001347820370000215
及食物浓度最大的人工鱼状态Ximax=Xu if Yiu=Yimaxwhere u=1,…,nz
步骤7.2、根据
Figure BDA0001347820370000216
获得所有距离位于Ximax状态人工鱼探索视觉感知范围内的其他鱼群数目m';
步骤7.3、判断Ximax人工鱼所处状态的食物浓度Yc是否大于第i条人工鱼Xi的食物浓度Yi,且周围鱼群数量不太多,即满足式(7),如均满足,则执行步骤7.4,否则执行步骤8觅食行为;
Figure BDA0001347820370000221
步骤7.4、利用式(8)计算朝Ximax移动的步长Stepi
Figure BDA0001347820370000222
在人工鱼的标准算法追尾行为中,每一条人工鱼采用固定步长Step进行移动,若固定步长较大,则可能导致后期人工鱼跳离最优解,出现收敛速度慢、精度低问题。若固定步长较小,结果精度较高,但收敛速度太慢。本发明提出变步长改进公式(8),在同一次迭代中,对离当前搜索感知范围内最优值状态距离较远的个体使用较大的移动步长,加快其收敛速度,相反,对离当前搜索感知范围内最优值状态距离较近的个体使用较小的移动步长,避免产生振荡现象,提高寻优结果精度,通过速度因子γ可以控制速度随距离变化的快慢,这种变步长选择方式,既考虑到前期算法收敛速度,又提高了后期寻优精度。
步骤7.5、利用式(9)计算第i条人工鱼移动后的状态Xi_next
Figure BDA0001347820370000223
步骤8、执行觅食行为:
步骤8.1、令觅食尝试次数t=0;
步骤8.2、利用rand()函数在第i条人工鱼当前状态Xi的视觉范围内随机产生一个觅食状态Xrand,并计算该状态的食物浓度Yrand=f(Xrand);
步骤8.3、若ΔY=Yrand-Yi>0,则令移动补偿为
Figure BDA0001347820370000224
然后执行步骤8.4;否者执行步骤8.5;
在人工鱼的标准算法觅食行为中,每一条人工鱼采用固定步长Step进行移动,若固定步长较大,则可能导致后期人工鱼跳离最优解,出现收敛速度慢、精度低问题。若固定步长较小,结果精度较高,但收敛速度太慢。本发明提出变步长改进公式
Figure BDA0001347820370000231
在同一次迭代中,对离觅食状态Xrand距离较远的个体使用较大的移动步长,加快其收敛速度,相反,对离觅食状态Xrand距离较近的个体使用较小的移动步长,避免产生振荡现象,提高寻优结果精度,通过速度因子γ可以控制速度随距离变化的快慢,这种变步长选择方式,既考虑到前期算法收敛速度,又提高了后期寻优精度。
步骤8.4、通过式(10)计算第i条人工鱼移动后的状态Xi_next,完成觅食动作;
Figure BDA0001347820370000232
步骤8.5、令t=t+1;如果满足t<try_number,执行步骤8.2;否者执行步骤8.6;
步骤8.6、通过式(11),由随机向某方向移动最大步长,获得第i条人工鱼移动后的状态
Figure BDA0001347820370000233
Figure BDA0001347820370000234
步骤8.7、若Yi_next>Yboard,则将更新后的第i条人工鱼的食物浓度Yi_next和状态Xi_next更新到公告板,即Yboard=Yi_next,Xboard=Xi_next
步骤9、选择状态更新人工鱼:
令i=i+1;如果满足i<N,则执行步骤4,否则执行步骤7;
步骤10、精英保留:
将所有人工鱼按食物浓度从大到小进行排序,将排序后的前Nelite=2个人工鱼直接保留到下一次迭代,前Nelite=2个人工鱼不参与后续行为。
通过增加精英保留策略,便于后续繁殖、捕鱼行为对除当前最优状态的人工鱼进行影响,保证前期计算的成果,避免重复搜索,浪费计算时间。
步骤11、繁殖行为:
步骤11.1、通过rand()函数根据繁殖概率,判断本代是否发生繁殖,如Prep<rand(),则执行步骤11.2;否者执行步骤12;
步骤11.2、由食物浓度排序的结果,根据除精英个体以外的人工鱼的食物浓度按照式(12)计算每个人工鱼的选择概率;
Figure BDA0001347820370000241
步骤11.3、通过两次rand函数按照式(13),选择出两条人工鱼进行繁殖;
Figure BDA0001347820370000242
步骤11.4、根据选择出的两条人工鱼当前状态,按照式(14)进行繁殖获得一个新的人工鱼状态Xchild,并替换当前最差食物浓度处的人工鱼状态,并计算食物浓度。
Figure BDA0001347820370000243
在标准鱼群算法有收敛速度慢、陷入局部极值的缺陷,故在标准算法进入下一次迭代之前,增加生物繁殖行为,以一定概率通过随机抽取当前鱼群内部的两个状态进行组合,对当前最差人工鱼状态进行替换,可以基于鱼群内部状态跳到新的状态进行搜索,防止陷入局部最优,进行全局最优搜索。
步骤12、外界捕鱼行为:
步骤12.1、通过rand函数根据外界捕鱼概率,判断本代是否发生外界捕鱼,如Pcatch<rand(),则执行步骤12.2;否者执行步骤13;
步骤12.2、根据捕鱼数量Ncatch,对食物浓度排序队列中k=N-1-Ncatch,…,Ncatch的人工鱼状态按照式(1)进行更新,并计算各新状态的食物浓度;
在标准鱼群算法有收敛速度慢、陷入局部极值的缺陷,故在标准算法进入下一次迭代之前,增加外部捕鱼行为,以一定概率直接在整个寻优空间中随机产生若干个新的状态,对当前若干个较差人工鱼状态进行替换,可以使部分搜索跳到更广阔的外部状态进行,从而跳出局部最优,进行全局最优搜索。
步骤13、若当前迭代次数l<lmax,则令l=l+1,并执行步骤5;否则执行步骤14;
步骤14、输出公告板上的食物浓度Yboard及人工鱼状态Xboard
步骤15、若目标函数值满足需求,则Xboard即为最优姿态控制器参数。否则,返回步骤2,重新设置改进鱼群算法参数,执行步骤3~14。
附图1给出了本发明方法进行控制器参数整定的流程图,附图2给出了应用本方法对四旋翼无人机自抗扰姿态控制器进行整定的结构图。附图3~8附图1中改进鱼群算法的执行流程图。附图9给出了实施例2的整定过程图,附图10给出了整定过程中每次当前最优控制器参数作用下的俯仰姿态控制曲线。
参照附图9可知目标函数值随迭代次数的增加不断减小,最终稳定在0.8附近。附图10中给出了每代当前最优控制器参数下的控制效果图,可知随着迭代次数的增加,最优控制参数不断更新,姿态控制效果不断提高。经过整定后获得最优控制器参数为:
Kp=11、Ki=1.2、Kd=18.2、β0=1005、β1=5106、β2=15011
最优ITAE指标为:0.81,可见仅经过20次迭代即可完成无人机自抗扰控制器参数整定。本发明方法在标准鱼群算法的基础上,通过动态调整人工鱼移动步长,引入精英保留、鱼群繁殖和外部捕鱼行对标准鱼群算法进行改进,加快控制器参数整定的收敛速度、提高全局搜索能力和最优参数的求解精度。

Claims (1)

1.一种基于改进鱼群算法的四旋翼无人机姿控参数整定方法,其特征在于步骤如下:
步骤1、建立典型四旋翼无人机俯仰姿态运动学模型为:
Figure FDA0002251007610000011
式中,p为无人机的滚动角速度;q为无人机的俯仰角速度;
Figure FDA0002251007610000012
为无人机的俯仰角加速度;r为无人机的偏航角速度;Iy为无人机在y轴上的转动惯量;τy为无人机在y轴上的力矩;
将运动学模型式变换为积分链式模型形式:
Figure FDA0002251007610000013
Figure FDA0002251007610000014
式中,
Figure FDA0002251007610000015
Δfθ为模型不确定性项;dθ为外部干扰项;x1=θ为无人机的俯仰角;
由俯仰姿态运动学模型阶数为2,设计由三阶扩展观测器和PID控制构成的自抗扰控制器对四旋翼无人机俯仰姿态进行控制,自抗扰姿态控制器为:
扩展观测器:
Figure DEST_PATH_IMAGE002
Figure FDA0002251007610000017
PID控制:
Figure FDA0002251007610000018
自抗扰控制输出:uARDC=upid-z3/b
式中,θcmd为俯仰角控制指令;e为俯仰角误差;h为计算步长;z1、z2、z3为扩展张观测器3个状态;β0、β1、β2是扩展观测器观测系数;Kp、Ki、Kd为比例控制增益、积分控制增益和微分控制增益;
整定的自抗扰控制器参数为:X=[Kp Ki Kd β0 β1 β2]T,将控制器参数看作优化设计变量;
选择ITAE评价指标为目标函数,
Figure FDA0002251007610000021
设置控制器仿真步长,计算时间,俯仰角初始状态和俯仰角控制指令;
步骤2,采用动态调整人工鱼移动步长策略,引入精英保留、鱼群繁殖和外部捕鱼行对标准鱼群算法进行改进,获得改进鱼群算法,过程为:
(1)采用变步长状态更新:在聚群行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure FDA0002251007610000022
Xc为第i条人工鱼探索视觉感知范围内的其他人工鱼所处的中心状态;Xi_next为第i条人工鱼朝Xc移动后的状态改为变步长状态更新规则:
Figure FDA0002251007610000023
Stepi为自适应移动步长;γ为速度因子;
在追尾行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure FDA0002251007610000024
Ximax为在第i条人工鱼探索视觉感知范围内食物浓度值最大的人工鱼所处状态;改为变步长状态更新规则:
Figure FDA0002251007610000025
在觅食行为中,将标准鱼群算法中采用固定步长Step进行状态更新的规则:
Figure FDA0002251007610000026
Xrand为第i条人工鱼当前状态Xi的视觉范围内随机产生一个觅食状态;改为变步长状态更新规则:
Figure FDA0002251007610000027
(2)在标准鱼群算法单次迭代流程最后,引入精英保留、繁殖和人工捕鱼行为,提高收敛速度,增加跳出局部最优能力:
所述精英保留行为:将所有人工鱼按食物浓度从大到小进行排序,按照精英保留个数参数Nelite将排序后的前Nelite个人工鱼直接保留到下一次迭代,不参与后续行为;
所述繁殖行为:增加繁殖概率参数Prep,通过抽取随机数,判断Prep<rand()是否成立不定期的触发繁殖行为;根据除精英个体以外的人工鱼的食物浓度计算每个人工鱼的选择概率
Figure FDA0002251007610000031
随机抽取满足ipresel=w,
Figure FDA0002251007610000032
的两条人工鱼执行繁殖行为
Figure FDA0002251007610000033
获得一个新的人工鱼状态Xchild,并替换当前最差食物浓度处的人工鱼状态,并计算食物浓度;
所述人工捕鱼行为:增加外部捕鱼概率参数Pcatch,通过抽取随机数,判断Pcatch<rand()是否成立,不定期的触发外部捕鱼行为;根据捕鱼数量参数Ncatch,对食物浓度排序队列中k=N-1-Ncatch,…,Ncatch的人工鱼状态重新初始化,并计算各新状态的食物浓度;
步骤3、设置鱼群算法的人工鱼个数N、状态维数n、状态变量范围[Upk,Downk],i=1,2,…,n,感知距离Visual、人工鱼移动的最大步长Step、速度因子γ、人工鱼拥挤度因子δ、人工鱼搜索食物浓度的尝试次数为try_number、最大迭代次数lmax、精英保留策略的鱼群个数为Nelite、繁殖概率为Prep、外界捕鱼概率为Pcatch、捕鱼个数为Ncatch、令食物浓度计算函数为Y=-J(X)ITAE
步骤4、执行改进鱼群算法,进行控制参数整定,直至达到最大迭代次数,输出公告板上的食物浓度Yboard及人工鱼状态Xboard
步骤5、若目标函数值满足需求,则Xboard即为最优姿态控制器参数;否则,返回步骤3,重新设置改进鱼群算法参数,执行改进鱼群算法,进行控制参数整定。
CN201710564001.2A 2017-07-12 2017-07-12 基于改进鱼群算法的四旋翼无人机姿控参数整定方法 Active CN107300925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710564001.2A CN107300925B (zh) 2017-07-12 2017-07-12 基于改进鱼群算法的四旋翼无人机姿控参数整定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710564001.2A CN107300925B (zh) 2017-07-12 2017-07-12 基于改进鱼群算法的四旋翼无人机姿控参数整定方法

Publications (2)

Publication Number Publication Date
CN107300925A CN107300925A (zh) 2017-10-27
CN107300925B true CN107300925B (zh) 2020-05-12

Family

ID=60133529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710564001.2A Active CN107300925B (zh) 2017-07-12 2017-07-12 基于改进鱼群算法的四旋翼无人机姿控参数整定方法

Country Status (1)

Country Link
CN (1) CN107300925B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108919641B (zh) * 2018-06-21 2021-02-09 山东科技大学 一种基于改进樽海鞘算法的无人机航迹规划方法
CN109213192A (zh) * 2018-08-16 2019-01-15 上海航天控制技术研究所 一种基于自抗扰控制的干扰抑制方法
CN109582030A (zh) * 2018-12-20 2019-04-05 中国科学院深圳先进技术研究院 一种调整无人机姿态控制中待整定参数方法及相关装置
CN109491407A (zh) * 2019-01-24 2019-03-19 广东海洋大学 一种实现图像匹配的智能仿生鱼及其群体协同工作系统
CN110244077B (zh) * 2019-06-04 2021-03-30 哈尔滨工程大学 一种热式风速传感器恒功率调节与精度补偿方法
CN110162077B (zh) * 2019-06-18 2022-04-05 哈尔滨工程大学 一种基于飞鱼算法的无人机航迹规划方法
CN110456823B (zh) * 2019-08-27 2020-09-29 北京航空航天大学 一种针对无人机计算与存储能力受限的双层路径规划方法
CN110989726B (zh) * 2019-12-24 2022-01-11 安徽理工大学 一种应用于化工生产的改进型自抗扰技术温度控制系统
CN111273543B (zh) * 2020-02-15 2022-10-04 西北工业大学 一种基于策略迭代的pid优化控制方法
CN112596373B (zh) * 2020-10-27 2023-05-23 西北工业大学 一种基于量子萤火虫算法的无人机姿控参数智能整定方法
CN112446457B (zh) * 2020-12-02 2023-07-18 中国计量大学 一种基于改进人工鱼群算法的气体泄漏源定位方法
CN112904729A (zh) * 2021-01-21 2021-06-04 深圳翱诺科技有限公司 一种避免局部最优的控制器参数设计算法
CN113985740B (zh) * 2021-12-30 2022-05-06 中国科学院空天信息创新研究院 一种基于粒子自抗扰的稳定控制方法及装置
CN116774719B (zh) * 2023-08-18 2023-11-07 成都庆龙航空科技有限公司 一种无人机飞行参数自诊断方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077629A (zh) * 2014-07-18 2014-10-01 合肥工业大学 一种变步长自适应的改进人工鱼群算法
CN104898429A (zh) * 2015-05-27 2015-09-09 北京工业大学 一种基于自抗扰控制的三旋翼姿态控制方法
CN106651021A (zh) * 2016-12-16 2017-05-10 新疆疆天航空科技有限公司 基于精英人工鱼群的植保无人机编队航迹规划方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077629A (zh) * 2014-07-18 2014-10-01 合肥工业大学 一种变步长自适应的改进人工鱼群算法
CN104898429A (zh) * 2015-05-27 2015-09-09 北京工业大学 一种基于自抗扰控制的三旋翼姿态控制方法
CN106651021A (zh) * 2016-12-16 2017-05-10 新疆疆天航空科技有限公司 基于精英人工鱼群的植保无人机编队航迹规划方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于改进人工鱼群算法的无人机路径规划;喻俊松 等;《弹箭与制导学报》;20160630;第35卷(第3期);第37-40页 *

Also Published As

Publication number Publication date
CN107300925A (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN107300925B (zh) 基于改进鱼群算法的四旋翼无人机姿控参数整定方法
CN113110592B (zh) 一种无人机避障与路径规划方法
CN110806756B (zh) 基于ddpg的无人机自主引导控制方法
CN111351488B (zh) 飞行器智能轨迹重构再入制导方法
CN110703766B (zh) 一种基于迁移学习策略深度q网络的无人机路径规划方法
CN114489059B (zh) 基于d3qn-per移动机器人路径规划方法
CN111142522A (zh) 一种分层强化学习的智能体控制方法
CN112937564A (zh) 换道决策模型生成方法和无人车换道决策方法及装置
CN110442129B (zh) 一种多智能体编队的控制方法和系统
CN114089776B (zh) 一种基于深度强化学习的无人机避障方法
Waldock et al. Learning to perform a perched landing on the ground using deep reinforcement learning
CN113962012B (zh) 无人机对抗策略优化方法及装置
CN110320932B (zh) 一种基于微分进化算法的编队队形重构方法
CN115755956B (zh) 一种知识与数据协同驱动的无人机机动决策方法与系统
CN112596373A (zh) 一种基于量子萤火虫算法的无人机姿控参数智能整定方法
CN111882047A (zh) 一种基于强化学习与线性规划的快速空管防冲突方法
CN115033022A (zh) 面向移动平台基于专家经验的ddpg无人机降落方法
CN115981372A (zh) 一种高马赫数飞行器跳跃飞行段轨迹优化方法
Champasak et al. Grid-based many-objective optimiser for aircraft conceptual design with multiple aircraft configurations
CN114967721A (zh) 一种基于DQ-CapsNet的无人机自助路径规划和避障策略方法
CN114815875B (zh) 一种基于集合满射鸽群智能优化的无人机集群编队控制器调参方法
CN114371729B (zh) 一种基于距离优先经验回放的无人机空战机动决策方法
CN116400726A (zh) 一种基于强化学习的旋翼无人机逃逸方法及系统
CN115344046A (zh) 一种基于改进深度q网络算法的移动机器人路径规划
CN109657778B (zh) 一种基于改进的多种群全局最优的自适应鸽群优化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221102

Address after: 710000 156, Tiangu 8th Road, Yuhua Street Office, Hi tech Zone, Xi'an, Shaanxi

Patentee after: Guodian Ruiyuan (Xi'an) Intelligent Research Institute Co.,Ltd.

Address before: 710072 No. 127 Youyi West Road, Shaanxi, Xi'an

Patentee before: Northwestern Polytechnical University