1.conflict based search(CBS)基于冲突的搜索

CBS基于冲突的搜索是最优最先进的混合MAPF算法,比较主流且有较好效果。

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

针对多AGV路径规划,采用基于冲突的搜索算法CBS,将MAPF分为两层去求解,下层采用优化的基于曼哈顿距离的A*算法解决多个单AGV路径规划问题,算法的上层采用约束树结点解决多个 AGV 路径间的冲突问题。

2.流程

目标函数: 总成本(sum of costs):各个 agent 完成的时间步长之和

假设: 将连续时间离散化为时间步长; 每个时间步长执行一个动作; 在每个时间步长里,每个 agent 只占据一个节点;

流程:

(1)下层使用A*算法求出多个单AGV路径规划。

(2)引入优先级队列 open list,将约束树根节点R放入open list,以R.cost为键值,R包含R.constraints(为空),R.solution(多个单AGV的路径规划集合),R.cost(解的成本)。

(3)open list取出成本最低的结点N,N.solution无冲突,则N.cost为所求解;否则,对第一个冲突处理,针对冲突的点,分裂为若干个子节点,继承当前结点的全部约束和解,并分别添加新的约束,更新路径和cost值。

(4)重复执行(3)操作,直到open list的成本最低节点N的解无冲突或求解失败

3.改进方案

CBS的改进:CBS的上层和下层都使用了A*,如果想让其运算更快,一个很常见的算法是用wA*。通过给h乘一个w,使得f更偏向于h的值,这样可以更快找到解,并且解在最坏情况下不超过w倍最优解。但是其表现会比CBS更差。这是因为在CBS中,h的值没有考虑中途可能包含的碰撞信息。

CBS基于冲突的搜索算法流程和核心相关推荐

  1. 基于冲突的搜索算法(CBS)个人笔记

    CBS 实例 以下将通过一个简单的实例体现CBS的基本过程: 讲解: 上层 结点:指的是每个"小方格": 节点:树的节点: (ai, aj, s, t):ai与aj在t时刻都在s结 ...

  2. 基于价值链的流程框架分类_基于价值的类

    基于价值链的流程框架分类 在Java 8中,某些类在Javadoc中有一个小注释,说明它们是基于值的类 . 其中包括简短说明的链接,以及有关不使用它们的限制. 这很容易被忽略,如果这样做,则可能会在将 ...

  3. 搞一下整车以太网技术 | 04 CBS基于信用整形

    前言 搞一下整车以太网技术系列会从通信协议栈出发,从物理层最基础的技术开始,以拼图的方式逐步展开每个相关通信协议的技术细节,为读者朋友们提供学习汽车以太网技术的平台.全系将涵盖汽车以太网PHY技术.T ...

  4. 审批流程java 代码_基于jsp的企业流程审批系统-JavaEE实现企业流程审批系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的企业流程审批系统, 该项目可用各类java课程设计大作业中, 企业流程审批系统的系统架构分为前后台两部分, 最终实 ...

  5. 基于Android13的系统启动流程分析(三)之FirstStageMain阶段

    Android13系统启动阶段大致分为FirstStageMain阶段和SecondStageMain,此章主要讲FirstStageMain阶段 (若分析有误敬请指教) 本章讲解的方向和你将收获的知 ...

  6. 华为:流程的核心是要反映业务的本质

    "流程的核心是要反映业务的本质,还原以后,该是谁的就是谁的.管理不要在流程体系外循环." 此文为华为前副总裁费敏关于流程化组织建设的讲话,详细地讲解了华为在流程型组织建设中遇到的问 ...

  7. cesium 加载bim模型_构建统一CIM数字底盘,实现基于BIM的全流程管控

    ▲点击关注,收获更多GIS精彩 2009年,SuperMap发布了首款二三维一体化GIS软件,首次提出了二三维一体化GIS技术.随后,二三维一体化的应用系统不断涌现,二三维一体化技术逐步成为三维GIS ...

  8. (绝对正确)Zabbix基于lamp的安装流程

    目录 Zabbix基于lamp的安装流程... 1 1安装Mysql... 1 先安装相关的库和工具... 1 Mysql的安装... 1 2httpd的安装... 2 先安装相关的库和工具... 2 ...

  9. 掌握基于switch语句的流程控制测试分析 1221

    掌握基于switch语句的流程控制测试分析 1221 01 02

最新文章

  1. 【CodeForces】961 F. k-substrings 字符串哈希+二分
  2. Android Gson的使用总结
  3. 重写0-1背包问题的回溯法,使算法能输出最优解
  4. Android RecyclerView 向上偏移解决、添加自定义分割线,瀑布流,ScrollView嵌套RecyclerView滑动卡顿
  5. 服务业小店店主生活和工作洞察报告
  6. 『飞鸽』彻底学通string.Format以及IFormattable,IFormatProvider,ICustomFormatter
  7. vb6 获取zip列表_深入学习redis(压缩列表)
  8. [原] Android中Scroller类的分析
  9. 二等水准数据平差_自编单次二等水准平差计算表
  10. 数据挖掘实战—基于水色图像的水质评价
  11. matlab定积分上界求解,定积分问题的数值求解及Matlab实现
  12. 在线文本字符串转十六进制工具
  13. AndroidEditText常用属性
  14. 开关插头插座寿命试验机标准
  15. Handler内存泄漏-解决:使用静态类和弱引用
  16. 超强大的数学计算器——WolframAlpha(含安卓下载连接)
  17. 先电iaas云平台搭建(openstack)————搭建过程
  18. 消防应急疏散指示系统在某居民社区综合体项目的应用
  19. 李振杰:腾讯入股京东=京东引狼入室
  20. php+ajax上传文件

热门文章

  1. 电脑配置单5(自用勿删)
  2. html打造动画【系列2】- 可爱的蛙蛙表情
  3. linux c++ 学习记录
  4. 如何用excel筛选相似内容_excel表格怎么筛选相同内容
  5. 天源石化举行国庆前消防应急-装车台液态烃泄漏演练
  6. es6的15道面试题
  7. Docker|Maven编译推送Docker服务器生成镜像
  8. A/Btest小项目实操
  9. 会议签到评分系统功能需求2020-5-9
  10. Qt crator警告This does noy seem to be a “Debug“ build