高 艺 刘景亚 刘贵林
1. 中冶赛迪技术研究中心有限公司,重庆 401120 2. 智能冶金装备重庆市重点实验室,重庆 401120
四旋翼机在过去十年中迅速发展,被用于多种类型的任务,包括搜索和救援任务、核反应堆监测、农业服务、测绘和摄影、海上作业和战斗损害评估等,是无人飞行器领域中十分重要的科研分支。四旋翼无人机动力系统是安装在不同位置的多个电机,无需动力传动系统,可垂直起降,因其鲁棒性和紧凑布局而逐渐受到各个领域科研学者的密切研究[1]。四旋翼飞行器飞行控制系统的核心和难点是可靠的飞行控制算法的设计与实现,设计能够在恶劣环境中操作并应对复杂任务的无人系统。通常需要设计飞行控制系统来改善无人机的稳定性、动态跟踪特性和抗干扰能力,以获得更好的飞行性能,其中姿态的控制是整个飞行控制的基础。
四旋翼飞行器具有较高的机动性,能够在三维空间运动,但由于其具有典型的欠驱动、时变、操作滞后和非线性等特性[2],学者们提出了很多种不同的控制方法和控制理念以解决四旋翼飞行器稳定性、轨迹跟踪、姿态控制和建模问题,方法包括PID[3]、LQR[4]、鲁棒线性控制[5]、自适应控制[6]和滑模控制[7]。但上述控制方法都是基于事后偏差,系统先根据检测到的偏差信号产生控制信号然后去控制四旋翼飞行器,导致系统的响应相对于输入总是滞后一拍。此外,低成本的机载传感系统具有噪声和漂移特性,以及由于硬约束的存在使控制设计问题进一步复杂化。
为了开发能够在实际任务环境中的飞行控制系统,所采用的控制策略应该满足:1)考虑到系统的约束; 2)产生有效的控制动作。
四旋翼飞行器控制问题的另一个适用的解决方案是模型预测控制(Model Predictive Control,简称MPC),主要优势之一是能够简单有效地处理具有控制约束和多个输入和输出的复杂系统,只需要根据预测模型进行优化计算后得到控制量[8]。模型预测控制在过去几十年有显著的发展,成功应用于工业领域。MPC可以有效地处理执行约束,将输入约束作为控制综合的一部分,能够比较容易地在有约束条件下得到比较好的控制性能[9],克服各种不确定因素的影响,具有良好的控制效果和鲁棒性。
由于四旋翼飞行器是一个非线性、受约束、多变量的系统,MPC被广泛地用于飞行控制策略,将四旋翼系统模型线性化后作为MPC策略的预测模型。然而,线性化的四旋翼模型不能再代表整个四旋翼飞行器的动力学特性,这会导致性能损失或限制控制器的动作。在需要考虑非线性动力学来提高性能的情况下,可采用非线性模型预测控制(NMPC)。
NMPC是直接处理非线性系统的最优控制方法。在每个采样时刻求解有限域最优控制问题,然后实现第一个最优控制输入。由于NMPC可以直接处理非线性动力学和约束,因此得到了广泛的应用和关注。NMPC的主要缺点是实时解决底层有限域最优控制问题的计算负担,在指定的采样间隔内,尤其对于具有快速动态、大维度和复杂约束的问题,其得到的在线优化问题常常是非凸的,计算量随着决策变量的数目成指数增长。2002年Bemporad等做了开创性工作[10],将多参数规划理论引入到线性时不变对象的约束二次优化控制问题的求解中,得到了优化控制问题最优控制律与优化问题所含的参数之间的显式函数关系。
本文首先根据空气动力学方程,采用欧拉角表示俯仰角(Pitch),滚转角(Roll)和偏航角(Yaw),将四旋翼飞行器视为刚体对其建模,然后考虑姿态控制的目标俯仰角和滚转角建立滚动优化的优化目标函数和线性约束条件,利用多参数二次规划求解方法分区求解来代替重复的滚动优化,离线计算每个状态分区上的状态反馈最优显式控制律,在线计算时只需要检测出当前状态值所在区域,然后利用所在域的表达式计算出相应的控制量,从而使在线优化问题简化成一个简单的读取映射和函数计算问题,大量缩短系统在线计算时间,最后根据当前时刻系统状态参数所在的分区,按照显式解直接得到对应的当前参数的最优控制量实现控制,最后进行数值仿真计算,验证算法的有效性。
本文的结构组织如下:引言介绍四旋翼飞行器飞行控制系统的控制算法,分析了传统PID控制算法在应用中存在的问题,然后引入了显式预测控制算法来设计四旋翼飞行器姿态控制器。第1节介绍了四旋翼飞行器运动学模型及动力学模型,解耦得到四旋翼姿态模型。第2节提出了显式预测控制控制器设计,包括系统模型的线性化和目标函数的建立。第3节,仿真验证提出方法的有效性。
四旋翼飞行器的运动由螺旋桨产生的升力控制,而平移和旋转运动通过反旋转桨叶的差异来实现。具体情况是,前后运动由前后转子的速度产生的升力差实现,左右运动由两个横向转子产生的升力差实现,而偏航运动由前右和后左两对转子之间的反力矩差产生。最后,垂直向上的运动由转子总推力产生。
建立四旋翼飞行器模型的目的在于分析四旋翼飞行器在受到外力、外力矩的情况下,其位置和姿态的变化情况。
其中,动力学模型的输入为螺旋桨提供的拉力和力矩,输出为四旋翼的速度和角速度;运动学模型的输入为动力学模型的输出,即四旋翼的速度和角速度,输出为四旋翼的位置和姿态。
其关系如图1所示:
图1 运动学及动力学模型关系图
四旋翼飞行器系统是一个欠驱动、强耦合控制系统,因而对其建模要考虑的因素很复杂。为了在符合基本运动特征的基础上,尽可能减少不确定性扰动的影响,方便建立四旋翼飞行器的精确模型,且考虑到对模型的分析及后续对控制器的设计,四旋翼飞行器在设计上已经保证了其结构方面的基本对称性,在飞行速度和外界风速都比较低的情况下,假设飞行器可看作刚体。根据牛顿第二定律,在地面坐标系下,通过对飞行器合外力与合外力矩的分析,可得出飞行器六自由度运动方程。
根据牛顿第二定律可以得出:
(1)
(2)
其中,四旋翼飞行器所受的总合外力F是矢量,m表示四旋翼飞行器的质量,V是速度矢量,M表示四旋翼飞行器所受的总力矩,H为四旋翼飞行器的角动量。
飞行器飞行过程中,主要受到机身重力、飞行器4个电机提供的推力、空气阻力及外部扰动的作用。
机身重力:
Fg=[0 0mg]T
(3)
其中,4个电机提供升力在机体坐标系下可表示为:
(4)
故根据坐标系转换矩阵可得飞行器4个电机提供的推力FT:
(5)
其中,RT为旋转矩阵,ψ为俯仰角Pitch,θ为滚转角Roll,φ为偏航角Yaw。
四旋翼所受空气阻力:
(6)
外部扰动:
(7)
所以,地面坐标系下飞行器所受合力为:
F=Fg+FT+Fw+Fn
(8)
又已经假设飞行过程中质量不变,故可求得飞行器三轴运动方程:
(9)
为计算飞行器绕三轴的角运动情况,我们需要对其所受力矩进行分析,已知欧拉角p,q和r与机体角速度之间的旋转矩阵,即:
(10)
可解得:
(11)
飞行器所受力矩主要包括电机带动旋翼提供的气动力矩和旋翼陀螺效应产生的力矩。设4个电机转速为[Ω1Ω2Ω3Ω4],旋翼转动惯量为J,根据陀螺效应公式,可以推出4个旋翼产生的陀螺效应力矩如下:
(12)
飞行器所受气动力矩可表示为:
(13)
其中,L为机臂长度,d为旋翼的反扭力系数。
结合式(5)和(6)可以得到机体各轴转动惯量:
(14)
设四轴飞行器转动惯量矩阵为:
(15)
其中,Ix,Iy,Iz分别为绕机体坐标系的三轴转动惯量。由刚体转动惯量计算公式可得:
(16)
由此可推出机体坐标系下飞行器绕各轴的角加速度为:
(17)
结合式(11)和(17),得到四旋翼飞行器的姿态运动方程:
(18)
考虑到四旋翼飞行器的性质,将飞行器的欧拉角变化范围限制如式(19)所示:
(19)
综上所述,可以得到四旋翼飞行器简化后的数学模型,即四旋翼飞行器的运动学方程,也是之后控制器的设计依据。
EMPC是一种用于处理多输入多输出(MIMO)系统的多目标问题的优化控制方法。图2是EMPC姿态控制器结构图。首先,确定输入、输出变量和控制变量。然后,在每个采样时间建立状态空间系统模型。如果模型是非线性的,则需要线性化作为预测模型。其次,线性化状态空间模型用于通过预测控制范围内的未来输出来解决表示为目标函数的二次优化问题,将多参数二次规划引入到带约束二次优化控制问题的求解中,然后对系统的状态区域进行凸划分,离线计算得出对应每个状态分区上的状态反馈最佳显式控制规律,建立显式模型预测控制系统。最后,序列中的第一个控制规则被发送到系统。滚动优化将在每个采样时间重复和更新,在线计算只需查找当前状态所在分区就可获得相应控制律。由于显式模型预测控制系统不需要反复在线优化,所以提高了在线计算速度,使系统获得更好的实时性。
图2 四旋翼飞行器姿态控制器控制框图
为了便于控制器的设计,下面对所得模型进行分析。分析方程(11)和(17),可以看出,假设r为常数,方程(17)是常系数线性方程,但是存在严重的耦合。方程(11)是超越方程,给四旋翼控制器设计造成较大的挑战。因此在控制器设计中不仅要考虑旋转动力学的解耦,还需要考虑旋转动力学的非线性问题。从式(11)可以看出,姿态角的变化是引起四旋翼飞行器旋转动力学非线性的原因。
但是当四旋翼飞行器做悬停或者低速运动时,由于俯仰角、滚转角较小时,cosθ≈1,cosψ≈1,sinθ≈θ,sinψ≈ψ,忽略二阶小量,不考虑航向通道,则方程(11)和(17)可以简化为:
(20)
(21)
其中,a11=J(Ω1-Ω2+Ω3-Ω4)/Ix,a12=1/Ix,b21=J(Ω1-Ω2+Ω3-Ω4)/Iy,b22=1/Iy。以上参数均可以由四旋翼飞行器的参数测量和公式计算直接得到。
将式(20)和(21)组合,可以得到如下的状态空间形式:
(22)
(23)
对于姿态控制器,考虑如下最优控制问题:
(24)
约束条件:
(25)
其中,u(t)=[MxMy]T表示输入量,Δu(t)=u(t)-u(t-1)表示输入增量,NP是预测时域,S表示误差加权矩阵,T表示控制加权矩阵。
模型预测控制的优化问题是一个二次最优控制问题,由于这个优化问题和当前状态量,输入量,控制加权,误差加权都有关系,所以这是一个多参数二次规划问题(multi-parametric quadratic program)。如果把系统的状态量看成是优化问题的参数向量,设计得到当前状态量在可能区域变化时输入量和状态量的显式函数关系,就可以避免优化时反复在线计算。因此,对于此优化问题可以通过Bemporad等在文献[10]中提出的多参数规划得到它在每个区域的显式解。
EMPC的核心是确定每个时刻的状态在状态分区中的位置,步骤如下:
步骤1 确定当前状态在状态分区中的位置。
步骤2 通过状态分区寻找到对应的显式控制律表达式并计算出当前时刻的控制量。
步骤3 等待下一次采样时刻,并返回步骤1。
前面采用EMPC设计了四旋翼无人机的姿态控制器,为了验证所提出控制器的性能,本文通过Matlab/Simulink进行仿真研究,第一组实验验证所设计的姿态控制器的控制性能,第二组实验使用反演PID控制器进行比较。
在姿态控制试验中,EMPC控制器的控制参数可以由四翼飞行器参数求得。四旋翼飞行器参数如表1。
表1 四旋翼飞行器参数表
将四旋翼飞行器参数代入式(21)中得a11=-0.69,a12=86.08,b21=0.69,b22=86.08。约束-10m/s2≤u(t)≤10m/s2,-103≤y1(t)≤103,-103≤y2(t)≤103,-103≤y3(t)≤103,-103≤y4(t)≤103,-103≤r(t)≤103。对于姿态控制器来说,由于控制目标是俯仰角和横滚角,对俯仰角速度和横滚角速度不做控制,所以误差权矩阵S=diag(10,10,0,0),控制权矩阵T=diag(0.5,0.5),预测时域Np=10,控制时域Nc=2。根据多参数二次规划算法,可得此优化问题的分区,一个有544个分区,进行简化合并以后最终有526个分区。x5和r1,r2的二维分区情况如下:
图3 二维分区情况
在matlab的Simulink中进行仿真,并和反演PID控制器进行对比。反演PID控制参数如下:
A1=diag(4,4),A2=diag(4,4),
A3=diag(8,8),A4=diag(4,5),
A5=diag(6,4),A6=diag(2,4),
A7=diag(1,1,1,1)
用EMPC控制器和反演PID控制器对四旋翼飞行器姿态角的阶跃响应控制如图4~7所示。
图4 EMPC控制器俯仰角响应曲线
图5 EMPC控制器滚转角响应曲线
图6 PID控制器俯仰角响应曲线
图7 PID控制器滚转角响应曲线
图4和5为EMPC控制器仿真效果,图6和7为PID控制的仿真效果。可以看出,EMPC控制具有较小的超调量和较短的调整时间。相比EMPC控制,PID控制具有较大的超调量和较长的调整时间。EMPC控制器的效果优于PID控制器,是因为PID控制中控制信号的产生是根据当前产生的控制偏差,由于时延的存在,信号的迟滞使得控制信号不能及时跟踪真实的系统偏差,导致较大的控制量,引起了输出信号较大的波动。相比之下,EMPC 控制充分考虑了系统存在的时间延时,能够直接根据系统模型产生控制输入,检测的输出信号仅用来补偿系统预测偏差。因此,EMPC控制具有较小的波动量和较好的控制效果。
提出了一种显式模型预测控制方法,用于设计带约束的多输入多输出四旋翼飞行器控制系统,解决了传统模型预测控制需要在线优化,计算量大的问题。此算法也适合在嵌入式系统上实现,有一定的实际应用前景。首先建立四旋翼飞行系统的状态空间模型,并将其解耦,有效减少计算量,提高控制精度。然后,采用多参数二次规划法,离线计算了四旋翼飞行系统的显式最优控制律,在线查找当前状态对应的控制量。最后和传统PID控制算法进行仿真对比。结果表明,提出的方法控制性能更好。四旋翼飞行器的姿态角响应时间非常小,在四旋翼飞行系统姿态控制中的具有可行性和有效性。