Skip to content

Latest commit

 

History

History
156 lines (106 loc) · 3.75 KB

presentation.md

File metadata and controls

156 lines (106 loc) · 3.75 KB
title author date
AGV调度系统的设计与实现
李秉权
2024-06-05

研究背景

本文的工作目的

  • 探究 AGV 调度系统的设计与实现
  • 让笔者拿到本科文凭

研究现状

  • 动态更新路径的权重,用各式各样的方法
  • 精细地计算 AGV 走行的成本,例如考虑转弯成本、加减速成本等

理论和技术基础

  • 有向图
  • 图的最短路径算法
  • 笔者的编程知识储备和经验

AGV 调度器以及配套仿真模拟程序

这是主要工作成果

地图模型

  • 就是一个连通的有向图,边成本都为1
  • 每个顶点容纳一个 AGV
  • 用地图顶点的 id 跟其他子系统交互。

货物模型

  • 三元组:(到达时间,运输起点,运输终点)
  • 任一货物运输任务可被任一 AGV 执行

AGV 模型

  • 状态:位置、是否载货、所载货物的信息
  • 算法:
    1. 空闲,停在原地
    2. 取货,走最短路径
    3. 送货,走最短路径
    4. 回到步骤1

AGV 调度程序

  • 功能:把货物运输任务分配给 AGV 去执行
  • 算法:
    1. 若某货物运输任务起点处有 AGV ,就将其分配给该 AGV 。
    2. 按照到达时间排序分配给随机一个 AGV 。

AGV 路线规划算法

就是用 Dijkstra 算法计算出来的最短路径

AGV 走行控制算法

  • 按照 AGV 路线规划算法计算出来的路线来走
  • 如果下一个节点已经被占用,就停在原地等待。

仿真模拟器

  • 实现仿真模拟主循环
  • 把其他模块耦合起来
  • 统计 AGV 走行数据
  • 统计货物运输任务执行情况
  • 输出 AGV 走行控制指令

小型十字路口地图

这是实验结果一

地图

括号表示开始时 AGV 的位置


     T(3001)
     |
L----X----R
     |
     B(3002)

货物运输任务

  1. (T,L,1)
  2. (B,R,2)

AGV 走行指令和任务分配

elapsed 3001 3002
0 idle at location 1001 idle at location 1003
1 assigned: 1001 ~~> 1004 assigned: 1003 ~~> 1002
2 1001->1000 1003->1003 (等待一个时间片)
3 1000->1004 1003->1000

elapsed 3001 3002
4 job arrived 1 completed 3 1000->1002
5 idle at location 1004 job arrived 1 completed 4
6 idle at location 1004 idle at location 1002

大型网格地图

这是实验结果二

地图

较小规模的 3x3 网格地图示意图,实际使用 10x10 网格地图

A---B---C
|   |   |
D---E---F
|   |   |
G---H---I

货物运输任务

随机生成6个任务,从一个角落运送到另一个角落,角落就是指在网格地图中只有2个邻接节点的那些节点。

AGV 走行指令和任务分配

详见论文

货物运输任务的完成情况的统计信息

指标名称 最小值 平均值 最大值
任务执行延迟 0 23.167 55
任务运输时间 9 23.833 36
任务周转时间 19 47 82

输出 AGV 走行数据的统计信息

指标名称 最小值 平均值 最大值
取货时间 24 39 54
送货时间 54 63 72

结论和不足

  • 本 AGV 调度系统功能完备,性能较好
    • 货物运输任务能及时的分配到空闲的 AGV 去处理
    • AGV 走行的距离最短
  • 调度算法在解决拥塞方面的表现一般