基于差分进化算法的四旋翼PID参数优化设计
2022-07-20钟小勇任剑秋
钟小勇,任剑秋
(江西理工大学理学院,江西 赣州 341000)
1 引言
四旋翼无人机是一种典型的四电机输入、六自由度输出的欠驱动复杂控制系统,易于受到外界干扰,人工整定参数困难且不易获得较佳的控制效果。为了提高控制精度,国内外研究人员对无人机控制器参数优化算法开展了广泛研究。文献[1]在传统的粒子群算法基础上参考遗传算法,对适应值不好的粒子进行交叉保优,以提高粒子的多样性,加快寻优速度。文献[2]将粒子群算法与仿人智能控制相结合,使用粒子群优化算法对仿人智能控制中的比例、微分系数和衰减系数进行优化。文献[3]设计模糊PID(Proportion-Integral-Differential,比例积分微分)控制器对无人机进行控制,对模糊控制器中的模糊子集进行基因编码,设计改进型遗传算法实现模糊规则的再整定与优化。文献[4]提出一种改进PSO(Particle Swarm Optimization,粒子群)算法优化分数阶PID参数的方法,在迭代更新过程中,根据粒子的适应度值按照一定淘汰率将部分粒子淘汰,并用随机产生的新粒子代替,在保优的同时增加了粒子群的多样性。文献[5]提出一种改进人工蜂群算法优化分数阶PID参数的方法,利用循环交换邻域技术扩大搜索范围,并利用混沌的遍历性跳出局部最优解,得到了较好的时域性能。
以上研究大多是在粒子群算法的基础上对控制器参数进行整定,但是标准的PSO算法在处理复杂问题时容易陷入局部最优解。因此本文采用差分进化(Differential Evolution,DE)算法对串级PID控制器参数进行整定,在标准DE算法的基础上,提出定向搜索的策略,根据上一次适应度比较的结果定向影响本次变异的方向,将这种算法应用到四旋翼仿真模型中寻找出最优的控制器参数。实验结果表明将定向差分进化(directed Differential Evolution,dDE)算法寻找出的控制器参数带入模型后得到的控制器参数,仿真结果明显优于PSO算法和标准DE算法,证明了该算法的可行性和实用价值。
2 算法的理论分析
2.1 标准粒子群算法
粒子群算法是一种生物优化算法,它根据自己和同伴的经验在搜索空间中找到全局最优解。假设区域中只有一块食物(即优化问题中的最优解),鸟群的任务就是找到这个食物。鸟群在整个搜索过程中可以相互传递信息,让彼此知道各自的位置,来判断自己是否离食物更近,最终整个鸟群都能聚集到食物周围,问题收敛。
(1)
式中1≤j
≤D
,1≤i
≤NP
;D
为变量的总维数;ω
为惯性权重,起到平衡全局和局部搜索能力的作用;c
,c
分别为认知系数,使粒子具有继承自身优点并向种群中其它优秀个体学习的能力;r
,r
为[0,1]范围内的随机数,用来保持群体的多样性。相对人工整定控制参数而言,粒子群算法能加快寻优速度,但发现针对四旋翼无人机这类复杂的控制器参数确定时,容易陷入局部最优。2.2 差分进化算法
2.
2.
1 差分进化算法基本原理差分进化算法是在1995年,首先由Storn和Price提出的,它最初被用于求解切比雪夫多项式的问题。DE算法原理跟遗传算法十分相似,都属于进化算法的范围,包含变异、交叉、选择三个操作,但DE算法的这三个过程与遗传算法有很大的不同。DE算法的变异是使用差分策略,利用父代种群中个体之间的差异来产生变异个体。交叉操作是从原来的目标个体和变异个体中用概率选择的方法构成新的候选个体。选择操作是采用“贪婪原则”,让目标个体和候选个体进行竞争,选择适应度函数较优的个体,使搜索过程逐渐接近最优解。基本DE算法包括以下环节:
1)种群初始化
(2)
2)变异操作
DE算法的个体变异是通过父代群体中三个不同的个体,采用选定的进化模式来生成。根据不同的变异方式,其进化模式也多种多样。但都可以统一使用DE/x/y/z
的形式来描述。其中x
代表被变异个体的选择方式,如选择最优个体best
或随机产生的个体rand
;y
表示差分向量的个数;z
表示交叉模式,包含二项交叉bin
和指数交叉exp 。假设选用的变异策略是DE/rand/
1/bin
,那么变异个体可以表示为(3)
k
,k
,k
是随机生成的三个彼此互不相同的整数,k
,k
,k
∈{1,2,…,MP
},所以种群数量必须要超过4个。F
表示缩放因子,F
∈[0,1],它决定着差分个体的缩放量,是控制种群收敛性和多样性的重要参数。F
取值大意味着搜索步长较长,也就易于跳出局部最优解,但在演化后期容易错过最优解。反之如果F
取值较小,则对种群造成的扰动小,有助于加快算法的收敛速度,但不易跳出局部最优解,陷入成局部收敛。在变异过程中,也可能产生超出搜索范围[L
,U
]的个体,这时就要进行算子修补。定义修补过程的操作为(4)
3)交叉操作
(5)
式(5)中CR
∈(0,1)为交叉因子,CR
取值的大小,决定了个体在不同位点发生交叉的概率大小,决定着历史信息与当前种群信息的权重。CR
取值越大,则选中变异个体的概率越大,种群多样性就会增加,但收敛速度就会变慢。CR
取值小,则种群多样性小,有利于提高算法的收敛速度,但容易造成过早收敛。4)选择操作
(6)
2.
2.
2 定向搜索策略(7)
(8)
3 四旋翼无人机动力模型及PID控制
3.1 四旋翼无人机动力模型
为了描述四旋翼无人机的运动姿态与位置变化,需要在地理坐标系和机体坐标系上建模,同时分析两个坐标之间的变换关系。四旋翼无人机运动示意图如1所示。
在研究物体转动和位置的变化中,常用俯仰角、横滚角φ
、航向角ψ
来表示确定向量的转动位置,无人机各轴的角度变化用欧拉角表示,需要依次绕三个轴进行旋转才能求出复合后的旋转矩阵。用欧拉角来表示无人机从载体坐标系b
旋转到地理坐标系n
的旋转矩阵如公式所示。图1 四旋翼无人机运动示意图
(9)
式中c
、s
分别表示cos 和sin 函数。建立四旋翼无人机的动力学模型时,需要假定一些初始条件:
1)假设无人机为刚体,不考虑桨片的形变和弹性震动。
2)假设无人机绝对对称,机体质量分布均匀,重心与机体坐标原点重合。
3)忽略地面效应造成的影响。
4)忽略地球自转,地理坐标系与惯性坐标系重合,重力加速度不变。
设无人机的地理坐标为ξ
=[x
,y
,z
],无人机的姿态角为Θ
=[φ
,θ
,ψ
],角速度为ω
=[p
,q
,r
]。根据动量定理和动量矩定理,结合无人机所受外力和合外力矩,给出无人机的角运动方程(10)
式中U
,U
,U
分别代表横滚、俯仰和偏航运动力矩,I
(i
=x
,y
,z
)代表机体绕各轴旋转的惯性张量,J
为转动惯量,Ω
为机体转速。再给出无人机的平移运动和垂直运动方程(11)
式中U
代表垂直运动力矩,m
为飞行器重量,g
为重力加速度,U
(i
=1,2,3,4)可以表示为(12)
式中,Ω
(i
=1,2,3,4)代表四个电机的转速,F
(i
=1,2,3,4)代表四个旋翼单独转动时产生的升力,b
为升力系数,d
为阻力矩系数,l
为无人机质心到旋翼中心的长度。3.2 四旋翼无人机的PID控制
控制部分采用PID控制器,常用的PID控制器如图2所示,由比例单元P、积分单元I、微分单元D组成,实现对被控对象的控制与调节。
图2 PID控制器模型
在图2中,输入信号为r
(t
),输出信号为y
(t
),PID控制器输入为e
(t
)=r
(t
)-y
(t
),PID控制器输出u
(t
)表达式为(13)
式中,K
、K
、K
是PID控制器的三个参数,分别为是比例系数、积分系数和微分系数。为了提高控制精度,对四旋翼每个姿态角采用内外环串级PID控制,如图3所示。相对常用的PID控制器,串级PID控制器更能够准确实时地控制四旋翼无人机的姿态。在图3中,外环为角度PID控制器(比例系数、积分系数、微分系数分别设为K
1、K
1、K
1),输入为期望角度与反馈实时角度的差值,输出为期望角速度;内环是角速度PID
控制器,(比例系数、积分系数、微分系数分别设为K
2、K
2、K
2),输入为期望角速度与反馈实时角速度的差值,输出至四旋翼动力模型。根据四旋翼动力模型表达式(12),计算U
、U
、U
、U
,最终根据模型参数,计算并反馈实际角度与实际角速度。在四旋翼串级PID控制过程中,PID参数的整定及优化是实现稳定控制的基础。图3 四旋翼无人机串级PID控制
3.3 差分进化算法整定PID参数过程
整定PID参数过程中,选定ITAE(Integral time absolute error,时间绝对偏差积分)为适应度函数f
,其表达式为:(14)
在参数整定过程中,f
的值越小越好,约束条件为系统调节时间t
、超调比例σ
与调节误差err
。改进差分进化算法整定PID控制器参数步骤如图4所示。图4 dDE优化PID流程图
7)判断最大迭代次数是否达到,若达到,则停止;否则转到第2)步。
利用差分进化算法对PID控制器参数进行优化的过程流程图如图4所示。优化算法与四旋翼模型之间,通过优化算法传递PID的控制参数,从四旋翼模型中获得仿真数据,利用得到的数据,通过适应度函数得到该组参数对应的适应度值,获取适应度最优的参数。
4 仿真与结果分析
为了对本文所提出算法的控制精度及实时性进行验证,本文采用图5所示的四旋翼无人机为原型,实验以该机为模型,具体参数如表1所示。
图5 四旋翼无人机
表1 四旋翼模型参数
运用MATLAB和Simulink进行仿真并分析仿真结果。以横滚通道为例,设置PSO的粒子群规模为NP=20、维度参数D=6、位置区间为X
=[0 0 0 0 0 0]到X
=[100 5 5 100 5 5],最大迭代次数50,速度区间V
为位置区间的0.
2倍,认知系数c
,c
=2,惯性权重ω
从0.
9线性递减至0.
4。设置DE
和dDE
算法的种群大小MP
=20、维度参数N
=6、位置区间为X
=[0 0 0 0 0 0]到X
=[100 5 5 100 5 5]、和最大迭代次数maxG
=50,缩放因子F
=0.
5,交叉概率因子CR
=0.
9。三种算法迭代50次后,得到的优化PID参数值和各性能指标如表所示。
表2 横滚通道PID参数和各性能指标
以横滚角为例,将三种算法下得到的PID
参数带入四旋翼模型中,期望角度为30°时,角度变化曲线如图6所示。图6 不同算法PID控制效果
三种算法下适应度随迭代次数变化曲线如图7所示。
图7 适应度随迭代次数变化曲线
dDE
算法参数优化随迭代次数变化如图8所示。由于静差相对较小,积分系数及变化量均很小,图中只列出了比例系数及微分系数。图8 dDE算法中的参数变化曲线
由图6可以看出,系统在阶跃输入下,dDE
算法能够以最快的速度达到期望值,并且达到稳定状态的时间最短。从图7中可以看到,DE
算法在第15次迭代,PSO
算法在第9次迭代左右就已经收敛,不再变化。而结合图8可以看到,dDE
算法在第15代之后依然可以跳出局部最优解,防止了过早收敛,得到了整体的最优结果。5 结论
本文将串级PID
应用于四旋翼控制系统中,并用Simulink
对四旋翼飞行器进行了建模仿真。针对四旋翼飞行器PID
参数人工调试难度较大的问题,提出了DE
算法对四旋翼PID
参数进行优化,并对标准DE
算法进行改进,加入了定向搜索策略。通过与标准PSO
算法和DE
算法相比较,结果表明基于dDE
算法的串级PID
控制技术具有更快的收敛速度和更稳定的性能。