CN116880476B - 一种基于交通管控的agvs运行控制方法 - Google Patents
一种基于交通管控的agvs运行控制方法 Download PDFInfo
- Publication number
- CN116880476B CN116880476B CN202310818997.0A CN202310818997A CN116880476B CN 116880476 B CN116880476 B CN 116880476B CN 202310818997 A CN202310818997 A CN 202310818997A CN 116880476 B CN116880476 B CN 116880476B
- Authority
- CN
- China
- Prior art keywords
- agv
- agvs
- road section
- deadlock
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000032258 transport Effects 0.000 claims abstract description 35
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 238000013439 planning Methods 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 230000035484 reaction time Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 6
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/60—Electric or hybrid propulsion means for production processes
Landscapes
- Traffic Control Systems (AREA)
Abstract
一种基于交通管控的AGVS运行控制方法,包括以下步骤:定义AGV在运行时的交通管控规则以及冲突死锁检测点;获取待搬运的货物集合,查询空闲AGV集合,按照货物的到达顺序进行搬运任务的下发;使用路径规划算法对货物的运输路径进行规划,并获取当前搬运任务的搬运起点,将距离搬运起点最近的空闲AGV分配到该次搬运任务,AGV的状态对路径进行调度,直至AGV将货物运输至搬运终点所在的路段。本发明首先通过资源控制的方式,协调已规划的初始搬运路径。将整个货物的运输网络划分为路段和路段之间的交互路口,AGV在进入这些资源点时,需要进行申请、使用和释放。以更好的应对AGV运行过程中产生的交通控制问题,提高算法的效率和降低突发事件对系统产生的影响。
Description
技术领域
本发明涉及AVG控制技术领域,特别是一种基于交通管控的AGVS运行控制方法。
背景技术
随着制造智能化理念的提出,一些公司正专注于在其工厂中开发自动引导车辆系统(Automated Guided Vehicle System,AGVS),以增强其制造竞争力。AGVS的运行效率将直接影响到智能仓储车间的整体作业效率。
在同一个工作场地中随着AGV数量的增加,以及接驳地点的限制,导致必不可免的出现AGV路径的冲突和死锁。一旦AGV发生碰撞,就会导致设备受损和道路阻塞。为了避免冲突而导致AGV之间发生死锁,将会严重降低整个AGV系统的效率,甚至导致整个系统瘫痪。AGV间冲突与死锁的避免成为整个AGV系统的关键。
另外在双向AGV轨道的智能仓储车间中,AGV小车的灵活度提高,柔性增加,但随着而来的路口交叉处情况会变得更复杂,若无法提出有效的控制策略,将导致仓库物流混乱、冲突状况频发,进而造成系统效率下降。面对复杂多变的车间生产环境下,如何通过较低的算法复杂度,设计有效的路径规划算法和运行控制算法以更好地适应不同的工作环境,使AGV整体调度算法在复杂多变的智能仓储车间中更加稳定且高效是本领域技术人员亟待解决的问题。
发明内容
针对上述缺陷,本发明的目的在于提出一种基于交通管控的AGVS运行控制方法。以提高AGV在车间进行货物搬运过程中的稳定性以及效率。
为达此目的,本发明采用以下技术方案:一种基于交通管控的AGVS运行控制方法,包括以下步骤:
步骤S1:定义AGV在运行时的交通管控规则以及冲突死锁检测点;
步骤S2:获取待搬运的货物集合,查询空闲AGV集合,按照货物的到达顺序进行搬运任务的下发;
步骤S3:使用路径规划算法对货物的运输路径进行规划,并获取当前搬运任务的搬运起点,将距离搬运起点最近的空闲AGV分配到当前搬运任务,AGV根据策划的路径进行货物搬运;
步骤S4:对搬运任务中的AGV的状态进行监控,根据AGV的状态对路径进行调度,直至AGV将货物运输至搬运终点所在的路段。
优选的,所述步骤S1中定义交通管控规则以及冲突死锁检测点具体如下:
其中所述交通管控规则如下:
(1)路段内设置有可双向行驶轨道,且可容纳多辆AGV通行,同一轨道内AGV通行方向需保持一致;
(2)AGV进入路段或通过路口时,需要进行申请;
(3)AGV申请通过路径节点时,若路口被占用,需要在以路口为中心的阈值距离处停车等待;
(4)如果路段存在故障AGV,则将该路段改为占用状态,其他AGV禁止进入该路段,其他AGV重新使用路径规划算法对货物的运输路径进行规划;
所述冲突死锁检测点的设置如下:
(1)将路口设置为冲突死锁检测点,并在路口设置传感器,当AGV距离传感器阈值距离时,进行停车,并进行申请;
(2)当AVG进行掉头时,将该AVG的位置设置冲突死锁检测点,此时对相邻的轨道进行加锁,禁止其他AGV驶入相邻的轨道。
优选的,所述步骤S4中包括以下步骤:
步骤S41:判断AGV是否准备到冲突死锁检测点,若是,则判断AGV即将到达的下一路段的容量是否满足当前AGV进入,若不满足,则等待阈值时间后,再次判断下一路段的容量是否满足当前AGV进入,若满足,则执行步骤S42;
步骤S42:查询路口预约表,判断在当前AGV进入路口时,是否有其他AGV也需要进入同一路口,若无,则执行步骤步骤S43;若有,则执行步骤S44;
步骤S43:驱动AGV进入下一路段,并判断下一路段是否为搬运终点所在的路段,若是,则结束调度,并将该AGV加入到空闲AGV集合中,若否则重新执行步骤S41;
步骤S44:将同一时刻进入该路口的AGV放入判断集合中,在判断集合中分别计算每一个AGV的优先级;
根据优先级从大到小的顺序,分别判断AGV是否会发生死锁现象,若不发生,则执行步骤S45,若发生,则执行步骤S46;
步骤S45:按照优先级的大小顺序执行步骤S43;
步骤S46:根据死锁的种类进行AGV的调度,重新执行步骤S41。
优选的,步骤S41中判断AGV即将到达的下一路段的容量是否满足当前AGV进入的具体步骤如下:
步骤S411:根据当前AGV装载货物的尺寸以及AGV的制动距离获取AGV的安全距离;
其中安全距离的计算公式如下:F=Ls+ts*v+Δx;
其中Ls表示AGV的制动距离,ts表示AGV的反应时间,Δx表示货物伸出AGV的长度,Lm表示货物的长度,LAGV表示AGV的长度;
步骤S412:获取下一路段中,最后一个AGV与路口的距离,若该距离大于安全距离,则下一路段的容量满足当前AGV进入,若该距离小于安全距离,则下一路段的容量不满足当前AGV进入。
优选的,所述步骤S44中计算AGV的优先级的具体步骤如下:
步骤S441:根据AGV与搬运终点之间的距离以及卸货时间,获取AGV本次搬运任务的预估完成时间;
其中预估完成时间的获取公式如下:
Cm(t)=t+T1(k)+Sk(t)/v;
t表示当前时刻,T1(k)表示卸货时间,Sk(t)为AGV与搬运终点之间的距离,v为AGV的速度;
步骤S442:根据所述预估完成时间计算AGV本次搬运任务的紧急程度;
紧急程度的获取公式如下:
其中Cm(t)表示预估完成时间,Dm为本次搬运任务的最晚完成时间;
步骤S443:根据当前AGV所在路段的交通负荷度和下一路段的交通负荷度估算出路口的交通负荷度;
其中当前AGV所在路段的交通负荷度的获取公式如下:
L1为所在路段的总长度,K1为所在路段存在的AGV数量,LAGV表示AGV的长度,Fi1表示所在路段中第i个AGV的安全距离;
下一路段的交通负荷度的获取公式如下:
L2为下一路段的总长度,K2为下一路段存在的AGV数量,LAGV表示AGV的长度,Fi2表示下一路段中第i个AGV的安全距离;
路口的交通负荷度的获取公式如下:
步骤S444:根据紧急程度、当前AGV所在路段的交通负荷度以及下一路段的交通负荷度计算得到AGV的优先级;
其中优先级的获取公式如下:
Wk(t)=w1Uk(t)+w2Ak(t);
w1和w2分别为紧急程度和路口的交通负荷度的权重。
优选的,判断AGV是否会发生死锁现象具体如下:
步骤A:查询当前AGV将要行驶的下一路段中是否存在有其他AGV,若不存在,则不会发生死锁现象,若存在,则判断其他AVG与当前AGV的行驶方向是否一致,若不一致,则会出现全程相向冲突死锁,记录本次死锁相关的AGV,保存在死锁合集内,若一致,则执行步骤B;
步骤B:查询下一路段的AGV将要行驶的下一路段是否存在其他AGV,若不存在,则不会发生死锁现象,若存在,则执行步骤C;
步骤C:重复步骤B,若下一路段中不存在有AGV,则会发生半程相向冲突死锁现象,记录本次死锁相关的AGV,保存在死锁合集内,若下一路段行驶的AGV为当前判断的AGV,则会发生环路死锁现象,记录本次死锁相关的AGV,保存在死锁合集内。
优选的,所述步骤S46的具体过程如下:
步骤S461:判断死锁的类型,若为半程相向冲突死锁,则执行步骤S462;若为全程相向冲突死锁或环路死锁,则执行步骤S463;
步骤S462:选择占用路段的AGV优先通行;
步骤S463:计算死锁合集内所有AGV的优先级,执行步骤S464,
步骤S464:优先级从小到大的顺序找出AGV的相邻路段,并判断相邻路段内是否存在其他AGV,若存在,则判断该相邻路段的其他AGV是否会发生死锁现象,若不会发生,则从死锁合集内选出当前AGV以相邻路段作为下一路段,并重新使用路径规划算法对货物的运输路径进行规划,若发生,则再次执行步骤S464。
上述技术方案中的一个技术方案具有如下优点或有益效果:本发明首先通过资源控制的方式,协调已规划的初始搬运路径。将整个货物的运输网络划分为路段和路段之间的交互路口,AGV在进入这些资源点时,需要进行申请、使用和释放。通过优化资源配置。同时为了对冲突死锁发生的重点区域进行管控,在本申请中还定义了冲突死锁检测点,当AGV进过该些点时,也是需要进行申请后才能进行进一步的形式和运动。以更好的应对AGV运行过程中产生的交通控制问题,提高算法的效率和降低突发事件对系统产生的影响。
附图说明
图1是本发明的一个实施例的流程图。
图2为两辆AGV发生相向行驶的情况的示意图;
图3为环路死锁的示意图;
图4是步骤S4的流程图。
具体实施方式
下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的实施方式的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的实施方式的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
如图1~4所示,一种基于交通管控的AGVS运行控制方法,包括以下步骤:
步骤S1:定义AGV在运行时的交通管控规则以及冲突死锁检测点;
步骤S2:获取待搬运的货物集合,查询空闲AGV集合,按照货物的到达顺序进行搬运任务的下发;
步骤S3:使用路径规划算法对货物的运输路径进行规划,并获取当前搬运任务的搬运起点,将距离搬运起点最近的空闲AGV分配到当前搬运任务,AGV根据策划的路径进行货物搬运;
步骤S4:对搬运任务中的AGV的状态进行监控,根据AGV的状态对路径进行调度,直至AGV将货物运输至搬运终点所在的路段。
本发明首先通过资源控制的方式,协调已规划的初始搬运路径。将整个货物的运输网络划分为路段和路段之间的交互路口,AGV在进入这些资源点时,需要进行申请、使用和释放。通过优化资源配置。同时为了对冲突死锁发生的重点区域进行管控,在本申请中还定义了冲突死锁检测点,当AGV进过该些点时,也是需要进行申请后才能进行进一步的形式和运动。以更好的应对AGV运行过程中产生的交通控制问题,提高算法的效率和降低突发事件对系统产生的影响。
在指定制好交通管控规则以及冲突死锁检测点,则需要对AGV搬运货物的路径进行规划,在本发明中,使用的路径规划算法为现有的TCP路径规划算法,通过输入起点、终点以及运输网络等等信息,即可自动生成该些AGV运输的路径。
在AGV运输的过程中,会对AGV的状态进行监控,其中该些状态可以为位置状态、速度状态以及路径状态(当前在什么路段以及下一路段是哪里),当位置状态到达冲突死锁检测点时,此时容易发生死锁的现象,因此在本发明中会实时根据AGV的状态对AGV的运输路径进行调度,以确保不会发生死锁的现象,从而提高AGV的搬运效率以及稳定性。
优选的,所述步骤S1中定义交通管控规则以及冲突死锁检测点具体如下:
其中所述交通管控规则如下:
(1)路段内设置有可双向行驶轨道,且可容纳多辆AGV通行,同一轨道内AGV通行方向需保持一致;
(2)AGV进入路段或通过路口时,需要进行申请;
(3)AGV申请通过路径节点时,若路口被占用,需要在以路口为中心的阈值距离处停车等待;
(4)如果路段存在故障AGV,则将该路段改为占用状态,其他AGV禁止进入该路段,其他AGV重新使用路径规划算法对货物的运输路径进行规划;
所述冲突死锁检测点的设置如下:
(1)将路口设置为冲突死锁检测点,并在路口设置传感器,当AGV距离传感器阈值距离时,进行停车,并进行申请;
(2)当AVG进行掉头时,将该AVG的位置设置冲突死锁检测点,此时对相邻的轨道进行加锁,禁止其他AGV驶入相邻的轨道。
优选的,所述步骤S4中包括以下步骤:
步骤S41:判断AGV是否准备到冲突死锁检测点,若是,则判断AGV即将到达的下一路段的容量是否满足当前AGV进入,若不满足,则等待阈值时间后,再次判断下一路段的容量是否满足当前AGV进入,若满足,则执行步骤S42;
步骤S42:查询路口预约表,判断在当前AGV进入路口时,是否有其他AGV也需要进入同一路口,若无,则执行步骤步骤S43;若有,则执行步骤S44;
在本发明中,设置了冲突死锁检测点,当AGV进入到冲突死锁检测点时,向路口预约表发出进入请求,通过路口预约表就可以得知在该路口处,是否有其他的AGV进入。当有其他AGV也是需要经过该路口,若不进行调度,则会发生死锁的现象。为此当有其他AGV也是需要经过该路口时,会执行步骤S44对AGV的运行进行调度。
步骤S43:驱动AGV进入下一路段,并判断下一路段是否为搬运终点所在的路段,若是,则结束调度,并将该AGV加入到空闲AGV集合中,若否则重新执行步骤S41;
在步骤S43中,是路口处没有其他AGV进入,当前AGV能够顺利进入到下一路段的情况,在此时,需要判定下一路段是否为搬运终点所在的路段,若是,则表示AGV在行驶完这段路程后,无需搬运操作,进入到空闲AGV集合,继续执行下一搬运任务,若没有搬运任务,则该AGV会返回到系统指定的区域中进行等待。
步骤S44:将同一时刻进入该路口的AGV放入判断集合中,在判断集合中分别计算每一个AGV的优先级;
根据优先级从大到小的顺序,分别判断AGV是否会发生死锁现象,若不发生,则执行步骤S45,若发生,则执行步骤S46;
步骤S45:按照优先级的大小顺序执行步骤S43;
步骤S46:根据死锁的种类进行AGV的调度,重新执行步骤S41。
当有多个AGV在同一时间点需要经过同一个路口时,在本发明中会计算每一个进入到路口AGV的优先级,优先级从大到小依次判断AGV在进入下一路段时,是否会发生死锁,若会发生,则需要调度在本次死锁中AGV,使得死锁解除后,才能使得当前的AGV顺利通过该路口进入到下一路段中。
优选的,步骤S41中判断AGV即将到达的下一路段的容量是否满足当前AGV进入的具体步骤如下:
步骤S411:根据当前AGV装载货物的尺寸以及AGV的制动距离获取AGV的安全距离;
其中安全距离的计算公式如下:F=Ls+ts*v+Δx;
其中Ls表示AGV的制动距离,ts表示AGV的反应时间,Δx表示货物伸出AGV的长度,Lm表示货物的长度,LAGV表示AGV的长度;
步骤S412:获取下一路段中,最后一个AGV与路口的距离,若该距离大于安全距离,则下一路段的容量满足当前AGV进入,若该距离小于安全距离,则下一路段的容量不满足当前AGV进入。
路段的剩余容量指某一路段在某一时刻还可以容纳的最大车辆数量。主要用于评估路段的拥堵情况和进行交通管理决策的必要条件。剩余容量的具体计算方法可以根据道路的不同特点选择合适的方式策略,通常分为观测法、计算法以及模拟法。利用剩余容量的计算结果,在本发明中采取更合理的道路交通管理决策。
通过安全距离的设置,本发明已经能够避免追击冲突的发生,但由于路径容量有限,为避免AGV长时间的等待和占用路口,我们需要计算AGV的下一目标路段的剩余容量,作为是否准许进入目标路段的依据。
例如在一个实施例中,存在有A、B两个AGV同时进入到同一个路口中,此时需要分别计算A、B两个AGV的优先级,若A的优先级大于B,则判断A在进入下一路段时,是否会发生死锁,若会发生死锁,其本次死锁相关的AGV有C、D、则再次计算C、D的优先级,在C、D中选择出优先级最低的AGV重新进行线路规划,使得A在进入下一路段时,不在发生死锁,从而使得最高优先级的A能够优先进入到下一路段。确保搬运的效率。
优选的,所述步骤S44中计算AGV的优先级的具体步骤如下:
步骤S441:根据AGV与搬运终点之间的距离以及卸货时间,获取AGV本次搬运任务的预估完成时间;
其中预估完成时间的获取公式如下:
Cm(t)=t+T1(k)+Sk(t)/v;
t表示当前时刻,T1(k)表示卸货时间,Sk(t)为AGV与搬运终点之间的距离,v为AGV的速度;
步骤S442:根据所述预估完成时间计算AGV本次搬运任务的紧急程度;
紧急程度的获取公式如下:
其中Cm(t)表示预估完成时间,Dm为本次搬运任务的最晚完成时间;
步骤S443:根据当前AGV所在路段的交通负荷度和下一路段的交通负荷度估算出路口的交通负荷度;
其中当前AGV所在路段的交通负荷度的获取公式如下:
L1为所在路段的总长度,K1为所在路段存在的AGV数量,LAGV表示AGV的长度,Fi1表示所在路段中第i个AGV的安全距离;
下一路段的交通负荷度的获取公式如下:
L2为下一路段的总长度,K2为下一路段存在的AGV数量,LAGV表示AGV的长度,Fi2表示下一路段中第i个AGV的安全距离;
路口的交通负荷度的获取公式如下:
步骤S444:根据紧急程度、当前AGV所在路段的交通负荷度以及下一路段的交通负荷度计算得到AGV的优先级;
其中优先级的获取公式如下:
Wk(t)=w1Uk(t)+w2Ak(t);
w1和w2分别为紧急程度和路口的交通负荷度的权重。
优选的,判断AGV是否会发生死锁现象具体如下:
步骤A:查询当前AGV将要行驶的下一路段中是否存在有其他AGV,若不存在,则不会发生死锁现象,若存在,则判断其他AVG与当前AGV的行驶方向是否一致,若不一致,则会出现全程相向冲突死锁,记录本次死锁相关的AGV,保存在死锁合集内,若一致,则执行步骤B;
步骤B:查询下一路段的AGV将要行驶的下一路段是否存在其他AGV,若不存在,则不会发生死锁现象,若存在,则执行步骤C;
步骤C:重复步骤B,若下一路段中不存在有AGV,则会发生半程相向冲突死锁现象,记录本次死锁相关的AGV,保存在死锁合集内,若下一路段行驶的AGV为当前判断的AGV,则会发生环路死锁现象,记录本次死锁相关的AGV,保存在死锁合集内。
如图2所示,两辆AGV发生相向行驶的情况,其形成原因可能是两辆AGV互相等待(全程相向冲突死锁),或优先级低的AGV占用了下一路段,从而造成系统死锁(半程相向冲突死锁)。这种类型的死锁比较容易判断,只需要在死锁检测点时,查看当前AGV1的下一路段是否存在AGV2,AGV2的前进方向是否与当前AGV1一致,若不是,则为全程相向冲突死锁,若是,则需要进一步判断,如图3所示,表示的是环路死锁的情况,形成环路死锁的原因是路径容量的不足。因此当某个区域中当前AGV数量等于该区域的容量时,该区域就会变成一个瓶颈,无法再容纳更多的AGV通过。如果所有AGV的下一目标路段都位于该区域内,那么就造成多辆AGV循环死锁。针对该种死锁类型判断,以当前AGV1小车为起始点,查询下一路段是否存在AGV2,若存在AGV2,则继续搜索AGV2的下一路段是否存在AGV3,循环往复直到下一路段不存在AGV或为AGV1,此时,则可以判断半程相向冲突死锁,若循环往复直到下一路段还是存在有AGV1,则判断为环路死锁。
优选的,所述步骤S46的具体过程如下:
步骤S461:判断死锁的类型,若为半程相向冲突死锁,则执行步骤S462;若为全程相向冲突死锁或环路死锁,则执行步骤S463;
步骤S462:选择占用路段的AGV优先通行;
步骤S463:计算死锁合集内所有AGV的优先级,执行步骤S464,
步骤S464:优先级从小到大的顺序找出AGV的相邻路段,并判断相邻路段内是否存在其他AGV,若存在,则判断该相邻路段的其他AGV是否会发生死锁现象,若不会发生,则从死锁合集内选出当前AGV以相邻路段作为下一路段,并重新使用路径规划算法对货物的运输路径进行规划,若发生,则再次执行步骤S464。
在获取到死锁的类型后,则需要根据不同的死锁类型作出不同的操作,例如,当发生半程相向冲突死锁,则让优先级高的AGV进入路段后等待即可完成死锁的恢复。而当发生全程相向冲突死锁或环路死锁时,如果不进行调度,则会一直保持死锁,无法进行死锁的恢复。为此在本发明中在死锁合集内选择出优先级低的AGV,然后在该优先级低的AGV找出其相邻的路段是否可作为道路重新规划的路段,若可以,则使用该优先级低的AGV以相邻的路段作为起始路段,重新规划出新的运输路径,此时打破了死锁,使得其他AGV可以顺利进入。
在一个实施例中,存在有A、B两个AGV同时进入到同一个路口中,此时需要分别计算A、B两个AGV的优先级,若A的优先级大于B,且A在进入下一路段时,会发生全程相向冲突死锁或环路死锁,且本次死锁合集涉及C、D两个AGV,此时会计算出C、D两个AGV的优先级,若C的优先级大于D,则判断D相邻的道路中,是否存在有其他AGV,若没有,则以该条相邻的道路作为D重新规划的起始路段,若与D相邻的路段有路段1与路段2,则需要步骤S44中判断发生死锁的判断方法判断D在进入路段1是否发生死锁,若D进入路段1不发生死锁,则使用路段1作为D重新调度的起点路段,然后D再进行TCP路径规划算法对D的路径的重新规划,在规划完成后,D以路径进行货物的搬运,而A在等待符合条件后进入到原路径的下一路段。但是若D进入路段1与路段2均会发生死锁,此时,则换C进行相邻路段的检测,若C、D进入相邻路段,均会发生死锁,则将A更换B,重复上述步骤。
在本发明中对重新调度的AGV进行二次的死锁判断,避免在调度后出现严重的死锁现象。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施实施进行变化、修改、替换和变型。
Claims (5)
1.一种基于交通管控的AGVS运行控制方法,其特征在于,包括以下步骤:
步骤S1:定义AGV在运行时的交通管控规则以及冲突死锁检测点;
步骤S2:获取待搬运的货物集合,查询空闲AGV集合,按照货物的到达顺序进行搬运任务的下发;
步骤S3:使用路径规划算法对货物的运输路径进行规划,并获取当前搬运任务的搬运起点,将距离搬运起点最近的空闲AGV分配到当前搬运任务,AGV根据策划的路径进行货物搬运;
步骤S4:对搬运任务中的AGV的状态进行监控,根据AGV的状态对路径进行调度,直至AGV将货物运输至搬运终点所在的路段;
所述步骤S1中定义交通管控规则以及冲突死锁检测点具体如下:
其中所述交通管控规则如下:
(1)路段内设置有可双向行驶轨道,且可容纳多辆AGV通行,同一轨道内AGV通行方向需保持一致;
(2)AGV进入路段或通过路口时,需要进行申请;
(3)AGV申请通过路径节点时,若路口被占用,需要在以路口为中心的阈值距离处停车等待;
(4)如果路段存在故障AGV,则将该路段改为占用状态,其他AGV禁止进入该路段,其他AGV重新使用路径规划算法对货物的运输路径进行规划;
所述冲突死锁检测点的设置如下:
(1)将路口设置为冲突死锁检测点,并在路口设置传感器,当AGV距离传感器阈值距离时,进行停车,并进行申请;
(2)当AVG进行掉头时,将该AVG的位置设置冲突死锁检测点,此时对相邻的轨道进行加锁,禁止其他AGV驶入相邻的轨道;
所述步骤S4中包括以下步骤:
步骤S41:判断AGV是否准备到冲突死锁检测点,若是,则判断AGV即将到达的下一路段的容量是否满足当前AGV进入,若不满足,则等待阈值时间后,再次判断下一路段的容量是否满足当前AGV进入,若满足,则执行步骤S42;
步骤S42:查询路口预约表,判断在当前AGV进入路口时,是否有其他AGV也需要进入同一路口,若无,则执行步骤步骤S43;若有,则执行步骤S44;
步骤S43:驱动AGV进入下一路段,并判断下一路段是否为搬运终点所在的路段,若是,则结束调度,并将该AGV加入到空闲AGV集合中,若否则重新执行步骤S41;
步骤S44:将同一时刻进入该路口的AGV放入判断集合中,在判断集合中分别计算每一个AGV的优先级;
根据优先级从大到小的顺序,分别判断AGV是否会发生死锁现象,若不发生,则执行步骤S45,若发生,则执行步骤S46;
步骤S45:按照优先级的大小顺序执行步骤S43;
步骤S46:根据死锁的种类进行AGV的调度,重新执行步骤S41。
2.根据权利要求1所述的一种基于交通管控的AGVS运行控制方法,其特征在于,步骤S41中判断AGV即将到达的下一路段的容量是否满足当前AGV进入的具体步骤如下:
步骤S411:根据当前AGV装载货物的尺寸以及AGV的制动距离获取AGV的安全距离;
其中安全距离的计算公式如下:F=Ls+ts*v+Δx;
其中Ls表示AGV的制动距离,ts表示AGV的反应时间,Δx表示货物伸出AGV的长度,Lm表示货物的长度,LAGV表示AGV的长度;
步骤S412:获取下一路段中,最后一个AGV与路口的距离,若该距离大于安全距离,则下一路段的容量满足当前AGV进入,若该距离小于安全距离,则下一路段的容量不满足当前AGV进入。
3.根据权利要求2所述的一种基于交通管控的AGVS运行控制方法,其特征在于,所述步骤S44中计算AGV的优先级的具体步骤如下:
步骤S441:根据AGV与搬运终点之间的距离以及卸货时间,获取AGV本次搬运任务的预估完成时间;
其中预估完成时间的获取公式如下:
Cm(t)=t+T1(k)+Sk(t)/V;
t表示当前时刻,T1(k)表示卸货时间,Sk(t)为AGV与搬运终点之间的距离,v为AGV的速度;
步骤S442:根据所述预估完成时间计算AGV本次搬运任务的紧急程度;
紧急程度的获取公式如下:
其中Cm(t)表示预估完成时间,Dm为本次搬运任务的最晚完成时间;
步骤S443:根据当前AGV所在路段的交通负荷度和下一路段的交通负荷度估算出路口的交通负荷度;
其中当前AGV所在路段的交通负荷度的获取公式如下:
L1为所在路段的总长度,K1为所在路段存在的AGV数量,LAGV表示AGV的长度,Fi1表示所在路段中第i个AGV的安全距离;
下一路段的交通负荷度的获取公式如下:
L2为下一路段的总长度,K2为下一路段存在的AGV数量,LAGV表示AGV的长度,Fi2表示下一路段中第i个AGV的安全距离;
路口的交通负荷度的获取公式如下:
步骤S444:根据紧急程度、当前AGV所在路段的交通负荷度以及下一路段的交通负荷度计算得到AGV的优先级;
其中优先级的获取公式如下:
Wk(t)=wIUk(t)+w2Ak(t);
w1和w2分别为紧急程度和路口的交通负荷度的权重。
4.根据权利要求3所述的一种基于交通管控的AGVS运行控制方法,其特征在于,判断AGV是否会发生死锁现象具体如下:
步骤A:查询当前AGV将要行驶的下一路段中是否存在有其他AGV,若不存在,则不会发生死锁现象,若存在,则判断其他AVG与当前AGV的行驶方向是否一致,若不一致,则会出现全程相向冲突死锁,记录本次死锁相关的AGV,保存在死锁合集内,若一致,则执行步骤B;
步骤B:查询下一路段的AGV将要行驶的下一路段是否存在其他AGV,若不存在,则不会发生死锁现象,若存在,则执行步骤C;
步骤C:重复步骤B,若下一路段中不存在有AGV,则会发生半程相向冲突死锁现象,记录本次死锁相关的AGV,保存在死锁合集内,若下一路段行驶的AGV为当前判断的AGV,则会发生环路死锁现象,记录本次死锁相关的AGV,保存在死锁合集内。
5.根据权利要求4所述的一种基于交通管控的AGVS运行控制方法,其特征在于,所述步骤S46的具体过程如下:
步骤S461:判断死锁的类型,若为半程相向冲突死锁,则执行步骤S462;若为全程相向冲突死锁或环路死锁,则执行步骤S463;
步骤S462:选择占用路段的AGV优先通行;
步骤S463:计算死锁合集内所有AGV的优先级,执行步骤S464,
步骤S464:优先级从小到大的顺序找出AGV的相邻路段,并判断相邻路段内是否存在其他AGV,若存在,则判断该相邻路段的其他AGV是否会发生死锁现象,若不会发生,则从死锁合集内选出当前AGV以相邻路段作为下一路段,并重新使用路径规划算法对货物的运输路径进行规划,若发生,则再次执行步骤S464。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310818997.0A CN116880476B (zh) | 2023-07-05 | 2023-07-05 | 一种基于交通管控的agvs运行控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310818997.0A CN116880476B (zh) | 2023-07-05 | 2023-07-05 | 一种基于交通管控的agvs运行控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116880476A CN116880476A (zh) | 2023-10-13 |
CN116880476B true CN116880476B (zh) | 2024-01-19 |
Family
ID=88262779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310818997.0A Active CN116880476B (zh) | 2023-07-05 | 2023-07-05 | 一种基于交通管控的agvs运行控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880476B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117877276B (zh) * | 2024-03-11 | 2024-05-24 | 天津联汇智造科技有限公司 | 一种厂内物流交通管制的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019141218A1 (zh) * | 2018-01-19 | 2019-07-25 | 库卡机器人(广东)有限公司 | 多移动机器人的冲突管理方法及系统 |
CN113075927A (zh) * | 2021-03-22 | 2021-07-06 | 哈尔滨理工大学 | 基于预约表的仓储潜伏式多agv路径规划方法 |
CN114077254A (zh) * | 2021-11-18 | 2022-02-22 | 合肥工业大学 | 一种agv路径冲突处理方法 |
CN115237137A (zh) * | 2022-08-05 | 2022-10-25 | 中国科学院微电子研究所 | 一种多agv调度与协同路径规划方法和装置 |
WO2023082378A1 (zh) * | 2021-11-09 | 2023-05-19 | 南京航空航天大学 | 一种oht搬运系统防死锁调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116151496A (zh) * | 2021-11-16 | 2023-05-23 | 南宁富联富桂精密工业有限公司 | 自动导引车调度方法、电子装置及存储介质 |
-
2023
- 2023-07-05 CN CN202310818997.0A patent/CN116880476B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019141218A1 (zh) * | 2018-01-19 | 2019-07-25 | 库卡机器人(广东)有限公司 | 多移动机器人的冲突管理方法及系统 |
CN113075927A (zh) * | 2021-03-22 | 2021-07-06 | 哈尔滨理工大学 | 基于预约表的仓储潜伏式多agv路径规划方法 |
WO2023082378A1 (zh) * | 2021-11-09 | 2023-05-19 | 南京航空航天大学 | 一种oht搬运系统防死锁调度方法 |
CN114077254A (zh) * | 2021-11-18 | 2022-02-22 | 合肥工业大学 | 一种agv路径冲突处理方法 |
CN115237137A (zh) * | 2022-08-05 | 2022-10-25 | 中国科学院微电子研究所 | 一种多agv调度与协同路径规划方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116880476A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110989570B (zh) | 一种多agv防碰撞协同路径规划方法 | |
US20230072997A1 (en) | Intelligent horizontal transportation system and method for automatic side-loading/unloading container tarminal | |
CN107816996B (zh) | 时变环境下agv流时空干涉检测与规避方法 | |
KR101695557B1 (ko) | 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법 | |
CN116880476B (zh) | 一种基于交通管控的agvs运行控制方法 | |
CN112027473B (zh) | 一种多深度储货区四向穿梭车多车调度方法 | |
WO2023082378A1 (zh) | 一种oht搬运系统防死锁调度方法 | |
KR101660162B1 (ko) | 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법 | |
US20210132627A1 (en) | Travel control device, travel control method, travel control system and computer program | |
CN114326623B (zh) | 用于自动化码头岸桥下agv作业的调度方法 | |
CN111563672A (zh) | 一种多载agv数量配置方法 | |
CN113919543A (zh) | 一种基于5g物联网的agv调度路径优化方法 | |
CN116993255A (zh) | 一种基于多智能体仿真的agvs动态无碰路径规划方法 | |
US20220089372A1 (en) | Systems and methods for managing movement of materials handling vehicles | |
CN112099492A (zh) | 含避让点的管制区内agv动态交通管制方法及系统 | |
CN113064436B (zh) | 一种agv系统中动态路径规划和去中心化避障方法 | |
CN116719312A (zh) | 一种单行道场景下基于折返避让的多agv解锁方法 | |
CN117079486A (zh) | 基于改进鲸鱼优化算法与信号量理论的拖车式agvs交通管控方法 | |
CN115638804B (zh) | 一种无死锁的无人车辆在线路径规划方法 | |
CN113759837A (zh) | 自动引导搬运车的控制方法、装置、电子设备及存储介质 | |
CN116934000A (zh) | 一种基于实时路况的自动驾驶矿车的调度优化方法 | |
CN115629587A (zh) | 轨道搬运小车的调度方法及装置 | |
CA3203966A1 (en) | Systems and methods for managing movement of materials handling vehicles | |
CN115617049A (zh) | 基于混凝土运输平台的agv小车控制系统 | |
CN111695750B (zh) | 车辆调度方法、车辆调度装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |