大数跨境
0
0

静态交通管制之标准锁生成

静态交通管制之标准锁生成 AGV调度管理系统
2021-01-18
0
导读:本章将结束静态交通管制中关于标准锁的内容,通过前面章节获得的占用矩形来生成标准锁。

本章将结束静态交通管制中关于标准锁的内容,通过前面章节获得的占用矩形来生成标准锁。

更多精彩内容请前往AGV调度管理系统技术中心


本章目录

简介

矩形相交测试

临时锁关系数据持有者

开始生成锁关系

开始相交测试

确定锁关系

初始化锁关系

向标准锁中添加锁



简介

标准锁StandardLock---一种在软件层面解决/防止AGV碰撞的管制逻辑。

当AGV位于一条线段上时,系统会锁定一些线段,以避免其他AGV进入这些锁定的线段而与当前agv产生物理碰撞。这种根据一条线段来锁定其他线段的方式成为“锁关系”。

 

标准锁的通俗解释---谁在什么情况下释放谁。

这句话一共有三个Object,谁,什么情况下,释放谁。其中的这两个“谁”很容易理解,就是线段Segment嘛,也就是:哪个线段在什么情况下释放哪个线段。

线段锁关系类型SegmentLockReleaseType就是“在什么情况下”的对象名称。

它包括:NoBlock,    //不锁,线段A不锁定线段B

              OnDistance,   //在线段A行驶一段距离之后释放线段B

              OnReleaseBehind,  /在线段A被释放后释放线段B

              OnExit,   //在退出时

              OnLeave   //在离开后

例子:

当AGV在段5上走了800mm后释放段2---OnDistance

当AGV离开段1时释放段22---OnLeave

 

标准锁对象建立:

standardLock=new Dictionary<int,InternalSegmentLock>,key为第一个“谁”,值internalSegmentLock包括:第二个谁+释放类型+距离,距离只有在释放类型为OnDistance时有值。

两个例子(现在可以看不懂,之后会详解其中文字的意思):

例子1:线段5在AGV在段5上行驶了800mm后释放段2。

算法运行前我们应该为其准备一些输入参数。包括:某个线段(假如是线段1)的占用矩形组(agvOccupancyRegionsOnInternalSegment)及其与之相交的所有占用矩形(intersectedRegions)。

 

在将上面两个参数输入到相关算法之前,我们先对其中的占用矩形排序,占用矩形排序规则:

【声明】内容源于网络
0
0
AGV调度管理系统
全球最专业AGV调度管理系统知识库,基于AI人工智能技术(深度学习、大数据处理、数字孪生、元宇宙、混合现实)的集群控制系统架构设计、智能逻辑组织、机器人模型搭建、管制算法实现
内容 54
粉丝 0
AGV调度管理系统 全球最专业AGV调度管理系统知识库,基于AI人工智能技术(深度学习、大数据处理、数字孪生、元宇宙、混合现实)的集群控制系统架构设计、智能逻辑组织、机器人模型搭建、管制算法实现
总阅读4
粉丝0
内容54