自动导引运输车的调度方法和系统.pdf

上传人:zhu****_FC 文档编号:11216394 上传时间:2021-09-12 格式:PDF 页数:24 大小:957.79KB
收藏 版权申诉 举报 下载
自动导引运输车的调度方法和系统.pdf_第1页
第1页 / 共24页
自动导引运输车的调度方法和系统.pdf_第2页
第2页 / 共24页
自动导引运输车的调度方法和系统.pdf_第3页
第3页 / 共24页
文档描述:

《自动导引运输车的调度方法和系统.pdf》由会员分享,可在线阅读,更多相关《自动导引运输车的调度方法和系统.pdf(24页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910057689.4 (22)申请日 2019.01.22 (71)申请人 北京沃东天骏信息技术有限公司 地址 100176 北京经济技术开发区科创十 一街18号院2号楼4层A402室 (72)发明人 丁攀 (74)专利代理机构 中原信达知识产权代理有限 责任公司 11219 代理人 张一军张效荣 (51)Int.Cl. G05B 19/418(2006.01) (54)发明名称 自动导引运输车的调度方法和系统 (57)摘要 本发明公开了自动导引运输车的调度方法 和系统,。

2、 涉及无人驾驶设备调度技术领域。 该方 法的一具体实施方式包括: 根据路径规划算法, 确定AGV当前任务的路径; 基于路径, 将资源分配 矩阵中与路径对应的元素设置为第一预设值; 对 于路径的每一路段, 依次执行下述步骤: 根据当 前的资源分配矩阵, 确定路段是否被占用; 若否, 根据当前的资源分配矩阵, 得到将路段分配给 AGV之后的路径矩阵, 根据路径矩阵, 判断将该路 段分配给AGV之后是否会发生死锁; 若否, 则将路 段分配给AGV, 并驱动AGV在该路段行驶, 当行驶 完路段之后, 将资源分配矩阵中与该路段对应的 元素更新为第二预设值。 该实施方式提高了系统 效率和自动化程度, 复杂。

3、度低, 灵活性高, 便于应 用。 权利要求书3页 说明书14页 附图6页 CN 111459100 A 2020.07.28 CN 111459100 A 1.一种自动导引运输车的调度方法, 其特征在于, 包括: 根据路径规划算法, 确定自动导引运输车当前任务的路径, 所述路径由多个路段和结 点组成; 基于所述路径, 将资源分配矩阵中与所述路径对应的元素设置为第一预设值, 当所述 元素为第一预设值时表示所述自动导引运输车申请所述元素对应的资源, 所述资源包括所 述路段和结点; 对于所述路径的每一路段, 依次执行下述步骤: 根据当前的资源分配矩阵, 确定所述路段是否被占用; 若否, 则根据当前的。

4、资源分配矩阵, 得到将所述路段分配给所述自动导引运输车之后 的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是否会 发生死锁; 若否, 则将所述路段分配给所述自动导引运输车, 并驱动所述自动导引运输车在所述 路段行驶, 当行驶完所述路段之后, 将资源分配矩阵中与该路段对应的元素更新为第二预 设值。 2.根据权利要求1所述的方法, 其特征在于, 所述方法还包括: 若确定发生死锁, 则控制所述自动引导运输车在当前位置等待预定时间, 等待完成之 后根据当前的资源分配矩阵, 确定所述路段是否被占用。 3.根据权利要求1所述的方法, 其特征在于, 所述方法还包括: 根据自动导。

5、引运输车的外形参数和地图信息, 确定相互干涉的路段和结点, 其中, 相互 干涉的路段和结点为不能同时存在自动引导运输车的路径和结点。 4.根据权利要求3所述的方法, 其特征在于, 根据当前的资源分配矩阵, 得到将所述路 段分配给所述自动导引运输车之后的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配 给所述自动导引运输车之后是否会发生死锁包括: 确定与所述路段相互干涉的路段和结点; 根据当前的资源分配矩阵和所述相互干涉的路段和结点, 得到将所述路段以及与所述 路段相互干涉的路段和结点分配给所述自动导引运输车之后的路径矩阵; 根据所述路径矩阵, 判断将所述路段以及与所述路段相互干涉的路段和结点。

6、分配给所 述自动导引运输车之后是否会发生死锁。 5.根据权利要求1所述的方法, 其特征在于, 根据所述路径矩阵, 判断将所述路段分配 给所述自动导引运输车之后是否会发生死锁包括: 判断所述路径矩阵的对角线元素的值是否为非第二预设值: 当存在为非第二预设值的对角线元素, 则确定发生死锁。 6.根据权利要求1-4任一项所述的方法, 其特征在于, 根据当前的资源分配矩阵, 得到 将所述路段分配给所述自动导引运输车之后的路径矩阵包括: 创建与所述资源分配矩阵行列数相同的第一路径矩阵, 所述第一路径矩阵的所有元素 的值为第二预设值; 基于所述第一路径矩阵, 依次将资源分配矩阵中值为第一预设值的元素所对应。

7、的边作 为待添加的边, 根据下式得到第二路径矩阵, 将所述第二路径矩阵作为新的第一路径矩阵; 基于所述新的第一路径矩阵, 将自动导引运输车的前行路段所对应的边作为新的待添 权利要求书 1/3 页 2 CN 111459100 A 2 加的边, 根据下式得到新的第二路径矩阵; 所述新的第二路径矩阵为将所述路段分配给所 述自动导引运输车后的路径矩阵; 根据所述新的第二路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是否会 发生死锁; 其中, (u, v)表示待添加的边, s, v用于表示通过待添加的边(u, v)以及始于u结点或终 止于v结点的边的数量, Mu用于表示终止于u结点的边的数量,。

8、 Mv用于表示始于v结点的边的 数量, Iu为单位列向量, 并且所述Iu中与u结点在资源分配图位置对应的元素为1, Iv为单位 横向量, 并且所述Iv中与v结点在资源分配图位置对应的元素为1, new表示第二路径矩阵, old表示第一路径矩阵。 7.根据权利要求6所述的方法, 其特征在于, 所述方法还包括: 确定地图中的环路路段和双向路段; 根据所述环路路段和双向路段, 将所述地图划分成至少一个子地图, 每个子地图对应 于一个子资源分配矩阵; 基于所述路径, 将资源分配矩阵中与所述路径对应的元素设置为第一预设值包括: 基 于所述路径, 将每个子资源分配矩阵中与所述路径对应的元素设置为第一预设值。

9、; 根据当前的资源分配矩阵, 确定所述路段是否被占用包括: 根据当前的子资源分配矩 阵, 确定所述路段是否被占用; 根据当前的资源分配矩阵, 得到将所述路段分配给所述自动导引运输车之后的路径矩 阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是否会发生死锁 包括: 根据当前的子资源分配矩阵, 得到将所述路段分配给所述自动导引运输车之后的子 路径矩阵, 根据所述子路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是否会 发生死锁。 8.一种自动导引运输车的调度系统, 其特征在于, 包括: 路径规划模块, 用于根据路径规划算法, 确定自动导引运输车当前任务的路径, 所述路 。

10、径由多个路段和结点组成; 矩阵更新模块, 用于基于所述路径, 将资源分配矩阵中与所述路径对应的元素设置为 第一预设值, 当所述元素为第一预设值时表示所述自动导引运输车申请所述元素对应的资 源, 所述资源包括所述路段和结点; 资源占用确定模块, 用于根据当前的资源分配矩阵, 确定所述路段是否被占用; 死锁判断模块, 用于在所述路段未被占用时, 根据当前的资源分配矩阵, 得到将所述路 段分配给所述自动导引运输车之后的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配 给所述自动导引运输车之后是否会发生死锁; 资源分配模块, 用于在确定未发生死锁时, 将所述路段分配给所述自动导引运输车, 并 驱动所。

11、述自动导引运输车在所述路段行驶, 当行驶完所述路段之后, 将资源分配矩阵中与 该路段对应的元素更新为第二预设值。 9.一种电子设备, 其特征在于, 包括: 一个或多个处理器; 权利要求书 2/3 页 3 CN 111459100 A 3 存储装置, 用于存储一个或多个程序, 当所述一个或多个程序被所述一个或多个处理器执行, 使得所述一个或多个处理器实 现如权利要求1-7中任一所述的方法。 10.一种计算机可读介质, 其上存储有计算机程序, 其特征在于, 所述程序被处理器执 行时实现如权利要求1-7中任一所述的方法。 权利要求书 3/3 页 4 CN 111459100 A 4 自动导引运输车的。

12、调度方法和系统 技术领域 0001 本发明涉及无人驾驶设备调度技术领域, 尤其涉及一种自动导引运输车的调度方 法和系统。 背景技术 0002 随着工业自动化技术的发展, AGV(Automated Guided Vehicle, 自动导引运输车) 越来越多地应用在物流领域, 包括电商物流以及工业车间中。 在AGV调度中, 如何避免AGV碰 撞或死锁从而提高系统效率, 都是需要解决的问题。 0003 目前, 常用的方法包括基于区域控制技术实现调度和基于petri网模型实现调度。 其中, 区域控制技术是预先根据地图中的路径, 将可能发生碰撞和死锁的路段看作一个整 体, 如图1所示, 两个矩形框所确。

13、定的范围就是两个区域, 如果一辆AGV的路径是1-2-3, 那 么当其走到路段2时会占据路段4, 因为路段2和路段4是在一个区域内。 petri网模型多适用 于描述离散系统中的进程或者事件的顺序、 并发、 冲突等关系, 多AGV系统具备并发的特点, 因此petri网模型也被应用于AGV系统的建模。 petri网模型将AGV系统中的路径和AGV等看 作标识, 通过分析petri网模型避免系统出现碰撞和死锁。 0004 在实现本发明过程中, 发明人发现现有技术中至少存在如下问题: 0005 基于区域控制技术实现调度的策略在运行时往往需要人为地去添加区域, 自动化 程度受到影响, 系统效率低, 而且。

14、如何合理的去规划各个区域可能并不是很直观。 基于 petri网模型实现调度的策略在系统建模时比较复杂, 而且一旦系统元素发生变化, 如AGV 数量和路径等发生变化后, 重新更改模型比较复杂, 费时费力。 而且petri网的分析本身也 比较复杂。 发明内容 0006 有鉴于此, 本发明实施例提供一种自动导引运输车的调度方法和系统, 能够基于 资源分配图进行建模, 通过资源分配矩阵反映AGV与资源的占用关系, 基于资源分配矩阵得 到路径矩阵, 根据路径判断是否发生死锁的技术手段, 能够避免死锁。 对于不同的应用环 境, AGV数量和资源都不同, 而该方法可以很方便的实现自动映射, 自动化程度高, 。

15、复杂度 低, 灵活性高, 便于应用; 在是否发生对死锁进行分析时, 提出根据具体的地图特征进行分 析计算, 提高了系统的效率; 在调度AGV的过程中将避碰和死锁统一了起来, 能够更充分地 避免死锁。 0007 为实现上述目的, 根据本发明实施例的一个方面, 提供了一种自动导引运输车的 调度方法, 包括: 0008 根据路径规划算法, 确定自动导引运输车当前任务的路径, 所述路径由多个路段 和结点组成; 0009 基于所述路径, 将资源分配矩阵中与所述路径对应的元素设置为第一预设值, 当 所述元素为第一预设值时表示所述自动导引运输车申请所述元素对应的资源, 所述资源包 说明书 1/14 页 5 。

16、CN 111459100 A 5 括所述路段和结点; 0010 对于所述路径的每一路段, 依次执行下述步骤: 0011 根据当前的资源分配矩阵, 确定所述路段是否被占用; 0012 若否, 则根据当前的资源分配矩阵, 得到将所述路段分配给所述自动导引运输车 之后的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是 否会发生死锁; 0013 若否, 则将所述路段分配给所述自动导引运输车, 并驱动所述自动导引运输车在 所述路段行驶, 当行驶完所述路段之后, 将资源分配矩阵中与该路段对应的元素更新为第 二预设值。 0014 可选地, 所述方法还包括: 若确定发生死锁, 则控。

17、制所述自动引导运输车在当前位 置等待预定时间, 等待完成之后根据当前的资源分配矩阵, 确定所述路段是否被占用。 0015 可选地, 所述方法还包括: 根据自动导引运输车的外形参数和地图信息, 确定相互 干涉的路段和结点, 其中, 相互干涉的路段和结点为不能同时存在自动引导运输车的路径 和结点。 0016 可选地, 根据当前的资源分配矩阵, 得到将所述路段分配给所述自动导引运输车 之后的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是 否会发生死锁包括: 0017 确定与所述路段相互干涉的路段和结点; 0018 根据当前的资源分配矩阵和所述相互干涉的路段和结点, 得到。

18、将所述路段以及与 所述路段相互干涉的路段和结点分配给所述自动导引运输车之后的路径矩阵; 0019 根据所述路径矩阵, 判断将所述路段以及与所述路段相互干涉的路段和结点分配 给所述自动导引运输车之后是否会发生死锁。 0020 可选地, 根据所述路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是 否会发生死锁包括: 0021 判断所述路径矩阵的对角线元素的值是否为非第二预设值: 0022 当存在为非第二预设值的对角线元素, 则确定发生死锁。 0023 可选地, 根据当前的资源分配矩阵, 得到将所述路段分配给所述自动导引运输车 之后的路径矩阵包括: 0024 创建与所述资源分配矩阵行列数相同的。

19、第一路径矩阵, 所述第一路径矩阵的所有 元素的值为第二预设值; 0025 基于所述第一路径矩阵, 依次将资源分配矩阵中值为第一预设值的元素所对应的 边作为待添加的边, 根据下式得到第二路径矩阵, 将所述第二路径矩阵作为新的第一路径 矩阵; 0026 基于所述新的第一路径矩阵, 将自动导引运输车的前行路段所对应的边作为新的 待添加的边, 根据下式得到新的第二路径矩阵; 所述新的第二路径矩阵为将所述路段分配 给所述自动导引运输车后的路径矩阵; 0027 根据所述新的第二路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是 否会发生死锁; 说明书 2/14 页 6 CN 111459100 A 。

20、6 0028 0029 其中, (u, v)表示待添加的边, s, v用于表示通过待添加的边(u, v)以及始于u结点 或终止于v结点的边的数量, Mu用于表示终止于u结点的边的数量, Mv用于表示始于v结点的 边的数量, Iu为单位列向量, 并且所述Iu中与u结点在资源分配图位置对应的元素为1, Iv为 单位横向量, 并且所述Iv中与v结点在资源分配图位置对应的元素为1, new表示第二路径 矩阵, old表示第一路径矩阵。 0030 可选地, 所述方法还包括: 确定地图中的环路路段和双向路段; 根据所述环路路段 和双向路段, 将所述地图划分成至少一个子地图, 每个子地图对应于一个子资源分配。

21、矩阵; 0031 基于所述路径, 将资源分配矩阵中与所述路径对应的元素设置为第一预设值包 括: 基于所述路径, 将每个子资源分配矩阵中与所述路径对应的列元素设置为第一预设值; 0032 根据当前的资源分配矩阵, 确定所述路段是否被占用包括: 根据当前的子资源分 配矩阵, 确定所述路段是否被占用; 0033 根据当前的资源分配矩阵, 得到将所述路段分配给所述自动导引运输车之后的路 径矩阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是否会发生 死锁包括: 根据当前的子资源分配矩阵, 得到将所述路段分配给所述自动导引运输车之后 的子路径矩阵, 根据所述子路径矩阵, 判断将所述路。

22、段分配给所述自动导引运输车之后是 否会发生死锁。 0034 为实现上述目的, 根据本发明实施例的另一方面, 提供了一种自动导引运输车的 调度系统, 包括: 0035 路径规划模块, 用于根据路径规划算法, 确定自动导引运输车当前任务的路径, 所 述路径由多个路段和结点组成; 0036 矩阵更新模块, 用于基于所述路径, 将资源分配矩阵中与所述路径对应的元素设 置为第一预设值, 当所述元素为第一预设值时表示所述自动导引运输车申请所述元素对应 的资源, 所述资源包括所述路段和结点; 0037 资源占用确定模块, 用于根据当前的资源分配矩阵, 确定所述路段是否被占用; 0038 死锁判断模块, 根据。

23、当前的资源分配矩阵, 得到将所述路段分配给所述自动导引 运输车之后的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动导引运输车 之后是否会发生死锁; 0039 资源分配模块, 用于在确定未发生死锁时, 将所述路段分配给所述自动导引运输 车, 并驱动所述自动导引运输车在所述路段行驶, 当行驶完所述路段之后, 将资源分配矩阵 中与该路段对应的元素更新为第二预设值。 0040 可选地, 所述系统还包括延时等待模块, 用于在确定发生死锁时, 则控制所述自动 引导运输车在当前位置等待预定时间; 0041 资源占用确定模块还用于等待完成之后在根据当前的资源分配矩阵, 确定所述路 段是否被占用。。

24、 0042 可选地, 所述系统还包括干涉分析模块, 用于根据自动导引运输车的外形参数和 地图信息, 确定相互干涉的路段和结点, 其中, 相互干涉的路段和结点为不能同时存在自动 引导运输车的路径和结点。 说明书 3/14 页 7 CN 111459100 A 7 0043 可选地, 所述死锁判断模块还用于: 0044 确定与所述路段相互干涉的路段和结点; 0045 根据当前的资源分配矩阵和所述相互干涉的路段和结点, 得到将所述路段以及与 所述路段相互干涉的路段和结点分配给所述自动导引运输车之后的路径矩阵; 0046 根据所述路径矩阵, 判断将所述路段以及与所述路段相互干涉的路段和结点分配 给所述。

25、自动导引运输车之后是否会发生死锁。 0047 可选地, 所述死锁判断模块还用于: 判断所述路径矩阵的对角线元素的值是否为 非第二预设值: 当存在为非第二预设值的对角线元素, 则确定发生死锁。 0048 可选地, 死锁判断模块根据如下过程得到将所述路段分配给所述自动导引运输车 之后的路径矩阵: 0049 创建与所述资源分配矩阵行列数相同的第一路径矩阵, 所述第一路径矩阵的所有 元素的值为第二预设值; 0050 基于所述第一路径矩阵, 依次将资源分配矩阵中值为第一预设值的元素所对应的 边作为待添加的边, 根据下式得到第二路径矩阵, 将所述第二路径矩阵作为新的第一路径 矩阵; 0051 基于所述新的。

26、第一路径矩阵, 将自动导引运输车的前行路段所对应的边作为新的 待添加的边, 根据下式得到新的第二路径矩阵; 所述新的第二路径矩阵为将所述路段分配 给所述自动导引运输车后的路径矩阵; 0052 根据所述新的第二路径矩阵, 判断将所述路段分配给所述自动导引运输车之后是 否会发生死锁; 0053 0054 其中, (u, v)表示待添加的边, s, v用于表示通过待添加的边(u, v)以及始于u结点 或终止于v结点的边的数量, Mu用于表示终止于u结点的边的数量, Mv用于表示始于v结点的 边的数量, Iu为单位列向量, 并且所述Iu中与u结点在资源分配图位置对应的元素为1, Iv为 单位横向量, 。

27、并且所述Iv中与v结点在资源分配图位置对应的元素为1, new表示第二路径 矩阵, old表示第一路径矩阵。 0055 可选地, 所述系统还包括地图划分模块, 用于: 确定地图中的环路路和双向路段; 将所述地图划分成至少一个子地图, 每个子地图对应于一个子资源分配矩阵; 0056 矩阵更新模块还用于: 基于所述路径, 将每个子资源分配矩阵中与所述路径对应 的列元素设置为第一预设值; 0057 资源占用确定模块还用于: 根据当前的子资源分配矩阵, 确定所述路段是否被占 用; 0058 死锁判断模块还用于: 根据当前的子资源分配矩阵, 得到将所述路段分配给所述 自动导引运输车之后的子路径矩阵, 根。

28、据每个所述子路径矩阵, 判断将所述路段分配给所 述自动导引运输车之后是否会发生死锁。 0059 为实现上述目的, 根据本发明实施例的又一方面, 提供了一种电子设备, 包括: 一 个或多个处理器; 存储装置, 用于存储一个或多个程序, 当所述一个或多个程序被所述一个 或多个处理器执行, 使得所述一个或多个处理器实现本发明实施例的自动导引运输车的调 说明书 4/14 页 8 CN 111459100 A 8 度方法。 0060 为实现上述目的, 根据本发明实施例的另一方面, 提供了一种计算机可读介质, 其 上存储有计算机程序, 其特征在于, 所述程序被处理器执行时实现本发明实施例的自动导 引运输车。

29、的调度方法。 0061 上述发明中的一个实施例具有如下优点或有益效果: 因为采用基于资源分配图进 行建模, 通过资源分配矩阵反映AGV与资源的占用关系, 基于资源分配矩阵得到路径矩阵, 根据路径判断是否发生死锁的技术手段, 能够避免死锁。 对于不同的应用环境, AGV数量和 资源都不同, 而该方法可以很方便的实现自动映射, 自动化程度高, 复杂度低, 灵活性高, 便 于应用; 在是否发生对死锁进行分析时, 提出根据具体的地图特征进行分析计算, 提高了系 统的效率; 在调度AGV的过程中将避碰和死锁统一了起来, 能够更充分地避免死锁。 0062 上述的非惯用的可选方式所具有的进一步效果将在下文中。

30、结合具体实施方式加 以说明。 附图说明 0063 附图用于更好地理解本发明, 不构成对本发明的不当限定。 其中: 0064 图1是现有技术中基于区域控制技术的调度方法的示意图; 0065 图2是本发明一实施例的资源分配图的示意图; 0066 图3是根据本发明实施例的自动导引运输车的调度方法的主要流程的示意图; 0067 图4是在资源分配图的基础上添加一条边的示意图; 0068 图5是本发明另一实施例的局部地图的示意图; 0069 图6-1和图6-2是图5所示的实施例的资源分配图的示意图; 0070 图7是根据本发明实施例的自动导引运输车的调度系统的主要模块的示意图; 0071 图8是本发明实施。

31、例可以应用于其中的示例性系统架构图; 0072 图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意 图。 具体实施方式 0073 以下结合附图对本发明的示范性实施例做出说明, 其中包括本发明实施例的各种 细节以助于理解, 应当将它们认为仅仅是示范性的。 因此, 本领域普通技术人员应当认识 到, 可以对这里描述的实施例做出各种改变和修改, 而不会背离本发明的范围和精神。 同 样, 为了清楚和简明, 以下的描述中省略了对公知功能和结构的描述。 0074 为方便理解, 下面先介绍本发明实施例中涉及到的技术术语。 0075 资源分配图用于描述资源的分配情况, 资源分配图是一种有向图。

32、, 一个资源分配 图G由结点集V以及边集E组成, AGV调度系统的状态可以通过资源分配图和资源分配矩阵进 行表示。 在AGV调度系统中, AGV看作是请求资源的实体, 路径和结点等看作资源, 也可以将 实际应用环境中的其他元素如充电站看作资源。 AGV在路径上的行驶过程可以看作对资源 的占用和释放过程。 AGV调度系统的系统状态变化时涉及资源的申请和占用, 这种变化需要 对应到资源分配图中, 资源分配图的变化包括添加边和删除边。 0076 资源分配图存储为一个资源分配矩阵, 在本发明实施例中设置, 当资源分配矩阵 说明书 5/14 页 9 CN 111459100 A 9 中的元素为第一预设值。

33、(例如1)时表明实体申请资源或资源被分配给某个实体, 空闲的资 源所对应的元素为第二预设值(例如0)。 0077 作为具体的示例, 如图2所示为资源分配图。 在该示例中, 圆圈表示请求资源的实 体, 方框表示资源。 圆圈和方框内的参数表示AGV或路段的标识或编号。 圆圈指向方框的箭 头表示实体申请该资源, 方框指向圆圈的箭头表示该资源被分配给一个实体。 0078 作为具体的示例, 如图2所示为资源分配图对应的资源分配矩阵为: 0079 0080 该资源分配图对应的路径矩阵为: 0081 0082 其中, 路径矩阵根据资源分配矩阵计算得到, 其计算过程如下: 0083 创建一个与资源分配矩阵行列。

34、数相同的第一路径矩阵, 初始路径矩阵中所有的元 素为0; 0084 依次资源分配矩阵中为1的元素所对应的边作为待添加的边, 根据下式得到第二 路径矩阵, 第二路径矩阵就是图2所对应的路径矩阵; 0085 0086 其中, (u, v)表示待添加的边, s, v用于表示通过待添加的边(u, v)以及始于u结点 或终止于v结点的边的数量, Mu用于表示终止于u结点的边的数量, Mv用于表示始于v结点的 边的数量, Iu为单位列向量, 并且所述Iu中与u结点在资源分配图位置对应的元素为1, Iv为 单位横向量, 并且所述Iv中与v结点在资源分配图位置对应的元素为1, new表示第二路径 矩阵, ol。

35、d表示第一路径矩阵。 0087 路径矩阵反映了结点之间的连通性。 在图2中, u指向s, 因此资源分配矩阵中u行s 列的元素为1(在本示例中, 第一预设值为1, 第二预设值为0), 其代表u可以到达s, 但是u不 能达到v, u行v列的元素就是0; 而w-tv, 说明w可以到达t, 也可以通过t到达v, 所以w行t列 和w行v列的元素都是1。 直观上来看, 就是从1个结点可否通过箭头到达另一个结点, 若可 以, 则由这两个结点确定的元素为1, 否则为0。 0088 路径矩阵中的元素代表资源之间的相互占用关系, 对角线上为1的元素表示两个 AGV在资源上相互占用的关系, 而资源的相互占用代表系统。

36、死锁。 其中, 死锁是指多个AGV都 占据了对方的路径, 以至于相应的多个AGV都无法继续前行。 死锁会影响系统的运行效率。 0089 在本发明实施例中, AGV看作是请求资源的实体, 路径和结点等看作资源, 则资源 说明书 6/14 页 10 CN 111459100 A 10 分配矩阵的形式为: 0090 0091 其中, V表示AGV, S代表路段, N代表结点, 数字为编号。 矩阵中相应元素代表一辆 AGV是否请求资源或资源是否已经被分配给AGV, 当某个元素表示为1表示AGV请求一个资源 或者资源已经分配给AGV。 在本发明实施例的方法中规定: 前3行元素中与资源对应的列元 素为1表。

37、示该资源被请求, 例如第4列第1行的元素、 第4列第2行的元素或第4列第3行的元素 为1则表示资源S1被请求, 前3列中与资源对应的行元素为1表示该资源被占用, 例如第1列 第4行的元素、 第1列第5行的元素、 第1列第6行的元素或第1列第7行的元素为1则表示资源 S1、 S2、 N1或N2被占用。 0092 图3是根据本发明实施例的自动导引运输车的调度方法的主要流程示意图, 如图3 所示, 该方法包括: 0093 步骤S301: 根据路径规划算法, 确定自动导引运输车当前任务的路径, 所述路径由 多个路段和结点组成。 0094 在应用中, 将自动导引运输车的工作区域抽象称为地图模型(也可以称。

38、为有向 图)。 具体的, 地图模型可以是矢量点线段网络模型。 路径由多个路段构成, 路段包括一个起 始结点和一个终止结点。 结点是矢量点, 具有方向, 表示自动导引运输车经过该结点时需要 沿特定的方向。 自动导引运输车在执行任务时需要从一个站台行驶到另一个站台, 根据预 设的路径规划算法为其规划路径。 0095 其中, 路径规划算法可以是Dijkstra算法, 也可以是A*算法等, 本发明在此不做限 制。 Dijkstra算法也可以称为迪杰斯特拉算法, 其是从一个顶点到其余各项点的最短路径 算法, 解决的是有向图中最短路径问题, 其主要特点是以起始点为中心向外层层扩展, 直到 扩展到终点为止。。

39、 A*算法(A-Star算法)是一种静态路网中求解最短路径最有效的直接搜索 方法, 也是解决许多搜索问题的有效算法, 该算法中的距离估算值与实际值越接近, 最终搜 索速度越快。 0096 步骤S302: 基于所述路径, 将在资源分配矩阵中与所述路径对应的元素设置为第 一预设值, 以表示所述自动导引运输车申请所述元素对应的资源, 所述资源包括所述路段 和结点。 0097 在本发明实施例中, 可以预先规定哪些位置的元素可以用来表示实体申请资源以 及哪些位置的元素可以用来表示资源被实体占用, 具体的请参考上文的示例。 0098 对于所述路径的每一路段, 依次执行下述步骤S303-S307: 0099。

40、 步骤S303: 根据当前的资源分配矩阵, 确定所述路段是否被占用; 0100 步骤S304: 若被占用, 则等待一段时间(等待时间可以灵活设置), 之后执行步骤 S303; 说明书 7/14 页 11 CN 111459100 A 11 0101 步骤S305: 若未被占用, 则根据当前的资源分配矩阵, 得到将所述路段分配给所述 自动导引运输车之后的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动导 引运输车之后是否会发生死锁; 0102 步骤S306: 若发生死锁, 则控制所述自动引导运输车在当前位置等待预定时间, 等 待完成之后执行步骤S303。 其中, 所述预定时间可以根据。

41、实际应用场景灵活设置, 本发明在 此不做限制。 0103 步骤S307: 若没有发生死锁, 则将所述路段分配给所述自动导引运输车, 并驱动所 述自动导引运输车在所述路段行驶, 当行驶完所述路段之后, 将资源分配矩阵中与该路段 对应的元素更新为第二预设值。 0104 对于步骤S303, 根据预先设置的规定, 确定资源分配矩阵上所述路段对应的元素 是否为1。 例如, AGV的前行路段为S1, S1在资源分配矩阵上对应的位置为第4行, 则分别确定 第4行前3个元素是否为1, 若存在为1的元素, 则确定所述路段被占用; 若所有元素都是0, 则 确定该路段没有被占用。 0105 对于步骤S304, 当A。

42、GV的前行路段没有被占用时, 则假设将该路段被占用, 根据上 文可知资源被占用则对应于添加边, 应该在资源分配图中添加一条边。 0106 具体的, 根据如下过程获得添加边之后的路径矩阵: 0107 创建与所述资源分配矩阵行列数相同的第一路径矩阵, 所述第一路径矩阵的所有 元素的值为第二预设值; 0108 基于所述第一路径矩阵, 依次将资源分配矩阵中值为第一预设值的元素所对应的 边作为待添加的边, 根据下式得到第二路径矩阵, 将所述第二路径矩阵作为新的第一路径 矩阵; 0109 基于所述新的第一路径矩阵, 将自动导引运输车的前行路段所对应的边作为新的 待添加的边, 根据下式得到新的第二路径矩阵;。

43、 所述新的第二路径矩阵为将所述路段分配 给所述自动导引运输车后的路径矩阵; 0110 0111 其中, (u, v)表示待添加的边, s, v用于表示通过待添加的边(u, v)以及始于u结点 或终止于v结点的边的数量, Mu用于表示终止于u结点的边的数量, Mv用于表示始于v结点的 边的数量, Iu为单位列向量, 并且所述Iu中与u结点在资源分配图位置对应的元素为1, Iv为 单位横向量, 并且所述Iv中与v结点在资源分配图位置对应的元素为1, new表示第二路径 矩阵, old表示第一路径矩阵。 0112 当添加一个边(u,v)时, 通过边(u,v)的路径数量将会发生变化。 设到达结点u的路。

44、 径数量由Mu表示, 从结点v开始的路径数量由行向量Mv表示, 通过边(u,v)的路径数量将由Mu 和Mv相互作用产生。 通过向Mu加上单位列向量Iu, 向Mv加上单位行向量Iv, 反映出始于结点u 和终止于结点v的路径数量。 用uv代表通过边(u,v)以及始于u结点或终止于v结点的路径 数量, 则: 0113 0114 对上式的含义说明如下: MuMv表示非u, v结点之间的路径变化, MuIv表示非u结点到 说明书 8/14 页 12 CN 111459100 A 12 v结点的路径变化, IuMv表示u结点到非v结点的路径变化, IuIv表示u结点到v结点之间的路 径变化。 这样, 资源。

45、分配图中所有的结点之间的路径关系都得以改变。 0115 作为具体的示例, 在图4所示, 在图2所示的资源分配图上添加一条边(s, v)。 在添 加边(s, v)之前, 资源分配图对应的路径矩阵old为: 0116 0117 则sv为: 0118 0119 0120 对于步骤S306, 当将该路段分配给AGV后的路径矩阵的任一对角线元素是0, 则表 示没有引起死锁, 则确定没有引起系统死锁, 即该AGV可以占用资源。 0121 在上述步骤S303-S307是依次按照路段的先后顺序执行的, 即在判断死锁时每次 判断了一个路段。 在其他可选的实施例中, 在判断死锁时可以预判多步(即预判多个路段), 。

46、从而提高系统效率。 0122 在可选的实施例中, 本发明实施例的方法还包括: 0123 根据自动导引运输车的外形参数和地图信息, 确定相互干涉的路段和结点, 相互 干涉的路段和结点为不能同时存在自动引导运输车的路径和结点。 0124 由于AGV是有外形的, 所以在某些路段和结点上不能同时存在AGV, 否则AGV可能在 这些路段上发生碰撞。 因此, 本实施例确定相互干涉的路段和结点, 即进行干涉分析的目的 就是判断哪些路段和结点不能同时存在AGV。 干涉分析可以离线完成(即预先完成), 因为一 说明书 9/14 页 13 CN 111459100 A 13 旦地图绘制完成, 路径和结点之间的干涉。

47、关系也就确定了。 0125 进一步的, 本发明实施例的根据当前的资源分配矩阵, 得到将所述路段分配给所 述自动导引运输车之后的路径矩阵, 根据所述路径矩阵, 判断将所述路段分配给所述自动 导引运输车之后是否会发生死锁包括: 0126 确定与所述路段相互干涉的路段和结点; 0127 根据当前的资源分配矩阵和所述相互干涉的路段和结点, 得到将所述路段以及与 所述路段相互干涉的路段和结点分配给所述自动导引运输车之后的路径矩阵; 0128 根据所述路径矩阵, 判断将所述路段以及与所述路段相互干涉的路段和结点分配 给所述自动导引运输车之后是否会发生死锁。 作为具体的示例, 在如图5所示的局部地图 中, 。

48、自动导引运输车A的路径为: N1-S0-N2-S1-N3-S2-N4-S3-N5, 自动导引运输车B 的路径为: N6-S5-N7-S4-N4-S2-N3-S1-N2-S0-N1, 资源分配如图6-1所示。 在图5 中, S2, S4会发生干涉(干涉分析是路径绘制完成后就可以做的, 提前离线进行干涉分析, 系 统运行时就可以使用), N7和S2干涉。 如果将S5和N7分配给自动导引运输车B, S2也需要分配 给自动导引运输车B。 如果此时将S5, N7分配给自动导引运输车B, 资源分配图将如图6-2所 示, 将形成环N1-A-S2-B-N1, 根据上文中的步骤, 计算资源分配矩阵后得到的路径矩。

49、阵 的对角线上存在非0的元素, 也即将形成死锁。 这种情况是不允许的, 所以此时不能将S5和 N7分配给自动导引运输车B。 0129 由该例子可以看出, 如果只考虑所规划路径是否死锁, 则B车可以驶到路段S5的终 点N7, 但是实际考虑避碰时, B车驶到节点N7是不允许的, 否则就将形成死锁。 如果N7不和路 段S2干涉, 则B车可以行驶到N7点。 因此, 本发明实施例的方法基于资源分配图的算法将避 碰和死锁避免统一起来, 能够更充分地避免死锁, 提高了系统效率和可靠性。 0130 在可选的实施例中, 所述方法还包括: 0131 确定地图中的环路路段和双向路段; 0132 根据所述环路路段和双。

50、向路段, 将所述地图划分成至少一个子地图, 每个子地图 对应于一个子资源分配矩阵。 0133 则步骤302包括: 基于所述路径, 将每个子资源分配矩阵中与所述路径对应的列元 素设置为第一预设值; 0134 步骤S303包括: 根据当前的子资源分配矩阵, 确定所述路段是否被占用; 0135 步骤S305包括: 根据当前的子资源分配矩阵, 得到将所述路段分配给所述自动导 引运输车之后的子路径矩阵, 根据所述子路径矩阵, 判断将所述路段分配给所述自动导引 运输车之后是否会发生死锁。 0136 本实施例中, 根据地图上路径的连接特点搜索出环路和双向路径, 在进行死锁分 析时可以只在环路和双向路径上进行。

展开阅读全文
内容关键字: 自动 导引 运输车 调度 方法 系统
关于本文
本文标题:自动导引运输车的调度方法和系统.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/11216394.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1