陶灿灿,韩 旭,周 锐
(1.北京航空航天大学 自动化科学与电气工程学院,北京 100191;2.中国航空工业总公司成都飞机设计研究所,四川 成都 610091)
0 引言
利用无人机/无人车等异构多机器人的功能互补性,组成跨域协作系统,实现任务协同和信息共享,能够弥补单一军种作战力量的不足,进而创造出单一领域行动无法达成的效果[1-2]。
任务规划是无人作战的顶层规划,应根据任务环境态势、任务需求、自身特性等进行综合调度。文献[3]考虑时间窗、速度及能量共享,提出一种多准则混合整数规划模型,以最小化旅行距离、旅行时间和能源消耗为目标进行多机器人任务规划;文献[4]考虑平台能力、任务特点及环境约束,提出了一种基于市场的异构空地机器人任务分配算法,目标是最小化团队执行救援任务的总时间;文献[5]针对城市环境中持续监测任务,提出了一种估计分布算法和遗传算法相结合的混合算法,用于无人机-无人车协同路径规划。
本文研究智能任务规划技术助力无人作战飞机(Uninhabited Combat Aerial Vehicle,UCAV)/无人战车(Uninhabited Combat Ground Vehicle,UCGV)进行无人作战的可能性[6]。考虑到UCAV/UCGV协同任务规划扩展性,引入任务分析和环境建模仿真(Task Analysis Environment Modeling and Simulation,TAEMS)模型语言来描述UCAV/UCGV的任务结构,基于DTC方法设计任务规划的目标函数,并利用基于精英机制的遗传算法求解UCAV/UCGV任务规划问题的解。在任务规划过程中集成了路径规划[7],规划的结果是包含任务参数信息如位置、时间、累加收益、累加路径的动作序列。
1 任务规划模型
1.1 协同任务想定
以协同攻击任务为例,无人机/无人车执行攻击任务的目的是在作战初期派UCAV和UCGV进入敌方战区,利用异构平台作战能力的差异性和互补性,UCAV和UCGV根据战场信息分别对不同的敌方火力部署进行摧毁,从而获得更大的作战效益,并减小后期有人部队对该区域进行搜索、轰炸的危险性,提升整个战场的作战效果[8]。
图 1为UCAV/UCGV协同执行攻击任务的示意图,战场环境中存在敌方各类武器威胁,如雷达、装甲车、炮、直升机、单兵等,图中以“+”表示,周围的圆表示威胁覆盖的区域;存在不同的环境威胁区域,如电磁区、恶劣气候区等,图中以阴影区域表示;存在不同的地形威胁区域(主要针对UCGV),根据通过的难易程度分为避免通过区和不可通过区,图中以不规则四边形区域表示,不可通过区可以是难以通过的坑洼、断崖、河流、湖泊等[9]。
图1 UCAV/UCGV协同攻击任务想定Fig.1 UCAV/UCGV collaborative attack mission scenario
1.2 任务结构模型
TAEMS是一种通用的Agent任务结构描述语言,实质上是分层的有向图[10],以无人机/无人车协同执行攻击任务为例,其对应的基于TAEMS描述的任务结构如图 2所示。图中的任务结构包含3类节点[11-12]:任务群、任务和动作。任务群节点是TAEMS框架中最高层的任务节点,是没有父节点的任务节点;任务节点本身可以递阶地分解为更低层次的子任务,并通过品质累积函数定义各子节点的合成方式,在图中圆角矩形表示任务;动作节点是TAEMS任务树型结构的叶节点,它没有子节点,动作表示可以由Agent直接执行的,不能再分解的任务,在图中用矩形表示动作。
图2 基于TAEMS模型的UCAV/UCGV任务结构Fig.2 UCAV/UCGV mission structure based on TAEMS model
1.3 相互关系及品质累积函数
TAEMS任务结构模型定义了任务的效用信息(如收益、代价、持续时间、持续路程等)和子任务间的相互关系,在图 2中带矩形标签的有向线表示相互关系。常用到的相互关系有[13-14]:
(1)
式中,Ta,Tb表示任务或方法节点;{Task}表示任务节点集合,{Method}表示方法节点集合;使能关系enable(Ta,Tb)表示只有关系的源节点完成后,目标节点才允许被执行和生效;使不能关系disable(Ta,Tb),表示只有在关系源节点未执行时,目标节点才可执行和生效;促进关系facilitate(Ta,Tb)表示源节点对目标节点的执行效果具有有利影响;阻碍关系hinder(Ta,Tb)表示源节点对目标节点的执行效果具有不利影响。
品质累积函数 (Quality Accumulate Function,QAF)定义了如何由各子节点的品质获取节点自身的品质。常用的QAF有[13,15]:
(2)
式中,{T1,T2,…,Tm}是子节点集合,m表示子节点的个数,q_min表示任务节点的品质为其所有子节点中最小的品质值;q_max表示节点品质等于其子节点中最大的品质值;q_sum表示父节点的品质值等于其所有子节点品质值之和;q_exactly_one表示完成父节点可以通过执行其任何一个子节点,父节点的品质值为所执行的子节点的品质值。
2 任务规划问题描述
2.1 动作
动作是UCAV/UCGV可以直接执行的原始任务,形式化描述为[1,11]:
IA= estimate_time,certainty,val,
location,attachPara,interrelations>,
(3)
式中,id为动作的编号,label为动作的名称,Agent为动作所属的智能体,threatcost为执行该动作需要付出的威胁代价,estimate_time为完成动作的预计时间,certainty为动作存在概率,val为完成动作后获得的回报,location为完成动作所在的位置,attachPara为和具体任务相关的附加参数,其形式和内容是由具体的任务决定的,interrelations为和动作关联的关系集合,IA为InputAction缩写。
2.2 动作集合
动作集合是UCAV/UCGV任务结构分解出来的无序动作集合,即
IAS={IA1,IA2,…,IAn},
(4)
式中,IAS为InputActionSet的缩写,IAi表示任务结构分解出来的无序动作集合中第i个具体的动作。
2.3 解动作
解动作是UCAV/UCGV任务规划求解出来的某个具体动作,形式化描述为[11,13]:
OA= estimate_time,certainty,val,
location,attachPara,
interrelations,ac_threatcost,
ac_estimate_time,ac_val,ac_dis>,
(5)
式中,ac_threatcost为完成该动作后的累加威胁代价,ac_estimate_time为完成该动作后的累加预计时间,ac_val为完成该动作后的累加效果,ac_dis为完成该动作后的累加距离,OA为OutputAction缩写,其他参数意义和输入动作相同。
2.4 解序列
解序列是求解出来的UCAV/UCGV可以直接执行的动作序列,为解动作的有序集合,即
OAS={OA1,OA2,…,OAm},
(6)
式中,OAS为OutputActionSequence的缩写。
2.5 约束
UCAV/UCGV进行任务规划时需要满足一定的约束条件,这些约束可以是任务规划初始时设置的,也可以是战场环境中突发的任务约束,约束形式化表示为[1,14]:
constraint=