四轴飞行器串级ADRC轨迹跟踪控制
2019-07-04胡文华曹仁赢
胡文华,曹仁赢
(华东交通大学电气与自动化工程学院,江西 南昌,330013)
四轴飞行器具有功能多样、飞行灵活、能垂直起降的特点,在基础设施建设、农业、能源、公共安全、新闻媒体等领域已获得广泛应用。从控制角度出发,四轴飞行器为欠驱动、强耦合、非线性的复杂系统,难以精确建模,同时易受外部环境的干扰。四轴飞行器最传统的控制方法是PID控制。文献[1]在PID控制基础上加入限制积分饱和的模块,以避免系统产生超调,但外部干扰会影响飞行器的稳定性;文献[2]针对姿态角速率、姿态角分别设计内环LQR(线性二次型调节器)控制以及外环PID控制的双回路闭环控制器,改善了系统的控制性能,但LQR本质上依然是线性控制,模型不确定对其控制效果有较大影响;文献[3]采用鲁棒控制,对外界干扰和负载不确定具有一定的适应性;文献[4]采用自抗扰控制(active disturbance rejection control, ADRC)技术,并使用粒子群算法对ADRC参数自整定,既利用了ADRC的抗干扰性能,也解决了ADRC参数过多、整定费时、难以获得最优解的问题,具有重要借鉴意义;文献[5]采用有限时间反步控制并结合辅助输入饱和补偿器,避免了旋转运动的奇异性;文献[6]将反步法和滑模控制相结合,并将定位算法扩展到无人机中,提高了非线性控制器的控制性能。
1 四轴飞行器建模
通过动力学和运动学分析,根据牛顿-欧拉方程建立四轴飞行器的数学模型[7]:
(1)
(2)
2 串级自抗扰控制器设计
2.1 控制结构
图1 四轴飞行器串级自抗扰控制结构
2.2 非线性自抗扰控制器原理
非线性ADRC由跟踪微分器TD、扩张状态观测器ESO、非线性状态误差反馈律NLSEFCL三部分组成。本文设计的内环非线性ADRC的基本结构如图2所示。
图2 内环自抗扰控制结构
(1)二阶跟踪微分器TD
根据设定值vd安排过渡过程vd1,并提取其微分信号vd2。
(3)
式中:h为步长;h0为滤波因子;r决定微分器对输入信号的跟踪速度,称为速度因子;fst是非线性的最速控制综合函数,其一般形式为fst(x1,x2,r,h),定义如下:
(4)
(2)扩张状态观测器ESO
根据被控对象的输入u、输出w估计出被控对象状态z1、z2以及对象受到的总扰动量z3。
(5)
式中:β01、β02、β03是大于零的参数,其选取原则可参考文献[8];0<α1、α2<1,通常取α1=0.5,α2=0.25;b为常数;δ为fal函数线性区间宽度,fal函数定义为:
(6)
式中:α一般取值为0.5。
(3)非线性状态误差反馈律NLSEFCL
根据输入到NLSEFCL中的误差e1、e2以及ESO输出的z3来决定被控对象的最终控制量u:
(7)
式中:fal函数定义和式(6)中的一致,但α取值不同。选取合适参数β1、β2,即可实现对积分串联对象的非线性控制。
2.3 线性自抗扰控制器原理
线性ADRC由跟踪微分器TD、扩张状态观测器ESO和线性状态误差反馈律LSEFCL三部分组成,其中TD和ESO与非线性ADRC的一致,而线性状态误差反馈律为:
(8)
式中:b1、b2分别为比例和微分系数;e1、e2、b的定义与非线性ADRC中类似;u为最终输入到飞行器的控制量,通过控制无刷直流电机的调速器,调整旋翼桨叶的速度,即可对飞行器的飞行状态进行控制。
3 改进粒子群算法
本文采用文献[9]中的改进粒子群算法,该算法是在标准粒子群算法的基础上,对速度更新公式中的惯性权重ω进行改进,根据粒子与全局最优粒子的距离动态改变惯性权重,同时引入杂交变异算子,增加迭代后期的粒子多样性。
在标准粒子群算法中,惯性权重ω是一固定值,而改进粒子群算法中惯性权重的计算公式为:
(9)
其中,
(10)
(11)
式中:Lki表示第k次迭代后粒子i(最优粒子除外)与当前全局最优粒子的距离;Lki,max、Lki,min表示粒子i经过k次迭代后的最大和最小Lki值;Tmax为最大迭代次数;ωmax、ωmin为最大和最小惯性权重值。
适应度函数选取ITAE指标,其定义为:
(12)
式中:t为时间;e(t)为误差。
改进粒子群算法的具体流程为:
(1)随机初始化种群,包括50个粒子,每个粒子有4个维度,将其作为参数载入四轴飞行器Simulink仿真模型,得出适应度值,并选出个体的历史最优和种群的全局最优;
(2)计算各个粒子与当前全局最优粒子的距离,更新下一次迭代过程中各粒子的惯性权重ω;
(3)更新每个粒子的位置和速度,并计算适应度值;
(4)若该粒子当前适应度值比其历史最优值好,则用当前值取代历史最优值;
(5)若该粒子历史最优值比全局最优值好,则替代全局最优值;
(6)判断是否满足杂交条件即连续10代全局最优值保持不变,若满足则执行第(7)步,否则执行第(8)步;
(7)从当前50个粒子中选取20个较优粒子杂交产生新粒子,替换旧粒子,转到第(2)步;
(8)判断是否达到最大迭代次数,是则输出全局最优值,否则转到第(2)步。
4 Simulink仿真
根据四轴飞行器数学模型和实验室的四轴飞行器实际参数(见表1),采用Simulink软件进行仿真实验。
表1 四轴飞行器参数
4.1 飞行器定点悬停能力
为测试基于串级ADRC的四轴飞行器悬停能力,将飞行器初始位置定为原点O(0,0,0),设定其飞向指定的三维空间位置A(2,3,3.5),仿真结果见图3。从图3可以看出,飞行器在3 s内即可到达预设空间位置A,且超调量在3%以内。图4为四轴飞行器的偏航角变化曲线,由图4可知,Ψ通道仅靠单ADRC即可以获得精确快速的偏航角控制。
图3 四轴飞行器的位置变化曲线
图4 四轴飞行器的偏航角变化曲线
采用改进粒子群算法的参数优化曲线如图5所示,适应度函数值的变化如图6所示。从图5、图6中可知,改进粒子群算法收敛速度很快。
图5 参数优化曲线
图6 适应度值变化曲线
4.2 飞行器指令跟踪能力
图7 x轴轨迹跟踪
图8 y轴轨迹跟踪
图9 z轴轨迹跟踪
图11 俯仰角变化曲线
图12 翻滚角变化曲线
4.3 飞行器抗干扰能力
图13 噪声干扰
从图14可以看出,在外部干扰下,基于串级ADRC的四轴飞行器轨迹偏离很小,可以忽略不计,而基于串级PID控制的飞行器产生较大的抖动,由此证明本文提出的串级ADRC的抗干扰性能优于串级PID控制,即具有良好的鲁棒性。
图14 噪声干扰下的四轴飞行器轨迹跟踪
Fig.14 Trajectory tracking of quadrotor subjected to noise interference