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

机器人控制方法、电子设备及存储介质与流程

2022-11-19 08:52:25 来源:中国专利 TAG:


1.本技术涉及物流领域,具体涉及机器人控制方法、电子设备及存储介质。


背景技术:

2.目前,在管理仓库期间,采用的控制机器人的方式为:为每一个机器人规划出行驶路径,控制机器人在行驶路径上行驶。目前的控制机器人的方式没有考虑碰撞问题,例如由于两个机器人的行驶路径的重叠部分,导致出现两个机器人碰撞情况。


技术实现要素:

3.为克服相关技术中存在的问题,本技术提供一种机器人控制方法、电子设备及存储介质。
4.本技术实施例提供一种机器人控制方法,包括:
5.基于目标机器人的行驶路径的至少一个待行驶子路径的行驶区域和至少一个已占据区域,确定所述至少一个待行驶子路径中是否存在所述目标机器人能够占据的至少一个待行驶子路径,其中,所述至少一个已占据区域包括:被标记为由相应机器人占据的相应子路径的行驶区域和/或相应机器人在处于静止状态时占据的区域;
6.若是,从所述目标机器人能够占据的至少一个待行驶子路径中确定出至少一个目标待行驶子路径,将所述至少一个目标待行驶子路径中的每一个目标待行驶子路径标记为由所述目标机器人占据;
7.控制所述目标机器人在所述每一个目标待行驶子路径上行驶。
8.本技术实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上的计算机程序,该处理器执行该计算机程序以实现上述机器人控制方法。
9.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现上述机器人控制方法。
10.本技术实施例提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述机器人控制方法。
11.本技术实施例提供的机器人控制方法,当目标机器人的行驶路径的目标待行驶子路径被标记为由目标机器人占用时,控制目标机器人在目标待行驶子路径上行驶。对于任意一个目标待行驶子路径,该目标待行驶子路径和任意一个已占据区域没有重叠部分,在目标机器人在该目标待行驶子路径上行驶期间,其他机器人不会在该目标待行驶子路径的行驶区域中,不会出现其他机器人碰撞目标机器人的情况。从而,目标机器人在任意一个目标待行驶子路径上行驶时,均不会出现机器人碰撞的情况。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
13.图1示出了本技术实施例提供的机器人控制方法的流程图;
14.图2示出了本技术实施例提供的机器人控制装置的结构框图。
具体实施方式
15.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
16.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的描述信息可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
17.随着物联网、人工智能、大数据等智能化技术的发展,利用这些智能化技术对传统物流业进行转型升级的需求愈加强劲,智慧物流(intelligent logistics system)成为物流领域的研究热点。智慧物流利用人工智能、大数据以及各种信息传感器、射频识别技术、全球定位系统(gps)等物联网装置和技术,广泛应用于物料的运输、仓储、配送、包装、装卸和信息服务等基本活动环节,实现物料管理过程的智能化分析决策、自动化运作和高效率优化管理。物联网技术包括传感设备、rfid技术、激光红外扫描、红外感应识别等,物联网能够将物流中的物料与网络实现有效连接,并可实时监控物料,还可感知仓库的湿度、温度等环境数据,保障物料的储存环境。通过大数据技术可感知、采集物流中所有数据,上传至信息平台数据层,对数据进行过滤、挖掘、分析等作业,最终对业务流程(如运输、入库、存取、拣选、包装、分拣、出库、盘点、配送等环节)提供精准的数据支持。人工智能在物流中的应用方向可以大致分为两种:1)以ai技术赋能的如无人卡车、agv、amr、叉车、穿梭车、堆垛机、无人配送车、无人机、服务机器人、机械臂、智能终端等智能设备代替部分人工;2)通过计算机视觉、机器学习、运筹优化等技术或算法驱动的如运输设备管理系统、仓储管理、设备调度系统、订单分配系统等软件系统提高人工效率。随着智慧物流的研究和进步,该项技术在众多领域展开了应用,例如零售及电商、电子产品、烟草、医药、工业制造、鞋服、纺织、食品等领域。
18.图1示出了本技术实施例提供的机器人控制方法的流程图,该方法包括:
19.步骤101,基于目标机器人的行驶路径的至少一个待行驶子路径的行驶区域和至少一个已占据区域,确定该至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径。
20.目标机器人可以为本技术实施例提供的机器人控制方法应用在的仓库中的任意一个机器人。
21.机器人可以为自动导引运输车(automated guided vehicl,简称agv)、自主移动机器人(automated mobile robot,简称amr)、叉车等。
22.在本技术中,对于任意一个机器人,该机器人的行驶路径的子路径为该机器人的行驶路径的一部分,该机器人的行驶路径的子路径通过划分该机器人的行驶路径得到。
23.对于任意一个机器人的行驶路径的任意一个子路径,在该机器人在该子路径上行驶之前,该子路径为该机器人的行驶路径的待行驶子路径。
24.对于任意一个机器人的行驶路径的任意一个子路径,当该机器人从该子路径的起点行驶至该子路径的终点时,则该机器人行驶完该子路径,该子路径不再作为该机器人的
行驶路径的待行驶子路径。
25.当首次执行步骤101时,目标机器人的行驶路径的每一个子路径均为目标机器人的行驶路径的待行驶子路径。
26.n大于1,当第n次执行步骤101时,目标机器人的行驶路径的所有待行驶子路径为目标机器人的行驶路径的所有子路径中的除了在第n次执行步骤101之前目标机器人已经行驶完的子路径之外的部分。
27.步骤101中的目标机器人的行驶路径的至少一个待行驶子路径可以是指:当执行步骤101时目标机器人的行驶路径的所有待行驶子路径。
28.在目标机器人在目标机器人的行驶路径上行驶期间,至少一次执行步骤101-103。目标机器人在目标机器人的行驶路径行驶期间可以是指目标机器人从该行驶路径的起点开始行驶的时间与目标机器人到达该行驶路径的终点的时间之间的时间段。
29.在本技术中,目标机器人可以在满足以下项中的一个时执行步骤101:处于静止状态并且存目标机器人的行驶路径的至少一个待行驶子路径、目标机器人行驶完占据的每一个目标待行驶子路径并且存目标机器人的行驶路径的至少一个待行驶子路径、接收到指示目标机器人执行步骤101的指令。
30.对于任意一个机器人的行驶路径,该机器人从该行驶路径的起点行驶至与该行驶路径的终点,则该机器人行驶完该行驶路径。
31.对于任意一个机器人的行驶路径的任意一个子路径,该机器人从该子路径的起点行驶至该子路径的终点,则该机器人行驶完该子路径。
32.在本技术中,可以将机器人的活动区域划分为预设数量的网格,每一个网格的尺寸相同。本技术中的相应路径的起点可以为相应网格,本技术中的相应路径的终点可以为相应网格。
33.在本技术中,对于任意一个机器人,在该机器人在该机器人的行驶路径上行驶期间,该机器人执行对应该行驶路径的多个行驶操作,通过该多个行驶操作,该机器人行驶完该机器人的行驶路径,即该机器人从该行驶路径的起点行驶至该行驶路径的终点。
34.对于任意一个机器人,在该机器人在该机器人的行驶路径上行驶之前,可以按照对应该机器人的行驶路径的多个行驶操作,将该机器人的行驶路径划分为该行驶路径的多个子路径,该行驶路径的每一个子路径对应该多个行驶操作中的一个行驶操作。对于该行驶路径的每一个子路径,机器人通过执行该子路径对应的行驶操作,行驶完该子路径。
35.对于任意一个机器人,可以按照该机器人的行驶路径的子路径的起点与行驶路径的起点之间的距离从小至大,对该机器人的行驶路径的所有子路径进行排序,得到该机器人的行驶路径的子路径的次序,该机器人的行驶路径的子路径的数量记为n,该机器人的行驶路径的子路径的次序定义该机器人的行驶路径的第1个子路径、该机器人的行驶路径的第2个子路径...该机器人的行驶路径的第n个子路径。
36.对于任意一个机器人,在该机器人在该机器人的行驶路径上行驶期间,该机器人从该机器人的行驶路径的第1个子路径开始行驶,当机器人行驶完该机器人的行驶路径的最后一个子路径时,该机器人行驶完该机器人的行驶路径。
37.在本技术中,机器人在本技术实施例提供的机器人控制方法应用在的仓库的地面上行驶,可以建立坐标系,坐标系的原点在该地面所在的平面上,坐标系的x轴、y轴均在该
地面所在的平面上,坐标系的x轴为水平方向的坐标轴,坐标系的y轴为垂直方向的坐标轴。
38.在本技术中,对于任意一个机器人,该机器人执行的行驶操作的类型可以包括但不限于直移动行驶操作、旋转操作。
39.长直移动行驶操作可以为:机器人在水平方向行驶或在垂直方向行驶。旋转操作可以为:机器人在旋转行驶操作对应的旋转位置进行旋转。
40.在本技术中,对于任意一个机器人的行驶路径的任意一个子路径,该子路径的行驶区域的形状为多边形。
41.在本技术中,对于一个机器人执行的一个长直移动行驶操作,通过该长直移动行驶操作,该机器人从该长直移动行驶操作对应的起点行驶至该长直移动行驶操作对应的终点,该长直移动行驶操作对应的起点、该长直移动行驶操作对应的终点由本技术实施例提供的机器人控制方法应用在的仓库的仓库管理系统提供。该长直移动行驶操作对应的起点即为该长直移动行驶操作对应的子路径的起点,该长直移动行驶操作对应的终点即为该长直移动行驶操作对应的子路径的终点。
42.对应长直移动行驶操作的子路径的行驶区域的形状可以为一个矩形,该矩形的水平的边与坐标系的x轴平行,该矩形的垂直的边与坐标系的y轴平行。
43.对于对应一个机器人执行的一个长直移动行驶操作的一个子路径,该子路径的行驶区域的形状可以为一个矩形,若该机器人在该子路径上行驶时该机器人的行驶方向为水平方向,该子路径的起点在该矩形的一个垂直的边上,该子路径的终点在该矩形的另一个垂直的边上,该矩形的长度为该子路径的起点与该子路径的终点之间的距离,该矩形的宽度为:该机器人在该子路径上行驶时在坐标系的y轴上的y轴坐标值最大的点的y轴坐标值减去该机器人在该子路径上行驶时在坐标系y轴上的y轴坐标值最小的点的y轴坐标值。
44.若该机器人在该子路径上行驶时该机器人的行驶方向为垂直方向,该子路径的起点在该矩形的一个水平的边上,该子路径的终点在矩形的另一个水平的边上,该矩形的宽度为:该子路径的起点与该子路径的终点之间的距离,该矩形的长度为:该机器人在该子路径上行驶时在坐标系的x轴上的x轴坐标值最大的点的x轴坐标值减去该机器人在该子路径上行驶时在坐标系的x轴上的x轴坐标值最小的点的x轴坐标值。
45.在本技术中,对于由一个机器人执行的一个旋转行驶操作,该机器人在该旋转行驶操作对应的旋转位置进行旋转,通过该转行驶操作,可以将机器人的行驶方向从水平方向和垂直方向中的一个转换为水平方向和垂直方向中的另一个,该旋转行驶操作对应的旋转位置由本技术实施例提供的机器人控制方法应用在的仓库的仓库管理系统提供。
46.对应一个机器人执行的一个旋转行驶操作的一个子路径的形状可以为一个圆形,该旋转行驶操作为:该机器人在该旋转行驶操作对应的旋转位置进行旋转,该圆形的圆心可以为该旋转行驶操作对应的旋转位置,该圆形的直径可以为:包围该机器人的矩形的对角线的长度,该机器人上在各个方向上的最边缘的点均在包围该机器人的矩形的相应的边上。
47.在本技术中,对于任意一个机器人,当该机器人处于静止状态时,可以确定包围该机器人的矩形、与包围该机器人的矩形相关的圆形,该机器人上在各个方向上的最边缘的点均在包围机器人的矩形的相应的边上。与包围该机器人的矩形相关的圆形的中心点为包围该机器人的矩形的中心点,与包围该机器人的矩形相关的圆形的直径可以为包围该机器
人的矩形的长度。确定该矩形与该圆形相交的6个点,将6个点连接,得到一个六边形,该六边形为该机器人处于静止状态时占据的区域的形状。
48.步骤101中的至少一个已占据区域包括:被标记为由相应机器人占据的相应子路径的行驶区域和/或相应机器人在处于静止状态时占据的区域。
49.每一个被标记为由相应机器人占据的相应子路径的行驶区域均作为已占据区域,每一个相应机器人在处于静止状态时占据的区域均作为已占据区域。
50.步骤101中的至少一个已占据区域可以是指:当执行步骤101时所有的已占据区域。
51.在本技术中,基于目标机器人的行驶路径的至少一个待行驶子路径的行驶区域和至少一个已占据区域,确定该至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径。
52.对于任意一个目标机器人能够占据的待行驶子路径,该目标机器人能够占据的待行驶子路径和至少一个已占据区域中的任意一个已占据区域没有重叠部分。
53.对于任意两个区域,若两个区域具有重叠部分,两个区域的重叠部分是指既属于两个区域中的一个区域,也属于两个区域中的另一个区域的部分。
54.在本技术中,若执行步骤101时,目标机器人的行驶路径的待行驶子路径的数量为一个,则确定目标机器人是否能够占用一个待行驶子路径。
55.若执行步骤101,目标机器人的行驶路径的待行驶子路径的数量为多个,则可以按照该机器人的行驶路径的待行驶子路径的起点与行驶路径的起点之间的距离从小至大,对该机器人的行驶路径的多个待行驶子路径,该多个待行驶子路径的次序。
56.按照多个待行驶子路径的次序,依次确定该多个待行驶子路径中的待行驶子路径是否能够被目标机器人占用,直到确定目标机器人不能够占据相应的一个待行驶子路径。首先确定目标机器人是否能够占用多个待行驶子路径的次序定义的第1个待行驶子路径,当确定目标机器人能够占用多个待行驶子路径的次序定义的第1个待行驶子路径时,确定目标机器人是否能够占用多个待行驶子路径的次序定义的第2个待行驶子路径,以此类推。
57.在本技术中,对于目标机器人的行驶路径的任意一个待行驶子路径,确定目标机器人是否能够占用该待行驶子路径可以包括:确定该待行驶子路径是否被标记为由其他机器人占用;若该待行驶子路径被标记为由其他机器人占用,确定目标机器人不能够占用该待行驶子路径;若该待行驶子路径没有被标记为由其他机器人占用,分别确定至少一个已占据区域中的每一个已占据区域是否和该待行驶子路径的行驶区域有重叠部分;若该待行驶子路径和任意一个已占据区域没有重叠部分,确定目标机器人能够占用该待行驶子路径,若存在和待行驶子路径有重叠部分的已占据区域,确定目标机器人不能够占用该待行驶子路径。
58.目标机器人可以为本技术实施例提供的机器人控制方法应用在的仓库中的任意一个机器人,其他机器人是相对于目标机器人而言的,该仓库中的不是目标机器人的机器人为其他机器人。
59.步骤102,从目标机器人能够占据的至少一个待行驶子路径中确定出至少一个目标待行驶子路径,将每一个目标待行驶子路径标记为由目标机器人占据。
60.在本技术中,若确定的目标机器人能够占据的待行驶子路径的数量为一个,将确
定的目标机器人能够占据的一个待行驶子路径作为一个目标待行驶子路径。
61.若确定的目标机器人能够占据的待行驶子路径的数量为多个,可以分别将通过确定的目标机器人能够占据的每一个待行驶子路径作为一个目标待行驶子路径。
62.在本技术中,在从目标机器人能够占据的至少一个待行驶子路径中确定出至少一个目标待行驶子路径之后,目标机器人占据该至少一个目标待行驶子路径中的每一个目标待行驶子路径。
63.对于任意一个机器人的行驶路径的任意一个子路径,当该子路径被标记为由该机器人占据时,其他机器人不能够占据该子路径。
64.对于任意一个机器人的行驶路径的任意一个子路径,当该子路径被标记为由该机器人占据时,该机器人可以在该子路径上行驶,在该机器人行驶完该子路径之后,取消该子路径由该机器人占据的标记。
65.在本技术中,将确定的至少一个目标待行驶子路径中的每一个目标待行驶子路径标记为由目标机器人占据。
66.对于确定的至少一个目标待行驶子路径中的每一个目标待行驶子路径,在将该目标待行驶子路径标记为由目标机器人占据之后并且在取消该该目标待行驶子路径由该机器人占据的标记之前,该目标待行驶子路径作为一个已占据区域。
67.在本技术中,当确定目标机器人不能够占据至少一个待行驶子路径时,若目标机器人处于静止状态,则目标机器人继续处于静止状态。当确定目标机器人不能够占据至少一个待行驶子路径时,若目标机器人在相应子路径上行驶,则当目标机器人行驶完已经占据的所有子路径中的最后一个子路径时,目标机器人停止行驶,目标机器人处于静止状态。
68.步骤103,控制目标机器人在每一个目标待行驶子路径上行驶。
69.在本技术中,控制目标机器人在每一个目标待行驶子路径上行驶可以包括:若确定出一个目标待行驶子路径,当目标机器人处于静止状态或目标机器人行驶完在控制目标机器人在每一个目标待行驶子路径上行驶之前占据的每一个子路径时,向目标机器人发送该一个目标待行驶子路径对应的行驶操作的指令,以触发目标机器人执行该目标待行驶子路径对应的行驶操作,行驶完目标待行驶子路径。
70.控制目标机器人在每一个目标待行驶子路径上行驶可以包括:若确定出多个目标待行驶子路径,按照目标待行驶子路径的起点与目标机器人的行驶路径的起点之间的距离从小至大,对该多个目标待行驶子路径进行排序,得到目标待行驶子路径的次序;按照目标待行驶子路径的次序,控制目标机器人依次在每一个目标待行驶子路径上行驶。
71.按照目标待行驶子路径的次序,控制目标机器人依次在每一个目标待行驶子路径上行驶可以包括:对于目标待行驶子路径的次序定义的第1个目标待行驶子路径,当目标机器人处于静止状态或目标机器人行驶完在控制目标机器人在第1个目标待行驶子路径上行驶之前占据的任意一个子路径时,向目标机器人发送第1个目标待行驶子路径对应的行驶操作的指令,以触发目标机器人执行第1个目标待行驶子路径对应的行驶操作,行驶完第1个目标待行驶子路径。
72.确定出多个目标待行驶子路径中的在目标待行驶子路径的次序定义的第1个目标待行驶子路径之后的目标待行驶子路径为其他目标待行驶子路径。
73.按照目标待行驶子路径的次序,控制目标机器人依次在每一个目标待行驶子路径
上行驶可以包括:对于每一个其他目标待行驶子路径,当目标机器人行驶完在该其他目标待行驶子路径的前一个目标待行驶子路径时,向目标机器人发送该其他目标待行驶子路径对应的行驶操作的指令,以触发目标机器人执行该其他目标待行驶子路径对应的行驶操作,行驶完该其他目标待行驶子路径。
74.在本技术中,当目标机器人的行驶路径的目标待行驶子路径被标记为由目标机器人占用时,控制目标机器人在目标待行驶子路径上行驶。对于任意一个目标待行驶子路径,该目标待行驶子路径和任意一个已占据区域没有重叠部分,在目标机器人在该目标待行驶子路径上行驶期间,其他机器人不会在该目标待行驶子路径的行驶区域中,不会出现其他机器人碰撞目标机器人的情况。从而,目标机器人在任意一个目标待行驶子路径上行驶时,均不会出现机器人碰撞的情况。
75.在一些实施例中,当确定出多个目标待行驶子路径时,多个目标待行驶子路径的占据长度大于最小占据长度阈值并且目标待行驶子路径的占据长度小于最大占据长度阈值,多个目标待行驶子路径的占据长度为所述所述多个目标待行驶子路径的长度之和。
76.在本技术中,可以按照目标机器人能够占据的待行驶子路径的起点与行驶路径的起点之间的距离从小至大,对目标机器人能够占据的多个待行驶子路径进行排序,得到该多个待行驶子路径的次序。按照该多个待行驶子路径的次序,依次选择该多个待行驶子路径中的待行驶子路径,直至选择的所有待行驶子路径的长度之和大于最小占据长度阈值并且选择的所有待行驶子路径的长度小于最大占据长度阈值,选择的所有待行驶子路径的长度为选择的所有待行驶子路径中的每一个待行驶子路径的长度之和,选择的所有待行驶子路径包括的待行驶子路径的数量为多个,分别将每一个选择的待行驶子路径确定为一个目标待行驶子路径。
77.如果多个目标待行驶子路径的占据长度长度过小,则目标机器人行驶较短距离,即可行驶完每一个目标待行驶子路径,就需要再次执行步骤101,导致目标机器人的作业效率的降低。如果多个目标待行驶子路径的占据长度过大,则目标机器人长时间占据多个目标待行驶子路径,其他机器人长时间等待目标机器人行驶完每一个目标待行驶子路径,导致整体作业效率的降低。
78.在本技术中,当确定出多个目标待行驶子路径时,多个目标待行驶子路径的占据长度可以大于最小占据长度阈值并且目标待行驶子路径的占据长度可以小于最大占据长度阈值,多个目标待行驶子路径的占据长度既不会过小,也不会过大,避免作业效率的降低。
79.在一些实施例中,基于目标机器人的行驶路径的待行驶子路径的行驶区域和至少一个已占据区域,确定该行驶路径的至少一个待行驶子路径是否存在目标机器人能够占据的至少一个待行驶子路径包括:确定至少一个已占据区域中是否存在与待行驶子路径的行驶区域有重叠部分的已占据区域;若否,将该待行驶子路径标记为由目标机器人进行待提交占据;确定该待行驶子路径是否被标记为由其他机器人进行待提交占据;若是,当从目标机器人和该其他机器人中选择出该目标机器人时,确定该目标机器人能够占据该待行驶子路径;若否,确定该目标机器人能够占据该待行驶子路径。
80.对于行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,确定目标机器人能够占据该待行驶子路径可以包括:确定至少一个已占据区域中是否存在与该待行驶
子路径的行驶区域有重叠部分的已占据区域;若确定至少一个已占据区域中不存在与该待行驶子路径的行驶区域有重叠部分的已占据区域时,将该待行驶子路径标记为由目标机器人进行待提交占据;确定该待行驶子路径是否被标记为由其他机器人进行待提交占据;若该待行驶子路径被标记为由其他机器人进行待提交占据,当从目标机器人和该其他机器人中选择出目标机器人时,确定目标机器人能够占据该待行驶子路径;若该待行驶子路径没有被标记为由其他机器人进行待提交占据,确定目标机器人能够占据该待行驶子路径。
81.对于行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,若确定该待行驶子路径被标记为由其他机器人进行待提交占据,从目标机器人和该其他机器人中随机选择出一个机器人,若随机选择的机器人为该目标机器人,确定目标机器人能够占据该待行驶子路径,若随机选择的机器人为该其他机器人,在确定由其他机器人能够占据该待行驶子路径。
82.对于行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,该待行驶子路径被标记为由其他机器人进行待提交占据与该该待行驶子路径被标记为由目标机器人进行待提交占据同理,在针对该其他机器人的一次控制过程中,确定相应的至少一个已占据区域中不存在具有与该待行驶子路径的行驶区域有重叠区域的已占据区域,将该待行驶子路径标记为由该其他机器人进行待提交占据。
83.在本技术中,对于行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,在确定目标机器人能够占据待行驶子路径或目标机器人不能够占据待行驶子路径之后,取消由目标机器人进行待提交占据的标记,若待行驶子路径被标记为由其他机器人进行待提交占据,取消该待行驶子路径由其他机器人进行待提交占据的标记。
84.在本技术中,对于任意一个机器人的行驶路径的任意一个子路径,当该子路径被标记为由相应机器人进行待提交占据时,可以将该子路径的行驶区域视为已占据区域,步骤101中的至少一个已占据区域可以包括该子路径的行驶区域。
85.在本技术中,考虑了两个机器人抢占待行驶子路径的问题即两个机器人同时或几乎同时确定能够占用同一个子路径。当两个机器人同时或几乎同时确定能够占用同一个子路径时,只能有一个机器人可以占用同一个子路径。
86.在本技术中,将当确定至少一个已占据区域中不存在与该待行驶子路径的行驶区域有重叠部分的已占据区域时,将该待行驶子路径标记为由目标机器人进行待提交占据,根据该待行驶子路径是否被标记为由其他机器人进行待提交占据,确定目标机器人或其他机器人能够占据待行驶子路径,无需通过互斥锁,高效地解决两个机器人抢占待行驶子路径的问题。
87.在一些实施例中,对于目标机器人的行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,确定至少一个已占据区域中是否存在与该待行驶子路径的行驶区域有重叠部分的已占据区域包括:基于该待行驶子路径的行驶区域的形状信息和形状信息数据库中的该至少一个已占据区域中的每一个已占据区域的形状信息,确定该至少一个已占据区域中是否存在具有与该待行驶子路径的行驶区域的形状相交的形状的已占据区域;若是,确定该至少一个已占据区域中存在与该待行驶子路径的行驶区域有重叠部分的已占据区域;若否,确定该至少一个已占据区域中不存在与该待行驶子路径的行驶区域有重叠部分的已占据区域。
88.在本技术中,可以利用形状信息数据库存储每一个已占据区域的形状的形状信息,对于任意一个已占据区域,该已占据区域的形状信息用于确定已占据区域,该已占据区域的形状信息可以包括以下项或以下项的一部分:该已占据区域的形状的中心点的位置、该已占据区域的形状的各个边的长度、该已占据区域的形状的类型、用于得到该已占据区域的形状的点的位置。
89.对于目标机器人的行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,该待行驶子路径的行驶区域的形状信息用于确定该待行驶子路径的行驶区域的形状,该待行驶子路径的行驶区域的形状信息可以包括以下项或以下项的一部分:该待行驶子路径的行驶区域的形状的中心点的位置、该待行驶子路径的行驶区域的形状的各个边的长度、该待行驶子路径的行驶区域的形状的类型、用于得到该待行驶子路径的行驶区域的形状的点的位置。
90.对于任意两个区域,若两个区域的形状相交,则两个区域有重叠部分。
91.对于目标机器人的行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,根据该待行驶子路径的形状信息,可以确定该待行驶子路径的形状,根据至少一个已占据区域中的每一个已占据区域的形状信息,可以确定至少一个已占据区域中的每一个已占据区域的形状。
92.对于目标机器人的行驶路径的至少一个待行驶子路径中的任意一个待行驶子路径,根据该待行驶子路径的形状和至少一个已占据区域中的每一个已占据区域的形状,可以确定至少一个已占据区域中是否存在具有与该待行驶子路径的行驶区域的形状相交的形状的已占据区域,若至少一个已占据区域中存在具有与该待行驶子路径的行驶区域的形状相交的形状的已占据区域,则可以确定至少一个已占据区域中存在与该待行驶子路径的行驶区域有重叠部分的已占据区域,若至少一个已占据区域中不存在具有与该待行驶子路径的行驶区域的形状相交的形状的已占据区域,则证明至少一个已占据区域中不存在与该待行驶子路径的行驶区域有重叠部分的已占据区域。
93.在本技术中,当确定至少一个已占据区域中是否存在与待行驶子路径的行驶区域有重叠部分的已占据区域时,可以仅需分别至少一个已占据区域中的每一个已占据区域的形状是否与待行驶子路径的行驶区域的形状相交,来确定至少一个已占据区域中是否存在与待行驶子路径的行驶区域有重叠部分的已占据区域,从而,可以快速地确定至少一个已占据区域中是否存在与该待行驶子路径的行驶区域有重叠部分的已占据区域。
94.在一些实施例中,还包括:对于确定出的任意一个目标待行驶子路径,当目标机器人行驶完该目标待行驶子路径并且存在对应该目标待行驶子路径的冲突机器人时,向对应该目标待行驶子路径的冲突机器人发送唤醒指令,其中,对应该目标待行驶子路径的冲突机器人由于该目标待行驶子路径的行驶区域和冲突机器人的其他行驶路径的相应子路径的行驶区域有重叠部分而不能够占据该相应子路径,唤醒指令用于触发对应该目标待行驶子路径的冲突机器人确定该其他行驶路径的至少一个待行驶子路径中是否存在冲突机器人能够占据的至少一个待行驶子路径。
95.对于确定出的任意一个目标待行驶子路径,将对应该目标待行驶子路径的冲突机器人的行驶路径称之为对应该目标待行驶子路径的冲突机器人的其他行驶路径。
96.对于确定出的任意一个目标待行驶子路径,对应该目标待行驶子路径的冲突机器
人在一次确定其他行驶路径的至少一个待行驶子路径中是否存在冲突机器人能够占据的至少一个待行驶子路径中,确定该目标待行驶子路径的行驶区域和对应该目标待行驶子路径的冲突机器人的其他行驶路径的相应子路径的行驶区域有重叠部分,对应该目标待行驶子路径的冲突机器人不能够占据该相应子路径,则对应该目标待行驶子路径的冲突机器人在确定对应该目标待行驶子路径的冲突机器人不能够占据该相应子路径的时间与接收到唤醒指令的时间之间的时间段,对应该目标待行驶子路径的冲突机器人不会确定对应该目标待行驶子路径的冲突机器人的其他行驶路径的至少一个待行驶子路径中是否存在对应该目标待行驶子路径的冲突机器人能够占据的至少一个待行驶子路径。
97.当目标机器人行驶完该目标待行驶子路径并且存在对应该目标待行驶子路径的冲突机器人时,向对应该目标待行驶子路径的冲突机器人发送唤醒指令,对应该目标待行驶子路径的冲突机器人再次确定对应该目标待行驶子路径的冲突机器人的其他行驶路径的至少一个待行驶子路径中是否存在对应该目标待行驶子路径的冲突机器人能够占据的至少一个待行驶子路径。
98.在本技术中,当目标机器人行驶完目标待行驶子路径并且存在对应该目标待行驶子路径的冲突机器人时,向对应目标待行驶子路径的冲突机器人发送唤醒指令,触发对应目标待行驶子路径的冲突机器人确定其他行驶路径的至少一个待行驶子路径中是否存在冲突机器人能够占据的至少一个待行驶子路径,从而,及时地通知对应目标待行驶子路径的冲突机器人可以继续抢占对应该目标待行驶子路径的冲突机器人的其他行驶路径中的待行驶子路径。
99.在一些实施例中,还包括:当从目标机器人接收指示目标机器人行驶完每一个目标待行驶子路径的指令并且存在目标机器人的行驶路径的至少一个待行驶子路径时,由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径。
100.当目标机器人行驶完每一个目标待行驶子路径时,可以接收到目标机器人发送的指示目标机器人行驶完每一个目标待行驶子路径的指令。
101.当目标机器人行驶完每一个目标待行驶子路径时,若存在目标机器人的行驶路径的至少一个待行驶子路径,存在的行驶路径的至少一个待行驶子路径均在通过步骤102确定出的所有目标待行驶子路径中的最后一个目标待行驶子路径之后。
102.当从目标机器人接收指示目标机器人行驶完每一个目标待行驶子路径的指令并且存在目标机器人的行驶路径的至少一个待行驶子路径时,由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径。
103.由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径的过程与步骤101的过程同理,由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径的过程参考步骤101的过程,存在的至少一个待行驶子路径相当于步骤101中的至少一个待行驶子路径。
104.在本技术中,可以当从目标机器人接收指示目标机器人行驶完每一个目标待行驶子路径的指令并且存在目标机器人的行驶路径的至少一个待行驶子路径时,由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子
路径。从而,当目标机器人行驶完每一个目标待行驶子路径并且存在目标机器人的行驶路径的至少一个待行驶子路径时,目标机器人及时地继续抢占目标机器人的行驶路径中的待行驶子路径。
105.在一些实施例中,还包括:当检测到目标机器人行驶完每一个目标待行驶子路径并且存在目标机器人的行驶路径的至少一个待行驶子路径时,由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径。
106.当目标机器人行驶完每一个目标待行驶子路径时,若存在目标机器人的行驶路径的至少一个待行驶子路径,存在的行驶路径的至少一个待行驶子路径均在通过步骤102确定出的所有目标待行驶子路径中的最后一个待行驶子路径之后。
107.在本技术中,可以从目标机器人到达通过步骤102确定出的所有目标待行驶子路径的最后一个目标待行驶子路径的起点开始行驶的时刻起,每间隔预设时长检测目标机器人是否行驶完该最后一个目标待行驶子路径,若检测到目标机器人行驶完该最后一个目标待行驶子路径,则检测到目标机器人行驶完每一个目标待行驶子路径。
108.当检测到目标机器人行驶完每一个目标待行驶子路径并且存在目标机器人的行驶路径的至少一个待行驶子路径时,由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径。
109.在本技术中,可以当检测到目标机器人行驶完每一个目标待行驶子路径并且存在目标机器人的行驶路径的至少一个待行驶子路径时,由目标机器人确定存在的至少一个待行驶子路径中是否存在目标机器人能够占据的至少一个待行驶子路径。从而,当目标机器人行驶完每一个目标待行驶子路径并且存在目标机器人的行驶路径的至少一个待行驶子路径时,目标机器人及时地继续抢占目标机器人的行驶路径中的待行驶子路径。
110.请参考图2,其示出了本技术实施例提供的机器人控制装置的结构框图。机器人控制装置包括:第一确定单元201,第二确定单元202,控制单元203。
111.第一确定单元201被配置为基于目标机器人的行驶路径的至少一个待行驶子路径的行驶区域和至少一个已占据区域,确定所述至少一个待行驶子路径中是否存在所述目标机器人能够占据的至少一个待行驶子路径,其中,所述至少一个已占据区域包括:被标记为由相应机器人占据的相应子路径的行驶区域和/或相应机器人在处于静止状态时占据的区域;
112.第二确定单元202被配置为若是,从所述目标机器人能够占据的至少一个待行驶子路径中确定出至少一个目标待行驶子路径,将每一个目标待行驶子路径标记为由所述目标机器人占据;
113.控制单元203被配置为控制所述目标机器人在所述每一个目标待行驶子路径上行驶。
114.在一些实施例中,当确定出多个目标待行驶子路径时,所述多个目标待行驶子路径的占据长度大于最小占据长度阈值并且所述占据长度小于最大占据长度阈值,所述占据长度为所述所述多个目标待行驶子路径的长度之和。
115.在一些实施例中,第一确定单元201被配置为当确定所述至少一个已占据区域中不存在与所述待行驶子路径的行驶区域有重叠部分的已占据区域时,将所述待行驶子路径标记为由所述目标机器人进行待提交占据;确定所述待行驶子路径是否被标记为由其他机
器人进行待提交占据;若是,当从所述目标机器人和所述其他机器人中选择出所述目标机器人时,确定所述目标机器人能够占据所述待行驶子路径;若否,确定所述目标机器人能够占据所述待行驶子路径。
116.在一些实施例中,第一确定单元201被配置为基于所述待行驶子路径的行驶区域的形状信息和形状信息数据库中的所述至少一个已占据区域中的每一个已占据区域的形状信息,确定所述至少一个已占据区域中是否存在具有与已占据区域的形状相交的形状的已占据区域;若是,确定所述至少一个已占据区域中存在与所述待行驶子路径的行驶区域有重叠部分的已占据区域;若否,确定所述至少一个已占据区域中不存在与所述待行驶子路径的行驶区域有重叠部分的已占据区域。
117.在一些实施例中,机器人控制装置还包括:
118.第一响应单元,被配置为当所述目标机器人行驶完所述目标待行驶子路径并且存在对应所述目标待行驶子路径的冲突机器人时,向所述冲突机器人发送唤醒指令,其中,所述冲突机器人由于所述目标待行驶子路径的行驶区域和冲突机器人的其他行驶路径的相应子路径的行驶区域有重叠部分而不能够占据所述相应子路径,所述唤醒指令用于触发所述冲突机器人确定所述其他行驶路径的至少一个待行驶子路径中是否存在所述冲突机器人能够占据的至少一个待行驶子路径。
119.在一些实施例中,机器人控制装置还包括:
120.第二响应单元,被配置为当从所述目标机器人接收指示所述目标机器人行驶完所述每一个目标待行驶子路径的指令并且存在所述行驶路径的至少一个待行驶子路径时,由所述目标机器人确定存在的至少一个待行驶子路径中是否存在所述目标机器人能够占据的至少一个待行驶子路径。
121.在一些实施例中,机器人控制装置还包括:
122.第三响应单元,被配置为当检测到所述目标机器人行驶完每一个目标待行驶子路径并且存在所述行驶路径的至少一个待行驶子路径时,由所述目标机器人确定存在的至少一个待行驶子路径中是否存在所述目标机器人能够占据的至少一个待行驶子路径。
123.本技术实施例的图像处理装置中的各功能模块或单元用于执行上述上述机器人控制方法的步骤,具体可以参考上述方法的相关内容。
124.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现上述机器人控制方法。
125.本技术实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述机器人控制方法。
126.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手子路径。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
127.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献