欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 一种多无人机任务分配和路径规划联合问题的优化方法独创技术14403字

一种多无人机任务分配和路径规划联合问题的优化方法

2021-03-30 11:41:51

一种多无人机任务分配和路径规划联合问题的优化方法

  技术领域

  本发明属于多无人机控制领域有,特别涉及了一种多无人机任务分配和路径规划方法。

  背景技术

  在多无人机的任务分配问题中,它需要解决的是多架无人机在执行多项任务时各无人机做什么的问题,遵循以最小的代价完成各子任务的原则。通常认为,一个无人机一次只执行一个任务,而每个任务只需要一个代理,这是一个典型的NP(Non-DeterministicPolynomial,非确定多项式)问题。多无人机路径规划需要多无人机在有障碍的环境中寻找从起点到终点的次优或最优路径,同时考虑到避障,这同样是个NP问题。

  目前对上述两个问题进行了大量研究。对多无人机的任务分配问题的建模方法有时间约束模型、博弈论模型等,采用的算法有匈牙利算法、分布式算法、粒子群算法等等。对多无人机的路径规划问题更多的集中在优化算法上,将遗传算法、蚁群算法、Bezier曲线算法等成功应用于多无人机的路径规划问题中,取得了不错的效果。然而这些针对的都是多无人机任务分配或路径规划问题的单独研究,却很少把这两个问题联合到一起考虑。即使在最好的任务分配方案下进行最优的路径规划,也不一定是问题的最优解。因为无人机在执行任务时相互之间会发生路径冲突,造成相互阻拦甚至停滞的现象,执行任务的效率大大降低。这种情况尤其是在无人机在狭窄空间中执行任务时表现得更加明显。所以多无人机任务分配和路径规划联合问题的建模和求解是非常重要的。

  发明内容

  为了解决上述背景技术提到的技术问题,本发明提出了一种多无人机任务分配和路径规划联合问题的优化方法。

  为了实现上述技术目的,本发明的技术方案为:

  一种多无人机任务分配和路径规划联合问题的优化方法,将多无人机任务分配问题和路径规划问题构建为二维、已知环境以及同构无人机的静态联合优化问题;采用动态构建搜索树的基于冲突的任务搜索算法,将任务逐级分配给无人机,并对无人机进行路径规划;通过决策变量定义搜索树的节点,所述决策变量包括分配给无人机的任务列表和避免的状态列表。

  进一步地,在构建静态联合优化问题时将对问题的状态空间、无人机初始状态、任务联合状态、线路图以及路径非冲突约束进行定义。

  进一步地,所述分配给无人机的任务列表定义了无人机必须按顺序执行的任务序列;所述避免的状态列表定义了在规定时刻避免发生的无人机状态。

  进一步地,所述基于冲突的任务搜索算法包括扩展节点、目标测试和路径搜索功能;所述扩展节点,通过搜索树将任务逐级分配给无人机,将任务和无人机相对应的所有可能情况列出,并添加路径冲突的节点;所述目标测试,作用于搜索树中的所有节点,要求节点没有冲突并且要分配所有任务;所述路径搜索功能,根据分配的任务和避免的状态计划单个无人机路径。

  进一步地,所述路径搜索功能是在线路图上使用A*算法,所述A*算法包括启发式函数和成本函数。

  采用上述技术方案带来的有益效果:

  针对现有技术多数都是对多无人机任务分配或路径规划作单独研究,本发明旨在为多无人机协同任务分配和路径规划联合问题提供了一种新的解决方法。仿真实验表明,面对较低数量的任务和无人机,本发明表现出较快的计算速度,并能提供最优的解决方案。本发明可以为多无人机协同探测与侦查、物流机器人货物分配和运输提供很好的解决方案。

  附图说明

  图1是本发明中构建搜索树的TCBS算法流程图;

  图2是本发明中搜索树基本原理图;

  图3是TCBS算法和MINLP算法仿真结果对比图;

  图4是TCBS算法和Greedy算法仿真结果对比图;

  图5是TCBS算法、MINLP算法和Greedy算法求解不同任务数量时算法运行时间示意图。

  具体实施方式

  以下将结合附图,对本发明的技术方案进行详细说明。

  本发明设计了一种多无人机任务分配和路径规划联合问题的优化方法,具体内容如下。

  1、问题模型的构建

  状态空间的定义:假设有一个状态空间χ和n个无人机,这些无人机具有联合状态x=(x1,...,xn)∈χn。有m个任务的集合t={t1,t2,..,tm},且n>m,每个由开始状态和目标状态组成,一旦无人机访问任务的开始姿势,它就会自动分配给无人机任务,这个时候任务便处于执行状态。此时无人机就和任务固连起来,在它的任务没完成之前不能接受其他的任务。问题在于找到每个无人机j的最小持续时间T以及完成每个任务的路径Pj。

  线路图的定义:定义每个路径Pj由T+1个状态序列组成:即其中为无人机j的起始状态,而表示相邻的无人机前一时刻的状态。邻接关系由线路图定义,该路线图针对每个x∈χ定义其领域为

  路径以及路径非冲突约束的定义:给定路径{P1,...,Pn}的集合,为了使它们不发生冲突(无人机不直接相互碰撞),应该对于任意的t,j,k都有另外为了使两个无人机之间的运动不发生冲突,他们不得在路线图上交换位置,即对于任意的t,j,k有

  当给定了无人机j的路径Pj,可以根据时间步长T来计算无人机j在已有任务i∈{1,...,m}条件下的隐式任务从Pj到的映射是唯一的。这就表明:如果无人机访问其开始状态并仅在达到任务目标时才结束,则任务自动变为活动状态。还可以定义任务i是否由唯一地通过路径Pj完成。因此,要想知道是否完成了所有任务,可以通过判断是否为所有无人机的找到了对应的路径Pj。

  综上所述,问题的输入是无人机的初始状态定义的路线图以及任务集t。输出是所有无人机完成每个任务和路径{P1,...,Pn}的总时间。在路径约束的条件下,所有任务都必须实现。最终的要求是完成每个任务所需的总时间最小。

  最佳解决方案的持续时间是根据给定路线图中经过的网格数量来衡量的。解决方案中持续时间是以实际时间为单位的,所以在设定无人机速度不变的条件下,持续时间就对应于路线的长度。

  2、搜索算法

  通过动态构建搜索树的基于冲突的任务搜索(Task Conflict-Based Search,TCBS)算法来最佳地解决。TCBS算法是在所有无人机的任务分配级别上进行的搜索的方法,可以解决有路径冲突约束的问题,如图1所示。

  1)决策变量:对于多无人机问题,需要考虑路径冲突的约束。为了解决路径冲突约束,本发明采用基于冲突的任务搜索方法。在搜索树中引入其他的决策变量,这些决策在无人机路径上施加明确的避免约束的指令。用离散决策变量定义搜索树的节点,其中s.τ定义分配给无人机的任务,而为s.β包含被避免的状态(或两个状态之间的运动)。

  首先建立分配列表:对于每个无人机j,定义τj,j∈{1,...,n}为一个分配列表。每个分配列表τj=[tj0,tj1,...]定义了无人机j必须按顺序执行的任务序列,其中每个列表元素tjk∈{1,...,m}引用一个任务。

  然后建立回避列表:对于每个无人机j,定义βj,j∈{1,...,n}为一个回避列表。每个列表可以包含多个避免的状态:βj=(βj0,βj1,...),其中βjk表示状态xβ在时间Tβ处避免发生。

  2)搜索树:搜索树将任务逐级分配给无人机,而且在搜索的过程中,还可以添加节点解决路径冲突。搜索树的基本过程:如果当前没有正在运行的任务,将从根节点中的空分配开始。因此,一开始,所有任务和所有无人机均未分配。在每个节点上,执行以下两种扩展类型之一:(a)如果无人机之间不存在冲突:将一个尚未分配的任务的所有可能组合的子代添加到一个无人机。这意味着该任务将添加到无人机的程序任务列表的末尾。(b)否则,如果检测到无人机之间有冲突,扩展会在节点处添加避免冲突的状态(或两个状态之间的运动)并体现在线路图中。

  3)扩展节点:图2显示了多次扩展后的搜索树。两种不同类型的扩展如何塑造树特别明显,每个框代表一个节点。实线框节点的添加用来分配扩展,而虚线框节点的添加用来解决冲突问题。图2中,第二级显示了大分支因子,在这种情况下为6个分支。最左边的节点代表一个状态,这个状态下第一个无人机执行任务0。在显示的第三层中,分配被进一步扩展,以使最左边的节点指示一种状态,其中第一个无人机将执行任务1,然后执行0。在最右边的节点中发生冲突,可以在第四级通过避免组态来解决冲突。最后一个未分配的任务0被分配给第一个无人机,这样就为最后一级的左叶节点提供了解决方案。

  4)目标测试:作用于搜索树中的所有节点,用来检测路径冲突和未分配的任务。

  5)路径搜索功能:这将根据分配的任务和避免的状态(或两个状态之间的运动)计划单个无人机路径。在线路图上使用A*算法。A*算法包括启发式函数(h(s)函数)和成本函数(g(s)函数)组成。

  启发式函数能够计算出每一个未分配的任务离该任务最近的无人机之间距离的总和,代理的位置s可以是其开始位置,也可以是先前执行任务的目标状态的位置。启发式函数可以告诉A*从任何节点s到目标节点的最小代价评估值,控制A*算法的行为。启发式函数h(s)和理论最优成本h*(s)有如下关系:

  对于任意节点s,有h(s)≤h*(s)。

  启发式函数考虑了最接近的无人机到任务目标的距离,这一定小于实际路径距离:Distance(closestagent,start(task))≤Path(assignedagent,start(task)),其中Distance(a,b)是一种可以返回两个点之间的曼哈顿距离的方法。

  成本函数评估节点的成本,也就是所有无人机从初始位置到目前位置s的实际代价。当无人机完成所有任务时,成本函数就是无人机完成所有任务的总代价或总时间。此方法还用于通过计算单个无人机路径来评估节点中是否存在冲突。如果检测到冲突,仍会计算成本。它允许通过更改任务分配来自由地解决冲突。

  另外,缓存先前计算出的路径以多次使用。如果路径在前面提到的缓存中存在,则返回最短路径的实际距离。对于运输任务的长度,最优标准与单无人机路径查找相同:Distance(start(task),goal(task))≤Path(start(task),goal(task))。

  3、算法对比

  (1)TCBS算法和MINLP算法比较

  MINLP算法是处理多无人机任务分配和路径规划问题的算法,它将任务分配看作是混合整数线性问题,通过Bonmin求解器处理,并使用CBS算法处理路径查找问题。

  图3中的(a)是模拟实际情形的网络图,设定有两个无人机和两个任务。图3中的(b)中左边是TCBS算法解决方案。该图是关于时间的三维图,z轴表示时间,问题状态对应图形基底。表1为在TCBS算法和MINLP算法方案下无人机完成任务的时间。图3中的(b)右边为MINLP的解决方案,它把两个任务分别分配给无人机。由于线路图中可以通行的路段非常狭窄,无人机执行任务时会相互堵塞,所以无人机需要绕更远的路(花费20个时间单位)来完成任务。相比之下,TCBS算法只用了一个无人机就能完成两个任务,并且有更短的路程和更少的时间,表现出较好特性。

  表1

  (2)TCBS算法和Greedy算法比较。

  Greedy算法是一种简单的本地搜索算法,它使用次优的最近邻居搜索将任务逐步分配给代理。它可以找到当前最接近的未分配的代理和任务,或者找到要连续执行的任务。然后通过CBS算法来求解多无人机路径规划问题。

  图4中的(a)采用8x8大小的网络图,随机生成密度为20%的障碍物,随机生成四个无人机和四个任务。图4中的(b)为两种算法仿真结果,表2为两种算法中每个无人机完成任务的时间。TCBS算法为无人机找到了最优的任务分配方案,并在路径冲突约束条件下完成了路径规划,无人机任务完成的总时间较短。而Greedy算法表现出比较差结果,无人机完成任务所需时间较长,因为它并没有找到最优的任务分配方案。

  表2

  (3)三种算法运行时间对比

  图5为TCBS算法、MINLP算法和Greedy算法在求解不同任务数量时算法的运行时间图。对每种算法的每个任务数量随机测试了十个数据。由于多无人机的任务分配问题是一个NP问题,随着问题维数的增长,问题复杂程度呈指数级别增长。TCBS算法和MINLP算法是对问题进行了全局搜索,都表现出了这种特性。但是在问题数量比较少的时候,TCBS算法相比于MINLP表现出更快求解时间。而Greedy算法随着问题数量的增加其规划时间增加不明显,这是因为Greedy算法总是直接安排距离任务最近的无人机去执行任务。

  综上,TCBS算法在任务数量较低时算法运行时间最快且得到的解决方案最优。

  实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

《一种多无人机任务分配和路径规划联合问题的优化方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)