摘要
本文研究四旋翼无人机在外部扰动影响下的轨迹跟踪问题, 提出一种基于MPC的迭代学习方法. 首先, 设计MPC控制器作为四旋翼无人机系统的反馈控制器, 且在MPC反馈环节引入预测误差进行反馈矫正. 在此基础上, 设计迭代学习控制器作为无人机系统的前馈控制器; 采用双曲正切函数对迭代学习控制器的学习增益进行优化, 减少迭代次数的同时能够提高轨迹跟踪精度. MPC反馈和迭代前馈的复合控制能够很好的克服外部扰动带来的影响, 实现无人机高精度的轨迹跟踪. 最后, 通过仿真验证本文所提方法的可行性和有效性, 通过实验对比, 本文设计的方法跟踪精度更高, 具有强鲁棒性.
Abstract
This paper investigates the trajectory tracking problem of quadcopter UAV under external disturbances and proposes an iterative learning control method based on MPC. Firstly, design the MPC controller as the feedback controller of the quadcopter UAV system, and introduce prediction error into the MPC feedback loop for feedback correction. On this basis, the iterative learning controller is designed as the feedforward controller of the quadcopter UAV system. Employing hyperbolic tangent function optimizes the learning gain of the iterative learning controller, which can reduce the number of iterations and improve trajectory tracking accuracy. The composite control of MPC feedback and iterative feedforward can effectively overcome the impact of external disturbances and achieve high-precision trajectory tracking of UAV. Finally, the feasibility and effectiveness of the proposed method are verified through the simulation. By the experimental comparison, the method designed in this paper has higher tracking accuracy and strong robustness.
1 引言
四旋翼无人机可以空中悬停,自由起降,并具有灵活性好、造价低和机动性强等特点 [1] . 四旋翼无人机是一个具有欠驱动、强耦合、非线性等特性的系统 [2] .四旋翼无人机如何在未知干扰情况下完成对期望轨迹的渐进跟踪,具有重要的理论研究意义和应用价值. 对于四旋翼无人机轨迹跟踪控制问题,已涌现出很多控制方法,如PID控制 [3-4]、模型预测控制 [5]、滑模控制 [6-7]、迭代学习控制 [8] 和强化学习方法 [9] 等.
MPC算法是一种基于数据和数学模型的方法,可用于对未知数据进行预测; 其优点在于其高准确性、快速性、可扩展性、可解释性和适应性 [10] . 模型预测控制能够处理非线性、约束和不确定等复杂的工程问题,因此很多研究人员将MPC算法应用于四旋翼无人机的系统控制. 文献 [11] 提出了无偏移MPC技术,解决了无人机存在各种不确定性和外部干扰的情况下的轨迹跟踪控制问题. 文献 [12] 考虑了无人机在时变信道下的跟踪控制问题,并提出了基于几何空间一致的MPC控制方法. 进一步,文献 [13] 提出轮廓MPC控制算法,实现了垂直起降无人机的高速轨迹跟踪. 文献 [14] 将高斯回归与MPC相结合,通过高斯回归补偿动力学误差,提出了在线高斯模型驱动的MPC控制方法. 文献 [15] 提出了结合干扰观测器的多无人机MPC 控制策略. 最近,基于滑模的MPC无人机跟踪控制方法被提出 [16] .
迭代学习控制(iterative learning control,ILC)具有较低的模型依赖、较强的鲁棒性以及较高的控制精度,这种控制方法适用于具有重复运动性质的被控对象,能够以非常简单的方式处理不确定度较高的非线性强耦合问题. 无人机的迭代学习控制也取得了一些结果,文献 [17] 提出了基于迭代学习的无人机自抗扰控制方法; 进一步,文献 [18] 提出了基于平滑迭代学习的无人机轨迹跟踪控制方法; 文献 [19] 提出了基于点对点轨迹更新跟踪的无人机编队迭代学习控制方法; 文献 [20] 提出了无人机轨迹跟踪的鲁棒迭代学习控制策略.
众所周知,对于四旋翼无人机轨迹跟踪问题,系统的鲁棒性和跟踪精度一直备受关注. 四旋翼无人机的运动容易受到外部扰动(如风、气流等)的影响,这会影响到轨迹跟踪的精度,而上述单一的MPC和ILC无法实现无人机在外部扰动下的高精度跟踪. 针对外部扰动带来的不利影响,如何联合MPC和ILC的各自优势实现无人机高精度轨迹跟踪,这一问题亟待解决且具有一定的挑战性. 本文在 MPC 中引入误差补偿机制,在ILC中使用双曲正切函数优化迭代学习增益,提出基于MPC的迭代学习控制方法,能够实现无人机在具有外部扰动的情况下的高精度轨迹跟踪.
在考虑外部扰动因素的情况下,本文提出一种 MPC迭代学习的四旋翼无人机轨迹跟踪控制方法. 与现有结果相比,本文提出的基于MPC反馈和ILC前馈结合的新方法能够提升无人机系统的鲁棒性,提高跟踪的准确性,能够很好地抵御外部扰动带来的影响. 与文献 [16] 和文献 [20] 中的方法相比,实验结果表明本文所提方法轨迹跟踪精度更高,且能够减少迭代次数,降低计算量. 本文主要贡献和创新性如下:
1)设计模型预测控制器作为四旋翼无人机轨迹跟踪的反馈控制器,且在MPC中引入误差补偿进行反馈矫正;
2)设计迭代学习控制器作为四旋翼无人机轨迹跟踪前馈控制器,且使用双曲正切函数优化迭代学习的控制增益,能够减少迭代次数,进而加快收敛速度;
3)首次在MPC框架内引入迭代学习子控制器,将模型预测反馈控制和迭代学习前馈控制相结合,提出一种基于MPC的迭代学习控制新方法,该方法可以应对外部扰动产生的影响且能够提高轨迹跟踪的精度.
2 问题描述
在建立四旋翼无人机模型之前,本文先做如下假设 [9] :
1)四旋翼无人机在起飞至降落过程中不会发生任何形变;
2)四旋翼无人机为完全对称系统,机体坐标原点为其质心. 四旋翼无人机的控制输入为
(1)
式中: Fi和Mi (i = 1,2,3,4)表示为4个旋转翼产生的拉力和4个转子产生的阻力矩; 控制输入u1表示z轴方向上的升力; 控制输入u2,u3和u4分别表示滚转角、俯仰角和偏航角方向上的力矩.
对于四旋翼无人机的模型的建立,在考虑外部扰动的情况下,使用牛顿第二定律得到位置模型,使用欧拉方程通过旋转矩阵(direction cosine matrix,DCM)将机体坐标转换成世界坐标得到姿态模型. 因此,得到四旋翼无人机位置和姿态的数学模型 [20]
(2)
其中: m为无人机的质量; ,,,,和分别表示四旋翼无人机对于机体坐标轴方向的加速度和3个欧拉角滚转角、俯仰角和偏航角的角加速度; Ix,Iy和Iz为四旋翼无人机3个机体坐标轴的转动惯量; g为重力加速度; dx,dy,dz,dφ,dθ和dγ分别为在3个位置和3个欧拉角方向上的扰动分量; l为四旋翼各旋翼的中心到其质心的距离.
定义状态向量和输出向量如下:
(3)
其中: c为4 × 12的输出矩阵; 矩阵c对应的元素c(1,3),c(2,4),c(3,5),c(4,6)等于1,其余元素为0.
控制目标: 设计模型预测控制器作为反馈控制器,且在MPC中引入误差补偿进行反馈矫正; 同时设计迭代学习控制器作为前馈控制器,且使用双曲正切函数优化迭代学习的控制增益. 在外部扰动存在的情况下,通过MPC迭代学习算法实现对四旋翼无人机的高精度轨迹跟踪.
3 控制方案
本文反馈控制器采用MPC算法,以z方向为例,根据四旋翼无人机位置模型式(2)可以得到z方向的子模型,如下:
(4)
将z方向子模型离散化成离散标定系统,公式如下:
(5)
其中: Az表示与Xz相关的雅可比矩阵; Bz表示与u1 相关的雅可比矩阵; Dz为z轴方向的扰动分量. 其中 Az和Bz的矩阵表示如下:
(6)
(7)
其中∆t表示为采样时间. 对离散化式(5)进行模型预测p个步长可以得到如下公式:

(8)
其中: p为模型预测的预测步长; M为模型预测的控制步长. 将式(8)简化成以下通式:
(9)
其中: i =(1,2,· · ·,p),j =(1,2,· · ·,M).
使用一阶滤波重新计算预测控制输出,目的是去除信号中的高频噪声以达到更好的控制效果,其表示如下:
(10)
其中: wz表示为在z方向上通过一阶滤波重新计算预测控制输出; α表示为滤波器系数,0 <α <1,α决定了当前的预测控制输出Xz值对未来预测控制输出的影响程度,滤波器中的α系数越大对于输入信号就越敏感,而α系数越小会使预测控制输出越平滑; Xzd表示为z方向上期望控制输出.
模型预测算法的目标函数由两部分构成,目标函数1是使预测控制输出趋近与期望轨迹,用期望轨迹与预测控制输出的差方表示,表达如下:
(11)
目标函数2是四旋翼无人机在轨迹跟踪过程中所需要的能量,表达如下:
(12)
由式(11)–(12)得到模型预测的目标函数
(13)
其中: q与r分别为目标函数1和目标函数2的权重系数; δ为松弛因子; ρ为松弛因子的权重系数. 为目标函数添加松弛因子的目的是为了防止控制器在求解过程中出现无法求解的情况. 将目标函数(13)用矩阵形式表示如下:
(14)
上式中: Xzd为p × 1的z方向期望控制输出矩阵; Wz 为p × 1的一阶滤波计算的z方向预测控制输出矩阵; Q为p × p的目标函数1中权重系数矩阵; U1为M × 1 的模型预测z方向控制输入矩阵; R为M × M的目标函数2中权重系数矩阵; p和M分别为预测步长和控制步长.
目标函数为二次多项式,将模型预测控制问题转化为如下的二次规划问题:
(15)
其中Ez = α(Xzd + ψzXz + Dz).
姿态方向上控制输入u2,u3和u4的求解的方法与 z方向上的控制输入u1类似,故可以得到
(16)
由于外界干扰对四旋翼无人机控制系统的影响,MPC计算的控制输出的预测值与实际值存在偏差,仅通过上述位置与姿态控制器和滚动优化求解的控制输入,无法保证四旋翼无人机能够准确跟踪期望轨迹,因此需要对位置和姿态控制器继续进行反馈矫正,以 z方向为例,引入预测误差如下:
(17)
预测误差是对位置与姿态上的MPC控制器预测的预测输出不准确现象的反映,所以使用预测误差来修整预测输出,矫正公式如下:
(18)
为了让无人机在迭代过程中能够快速的收敛,达到预期的跟踪效果,使用双曲正切函数来优化迭代学习增益,降低迭代次数,公示如下:
(19)
式中: 为自适应迭代学习控制第 k + 1 次输出; tanh x为双曲正切函数; ∆ek和∆ 分别为上次迭代跟踪误差和本次迭代跟踪误差的变化值、上次迭代跟踪微分误差和本次迭代跟踪微分误差的变化值,具体公式如下:
(20)
由于tanh x的值域为[−µ,µ],从而可以改变控制增益的倍数,加快四旋翼无人机轨迹跟踪的收敛速度.
综合上述公式,设计的MPC迭代学习控制器如下:
(21)
式中uk为MPC迭代学习控制器第k次的控制输入.
4 基于MPC迭代学习系统稳定性分析
定理 1 当四旋翼无人机初始状态位于 Xk(0)时,对其施加控制uk(t),如果四旋翼无人机控制系统满足以下条件:
1) 其中: ρ为谱半径,I为单位矩阵,c1和c2为MPC迭代学习算法中迭代学习增益矩阵,Wk= tanh(∆ek)和Lk= tanh(∆)为算法中自适应迭代学习增益矩阵;
2)外部扰动Dk有界,即 ;
3),则当k → ∞时,那么预测的控制输出趋近于期望输出.
证在第k + 1次的迭代学习控制误差为
(22)
式中: 为第k + 1次迭代控制输入与期望控制输入的差值; ud(t)为四旋翼无人机系统的期望控制输入.
四旋翼无人机控制系统的输出误差表示为
(23)
设四旋翼无人机控制系统的微分方程为
(24)
对上式微分方程求解可以得到
(25)
将上式带入到四旋翼无人机控制系统的输出误差式(23)中可得
(26)
对上式两边求导可得
(27)
将式(25)–(26)代入式(21)可得
(28)
对式(28)两端同乘e −λt,同时利用λ范数定义 [20]
(29)
式中,由范数定义可知
(30)
式中 选取足够大的λ [20],ρ的取值可以小于1,此时
(31)
进一步可以得到
(32)
因此,可证设计的MPC迭代学习控制算法收敛. 证毕.
5 仿真实验及分析
为了检验本文设计的 MPC 迭代学习算法的有效性,在未知扰动的情况下通过MATLAB仿真验证四旋翼无人机飞行轨迹跟踪的准确性和鲁棒性. 此外,还将本文所提方法和现有文献中的方法进行实验对比.
对于式(2)中四旋翼无人机系统的各项参数为: 重力加速度为9.8 m/s2 ; 机体质量为0.8 kg; 四旋翼机臂长度为 0.12 m; x轴的转动惯量为0.042 12; y轴的转动惯量为0.042 12; z轴的转动惯量为0.082 55,迭代算法中的kp为0.1,kd为10,tanh x中µ的值为1.
本文采用连续的位置、速度和加速度作为参考轨迹,使得四旋翼无人机的跟踪轨迹更加平滑
(33)
为了模拟外界风对四旋翼无人机产生的干扰影响,本文选取如下的扰动 [20]:
(34)
其中: Dz为轴的扰动分量; Dφ为滚转角扰动分量; Dθ 为俯仰角扰动分量; Dγ为偏航角扰动分量.
四旋翼无人机作为一个欠驱动系统,需要通过控制姿态角来控制x和y位置,将期望偏航角设为0 ◦,得到期望滚动角和俯仰角 [20]
(35)
图1为无人机三维运动轨迹,给出了期望、未迭代和第5次迭代后的3D轨迹跟踪对比图. 黑色曲线表示期望轨迹,红色曲线表示单一 MPC(未迭代)控制下的轨迹,绿色曲线表示的是本文提出的在第5次迭代后 MPC迭代学习控制下的轨迹. 由图1可见,本文所设计的方法和单一的MPC方法都能实现轨迹跟踪,但本文提出的方法在跟踪精度上显然优于单纯的MPC方法,MPC方法轨迹大体能跟上,但误差特别大. 因此,在外部扰动存在的情况下,本文所设计的基于MPC迭代学习控制方法具有较强的鲁棒性,跟踪精度高.
图1期望、未迭代和第5次迭代后的3D轴轨迹
Fig.1Expected, non-iterated and the5th iterations 3D trajectories
图2给出了z轴方向上的的期望、未迭代和第3与5 次迭代后的轨迹对比图. 由图2可知,第5次迭代后的 MPC迭代学习控制下轨迹基本完全重合与期望轨迹,表明其跟踪精度最高.
图
3–5分别给出了四旋翼无人机在滚转角、俯仰角和偏航角方向上的期望、未迭代和第3与第5次迭代后的轨迹对比图. 由图可得,本文提出的5次迭代后的MPC迭代学习控制方法具有强鲁棒性,跟踪精度最高.
图2期望、未迭代和第3与5次迭代后的z轴轨迹
Fig.2Expected, non-iterated and the5th iterated z axis trajectories
图3期望、未迭代和第3与5次迭代的滚转角轨迹
Fig.3Expected, non-iterated and the3rd and 5th iterated roll angle trajectories
图4期望、未迭代和第3与5次迭代的俯仰角轨迹
Fig.4Expected, non-iterated and the3rd and 5th iterated pitch angle trajectories
此外,在图6中,经过第5次迭代后,MPC迭代学习算法的跟踪误差已经接近于零,而相比之下,其他两个算法的误差则在第7次迭代后才逐渐趋近于零. 这表明,相比于现有文献 [16,20] 中的方法,MPC迭代学习算法在四旋翼无人机轨迹跟踪控制系统中具有更快的收敛速度,能够在较少的迭代次数内降低跟踪误差.
图5期望、未迭代和第3与5次迭代的偏航角轨迹
Fig.5Expected, non-iterated and the3rd and 5th iterated yaw angle trajectories
图6MPC迭代、滑模迭代与鲁棒迭代误差对比图
Fig.6Comparison chart of MPC iteration, sliding mode iteration and robust iteration error
6 结束语
本文针对存在外部扰动情况下的四旋翼无人机系统,设计了MPC迭代学习控制算法. MPC子控制器作为反馈控制器,迭代学习子控制器作为前馈控制器,使用双曲正切函数来自适应调整迭代学习参数可以减少迭代次数,降低计算量,同时提高跟踪精度. 未来将搭建无人机实验平台进行实验验证,并研究网络攻击环境下无人机系统的模型预测安全控制问题.