Optimal Sequential Task Assignment and Path Finding for Multi-Agent Robotic Assembly Planning

介绍

本文想解决一种MAPF问题的变体,称为PC-TAPF。在该变体中有很多任务是anonymous的,即哪个agent去执行哪个任务都可以,同时任务之间有类似于“任务A必须在任务B结束后再开始”的线性依赖关系。本文在问题定义上属于在CBS-TA上更进一步,加入了任务之间的依赖。本文中没有提及可以多agent协作,属于一个agent拿到一个任务就执行到底。

方法

为了解决这个套壳再套壳的问题,作者提出了一个套壳再套壳四层结构的算法。

  • 第一层是用mixed integer linear programming(MILP)来不断产生当agent之间不发生碰撞时的task分配序列(MILP是NP的,但似乎实际解起来比较快)。很明显这是PC-TAPF问题的一个简化版本,那么这个序列就会实际上提供一个最终makespan的下限,这个下限正好可以作为第一层本身best-first search的admissible heuristics function。这一层在进行best-first search时对每个node,即一种task分配序列都会调用第二层的CBS来得到一个合法结果(当然也有可能no solution),这使得best-first search能够及时终止。
  • 第二层是CBS,每当第三层返回了conflict时,就产生两个新的搜索节点。就是普通的CBS。
  • 第三层是Incremental Slack-Prioritized Search(ISPS)。这个名字看起来很复杂,但是做的事情很简单,其实就是在第一层给定的任务分配序列和任务依赖关系生成一个拓扑序,然后按照这个拓扑序和第二层带来的constraint来调用第四层的A*以一点点生成每个agent的solution。一个有趣的地方是在计算中会通过发现关键路径来给予不关键路径更多的时间冗余。
  • 第四层是一种修改过的A,来生成带有冗余的路径。
    作者提出第三层导致整个算法并不complete,但似乎后两层可以直接替换成MLA
    来保证complete。

你可能感兴趣的:(Optimal Sequential Task Assignment and Path Finding for Multi-Agent Robotic Assembly Planning)