中国科技核心期刊      中国指挥与控制学会会刊     军事装备类重点期刊
Engineering & Application

Fuzzy PID Attitude Control of Unmanned Helicopter Based on Genetic Algorithms

  • SONG Yi-ke 1 ,
  • LI Zhi-yu 2 ,
  • WANG Cong-qing 1 ,
  • SUN Zhan-jie 2
Expand
  • 1. College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016
  • 2. Key Laboratory of Unmanned Aerial Vehicle Technology Ministry of Industry and Information Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China

Received date: 2019-03-15

  Revised date: 2019-04-20

  Online published: 2022-05-05

Abstract

Unmanned helicopters have nonlinear and strong coupling characteristics. It is difficult for using classical control methods to reach good flight control performance. This paper proposes a fuzzy PID attitude control method based on genetic algorithms which can effectively improve the flying qualities. Firstly, the mathematical model of an unmanned helicopter is established by using momentum theory. Secondly, the fuzzy PID attitude controller is designed based on the established model, and the system performance is analyzed and verified. After that, genetic algorithm is used to optimize the quantizing factors, proportional factors and membership functions of the fuzzy controller, which improves the parameter configuration rationality and the system control precision. Finally, the improved fuzzy PID attitude control method is verified by Matlab/Simulink simulation. The experimental results show that the method is effective in the attitude control performance of the unmanned helicopter and in overcoming the influence of disturbance.

Cite this article

SONG Yi-ke , LI Zhi-yu , WANG Cong-qing , SUN Zhan-jie . Fuzzy PID Attitude Control of Unmanned Helicopter Based on Genetic Algorithms[J]. Command Control and Simulation, 2019 , 41(6) : 113 -119 . DOI: 10.3969/j.issn.1673-3819.2019.06.021

无人直升机作为一种常见的飞行器,能够实现垂直起降和定点悬停等动作,在军事和民用领域拥有较高的应用价值。但是,无人直升机具有非线性、强耦合和易受干扰的特性,这使得其控制器的设计具有一定的困难[1]。无人直升机飞行控制通常包括姿态控制和轨迹控制,其中轨迹控制是指直升机位置和高度的控制,而位置和高度的变化主要依靠姿态的变化得以实现。因此,姿态控制作为无人直升机飞行控制的关键技术具有很高的研究价值[2]
目前,无人直升机的姿态控制方法主要包括线性控制、非线性控制和智能控制等多种设计方法。在线性控制方法中,目前应用最广的还是经典PID控制,它尽管结构简单,设计实现方便,但在实际工程项目中,相关参数的整定方法较为繁琐,经常实现不了最优,使得系统得不到较好的控制效果。模糊控制是一种目前运用广泛的非线性控制方法,文献[3]和[4]分别将模糊PID控制用于控制船舶航向和工业水箱液位,这些研究成果表明其拥有良好的控制性能,但是模糊PID控制器也有缺点,比例量化因子确定、隶属度函数选择和模糊规则表的制定对控制效果具有重要影响,却只能依赖于专家经验获得,无法避免特殊条件造成的干扰,降低了自适应能力,控制效果不理想。
综合已有的研究结果,针对上述的不足,本文以无人直升机数学模型为实验平台,设计模糊PID控制器控制其姿态,并且利用遗传算法同时优化模糊控制中的比例量化因子与隶属度函数参数,从而弥补原有设计控制器的不足,提高无人直升机姿态的控制性能。

1 无人直升机模型

本文以某型无人直升机作为建模对象,在参考文献[5]和[6]的基础上,采用动量理论建模方法建立基本数学模型,该直升机特定力分析和参考框架如图1所示。无人直升机的控制输入为主旋翼总距Δδcol、纵向周期变距Δδlon、横向周期变距Δδlat和尾桨总距Δδped,通过旋翼挥舞将输入传递至桨毂产生相应的力和力矩的变化,进而引起线速度和角速率的变化,最终实现姿态的变化。
图1 无人直升机特定力分析与参考架构

1.1 主旋翼模型

主旋翼是提供无人直升机力和力矩的关键部件,首先,根据参考文献[6]给出其拉力Tmr的计算公式:
θ c o l = K c o l δ c o l + θ c o l , 0 w r = w + a 1 s u - b 1 s v w b l a d e = w r + 2 Ω m r R m r θ c o l / 3 T m r = ( w b l a d e - v i ) ρ Ω m r R m r 2 a m r b m r c m r / 4 v i , m r 2 = ( v ˙ 2 / 2 ) 2 + ( T m r / ( 2 ρ π R m r 2 ) ) 2 - v ˙ 2 / 2 v ˙ = u 2 + v 2 + w ( w r - 2 v i , m r )
式中, Kcol是总距输入δcol到总距角θcol的增益,θcol,0表示偏移值; uvw为直升机飞行速度相对空速在机体轴的三个分量,a1sb1s分别表示主旋翼的纵向和横向挥舞角;ΩmrRmr分别表示主旋翼转速和半径;ρ表示空气密度,bmrcmr表示主旋翼桨叶的数量和弦长;vi,mr表示主旋翼的入流速度,wrwblade v ˙是中间变量。
主旋翼的反扭矩记为Qmr,旋翼拉力在机体轴的三个分力分别记作FXmrFYmrFZmr,对机体作用的力矩分别记作LmrMmrNmr,计算公式如下:
Q m r = T m r ( v i - w ) / Ω m r + ρ Ω m r 2 R m r 4 C d 0 ( 1 + 7 μ 2 / 3 ) / 4 F X m r = - T m r s i n a 1 s c o s b 1 s F Y m r = T m r s i n b 1 s c o s a 1 s F Z m r = - T m r c o s a 1 s c o s b 1 s L m r = F Y m r h m r + b 1 s K β M m r = - F X m r h m r + F Z m r d m r + a 1 s K β N m r = Q m r
式中hmrdmr分别为XbYbZb方向上主旋翼桨毂中心与机体质心的距离,Kβ为桨毂扭转系数。

1.2 尾桨模型

尾桨的拉力Ttr计算与主旋翼拉力计算相同,由于其尺寸小且不存在周期变距,因此本文忽略尾桨的挥舞运动,仅考虑拉力作用。尾桨对机体的作用力FXtrFYtrFZmr与力矩LtrMtrNtr如下:
F X t r = F Z t r = M t r = 0 F Y t r = - T t r L t r = F Y t r h t r N t r = - F Y t r d t r
式中htrdtr分别为XbYbZb方向上尾桨中心与机体质心的距离。

1.3 机身模型

无人直升机的机身不具有机翼,因此可简化为机身只产生空气阻力,其在机体轴的三个分量如下:
F X f u s = - 0.5 ρ S x V u F Y f u s = - 0.5 ρ S y V v F Z f u s = - 0.5 ρ S x V ( w + v i , m r ) V = u 2 + v 2 + ( w + v i , m r ) 2
式中,Sx、Sy、Sz分别为机身前向、侧向、垂向阻力有效面积。

1.4 全机模型

在忽略机体产生弹性振动及变形的情况下,假设无人直升机是一个具有质量的对称的6 自由度刚体,那么转动惯量惯性积Ixy=Iyz=0,可得其在机体坐标系下所受的合力为
F= F x F y F z= F X m r + F X f u s - m g s i n θ c o s ϕ F Y m r + F Y t r + F Y f u s - m g c o s θ s i n ϕ F Z m r + F Z f u s + m g c o s θ c o s ϕ
无人直升机所受的合力矩为
τ= L M N= L m r + L t r M m r N m r + N t r
无人直升机运动一般可由沿重心的平动和绕重心的转动来共同描述。根据牛顿-欧拉方程,无人直升机非线性模型描述为
u ˙ v ˙ w ˙ p ˙ q ˙ r · ϕ ˙ θ ˙ Ψ ˙= v r - w q - g s i n θ + F x / m - u r + w p + g c o s θ s i n ϕ + F y / m u q - v p + g c o s θ c o s ϕ + F z / m q r ( I y y - I z z ) / I x x + L / I x x r p ( I z z - I x x ) / I y y + M / I y y p q ( I x x - I y y ) / I z z + N / I z z p + ( q s i n ϕ + r c o s ϕ ) t a n θ q c o s ϕ - r s i n ϕ ( q s i n ϕ + r c o s ϕ ) s e c θ
其中IxxIyyIzz是无人直升机绕机体坐标轴XbYbZb的惯性矩。根据上述方程和其他相关计算可得到一个无人直升机的数学模型。

2 模糊PID控制器设计

用经典PID控制方法进行无人直升机的姿态控制时,如果当前姿态角实际值和目标值的差值太大,由于存在角速率阻尼的影响,使得系统无法及时响应,因此可用自适应能力较强的模糊控制器进行改进[7]。模糊PID控制器为经典PID控制器和模糊控制算法的结合,结构如图2所示。
图2 模糊PID控制器结构
PID 控制器的形式为
u(k)=kpe(k)+ki∑e(k)+kdec(k)
本文设计的模糊PID控制器包括两个输入和三个输出,两个输入量为偏差e及偏差变化率 ec;三个输出量为PID控制器三个参数kpkikd的调整量Δkp、Δki、Δkd。对输入进行模糊推理,得到三个 PID控制器的参数修正量,从而达到实时调参,表达式为:
k p = k p 0 + Δ k p k i = k i 0 + Δ k i k d = k d 0 + Δ k d

2.1 确定模糊控制器的输入、输出变量及范围

针对本文研究的模糊PID姿态制器,设计如下:选用无人直升机期望姿态角ϕ和实际姿态角ϕc的误差e=ϕ-ϕc及其误差变化率ecϕ作为输入变量,把该姿态角PID控制器的三个参数调整量作为输出变量。
本文选取输入量姿态角误差e的论域为[-15,15],误差变化率ec的论域为[-30,30];输出量Δkp的论域为[-3,3],输出量Δki的论域为[-1,1],输出量Δkd的论域为[-1,1]。

2.2 隶属度函数建立

根据精度要求,设定输入变量eec和输出变量Δkp、Δki、Δkd语言值的模糊子集为{负大,负中,负小,零,正小,正中,正大},简记为{NB,NM,NS,ZO,PS,PM,PB}。两者隶属度函数均选为在论域范围内均匀分布的三角形函数,其对各个动作分区明显,灵敏度高。

2.3 模糊规则建立

综合考虑系统的动态和静态性能指标,同时参考文献[7]中的规则,制定模糊控制规则表,如表1至3所示。
表1 Δkp的模糊控制规则
e ec
NB NM NS ZO PS PM PB
NB PB PB PM PM PS ZO ZO
NM PB PB PM PS PS ZO NS
NS PM PM PM PS ZO NS NS
ZO PM PM PS ZO NS NM NM
PS PS PS ZO NS NM NM NM
PM PS ZO NS NM NM NM NB
PB ZO ZO NM NM NM NB NB
表2 Δki的模糊控制规则
e ec
NB NM NS ZO PS PM PB
NB NB NB NM NM NS ZO ZO
NM NB NB NM NS NS ZO ZO
NS NB NM NS NS ZO PS PS
ZO NM NM NS ZO PS PM PM
PS NM NS ZO PS PS PM PB
PM ZO ZO PS PS PM PB PB
PB ZO ZO PS PM PM PB PB
表3 Δkd的模糊控制规则
e ec
NB NM NS ZO PS PM PB
NB PS NS NB NB NS NM ZO
NM PS NS NB NM NS NS ZO
NS ZO NS NM NM NS NS ZO
ZO ZO NS NM NM NS NS ZO
PS ZO ZO ZO ZO ZO ZO ZO
PM PB NS PS PS PS PS PB
PB PB PM PM PM PS PS PB

3 基于遗传算法的模糊PID控制器设计

3.1 遗传算法的基本原理

遗传算法是一种参考优胜劣汰自然规律演变而来的随机搜索优化方法,其模拟一个人工种群的经过选择、交叉以及变异等遗传算子,在每次迭代后都生成一组较优的候选个体。种群在若干代进化后,理想情况下能够得到适应度达到近似最优的个体[8]

3.2 基于遗传算法的模糊PID控制器结构

模糊PID控制中的参数大多依赖专家和工程经验,缺乏客观性[9],因此,优化模糊PID控制参数对提高其控制效果与控制精度具有重要意义。
本文同时优化模糊PID控制器的量化因子、比例因子以及隶属度函数参数,设计基于遗传算法的模糊PID控制器结构如图3所示。
图3 基于遗传算法优化的模糊PID控制器结构

3.3 遗传算法优化模糊PID设计

3.3.1 参数编码

1)KeKecKu的优化编码
模糊 PID 控制器的量化因子KeKec和比例因子Ku都会直接影响控制器的输出结果。其中,Ke越大,响应速度越快,但是Ke过大时,系统会产生超调甚至出现振荡,Kec与之相反。而Ku作为输出的比例因子主要影响整个系统的输出结果,Ku越大,响应越快,但是Ku过大时,则会产生振荡。通过对KeKecKu参数的寻优,可以弥补原始模糊控制器的不足。本文中量化和比例因子采取实数编码方式,表达式为{Ke,Kec,Ku}。
2)隶属度函数的优化编码
本文中选用的三角形隶属度函数,如图4所示,其形状由三个顶点的位置的横坐标确定,考虑到同时优化各模糊子集的隶属度函数参数时,会产生待寻优参数较多,所需时间长,算法效率不高的问题。因此需要对寻优参数个数进行合理限制。
图4 三角形隶属度函数
模糊论域划分一般关于原点对称,本文所选用的三角形隶属度函数的顶点可由{x1,x2,x3…}唯一确定,那么可以选取每个形状位于x轴上的两个顶点间距离作为优化参数,只需对两点间的距离{xe1,xe2,xe3…}进行编码,可以大大提高算法的效率。因此,隶属度函数待优化参数编码表达式可写作{xe1,xe2,xe3,xec1,xec2,xec3,xu1,xu2,xu3}。前三位、中间三位和后三位依次是对误差e、误差变化率ec、输出调整量u的隶属度函数参数的编码。
综上所述,将因子和隶属度参数共同编码,得到最终用于迭代寻优的染色体字符串,即
{ K e , K e c , K u , x e 1 , x e 2 , x e 3 , x e c 1 , x e c 2 , x e c 3 , x u 1 , x u 2 , x u 3 }

3.3.2 适应度函数选取

选用目标函数为
Ft= 0 t|e(t)|dt
该目标函数适用于控制系统的优化,具有良好的效果,能够综合评价系统的响应速度、超调量等性能指标[10]。本文的目标是要期望与实际姿态角的差值最小,因此选取目标函数的倒数作为适应度值函数,即
f= 1 0 t | e ( t ) | d t

3.3.3 确定遗传算法的运行参数

运行参数包括种群大小M、遗传代数T、变异概率pm、交叉概率pc等。其中种群大小和遗传代数对结果和计算时间都有影响, MT太小优化结果不理想,太大则迭代所需时间较多。根据经验M应取在16到150 之间,一般由实际情况确定。交叉概率pc较大时,重组个体出现的概率大,收敛快;但同时新旧替换过快,使得一些较优的个体可能过早淘汰了。根据经验pc应选择在0.3到0.9之间。突变发生的概率很低,其概率pm一般pm取在0. 005 到 0. 3之间[11]
本文改进了遗传算法中交叉概率和变异概率不变的方法,将其设定为随着个体适应度值变化而变化的函数,公式如下:
pc= P c m i n + ( P c m a x - P c m i n ) ( f m a x - f a ) f m a x - f a v g ( f a f a v g ) P c m a x ( f a < f a v g )
其中,Pcmin,Pcmaxpc变化的最小值和最大值,fmax为种群中的最大适应度值,fa为进行交叉操作的两个个体中最大的适应度值,favg为种群适应度值的平均值。
pm= P m m i n + ( P m m a x - P m m i n ) ( f m a x - f b ) f m a x - f a v g ( f b f a v g ) P m m a x ( f b < f a v g )
其中,Pmmin,Pmmaxpm变化的最小值和最大值,fb为进行变异操作的个体的适应度值。
综上所述,根据实际情况,设定本文中M=100,T=50,Pcmin=0.3,Pcmax=0.9,Pmmin=0.05,Pmmax=0.3。

3.4 基于遗传算法的无人直升机模糊PID姿态控制

遗传算法优化无人直升机模糊PID姿态控制器过程如下:
Step 1:根据制定好的编码方式和确定选取的参数初始化种群和算法参数;
Step 2:根据适应度值函数计算种群中每个个体的适应度值,保存并更新最优个体及其适应度值;
Step 3:对种群进行选择、交叉、变异操作,形成下一代种群;
Step 4:判断是否达到规定的遗传代数,若是达到,则结束循环,否则返回Step 2;
Step 5:对选出的最优个体进行解码,配置模糊PID控制中的量化、比例因子和隶属度函数,得到优化后的模糊PID控制器。
整体模型结构图如图5所示,输入为姿态角的目标值,基于遗传算法的模糊PID控制器将结果输入至舵机回路及无人直升机模型中,从而得到实时姿态角的值,然后将该角度反馈至控制器中构成控制闭环回路,其中f为扰动。
图5 直升机姿态角跟踪结构图

4 仿真试验结果与分析

为了验证上述设计的有效性并分析改进后控制策略的效果,在Matlab2016a的环境下,根据已完成的无人直升机模型和控制律设计方法,对无人直升机姿态控制进行仿真,通过分别比较前述模糊PID控制和遗传算法优化后的模糊PID控制策略的对于某型无人直升机姿态的控制效果以验证本文设计控制算法的优越性。

4.1 两种控制器效果对比

无人直升机飞行仿真初始状态选取定速、定高、直线且无倾斜无侧滑飞行作为基准运动,即v0=10 m/s,初始姿态角ϕ0=θ0=ψ0=0°,飞行高度h0=50 m。在无扰动的情况下,开始仿真时给ϕθψ三个姿态角依次分别输入一个幅值15°的阶跃信号,得到模糊PID控制方法和遗传算法优化后控制方法的控制效果仿真对比,如图6所示。为了更好验证控制器效果,给出两组对比数据,如表4所示。
图6 输入阶跃信号时两种控制器控制效果仿真对比图
表4 输入15°时两种控制器性能参数对比
上升时间/s 超调量/% 调节时间/s
俯仰角 模糊PID 0.76 17.5 4.83
优化方法 0.55 10.3 4.16
滚转角 模糊PID 0.91 19.8 7.44
优化方法 0.73 9.7 3.64
偏航角 模糊PID 0.34 8.3 2.07
优化方法 0.31 4.8 0.36
可见,单纯的模糊PID控制器尽管拥有较好的控制效果,但是超调量均略大于优化改进后的控制器,且响应时间相比较长,对于俯仰角和滚转角的控制效果较为明显,优化后的控制器则能更好地满足无人直升机姿态控制对时效性的要求。由此可知,两种控制器都能较好地完成响应动作,改进后的控制器相较模糊PID控制器响应时间更短,超调更小,跟踪效果更好。仿真结果表明,遗传算法优化后的无人直升机模糊PID姿态控制器具有更优的性能。

4.2 改进模糊PID加入噪声扰动时的仿真实验

无人直升机具有易受外界干扰的特性[12],有限带宽白噪声包含各平权的频率信号,可在仿真中作为随机干扰信号以考核系统的跟踪性能。因此在所选用的仿真模型中加入有限带宽白噪声干扰以验证本文改进控制器的效果,选取的模块噪声强度设置为0. 03,采样时间设置为0. 01 s,生成随机数的初始值设置为默认值23341,信号显示如图7所示。在仿真过程中,依次给直升机的三个姿态角通道输入幅值为10°,延迟时间为5 s的阶跃响应信号,得到如图8所示的姿态角跟踪曲线。
图7 有限带宽白噪声干扰显示图
图8 白噪声干扰下输入阶跃信号时姿态角的跟踪曲线
进一步地,保持控制器和白噪声干扰不变,依次给无人直升机的三个姿态角通道输入幅值为10°,角频率为0.8,初始相位为0的正弦信号以验证实时控制效果,响应跟踪曲线如图9所示。
图9 白噪声干扰下输入正弦信号时姿态角的跟踪曲线
由此可见,在阶跃信号和正弦信号输入时,引入的白噪声干扰并没有对姿态角的响应速度和稳定性造成明显影响,且当正弦信号输入时,差值稳定在2°以内,跟踪效果好。本文提出的算法优化后的控制方法在干扰条件下对姿态角的跟踪具有快速性和准确性。

5 结束语

本文首先介绍了无人直升机的动力学模型,然后针对无人直升机控制的特点,根据专家知识和直升机操作经验设计模糊PID姿态控制器,之后,针对该控制器的不足利用遗传算法进行优化设计。对比模糊PID和遗传算法改进后的模糊PID两种控制器的控制结果发现,在改进后的控制器作用下,姿态角响应速度更快,稳定性更好。在加入扰动的情况下,该控制器对给定的阶跃信号做出快速且准确的响应。因此本文所提出的基于遗传算法的无人直升机模糊PID姿态控制方法具有更优的控制性能。
[1]
Mettler B, Tischler M, Kanade Tand Messner W. Attitude Control Optimization for A Small-Scale Unmanned Helicopter[C]. In:Proc of American Institute of Aeronautics and Astronautics Guidance, Navigation and Control Conference, Denver, 2000:1-4.

[2]
曾丽兰, 王道波, 郭才根, 等. 无人驾驶直升机飞行控制技术综述[J]. 控制与决策, 2006, 21(4):361-366.

[3]
Gautam D, Cheolkeun H. Control of a Quadrotor Using a Smart Self-Tuning Fuzzy PID Controller[J]. International Journal of Advanced Robotic Systems, 2013, 10(6):1-9.

DOI

[4]
李岩. 模糊PID控制在液位控制中的应用[D]. 合肥: 合肥工业大学, 2008.

[5]
Ye J, Tang S, Zhang L, et al. Fuzzy Control of Small-Scale Unmanned Helicopter[C]. In:Proc of 25th Chinese Control and Decision Conference (CCDC), Guiyang, 2013:3040-3045.

[6]
刘宇博. 小型无人直升机自抗扰飞行控制系统设计[D]. 南昌: 南昌航空大学, 2017.

[7]
Kadmiry B, Driankov D. A Fuzzy Gain-Scheduler for the Attitude Control of an Unmanned Helicopter[J]. IEEE Transactions on Fuzzy Systems, 2004, 12(4):502-515.

DOI

[8]
边霞, 米良. 遗传算法理论及其应用研究进展[J]. 计算机应用研究, 2010, 27(7):18-23.

[9]
聂放, 周晓光, 代爱妮, 等. 基于遗传算法优化的模糊PID控制在粮食干燥中的应用[J]. 软件, 2017, 38(12):37-41.

[10]
肖长诗, 毛贻汉, 元海文, 等. 风扰条件下四旋翼无人机智能控制算法的设计与仿真[J]. 计算机科学, 2018, 45(5):317-323.

[11]
张斌. 参数对简单遗传算法性能的影响[J]. 榆林学院学报, 2008, 18(4):48-49.

[12]
杨一栋. 直升机飞行控制[M]. 北京: 国防工业出版社, 2015.

[13]
张娓娓, 袁路路. 基于遗传优化模糊PID算法的温室智能控制系统研究[J]. 农机化研究, 2017, 39(7):209-213.

[14]
王延年, 张豪, 耿琅环, 等. 遗传算法优化模糊PID控制器在智能液压伺服控制系统中的应用[J]. 国外电子测量技术, 2018, 37(12):125-128.

[15]
Wang Z, Zhang L, Peng Z. Design of Fuzzy PID Excitation Control Based on PSO Optimization Algorithm[J]. Journal of Hunan University, 2017, 44(8):106-111,136.

[16]
毛赫, 王冠凌, 郁书好. 模糊PID控制算法的优化及其在无人机中的应用[J]. 山东师范大学学报(自然科学版), 2018, 33(1):82-87.

Outlines

/