孙 昊刘雪峰 刘靖雷 孙青林陈增强
(1.南开大学人工智能学院,天津 300350;2.北京空间机电研究所,北京 100094;3.中国航天科技集团有限公司航天进入减速与着陆技术实验室,北京 100094)
大规模空投可将大量的物资或军队依次运输至目标位置,特别在地面运输并不发达的地区具有重要的应用价值,被广泛应用于救援救灾、战场物资投放等各类军用、民用领域.在其中,翼伞系统因其可控制其飞行方向的独特优势在此类领域获得了广泛的关注[1-2],该系统由冲压伞体与负载组成,并通过伞体为系统提供升力,不仅价格低廉,还可提供较强的负载能力[3-4].
在大规模空投中,多个翼伞系统将在目标空域内依次释放,随后各个系统将跟踪目标轨迹并最终依次降落于目标点位置附近.在翼伞空投任务中,为了最小化翼伞的着陆冲击,在着陆阶段所有翼伞的偏航角方向需与实时风场方向相反,即实现多翼伞运动方向一致,以降低着陆时的水平、垂直速度,实现雀降着陆[5].基于上述分析,可以看出大规模空投的任务目标与一种复杂的多智能体一致性控制问题的任务目标高度一致.此外,由于翼伞无法控制其飞行高度,多翼伞的控制目标还需要在有限时间内收敛,且在实际的大规模空投任务中还存在诸如信号传时延、信号噪声、通信拓扑变换等现象,更加大了该控制问题的难度.
目前现有的翼伞控制问题研究多集中于单体翼伞的轨迹规划和轨迹跟踪[6-11].在轨迹跟踪中,相关研究多集中于经典控制问题,其目标轨迹一般由标准直线或标准圆构成.而多翼伞的研究多以轨迹规划为主[12-13],主要用于在任务执行前计算一个固定的目标轨迹,一般采用质点模型,难以考虑翼伞的特殊动力学特性.其次,在现有的规划研究中多假设存在一个可获得全体翼伞系统信息的中心计算单元,通过整合多系统的实时信息进行轨迹规划,忽略了通信延时、噪声等干扰,与实际任务状态存在较大差异.而针对多翼伞分布式控制器设计的相关研究较少,且尚未有针对翼伞的一致性控制问题研究.同时,近年来虽然已经有大量学者进行了多智能体一致性控制问题的研究,探索了多智能体系统在信号传输时延[14-15]、噪声扰动[16]、不确定通信拓扑等问题[17-18],并广泛应用于诸如四旋翼、固定翼等刚性无人机[20-21]的多体协同控制.然而通过分析可以看出,由于翼伞系统存在复杂的非线性特性,难以完成传统一致性算法中严格的稳定性证明,这也是无法将传统一致性算法应用于翼伞大规模空投的主要原因.在已有的一致性控制问题的研究中,为推导系统内部的完整动力学特性,设计李雅普诺夫函数,实现控制器的稳定性证明,一般采用质点模型代表多智能体系统中的个体,在控制器的设计中一般也需要了解系统内部的精确动力学特性.然而,翼伞由柔性伞衣提供升力,水平控制量与偏航角间存在复杂的非线性关系,难以通过质点模型表述翼伞在飞行状态下的动力学约束,导致所计算的飞行轨迹与实际产生较大差异.此外,采用比例(proportional,P)、比例积分微分(proportional integral derivative,PID)等传统控制器也难以获得精确的轨迹跟踪效果.
为解决上述问题,实现基于多翼伞的大规模空投,本文设计了一种基于自抗扰控制技术的一致性控制算法.首先,为了精确表述翼伞系统的内部动力学特性,本文将采用八自由度动力学模型模拟翼伞个体.随后,提出了一种基于自抗扰控制算法的分布式一致性控制策略,并证明了该控制器在通信时延、信号噪声、可变通信拓扑以及外部风场等扰动下的控制器稳定性.最后,通过仿真实验验证了所提出控制算法的可行性与稳定性,可在有限时间内完成多翼伞系统的运动一致性收敛.结果表明所设计控制算法可有效实现基于多翼伞系统的大规模空投.
如图1所示,大规模空投由多翼伞系统实现,可同时运输大量物资至目标位置.而多翼伞系统被视为一类多智能体系统,定义G=(W,E,A)表示该多智能体系统的可用有向图.W=w1,w2,w3,···,wn表示多智能体系统节点的集合,E=eij=(wi,wj)⊂W×W表示多智能体系统内部的连接关系,即信号传递路线.A=[aij]n×n表示多智能体系统的邻接矩阵,如果(wi,wj)⊂E,则aij >0,否则aij=0.在本文中,若智能体i可收到智能体j的位置信息,则aij=1,否则aij=0.
图1 大规模空投Fig.1 Mass airdrop
在本文中,由于翼伞只能控制其水平位置,设定此类多智能体系统中某个体的状态为Xi=(xi,yi),其中x,y分别表示翼伞在水平坐标系X轴Y轴上的坐标.基于智能体wi与其邻居智能体wj ⊂W间的局部状态信息,其分布式控制协议可表示为
式中:T表示采样周期,u为控制量.
由式(1)可以看出,在传统一致性算法中,一般采用质点模型表示多智能体系统中的个体,而其控制量则一般通过智能体及其邻居的状态误差进行推导.然而,翼伞系统的控制量为下偏量,其实现方式是拉动操纵绳令伞体后缘下偏,通过改变伞体外形的方式改变其伞衣气动力,并以此实现翼伞的方向控制.而通过式(1)的控制量计算方式可以看出,相关算法虽然可以实现控制器稳定性,但该控制协议明显难以体现翼伞系统的实际控制量与其偏航角变化率之间存在的复杂非线性动力学关系.因此,针对上述问题,本文将采用多个八自由度动力学模型模拟多翼伞系统,并针对该多智能体系统设计基于自抗扰控制算法的分布式控制器,完成多翼伞系统的运动一致性,实现多翼伞大规模空投.
如图2所示,翼伞系统由伞衣和负载两部分组成,为在负载和伞衣之间进行力和力矩的转化,模型存在以下3个坐标系:大地坐标系Odxdydzd,体坐标系Osxsyszs以及负载坐标系Owxwywzw.在本文所建立的翼伞八自由度模型中,除了考虑系统在体坐标系三轴下的运动速度与角速度外,还考虑了伞体与负载的相对运动,可充分模拟翼伞的运动特性.
图2 翼伞系统及其坐标系Fig.2 Parafoil and coordinate system
如图2所示,一般翼伞系统的负载将被视作一个矩形刚体,其受力可表示为
式中:下标w表示负载的变量,P和H表示动量和角动量,F与M表示受力和力矩,上标aero表示空气动力,G表示重力,t表示连接负载与伞体的伞绳拉力,f表示摩擦力,V=[u v w]T和w=[p q r]T分别表示速度和角速度.
式(2)-(3)中,负载的动量和角动量可表示为
式中:mw表示负载重量,Jw表示惯性矩阵.
伞体的受力可表示为
式中下标s表示伞体所受力.
在飞行过程中,伞衣将充满气体,因此其质量将分为附加质量和真实质量.伞衣的动量和角动量可表示为
式中Aa和Ar分别表示翼伞的真实和附加质量.
区别于刚体负载,在计算伞体的气动力时,一般将伞体沿展向分为8片,分别计算其气动力并最终进行合并.基于升力线理论,每一分片的气动力可表示为
式中:下标i表示分片编号,k表示乘积系数,下标L和D分别表示升力和阻力系数,S表示分片的特征面积,ρ表示气体密度.
式(9)-(10)中的升阻力系数可表示为
式中:α表示攻角,α0表示零升力下的攻角,Ar表示伞体的展弦比,CD0表示零升力下的阻力系数,CLα表示升力线斜率,kAr表示展弦比系数,δ表示伞体的形状系数.
伞体后缘被视为两个单独的分片,位于伞体两侧的后缘.区别于式(11)-(12)的伞衣分片,伞衣后缘的气动力计算中,攻角将被替代为
式中:αr表示安装角,αf表示伞衣后缘下偏量,即为翼伞系统的控制量.
由式(13)可以看出,翼伞的实际控制量伞衣后缘下偏与系统状态之间存在复杂的非线性关系,难以通过质点模型进行精确模拟,若采用传统的P或PID控制器,也难以获得精确的控制效果.
从图2中可以看出,翼伞伞体与负载在C0处通过伞绳相连.基于该连接点,伞体与负载间的相对运动限制可表示为
式中:Lw-c和Ls-c分别表示负载质心和伞体质心到连接点C0的位置矢量.
对式(14)求导后,两部分的加速度约束可表示:
式中Tw-s表示翼伞坐标系到负载坐标系的转换矩阵.
同时,伞体与负载的相对偏航角和相对俯仰角速度可表示为
式中Di和Ei将由式(2)-(19)推导得出.
在大规模空投中,所有的翼伞个体将均由一个八自由度动力学模型进行模拟仿真,并计算其运动轨迹.
针对上节所建立的非线性动力学模型,本节将基于通信拓扑设计分布式控制协议,最终实现多翼伞的运动一致性.假设多翼伞中的某个个体wi的水平运动矢量为ψi,其参考输入将由该翼伞个体的全部邻居的运动矢量推导得出.假设wi可收到k个邻居的状态信息,其中某个邻居wj,j ⊂k的运动矢量为ψ′,其自身状态和参考输入的误差计算方法如图3所示,包含飞行方向误差和距离误差两部分.
图3 分布式控制协议Fig.3 Distributed control protocol
以wi为例,其水平运动矢量可表示为
假设其邻居的状态矢量可表示
其中j ∈1,2,···,n.
基于式(22),参考输入的偏航角部分可表示为
式中:arctan2为反正切函数,值域为[-π,π];k为该翼伞个体所能获得位置信息的邻居数目.
此外,距离误差部分可表示为
式中:ke为距离误差系数,本文中ke=50.
由式(23)-(24),既可得出本文的分布式控制器的参考输入计算方法.除此以外,为实现大规模空投任务中的多翼伞一致性控制,还需多项实际应用中的约束条件.如在进行多系统协同时,在信号传递的过程中必然存在时延和信号噪声干扰.此外,在实际应用中还经常会出现某个翼伞失效或故障,导致通信拓扑发生变化,因此在本文的多翼伞一致性控制中,还必须考虑通信拓扑发生切换状态下的一致性收敛.综上所述,在考虑时延和噪声后,式(22)应被改写为
最后,为考虑通信拓扑变化情况下的一致性问题,多翼伞的通信拓扑还会在大规模空投中的某个阶段进行切换,改变其邻居集合k.
可以看出,翼伞系统是一个复杂的非线性系统,难以采用传统一致性控制算法推导出该系统的精确动力学特性,并针对性地设计李雅普诺夫函数,证明其稳定性.自抗扰控制技术由韩京清研究员[21]所提出,并由薛文超研究员[22]、黄一研究员[23]、郭宝珠和高志强教授[24-25]等专家学者进行了改进或线性化.因此,本文将针对扩张状态观测器可对系统位置状态进行精确观测的优势,将自抗扰控制技术与多智能体一致性控制相结合.
首先,单体翼伞的偏航角可表示为
自抗扰控制算法的结构如图4所示.首先,可将单体翼伞的偏航角状态简化为二阶形式:
图4 自抗扰控制算法Fig.4 Active disturbance rejection control
式中:f表示系统的总扰动,包含外界扰动和内部不确定性,b表示控制增益.在控制器的设计中,由于翼伞系统的非线性特征明显,且易受外界干扰.因此,若想实现翼伞系统的精确控制,必须最大限度地缩小真实系统总扰动和f之间的误差,只有这样所调节的控制器参数才可有效地用于实际翼伞系统.
式中:X(t)=[x1(t)x2(t)x3(t)]T分别表示翼伞偏航角、偏航角变化率和角加速度,其中x3(t)被视为附加状态.
随后,可针对式(28)设计扩张状态观测器:
式中:Z(t)=[z1(t)z2(t)z3(t)]T表示观测状态,L=[l1l2l3]T表示观测增益.
式(28)可以被改写为
式中D=[0 0 1]T.
定义ei(t)=xi(t)-zi(t)可将观测误差定义为ζ(t)=[e1(t)e2(t)e3(t)]T.结合式(29)(31),可得
式中(32)中L需满足
通过这种方法便可将外部扰动和内动不确定性视为一个总扰动,作为扩张状态通过扩张状态观测器进行精确观测,并通过控制量对总扰动进行补偿:
通过正确调节自抗扰控制器的参数,即可忽略z3和f之间的误差,式(27)可表示为
已知无动力翼伞系统无法控制其飞行高度,因此多翼伞必须在有限时间内实现运动一致性,对控制器的收敛性提出了更高的要求.但如前文所述,本文使用八自由度模型对多翼伞系统进行模拟,其参考输入还需考虑时延、等多约束条件的影响,因此存在强非线性和不确定性,难以通过传统证明方法将该模型和控制系统表达为标准形式并设计李雅普诺夫函数.因此,本文充分发挥了自抗扰控制的优点,通过设计扩张状态观测器将翼伞系统的全部非线性扰动视为一个扩张状态,并对该扩张状态进行观测和补偿.
针对非线性系统的控制器稳定性分析,文献[26]和文献[27]已经证明了在时延、未知扰动等干扰条件下的自抗扰控制器稳定性.通过这种方法,可证明基于自抗扰的分布式控制器可令多翼伞系统在有限时间内收敛到包含零点的邻域内.其参考输入和翼伞实际偏航角之间的误差是有界的,并随观测器和控制器增益提高而减少.因此,区别于传统一致性控制算法,在正确设计控制器参数的前提下,本文所提出的基于自抗扰的一致性控制策略可在采用高自由度动力学模型的同时,还能实现多智能体系统的稳定性证明.
在仿真实验中,多翼伞系统内部分为一个领导者和8个跟随者.领导者将跟踪一个目标轨迹,而各个跟随者则将根据其邻居的位置状态进行与目标轨迹的误差计算,其通信拓扑的切换如图5所示,拓扑切换时间为仿真后第100 s.此外,系统间的通信时延为3 s,位置信号的噪声为平均值为1 m的白噪声.
图5 通信拓扑切换Fig.5 Communication topology switching
仿真实验中采用大地坐标系,假设大地坐标系中的X-Y平面为地面,设定领导者的初始位置在X-Y平面的投影为大地坐标系坐标原点,即[0,0,0].领导者的初始坐标为[0,0,900],跟随者的初始坐标为:[1800,800,940],[1200,600,910],[600,300,900],[0,300,900],[-600,-600,920],[-700,-1000,900],[-500,-1200,920]和[0,-2000,870].同时,环境中存在2 m/s的实时风场,风场方向为X轴负方向.因此,为实现翼伞系统的迎风雀降,翼伞系统着陆时的偏航角需收敛至0 rad.在仿真中,领导者将跟踪一个确定的轨迹,而跟踪者将跟随领导者最终实现多系统一致性.
实验结果如图6-10所示.图6-7给出了水平轨迹和3D轨迹,图8为偏航角,图9为多翼伞系统控制量,图10为多翼伞的扩张状态观测器的观测误差.
图6 水平轨迹Fig.6 Horizontal trajectory
图7 3D轨迹Fig.7 3D trajectory
图8 偏航角Fig.8 Yaw angle
图9 控制输入Fig.9 Control input
图10 观测误差Fig.10 Observation error
由图6-7可以看出,在初始位置不同的情况下,多翼伞系统可实现了运动一致性收敛,最终控制多翼伞系统在偏航角相近的情况下依次着陆于目标区域,完成预定的大规模空投任务.从飞行轨迹可以看,结合自抗扰控制和分布式控制协议,本文所提出算法可在精确跟踪目标轨迹的基础上,维持飞行轨迹平滑、稳定.由图8可以看出,多翼伞系统可在240 s内,实现多翼伞运动一致性收敛,其偏航角均可收敛至0 rad,以实现多翼伞雀降着陆.
从图9中可以看出,本文所设计控制算法可在时延、信号噪声、切换拓扑、外界风场等多干扰的情况下实现稳定精确控制,可以看出多翼伞的控制量仅在仿真的开始阶段和拓扑切换时存在一定的震荡,但最终控制量仍可收敛并维持稳定.从图10中的观测误差可以看出自抗扰控制器可有效观测系统内部的非线性动力学特性、时延、噪声等干扰,其观测误差仅在仿真初始阶段存在一定的波动,并可迅速收敛至零,展现了较好的控制器稳定性和收敛性.
为实现多翼伞大规模空投,本文提出了一种针对多个翼伞的分布式一致性控制算法.针对传统一致性控制算法难以实现复杂系统下的稳定性证明的问题,本文采用自抗扰控制技术,将系统不确定性和外部干扰视为一个扩张状态,并通过扩张状态观测器对未知干扰进行动态观测与补偿,可实现非线性动力学模型下的多翼伞系统一致性控制.仿真实验结果证明,所提出的算法能确保在通信时延、噪声、切换拓扑等干扰条件下的多系统运动误差可在有限时间内收敛到一个包含零点的邻域内,并通过多翼伞的运动一致性控制,实现多翼伞大规模空投,确保所运输物资或人员依次到达制定目标位置,具有广阔的应用前景.