系列文章目录

Agv、Rgv 车辆控制调度系统开发第二篇(理论片)

文章目录

  • 系列文章目录
  • 前言
  • 一、什么是调度系统?
    • 问题
  • 二、问题分析
    • 1.寻找路线
    • 2.避碰算法
    • 3.移车算法
    • 4.解锁算法
  • 总结
  • 预告
    • 链接
    • 详细算法讲解新篇章

前言

这篇要讲什么我想了很久,最终还是决定将理论,没有好的理论知识是无法写出好的系统的。
我从一下几点分析下什么是调度系统

一、什么是调度系统?

个人见解,很直白的说调度系统就是让车从A点到B点的一个过程,但是在这个过程当中会有很多问题,只有解决了这些问题才能称为调度系统。

问题

  1. A点到B点的路线怎么走最合理(选路)
  2. 运行过程中如何避免和其他车辆产生冲突(避碰)
  3. 有其他的车挡住了路线怎么办(移车)
  4. 如果和其他有任务的车产生了冲突怎么办(解锁)
    上面的是移动过程中的主要问题,今天就先分析这几项

二、问题分析

1.寻找路线

对于找路线这件事,其实已经不是很大的问题了,现在市面上的这种算法有很多,比如:A*,D*,F*,这些算法都是很成熟的寻路算法,只需要找一个合适的算法去理解和使用就行了,不管用什么算法一定要做到熟练使用,如果不熟练,就会有很多问题,比如:比如屏蔽的路线,拣选点,入库口这些地方的处理,如果对算法不熟悉是很难精细化调整的。

2.避碰算法

避碰是调度系统的核心,我觉得只要不碰撞上其他问题都是好说的,一旦撞了就涉及到车辆和货物损伤和赔偿问题。
如何才能不碰撞哪,我的做法是在节点对象上加两个属性,一个是预约车辆,一个是占用车辆,
举例:A车预约了1001这个位置,其他的车就不允许在预约这个位置了,如果1001被A车占用了,其他车就不允许在过来了,如何确定预约位置,我的做法是(载货/空车刹车距离)根绝当前位置计算出安全距离,在安全距离内的路线只要没有被预约,就可以预约使用。、

3.移车算法

移车算法我使用的是定时任务,定时去路线对象里面去找有没有车在路线上,找到占用的车辆使用递归的方式找安全位置移动过去。

4.解锁算法

解锁算法其实就是移车算法的扩展,我的做法是定时去查当前路线是否和其他路线重叠,如果重叠可能会形成死锁,提前给能安排路线的车重新规划路线,把原路线的权重加大,如果已经形成死锁了,就调用移车算法,上面的流程是一个周期,3-5个周期就可以解锁了。

总结

上面的理论就是我完成整套系统的核心理论。
用几张实际截图验证上面的理论



预告

下期讲地图编辑器,因为只有有了地图编辑器才能编辑地图,测试代码。

链接

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

详细算法讲解新篇章

调度系统核心算法第一篇-交通管制

Agv、Rgv 车辆控制调度系统开发第二篇相关推荐

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

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

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

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

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

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

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

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

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

    Agv.Rgv 车辆控制调度系统开发第五篇-避碰 前言 上期结束的时候说讲避碰,这期就主要谈一下避碰的原理,避碰是之前给其他人讲调度时,别人提了一个场景里面有三种车,10种货架问我怎么调度,当时确实被 ...

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

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

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

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

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

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

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

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

最新文章

  1. 分享我设计的iOS项目目录结构
  2. 【易创课堂】第3期,最后2天报名啦!
  3. yii2之原生sql
  4. DM入门之Apriori小结
  5. 牛客 13822 Keep In Line(枚举与暴力、Python)
  6. spark-sql建表语句限制_SparkSQL
  7. 使用ZooKeeper实现分布式队列、分布式锁和选举详解
  8. PDE9 wave equation: general solution
  9. 微信小程序保存canvas绘制的图片到本地,拒绝图片授权后继续授权
  10. Ps 初学者教程,如何使用图层蒙版合成图像?
  11. Flyod和Warshall
  12. 【验证码识别】基于matlab GUI不变矩验证码识别(带面板)【含Matlab源码 095期】
  13. AAA和radius协议学习
  14. python pptx 替换图片_python win32com批量导出.ppt/.pptx文件所有图片
  15. 存储单元,字,MAR,存储字长,存储字,存储容量
  16. 关于流式计算和Excel的练习题
  17. leedcode.203移除链表元素
  18. layui向body添加html_layui使用教程 html引入layui教程-layui下载
  19. thinkpadt410接口介绍_T410 DisplayPort接口详解
  20. 嵌入式计算机是专用计算机吗,什么是嵌入式计算机?

热门文章

  1. 描述自己性格的英语单词(优点)
  2. Backtrader(十) - 经纪行 Broker
  3. CRM平台十点功能帮助企业提高销售营销技巧(下)
  4. Altium Designer 2023介绍
  5. 闭环控制[Python]
  6. python爬取豆瓣评论,并制作成词云
  7. mysql 赋予用户权限 grant all privileges on
  8. 关于校招和嵌入式软开的学习路线的总结和一些思考
  9. [原创]华为战略管理培训体会
  10. 《JAVA》课程设计报告--企业人力资源管理系统