APP下载

基于改进PSO算法的四旋翼飞行器飞控系统PID参数整定*

2021-07-06付俊庆

湘潭大学自然科学学报 2021年2期
关键词:旋翼惯性适应度

付俊庆,林 朗

(1.长沙理工大学 汽车与机电工程院,湖南 长沙 410076;2.中南大学 机电工程学院,湖南 长沙 410083)

0 引言

近年来,四旋翼飞行器的发展受到了越来越多的关注,由于具有结构简单、机动性强等特点,四旋翼飞行器在军事和民用领域均展现出了巨大的应用价值.在现有的飞行器控制算法当中,PID算法被广泛应用.设计PID控制器时,控制器参数的选择往往决定了控制器最终能实现的控制效果.手动调节参数费时费力,也很难达到最优的控制效果,因此,研究控制器参数整定和优化方法的重要性就凸显了出来[1].四旋翼飞行器具有欠驱动、强耦合的特点,采用传统的整定方法(如Ziegler-Nichols法)很难获取控制器的最优参数.

随着人工智能算法的逐渐兴起,越来越多的算法被用于控制器参数的优化整定当中[2-4].目前,诸如遗传算法和模拟退火算法的一些随机搜索算法,均已在PID控制器的参数优化整定当中得到成功应用[5-6].相较于模拟退火算法,遗传算法采用并行搜索方式,因此其搜索速度更快.然而,当面对一些复杂的问题,特别是被优化参数相互关联时,常规遗传算法存在一定的缺陷,优化速度明显减慢.

粒子群算法(particle swarm optimization, PSO)由Kennedy和Eberhart在1995年提出,它是一种群体智能的优化算法[7].与同为群体智能优化算法的遗传算法相比,粒子群算法具有计算效率高、容易实现和计算量小等优势[8].基本的粒子群算法与常规遗传算法相似,在算法后期容易陷入局部最优中,找不到全局最优解.本文提出了一种惯性权重非线性递减且融合了遗传算子的粒子群优化算法,并将该算法应用到四旋翼飞行器飞控系统PID控制器参数的优化当中,仿真结果验证了该算法的有效性.

1 改进粒子群算法

1.1 基本粒子群算法

PSO的灵感来源于模拟鸟类的捕食行为.粒子群算法中,每个粒子都在解空间内,包含位置、速度和适应度值三种信息,它们代表优化问题的一个潜在最优解.适应度值由适应度函数计算得到,其值的大小代表粒子的好坏,通常越小越接近最优解.各粒子的运动速度与自身最优位置以及种群最优位置相关,依照给定规则进行更新.当粒子完成位置信息的更新后,需要重新计算一次适应度值,通过比较新的适应度值与粒子自身历史最优适应度值和种群历史最优适应度值的大小,决定是否更新自身最优位置以及种群最优位置.不断重复上述过程,直至适应度值达到精度要求,或者迭代次数达到上限.最后输出种群最优位置作为优化结果.对粒子群算法中的参数作出如下定义:

设解空间的维数为D,其中存在一个待求解的种群X=(X1,X2,…,Xn),种群中共有n个粒子,其中第i个粒子可以表示为一个D维的向量Xi=(Xi1,Xi2,…,XiD)T,该向量可以理解为第i个粒子在解空间中的位置,它代表某个优化问题中的一个潜在最优解.第i个粒子的速度表示为Vi=(Vi1,Vi2,…,ViD)T,其自身最优位置记为Pi=(Pi1,Pi2,…,PiD)T,种群最优位置记为Pg=(Pg1,Pg2,…,PgD)T.

粒子群算法根据自身最优位置和种群最优位置,按照式(1)进行速度和位置的更新,即[9]:

(1)

式(1)中:ω称作惯性权重,表示粒子保持原有速度的比例;d=1,2,…,D;i=1,2,…,n;k为当前迭代次数;c1表示粒子跟踪自身最优位置的比例;c2表示粒子跟踪种群最优位置的比例;r1和r2是[0,1]区间内均匀分布的随机数.为防止粒子陷入盲目搜索,通常会将粒子的位置和速度限制在一定范围内.

1.2 调整惯性权重的改进算法

在粒子群算法中,惯性权重ω决定了粒子保持原来速度的比例.一般来说,惯性权重越大,粒子的全局探索能力越强;惯性权重越小,粒子的局部开发能力越强.具体可以解释为,ω较大时,粒子保持原有速度较多,种群最优位置对其影响相对较小,粒子个性更强同时不受群体经验约束,能更好地在全局范围内进行搜索;反之,ω较小时,粒子保持原有速度较少,种群最优位置对其影响相对较大,其搜索区域被自身最优位置和群体最优位置所限制,从而具有较强的局部开发能力.基本的粒子群算法中,ω为定值,这会使得种群的多样性大大降低,在一定程度上导致算法陷入早熟.

由于惯性权重ω深刻影响着粒子的行为模式,众多研究人员针对其调整策略展开了一系列的研究,提出了各自的改进方法.

文献[10]采用线性下降的调整策略,对惯性权重的调整方式如下:

(2)

式(2)中:ω(t)表示粒子群在第t次迭代时的惯性权重;ωmax、ωmin分别代表最大惯性权重值和最小惯性权重值;Iter为预先设定的算法迭代次数上限.

在该调整策略下,惯性权重在迭代早期较大,迭代后期较小.这使得粒子群在进化早期侧重于全局搜索,后期侧重于局部开发,具有较强的优化能力.对惯性权重进行线性递减调整的粒子群算法也被称为标准粒子群算法(BPSO),它在实际的优化问题中被广泛应用.

本文对惯性权重进行非线性递减,其调整方式如下:

(3)

以式(3)构造的惯性权重,在迭代期间是非线性减小的,在迭代早期减速幅度较大,迭代后期减速幅度较小.这么做的目的是均衡全局和局部搜寻能力,让粒子更快地进入局部搜索.文献[11]已证明:与对惯性权重进行线性递减的调整策略相比,该改进算法采用的调整策略能使得粒子收敛速度更快,求解质量更好.

1.3 融合遗传算子的改进算法

1.3.1 选择算子操作实现

选择运算模拟的是生物界优胜劣汰的现象,根据适者生存、不适者被淘汰的原则选择下一代个体.对粒子进行选择操作的具体方式为:根据粒子的适应值,按照一定比例,选择最优的粒子直接进入下一代.选择算子的加入保证了种群中总是有部分相对较好的粒子,使群体的收敛速度得到加快.

1.3.2 杂交算子操作实现

杂交运算的目的是通过随机的信息交换,产生新的个体,在遗传算法中会挑选群体中的两个个体,以杂交概率Pc对它们处于同一位置处的基因进行交换.文献[12]借鉴了遗传算法中杂交运算的概念,最早在粒子群算法中融入杂交算子.对粒子进行杂交操作的具体方式为:在每次迭代过程中,挑选一定数量的粒子构成一个新的集合,再根据杂交概率Pc,从种群中挑选粒子与集合中的粒子随机地进行杂交操作.通过杂交操作产生新的粒子,用来代替进行杂交操作的原有粒子,保证种群中粒子的数量不变.新产生粒子的位置计算公式如下[13]:

X1′(t)=rand*X1(t)+(1-rand)*X2(t),

(4)

X2′(t)=rand*X2(t)+(1-rand)*X1(t),

(5)

其中:X1(t)和X2(t)是进行杂交操作的两个粒子的位置向量;rand是在[0,1]区间内均匀分布的随机量.

新产生粒子的速度计算公式如下:

(6)

(7)

其中,V1(t)和V2(t)是进行杂交操作的两个粒子的速度向量.

杂交算子的加入增加了粒子的多样性,充分利用了群体中优良粒子的特性,加快了群体的收敛速度.

1.3.3 变异算子操作实现

采用变异运算来模拟生物遗传进化中发生的基因变异现象:以变异概率Pm让个体产生变异,得到新的个体.将变异算子融入粒子群算法中,能以多种方式让选定粒子产生变异,本改进算法采用重新初始化的方式,即对选中的粒子,按照变异概率Pm对其位置和速度重新初始化.变异算子的加入提高了种群的多样性,降低了算法陷入早熟收敛的风险.

1.4 改进算法的运行步骤

本文在基本粒子群算法的基础上,通过改变惯性权重的调整策略以及融合遗传算法,提出了一种改进的PSO算法(NLGAPSO),算法的运行步骤如下:

(1)将粒子的位置和速度限制在一定范围内,通过随机的方式对粒子群进行初始化;

(2)根据式(3)更新惯性权重,非线性降低惯性权重,再根据式(1)对每个粒子的位置和速度进行更新;

(3)计算每个粒子的适应值;

(4)融入遗传算子:按照适应值的大小对粒子群中的粒子重新排序,挑选出适应值较小的部分粒子直接进入下一次迭代;对直接进入下一次迭代的粒子,每次挑选两个,根据式(4)至式(7)进行位置和速度的运算,产生新一代的粒子,替代未直接进入下一次迭代,适应值排序靠中间位置的部分粒子;按照变异概率,重新初始化适应值排序靠后的部分粒子;

(5)通过比较粒子当前适应度值与自身历史最优适应度值和种群历史最优适应度值的大小,决定是否更新自身最优位置以及种群最优位置;

(6)判断是否满足循环终止条件(超过最大迭代次数或者达到适应值精度要求):若未满足循环终止条件,则跳转回步骤(2);若满足循环终止条件,则退出循环,输出当前种群的最优位置及最优适应值作为寻优结果.

2 基于改进PSO的PID参数整定

2.1 PID参数整定问题

常规PID控制器的传递函数为:

(8)

式(8)中,Kp、Ki和Kd分别为比例、积分和微分系数.

对PID控制器参数进行整定,目的是寻找一组最优的Kp、Ki和Kd参数组合,来改善系统的动态响应,减少或消除静态误差,使系统获得更优的控制品质.如果把待整定的参数组视为解空间中的点,将误差性能指标当作控制效果的评价函数,那么可以将PID参数的整定视为一种典型的目标函数优化过程,适合于用粒子群算法求解.

2.2 仿真实验

2.2.1 被控对象模型及评价函数选取

为验证上述方法的优化效果,用MATLAB软件对四旋翼飞行器的飞控系统进行了仿真实验.

四旋翼飞行器的动力学模型为:

(9)

式(9)中:横滚角φ、俯仰角θ、偏航角ψ分别为四旋翼飞行器机体绕机体坐标系三轴旋转的角度;m为四旋翼飞行器的质量;g为重力加速度;Ωi为各电机的转速;CT为旋翼的升力系数,Jx、Jy和Jz分别为飞行器对应轴上的转动惯量;Cm为旋翼的反扭力矩系数;l为四旋翼机身半径.

在设计四旋翼飞行器的姿态控制系统时,在PID控制器的基础上,在系统内部增加了一个控制回路,构成串级PID的结构.串级PID结构共有两个控制回路,外环控制飞行器的姿态角,内环控制飞行器绕机体坐标系三轴的角速度.选择这种结构的原因有两点:首先,角速度的控制频率比角度控制的频率更高,对扰动的抑制能力更好,有利于改善系统的动态特性及其稳定性;此外,角度的反馈往往存在一个积分的过程,而角速度的反馈可以直接通过机载的惯性传感器陀螺仪来获取,运行频率更高[14].基于串级PID的四旋翼飞行器姿态控制系统结构如图1所示.

图1 基于串级PID的四旋翼飞行器姿态控制系统结构框图Fig.1 Structure block diagram of attitude control system of quad-rotor aircraft based on cascaded PID

图2 ITAE指标的计算Fig.2 Calculation of the ITAE index

利用粒子群算法对PID控制器参数进行优化整定,目的是使系统响应的稳态误差最小.通常使用的误差性能指标包括ITAE、ISE、IAE等,本文选用ITAE误差性能指标作为适应度函数,其定义为:

(10)

式(10)中:e(t)表示系统的误差;t表示仿真时间.J的值越小,表示系统累积误差越小,系统的动态性能越好,因此优化目标可使各通道的适应度函数值达到最小,以获得最优的动态性能.

同时,将PID控制器的参数(共15个)设置为粒子的位置参数,每次更新完后再运行一遍仿真程序,将输出的ITAE值与粒子自身以及种群的最优ITAE值进行对比,若是结果更小则进行替换.

2.2.2 仿真设置及仿真结果

采用NLGAPSO对PID控制器参数进行优化整定,并与BPSO和手动调参的结果进行对比.

仿真设置为:系统输入为阶跃信号,幅值为[Zrefφrefθrefψref]=[3 0.1 0.1 0.01],待整定参数的范围根据试凑法得到的参数扩大一定倍数确定,粒子的速度限制在寻优域半径的40%以内,粒子群规模n=30,最大迭代次数Iter=100,PSO惯性权重的最大值和最小值分别取ωmax=0.9、ωmin=0.4,c1=c2=2,变异概率Pm=5%.

由于粒子群初始位置和速度是随机生成的,为了不受到随机初始化的影响,两种PSO算法采用同一组初始数据.各通道的阶跃响应对比和参数优化结果如图3~6及表1~4所示.

图3 z方向阶跃响应对比 图4 φ角阶跃响应对比Fig.3 Step response comparison for z direction Fig.4 Step response comparison for phi angle

表1 z方向PID参数及适应度函数值

表2 φ角PID参数及适应度函数值

图5 θ 角阶跃响应对比 图6 ψ角阶跃响应对比Fig.5 Step Response Comparison for θ angle Fig.6 Step Response Comparison for psi angle

表3 θ角PID参数及适应度函数值

从表1至表4可以看出,采用NLGAPSO算法优化的PID控制器参数其误差性能指标小于BPSO算法,对参数的优化效果更好.从四个通道的阶跃响应图上可以看出,NLGAPSO算法优化后,系统的阶跃响应曲线超调量更小,调节时间更短,响应速度更快,动态性能更优.

表4 ψ角PID参数及适应度函数值

3 结论

四旋翼飞行器具有欠驱动、强耦合的特点,这使得采用传统方法整定四旋翼飞行器飞控系统中的PID参数存在困难.在标准粒子群算法的基础上,本文提出了一种改进的粒子群算法来对飞行器飞控系统中的PID参数进行整定.仿真结果表明改进粒子群算法面对四旋翼飞行器这个复杂系统能起到很好的优化整定效果,同时,相较于标准粒子群算法,改进算法的整定效果更优.

猜你喜欢

旋翼惯性适应度
你真的了解惯性吗
改进的自适应复制、交叉和突变遗传算法
冲破『惯性』 看惯性
改进型自抗扰四旋翼无人机控制系统设计与实现
大载重长航时油动多旋翼无人机
基于STM32的四旋翼飞行器的设计
一种基于改进适应度的多机器人协作策略
无处不在的惯性
四旋翼无人机动态面控制
普遍存在的惯性