1. 引言
据不完全统计,四旋翼无人机凭借其自身欠驱动系统的优势,受到了多个领域的关注和应用,其中在军用和民用领域应用最为广泛 [1]。从特性的角度分析,除了欠驱动和抗干扰能力强的特征之外,还具有非线性和强耦合的特征 [2] [3],正是由于这些特征,为其姿态控制增加了难度,且传统的控制方式并不能达到预期的控制效果。伴随着科学技术的发展,韩京清先生在该领域中经过反复验证并提出的自抗扰控制方法,这一方法受到了广泛的应用,并且在理论和实践中都获得了突破性的成果。自抗扰控制器可以自动检测系统模型的实时状态,将内扰、外扰、未建模动态以及其他影响直接作为总扰动,将扩张状态观测器的估计补偿作用充分发挥出来,以达到控制品质的要求 [4]。
据调查,国内外针对改进自抗扰控制器的研究脚步始终未停歇,改进的程度不同,所得的结果也就不同。刘刚等人应用ADRC和PID控制相结合的方法,结果显示,控制效果显著。但在研究的过程中仅凭经验和人工试凑的方式对参数进行整定,不适用于实际生产 [5]。陈志旺等人改进ADRC中的fal函数进行抗干扰效果探究,尽管效果有所提升,但其实际参数整定的过程异常繁琐,这就会降低其研究结果的优势 [6]。汤帅等人引采用的是线性自抗扰算法,尽管在参数整定的工作量有所改善,但是产生了系统带宽与对噪声敏感程度之间的矛盾 [7]。而康忠健等人将自适应及混沌移民概念与遗传算法相结合用于自抗扰参数的优化,尽管效果理想,但是在编程、求解过程等方面都存在着缺陷,阻碍了算法的应用 [8]。
本文目的是运用简单易行的寻优算法降低自抗扰控制器人工调参的工作量,并将其与常用的人工调参经验和公式推导相结合的方法对比,验证控制效果。在熟悉自抗扰控制器人工调参的基础上,采用遗传算法对自抗扰控制器进行参数寻优,可以大大减轻人工调参的工作量,能做到快速确定自抗扰控制器参数,具有很强的实用性。与此同时,经过仿真实验证明,设计的GA-ADRC控制器也具有更好的控制效果。
2. 四旋翼无人机建模
2.1. 动力学建模
四旋翼飞行器具有强耦合和非线性的特征。通过对其推导方式的分析,可将其分为牛顿–欧拉方程和欧拉–拉格朗日方程两种。本文在研究的过程中,动力学方程的推导系统选定为牛顿–欧拉方程。对四旋翼飞行器的分析后发现,尽管在四旋翼飞行器模型建立及控制算法研究的方面较为便利,但实际飞行过程受其他很多因素的影响,基于此,针对建模工作制定出以下假设:
1) 四旋翼飞行器作为一个刚体,左右两边是均匀对称的。
2) 坐标系原点与飞行器质点的位置是在同一处的。
3) 飞行器在空中运动时所受到重力和空气阻力始终不会发生变化。
2.2. 四旋翼在不同坐标系下的状态量
四旋翼无人机的姿态角由机体坐标系与地面坐标系之间的关系确定,即欧拉角(Eulerangles),如图1所示,包括:俯仰角、偏航角、滚转角。通过分解地面坐标系下的飞行器速度可以获得机体坐标系下三轴上的速度分量(u, v, w),根据相同的分解方法,可以得到机体坐标系下的角速度分量(p, q, r)。
根据以上假设,可以使用下列公式描述四旋翼无人机动力学模型 [9] :
(1)
(2)
其中,Ix代表的物理含义是惯性力矩x轴的分量;Iy代表的物理含义是惯性力矩y轴上的分量;Iz代表的物理含义是惯性力矩z轴上的分量;m代表的物理含义是飞行器的质量;J则代表的是旋翼转动惯量;l表示的是无人机质心和旋翼中心的距离;g表示的是重力加速度;U代表不同通道输入控制量;b表示的是升力系数;d表示的是阻力系数;Ωi表示的是不同旋翼转动速度的大小。
3. 基于ADRC的四旋翼飞行器控制
3.1. 自抗扰控制器的基本原理和结构组成
跟踪微分器(TD)、扩张状态观测器(ESO)以及非线性状态误差反馈(NLSEF)等三部分共同组成了自抗扰控制器。如图2所示即为自抗扰控制原理图;图中,v0代表的是自抗扰控制器输入指令;u、y分别代表的是被控对象的输入量与输出量。
因此,自抗扰控制器可以通过下式计算最终控制量的大小
(3)
跟踪微分器的作用是为输入信号安排过渡过程产生v1,并获取微分信号v2。通过这样的方式可以显著降低系统的超调输出,并可以在一定程度上提高系统稳定性。
扩张状态观测器是ADRC的关键部分,该部分通过双通道补偿的方法将非线性系统转化为线性化系统。
非线性误差反馈则是通过非线性组合的方式获取u0。
![](//html.hanspub.org/file/3-2740249x14_hanspub.png)
Figure 2. Schematic diagram of ADRC control
图2. 自抗扰控制原理图
通过分析上图可知,自抗扰控制器的二阶离散化可以用下式表示 [10]。
1) 跟踪微分器设计:
(4)
上式中,h表示的是时间步长;r代表的是速度因子;fst则表示最速下降函数,可表达为:
(5)
2) 扩张状态观测器设计:
(6)
(7)
上式中,e表示的是误差量;a代表的含义是设计参数;d则表示的含义是滤波因子;β01、β02、β03均为待整定参数;b0表示的是设计参数,本文选择0.06。
3) 非线性误差反馈设计:
(8)
上式中,β1、β2均代表的是待整定参数;a1、a2均表示的是设计参数。
3.2. 基于ADRC的四旋翼无人机姿态控制器模型
通过分析四旋翼飞行器的数学模型,结合ADRC的姿态控制理论,设计了:滚转、俯仰、偏航等3个通道。图3描述的是系统结构:
![](//html.hanspub.org/file/3-2740249x20_hanspub.png)
Figure 3. Quad-rotor controller structure based on ADRC
图3. 基于ADRC的四旋翼控制器结构
ADRC1表示的是俯仰回路;ADRC2表示的是偏航回路;ADRC3表示的是滚转回路。输入的θ、φ、ψ分别为期望的俯仰角、滚转角和偏航角。而从模型中返回的θd、φd、ψd分别为实际的俯仰角、滚转角和偏航角。
图4描述的是俯仰回路ADRC控制器结构:
![](//html.hanspub.org/file/3-2740249x21_hanspub.png)
Figure 4. ADRC controller structure of pitch loop
图4. 俯仰回路ADRC控制器结构
以俯仰角为例,本文选定的b为1,控制算法可用下式表示 [4] :
(9)
4. 基于遗传算法的自抗扰控制器结构设计
4.1. 遗传算法概述
具体操作的过程中,由于自抗扰参数数量过多,人工调整参数过于复杂。所以,可以通过设计合理的算法减少手工调参的任务量。本文使用的算法类型为遗传算法,通过该算法获取最优解。这一算法是基于“物竞天择,适者生存”的理论编写的全局优化随机搜索方法,能够根据条件限制进行自然选择、较差或者变异等,确保每一代都能够向着更强的适应性方向发展。
以下是遗传算法的全部流程:
1) 按照实际问题要求调整参数进行编码操作;
2) 生成初始种群,设计最大进化数K的数值,并选定0为进化代数计算器k的数值大小。
3) 根据公式计算出群体内所有个体的适应度大小。
4) 通过选择算法获得后代。
5) 通过设置交叉概率Pc获得后代。
6) 通过设置变异概率Pm获得后代。
7) 如果满足k < K,则令k = k + 1,重新执行步骤(3),如果不满足,便执行步骤(8)。
8) 最优解通常是输出种族适应度最大的染色体。
图5描述的是遗传算法具体的流程图。
4.2. 基于遗传算法的自抗扰参数优化设计
对于二阶ADRC来讲,共有14个参数需要设定及调节。需要依据跟踪微分器的过渡过程的需求来确定速度因子r的大小。而滤波因子h的取值取决于r的大小,二者呈负相关。它们作为外部调整参数,不参与参数寻优。
β01、β02、β03这三个参数是扩张状态观测器中必须进行调整的。而非线性误差反馈控制率中也存在β1、β2必须进行调整的。因此要获得最佳的控制效果,必须要切实协调组合的参数就是这五个,并且在具体操作的时候极其复杂。人工调参都是经过经验试凑的方法,但是这种方式不但复杂,并且,在通常情况下预期的控制目标无法实现。基于此,本文用采用遗传算法对自抗扰控制器中的五个参数进行自动寻优,以下为核心的设计过程。
1) 应以掌握手工调参为前提,将约束变量的范围明确。针对当前模型,依据人工调参的经验估计出的参数上下区间辅以参数间的相互影响关系,设计变量范围为:
(10)
2) 确定目标函数。其中e0为误差绝对值,Mp为超调量的时间积分性能指标。二者结合,构造出最小目标函数。
(11)
ω1、ω2分别为0.8与0.5。
3) 明确解码及编码的方式。为了便于日后运算和解码而选择了二进制编码法。
4) 对个体评价法进行明确,建立相关的适应度函数:
(12)
目标函数最大的是F0。
5) 设定运行参数,具体值为:
初始种群
,交叉概率
,变异概率
。
6) 明确终止条件(运行)。如若某值的附近有群体当中大部分个体所对应的适应度值,则是此算法的终止条件。
图6为基于遗传算法优化自抗扰参数的原理图。
![](//html.hanspub.org/file/3-2740249x30_hanspub.png)
Figure 6. Schematic diagram of parameter optimization of ADRC controller based on GA
图6. 基于遗传算法的自抗扰控制器参数优化原理图
原理为:ADRC的三组输入值分别为:期望的欧拉角、四旋翼对象输出的实际欧拉角及使用遗传算法计算输出的第一组参数值。经ADRC生成对应的力与力矩,它们作用在四旋翼上可以得到实际的欧拉角。实际的欧拉角与期望的欧拉角通过计算可以得到目标函数。最终使用遗传算法多次迭代,得到一组最优参数值。最后,将这组最优值反馈给ADRC。
5. 数值仿真研究
首先,在人工调参经验基础上,针对当前模型,依据变量间的数学关系可推导出一组控制效果较好的ADRC参数值。此法不仅需要大量的人工调节,还需要进行繁琐的公式推导,不利于实际应用。
其次,利用MATLAB的Simulink模块构建了基于ADRC的四旋翼无人机姿态控制仿真模型,如图7所示:
![](//html.hanspub.org/file/3-2740249x31_hanspub.png)
Figure 7. Simulation model of a quad-rotor based on ADRC
图7. 基于自抗扰控制器的四旋翼仿真模型
对于自抗扰控制器,需要设置的参数有:
跟踪微分器的时间步长h,本文选定的参数值为0.05;速度因子r,本文选定的参数值r为2;扩张状态观测器滤波因子d,本文选定的参数值d为0.01;
非线性误差反馈a1为0.5,a2为1.5;
表1是五个需要进行优化的参数值:
![](Images/Table_Tmp.jpg)
Table 1. Data sheet of attitude controller parameter
表1. 姿态控制器参数数据表
表1中,ADRC一行为采用公式推导所得参数,而GA-ADRC一行为遗传算法寻优后的参数值。
利用matlab进行仿真,设计输入信号为-3弧度至3弧度的方波信号,模拟出姿态角的极限范围以验证此方法的可行性。
模拟出的姿态角飞行数据曲线如图8~10所示:
通过分析实验数据发现,四旋翼无人机俯仰角与滚转角波动和超调明显小于手工调参下的角度,且调节时间更短,具有更好的控制性能。
在飞行过程中,无人机一直处于平飞状态。为验证GA-ADRC的抗干扰性及鲁棒性能,于8 s处施加扰动,可得到施加扰动后的飞行数据曲线。如图11~13所示。
通过分析实验数据可以发现,与ADRC控制器相比,GA-ADRC中的俯仰角与滚转角能更快的恢复稳定,有更好的抗干扰性和鲁棒性。
![](//html.hanspub.org/file/3-2740249x32_hanspub.png)
Figure 8. Flight data curve of pitch angle
图8. 俯仰角的飞行数据曲线
![](//html.hanspub.org/file/3-2740249x33_hanspub.png)
Figure 9. Flight data curve of roll angle
图9. 滚转角飞行数据曲线
![](//html.hanspub.org/file/3-2740249x35_hanspub.png)
Figure 11. Flight curve of pitch angle after adding disturbance factors
图11. 添加扰动因素后俯仰角飞行曲线
![](//html.hanspub.org/file/3-2740249x36_hanspub.png)
Figure 12. Flight curve of roll angle after adding disturbance factors
图12. 添加扰动因素后滚转角飞行曲线
![](//html.hanspub.org/file/3-2740249x37_hanspub.png)
Figure 13. Flight curve of yaw angle after adding disturbance factors
图13. 添加扰动因素后偏航角飞行曲线
6. 结论
本文首先设计了基于自抗扰控制的四旋翼无人机的姿态控制模型。其次,由于ADRC参数繁多,手工调参过于繁琐的问题,使用遗传算法对ADRC的5个参数进行寻优,简化了控制器的设计。最后经过系统仿真,给出了寻优的仿真图和最终寻优参数。结果证明,采用遗传算法对自抗扰控制器参数进行寻优简单易行,只需进行简单的人工调参规范参数可行域,即可进行寻优工作,大大减轻了确定自抗扰控制器参数的工作量。此外,采用遗传算法优化后的自抗扰控制器对于常用的人工调参经验和公式推导相结合的方法,姿态控制具有更好的稳定性、抗干扰能力及鲁棒性。
本文对飞行过程中姿态角极限范围内进行研究,以验证GA-ADRC控制器的可行性、快速性和实用性。对于实际飞行来说,可按相关要求进行调整并进行寻优。
NOTES
*通讯作者。