多机器人路径规划
多智能体路径规划 (Multi-Agent Path Finding, MAPF) 研究多智能体的路径规划算法,为多机系统规划无冲突的最优路径.
CBS(Conflict-Based Search) 是一种基于冲突的 MAPF 算法, CBS 算法给出 MAPF 问题的全局最优结果.
参考文献:
CBS 多机路径规划
CBS是一种中央规划算法(Centralized Planning for Distributed Plans),什么意思呢?也就是由一台主机作为中央控制器,在全局视角生成每一台机器人的路径并统筹解决冲突.除了中央规划算法,还有分布式规划算法(Distributed Planning for Centralized Plans,Distributed Planning for Distributed Plans)等,具体可以参考这篇综述 Survey of the Multi-Agent Pathfinding Solutions.
CBS 是一族方法.算法的思想主要将多机规划分为两层,底层执行带有约束的单机规划,例如用传统 A* 算法,顶层遍历底层的规划路径,检查路径之间是否有冲突,如果有冲突则施加约束重新进行底层单机规划,直到所有底层路径无冲突为止.
一些术语
先来讲讲CBS定义的一些术语:
- p a t h path path: 一条机器人的路径,也就是我们平时用得最多的单机规划结果
- s o l u t i o n solution solution: 多机系统中所有机器人的 p a t h path path 的集合( n n n 条 p a t h path path),也就是 mapf 算法的全局规划结果
- c o n f l i c t conflict conflict: 冲突.上述的 s o l u t i o n solution solution 中, n n n 条 p a t h path path 之间可能会有冲突(没冲突当然皆大欢喜了).具体的描述形式为 ( a i , a j , v , t ) (a_i, a_j, v, t) (ai,aj,v,t) ,表示在时刻 t t t, a i a_i ai 和 a j a_j aj 同时占据了顶点 v v v. 拿栅格地图来说,就是在时刻 t t t, a i a_i ai 和 a j a_j aj 同时占据了矩阵的一个格子 m a t r i x ( i , j ) matrix(i, j) matrix(i,j).
- c o n s t r a i n t s constraints constraints: 约束.一个约束 ( a i , v , t ) (a_i, v, t) (ai,v,t) ,表示在时刻 t t t, a i a_i ai 不能占据顶点 v v v.
顶层
CBS算法顶层使用约束树(Search the Constraint Tree (CT))数据结构来解决底层冲突,大概长这样:

其实就是一颗树(可以设计成二叉树或者多叉树),树的每个节点除了有指向子节点的指针,还包括:
-
- 约束( c o n s t r a i n t s constraints constraints) : 约束根据冲突( c o n f l i c t s conflicts conflicts)得到
-
- 当前计算的全局路径( s o l u t i o n solution solution, 注意这个可能包含冲突,一旦无冲突即为全局最优路径, 算法退出)
-
- 全局代价 c o s t cost cost
生成树
顶层算法中,最核心的一点就是树的生成,也就是说从父节点 N N N 该如何生成子节点 N N

本文介绍了多智能体路径规划问题(MAPF)以及CBS算法的工作原理。CBS通过两层规划解决冲突,底层使用如A*算法进行单机规划,顶层通过约束树解决冲突,生成无冲突的全局路径。算法在冲突发生时将约束分叉到子节点,确保最终找到全局最优解。此外,文章提到了CBS的优化变种ECBS,用于提高效率并提供有界次优结果。
5810

被折叠的 条评论
为什么被折叠?



