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

自移动设备的路径规划方法、装置、介质及自移动设备与流程

2021-12-17 18:46:00 来源:中国专利 TAG:


1.本技术实施例涉及路径规划技术领域,尤其涉及一种自移动设备的路径规划方法、装置、介质及自移动设备。


背景技术:

2.随着科技的迅速发展,自移动运输设备的使用越来越广泛。在智能仓储以及其他需要自移动运输设备来执行相应任务的场景中,当需要同时采用多台自移动设备进行工作时,需要对各自的路径进行规划。在实际的应用场景中,通常会存在多台自移动运输设备同时执行任务的情况,因此需要对其进行路径规划,从而避免多台自移动设备之间发生碰撞的情况发生。传统的对多台自移动设备进行路径规划的方法,在每一次出现新的任务需要执行时,需要进行繁琐的重叠检测,处理效率较低。


技术实现要素:

3.本技术实施例提供一种自移动设备的路径规划方法、装置、介质及自移动设备,以实现通过时间窗的虚拟插入以及连接规则,在确定符合连接规则之后实际插入时间窗,以避免因为路径重叠发生的阻碍事件,同时简化了对路径进行规划的算法,提高了处理速度。
4.第一方面,本技术实施例提供了一种自移动设备的路径规划方法,所述方法包括:
5.对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间;
6.对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各段路径的总时间窗的实际插入索引和时间窗的参数;
7.将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的总时间窗中。
8.第二方面,本技术实施例提供了一种自移动设备的路径规划装置,所述装置包括:
9.路径时间窗初始化模块,用于对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间;
10.时间窗参数确定模块,用于对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各路径的总时间窗的实际插入索引和时间窗的参数;
11.时间窗插入模块,用于将各时间窗按照虚拟插入确定的实际插入索引插入至各路径的总时间窗中。
12.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器运行时实现如本技术实施例所述的自移动设备的路径规划方法。
13.第四方面,本技术实施例提供了一种自移动设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器运行所述计算机程序时实现如本技术实施例所述的自移动设备的路径规划方法。
14.本技术实施例所提供的技术方案,对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时
间;对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各段路径的总时间窗的实际插入索引和时间窗的参数;将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的总时间窗中。通过采用本技术所提供的技术方案,可以实现通过时间窗的虚拟插入以及连接规则,在确定符合连接规则之后实际插入时间窗,以避免因为路径重叠发生的阻碍事件,同时简化了对路径进行规划的算法,提高了处理速度。
附图说明
15.图1是本技术实施例一提供的自移动设备的路径规划方法的流程图;
16.图2是本技术实施例一提供的某一路径的总时间窗的示意图;
17.图3是本技术实施例二提供的又一自移动设备的路径规划方法的流程图;
18.图4a是本技术实施例二提供的时间窗连接的示意图;
19.图4b是本技术实施例二提供的时间窗连接的示意图;
20.图4c是本技术实施例二提供的时间窗连接的示意图;
21.图5是本技术实施例三提供的又一自移动设备的路径规划方法的流程图;
22.图6a是本技术实施例二提供的时间窗受阻时的示意图;
23.图6b是本技术实施例三提供的时间窗可移动虚拟插入前的示意图;
24.图6c是本技术实施例三提供的时间窗移动并虚拟插入后的示意图;
25.图7是本技术实施例三提供的自移动设备的路径规划分法的示意图;
26.图8是本技术实施例四提供的自移动设备的路径规划装置的结构示意图;
27.图9是本技术实施例六提供的一种自移动设备的结构示意图。
具体实施方式
28.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
29.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
30.实施例一
31.图1是本技术实施例一提供的自移动设备的路径规划方法的流程图,本实施例可适于自移动设备的路径规划的情况,该方法可以由本技术实施例所提供的自移动设备的路径规划装置运行,该装置可以由软件和/或硬件的方式来实现,并可集成于智能终端等自移动设备中。自移动设备可以为具有全自动驾驶、半自动驾驶或者辅助驾驶功能的移动设备,比如具有自动驾驶模式的汽车、agv(automated guided vehicle,自动导引运输车/无人搬运车)、机器人等。本案中以自移动设备为agv为例进行说明。
32.如图1所示,所述自移动设备的路径规划方法包括:
33.s110、对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各
段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间。
34.在利用自移动设备来执行任务的场景中,通常由统一的控制系统对同一场景内的多个自移动设备来进行调度,以使得整个场景能够有序进行。比如,利用agv来实现仓储搬运时,需要对仓储区域内所有在执行任务或者即将执行任务的avg进行调度控制。待执行任务可以由系统自动导入,也可以由用户通过输入设备进行输入。当系统接收到一个或者多个待执行任务时,系统会根据自身的调度算法或者规则确定相应的自移动设备来来完成每个任务,当然系统也可以根据用户指定的自移动设备来控制相应的自移动设备执行新的任务。这就需要对接收到任务的自移动设备(也即待执行任务的自移动设备)进行路径的规划。对待执行任务的自移动设备进行路径规划可以采用本领域常用的路径规划方法来进行。具体地,根据自移动设备的起始点和目的地确定可选路径,然后基于时间、路程因素以及路径繁忙程度进行权衡后选择一最佳路径作为规划路径。
35.由于在智能仓储等一些场合中,路径的宽度只允许单个执行任务的自移动设备通过,因此在进行路径规划的时候不仅需要规划自移动设备实际经过的路径,还需要对自移动设备在相应路径上的驶入时间和驶出时间进行确定和控制,以避免不同的自移动设备在执行过程中发生碰撞或者相互阻挡的问题。在一种可行的实施例中,如果存在某一段或者多段路径允许多个自移动设备并行通过,则可以类比此方案中提供的单个自移动设备通过的方案进行路径规划。如,允许两个自移动设备通过的情况下,如果在相同的时间内,如果已经存在两个设备在该段路径上面同向行驶,则如果存在其他的设备需要逆向行驶时,势必会造成相互阻碍或者碰撞,因此可以对该逆向行驶的自移动设备进行重新规划。
36.自移动设备在各路径上的驶入时间和驶出时间可以用时间窗来表示,也即需要确定自移动设备在规划路径上对应的时间窗。显然,时间窗的参数包含了自移动设备进入该路径的驶入时间和离开该路径的驶出时间。在其他的实施例中,时间窗的参数也还可以包括自移动设备在当前路径上的行驶时长,也即对应于时间窗的总长度,还包括在该路径上的行驶方向等。
37.在实际的应用场景中,一个总的规划路径通常会包括多段路径,因此对于每一段路径都需要进行冲突判断,以确保自移动设备在该段路径上不会与其他自移动设备发生碰撞,因此在确定整个规划路径的时间窗时,需要确定对应于各段路径上的时间窗,且确定好的各时间窗在时间上是相互连续的。故,在确定路径后会对各段路径进行时间窗的初始化。初始化时间窗也即为各路段的时间窗的相关参数赋予初始值。在进行赋值的过程中,由于每段路径上的长度是确定的,通常假定自移动设备在各路段是匀速行驶的且速度已知,因此只需要根据自移动设备的执行任务的起始时刻即可确定出来初始状态下自移动设备在各段路径上的时间窗。在进行初始化各路段的时间窗时,通常并不会考虑其他自移动设备的影响。执行任务的起始时刻可以当前接收到任务的时刻作为起始时刻,也可以为考虑了首段路径的总时间窗的占用情况后进行确定。
38.s120、对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各段路径的总时间窗的实际插入索引和时间窗的参数。由于自移动设备工作的场景中通常会存在多台其他的同类型或者不同类型的自移动设备在同步进行工作,因此在时间窗的确定过程中还需要考虑其他自移动设备的相同路径上的时间窗问题,才能够避免同一路径上不会出现两个以上的自移动设备的时间窗交叠或重叠的问题。而初始化的时间窗并没有考虑其他自移动
设备的时间窗的影响问题,因此需要将待执行任务的自移动设备的初始化的时间窗虚拟插入到相应的路径中,以确定实际能够插入的位置以及插入后的时间窗的参数。实际插入的位置可以用位置索引来表示。位置索引是指插入的时间窗位于当前插入路径中的总时间窗中的编号,从而可以根据编号确定时间窗在当前插入路径的总时间窗上的位置。
39.具体地,时间窗的虚拟插入是指只记录插入到对应路径的总时间窗的位置索引,而并不执行实际的插入操作。实际的插入操作会将整个时间窗插入到对应路径的总时间窗中,因此在插入之后需要做重叠检测,并将存在重叠的时间窗时需要重新进行排布,这样就会耗费很多时间。而时间窗的虚拟插入只记录插入到路径的总时间窗的索引,在连接操作过程中发现其无法进行连接时,则重新确定并记录新的插入索引即可,而无需对路径的总时间窗进行重新排布,从而可以避免时间窗实际插入后的重叠检测环节,提高算法的处理速度。
40.连接操作是指将将当前插入路径的时间窗与上一路径的时间窗之间进行可连接判断,然后在能够连接的前提下对二者进行连接。需要说明的是,本案中所提及的当前插入路径的时间窗和上一路径的时间窗进行连接时,均是指同一自移动设备在两个路径上的时间窗。所谓将时间窗进行连接,包括时间窗的直接连接,也包括将前一时间窗做扩展(也即驶出时间推后)后进行连接,并在连接后进行时间窗参数的更新。在无法进行连接时,则会重新进行虚拟插入以最终确定出来各时间窗在对应路径的总时间窗上的实际插入索引以及时间窗参数。
41.图2是本技术实施例一提供的某一路径的总时间窗的示意图。如图2所示,t可以是在规划路径中经过的某一段路径的总时间窗,其可以存放同一路径下不同任务的时间窗。从图2中可以看出,该路径的总时间窗内有两个任务时间窗,第一个任务时间窗的驶入时间为t1,驶出时间为t2,而第二个任务时间窗的驶入时间为t3,驶出时间为t4,在两个任务时间窗之间是一个空白时间窗(也即没有被占用的时间轴),其起始时间为t2,结束时间为t3。该路径的实际工作为,到达t1时刻,有一个自移动设备驶入该段路径,并在t2时刻驶出。又到了t3时刻,又存在另一个自移动设备驶入该段路径,并在t4时刻驶出。对应于每个时间窗都有一个索引以便于在时间窗上进行定位,比如将按照时间窗在时间矢量上的顺序进行排序,将第一个任务时间窗的索引设置为1,中间的空白时间窗的索引设置为2,第二个任务时间窗的索引设置为3,第二个时间窗后面的空白时间窗是索引为4。当然索引还可以设置为其他标识符号,只要能够完成在总时间窗的查找定位即可。在对时间窗进行虚拟插入时,只需要记录其可插入的索引即可。比如,时间窗的可插入索引为2,则记录索引2即可,但是并不会实际上时间窗插入到对应的空白时间窗中。通过这样的设置,可以避免直接将自移动设备的时间窗插入到对应路径的总时间窗中,造成后续一旦出现需要调整的情况,就要把已插入的信息进行擦除操作,不仅复杂,而且还容易造成擦除错误的情况,影响自移动设备管理系统的正常运行。
42.s130、将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的总时间窗中。
43.当所有的时间窗中各个自移动设备的时间窗均连接成功,则说明自移动设备不会在规划路径中的任何一个路段中出现阻碍且各时间窗在时间上是连续的,则可以将时间窗进行实际插入,并根据最终确定是时间窗来对自移动设备的移动进行控制,以使各个自移
动设备按照自移动设备的路径规划结果进行行驶。
44.上述方法,在确定各路径的时间窗在对应路径的总时间窗的插入位置以及时间窗参数之前,并不会对其进行实际插入而是仅仅执行虚拟插入以及连接操作,从而在确保各时间窗在各路径均能够正常插入且相互之间能够连接时,根据确定的索引和时间窗参数来完成时间窗在各路径的实际插入,从而可以避免在时间窗的确定过程中就实际插入后的重叠检测环节,极大的提高算法的处理速度。
45.可选的,所述方法还包括:在同时存在至少两个待执行任务的自移动设备时,获取各自移动设备的优先等级或者各待执行任务的优先等级,并根据所述优先等级依次对各待执行任务的自移动设备进行路径规划。
46.其中,如果同时接收到至少两个待执行任务,而且需要至少两个自移动设备执行时,可以获取每个自动自移动设备的优先等级,或者可以获取每个待执行任务的优先等级,并按照该优先等级进行路径规划。其中,自移动设备的优先等级可以根据自移动设备的属性来决定,例如路障清理自移动设备,优先等级可以高于普通的搬运自移动设备。任务的优先等级可以根据任务的紧急情况,以及任务的执行难度来确定,例如可以设定易于执行的优先处理,例如某一个任务只经过两个路径,而某一个任务需要经过十个路径,则可以优先执行经过两个路径的任务。这样设置可以提高待执行任务的执行效率,提高自移动设备的运输效果。
47.可选的,所述方法还包括:在将各时间窗按照虚拟插入确定的实际插入索引插入至对应路径的总时间窗后,更新被插入路径内其他自移动设备在对应路径上的总时间窗的索引。在将当前自移动设备的时间窗实际插入到对应路径的总时间窗后,会改变插入后的总时间窗的排布情况,故对对应路径插入的时间窗后面的其他自移动设备的时间窗的索引进行更新,以对应最新的时间窗排布情况。
48.本技术实施例所提供的技术方案,对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间;对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各段路径的总时间窗的实际插入索引和时间窗的参数;将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的总时间窗中。通过采用本技术所提供的技术方案,可以通过时间窗的虚拟插入以及连接操作,在确定实际插入索引和时间窗的参数后再执行实际的插入工作,从而可以避免由于插入后时间窗存在重叠或者交叠时需要重新对时间窗进行插入并对已经插入数据进行擦写等步骤,极大的提高了处理效率,并且采用虚拟插入来替代实际插入进而确定实际插入位置以及参数,可以避免大量的时间窗重叠检测,简化了对路径进行规划的算法,提高了处理速度。
49.实施例二
50.本实施例在上述实施例的基础上,进行了进一步的优化,具体优化为:所述对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各段路径的总时间窗的实际插入索引和时间窗的参数,包括:逐个对时间窗执行虚拟插入;所述虚拟插入为确定当前时间窗在插入路径的总时间窗上的可插入索引;在当前插入路径的时间窗与上一路径对应的时间窗满足可连接时,对二者进行连接后,并对下一路径的时间窗执行虚拟插入;在当前插入路径的时间窗与上一路径对应的时间窗满足不可连接时,重新对上一路径的时间窗执行虚拟插
入;在完成所有时间窗的虚拟插入以及连接后,将各路径的时间窗对应的可插入索引作为实际插入索引。图3是本技术实施例二提供的又一自移动设备的路径规划方法的流程图。如图3所示,该方法包括:
51.s310、对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间。
52.s320、逐个对时间窗执行虚拟插入;所述虚拟插入为确定当前时间窗在插入路径的总时间窗上的可插入索引;并执行s330或s340。
53.具体的,在基于规划路径来确定各段路径的时间窗的实际插入索引和时间窗参数时,需要逐个对时间窗执行虚拟插入。例如,可以从路径的起始路径的时间窗开始依次进行插入。可以理解的,本方案中逐个对时间窗执行虚拟插入的过程,可以是以自移动设备经过各段路径的先后顺序进行虚拟插入。
54.其中,虚拟插入是用来确定当前时间窗在插入路径的总时间窗的可插入索引。其中当前时间窗是指当前执行虚拟插入的时间窗,当前时间窗插入的路径也称之为当前插入路径或者插入路径。这里所说的路径的总时间窗,用于存放当前插入路径的不同任务的时间窗,可以包括其他自移动设备的时间窗,该时间窗通常为已经完成实际插入的时间窗。则在此处,如果当前时间窗与路径的总时间窗中其他的时间窗出现重叠部分,则说明按照此时间窗进行实际插入的话,在该路径上会发生相互阻挡的情况。
55.其中,虚拟插入为确定当前时间窗在插入路径的总时间窗上的可插入索引,具体的,可以理解为在当前路径的总时间窗中,可以插入该自移动设备在这一路径的时间窗的位置,即为可插入索引。其中可以插入的标准可以是时间窗插入到对应路径的总时间窗的空白时间窗的长度大于需要插入的时间窗的长度。
56.s330、在当前插入路径的时间窗与上一路径对应的时间窗满足可连接时,对二者进行连接后,并对下一路径的时间窗执行虚拟插入。
57.在当前插入路径的时间窗与上一路径对应的时间窗满足可连接时,对二者进行连接后,并对下一路径的时间窗执行虚拟插入。其中可连接条件可以是当前插入路径的时间窗的驶入时间和上一路径的时间窗的驶出时间能够相同,或者在前一路径的总时间窗上对应于上述两个时间点之间的时间窗为空白时间窗。
58.在执行完s330后,如果还有其他时间窗没有完成虚拟插入以及连接操作,则继续对下一路径的时间窗执行虚拟插入,直至所有的时间窗的虚拟插入以及连接都已经完成,然后执行s350。
59.s340、在当前插入路径的时间窗与上一路径对应的时间窗满足不可连接时,重新对上一路径的时间窗执行虚拟插入。
60.在当前插入路径的时间窗与上一路径对应的时间窗满足不可连接时,重新对上一路径的时间窗执行虚拟插入;可以理解,不可连接包含了可连接之外的情形,比如在上一路径的总时间窗中,对应于当前插入路径的时间窗的驶入时间的时间窗为非空白时间窗,或者在上一路径的总时间窗上,自移动设备的时间窗的驶出时间至当前插入路径的时间窗的驶入时间之间至少存在部分时间窗是非空白时间窗,也即上一路径的总时间窗中,在当前自移动设备的时间窗的驶出时间后面存在其他的自移动设备的任务时间窗,从而导致无法直接对上一路径的时间窗进行扩展以实现其与当前插入路径的时间窗的连接。此时,则需
要重新对上一路径的时间窗进行虚拟插入,以并重新对其进行连接操作。
61.在对上一路径的时间窗进行虚拟插入后,会继续跟进上一路径与其之前的路径之间是否可以连接确定,进而选择执行s330或者s340,在直至所有的时间窗的虚拟插入以及连接都已经完成,然后执行s350。
62.s350、在完成所有时间窗的虚拟插入以及连接后,将各路径的时间窗对应的可插入索引作为实际插入索引。
63.在完成所有时间窗的虚拟插入以及连接后,将各路径的时间窗对应的可插入索引作为实际插入索引。在完成所有时间窗的虚拟插入以及连接后,才将可插入索引作为实际插入索引,能够避免由于时间窗重叠导致需要多次重新进行时间窗实际插入的操作,极大的提高了操作效率,且可以确保不会与其他自移动设备在路径上发生碰撞。
64.s360、将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的总时间窗中。
65.本实施例在上述实施例的基础上,提供了一种时间窗的虚拟插入方式,通过虚拟插入,可以在实际插入之间进行时间窗的调整,使得实际插入的结果即为可以执行的结果,避免将时间窗实际插入之后再进行调整,导致实际插入结果需要进行更改,造成的任务执行错乱的问题。
66.可选的,所述在当前插入路径的时间窗与上一路径的时间窗满足可连接,包括当前插入路径的时间窗的驶入时间与上一路径的时间窗的驶出时间相同,图4a是本技术实施例二提供的时间窗连接的示意图。如图4a所示,ti表示当前插入路径的总时间窗向量,ti-1则表示上一路径的总时间窗向量,矩形表示任务时间窗,也即该时间轴上为非空白时间窗,图中的目标设备也即为在当前做路径规划的自移动设备。从图中可以看到,当前插入路径的时间窗的驶入时间与上一路径的时间窗的驶出时间是相同的,此时,插入后的时间窗与上一路径的时间窗在时间上是连续的,因此无需二者进行其他操作,即可实现二者在时序上的连接。
67.可选的,所述在当前插入路径的时间窗与上一路径的时间窗满足可连接,包括:在上一路径的总时间窗中,自移动设备的时间窗的驶出时间至当前插入路径的时间窗的驶入时间之间的时间窗为空白时间窗;
68.所述对二者进行连接包括,将上一路径的时间窗的驶出时间替换为当前插入路径的时间窗的驶入时间后将二者连接,并更新上一路径的时间窗的参数。
69.其中,在上一路径的总时间窗中,如果自移动设备在在该路径的时间窗之后到当前插入路径的时间窗的驶入时间之间存在空白的时间窗,图4b是本技术实施例二提供的时间窗连接的示意图。如图4b所示,则表示上一路径的总时间窗中,在当前待执行任务的可移动设备的时间窗的驶出时间到当前插入路径的驶入时间之间为空白时间窗,也即没有其他的自移动设备进入该路段执行工作,因此自移动设备在上一路径的时间总长度是可以扩展的,也即可以对上一路径的时间窗的驶出时间进行扩展,使得上一路径的时间窗的驶出时间和当前路径的驶入时间一致,就可以实现上一路径的时间窗与当前路径的时间窗的连接。
70.图4c是本技术实施例二提供的时间窗连接的示意图。图4c为对上一路径中的时间窗的驶出时间进行扩展延伸后的示意图。由于上一路径中的时间窗的驶入时间不会做改
变,因此不会改变上一路径的时间窗的驶入时间,因此无需再对上一路径的时间窗与其之前的路径的时间窗之间的连接问题做重新判断。由于对上一路径的时间窗扩展所造成的上一路径的驶出时间的变化,因此在连接后需要更新上一路径的时间窗的参数。本技术方案通过这样的设置,可以通过对上一路径的时间窗进行扩展完成其与当前插入路径的时间窗的连接,从而无需对上一路径的时间窗进行重新虚拟插入以及连接操作,提高了路径规划的效率。
71.在一实施例中,可选的,所述在当前插入路径的时间窗与上一路径的时间窗满足不可连接,包括:在上一路径的路径时窗序列中,对应于当前插入路径的时间窗的驶入时间为非空白时间窗。图6a是本技术实施例二提供的时间窗受阻时的示意图。如图6a所示,在上一路径的总时间窗ti-1上,对应于当前插入路径中的目标设备的驶入时间的位置被其他设备的任务时间窗所占用,也即为非空白时间窗,此时需要重新对上一路径中的时间窗进行重新虚拟插入以及连接操作,也即返回至对上一路径的时间窗的虚拟插入以及连接操作。可以理解,在进行虚拟插入的过程,均是对时间窗后移后进行插入,从而避免对前面已经判断过程时间轴范围进行重复判断。
72.实施例三
73.在上述各实施例的基础上,本实施例进行了进一步的优化,具体优化为:所述在当前插入路径的时间窗与上一路径的时间窗满足不可连接,包括:在上一路径的总时间窗中,上一路径的时间窗的驶出时间至当前插入路径的时间窗的驶入时间之间的时间窗中至少存在部分时间窗为非空白时间窗;所述重新对上一路径的时间窗执行虚拟插入包括:判断上一路径的总时间窗中,对应于当前插入路径的时间窗的驶入时间的时间窗是否为空白时间窗,且所述空白时间窗的驶入时间至当前插入路径的时间窗的驶入时间之间的长度是否大于上一路径的时间窗的长度;若是,将上一路径的时间窗虚拟插入至所述空白时间窗以使得上一路径的时间窗的驶出时间与当前插入路径的时间窗的驶入时间相同,并将上一路径作为当前插入路径;若否,将上一路径的时间窗向后移动并重新进行虚拟插入。图5是本技术实施例三提供的又一自移动设备的路径规划方法的流程图。如图5所示,该方法包括:
74.s510、对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间。
75.s520、逐个对时间窗执行虚拟插入;所述虚拟插入为确定当前时间窗在插入路径的总时间窗上的可插入索引;并执行s530或s540。
76.s530、在当前插入路径的时间窗与上一路径对应的时间窗满足可连接时,对二者进行连接后,并对下一路径的时间窗执行虚拟插入。
77.在所有的时间窗的虚拟插入以及连接都已经完成后执行s580。
78.s540、在上一路径的总时间窗中,上一路径的时间窗的驶出时间至当前插入路径的时间窗的驶入时间之间的时间窗中至少存在部分时间窗为非空白时间窗。
79.其中,可以通过对上一路径的总时间窗中,自移动设备的时间窗的驶出时间至当前插入路径的时间窗的驶入时间之间的时间窗中是否存在能够进行跳跃插入的空白时间窗进行识别。其中跳跃插入即为如果存在足够长的空白时间窗,可以将上一路径的时间窗跳跃移动至该空白时间窗的位置,并且能够保证完成连接的同时,不会和上一路径的总时间窗中的插入位置的前一个时间窗发生重叠。
80.s550、判断上一路径的总时间窗中,对应于当前插入路径的时间窗的驶入时间的时间窗是否为空白时间窗,且所述空白时间窗的驶入时间至当前插入路径的时间窗的驶入时间之间的长度是否大于上一路径的时间窗的长度;若是,则执行s560;若否,则执行s570。
81.其中,在上一路径的总时间窗中,如果空白时间窗的驶入时间至当前插入路径的时间窗的驶入时间之间的长度大于上一路径的时间窗的长度,则可以进行跳跃插入,如果小于上一路径的时间窗长度,则不能够进行跳跃插入。
82.具体地,图6b是本技术实施例三提供的时间窗可移动虚拟插入前的示意图。参见图6b,在上一路径的总时间窗ti-1上,当前插入路径的时间窗的驶入时间对应的时间窗是一个空白时间窗,而且这个空白时间窗到前面的任务时间窗的长度大于上一路径中的自移动设备的时间窗的长度,此时则可以将上一路径的自移动设备的时间窗后移至这个空白时间窗,并且使得其驶出时间等于当前插入路径的时间窗的驶入时间即可
83.s560、将上一路径的时间窗虚拟插入至所述空白时间窗以使得上一路径的时间窗的驶出时间与当前插入路径的时间窗的驶入时间相同,并将上一路径作为当前插入路径。
84.在所有的时间窗的虚拟插入以及连接都已经完成后执行s580。
85.图6c是本技术实施例三提供的时间窗移动并虚拟插入后的示意图。如图6c所示。此时由于上一路径的时间窗的驶入时间和驶出时间都发生了变化,因此需要对上一路径的时间窗与其之前路径的时间窗是否能够连接做进一步的判断,此时则将上一路径的时间窗作为当前插入的时间窗,进而对其进行连接操作,也即判断移动后的该时间窗与其前面的路径的时间窗是否能够连接,如果不能连接,则继续对前面的路径的时间窗进行重新虚拟插入以及连接操作,如果可以则进行连接。
86.s570、将上一路径的时间窗向后移动并重新进行虚拟插入。
87.如果上一路径的时间窗移动至空白时间窗之后,无法实现不移动当前路径的时间窗的情况下进行连接,则可以将上一个时间窗向后移动之后,重新进行上一路径时间窗的虚拟插入操作。
88.s580、在完成所有时间窗的虚拟插入以及连接后,将各路径的时间窗对应的可插入索引作为实际插入索引,将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的总时间窗中。
89.本技术方案在上述各技术方案的基础上,提供了一种根据前一路径的空白时间窗是否允许跳跃插入操作,对时间窗的连接进行更加复杂的处理,以能够应对各种时间窗的插入过程中无法直接连接的场景。
90.可选的,在完成一次时间窗的虚拟插入和连接后,根据插入路径的时间窗的参数更新插入路径后的各路径的时间窗的参数。
91.其中,在每完成一次时间窗的连接之后,可以根据插入路径的时间窗的参数,更新插入路径后的各路径的时间窗的参数,如将整个时间窗的时间均向前调节或者均向后调节。通过同步做更新,可以确保后续的时间窗在执行虚拟插入时,不会再插入至前面路径的时间窗所占用或者无法插入的时间窗内,从而避免了时间窗在对应时间窗的无效插入,进而有效提高了整个算法的处理速度。
92.可以理解的,如果对上一时间窗中目标自移动设备的时间窗进行后移处理,则上一路径的时间窗中目标自移动设备的驶入时间发生变化,在这种情况下,需要判断上一路
径的时间窗是否为目标自移动设备的首个时间窗。若是,则针对目标自移动设备的调整完成,若否,则对上一时间窗的前一个时间窗再次进行连接。本方案通过这样的设置,可以保证目标自移动设备的时间窗在各段路径之间是连续的。
93.在一实施例中,在对时间窗执行虚拟插入时,还会进一步判断插入路径是否为首段路径,如果是,则在完成对当前路径的时间窗的插入后,即可直接对下一路径的时间窗进行虚拟插入以及连接操作。
94.以下是本技术提供的一种具体实施方式。
95.一、时间窗的虚拟插入。
96.(1)时间窗初始化:对于第m个新的任务,首先完成路径规划,用p
m
={p
m1
,p
m2
,...p
mj
}表示此任务需要经过的所有路径,m表示第m次任务。然后完成每段路径对应的时间窗的初始化下标j表示第j个时间窗,表示第m次任务第j段路径对应时间窗的总长度,表示第m次任务第j段路径对应时间窗的方向,表示第m次任务第j段路径对应时间窗的进入时间,表示第m次任务第j段路径对应时间窗的离开时间。
97.(2)时间窗虚拟插入方法设计:本专利提出的时间窗虚拟插入方法将每段路径对应的时间窗虚拟插入到t
i
中,虚拟插入指的是只记录插入的位置索引,不执行实际插入操作。此处t
i
,下标i表示路径的编号,用于存放同一路径不同任务的时间窗。并将其时间轴设计为一个向量,被插入的时间窗占用的时间轴对应的空白被删除,并更新新的空白。即时间窗上对应的每一段都有对应的时间窗,或者是插入的时间窗,或者是空白时间窗。这样做的好处是在时间窗进行连接的时候避免大量的重叠检测工作。
98.二、时间窗的连接。
99.每当一段路径对应的时间窗完成虚拟插入时,此时只记录了虚拟插入的位置,并没有进行实际插入操作。假设新插入的是第i个时间窗,接下来要和上一段路径对应的时间窗即第i-1段时间窗进行连接。
100.三、时间窗的实际插入。
101.当一个任务对应的所有时间窗完成对应的时间窗的虚拟插入以及连接工作时,再对此任务的所有时间窗执行真正的插入操作,即将时间窗插在虚拟插入时记录的索引位置,并对被插向量t中的其他时间窗的索引位置进行更新。
102.此方法的好处:如果在时间窗虚拟插入环节执行实际插入操作,当进行时间窗连接的时候发现上一个时间窗是可以被扩展,被移动以及受阻塞的都会导致重新执行时间窗的删除,空白时间窗的还原以及时间窗的再插入的重复的工作,采用虚拟插入可以避免这些不必要的工作,只需要维护一个插入位置的变量从而就避免了上述问题,提高了算法的效率。
103.图7是本技术实施例三提供的自移动设备的路径规划分法的示意图。如图7所示,首先进行地图初始化,确定是否存在新的任务,若否,则不执行任何操作。
104.若存在新的任务,则选取空闲的agv车辆执行任务。其中,空闲的agv车辆的选取方式可以是采用一些常规可用的方式来确定的。如工作人员指定,或者系统平台选定等。
105.对新发布任务的agv进行路径规划,具体的,可以采用基于时间窗排布的方法进行
多机调度。
106.采用基于时间窗排布的方法进行多机调度具体包括:
107.时间窗初始化;
108.对当前任务下对应的第i个时间窗虚拟插入;
109.将第i个时间窗与第i-1个时间窗进行连接;其中,第i-1个时间窗为第i个时间窗的前一个时间窗。
110.确定第i-1个时间窗是否可扩展;若可扩展,则完成虚拟时间窗的插入及连接;并对i=i 1进行重新赋值,并重新执行虚拟插入过程;并在连接之后,确定第i个时间窗的离开时间是否改变,若是,则第i个时间窗被延迟,并对后续时间窗进行更新,并进一步判断所有时间窗是否完成虚拟插入和连接操作;若否,则第i个时间窗未被延迟,则可以直接进一步判断所有时间窗是否完成虚拟插入和连接操作。
111.若不可扩展,则确定第i-1个时间窗是否可移动;
112.若可移动,则对i=i-1进行重新赋值,并重新执行连接操作。
113.若不可移动,则判断第i-1个时间窗是否阻塞,若是,则对i=i-1进行重新赋值,并重新执行虚拟插入操作。
114.本发明的优越性主要体现在通过本专利提出的时间窗的虚插入以及连接方法可以实现在时间窗连接时避免进行繁琐的重叠检测,从而提高了算法的处理速度,缩短了多机调度的总用时,使系统效率更高。
115.实施例四
116.图8是本技术实施例四提供的自移动设备的路径规划装置的结构示意图。如图8所示,所述自移动设备的路径规划装置,包括:
117.路径时间窗初始化模块810,用于对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间;
118.时间窗参数确定模块820,用于对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各路径的总时间窗的实际插入索引和时间窗的参数;
119.时间窗插入模块830,用于将各时间窗按照虚拟插入确定的实际插入索引插入至各路径的总时间窗中。
120.本技术实施例所提供的技术方案,对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间;对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各段路径的路径时窗序列的实际插入索引和时间窗的参数;将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的路径时窗序列中。通过采用本技术所提供的技术方案,可以实现通过时间窗的虚拟插入以及连接规则,在确定符合连接规则之后实际插入时间窗,以避免因为路径重叠发生的阻碍事件,同时简化了对路径进行规划的算法,提高了处理速度。
121.进一步的,所述时间窗参数确定模块,包括:
122.虚拟插入单元,用于逐个对时间窗执行虚拟插入;所述虚拟插入为确定当前时间窗在插入路径的总时间窗上的可插入索引;
123.第一连接单元,用于在当前插入路径的时间窗与上一路径对应的时间窗满足可连接时,对二者进行连接后,并对下一路径的时间窗执行虚拟插入;
124.第二连接单元,用于在当前插入路径的时间窗与上一路径对应的时间窗满足不可连接时,重新对上一路径的时间窗执行虚拟插入;
125.实际插入索引确定单元,用于在完成所有时间窗的虚拟插入以及连接后,将各路径的时间窗对应的可插入索引作为实际插入索引。
126.进一步的,所述第一连接单元,用于,包括当前插入路径的时间窗的驶入时间与上一路径的时间窗的驶出时间相同。
127.进一步的,所述第二连接单元,用于:
128.在上一路径的总时间窗中,自移动设备的时间窗的驶出时间至当前插入路径的时间窗的驶入时间之间的时间窗为空白时间窗;
129.所述对二者进行连接包括,将上一路径的时间窗的驶出时间替换为当前插入路径的时间窗的驶入时间后将二者连接,并更新上一路径的时间窗的参数。
130.进一步的,所述第二连接单元,用于:在上一路径的总时间窗中,对应于当前插入路径的时间窗的驶入时间为非空白时间窗。
131.进一步的,所述第二连接单元,用于:在上一路径的总时间窗中,上一路径的时间窗的驶出时间至当前插入路径的时间窗的驶入时间之间的时间窗中至少存在部分时间窗为非空白时间窗;
132.所述重新对上一路径的时间窗执行虚拟插入包括:
133.判断上一路径的总时间窗中,对应于当前插入路径的时间窗的驶入时间的时间窗是否为空白时间窗,且所述空白时间窗的驶入时间至当前插入路径的时间窗的驶入时间之间的长度是否大于上一路径的时间窗的长度;
134.若是,将上一路径的时间窗虚拟插入至所述空白时间窗以使得上一路径的时间窗的驶出时间与当前插入路径的时间窗的驶入时间相同,并将上一路径作为当前插入路径;
135.若否,将上一路径的时间窗向后移动并重新进行虚拟插入。
136.进一步的,所述装置还包括:插入路径参数更新模块,用于:
137.在完成一次时间窗的虚拟插入和连接后,根据插入路径的时间窗的参数更新插入路径后的各路径的时间窗的参数;和/或
138.在当前插入路径为首段路径时,在完成对当前时间窗的虚拟插入后直接对下一路径的时间窗执行虚拟插入。
139.进一步的,所述装置还包括:
140.路径规划模块,用于在同时存在至少两个待执行任务的自移动设备时,获取各自移动设备的优先等级或者各待执行任务的优先等级,并根据所述优先等级依次对各待执行任务的自移动设备进行路径规划;和/或
141.路径总时间窗更新模块,用于在将各时间窗按照虚拟插入确定的实际插入索引插入至路径时窗序列中后,更新被插入路径内其他自移动设备在各路径的总时间窗的索引。
142.上述产品可运行本技术任意实施例所提供的方法,具备运行方法相应的功能模块和有益效果。
143.实施例五
144.本技术实施例还提供一种包含计算机可运行指令的存储介质,所述计算机可运行指令在由计算机处理器运行时用于运行一种自移动设备的路径规划方法,该方法包括:
145.对待执行任务的自移动设备进行路径规划,并基于所述路径规划初始化各段路径的时间窗;所述时间窗的参数包括驶入时间和驶出时间;
146.对各时间窗执行虚拟插入以及连接操作,以确定各时间窗在各段路径的总时间窗的实际插入索引和时间窗的参数;
147.将各时间窗按照虚拟插入确定的实际插入索引插入至各段路径的总时间窗中。
148.存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddr ram、sram、edo ram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被运行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于运行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器运行的程序指令(例如具体实现为计算机程序)。
149.当然,本技术实施例所提供的一种包含计算机可运行指令的存储介质,其计算机可运行指令不限于如上所述的自移动设备的路径规划操作,还可以运行本技术任意实施例所提供的自移动设备的路径规划方法中的相关操作。
150.实施例六
151.本技术实施例提供了一种自移动设备,该自移动设备中可集成本技术实施例提供的自移动设备的路径规划装置。图9是本技术实施例六提供的一种自移动设备的结构示意图。如图9所示,本实施例提供了一种自移动设备900,其包括:一个或多个处理器920;存储装置910,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器920运行,使得所述一个或多个处理器920实现本技术前述任一实施例所提供的自移动设备的路径规划方法。
152.图9显示的自移动设备900仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
153.如图9所示,该自移动设备900包括处理器920、存储装置910、输入装置930和输出装置940;自移动设备中处理器920的数量可以是一个或多个,图9中以一个处理器920为例;自移动设备中的处理器920、存储装置910、输入装置930和输出装置940可以通过总线或其他方式连接,图9中以通过总线950连接为例。
154.存储装置910作为一种计算机可读存储介质,可用于存储软件程序、计算机可运行程序以及模块单元,如本技术实施例中的自移动设备的路径规划方法对应的程序指令。
155.存储装置910可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置910可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置910可进一步包括相对于处理器920远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
156.输入装置930可用于接收输入的数字、字符信息或语音信息,以及产生与自移动设
备的用户设置以及功能控制有关的键信号输入。输出装置940可包括显示屏、扬声器等设备。
157.本技术实施例提供的自移动设备,可以实现通过时间窗的虚拟插入以及连接规则,在确定符合连接规则之后实际插入时间窗,以避免因为路径重叠发生的阻碍事件,同时简化了对路径进行规划的算法,提高了处理速度。
158.上述实施例中提供的自移动设备的路径规划装置、介质及自移动设备可运行本技术任意实施例所提供的自移动设备的路径规划方法,具备运行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例所提供的自移动设备的路径规划方法。
159.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献