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

路径规划方法及装置、机器人及计算机可读存储介质与流程

2022-11-14 13:30:51 来源:中国专利 TAG:


1.本技术涉及路径规划技术领域,特别涉及一种路径规划方法及装置、机器人及计算机可读存储介质。


背景技术:

2.现有的路径规划技术以基于固定路径地图的路径规划算法为主,技术流程一般为设定好包含固定路径片段的路径地图,并从中选取距离最短的路径。但是,现有的技术只考虑单个机器人的最短路径,并没有考虑到多个机器人移动时不同机器人的路径可能会互相干涉,尤其是某个机器人在终点路径停留时,可能会使得经过终点路径对应的冲突路径的其他机器人移动停顿,从而降低机器人的工作效率。


技术实现要素:

3.鉴于此,本技术实施方式提供了一种路径规划方法及装置、机器人及计算机可读存储介质,避免了机器人行驶在任务路线的终点路径时导致的任务路线的终点路径对应的冲突路径的机器人移动停顿甚至阻塞的问题。
4.本技术实施方式的路径规划方法包括获取预设的地图,所述地图包括多个路径点及连接任意相邻两个所述路径点的路径;获取执行任务的机器人的任务路线,以获取每个所述机器人的终点路径,每个所述机器人的所述终点路径为每个所述机器人的任务路线中最后一段的所述路径;获取与每个所述机器人的所述终点路径的距离小于预设安全距离的所述路径,以作为冲突路径,并根据与所述冲突路径冲突的所述机器人的所述终点路径的数量确定所述冲突路径的冲突次数;将当前机器人上一次执行任务时的所述终点路径对应的所述冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的所述路径的距离规划连通当前任务的起始路径点和终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
5.本技术实施方式的路径规划装置包括获取模块和规划模块。所述获取模块,用于获取预设的地图,所述地图包括多个路径点及连接任意相邻两个所述路径点的路径;获取执行任务的机器人的任务路线,以获取每个所述机器人的终点路径,每个所述机器人的所述终点路径为每个所述机器人的任务路线中最后一段的所述路径;获取与每个所述机器人的终点路径的距离小于预设安全距离的所述路径,以作为冲突路径,并根据所述冲突路径对应的所述机器人的终点路径得数量确定所述冲突路径的冲突次数。所述规划模块用于将当前机器人上一次执行任务时的终点路径对应的所述冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的所述路径的距离规划目标路线。
6.本技术实施方式的机器人包括处理器,所述处理器用于获取预设的地图,所述地图包括多个路径点及连接任意相邻两个所述路径点的路径;获取执行任务的机器人的任务路线,以获取每个所述机器人的终点路径,每个所述机器人的所述终点路径为每个所述机器人的任务路线中最后一段的所述路径;获取与每个所述机器人的终点路径的距离小于预
设安全距离的所述路径,以作为冲突路径,并根据与所述冲突路径冲突的所述机器人的终点路径的数量确定所述冲突路径的冲突次数;将当前机器人上一次执行任务时的终点路径对应的所述冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的所述路径的距离规划连通当前任务的起始路径点和终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
7.本技术实施方式提供一种计算机可读存储介质,其上存储有计算机程序。该计算机程序被处理器执行时实现路径规划方法。路径规划方法包括获取预设的地图,所述地图包括多个路径点及连接任意相邻两个所述路径点的路径;获取执行任务的机器人的任务路线,以获取每个所述机器人的终点路径,每个所述机器人的所述终点路径为每个所述机器人的任务路线中最后一段的所述路径;获取与每个所述机器人的所述终点路径的距离小于预设安全距离的所述路径,以作为冲突路径,并根据与所述冲突路径冲突的所述机器人的所述终点路径的数量确定所述冲突路径的冲突次数;将当前机器人上一次执行任务时的所述终点路径对应的所述冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的所述路径的距离规划连通当前任务的起始路径点和终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
8.本技术的路径规划方法及装置、机器人及计算机可读存储介质,通过将与每个机器人的终点路径的距离小于预设安全距离的路径作为冲突路径,并根据冲突路径冲突的机器人的终点路径的数量确定冲突路径的冲突次数,以使得机器人在进行路径规划时,根据冲突次数小于1的路径的距离来规划连通起始路径点和终止路径点的目标路线,避免了机器人行驶在任务路线的终点路径或停在任务路线的终止路径点时导致的任务路线的终点路径对应的冲突路径中的机器人移动停顿甚至阻塞的问题,从而提高机器人的工作效率。
9.本技术实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
10.本技术的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
11.图1是本技术某些实施方式的路径规划方法的流程示意图;
12.图2是本技术某些实施方式的路径规划方法的场景示意图;
13.图3是本技术某些实施方式的路径规划方法的流程示意图;
14.图4是本技术某些实施方式的路径规划方法的场景示意图;
15.图5是本技术某些实施方式的路径规划方法的流程示意图;
16.图6是本技术某些实施方式的路径规划方法的流程示意图;
17.图7是本技术某些实施方式的路径规划方法的流程示意图;
18.图8是本技术某些实施方式的路径规划方法的流程示意图;
19.图9是本技术某些实施方式的路径规划装置的模块示意图;
20.图10是本技术某些实施方式的机器人的平面示意图;及
21.图11是本技术某些实施方式的计算机可读存储介质与处理器的交互示意图。
具体实施方式
22.下面详细描述本技术的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本技术的实施方式,而不能理解为对本技术的实施方式的限制。
23.下面首先对本技术出现的名词进行解释:
24.迪克斯特拉算法(dijkstra):是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
25.a-star算法:是一种静态路网中求解最短路径最有效的直接搜索方法。
26.自动导引运输车(automated guided vehicle,agv):指装备有电磁或光学等自动导航装置,能够沿规定的导航路径行驶,具有安全保护以及各种移载功能的运输车。工业应用中不需要驾驶员的搬运车,以可充电的蓄电池为其动力来源。一般可通过电脑来控制其行进路径以及行为,或利用电磁轨道来设立其行进路径,电磁轨道黏贴于地板上,无人搬运车则依靠电磁轨道所带来的讯息进行移动与动作。
27.请参阅图1,本技术实施方式的路径规划方法包括:
28.步骤01:获取预设的地图,地图包括多个路径点及连接任意相邻两个路径点的路径。
29.具体地,为了准确的进行路径规划,需要先获取进行路径规划的场景的预设的地图,在预设的地图中标注多个路径点并连接任意相邻两个路径点的路径,从而建立场景的高精度地图。
30.进一步地,对于地图中的一些路径而言,由于进行路径规划的场景的大小限制、或者路径周围固定的物体的障碍,导致某些路径之间的距离可能会较小,难以满足两个机器人在两个距离较近的路径上同时移动,或者,机器人执行完当前任务后会停在终止路径点,若其他机器人规划的路径包含执行完当前任务的机器人的终点路径对应的冲突路径,那么其他机器人在经过执行完当前任务的机器人的终点路径对应的冲突路径时,可能会和执行完当前任务且停在终止路径点的机器人发生碰撞。因此,在建立地图时,需要计算所有相邻路径之间的最小距离,并在地图上实时更新所有冲突路径的占有情况,确保在机器人路径规划时根据所有冲突路径的占有情况选择路径。
31.步骤02:获取执行任务的机器人的任务路线,以获取每个机器人的终点路径,每个机器人的终点路径为每个机器人的任务路线中最后一段的路径。
32.具体地,机器人在路径规划时,会获取每个正在执行当前任务的或者已经执行完当前任务、等待下一个任务的机器人的任务路线,从而获得每个机器人的任务路线中最后一段的路径(即终点路径),以在进行路径规划时,避开由于与机器人的终点路径距离过小而导致无法使得其他机器人移动的路径。例如,如图2所示,地图的路径点包括路径点1至路径点6。某个机器人需要从路径点2移动到路径点6,且任务路线为2-4-6,那么路径4-6便是这个机器人的终点路径。
33.步骤03:获取与每个机器人的终点路径的距离小于预设安全距离的路径,以作为冲突路径,并根据与冲突路径冲突的机器人的终点路径的数量确定冲突路径的冲突次数。
34.具体地,在获取到每个机器人的终点路径之后,即可获取每个机器人的终点路径对应的冲突路径。具体可以获取地图中与机器人的终点路径的距离小于预设安全距离(如0.5米(m)、1m等)的路径,以作为机器人的终点路径对应的冲突路径;更进一步地,获取地图中与机器人的终点路径的最小距离小于预设安全距离(如0.5米(m)、1m等)的路径,以作为机器人的终点路径对应的冲突路径,也即是说,机器人的终点路径中至少存在一个位置、和机器人的终点路径对应的冲突路径中的一个位置的距离小于预设安全距离。当有两个机器人同时在机器人的终点路径和机器人的终点路径对应的冲突路径中行驶时,两个机器人可能发生碰撞。
35.其中,预设安全距离可以根据地图中的路径的宽度和机器人的尺寸确定。可以理解,在路径的宽度不变的情况下,机器人的尺寸(具体为宽度)越大,则机器人在地面的投影位于路径之外的部分越多,从而使得机器人在预设管制区域中的路径行驶时,与预设管制区域中的路径对应的冲突路径中的机器人发生碰撞的几率越大;而机器人的尺寸(具体为宽度)越小,则机器人在地面的投影位于路径之外的部分越少,从而使得机器人在预设管制区域中的路径行驶时,与预设管制区域中的路径对应的冲突路径中的机器人发生碰撞的几率越小。因此,为了降低发生碰撞的几率,则预设安全距离需要设置的越大,即预设安全距离与机器人的尺寸呈正比。
36.在机器人的尺寸不变的情况下,若路径的宽度越窄,则机器人在地面的投影位于路径之外的部分越多,从而使得机器人在预设管制区域中的路径行驶时,与预设管制区域中的路径对应的冲突路径中的机器人发生碰撞的几率越大;若路径的宽度越宽,则机器人在地面的投影位于路径之外的部分越少,从而使得机器人在预设管制区域中的路径行驶时,与预设管制区域中的路径对应的冲突路径中的机器人发生碰撞的几率越小。因此,为了降低发生碰撞的几率,则预设安全距离需要设置的越大,即预设安全距离和路径的宽度呈反比。
37.例如路径点1和路径点2之间,路径点1和路径点4之间及路径点2和路径点4之间都有路径,且三条路径之间的距离较小,根据此时规划路线的机器人m1(即当前机器人)的预设安全距离,可获得三条路径互为彼此的冲突路径,即路径1-2为路径1-4和路径2-4的冲突路径,路径1-4为路径1-2和路径2-4的冲突路径,路径2-4为路径1-2和路径1-4的冲突路径。若机器人m1的终止路径点是路径点1,终点路径是路径1-2,那么当机器人m1在终点路径1-2上移动时,可能会与在路径1-4和路径2-4移动的其他机器人发生碰撞;或者,当机器人m1停留在终止路径点1上时,若其他机器人规划的路径包含路径1-4或路径2-4,那么其他机器人在经过路径1-4或路径2-4时,可能会和机器人m1发生碰撞。
38.可以理解,每个机器人的终点路径本身也作为该机器人的终点路径本身的冲突路径,当存在两个机器人同时在同一个终点路径的情况下,是必然会发生碰撞的,也即是说,每个机器人的终点路径的冲突路径包括每个机器人的终点路径及与每个机器人的终点路径临近且距离小于预设安全距离的路径。
39.另外,每个冲突路径可能同时是多个机器人的终点路径的冲突路径,即每个冲突路径可能同时与多个机器人的终点路径冲突,因此,可以根据每个冲突路径冲突的多个机器人的终点路径的数量确定每个冲突路径的冲突次数。
40.例如,如图2所示,路径3-4为机器人m2的终点路径,且路径3-4与路径3-6之间的距
离小于正在规划路径的当前机器人的预设安全距离,此时路径3-6会被设置成路径3-4的冲突路径,路径3-6的冲突次数为1次,且路径3-4也会将本身设置为冲突路径,路径3-4的冲突次数同样为1次。或者,路径1-2为机器人m1的终点路径,路径1-4为机器人m3的终点路径,且路径1-2与路径2-4之间的距离和路径1-4与路径2-4之间的最小距离皆小于正在规划路径的当前机器人的预设安全距离,那么此时路径2-4会被设置成路径1-4和路径1-2的冲突路径,并且由于有两个机器人的终点路径(即路径1-4和路径1-2)与路径2-4发生冲突,那么路径2-4的冲突次数为2次。而由于终点路径(即路径1-4和路径1-2)会将本身设置成冲突路径,且路径1-2和路径2-4之间、以及路径1-4和路径2-4之间的最小距离小于正在规划路径的当前机器人的预设安全距离,因此,路径1-2和路径1-4的冲突次数同样为2次。
41.步骤04:将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的路径的距离规划连通当前任务的起始路径点和终止路径点的目标路线,起始路径点为任一路径点,终止路径点为起始路径点之外的任一路径点。
42.具体地,当前机器人接收到当前任务后,此时上一次执行的任务的终点路径将不再是当前机器人的终点路径,需要对上一次执行的任务的终点路径的冲突路径的冲突次数减1,由于上一次执行任务时的终点路径对应的冲突路径的冲突次数至少大于或等于1,若不将上一次执行任务时的终点路径对应的冲突路径的冲突次数减1,就会使得上一次执行任务时的终点路径对应的冲突路径的冲突次数一直大于或等于1。同时当前机器人在规划路径时,当前机器人的当前任务的任务路线的起始路径点可能就是上一次执行任务时的终止路径点,由于仅使用冲突次数小于1的路径规划目标路线,且上一次执行任务时的终点路径及其冲突路径的冲突次数均大于或等于1,此时可能无法规划出连通到当前任务的任务路线的起始路径点的目标路线,即当前机器人难以驶出上一次执行任务时的终止路径点,从而难以成功规划路径。
43.因此,当前机器人接收到当前任务后,需要将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数减1,使得当前机器人在规划路线时,基于预设的路径规划算法(如dijkstra算法、a-star算法等)根据冲突次数小于1的路径连通当前任务的起始路径点和终止路径点,成功驶出上一次执行任务的终止路径点并从当前任务的起始路径点移动到当前任务的终止路径点。
44.进一步地,当前机器人规划目标路线时可能会规划出多条不存在冲突次数大于或等于1的冲突路径的目标路线,若当前机器人规划出多条目标路线,则根据地图中的路径的距离,计算得到每条目标路线包含的所有路径的总距离,选择总距离最短的目标路线,以减少当前机器人执行任务的时间,提高当前机器人的工作效率。
45.例如,如图2所示,机器人m1的终止路径点为路径点1,终点路径为路径1-4,路径1-2和路径2-4为路径1-4的冲突路径。机器人m1接收到任务需要前往路径点5,那么机器人m1在进行路径规划时,会先将路径1-2、路径1-4和路径2-4的冲突次数减1,然后在地图中寻找冲突次数小于1的路径来连通机器人m1接收的任务的起始路径点和终止路径点。若路径1-2、路径1-4或路径2-4的冲突次数小于1,则机器人m1在进行路径规划时可以选择路径1-2、路径1-4或路径2-4来连通机器人m1接收的任务的起始路径点和终止路径点。若机器人m1在进行路径规划后,只规划出一条连通路径点1和路径点5的目标路线,那么机器人m1会直接
根据这条目标路线移动。若机器人m1在规划出连通路径点1和路径点5的多条目标路线,则会根据预设的最短路径算法,选择出一条路径距离最短的目标路线。例如,机器人m1根据地图上所有机器人的终点路径对应的冲突路线的冲突次数,规划出目标路线1-2-5,目标路线1-4-5,目标路线1-2-4-5和目标路线1-4-2-5,且目标路线1-4-5的总距离最短,因此,此时机器人m1会选择目标路线1-4-5来移动。
46.本技术的路径规划方法及装置、机器人及计算机可读存储介质,通过将与每个机器人的终点路径的距离小于预设安全距离的路径作为冲突路径,并根据冲突路径冲突的机器人的终点路径的数量确定冲突路径的冲突次数,以使得机器人在进行路径规划时,根据冲突次数小于1的路径的距离来规划连通起始路径点和终止路径点的目标路线,避免了机器人行驶在任务路线的终点路径或停在任务路线的终止路径点时导致的任务路线的终点路径对应的冲突路径中的机器人移动停顿甚至阻塞的问题,从而提高机器人的工作效率。
47.进一步地,请结合图3,本技术的路径规划方法在规划路径时还包括:
48.步骤05:确定与所有机器人的终点路径的距离均大于或等于预设安全距离的路径的冲突次数为0。
49.具体地,在进行路径规划,获取所有机器人的终点路径时,当前机器人会计算所有机器人的终点路径与所有机器人的终点路径的相邻的路径之间的距离,再结合当前机器人的预设安全距离,获取冲突路径和不存在冲突的路径(即与所有机器人的终点路径的距离均大于或等于预设安全距离的路径),且冲突路径的冲突次数不定,可能大于或等于1,不存在冲突的冲突次数均为0。在选择目标路线时,需要选择冲突次数为0的不存在冲突的路径来连通起始路径点和终止路径点,即选择一条不包含冲突路径的目标路线。
50.例如,如图4所示,机器人m2的终点路径为路径3-4,且当前场景中不存在其他终点路径终,路径3-4和路径3-6分别与路径3-4的距离均小于预设安全距离,即,路径3-4和路径3-6均为路径3-4的冲突路径,路径3-4和路径3-6的冲突次数设置为1。地图中除路径3-4和路径3-6之外的路径(如路径1-2、路径1-4、路径1-3、路径2-4、路径2-5、路径4-5、路径4-6和路径5-6)与路径3-4的距离均大于或等于预设安全距离,即均不是路径3-4的冲突路径,路径3-4和路径3-6之外的路径的冲突次数均为0。
51.在进行路径规划时,即可根据地图中除路径3-4和路径3-6之外的路径进行路径规划,从而获取到不包含冲突路径的目标路线。
52.再进一步地,请参阅图5,本技术的路径规划方法还包括:
53.步骤06:在目标路线规划成功的情况下,将目标路线的终点路径对应的冲突路径的冲突次数增加1;
54.步骤07:在目标路线规划失败的情况下,将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数增加1。
55.具体地,当前机器人在根据当前任务成功规划目标路线后,会将当前机器人的终点路径对应的冲突路径的冲突次数加1,使得其他机器人在进行路径规划时,无法选择当前机器人的终点路径对应的冲突路径来规划路线。若未将当前机器人的终点路径对应的冲突路径的冲突次数加1,其他机器人规划的路线可能包含当前机器人的终点路径对应的冲突路径,会导致当前机器人无法顺利移动到当前任务的终止路径点;或者当前机器人停在当前任务的终止路径点后,导致其他机器人无法通过当前任务的终点路径对应的冲突路径,
随着当前机器人的停留而长时间等待,影响任务执行效率。
56.而在目标路线规划失败的情况下,当前机器人会继续在上一次执行任务时的终止路径点停留,也就是说,当前机器人当前的任务路线依旧为上一次执行任务时的任务路线,其他机器人依旧无法在上一次执行任务时的终点路径对应的冲突路径上移动,因此需要将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数增加1,防止其他机器人在规划路线时选择当前机器人上一次执行任务时的终点路径对应的冲突路径,导致其他机器人无法通过当前任务的终点路径对应的冲突路径(强行通过可能导致其他机器人与当前机器人碰撞),随着当前机器人的停留而长时间等待,影响任务执行效率。
57.请参阅图6,可选地,本技术的路径规划方法还包括:
58.步骤08:在连通起始路径点和终止路径点的任一路线中,均存在冲突次数大于或等于1的冲突路径,则确定目标路线规划失败;
59.步骤091:在连通起始路径点和终止路径点的任一路线中,不存在冲突次数大于或等于1的冲突路径,则确定目标路线规划成功,并将不存在冲突次数大于或等于1的冲突路径的路线作为目标路线。
60.具体地,由于场地中有多个机器人同时移动,因此可能会有多条冲突次数大于或等于1的冲突路径。若当前机器人规划的连通当前任务的起始路径点和当前任务的终止路径点的任一路线中,均存在冲突次数大于或等于1的冲突路径,即当前机器人无法在规划的连通当前任务的起始路径点和当前任务的终止路径点的任一路线中顺利移动,这种情况便可确定目标路线规划失败。只有在当前机器人规划的连通当前任务的起始路径点和当前任务的终止路径点的任一目标路线中,不存在冲突次数大于或等于1的冲突路径,当前机器人才可顺利从当前任务的起始路径点移动到当前任务的终止路径点,此时便可则确定目标路线规划成功,并将不存在冲突次数大于或等于1的冲突路径的路线作为目标路线。
61.例如,请结合图2,当前机器人为机器人m1,当前机器人的当前任务的起始路径点和当前任务的终止路径点分别为路径点1和路径点5,机器人m1需要从路径点1移动到路径点5,机器人m2的终点路径为路径3-4,且路径3-4的冲突路径为路径3-6,机器人m3的终点路径为路径1-4,路径1-4的冲突路径为路径1-2,并且每个机器人的终点路径为本身的冲突路径,因此机器人m1在规划路径时,还需要避开路径3-4和路径3-6。那么机器人m1在规划目标路线连通路径点1和路径点5时,规划的目标路线有目标路线1-2-5、目标路线1-4-5、目标路线1-2-4-5、目标路线1-4-2-5和目标路线1-3-6-5等,但所有目标路线中都有路径的冲突次数大于或等于1,机器人m1无法从路径点1移动到路径点5,此时便可视作目标路线规划失败。但是,若此时机器人m2或机器人m3开始执行新任务,离开终点路径,终点路径对应的冲突路径的冲突次数小于1,机器人m1便可成功规划路径。例如,此时机器人m2执行完当前任务,开始执行新的任务并离开路径3-4,路径3-4和路径3-6变为不存在冲突的路径,此时机器人m1便可选择路径3-4或路径3-6来连通路径点1和路径点5,再结合路径点3到路径点5之间的不存在冲突的路径,便可规划出不存在冲突次数大于或等于1的冲突路径的目标路线,即此时目标路线规划成功。
62.请参阅图7,可选地,本技术的路径规划方法还包括:
63.请参阅图6,在某些实施方式中,路径规划方法还包括:
64.步骤092:在接收到任务请求的情况下,调度距离任务请求的起始路径点的距离最
近的机器人从任务请求的起始路径点移动到任务请求的终止路径点,任务请求的起始路径点为任一路径点,任务请求的终止路径点为起始路径点之外的任一路径点。
65.具体地,为了提高任务执行效率,在控制所有机器人的云端平台接收到任务请求后,会首先确定任务请求的起始路径点,然后获取所有正在等待的机器人(即未执行任务的机器人)的位置信息,从而调度距离任务请求的起始路径点最近的机器人完成任务请求的任务,从任务请求的起始路径点移动到任务请求的终止路径点,最大化的提升任务执行效率。
66.例如,请结合图2,任务请求需要机器人从路径点5移动到路径点3,此时机器人m1上一次执行任务时的终止路径点为路径点1,机器人m2上一次执行任务时的终止路径点为路径点4,则优先调度机器人m2执行当前任务,即调度机器人m2从路径点5移动到路径点3。若机器人m2根据当前任务路径规划成功,则根据目标路线开始移动,若路径规划失败,无法到达路径点5,则需要调度机器人m1执行当前任务,并让机器人m1根据当前任务进行路径规划,若此时路径规划成功,则根据目标路线从路径点5移动到路径点3,若路径规划失败,则需等待其他机器人执行完任务,并判断其他机器人能否根据当前任务成功规划路径,规划路径成功则根据目标路线开始移动,若进行路径规划的机器人依旧规划路径失败,则继续等待,直到有机器人能够成功地规划路线,到达路径点5。
67.请参阅图8,可选地,接收到任务请求的机器人为当前机器人,任务请求的任务为当前任务,本技术的路径规划方法还包括:
68.步骤093:在当前机器人上一次执行任务时的终止路径点和当前任务的起始路径点不同的情况下,将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的路径的距离规划连通当前任务的起始路径点和当前机器人上一次执行任务时的终止路径点的准备路线。
69.具体地,当前机器人上一次执行任务时的终止路径点和当前任务的起始路径点并不一定相同,在当前机器人上一次执行任务时的终止路径点和当前任务的起始路径点相同的情况下,当前机器人在规划完执行当前任务的目标路线后,可直接开始执行当前任务。若当前机器人上一次执行任务时的终止路径点和当前任务的起始路径点不同,则需要基于预设的路径规划算法,根据冲突次数小于1的路径规划准备路线,使当前机器人从上一次执行任务时的终止路径点移动到当前任务的起始路径点,然后再基于当前任务进行路径规划,完成当前任务。
70.例如,请结合图2,上一次执行任务时的终止路径点为路径点1,终点路径为路径1-2的机器人m1接收到任务请求(即当前机器人为机器人m1),任务请求中的起始路径点为路径点5,终止路径点为路径点3,同时机器人m2的终点路径为路径3-4,且路径1-2的冲突路径为路径1-2、路径1-4和路径2-4,路径3-4的冲突路径为路径3-4和路径3-6。此时,机器人m1需要规划路径到达路径点5:先将路径1-2、路径1-4和路径2-4的冲突次数减1,再获取其他机器人的终点路径,得到路径3-4和路径3-6为路径3-4的冲突路径,且路径次数等于1,路径1-2、路径1-4和路径2-4为冲突路径,但路径1-2、路径1-4和路径2-4的冲突次数都小于1,因此机器人m3可规划出目标路线1-2-5,目标路线1-4-5,目标路线1-2-4-5和目标路线1-4-2-5,且目标路线1-4-5的总距离最短,因此,此时机器人m1会选择目标路线1-4-5来移动,以顺利到达路径点5,完成任务请求中的任务(即当前任务)。
71.为便于更好的实施本技术实施方式的路径规划方法,本技术实施方式还提供一种路径规划装置10。请参阅图9,该路径规划装置10可以包括:
72.获取模块11,用于获取预设的地图,地图包括多个路径点及连接任意相邻两个路径点的路径;获取执行任务的机器人的任务路线,以获取每个机器人的终点路径,每个机器人的终点路径为每个机器人的任务路线中最后一段的路径;获取与每个机器人的终点路径的距离小于预设安全距离的路径,以作为冲突路径,并根据冲突路径对应的机器人的终点路径得数量确定冲突路径的冲突次数;
73.规划模块12,用于将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的路径的距离规划目标路线。
74.获取模块11具体用于获取与每个机器人的终点路径的最小距离小于预设安全距离的路径,以作为冲突路径,预设安全距离根据机器人的尺寸确定。
75.规划模块12具体用于在目标路线规划成功的情况下,将目标路线的终点路径对应的冲突路径的冲突次数增加1;在目标路线规划失败的情况下,将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数增加1。
76.规划模块12具体还用于在连通起始路径点和终止路径点的任一路线中,均存在冲突次数大于或等于1的冲突路径,则确定目标路线规划失败;在连通起始路径点和终止路径点的任一路线中,不存在冲突次数大于或等于1的冲突路径,则确定目标路线规划成功,并将不存在冲突次数大于或等于1的冲突路径的路线作为目标路线。
77.本技术的路径规划装置还可以包括:
78.调度模块13,用于在接收到任务请求的情况下,调度距离任务请求的起始路径点的距离最近的机器人从任务请求的起始路径点移动到任务请求的终止路径点,任务请求的起始路径点为任一路径点,任务请求的终止路径点为起始路径点之外的任一路径点。
79.规划模块12具体用于在当前机器人上一次执行任务时的终止路径点和当前任务的起始路径点不同的情况下,将当前机器人上一次执行任务时的终点路径对应的冲突路径的冲突次数减1,并基于预设的路径规划算法,根据冲突次数小于1的路径的距离规划连通当前任务的起始路径点和当前机器人上一次执行任务时的终止路径点的准备路线。
80.规划模块12具体还用于确定与所有机器人的终点路径的距离均大于或等于预设安全距离的路径的冲突次数为0。
81.上述路径规划装置10中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各个模块可以以硬件形式内嵌于或独立于计算机设备中的处理器20中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器20调用执行上述各个模块对应的操作。
82.请参阅图10,本技术实施方式的机器人100包括处理器20。处理器20用于执行上述任意一种实施方式的路径规划方法,为了简洁,在此不再赘述。
83.其中,机器人100可以是agv、夹抱车、牵引车、堆高机、正面吊、仓储机器人等具有移动能力的设备。
84.请参阅图11,本技术实施方式还提供了一种计算机可读存储介质200,其上存储有计算机程序210,计算机程序210被处理器20执行的情况下,实现上述任意一种实施方式的
路径规划方法的步骤,为了简洁,在此不再赘述。
85.可以理解,计算机程序210包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以是非易失性计算机可读存储介质如能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。
86.在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式或示例以及不同实施方式或示例的特征进行结合和组合。
87.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施方式所属技术领域的技术人员所理解。
88.尽管上面已经示出和描述了本技术的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施方式进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献