CBS多机器人路径规划

   单个机器人通过路径规划、运动控制,能够躲避环境中的障碍物,但会面临一个严峻的问题。当一个场景中存在多辆移动机器人时,即使每个机器人都有避障策略,也很容易就会造成道路拥堵、阻塞的情况,而且会随着机器人数量的增加变得更严峻。就像如果道路没有交通指挥系统,人们就会将有些道路挤得水泻不通,形成死锁的局面。为解决此问题,一种基于冲突的多机器人路径搜索方法(Confilct-Base search)应运而生。

CBS基本操作过程

   CBS由2个搜索过程组成,底层次的搜索过程负责为每个机器人搜索出一条有效路径,高层次的负责检查路径冲突,并选择出其中代价值最小的分支重新进行底层次的路径搜索,直到高层次的搜索过程发现有效路径为止。

高层次的搜索过程

  高层次的搜索过程主要有两个作用:

  1. 检查路径之间的冲突,并生成新的分支;
  2. 选出代价值最小的分支进行低层次的搜索;
      路径之间的冲突分为同一时刻占据同一个节点和同一时刻调换位置两种类型的冲突,如图(1)所示

图1

  当两条路径在n时刻检测到存在冲突的情况时,需要生成两个分支:第一个机器人在n时刻不能进入该节点和第二个机器人在n时刻不能进入该节点。

  在上述两个过程完成后,选择其中代价值最小的节点进行低层次的路径搜索过程。

低层次的搜索过程

  低层次的搜索过程与普通的路径规划方法类似,如Dirkstra、A*等。但其不同之处在于:

  1. 搜索过程中需要考虑额外的约束,即高层次搜索中添加的冲突;
  2. 在搜索过程中需要考虑原地等待的情况;

  由于在搜索过程中需要考虑到等待的情况,因此将时间也做为一个维度加入到路径搜索过程中,通常每次扩展搜索区域时,时间增加一个单位长度。

  通过高低两个搜索过程不断地运行,当问题的复杂程度不高时,能够及时得到比较好的结果。

实例讲解

  以下将通过一个简单的实例讲解CBS的基本过程,实例如图2所示。

图2 初始和目标状态

  CBS的搜索过程如图3所示。

图3 CBS搜索过程

  CBS开始时没有冲突约束,每个机器人按照各自的路径规划,得到节点1所示的路径结果,由于路径产生冲突,需要生成新的分支(节点2和节点3),节点2添加冲突为:1号在1时刻(从0时刻开始)不进入位置3,节点3添加冲突为:2号在1时刻不进入位置3。在约束的作用下进行低层次的搜索,节点2和节点3都搜索到了路径,但发生了新的冲突,由于节点2和节点3的代价值相等,可以从左边的节点(节点2)开始生成新的分支:节点4和节点5,然后对节点4和节点5进行低层次的搜索得到路径,最终节点5得到有效路径,搜索过程可以结束。

待改进的地方

  虽然CBS做为一个比较优秀的多机器人路径规划器,依然存在一些缺点影响它在实际中的应用。

  1. 当环境拥挤,机器人数目多时,计算时间比较长,甚至无解;
  2. 无法判断有些情况是否无解,导致程序无法结束运行,且一直消耗系统内存;
  3. 实际情况下,机器人需要原地旋转、有加减速度、运行存在误差,需要后续进一步处理才能在实际中运行;

推荐资料

  源程序:https://github.com/whoenig/libMultiRobotPlanning
  论文:Conflict-based search for optimal multi-agent pathfinding

CBS多机器人路径规划相关推荐

  1. CBS多机器人路径规划(Conflict-Based Search)

    目录 多机器人路径规划 CBS 多机路径规划 一些术语 顶层 生成树 底层 例子 总结 多机器人路径规划 多智能体路径规划 (Multi-Agent Path Finding, MAPF) 研究多智能 ...

  2. ECBS多机器人路径规划

    ECBS多机器人路径规划 多机器人路径规划 ECBS(Enhanced CBS) GCBS(Greedy-CBS) 顶层松弛 底层松弛 BCBS(Bounded Suboptimal CBS) 顶层搜 ...

  3. matlab蚁群算法 路径规划,基于蚁群算法的机器人路径规划MATLAB源码

    基于蚁群算法的机器人路径规划MA TLAB源码 使用网格离散化的方法对带有障碍物的环境建模,使用邻接矩阵存储该环境,使得问题转化为蚁群算法寻找最短路径. function [ROUTES,PL,Tau ...

  4. a算法和a*算法的区别_机器人路径规划算法,全局路径规划与局部路径规划究竟有哪些区别?...

       若步智能                  移动这一简单动作,对于人类来说相当容易,但对机器人而言就变得极为复杂,说到机器人移动就不得不提到路径规划,路径规划是移动机器人导航最基本的环节,指的是 ...

  5. 机器人路径规划_人工蜂群算法

    机器人路径规划_人工蜂群算法 原理 ABC(Artificial BeesColony)算法最先由Basturk等人提出并应用于函数优化问题,蜂群采蜜行为与函数优化问题对应关系如表1所示.由表1可知, ...

  6. 扫地机器人路径规划算法

    路径规划算法 路径规划技术是扫地机器人研究的核心内容之一,机器人定位与环境地图构建(后面雷锋网专栏将会更新)就是为路径规划服务的.所谓机器人路径规划技术,就是机器人根据自身传感器对环境的感知,自行规划 ...

  7. 机器人路径规划_人工势场法

    机器人路径规划_人工势场法 原理 人工势场法是由Khatib提出的一种虚拟力法.原理是:将机器人在环境中的运动视为一种机器人在虚拟的人工受力场的运动.障碍物对机器人产生斥力,目标点对机器人产生引力,引 ...

  8. Actin机器人控制软件,专注于机器人路径规划

    Actin机器人控制软件,专注于机器人路径规划 Energid Technologies是一家重点解决具有挑战性问题的机器人和机械视觉工程学的公司.客户包括机器人制造商,美国国防部多个分机构,以及美国 ...

  9. 人工智能学习之机器人路径规划优化

    人工智能学习之基于A*算法的机器人路径规划优化 前言 大三下学期,学习了人工智能,因为要备研,上课基本上没怎么听,故也就没怎么学,这是一门考查课,最后要完成布置的大作业,作为算分的依据,就选一个简单的 ...

最新文章

  1. 和12岁小同志搞创客开发:如何选择合适的传感器?
  2. 犀牛导出su文件错误插件错误_安利|一款免费插件blender-for-unrealengine
  3. boost::hana::map_用法的测试程序
  4. 《UG NX8.0中文版完全自学手册》一2.4 布局
  5. Net需要掌握的知识
  6. linux-shell-变量参数
  7. java中说明书/开发文档如何编写?
  8. 计算机中缺少mfc100.dll怎么办,大师为你细说win7系统启动程序提示计算机中丢失mfc100u.dll的解决技巧...
  9. python如何用xpath爬取指定内容_Python如何利用Xpath选择器爬取京东网商品信息
  10. HP 惠普笔记本电脑 禁用触摸板 在插入鼠标后
  11. 神经网络入门经典书籍,人工神经网络书籍推荐
  12. CRT控制台显示中文乱码问题
  13. uni-app 介绍,什么是uni-app,它是干嘛的
  14. 模糊聚类算法(FCM)
  15. 如何选择laravel的身份认证系统
  16. 量化评价和质化评价举例_量化评价和质性评价异同点
  17. 上海计算机专业哪个中专最好,上海有什么比较好的中专?
  18. grpc client No connection could be made because the target machine actively refused it
  19. Java毕设项目学生二手书籍交易平台计算机(附源码+系统+数据库+LW)
  20. HUAWEI 机试题:整数表达为连续自然数之和

热门文章

  1. ECCV 2020 | PHOSA:一种基于单目图像的人-物重建方法
  2. C++文件读写——字符串分割
  3. oracle基础-基本的查询,以及pl/sql登录
  4. VC++向txt文件中写入字符串
  5. 奥比中光Astra深度传感器工作原理
  6. Nat. Mach. Intel. | 突变后蛋白蛋白结合力的拓扑网络树预测模型
  7. RDKit | 比较化合物并通过PCA可视化化学空间
  8. 其他算法-浅谈小波变换
  9. Android逆向分析工具ded的使用
  10. tlb存的什么_什么是MMU,TLB