蒙超恒,裴海龙,*,程子欢
1.华南理工大学 自主系统与网络控制教育部重点实验室,广州 510640 2.华南理工大学 广东省无人机系统工程技术研究中心,广州 510640
涵道风扇式无人机是一种特殊的垂直起降无人机,它的风扇置于涵道内部,结构紧凑,安全可靠。这些特性使其逐渐引起各国研究机构的重视[1],已有许多典型的机型投入使用,如iSTAR[2]、HoverEye[3]等。
在飞行器、船舶等机械系统的运动控制中,操纵面是用于产生作用于系统的力或者力矩的机械装置,如推进器、舵、螺旋桨等。为了满足容错控制和控制重构等需求、提高系统的灵活性和动态响应,通常设计冗余的操纵面[4]。涵道风扇式无人机的操纵面是底部的气动舵面,气动舵面处于风扇滑流中,通过偏转舵面产生作用于涵道底部的侧向气动力来控制姿态。该类型无人机通常具有冗余的控制舵面,其姿态子系统是一个典型的过驱动(Over-actuated)系统,因此在控制中存在控制分配问题。
操纵面冗余是设计过驱动系统的控制器时要解决的问题之一,一种常见的方法是设计最优控制构成闭环系统,操纵面指令即控制输入已经包含在设计中。另一种设计方法是引入伪控制输入(力或力矩)将调节或跟踪任务和控制分配任务分开,针对调节或跟踪任务设计的控制律作为伪控制输入的期望值,仅指定要产生的力或力矩,然后设计单独的控制分配模块,根据期望的力或力矩求解控制输入,文献[5]讨论了2种设计方法的联系。这种分层设计的优点是可以单独设计控制律,而独立出来的控制分配模块不仅可以协调系统中不同操纵面的作用,还可以处理控制重构和操纵面容错之类的问题,例如文献[6]利用控制分配对过驱动的小型固定翼无人机进行容错控制。本文的讨论是基于这种分层设计方法进行的,并将力矩作为伪控制输入。
目前常用的控制分配方法包括伪逆法[7-8]、直接分配法[9]、基于最优化方法的控制分配[10-11]等,文献[4]对控制分配领域的成果做了详尽的调查。近年来,这些成果在航空[12]、航天[13]、航海[14]、汽车[15]以及机器人[16]等领域中得到广泛应用。对于涵道风扇式无人机的控制分配问题,目前主要是用伪逆法求解[17-19]。由于实际约束的存在,伪逆法无法对任意可达的期望力矩都返回容许控制[20],因此并没有在控制分配上达到最优。
在控制分配环节,由于存在约束,操纵面只能产生可达力矩集(Attainable Moment Set,AMS)内的力矩。控制律作为期望力矩,通常设计时已经考虑了AMS的范围,但某些情况下控制律仍可能会超出该范围。例如在飞行包络线的边界附近,操纵面无法产生控制律所要求的力矩,将存在分配误差,通常控制分配算法将返回一个在某种指标下误差最小的次最优解[4]。传统的控制分配算法返回次最优解时没有考虑控制律的分量的优先级问题,可能会使控制律的某些高优先级分量产生分配误差。
由于涵道风扇式无人机的特殊构型,在飞行中其期望力矩很可能超出AMS的范围。因此应用常规分配方法可能带来分配误差。为了既能对所有可达的期望力矩返回容许控制,又能对不可达的期望力矩做进一步的优化,本文在已有的研究成果的基础上引入一种优先级分配方法。该方法通过先将期望力矩进行矢量分解,并按一定优先级排序,对该优先级序列引入比例因子求解约束最优化问题,使得高优先级分量尽可能无误差分配。当期望力矩可达时,该方法等价于直接分配法,当期望力矩不可达时,该方法引入的比例因子对期望力矩的低优先级分量进行放缩,相当于截断低优先级分量,保证高优先级分量无分配误差。仿真显示所提出的算法对高优先级分量的跟踪效果优于传统算法。最后,本文将所提出的方法应用于涵道风扇式无人机的控制分配中,进行了飞行试验。该试验中,将控制律分解为2部分:一部分与系统抗扰动能力相关,作为高优先级分量;另一部分与瞬态响应相关,作为低优先级分量。试验结果表明,优先级分配法能保证可达的高优先级分量无误差分配,系统保持一定的输出解耦,而传统分配方法则因为执行器饱和而导致输出耦合。
考虑非线性系统
(1)
式中:x∈Rn为系统状态;δ∈Ω⊂Rp为系统的控制输入,或称为控制向量,Ω为客评控制集;映射f:Rn→Rn,g:Rn×Rp→Rn,h:Rn→Rm。y∈Rm为系统输出。对过驱动系统有m
g(x,δ)=GM(x,δ)
(2)
式中:G∈Rn×m,映射M:Rn×Rp→Rm。引入伪控制输入:
(3)
将式(1)化为
(4)
式中:伪控制输入τ∈Φ⊂Rm通常为m维广义力或力矩,在本文中统一称τ为力矩。由于操纵面约束,Ω为Rp的子集,称为容许控制集,属于Ω的δ称为容许控制。容许控制集通过M从Rp空间映射到Rm空间得到系统的可达力矩集Φ,若τ∈Φ则称τ可达(Attainable)。
在分层设计方法中,首先由上层控制算法针对式(4)设计的控制律τc∈Rm,然后控制分配环节将τc作为期望力矩,对给定τ=τc,根据式(3)的操纵面模型求解δ∈Ω。注意到,使式(4)渐近稳定的控制律τc不一定可达。
实际中更实用的是线性化的操纵面模型。当控制向量δ为零向量时称为零偏转,记为δ0,将式(3)在某系统状态下在δ0处做泰勒展开
τ=B(δ-δ0)+τ0
(5)
τ0≜M(x,δ0)
(6)
(7)
式中:B∈Rm×p称为控制效率矩阵,B、τ0都与系统状态相关。δ0通常使τ0为零向量。另外在具体实现中,控制系统以较高的频率运行,将式(3)在上一采样时刻做泰勒展开为
τ-τL=B(δ-δL)⟹Δτ=BΔδ
(8)
式中:δL和τL为上一采样时刻的值。通常将M(x,δ)曲线的离散数据存在计算机中,通过查表可求得曲线斜率进而求得B,即使零偏转处的τ0不为零向量时同样可以查表获得。因此可以不失一般性地将操纵面模型表示为
τ=Bδ
(9)
并基于式(9)讨论控制分配问题。至此,控制分配问题可描述为:对给定B、Ω及τc,求δ,使得τc=Bδ且δ∈Ω。
控制分配算法求解得δ后,将作为执行器的指令,执行器使操纵面跟踪该指令。这部分通常集成在一些机电设备中,如无人直升机中所用的力矩舵机。相比于被控对象,通常执行器的动态响应时间非常短,因此认为操纵面状态即为δ。引入控制分配环节后,闭环控制系统如图1所示。
图1 基于控制分配的控制系统Fig.1 Control system based on control allocation
本节将1.1节的分层设计方法应用到涵道风扇式无人机中。有关建模问题主要参考文献[17-19]。地面坐标系XNYNZN、机体坐标系XBYBZB及按ZYX的顺序定义的欧拉角φ、θ、ψ,如图2所示,坐标系原点为无人机重心。记绕机体坐标系转动的角速度为ω。在飞行器控制分配中,主要关注和控制输入直接相关的力矩方程[17],令式(4)中系统状态x=ω,有
图2 惯性系和机体坐标系Fig.2 Inertial and body-fixed frames
(10)
式中:Γ=Γcs+Γext,Γcs为操纵面产生的驱动力矩,Γext为其他力矩[17];I=diag(Ix,Iy,Iz)为惯性张量。
定义操纵面旋转轴如图3所示,其中1~4号气动舵面即飞行器操纵面。规定操纵面旋转符合右手系则为正值,否则为负值。零偏转定义在舵面平行于ZB轴的位置。每个舵面最大转动角度均为±20°。力臂l1、l2如图3所示。驱动力矩可表示为[17]
图3 力臂示意图Fig.3 Diagram of arm
(11)
取驱动力矩为伪控制输入,即τ=Γcs,由式(9)可得
(12)
式(12)隐含B和系统状态相关。由式(12)易知该姿态子系统是一个过驱动系统,其控制分配问题可基于式(9)、式(12)进行的。讨论涵道风扇式无人机的控制分配问题时,是在如下假设下进行的:
1) 假设已经获得系统的控制律,并且在控制律下式(10)系统渐进稳定。本文的重点是在已知控制律的基础上研究控制分配问题。
2) 假设执行器动态响应时间远远小于被控对象。该无人机所用的力矩舵机带宽远大于被控对象,因此假设是合理的。
3) 假设各个状态下的控制效率矩阵B已经通过仿真或试验数据获得。控制向量和力矩曲线M(x,δ)以离散数据的形式保存在计算机中,系统运行时将通过查表,利用插值法获取B矩阵的元素。
2.1节先介绍常用的2种控制分配方法:伪逆法和直接分配法,将其应用到涵道风扇式飞行器的控制分配问题中,并对比2种分配方法的可达集。2.2节针对2种常用方法的不足,提出一种优先级分配方法。
由于操纵面存在约束,容许控制集Ω通常是Rp空间中的凸集。记
(13)
(14)
式(9)所示操纵面的静态线性模型的重要性在于,可以在一个全局的范围观察一个系统的AMS,AMS是系统的属性,和控制分配算法无关。在具体实现中,在系统的每一个控制周期,控制分配采用的是式(8),除幅值约束外,还要考虑操纵面的速率约束。容许控制集变为幅值约束和速率约束的交集,相当于在每一个控制周期都有一个局部的幅值约束[20]。若记上一控制周期的控制向量为δL,控制周期为T,操纵面最大执行速率为um,有局部约束
(15)
考虑式(13),取交集
(16)
(17)
记Δδ=δ-δL,则在每一控制周期进行控制分配时,容许控制集为
(18)
结合式(8),控制分配问题和仅存在幅值约束的情形类似,区别是前者分配的起点是上一控制周期的控制向量δL,而后者分配的起点是Rp空间的原点。考虑速率约束是系统的具体实现问题,仅考虑幅值约束得到的结论可应用到考虑速率约束的情形,因此在本文的讨论中不提及操纵面的速率约束,而在具体实现中默认考虑了速率约束。
1) 伪逆法
若不考虑任何操纵面约束,对给定τc,取δ=B+τc,其中B+=BT(BBT)-1为B的伪逆(Pseudo-inverse),这种控制分配称为伪逆法。文献[17-19]在涵道风扇式无人机上所用的控制分配方法都等价于伪逆法。由于操纵面约束的存在,对任意给定τc∈Φ,δ可能不在容许控制集内,即δ∉Ω,实际执行的控制输入是δ经过限幅后的值。
2) 直接分配法
为了对任意给定τc∈Φ,都返回一个容许控制,设τmax∈Φ是AMS中矢量τc方向上幅值最大的矢量,定义比例因子α=‖τmax‖2/‖τc‖2。求解一组α、δ满足ατc=Bδ且δ∈Ω。用最优化问题的形式来表达,可表示为[21]
(19)
求解式(19)即为直接分配法。具体算法实现中,α的取值可以放宽为大于等于零的实数,将式(19) 化为线性规划问题的标准形式,用单纯形法求解该最优化问题[21]。该方法可对任意可达的τc无误差分配,即返回一个容许控制,使τc=Bδ。对不可达的τc,仅能满足ατc=Bδ,0≤α<1,分配误差为τc-Bδ。比例因子的作用是减小τc的幅值,因此该方法具有方向保持的特性。
在对比2种分配算法之前先引入所需的一些符号。用∂(·)表示包围某点集的凸包,包围容许控制集、AMS的凸包分别记为∂(Ω)、∂(Φ)。对所有可达的τc,某一分配算法返回的所有容许控制的集合记为Θ。记Π为Θ通过控制效率矩阵B从Rp空间映射到Rm空间得到的集合,称为某分配算法的可达集。对m=3的情形,使用Π和Φ的体积之比的百分数表示某分配算法的品质因数γ,作为衡量算法优劣的指标[20]。
对本文所研究的涵道风扇式无人机,根据飞行试验测得在悬停状态下的B矩阵为
(20)
其操纵面约束为
(21)
分别绘制出伪逆法和直接分配法的可达集Π1、Π2,如图4所示。由算法流程易知直接分配法的可达集Π2=Φ,分别计算Π1、Π2的品质因数为γ1=71.99%,γ2=100%。对Φ中的所有力矩,任何无法返回容许控制的控制分配方法都没有充分利用飞机的控制性能[20],因此在涵道风扇式无人机的控制分配中广泛应用的伪逆法,实际上牺牲了部分控制能力。
图4 伪逆法和直接分配法的可达集对比Fig.4 Comparison of subsets of attainable moments using pseudo-inverse method and direct allocation method
由2.1节的分析,直接分配法虽然品质因数比伪逆法更大,但对不可达的τc,将被保方向地限制在∂(Φ)上,其分配误差为(1-α)τc,即每一个分量都有分配误差。然而,在某些情况下为了满足控制需求,有些分量应尽可能无分配误差。为此提出一种优先级分配方法,先将期望力矩进行优先级分解,若τc不可达,将其与∂(Φ)的交点进一步优化,使得τc的高优先级分量尽可能无误差分配,仅低优先级分量产生分配误差。
2.2.1 控制律的优先级分解
期望力矩由式(4)所示系统的控制律τc给出,τc∈Rm,可以在Rm空间按坐标轴或不同控制效果做矢量分解,分解后按控制目标划分优先级。
本节以无人机中应用广泛的主动扰动抑制控制(ADRC)[22]为例,该方法的核心是利用扩张状态观测器(ESO)对“总和扰动”进行估计并补偿,使对象模型变成“积分器串联型”线性系统。将式(10) 改写为
(22)
(23)
(24)
(25)
式中:T为控制周期;φc为给定滚转角,且函数
(26)
(27)
(28)
τx1≜-Ixzr3(k)
(29)
τx2≜k1fal(e1,σ1,ξ)+k2fal(e2,σ2,ξ)
(30)
同理,对俯仰、偏航通道设计ADRC控制器,得控制律τyc、τzc,同样做类似的分解,得总的控制律
τc=τ1+τ2
(31)
(32)
其中:τ1包含对系统总和扰动的补偿,τ2通常是应用状态反馈设计的,因此和系统动态响应相关。在该控制律下,系统能按照预期运行的首要前提是τ1可以抵消系统总和扰动,将非线性系统化为线性系统,而后才可以设计误差反馈τ2,使系统稳定(或跟踪输入)。因此将控制律分解后,可以认为τ1分量优先级较高,而τ2分量优先级较低。
应当指出,这些分解是人为规定的,还可以根据不同需求做其他分解。基于反馈线性化方法设计的控制律中,都可以做和上述方法类似的分解,因为其本质都是先将非线性系统化为线性系统,再对该线性系统设计误差反馈律,例如非线性动态逆(NDI)及增量非线性动态逆(INDI)[24],其思路和ADRC是相似的。文献[25-26]讨论了NDI控制律的分解,以及文献[27]讨论了串级PID控制律的分解。
2.2.2 优先级控制分配
在控制分配环节控制律作为期望力矩,假设期望力矩已经分解为τc=τ1+τ2+…+τk,其中从τ1~τk优先级依次降低。为保证高优先级分量不产生分配误差,考虑仅对优先级最低的τk进行缩放,引入比例因子α,求解式(33):
(33)
1) 若式(33)有解
则控制分配结束,返回该最优解δ。此时若α=1,表示τc可达,求解式(33)等价于对τc用直接分配法求解容许控制。若0≤α<1,表示τc不可达但τ1+τ2+…+ατk在∂(Φ)上,仅改变τk的幅值即可返回容许控制,因此仅在τk方向有分配误差。
2) 若式(33)无解
则在τc中把低优先级分量τk去掉,此时期望力矩变为τ′c=τ1+τ2+…+τk-1,此种情况表明τ′c不可达。同理,仅对优先级最低的τk-1进行缩放,求解式(34):
(34)
若有解则分配结束,若无解,则去掉τk-1重复上述过程。注意到若重复了k-1次该过程之后仍然无解,说明τ1不可达,第k次求解时等价于对τ1用直接分配法求解控制向量。因此该问题在有限次循环后一定有解。将整个过程表示为从s=k开始求解式(35):
(35)
式中:s=k,k-1,…,1,若无可行解,则令s=s-1,循环求解式(35)直到有可行解时停止,即为优先级分配方法。当τc可达时,求解式(35)等价于直接分配法;当τc不可达时,若在i次求解式(35) 后返回最优解,则τ1,τ2,…,τk-i都是无误差分配,其中0≤i≤k。当控制律中没有做优先级分解时,等价于τc=τ1,优先级分配法退化为直接分配法。从式(35)可知该方法的可达集和直接分配法一样,品质因数为100%。
在具体实现中,为了减小计算量,求解式(35)前,可先用伪逆法计算一个参考值,若该参考值已经使操纵面饱和,再求解式(35),否则输出该参考值即可。应该指出,这一步参考值的计算不是必须的。控制分配流程图如图5所示,虚线方框内是可选的步骤,蓝色方框内是优先级分配方法流程。
图5 优先级分配法流程图Fig.5 Flowchart of prioritized allocation method
图6给出了一种2维力矩空间的例子,若τc=τ1+τ2,且m=2,τc不可达。分别用直接分配法、优先级分配法求解控制向量,再通过B映射到R2空间得τd、τp。将τd和τp沿τ1、τ2方向做矢量分解,如图6所示。τd在每个分量方向上都有分配误差。τp则仅在低优先级分量τ2方向上有分配误差,而在高优先级分量τ1方向没有分配误差。
图6 m=2时优先级分配法和直接分配法对比Fig.6 Comparison of prioritized allocation method and direct allocation method when m=2
图7 伪控制指令响应曲线Fig.7 Virtual control command response curves
和上述分析一致,相对于伪逆法和直接分配法,优先级分配法虽然对低优先级分量τ2的分配误差最大,但对高优先级分量τ1无分配误差。
本文所研究的涵道风扇式无人机的飞行控制的MATLAB &Simulink仿真程序已开源,地址:https:∥github.com/mengchaoheng/Plan-D,在该仿真中可以看到更多控制分配算法的对比及其与不同控制器结合的效果。
图9 飞控系统框图Fig.9 Flight control system
表1 涵道风扇式无人机的参数Table 1 Parameters of ducted fan UAV
图8 飞行试验Fig.8 Flight test
将τ1设为最高优先级,τ2设为低优先级。操纵面物理约束如式(21)所示,为方便后续试验中添加9°的操纵面扰动,试验时在控制程序中统一设定操纵面最大偏转角为11°。如前文所述,忽略执行器动力学,舵面偏转角用其执行器的指令δ近似。姿态角参考输入为滚转、俯仰通道20°的阶跃信号,航向角保持起飞时锁定的角度,统一为正北方向(零度偏航角)。
若不添加扰动,分别使用伪逆法、直接分配法、优先级法进行控制分配,姿态角的阶跃响应曲线如图10所示,相应的操纵面偏转角响应曲线如图11所示。由图10可知3种方法下的阶跃响应性能指标比较接近。比较3种方法的操纵面曲线,可知品质因数较小的伪逆法更容易饱和,而直接分配法和优先级分配法由于其可达集是整个AMS边界所包围的力矩空间,因而操纵面饱和的时间相对较短。
图10 在无外扰的情况下,分别使用伪逆、直接、优先级分配的阶跃响应Fig.10 Step responses to pseudo-inverse,direct allocation and prioritized allocation methods without external disturbance
图11 无外扰时的1~4号舵面偏转角Fig.11 Deflection angles of No.1 to No.4 surface vanes without external disturbance
由图12可知伪逆法和直接分配法都在输入参考指令后航向角由于扰动的影响持续减小,最终使系统发散,3 s后已经由回收设备介入。而由图13可知优先级分配法使系统仍稳定跟踪参考输入,和图10的结果相比仅响应速度变慢。由图14可知,系统在阶跃信号到来之前,操纵面偏转角稳定在δdisturb附近,表明τ1是可达的。在第1 s~第1.5 s 的瞬态响应期间,操纵面饱和即表明参考指令使得误差反馈输出的τ2叠加τ1的结果τ1+τ2不可达。在优先级分配法中,τ1被设置为高优先级,使操纵面仅在补偿扰动所需的偏转角附近动作,保证高优先级分量尽可能的得到执行,因此始终能抵抗扰动的影响。而伪逆法和直接分配法都由于误差反馈的影响,操纵面在其约束范围内动作,高优先级分量的执行得不到保证,最终导致输出耦合,表现为输入阶跃参考指令后系统发散。
图12 添加扰动,分别使用伪逆、直接分配的阶跃响应Fig.12 Step responses to pseudo-inverse and direct allocation methods with disturbance
图13 添加扰动,使用优先级分配的阶跃响应Fig.13 Step responses to prioritized allocation with disturbance
图14 添加扰动时的1~4号舵面偏转角Fig.14 Deflection angles of No.1 to No.4 surface vanes with disturbance
在涵道风扇式无人机的控制分配中,对本文所讨论的几种控制分配方法有如下结论:
1) 优先级分配法、直接分配法的品质因数都为100%,而常规的伪逆法仅为71.99%。
2) 优先级分配法可以保证控制律中高优先级分量尽可能无误差分配,而仅在低优先级分量上产生分配误差,具体表现为使系统可一定程度上防止因操纵面约束引起的系统输出耦合,尽可能保持输出解耦,这是直接分配法和伪逆法所没有的特性。