一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

AGV的路径规划方法、装置、计算机设备与流程

2023-02-06 14:39:33 来源:中国专利 TAG:

agv的路径规划方法、装置、计算机设备
技术领域
1.本公开涉及自动控制技术领域,特别是涉及一种agv的路径规划方法、装置、计算机设备。


背景技术:

2.随着智能化工业的发展,agv在工厂运输过程中具备重要的作用。agv(automated guided vehicles)又名无人搬运车,自动导航车,激光导航车。其显著的特点是无人驾驶,agv上装备有自动导向系统,可以保障系统在不需要人工引航的情况下就能够沿预定的路线自动行驶,将货物或物料自动从起始点运送到目的地。
3.然而,agv运送物料的过程中,通常会存在多个agv共同工作的情况,而多个agv共同工作时,可能会产生路径冲突的问题。目前的agv调度系统,在多个agv进行冲突时,只能够停止其中某些agv工作,进而对其他的冲突的agv进行避让,如果存在多个冲突段时,通常会导致agv无法确定避让位置,产生锁死,进而停止工作,会降低agv的运行效率。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种在存在多个冲突段时,能够确定agv的避让位置,不会使agv停止工作的agv的路径规划方法、装置、计算机设备。
5.第一方面,本公开提供了一种agv的路径规划方法。所述方法包括:
6.获取每个车辆的行驶路径,其中,所述行驶路径中包括:车辆的多个行驶站点;
7.根据冲突车辆的行驶路径,确定冲突车辆之间的行驶路径中的行驶冲突站点,其中所述冲突车辆包括:行驶路径存在冲突的车辆;
8.根据行驶冲突站点和行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点;
9.至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径。
10.在其中一个实施例中,所述行驶站点包括:行驶终点站点,所述至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径,包括:
11.响应于第一行驶终点站点在第二行驶路径中,或者所述冲突车辆中第二车辆行驶进入所述行驶冲突站点,则确定所述冲突车辆中第一车辆让行;
12.根据所述第一车辆的行驶路径和让行站点,确定所述第一车辆的无冲突行驶路径;
13.其中,所述第一行驶终点站点为所述冲突车辆中第一车辆的行驶终点站点,所述第二行驶路径为所述冲突车辆中第二行驶车辆的行驶路径。
14.在其中一个实施例中,所述至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径,还包括:
15.响应于所述冲突车辆均未行驶进入所述行驶冲突站点,则根据预先设置的所述冲
突车辆的优先级和所述冲突车辆的行驶路径的优先级,确定所述冲突车辆中让行车辆;
16.根据所述让行车辆的行驶路径和让行站点,确定所述让行车辆的无冲突行驶路径。
17.在其中一个实施例中,所述至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径,还包括:
18.响应于所述冲突车辆均行驶进入所述行驶冲突站点,根据与所述冲突车辆距离最近的让行站点、预先确定的所述冲突车辆行驶进入所述行驶冲突站点时所对应的行驶路径的权重值,确定所述冲突车辆中让行车辆;
19.控制所述让行车辆行驶至与所述冲突车辆距离最近的所述让行站点;
20.根据所述让行车辆的行驶路径、所述让行站点,确定所述让行车辆的无冲突行驶路径。
21.在其中一个实施例中,所述获取每个车辆的行驶路径,包括:
22.获取区域地图,所述区域地图包括:多个站点;
23.确定所述车辆在所述区域地图中的行驶起点站点和行驶终点站点;
24.根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点确定每个车辆的至少一条行驶路径。
25.在其中一个实施例中,所述根据行驶冲突站点和行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点,至少包括下述中一种:
26.根据所述行驶冲突站点之前的所述冲突车辆的行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点;
27.根据所述区域地图中,所述冲突车辆的行驶站点之外且与其他车辆不存在路径冲突的站点,确定所述冲突车辆对应的让行站点。
28.在其中一个实施例中,所述根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点确定每个车辆的至少一条行驶路径,包括:
29.根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点,并利用递归查找算法,确定每个车辆的多个行驶路径;
30.根据多个行驶路径中所述车辆行驶的距离和所述车辆之间的行驶冲突站点的数量,确定每个行驶路径对应的权重值;
31.根据每个行驶路径对应的权重值,确定每个车辆的至少一条行驶路径。
32.在其中一个实施例中,所述获取区域地图,包括:
33.响应于所述区域地图大于预先设置的区域范围,则根据所述区域地图中的多个站点对所述区域地图进行拆分,得到多个拆分区域地图;
34.所述根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点,并利用递归查找算法,确定每个车辆的多个行驶路径,包括:
35.获取所述拆分区域地图之间的连接站点;
36.根据所述行驶起点站点、行驶终点站点、所述拆分区域地图中多个站点和所述连接站点,并利用递归查找算法,确定每个车辆的多个行驶路径。
37.第二方面,本公开还提供了一种agv的路径规划装置。所述装置包括:
38.路径获取模块,用于获取每个车辆的行驶路径,其中,所述行驶路径中包括:车辆
的多个行驶站点;
39.冲突站点确定模块,用于根据冲突车辆的行驶路径,确定冲突车辆之间的行驶路径中的行驶冲突站点,其中所述冲突车辆包括:存在路径冲突的车辆;
40.让行站点确定模块,用于根据行驶冲突站点和行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点;
41.路径规划模块,用于至少根据冲突车辆的所述行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径。
42.第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一方法实施例的步骤。
43.第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例的步骤。
44.第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方法实施例的步骤。
45.上述各实施例中,过获取每个车辆的行驶路径,然后根据每个车辆的行驶路径可以确定车辆之间的行驶冲突站点,能够确定车辆之间存在冲突的站点。根据行驶站点和行驶次冲突站点来确定让行站点。通过让行站点重新规划车辆的无冲突行驶路径。能够避免车辆的路径产生冲突,进而影响车辆工作。在存在多个冲突段时,也可以通过上述方式进行处理,不会使车辆进行锁死,停止工作,不会降低车辆的运行效率。
附图说明
46.为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为一个实施例中agv的路径规划方法的应用环境示意图;
48.图2为一个实施例中agv的路径规划方法的流程示意图;
49.图3为一个实施例中行驶路径的示意图;
50.图4为一个实施例中s208步骤的流程示意图;
51.图5为一个实施例中s208步骤的流程示意图;
52.图6为一个实施例中s208步骤的流程示意图;
53.图7为一个实施例中s202步骤的流程示意图;
54.图8为一个实施例中让行站点的示意图;
55.图9为一个实施例中s606步骤的流程示意图;
56.图10为一个实施例中拆分区域确定行驶路径的示意图;
57.图11为一个实施例中确定行驶路径的流程示意图;
58.图12为一个实施例中确定无冲突行驶路径的流程示意图;
59.图13为一个实施例中agv的路径规划装置的结构示意框图;
60.图14为一个实施例中计算机设备的内部结构示意图。
具体实施方式
61.为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
62.需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
63.在本文中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
64.本公开实施例提供了一种agv的路径规划方法,可以应用于如图1所示的应用环境中。其中,终端102通过无线通信的方式与至少一个车辆104进行通信。终端102获取预先设置完成的并存储在每个车辆104中的行驶路径,其中,行驶路径中包括:车辆的多个行驶站点。响应于终端102根据每个车辆104的行驶路径确定车辆104之间存在冲突。终端102根据冲突车辆的行驶路径,确定冲突车辆之间的行驶路径中的行驶冲突站点,其中,冲突车辆包括:行驶路径存在冲突的车辆。终端102根据行驶冲突站点和行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点。终端102至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。车辆104可以是agv小车、也可以是其他可以自动行驶、自动导航的车辆。无线通信的方式可以是蓝牙、rfid、nfc、zigbee、wifi、irda、微波、2g/3g/4g/5g等。
65.在一个实施例中,如图2所示,提供了一种agv的路径规划方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
66.s202,获取每个车辆的行驶路径,其中,所述行驶路径中包括:车辆的多个行驶站点。行驶路径通常情况下可以是车辆规划的行驶路径,里面可以包括:车辆行驶经过的行驶站点、车辆的行驶起点站点和车辆的行驶终点站点。如图3所示,a1至a7之间构成的路径可以为行驶路径,或者a1-a8-a7之间构成的路径也可以为行驶路径,a1至a7可以为行驶站点。a1可以为行驶起点站点、a7可以为行驶终点站点,a2至a6可以为行驶路径途径站点。可以理解的是,行驶路径可以根据不同的需求进行选择设置。在本公开的一些实施例中,车辆可以指agv车辆,也可以指其他可以根据规划好的路径进行自动驾驶的车辆。车辆的行驶路径可以是预先设置在车辆中的,也可以是车辆中的控制器根据车辆的行驶起点、行驶重点和行驶地图中的车辆行驶站点来确定的。
67.具体地,与每个车辆进行通信,获取每个车辆中车辆的行驶路径,行驶路径可以为
一个,也可以为多个。
68.s204,根据冲突车辆的行驶路径,确定冲突车辆之间的行驶路径中的行驶冲突站点,
69.其中,所述冲突车辆包括:行驶路径存在冲突的车辆。行驶冲突站点可以是冲突车辆均经过的站点。
70.具体地,当车辆的行驶路径中存在相同的行驶站点时,可以确定存在相同的行驶站点的车辆之间存在路径冲突,则可以根据冲突车辆的行驶路径中的多个行驶站点来确定行驶冲突站点。
71.s206,根据行驶冲突站点和行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点。
72.其中,让行站点可以是冲突车辆避免冲突的站点,当存在路径冲突时,可以控制冲突车辆行驶至让行站点时,可以避免发生路径冲突。
73.具体地,可以在行驶路径中,行驶冲突站点之前的行驶站点选择一个或者多个站点为让行站点,也可以根据一定的规则,选择其他的车辆的行驶路径中的站点为让行站点。
74.s208,至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径。
75.其中,无冲突行驶路径通常可以为冲突车辆以该行驶路径进行行驶时,不会存在路径冲突的路径。
76.具体地,在本公开的一些实施例中,冲突车辆可以为两个车辆,因此两个冲突车辆中仅一个冲突车辆确定无冲突行驶路径即可避免冲突车辆产生路径冲突。两个冲突车辆中可以根据一定的规则,例如优先级或者其他的方式来选择确定无冲突行驶路径的车辆。根据冲突车辆的行驶路径中的行驶站点、行驶冲突站点和让行站点重新确定冲突车辆的行驶路径,得到无冲突行驶路径。
77.在一些示例性的实施例中,继续以图3为例进行说明.
78.例如a4为行驶冲突站点,a3和a2为让行站点,则无冲突行驶路径可以为:a1-a2-a3-a2-a3-a4-a5-a6-a7,通过在a2和a3之间行驶,以避免和另一个冲突车辆在a4产生冲突,可以理解的是,上述仅用于举例说明,并不代表实际情况。
79.在另一些示例性的实施例中,当让行站点为一个站点时,例如:
80.a车的行驶路径为:a1-》a2-》a3-》a5-》a6-》a7-》a9;
81.b车的行驶路径可为:a9-》a7-》a6-》a4-》a5-》a3-》a2-》a1;
82.则a车和b车中存在两个冲突区间(多个连续的行驶冲突站点构成的区间):(1)a6-》a7-》a9,(2)a1-》a2-》a3-》a5。
83.a车由a1向a9行驶,a车首先处于第二个冲突区间内,b车首先处于第一个冲突区间内。所以a车会在第一个冲突区间前一个站点a5(该站点可以为a车的让行站点)直到b车驶出第一个冲突区间,(也就是驶入a4站点时),a车唤醒继续运行。b车会在第二个冲突区间前一个站点a4让行(该站点可以为b车的让行站点),当a车驶出第二个冲突区间,也就是说驶入a6时,b车唤醒驶入a5继续运行。以解决a车和b车中的冲突。
84.上述agv的路径规划方法中,通过获取每个车辆的行驶路径,然后根据每个车辆的行驶路径可以确定车辆之间的行驶冲突站点,能够确定车辆之间存在冲突的站点。根据行
驶站点和行驶次冲突站点来确定让行站点。通过让行站点重新规划车辆的无冲突行驶路径。能够避免车辆的路径产生冲突,进而影响车辆工作。在存在多个冲突段时,也可以通过上述方式进行处理,不会使车辆进行锁死,停止工作,不会降低车辆的运行效率。
85.在一个实施例中,如图4所示,所述行驶站点包括:行驶终点站点,所述至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径,包括:
86.s302,响应于第一行驶终点站点在第二行驶路径中,或者所述冲突车辆中第二车辆行驶进入所述行驶冲突站点,则确定所述冲突车辆中第一车辆让行。
87.s304,根据所述第一车辆的行驶路径和让行站点,确定所述第一车辆的无冲突行驶路径。
88.其中,所述第一行驶终点站点为所述冲突车辆中第一车辆的行驶终点站点,所述第二行驶路径为所述冲突车辆中第二行驶车辆的行驶路径。
89.具体地,以冲突车辆a为第一车辆,冲突车辆b为第二车辆进行说明。当冲突车辆a的行驶终点在冲突车辆b的行驶路径中,或者冲突车辆b已经驶入行驶冲突站点,此时若冲突车辆b进行避让,则可能会存在冲突车辆b的让行站点在冲突车辆a的行驶终点上。因此,该种情况可能会导致冲突车辆a和冲突车辆还是存在冲突。所以,可以确定冲突车辆a为让行车辆,使冲突车辆a进行让行。可以根据冲突车辆a的行驶路径和让行站点,确定冲突车辆a的无冲突行驶路径。
90.在一些示例性的实施例中,例如冲突车辆a的行驶路径为s1-s2-s3,冲突车辆b的行驶路径为s0-s3-s5,则冲突车辆a的行驶终点站点s3在冲突车辆b的行驶路径中。s3为行驶冲突站点,则此时可以确定冲突车辆a为让行车辆,或者当冲突车辆b行驶进入s3时,可以确定冲突车辆a为让行车辆。让行站点可以为s2,则冲突车辆a的无冲突行驶路径可以为s1-s2,在s2等待一段时间,等冲突车辆b行驶过s3时,冲突车辆a行驶至s3,以避免冲突。
91.在一些实施方式中,可以设置让行列表并利用检测线程来进行解决冲突,例如可以设置每个车辆对应的让行列表,让行列表中通常存储了让行站点。然后和确定的冲突来源进行比较,冲突来源可以是与哪辆车进行冲突。可以利用检测线程将让行列表和冲突来源进行计算,如果与冲突来源不存在冲突(可能出现冲突来源设置错误),则清除让行列表的冲突来源,若车辆冲突来源为空(则证明无需让行),则清除让行站点,如果车辆处于让行状态(即该车辆进行让行),则唤醒车辆,继续运行。
92.本实施例中,通过不同冲突车辆的行驶路径之间的关系,或者冲突车辆是否进入行驶冲突站点,进而确定让行车辆,进而确定让行车辆的无冲突行驶路径,能够保证确定让行车辆后,该让行车辆以无冲突行驶路径进行行驶避免与另一个冲突车辆产生冲突,不会使车辆进行锁死,停止工作。
93.在一个实施例中,如图5所示,所述至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径,还包括:
94.s402,响应于所述冲突车辆均未行驶进入所述行驶冲突站点,则根据预先设置的所述冲突车辆的优先级和所述冲突车辆的行驶路径的优先级,确定所述冲突车辆中让行车辆;
95.s404,根据所述让行车辆的行驶路径和让行站点,确定所述让行车辆的无冲突行
驶路径。
96.其中,冲突车辆的优先级可以根据车辆运送的货物的重要程度来确定。行驶路径的优先级通常可以根据冲突车辆的优先级或者当前行驶路径中的行驶冲突站点来确定。例如,车辆运送的货物比较重要,则可以确定车辆的优先级较高,需要先进行运送,而该车辆对应的行驶路径通常也可以确定为优先级较高。或者,当前行驶路径与其他车辆的行驶路径存在多个行驶冲突站点,则该行驶路径可以确定为优先级较低,可以理解的是,上述确定冲突车辆的优先级和行驶路径的优先级仅用于举例说明,本领域技术人员可根据实际的应用场景来灵活的确定冲突车辆的优先级和行驶路径的优先级,在本公开的一些实施例中不进行具体的显示冲突车辆的优先级和行驶路径的优先级的确定方式。
97.具体地,当两个冲突车辆均未行驶进入行驶冲突站点,此时无需确定是否有一冲突车辆的行驶终点站点落入另一冲突车辆行驶路径中。因此,需要在两个冲突车辆之间,确定让行的冲突车辆。可以确定两个冲突车辆每个冲突车辆对应的优先级,以及每个冲突车辆的行驶路径的优先级来确定两个冲突车辆中需要进行让行的车辆。例如,可以确定冲突车辆的优先级和行驶路径的优先级较低的冲突车辆为让行车辆。然后可以根据让行车辆的行驶路径和其对应的让行站点,确定让行车辆的无冲突行驶路径,后续让行车辆根据无冲突行驶路径进行行驶,以避免产生路径冲突。
98.在一些示例性的实施例中,例如,冲突车辆a的行驶路径为冲突车辆a的行驶路径为s1-s2-s3-s4,冲突车辆a的优先级为第一级别,其对应的行驶路径也为第一级别。冲突车辆b的行驶路径为s0-s3-s5,冲突车辆b的优先级为第二级别,其对应的行驶路径为第一级别。若冲突车辆a和冲突车辆b均未驶入s3行驶冲突站点。则根据冲突车辆的优先级和对应的行驶路径的优先级可以确定冲突车辆b为让行车辆。则冲突车辆b的无冲突行驶路径可以为s1,在s1等待一段时间,待冲突车辆a经过s3后,依次驶入s3、s5。
99.在本实施例中,通过冲突车辆的优先级和行驶路径的优先级,能够确定优先级较低的冲突车辆为让行车辆,使让行车辆重新确定无冲突行驶路径。能够保证优先级高的冲突车辆按照原来的行驶路径进行行驶,不会降低优先级高的冲突车辆的工作效率。
100.在一个实施例中,如图6所示,所述至少根据冲突车辆的行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径,还包括:
101.s502,响应于所述冲突车辆均行驶进入所述行驶冲突站点,根据与所述冲突车辆距离最近的让行站点、预先确定的所述冲突车辆行驶进入所述行驶冲突站点时所对应的行驶路径的权重值,确定所述冲突车辆中让行车辆。
102.s504,控制所述让行车辆行驶至与所述冲突车辆距离最近的所述让行站点。
103.s506,根据所述让行车辆的行驶路径、所述让行站点,确定所述让行车辆的无冲突行驶路径。
104.其中,权重值通常可以根据代表行驶路径的优先级的占比,例如行驶路径中与其他车辆的行驶路径的行驶冲突站点较多,或者,行驶路径的行驶距离较长,则对应的权重值相应的比较低。该权重值可以根据行驶距离,行驶冲突站点、行驶需要旋转的角度等来确定。
105.具体地,当两个冲突车辆均行驶进入了行驶冲突站点,则可以确定两个车辆已经发生了冲突,此时两个冲突车辆可能均停止工作。因此,需要根据两个冲突车辆行驶至冲突
站点的行驶路径的权重值。来确定两个车辆中的让行车辆,通常情况下,可以根据权重值较低的行驶路径对应的冲突车辆确定让行车辆,以保证权重值较高的行驶路径对应的冲突车辆先执行完成任务。在另一些情况下,也可以使权重值较高的行驶路径对应的冲突车辆确定为让行车辆,以保证权重值较低的行驶路径对应的冲突车辆能够较快的完成任务,或者说与让行车辆同时完成任务,以提高整体的工作效率。两个车辆均行驶进入了行驶冲突站点,此时需要控制让行车辆行驶进入与其最近的让行站点,启动另一个冲突车辆,进而保证快速的解决两个冲突车辆均行驶进入了行驶冲突站点的冲突。当让行车辆行驶进入让行站点后,因为行驶路径发生了改变,因此需要重进确定该让行车辆的行驶路径,即确定让行车辆的无冲突行驶路径。
106.在一些示例性的实施例中,例如,冲突车辆a的行驶路径为冲突车辆a的行驶路径为s1-s2-s3-s4。冲突车辆b的行驶路径为s0-s3-s5。冲突车辆a和冲突车辆b均驶入了s3冲突站点。以让行车辆为冲突车辆a为例进行举例说明,则冲突车辆a对应的最近的让行站点可以为s2,可以控制冲突车辆a行驶回到s2,以避免和冲突车辆b在s3处产生冲突。然后重新规划冲突车辆a的行驶路径,得到冲突车辆a的无冲突行驶路径。
107.在本实施例中,当冲突车辆均驶入行驶冲突站点时,为了避免冲突车辆锁死,进而导致无法运行,因此可以根据行驶路径的权重值来确定最终需要让行的冲突车辆,控制让行的冲突车辆驶入让行站点,来解决冲突,避免冲突车辆产生锁死,停止运行。
108.在一个实施例中,如图7所示,所述获取每个车辆的行驶路径,包括:
109.s602,获取区域地图,所述区域地图包括:多个站点。
110.s604,确定所述车辆在所述区域地图中的行驶起点站点和行驶终点站点;
111.s606,根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点确定每个车辆的至少一条行驶路径。
112.其中,区域地图通常可以是车辆工作的区域地图,里面包括了多个车辆行驶经停的站点,或者车辆的起始站点、目的(终点)站点。区域地图的格式可以为smap、xmap等格式。
113.具体地,获取从第三方设备导入的区域地图。区域地图中通常情况下标记可多个可以经停或者行驶的站点。根据预先设置的每个车辆的目的地和当前车辆的所处的位置,确定所述车辆在区域地图中的行驶起点站点和行驶终点站点。可以通过递归查找算法,或者其他的路径规划算法进而根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点确定每个车辆的至少一条行驶路径。继续以图3为例进行说明,a1可以为行驶起点站点,a7可以为行驶终点站点,则根据地图中的站点,可以确定两条行驶路径,分别为a1至a7和a1-a8-a7。
114.在本实施例中,通过行驶起点站点、行驶终点站点和所述区域地图中多个站点,能够确定多个不同的行驶路径,进而可以在不同的行驶路径中进行选择,能够避免产生路径冲突。
115.在一个实施例中,所述根据行驶冲突站点和行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点,至少包括下述中一种:
116.根据所述行驶冲突站点之前的所述冲突车辆的行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点;
117.根据所述区域地图中,所述冲突车辆的行驶站点之外且与其他车辆不存在路径冲
突的站点,确定所述冲突车辆对应的让行站点。
118.具体地,可以根据冲突车辆的行驶路径中行驶冲突站点之前的一个或者多个行驶站点来确定冲突车辆对应的让行站点。还可以根据区域地图中,冲突车辆的行驶站点之外的其他车辆不存在路径冲突的站点,来确定让行站点。若不存在,则车辆停车场点可以为让行站点,其中,每辆车都有一个自己的专用停车点,该停车点可以为车辆停车场点。
119.在一些示例性的实施例中,如图8所示,s1-s7为行驶路径,s8、s9、s10为行驶站点之外的站点,s9站点为与其他车辆不存在冲突的站点。以行驶冲突站点为s4站点为例进行说明,则对应的让行站点可以为s3、s2和s1,在一些优选的实施例中,让行站点可以为s3,能够提高车辆让行的速度。让行站点还可以为s9站点。
120.在本实施例中,通过不同的确定让行站点的方式,能够确定不同的让行站点,进而在确定无冲突路径时可以有多种选择,能够避免车辆产生锁死,进而停止运行。
121.在一个实施例中,如图9所示,所述根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点确定每个车辆的至少一条行驶路径,包括:
122.s702,根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点,并利用递归查找算法,确定每个车辆的多个行驶路径;
123.s704,根据多个行驶路径中所述车辆行驶的距离和所述车辆之间的行驶冲突站点的数量,确定每个行驶路径对应的权重值;
124.s706,根据每个行驶路径对应的权重值,确定每个车辆的至少一条行驶路径。
125.其中,递归查找算法通常一种计算机基础算法,其思路为全部遍历来寻找路径联通的可能。通常情况下,行驶的距离越远,权重值越低。行驶冲突点的数量越多,权重值越低。
126.具体地,可以利用递归查找算法在行驶起点站点、行驶终点站点和区域地图中的多个站点找到联通的路径,联通的路径可以为一个或者多个,进而确定每个车辆的多个行驶路径。然后可以根据每个行驶路径中对应的行驶距离、每个行驶路径中的行驶冲突点的数量等等来确定每个车辆中每个行驶路径对应的权重值。可以按照权重值的大小对行驶路径进行排序,进而获取权重值排名靠前的一个或者多个行驶路径。可以理解的是,行驶路径的数量可以根据不同的情况进行选择,通常情况下可以选择10条权重值较高的行驶路径。例如,可以在10条行驶路径中找到没有行驶冲突站点的行驶路径以避免冲突。
127.在一个实施例中,所述获取区域地图,包括:
128.响应于所述区域地图大于预先设置的区域范围,则根据所述区域地图中的多个站点对所述区域地图进行拆分,得到多个拆分区域地图;
129.所述根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点,并利用递归查找算法,确定每个车辆的多个行驶路径,包括:
130.获取所述拆分区域地图之间的连接站点;
131.根据所述行驶起点站点、行驶终点站点、所述拆分区域地图中多个站点和所述连接站点,并利用递归查找算法,确定每个车辆的多个行驶路径。
132.具体地,当区域地图过大,进行递归查找时会额外消耗或者占用终端设备的计算资源,因此当区域地图大于预先设置的区域范围时,可以根据区域地图中的站点对区域地图进行划分,得到多个拆分区域地图。可以根据站点的数量进行划分,得到的每个拆分区域
地图中均包含一定预设数量的站点。当将地图拆分后,行驶路径的确定过程可以为:先利用递归查找算法行驶起点站点、第一拆分区域地图中多个站点和第一拆分区域地图和第二拆分区域地图之间的连接点,确定第一拆分区域地图中的车辆的多个行驶路径。以此类推,直至确定所有拆分区域地图中的行驶路径,最终将所有拆分地图中的行驶路径进行组合,确定最终的每个车辆的多个行驶路径。
133.在一些示例性的实施例中,如图10所示,a、b、c和d为四个拆分区域地图,其中每个拆分区域地图中存在3个站点,a中站点为:s1、s2、s3,b中站点为s5、s6、s7。c中的站点为s9、s10、s11。d中的站点为s13、s14和s15。其中,s4为a和b中的连接站点。s8为b和c中的连接站点。s12为c和d中的连接站点。s1为行驶起点站点、s15为行驶终点站点。首先确定,a中的行驶路径,然后确定b、c、d中的行驶路径,在本公开实施例中仅以一条行驶路径进行举例说明。根据a、b、c、d中的行驶路径可以确定最终的行驶路径,例如图10中的s1-s15。
134.在本实施例中,当区域地图过大时,为了降低计算机的资源消耗可以将区域地图进行拆分,进而提高确定车辆的行驶路径的速度。
135.在一个实施例中,如图11所示,首先可以获取区域地图,判断区域地图是否超过预先设置的区域范围。若超过,则可以确定当前的区域地图过大,需要对区域地图进行拆分处理,拆分为多个拆分区域。然后获取当前车辆所在的拆分区域,获取行驶终点所在的拆分区域。如果拆分区域相同或者当前区域地图未超过预设的区域范围,则可遍历当前区域中的所有站点,根据车辆当前的位置和行驶终点站点来确定多个行驶路径。若拆分区域不相同,则需要确定达到行驶终点站点所经过的拆分区域,确定拆分区域之间的连接点。然后根据连接点当前车辆的位置,行驶终点站点确定多个拆分区域中的行驶路径,根据多个拆分区域中的行驶路径来确定最终的多个行驶路径。确定多个行驶路径之后,可以根据行驶距离,行驶冲突站点、行驶需要旋转的角度等来确定每个行驶路径对应的权重值,根据权重值来确定至少一条最优的行驶路径。最优的行驶路径通常可以是行驶距离最短或者冲突站点最少的行驶路径。
136.在一个实施例中,如图12所示,可以在一定的时间间隔内检测两个车辆的行驶路径中是否存在冲突。若两个车辆之间存在冲突(以车辆a和车辆b进行举例),则确定让行方案。若不存在冲突,则沿行驶路径行驶直至到达行驶终点站点。让行方案具体包括:判断a的行驶终点站点是否在b的行驶路径上,若在,则确定让行站点,a车让行,或者b车已经驶入行驶冲突站点,则a车让行。规划a车的无冲突行驶路线,a车通过无冲突行驶路径行驶至a车的行驶终点站点,b车正常行驶。若不在,则判断b车的行驶终点站点是否在a的行驶路径上,若在,则确定让行站点,b车让行,或者,如果a已经驶入行驶冲突站点,则b车让行。规划b车的无冲突行驶路线,b车通过无冲突行驶路径行驶至b车的行驶终点站点。a车正常行驶。若a车和b车都未驶入行驶冲突站点,则确定优先级,根据优先级确定a车或者b车为让行车辆。若a车为让行车辆,则a车确定让行站点,规划无冲突行驶路线。若b车为让行车辆,则b车确定让行站点,规划无冲突行驶路线。若a和b驶入行驶冲突站点,则根据对应的行驶路径的权重值确定a车或者b车为让行车辆,并驶入让行站点。规划让行车辆的无冲突行驶路线。
137.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而
且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
138.基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的agv的路径规划方法的agv的路径规划装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个agv的路径规划装置实施例中的具体限定可以参见上文中对于agv的路径规划方法的限定,在此不再赘述。
139.在一个实施例中,如图13所示,提供了一种agv的路径规划装置800,包括:路径获取模块802、冲突站点确定模块804、让行站点确定模块806和路径规划模块808,其中:
140.路径获取模块802,用于获取每个车辆的行驶路径,其中,所述行驶路径中包括:车辆的多个行驶站点;
141.冲突站点确定模块804,用于根据冲突车辆的行驶路径,确定冲突车辆之间的行驶路径中的行驶冲突站点,其中所述冲突车辆包括:存在路径冲突的车辆;
142.让行站点确定模块806,用于根据行驶冲突站点和行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点;
143.路径规划模块808,用于至少根据冲突车辆的所述行驶路径、行驶冲突站点和让行站点,确定所述冲突车辆的无冲突行驶路径。
144.在所述装置的一个实施例中,所述行驶站点包括:行驶终点站点,所述路径规划模块808,包括:让行车辆确定模块,用于响应于第一行驶终点站点在第二行驶路径中,或者所述冲突车辆中第二车辆行驶进入所述行驶冲突站点,则确定所述冲突车辆中第一车辆让行;
145.路径规划子模块,用于根据所述第一车辆的行驶路径和让行站点,确定所述第一车辆的无冲突行驶路径;
146.其中,所述第一行驶终点站点为所述冲突车辆中第一车辆的行驶终点站点,所述第二行驶路径为所述冲突车辆中第二行驶车辆的行驶路径。
147.在所述装置的一个实施例中,所述让行车辆确定模块,还用于响应于所述冲突车辆均未行驶进入所述行驶冲突站点,则根据预先设置的所述冲突车辆的优先级和所述冲突车辆的行驶路径的优先级,确定所述冲突车辆中让行车辆。
148.所述路径规划子模块,还用于根据所述让行车辆的行驶路径和让行站点,确定所述让行车辆的无冲突行驶路径。
149.在所述装置的一个实施例中,所述让行车辆确定模块,还用于响应于所述冲突车辆均行驶进入所述行驶冲突站点,根据与所述冲突车辆距离最近的让行站点、预先确定的所述冲突车辆行驶进入所述行驶冲突站点时所对应的行驶路径的权重值,确定所述冲突车辆中让行车辆。
150.所述路径规划模块808,还包括:控制模块,用于控制所述让行车辆行驶至与所述冲突车辆距离最近的所述让行站点。
151.所述路径规划子模块,还用于根据所述让行车辆的行驶路径、所述让行站点,确定所述让行车辆的无冲突行驶路径。
152.在所述装置的一个实施例中,所述路径获取模块802,包括:地图获取模块,用于获取区域地图,所述区域地图包括:多个站点;
153.行驶站点获取模块,用于确定所述车辆在所述区域地图中的行驶起点站点和行驶终点站点;
154.行驶路径确定模块,用于根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点确定每个车辆的至少一条行驶路径。
155.在所述装置的一个实施例中,所述让行站点确定模块806,包括:第一确定模块,用于根据所述行驶冲突站点之前的所述冲突车辆的行驶路径中的行驶站点,确定所述冲突车辆对应的让行站点;
156.第二确定模块,用于根据所述区域地图中,所述冲突车辆的行驶站点之外且与其他车辆不存在路径冲突的站点,确定所述冲突车辆对应的让行站点。
157.在所述装置的一个实施例中,所述行驶路径确定模块,包括:算法查找模块,用于根据所述行驶起点站点、行驶终点站点和所述区域地图中多个站点,并利用递归查找算法,确定每个车辆的多个行驶路径。
158.权重值确定模块,用于根据多个行驶路径中所述车辆行驶的距离和所述车辆之间的行驶冲突站点的数量,确定每个行驶路径对应的权重值。
159.行驶路径确定子模块,用于根据每个行驶路径对应的权重值,确定每个车辆的至少一条行驶路径。
160.在所述装置的一个实施例中,所述地图获取模块,包括:拆分模块,用于响应于所述区域地图大于预先设置的区域范围,则根据所述区域地图中的多个站点对所述区域地图进行拆分,得到多个拆分区域地图。所述行驶路径确定模块,还用于获取所述拆分区域地图之间的连接站点;根据所述行驶起点站点、行驶终点站点、所述拆分区域地图中多个站点和所述连接站点,并利用递归查找算法,确定每个车辆的多个行驶路径。
161.上述agv的路径规划装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
162.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储行驶路径、行驶冲突站点等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种agv的路径规划方法。
163.本领域技术人员可以理解,图14中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
164.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一方法实施例中的步骤。
165.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算
机程序被处理器执行时实现上述任一方法实施例中的步骤。
166.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
167.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
168.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
169.以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献