Agv、Rgv 车辆控制调度系统开发第五篇-避碰

前言

上期结束的时候说讲避碰,这期就主要谈一下避碰的原理,避碰是之前给其他人讲调度时,别人提了一个场景里面有三种车,10种货架问我怎么调度,当时确实被问住了,晚上回去想了一夜想出了一个概念(把空间锁起来,我给他起名叫-空间锁

一、什么是空间锁

空间锁就从文字上就很好理解,也就是空间的锁定,被某一辆车锁定的空间就只属于这两车其他的车不能进入。

二、如何实现空间锁

1.为什么要用空间锁

上面已经解释过了多车型混用,各种尺寸的货架在狭小的环境下如何避免碰撞,为了解决这个问题我想出了这个方案。

2.怎么实现的空间锁

我是怎么想出空间锁的哪?
其实道理很简单,我以前是个游戏迷喜欢完各种游戏,当我想解决这个问题的时候,我想到的是跑跑卡丁车这个游戏,玩游戏的时候车碰到墙壁会减速,碰到其他车会有碰撞效果,游戏是怎么知道车和车碰撞了的。
根据上面的思路我goole了游戏里面的碰撞原理,结合调度重构了一套空间锁定算法,我叫他ABS算法。

游戏中用的是AABB算法

针对空间锁的介绍我在写完后发不过一篇文章,想深入了解可以看下这篇文章。
AGV车辆调度系统开发-空间锁介绍

总结

所有的难点想通了都是很简单的,只是没人愿意去想。
总是有人要我分享源码,我没打算开源,如果你想做可以跟着我的思路来,试着先写一行代码在写第二行,一点点积少成多,有一天当你抬头的时候你会发现你抱着的已经是一颗参天大树了。
我的调度已经写到4.0了,今年已经在两个项目上验证过了。
最开始也是从1行代码开始的-到现在的几十万行。

Agv、Rgv 车辆控制调度系统开发第五篇-避碰相关推荐

  1. Agv、Rgv 车辆控制调度系统开发第八篇-错误纠正

    Agv.Rgv 车辆控制调度系统开发第八篇-错误纠正 前言 开始写博客到现在也有一年多了,这一年多分析了调度的很多东西,我也全网搜索过,网上真正分享调度知识的基本没有,虽然我也没有把核心的代码展示出来 ...

  2. Agv、Rgv 车辆控制调度系统开发第四篇

    Agv.Rgv 车辆控制调度系统开发第四篇 车辆调度模拟器 前言 一.车辆模拟器是什么? 二.如何做模拟器 1.动作仿真模拟器 2.完全仿真模拟器 总结 下期预告 系列文章链接 其他文章 新篇章 前言 ...

  3. Agv、Rgv 车辆控制调度系统开发第六篇-流程控制器

    Agv.Rgv 车辆控制调度系统开发第六篇-流程控制器 Agv.Rgv 车辆控制调度系统开发第六篇-流程控制器 Agv.Rgv 车辆控制调度系统开发第六篇-流程控制器 前言 一.PCS是什么? 二.P ...

  4. Agv、Rgv 车辆控制调度系统开发第三篇

    Agv.Rgv 车辆控制调度系统开发第三篇地图编辑器 Agv.Rgv 车辆控制调度系统开发第三篇地图编辑器 Agv.Rgv 车辆控制调度系统开发第三篇地图编辑器 前言 一.GOJS 二.使用步骤 1. ...

  5. Agv、Rgv 车辆控制调度系统开发第二篇

    系列文章目录 Agv.Rgv 车辆控制调度系统开发第二篇(理论片) 文章目录 系列文章目录 前言 一.什么是调度系统? 问题 二.问题分析 1.寻找路线 2.避碰算法 3.移车算法 4.解锁算法 总结 ...

  6. Agv、Rgv 车辆控制调度系统开发第一篇

    Agv.Rgv 车辆控制调度系统第一篇 为什么要做这个系统 先看作品 从头讲起 算法讲解 编程语言 从哪里开始 继续深入 预告 链接 问题解答 为什么要做这个系统 说白了是为了赚钱,在一个项目中发现公 ...

  7. Agv、Rgv 车辆控制调度系统开发知识点篇

    拖欠更新说明 因为最近工作比较忙,把更新的事给忘了,看到好多人的催更,然后紧急补上一篇大家先了解下知识点 创建目录结构 上一次讲到,做调度系统需要的几个目录 1.寻路 2.避碰 3.解锁 4.任务调度 ...

  8. 车辆控制调度系统(问题解答)

    文章目录 前言 一.为什么把算法单独列出来? 前言 刚才有同学私信我说为什么把算法单独列出来,在这里我单独开一篇问题解答的博客,有问题都可以在这下面评论,不用私信,我肯定会解答的. 另外留下我的微信方 ...

  9. 公安情报指挥一体化合成作战平台建设,指挥调度系统开发

    公安情报指挥一体化合成作战平台建设,指挥调度系统开发 华盛恒辉软件开发公安情报指挥一体化分解作战平台围绕"集成"."场景"."工具"三个关键 ...

最新文章

  1. js动态创建html控件,通过JS动态添加html控件后,添加样式以及OnClick
  2. [TCP/IP] 关闭连接后为什么客户端最后还要等待2MSL
  3. 基于springboot2.x集成缓存注解及设置过期时间
  4. python装饰器setter_第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter...
  5. 描述一下JVM加载class文件的原理机制
  6. allan方差 imu_MEMS-IMU随机误差的Allan方差分析
  7. codeblock无法新建工程_龙园路顶管工程顶管机顺利始发,项目预计明年5月完工...
  8. python模块下载网址
  9. C#一种简单处理假死的方法
  10. 安卓 IOS上架流程
  11. 变电所无人值守系统的优点
  12. 这算通过审核了么?接下来还有没有什么坑,求大神指点!--酷课堂iOS交流群问答精华整理(201808期)
  13. AppScan 扫描web应用程序
  14. hexo latex 换行 多行公式 终极解决方案
  15. 黑窗口下安装MySQL数据库
  16. AssertionError: Some objects had attributes which were not restored:
  17. yarn部署及Linux的OOM、clean机制
  18. linux 字符集转换命令,Linux下GBK编码到UTF-8文件编码转换方法
  19. 不用PLC Smart触摸屏与多台变频器通信 变频器通讯西门子触摸屏直接与台达VFD-S1和松下VF100变频器MODBUS RTU通讯,
  20. 计算机数学课程标准,小学数学课程标准解读

热门文章

  1. Promisification
  2. 安装集群图形化界面(Dashboard )、海外构建镜像
  3. 微信自动回复群聊机器人
  4. 七、PyQt5文件及文件夹操作(高级应用篇)
  5. matlab signaltap,一种matlab调用signaltap采集数据的方法
  6. 成为机器学习大神,你不能不懂数学
  7. 带bitlocker解密的pe_bitlocker解锁工具
  8. linux查看wifi信号命令_无线信号强度解析及linux如何查看wifi信号强弱等
  9. 【app测试】实战1:(华为真机)抖音自动化浏览
  10. 桌面图标变成白色怎么办?