CN115220447A - 多机器人的运动调度方法及装置 - Google Patents
多机器人的运动调度方法及装置 Download PDFInfo
- Publication number
- CN115220447A CN115220447A CN202210780024.8A CN202210780024A CN115220447A CN 115220447 A CN115220447 A CN 115220447A CN 202210780024 A CN202210780024 A CN 202210780024A CN 115220447 A CN115220447 A CN 115220447A
- Authority
- CN
- China
- Prior art keywords
- robot
- robots
- conflict
- envelope
- scheduling
- 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.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 285
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000003860 storage Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0285—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明提供多机器人的运动调度方法及装置,其中所述多机器人的运动调度方法包括:获取多个机器人的运动路径,其中,运动路径包括多个路段,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,根据各预测冲突路段,对第一机器人进行运动调度。通过第一机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度。
Description
技术领域
本发明涉及机器人控制技术领域,特别涉及一种多机器人的运动调度方法。本发明同时涉及一种多机器人的运动调度装置、一种计算设备,以及一种计算机可读存储介质。
背景技术
随着机器人技术的发展,越来越多的可运动机器人在货运、仓储、物流、餐饮等产业服务中得到应用,极大方便了人类的生产生活。但同时,如何对多个机器人的进行运动调度,来避免多个机器人发生死锁,是在多机器人运动调度中一个重要的问题。
现有技术中,对于在确定路径上进行运动的多个机器人可能发生的死锁,一般是基于多个机器人的运动路径进行规划,然后设立对应的预防机制来进行控制调度。
然而,这样仅仅通过机器人运动路径的规划,来设立对应的预防机制进行控制调度,没有考虑到大规模的机器人的运动场景下,机器人因为自身轮廓和即时性能导致的运动复杂性,对于多机器人的运动调度缺乏准确度。因而,亟需一种在多机器人的运动具有复杂性情况下,也可以准确地调度的多机器人运动的运动调度方法。
发明内容
有鉴于此,本发明实施例提供了一种多机器人的运动调度方法,以解决现有技术中存在的技术缺陷。本发明实施例同时提供了一种多机器人的运动调度装置,一种计算设备,以及一种计算机可读存储介质。
根据本发明实施例的第一方面,提供了一种多机器人的运动调度方法,包括:
获取多个机器人的运动路径,其中,运动路径包括多个路段;
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人;
根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段;
根据各预测冲突路段,对第一机器人进行运动调度。
可选地,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,包括:
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段;
根据第一机器人的轮廓信息,确定待运动路段的包络范围。
可选地,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,包括:
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,其中,待运动路段的数量等于预设路段数量。
可选地,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,包括:
确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,其中,第二机器人为多个机器人中其他机器人的任一个;
若存在交集,则根据交集,确定第一机器人相对于第二机器人的预测冲突路段。
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;
根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内;
若是,则调度第一机器人运动。
可选地,冲突范围包括冲突路段索引上界和冲突路段索引下界;
根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,包括:
获得第一路段的路段索引;
若路段索引大于或等于冲突路段索引下界,则确定第一机器人位于冲突范围内。
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;
根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个;
根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内;
若是,则调度第一机器人运动。
可选地,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,包括:
若第一机器人的起点包络与相对冲突包络存在交集,则确定第一机器人位于冲突范围内。
可选地,在根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内之后,还包括:
若否,则根据第一机器人的运动路径,确定第一机器人的终点包络;
在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。
可选地,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动之后,还包括:
若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量;
根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动。
可选地,该方法还包括:
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数;
根据各特定机器人的运动参数,确定各特定机器人的运动耗时;
根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括:
根据各预测冲突路段,确定第一机器人的目标避让索引;
根据目标避让索引,调度第一机器人运动至目标路段。
根据本发明实施例的第二方面,提供了一种多机器人的运动调度装置,包括:
获取模块,被配置为获取多个机器人的运动路径,其中,运动路径包括多个路段;
包络范围确定模块,被配置为根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人;
预测冲突路段确定模块,被配置为根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段;
调度模块,被配置为根据各预测冲突路段,对第一机器人进行运动调度。
根据本发明实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述多机器人的运动调度方法的步骤。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述多机器人的运动调度方法的步骤。
本发明提供的多机器人的运动调度方法,获取多个机器人的运动路径,其中,运动路径包括多个路段,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,根据各预测冲突路段,对第一机器人进行运动调度。通过第一机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度。
附图说明
图1是本发明一实施例提供的一种多机器人的运动调度方法的系统结构示意图;
图2是本发明一实施例提供的一种多机器人的运动调度方法的流程图;
图3A是本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法的处理流程图;
图3B是本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法中的运动路径示意图;
图4是本发明一实施例提供的一种多机器人的运动调度装置的结构示意图;
图5是本发明一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
在本发明一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明一个或多个实施例。在本发明一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本发明一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
机器人调度:通过机器人调度端设定调度规则实现对机器人的调度。
在本发明中,提供了一种多机器人的运动调度方法。本发明同时涉及一种多机器人的运动调度装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了本发明一实施例提供的一种多机器人的运动调度的系统结构示意图。本发明实施例提供的多机器人的运动调度方法的执行主体为可以的机器人调度端101;机器人调度端101包括:调度端存储器1011和调度端处理器1012,其中,调度端存储器1011存储有预先编写好的调度规则的程序代码,调度端处理器1012用来执行调度规则的程序代码来对多机器人实现运动调度。本发明实施例提供的多机器人的运动调度方法中多个机器人102通过接收机器人调度端101发送的调度规则的程序代码来进行运动。上述机器人调度端101可以是任何一种可与用户进行人机交互的电子产品,例如PC(Personal Computer,个人计算机)、手机、掌上电脑(Pocket PC)、平板电脑等。
机器人调度端101通过获取多个机器人102的运动路径,然后根据第一机器人1021的运动路径和当前位于的第一路段,确定第一机器人1021的待运动路段的包络范围,接着根据多个机器人102的待运动路段的包络范围,确定第一机器人1021相对于多个机器人102中其他机器人(1022,1023……)的各预测冲突路段,根据各预测冲突路段,对第一机器人1021进行运动调度。
具体的多机器人的运动调度方法将在后续实施例中详述。
图2出了根据本发明一实施例提供的一种多机器人的运动调度方法的流程图,具体包括以下步骤:
步骤202:获取多个机器人的运动路径,其中,运动路径包括多个路段。
机器人取决于在应用场景中所需要实现的具体功能,为具有一种或多种功能的可进行调度的运动机器人。例如,用于餐饮店进行菜品传输的机器人、用于物流仓储进行搬运的机器人,用于工程场景进行勘测施工的机器人,本发明实施例在此不作限定。
机器人的运动路径是预先设定好的可以按照一定的调度规则进行运动的路径,运动路径包括多个节点和节点连接的路段,例如,某餐饮店的座位和过道构成的运动路径,可以将座位看作运动路径上的节点,可以将过道看作运动路径上的路段。或者,某物流仓储仓库,可以将货架看作运动路径上的节点,仓库中的机器人运动轨道看作运动路径上的路段。运动路径可以用节点和路段的标识,也可以用节点和路段的坐标位置标识。
在实际应用中,机器人内置有多张不同工作地图,针对每张工作地图,机器人会构建一条初始运动路径,例如,在某餐饮店中,针对餐饮店的多层,传菜机器人内置有多张对应的工作地图,针对每张工作地图,传菜机器人会构建一条从出菜口到各个座位的初始运动路径。
获取多个机器人的运动路径,可以为从机器人调度端中预先分配给机器人的调度规则进行推演,得到多个机器人的运动路径,也可以为接收多个机器人上传的运动路径,本发明在此不作限定。
具体地,获取多个机器人的运动路径,其中,运动路径包括多个节点和节点连接的多个路径。
示例性地,获取多个机器人A1-An的运动路径T1-Tn,以运动路径T1为例,运动路径T1为A-B-C-D-E,其中A、B、C、D、E为运动路径的节点,连接得到路段AB、BC、CD、DE。
通过获取多个机器人的运动路径,为后续确定待运动路段的包络范围奠定了基础。
步骤204:根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人。
当前位于的第一路段,为当前机器人所在位置对应的运动路径中的路段。例如,当前机器人所在位置为节点A和节点B之间,对应的运动路径中的路段为AB,则确定AB为第一路段。
包络范围为机器人在运动过程中覆盖的范围,是根据机器人的形状尺寸确定的,例如,运动路径用坐标表示为(0,0)-(0,1)-(0,2),机器人为一个边长为2的正方形,正方形的中心的运动路径用坐标表示与运动路径的坐标表示是一致的,其包络范围的坐标表示为(-1,-1)(1,-1)-(-1,3)(1,3)的一个矩形。
具体地,根据第一机器人的运动路径、当前位于的第一路段和第一机器人的形状尺寸,确定第一机器人的待运动路段的包络范围。
示例性地,第一机器人的运动路径用坐标表示为(0,0)-(0,1)-(0,2)-(0,3)、当前位于的第一路段为(0,0)-(0,1),第一机器人为一个边长为2的正方形,待运动路段的包络范围为(-1,-1)(1,-1)-(-1,3)(1,3)。
通过根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的包络范围,确定各预测冲突路段奠定了基础。
步骤206:根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段。
预测冲突路段是机器人在行驶路径上会发生和其他机器人的冲突的路段,
第一机器人相对于多个机器人中其他机器人的各预测冲突路段,是通过比较第一机器人和其他机器人的待运动路段的包络范围得到的。第一机器人与其他机器人中每个机器人的包络范围进行比较,所能得到的预测冲突路段是不同的。
具体地,将多个机器人的待运动路段的包络范围进行比较,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段。
示例性地,第一机器人的待运动路段的包络范围为(AB-BC-CD),其他机器人的待运动路段的包络范围为(BC-CD-DE),将两个机器人的待运动路段的包络范围进行比较,确定第一机器人相对于多个机器人中其他机器人的预测冲突路段为BC和CD。
根据多个机器人的待运动路段的包络范围来确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,确认第一机器人存在冲突风险的路段,为后续根据各预测冲突路段对第一机器人进行调度,提供了参考基础。
步骤208:根据各预测冲突路段,对第一机器人进行运动调度。
对第一机器人进行运动调度的具体方式为,确定第一机器人在各预测冲突路段上的运动状态,并向第一机器人发送运动调度指令,使得第一机器人在各预测冲突路段上按照运动状态进行对应的运动。
具体地,根据各预测冲突路段,确定第一机器人在各预测冲突路段上的运动状态,对第一机器人进行运动调度。
示例性地,根据预测冲突路段BC和CD,确定第一机器人在BC路段的运动状态为停止,第一机器人在CD路段的运动状态为前进,对第一机器人进行运动调度。
本发明实施例中,获取多个机器人的运动路径,其中,运动路径包括多个路段,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,根据各预测冲突路段,对第一机器人进行运动调度。通过第一机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度。
可选地,步骤204包括如下具体步骤:
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段;
根据第一机器人的轮廓信息,确定待运动路段的包络范围。
待运动路段为第一机器人运动路径上,从当前位于的第一路段开始计算,将要运动的一定的路段。将要运动的一定的路段是根据预先设定的确定条件确定的,确定条件可以将要运动的路段数量,可以为将要运动的终点等。例如,第一机器人的运动路径包括多个路段,为AB-BC-CD-DE,当前位于的第一路段为AB,第一路段开始将要运动到节点D,待运动路段为AB、BC和CD。
第一机器人的轮廓信息为第一机器人尺寸形状确定的可以扫过的面积信息,第一机器人不一定为规则形状的机器人,会根据应用场景设定为不同尺寸形状的机器人,因而需要根据其扫过的面积信息,即轮廓信息确定待运动路段的包络范围。
具体地,根据第一机器人的运动路径、当前位于的第一路段和预设的确定条件,确定第一机器人的待运动路段,根据第一机器人的轮廓信息,确定待运动路段的包络范围。
示例性地,根据第一机器人的运动路径AB-BC-CD-DE、当前位于的第一路段AB和预设的确定条件:终点为D,确定第一机器人的待运动路段BC和CD,根据第一机器人的轮廓信息,确定待运动路段的包络范围。
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,根据第一机器人的轮廓信息,确定待运动路段的包络范围,使得确定得到的待运动路段的包络范围更符合第一机器人的实际运动情况,进而使得确定的待运动路段的包络范围更加精准,后续预测得到的各预测冲突路段更准确,对第一机器人的运动调度与第一机器人的实际运动情况更契合。
可选地,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,包括如下具体步骤:
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,其中,待运动路段的数量等于预设路段数量。
预设路段数量为用来实现对第一机器人运动路径监测的监测窗口,因为如果对多个机器人的运动路径每个路段都进行监测,会因为数据量太多导致运动调度的计算量太高,进而需要设定一个预设路段数量的监测窗口来进行监测。预设路段数量是根据第一机器人的实际运动情况确定的,若第一机器人的运动速度较高,则预设路段数量需要设计较多,来保证及时检测到冲突,提升调度的及时性来保证多机器人运动调度的可靠性和安全性。
具体地,根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,待运动路段为第一机器人在运动路径中从第一路段开始将要运动的预设路段数量的路段。
示例性地,根据第一机器人的运动路径AB-BC-CD-DE、当前位于的第一路段AB,预设路段数量为2,第一机器人在运动路径AB-BC-CD-DE上从第一路段AB开始将要运动的2个路段,即BC和CD为待运动路段。
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,降低了整体的计算量,提升了确定待运动路段的效率,进而提升了整体多机器人的运动调度的效率。
可选地,步骤206包括如下具体步骤:
确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,其中,第二机器人为多个机器人中其他机器人的任一个;
若存在交集,则根据交集,确定第一机器人相对于第二机器人的预测冲突路段。
确定第一机器人和第二机器人的待运动路段的包络范围是否存在交集,即两者的包络范围是否存在重叠部分。例如,第一机器人的包络范围为一个坐标为(0,0)(0,1)(1,1)(1,0)的正方形,第二机器人的包络范围为一个坐标为(0,0)(0,1)(5,1)(5,0)的矩形,两者在(0,0)(0,1)(1,1)(1,0)的正方形范围内存在重叠部分,及认定第一机器人和第二机器人的待运动路段的包络范围存在交集。
若存在交集,根据交集,确定第一机器人相对于第二机器人的预测冲突路段的方式为:针对第一机器人,根据第一机器人在交集内的所有路段,确定第一机器人相对于第二机器人的预测冲突路段。
具体地,确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,若存在交集,则针对第一机器人,根据第一机器人在交集内的所有路段,确定第一机器人相对于第二机器人的预测冲突路段。
示例性地,第一机器人的待运动路段的包络范围为A-B-C-D-E节点周围的矩形,第二机器人的待运动路段的包络范围为D-E-F节点周围的矩形,确定第一机器人与第二机器人的待运动路段的包络范围存在交集,为D、E,针对第一机器人,根据第一机器人在交集范围内的所有路段CD、DE、确定,第一机器人相对于第二机器人的预测冲突路段为CD、DE。
可选地,若不存在交集,确定第一机器人和第二机器人不存在冲突。
通过确定第一机器人和第二机器人的包络范围是否存在集合,根据集合确定第一机器人相对于第二机器人的预测冲突路径,提升了预测冲突路径的确定效率,进而提升了整体的多机器人的运动调度的调度效率。
可选地,步骤208包括如下具体步骤:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;
根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内;
若是,则调度第一机器人运动。
第一机器人相对于其他机器人的冲突范围为根据各预测冲突路段,进行统计得到的冲突路段的范围,例如,第一机器人相对于其他机器人的预测冲突路段为CD、DE和EF,统计得到的冲突范围为(CD,EF),表示机器人从CD路段运动到EF路段存在相对于其他机器人的冲突。
如果两个机器人都进入了同一冲突范围,则两者都会发生死锁,即该冲突无法避免,因而在确定第一机器人已经位于冲突范围内,调度第一机器人运动,而对于其他机器人在未进入冲突范围内时,调度其进行避让,才可以避免第一机器人和其他机器人都发生死锁。例如,冲突范围为(CD,EF),第一机器人当前位于第一路段CD路段时,若其他机器人位于EF路段,在同一冲突范围内时,冲突无法避免,因而第一机器人的第一路段在冲突范围内时,调度第一机器人进行运动。
第一路段为第一机器人待运动路段中起点所在路段。
具体地,根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,若第一路段在冲突范围内,确定第一机器人位于冲突范围内,调度第一机器人运动。
示例性地,第一机器人相对于第二机器人的预测冲突路段为CD、DE、EF和FG,确定第一机器人相对于第二机器人的冲突范围为(CD,FG),第一机器人的第一路段为DE,第一路段DE在冲突范围(CD,FG)内,调度第一机器人运动。
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动,可以在其他机器人未进入冲突范围时,造成第一机器人和其他机器人的冲突无法避免,提前进行调度,及时预防了冲突发生,保证了多机器人的运动可靠性和安全性。
可选地,冲突范围包括冲突路段索引上界和冲突路段索引下界,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,包括如下具体步骤:
获得第一路段的路段索引;
若路段索引大于或等于冲突路段索引下界,则确定第一机器人位于冲突范围内。
路段索引为用来标注运动路径中每段路段的路段索引,可以为路段的顺序标号,可以为路段的节点名称,还可以为路段的坐标表示,本发明说明书以路段的顺序标号为例。
冲突路段索引上界为冲突范围中最后一个预测冲突路段的路段索引,冲突路段索引下界为冲突范围中第一个预测冲突路段的路段索引。例如,冲突范围为(0,3),表示第一机器人相对于其他机器人的冲突范围为第一机器人的第0段路段到第3段路段,冲突路段索引上界为3,冲突路段索引下界为0。
示例性地,第一路段的路段索引为1,冲突范围为(0,3),冲突路段索引上界为3,冲突路段索引下界为0,第一路段的路段索引大于冲突路段索引下界,确定第一机器人已经位于冲突范围内。
通过获得第一路段的路段索引,并根据路段索引和冲突路段索引下界的大小关系,来确定第一机器人是否位于冲突范围内,进而在后续对第一机器人的运动调度,这样利用路段索引确定第一机器人是否位于冲突范围内,提升了确定效率,进而提升了对第一机器人进行运动调度的调度效率。
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括如下具体步骤:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;
根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个;
根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内;
若是,则调度第一机器人运动。
第一机器人的相对冲突包络为第一机器人在相对于第二机器人的预测冲突路段的运动过程中的覆盖范围,例如,第一机器人为正方形的机器人,其在待运动路段的运动的覆盖范围为矩形。第一机器人相对于第二机器人的预测冲突路段为CD、DE,确定第一机器人的相对冲突包络为C-D-E节点周围的矩形。
第一机器人的起点包络为机器人当前所在位置的包络范围,例如,第一机器人为正方形的机器人,第一机器人当前位于C点,则C点周围的正方形为起点包络。
根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,为根据起点包络和相对冲突包络之间的距离关系,确定第一机器人是否位于冲突范围内。例如,若设定距离阈值为d,当起点包络和相对冲突之间的距离小于等于d时,确定第一机器人位于冲突范围内,或者,若起点包络和相对冲突包络之间存在交集,确定第一机器人位于冲突范围内。
具体地,根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,根据起点包络和相对冲突包络之间的距离关系,确定第一机器人是否位于冲突范围内。
示例性地,第一机器人为正方形,根据第一机器人相对于第二机器人的预测冲突路段为A-B-C-D,确定第一机器人的相对冲突包络为A-B-C-D节点周围的矩形,预设的距离阈值为d,若起点包络(E点周围的正方形)和相对冲突包络(A-B-C-D节点周围的矩形)之间的距离小于等于d,确定第一机器人位于冲突范围内,调度第一机器人运动。
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动。通过第一机器人的起点包络和第一机器人的相对冲突包络,来对第一机器人进行调度,可以在其他机器人未进入冲突范围时,造成第一机器人和其他机器人的冲突无法避免,提前进行调度,及时预防了冲突发生,保证了多机器人的运动可靠性和安全性。
可选地,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,包括如下具体步骤:
若第一机器人的起点包络与相对冲突包络存在交集,则确定第一机器人位于冲突范围内。
第一机器人的起点包络与相对冲突包络存在交集,即两者的范围存在重叠部分。
示例性地,第一机器人为正方形,根据第一机器人相对于第二机器人的预测冲突路段为A-B-C-D,确定第一机器人的相对冲突包络为A-B-C-D节点周围的矩形,若起点包络(E点周围的正方形)和相对冲突包络(A-B-C-D节点周围的矩形)之间存在交集,确定第一机器人位于冲突范围内,调度第一机器人运动。
通过第一机器人的起点包络和第一机器人的相对冲突包络是否存在交集,来对第一机器人进行调度,可以更精准地在其他机器人未进入冲突范围时,造成第一机器人和其他机器人的冲突无法避免,提前进行调度,更及时预防了冲突发生,进一步保证了多机器人的运动可靠性和安全性。
可选地,在根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内之后,还包括如下具体步骤:
若否,则根据第一机器人的运动路径,确定第一机器人的终点包络;
在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。
第一机器人的终点包络为第一机器人的运动路径中最后一个路段的终点节点对应的包络。例如,第一机器人的运动路径为A-B-C-D-E,最后一个路段DE的终点节点E的包络范围即为终点包络。
对于第一机器人和第二机器人,如果第一机器人的运动路径超出了其他机器人的待运动路段的包络范围,则第一机器人在运动过冲突范围后还要继续运动直到到达终点,第二机器人的运动路径未超出会在其待运动路段的包络范围,则第二机器人不会运动超出冲突范围,会停止在第一机器人运动路径中的某一预测冲突路径上,阻挡第一机器人的正常运动,因而,需要第一机器人先运动直到第一机器人运动,直到与其他机器人的待运动路段的包络范围均不存在交接的情况下,第二机器人的运动才不会阻挡住第一机器人的正常运动,避免冲突。例如,第一机器人的运动路径为A-B-C-D-E-F,第二机器人的运动路径为F-B-C-D,第一机器人相对于第二机器人的预测冲突路段为BC、CD和DE,若第二机器人先运动停止在了终点D,则第一机器人继续运动,会在D点和第二机器人发生冲突。
在第一机器人的终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,说明第一机器人的运动路径上不存在可能到达终点并停止的其他机器人,需要先对第一机器人进行运动调度。
具体地,根据第一机器人的运动路径,确定第一机器人的终点,根据第一机器人的终点和第一机器人的轮廓信息,确定第一机器人的终点包络,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。
示例性地,第一机器人的运动路径为A-B-C-D-E-F,确定第一机器人的终点为E,根据第一机器人的终点E和第一机器人的轮廓信息(半径为1的圆形),确定第一机器人的终点包络,在第一机器人的终点包络和其他机器人的待运动路段的包络范围均不存在交接的情况下,保证了第一机器人的运动路径上不存在可能到达终点并停止的其它机器,不会发生冲突,调度第一机器人运动。
根据第一机器人的运动路径,确定第一机器人的终点包络,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。可以在其他机器人未停止或占据第一机器人的运动路径上的某一路段时,就对第一机器人进行运动调度,避免了其他机器人阻挡第一机器人的正常运动,及时预防了冲突发生,保证了多机器人的运动可靠性和安全性。
可选地,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动之后,还包括如下具体步骤:
若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量;
根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动。
之前对于第一机器人完成调度,第一机器人是多个机器人中任一个,但是由于对于第一机器人的调度是相对于其他机器人进行确定的,因而,不可避免地由于机器人之间的差异,包括机器人的轮廓信息差异、机器人当前位于的第一路段差异、预设路段数量的差异等实际运动的运动调度场景差异,导致多个特定的机器人未被调度,需要对这些机器人进行运动调度,来保证多机器人的运动调度的完整性。
跟随机器人为跟随特定机器人的机器人,跟随机器人和特定机器人具有相同的运动路径。例如,某餐饮店中,某座位的顾客点单多个菜品,需要通过多个机器人进行传输,即特定机器人包括多个跟随机器人。
在某些场景下,跟随机器人数量少的特定机器人,优先进行运动调度,可以保证其他特定机器人和对应的跟随机器人不需要长时间停止来等待。在某些场景下,跟随机器人数量多的特定机器人,优先进行运动调度,可以保证更多的机器人运动到终点,完成对应的任务,实现其对应的功能。具体的选择在此不作限定。
具体地,若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量,根据各特定机器人的跟随机器人数量和实际应用场景,确定目标特定机器人,调度各特定机器人中的目标特定机器人和其对应的跟随机器人运动。
示例性地,在其他特定机器人和对应的跟随机器人不需要长时间停止来等待的实际应用场景下,存在三个未被调度的特定机器人B1、B2和B3,分别统计B1、B2和B3的跟随机器人数量为3、5、4,根据三个特定机器人的跟随机器人数量和实际应用场景,确定跟随机器人数量最少的特定机器人B1为目标特定机器人,调度目标特定机器人B1和其对应的三个跟随机器人运动。
针对多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量,根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动,对满足跟随机器人数量要求的目标特定机器人优先进行调动,满足了实际的应用场景中对于具有跟随机器人的特定机器人的调度需求,使得调度更具有适用性,并且对未被调度的特定机器人进行调度,保证了对多机器人的运动调度的完整性。
可选地,多机器人的运动调度方法还包括如下具体步骤:
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数;
根据各特定机器人的运动参数,确定各特定机器人的运动耗时;
根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。
特定机器人的运动参数为特定机器人的实际运动情况的参数,包括:特定机器人的运动速度、特定机器人的旋转角速度、特定机器人的运动路径长度等。
在某些场景下,对于运动速度快或者旋转角速度高的特定机器人,优先进行运动调度,可以保证特定机器人更快完成其对应的任务,实现对应的功能。在某些场景下,对于运动路径长度更长的特定机器人,优先进行运动调度,可以保证多个特定机器人完成其对应的任务的时差更短,实现对应的功能,本发明实施例在此不作限定。
具体地,在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数,根据各特定机器人的运动参数,确定各特定机器人的运动耗时,根据各特定机器人的运动耗时和实际应用场景,调度各特定机器人中的目标特定机器人运动。
示例性地,在特定机器人更快完成其对应的任务,实现对应的功能的实际应用场景下,存在三个特定机器人B4、B5和B6的跟随机器人数量都为4,获取各特定机器人的运动速度分别为0.5m/s,0.7m/s,0.9m/s,根据三个特定机器人的运动速度,确定各特定机器人的运动耗时为10s,根据运动耗时10s和实际应用场景,确定运动速度最快的特定机器人B6为目标特定机器人,调度目标特定机器人B6运动。
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数,根据各特定机器人的运动参数,确定各特定机器人的运动耗时,根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动,满足了实际的应用场景中对于运动耗时的调度需求,使得对多机器人的运动调度的调度效率更高,且多机器人的运动调度更具有适用性,并且对相同跟随机器人的特定机器人进行调度,保证了对多机器人的运动调度的完整性。
可选地,步骤208包括如下具体步骤:
根据各预测冲突路段,确定第一机器人的目标避让索引;
根据目标避让索引,调度第一机器人运动至目标路段。
根据各预测冲突路段的路段数量,确定第一机器人的目标避让索引,例如,第一机器人相对于第二机器人的预测冲突路段为(1,3),第一机器人相对于第三机器人的预测冲突路段为(0,3),第一机器人相对于第二机器人的预测冲突路段的路段数量为3个,第一机器人相对于第三机器人的预测冲突路段的路段数量为4个,确定第一机器人的目标避让索引为0,意味着第一机器人需要避让的路段索引在无穷远处,即第一机器人不需要避让。另外,第二机器人相对于第一机器人的预测冲突路段为(0,1),第二机器人相对于第三机器人的预测冲突路段为(0,1),第二机器人相对于第一机器人的预测冲突路段的路段数量为2个,第二机器人相对于第三机器人的预测冲突路段的路段数量为2个,确定第二机器人的目标避让索引为0,意味着第二机器人运动至目标避让索引对应的目标路段0前,进行避让。
具体地,根据各预测冲突路段,确定第一机器人的目标避让索引,根据目标避让索引,调度第一机器人运动至与目标避让索引对应的目标路段后,调度第一机器人进行避让。
示例性地,根据各预测冲突路段(0,2)(0,3),确定第一机器人的目标避让索引为0,根据目标避让索引0,调度第一机器人运动至与目标避让索引0对应的目标路段前调度第一机器人进行避让。
根据各预测冲突路段,确定第一机器人的目标避让索引,根据目标避让索引,调度第一机器人运动至目标路段。通过确定第一机器人的目标避让索引,仅通过目标避让索引,调度第一机器人运动至目标路段,提升了对第一机器人的运动调度效率。
下述结合附图3A-图3B以本发明提供的多机器人的运动调度方法对预防多机器人死锁冲突的应用为例,对所述多机器人的运动调度方法进行进一步说明。其中,图3A示出了本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法的处理流程图,具体包括以下步骤:
步骤302:获取多个机器人的运动路径,其中,运动路径包括多个路段,每个路段包括路段索引。
图3B示出了本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法中的运动路径示意图。
获取第一机器人A1的运动路径为A-B-C-F-G,第二机器人A2的运动路径为D-C-F,第三机器人A3的运动路径为G-F-C-B-E。对应地,第一机器人的运动路径包括多个路段:AB(0)、BC(1)、CF(2)和FG(3),第二机器人的运动路径包括多个路段:DC(0)和CF(1),第三机器人的运动路径包括多个路段:GF(0)、FC(1)、CB(2)和BE(3)。
步骤304:根据多个机器人的运动路径和当前位于的第一路段,确定多个机器人的待运动路段。
根据第一机器人的运动路径A-B-C-F-G确定和当前位于的第一路段0,确定第一机器人的待运动路段为(0,3)。同理,确定第二机器人的待运动路段为(0,1),第三机器人的待运动路段为(0,3)。
步骤306:根据各机器人的轮廓信息,确定各机器人待运动路段的包络范围。
如图3B所示,根据第一机器人、第二机器人和第三机器人的轮廓信息,确定第一机器人的待运动路段的包络范围为A-B-C-F-G节点周围的矩形,确定第二机器人的待运动路段的包络范围为D-C-F节点周围的矩形,确定第三机器人的待运动路段的包络范围为G-F-C-B-E节点周围的矩形。
步骤308:确定各机器人的待运动路段的包络范围是否存在交集。
如图3B所示,确定第一机器人、第二机器人和第三机器人的待运动路段的包络范围存在交集,第一机器人与第二机器人的交集为B-C-F节点周围的矩形,第一机器人和第三机器人的交集为B-C-F-G节点周围的矩形,第二机器人与第三机器人的交集为C-F节点周围的矩形。
步骤310:根据交集,确定各机器人的预测冲突路段。
如图3B所示,以第一机器人路段为主体判断,根据B-C-F节点周围的矩形的交集,确定第一机器人相对于第二机器人的预测冲突路段为BC、CF和FG,即路段1、2、3;以第一机器人路段为主体判断,根据B-C-F-G节点周围的矩形的交集,确定第一机器人相对于第三机器人的预测冲突路段为AB、BC、CF和FG,即路段0、1、2、3;以第二机器人路段为主体判断,根据B-C-F节点周围的矩形的交集,确定第二机器人相对于第一机器人的预测冲突路段为DC、CF,即路段0、1;以第二机器人路段为主体判断,根据C-F节点周围的矩形的交集,确定第二机器人相对于第三机器人的预测冲突路段为DC、CF,即路段0、1;以第三机器人路段为主体判断,根据B-C-F-G节点周围的矩形的交集,确定第三机器人相对于第一机器人的预测冲突路段为GF、FC、CB和BE,即路段0、1、2、3;以第三机器人路段为主体判断,根据C-F节点周围的矩形的交集,确定第三机器人相对于第二机器人的预测冲突路段为GF、FC和CB,即路段0、1、2。
步骤312:根据各预测冲突路段,确定冲突范围。
根据各预测冲突路段,确定第一机器人相对于第二机器人的冲突范围为(1,3);确定第一机器人相对于第三机器人的冲突范围为(0,3);确定第二机器人相对于第一机器人的冲突范围为(0,1);确定第二机器人相对于第三机器人的冲突范围为(0,1);确定第三机器人相对于第一机器人的冲突范围为(0,3);第三机器人相对于第二机器人的冲突范围为(0,2)。
步骤314:获得第一路段的路段索引,根据机器人起点包络和对应冲突包络,确定各机器人是否位于冲突内。
步骤316:若是,则调度对应的机器人运动。
如图3B所示,根据第一机器人、第二机器人和第三机器人的运动路径,确定第一机器人的起点包络为A节点周围的正方形,确定第二机器人的起点包络为D节点周围的正方形,确定第三机器人的起点包络为G节点周围的正方形。
第一机器人的第一路段索引为-1(意为未进入AB路段,即路段0),不位于冲突范围(1,3)和(0,3)中;
第一机器人的起点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;
第一机器人的起点包络与第三机器人的相对冲突包络(G-F-C-B-E节点周围的矩形,相对冲突范围(0,3))不存在交集;
即第一机器人不处于冲突中。
第二机器人的第一路段索引为-1,不位于冲突范围(0,1)中;
第二机器人的起点包络与第一机器人的相对冲突包络(B-C-F-G节点周围的矩形,相对冲突范围(1,3))不存在交集;
第二机器人的起点包络与第三机器人的相对冲突包络(G-F-C-B节点周围的矩形,相对冲突范围(0,2))不存在交集;
即第二机器人不处于冲突中。
第三机器人的第一路段索引为-1,不位于冲突范围(0,3)和(0,2),对应于第一、第二机器人冲突范围中;
第三机器人的起点包络与第一机器人的相对冲突包络(A-B-C-F-G节点周围的矩形,相对冲突范围为(0,3))不存在交集;
第三机器人的起点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;
即第三机器人不处于冲突中。
因而,第一机器人、第二机器人和第三机器人暂不调度。
步骤318:若否,则根据各机器人的运动路径,确定各机器人的终点包络;在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,依次调度对应的机器人运动。
如图3B所示,根据第一机器人、第二机器人和第三机器人的运动路径,确定第一机器人的终点包络为G节点周围的正方形,确定第二机器人的终点包络为F节点周围的正方形,确定第三机器人的终点包络为E节点周围的正方形。
第一机器人的终点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;
第一机器人的起点包络与第三机器人的相对冲突包络(G-F-C-B-E节点周围的矩形,相对冲突范围(0,3))存在交集;
即第一机器人需避让第三机器人,避让索引为0。
第二机器人的终点包络与第一机器人的相对冲突包络(B-C-F-G节点周围的矩形,相对冲突范围(1,3))存在交集;
第二机器人的终点包络与第三机器人的相对冲突包络(G-F-C-B节点周围的矩形,相对冲突范围(0,2))存在交集;
即第二机器人需避让第一、第三机器人,避让索引为0。
第三机器人的终点包络与第一机器人的相对冲突包络(A-B-C-F-G节点周围的矩形,相对冲突范围为(0,3))不存在交集;
第三机器人的起点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;
即第三机器人无需避让,避让索引为0。
因而,第三机器人调度运动,第一机器人、第二机器人暂不调度。
当第三机器人运动至终点E,即第三机器人待运动路段不与第一机器人和第二机器人的待运动路段的包络范围(A-B-C-F-G节点周围的矩形、D-C-F节点周围的矩形)存在交集时,重复步骤314、步骤316和步骤318。第一机器人的终点包络与第二机器人的待运动路段的包络范围(D-C-F节点周围的矩形)不存在交集,调度第一机器人运动、第二机器人避让。
当第一机器人运动至C点时,第一机器人的待运动包络(C-F-G节点周围的矩形)与第二机器人的待运动路段的包络范围(D-C-F节点周围的矩形)存在交集。根据步骤316所述,第一机器人处于冲突中,避让索引为0,继续调度第一机器人,第二机器人避让,其中第二机器人冲突范围为(0,1),避让索引为0,第二机器人无法运动。
当第一机器人运动至F点时,第一机器人待运动路段的包络范围(F-G节点周围的矩形)与第二机器人待运动路段的包络范围(D-C-F节点的矩形)存在交集。根据步骤316所述,第一机器人处于冲突中,避让索引为0,继续调度第一机器人。第二机器人进行避让,其中第二机器人冲突范围为(1,1),避让索引为1,第二机器人调度至避让索引前一路段即第0路段。
如此往复,直至终点。
本发明实施例,根据多个机器人的待运动路段的包络范围,确定各预测冲突路段,再根据各预测冲突路段,对第一机器人进行运动调度。通过多个机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度,避免了机器人冲突造成的死锁,提升了机器人的工作效率。
与上述方法实施例相对应,本发明还提供了多机器人的运动调度装置实施例,图4示出了本发明一实施例提供的一种多机器人的运动调度装置的结构示意图。如图4所示,该装置包括:
获取模块402,被配置为获取多个机器人的运动路径,其中,运动路径包括多个路段;
包络范围确定模块404,被配置为根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人;
预测冲突路段确定模块406,被配置为根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段;
调度模块408,被配置为根据各预测冲突路段,对第一机器人进行运动调度。
可选地,包络范围确定模块404可以被进一步配置为:
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,根据第一机器人的轮廓信息,确定待运动路段的包络范围。
可选地,包络范围确定模块404可以被进一步配置为:
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,其中,待运动路段的数量等于预设路段数量。
可选地,预测冲突路段确定模块406可以被进一步配置为:
确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,其中,第二机器人为多个机器人中其他机器人的任一个,若存在交集,则根据交集,确定第一机器人相对于第二机器人的预测冲突路段。
可选地,调度模块408可以被进一步配置为:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动。
可选地,调度模块408可以被进一步配置为:
获得第一路段的路段索引,若路段索引大于或等于冲突路段索引下界,则确定第一机器人位于冲突范围内。
可选地,调度模块408可以被进一步配置为:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动。
可选地,调度模块408可以被进一步配置为:
若第一机器人的起点包络与相对冲突包络存在交集,则确定第一机器人位于冲突范围内,若是,则调度第一机器人运动。
可选地,调度模块408可以被进一步配置为:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,若否,则根据第一机器人的运动路径,确定第一机器人的终点包络,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。
可选地,该装置还包括:
目标特定机器人调度模块,被配置为若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量,根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动。
可选地,目标特定机器人调度模块可以被进一步配置为:
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数,根据各特定机器人的运动参数,确定各特定机器人的运动耗时,根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。
可选地,调度模块408可以被进一步配置为:
根据各预测冲突路段,确定第一机器人的目标避让索引,根据目标避让索引,调度第一机器人运动至目标路段。
本发明实施例中,获取多个机器人的运动路径,其中,运动路径包括多个路段,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,根据各预测冲突路段,对第一机器人进行运动调度。通过第一机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度。
上述为本实施例的一种多机器人的运动调度装置的示意性方案。需要说明的是,该多机器人的运动调度装置的技术方案与上述的多机器人的运动调度方法的技术方案属于同一构思,多机器人的运动调度装置的技术方案未详细描述的细节内容,均可以参见上述多机器人的运动调度方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
图5示出了根据本发明一实施例提供的一种计算设备的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口,例如,网络接口卡(NIC,NetworkInterface Controller)中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Networks)无线接口、全球微波互联接入(Wi-MAX,World Interoperabilityfor Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)接口,等等。
在本发明的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本发明范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行所述多机器人的运动调度方法的计算机可执行指令。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的多机器人的运动调度方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述多机器人的运动调度方法的技术方案的描述。
本发明一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于多机器人的运动调度方法。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的多机器人的运动调度方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述多机器人的运动调度方法的技术方案的描述。
上述对本发明特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本发明优选实施例只是用于帮助阐述本发明。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本发明的内容,可作很多的修改和变化。本发明选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (15)
1.一种多机器人的运动调度方法,其特征在于,包括:
获取多个机器人的运动路径,其中,所述运动路径包括多个路段;
根据第一机器人的运动路径和当前位于的第一路段,确定所述第一机器人的待运动路段的包络范围,其中,所述第一机器人为所述多个机器人中的任一个,所述包络范围覆盖所述第一机器人;
根据所述多个机器人的待运动路段的包络范围,确定所述第一机器人相对于所述多个机器人中其他机器人的各预测冲突路段;
根据所述各预测冲突路段,对所述第一机器人进行运动调度。
2.根据权利要求1所述的方法,其特征在于,所述根据第一机器人的运动路径和当前位于的第一路段,确定所述第一机器人的待运动路段的包络范围,包括:
根据第一机器人的运动路径和当前位于的第一路段,确定所述第一机器人的待运动路段;
根据所述第一机器人的轮廓信息,确定所述待运动路段的包络范围。
3.根据权利要求2所述的方法,其特征在于,所述根据第一机器人的运动路径和当前位于的第一路段,确定所述第一机器人的待运动路段,包括:
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定所述第一机器人的待运动路段,其中,所述待运动路段的数量等于所述预设路段数量。
4.根据权利要求1所述的方法,其特征在于,所述根据所述多个机器人的待运动路段的包络范围,确定所述第一机器人相对于所述多个机器人中其他机器人的各预测冲突路段,包括:
确定所述第一机器人与第二机器人的待运动路段的包络范围是否存在交集,其中,所述第二机器人为所述多个机器人中其他机器人的任一个;
若存在交集,则根据所述交集,确定所述第一机器人相对于所述第二机器人的预测冲突路段。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述各预测冲突路段,对所述第一机器人进行运动调度,包括:
根据所述第一机器人相对于所述其他机器人的各预测冲突路段,确定所述第一机器人相对于所述其他机器人的冲突范围;
根据所述第一路段和所述冲突范围,确定所述第一机器人是否位于所述冲突范围内;
若是,则调度所述第一机器人运动。
6.根据权利要求5所述的方法,其特征在于,所述冲突范围包括冲突路段索引上界和冲突路段索引下界;
所述根据所述第一路段和所述冲突范围,确定所述第一机器人是否位于所述冲突范围内,包括:
获得所述第一路段的路段索引;
若所述路段索引大于或等于所述冲突路段索引下界,则确定所述第一机器人位于所述冲突范围内。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述各预测冲突路段,对所述第一机器人进行运动调度,包括:
根据所述第一机器人相对于所述其他机器人的各预测冲突路段,确定所述第一机器人相对于所述其他机器人的冲突范围;
根据所述第一机器人相对于第二机器人的预测冲突路段,确定所述第一机器人的相对冲突包络,其中,所述第二机器人为所述其他机器人中的任一个;
根据所述第一机器人的起点包络和所述相对冲突包络,确定所述第一机器人是否位于所述冲突范围内;
若是,则调度所述第一机器人运动。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一机器人的起点包络和所述相对冲突包络,确定所述第一机器人是否位于所述冲突范围内,包括:
若所述第一机器人的起点包络与所述相对冲突包络存在交集,则确定所述第一机器人位于所述冲突范围内。
9.根据权利要求5所述的方法,其特征在于,在所述根据所述第一路段和所述冲突范围,确定所述第一机器人是否位于所述冲突范围内之后,还包括:
若否,则根据所述第一机器人的运动路径,确定所述第一机器人的终点包络;
在所述终点包络与所述其他机器人的待运动路段的包络范围均不存在交集的情况下,调度所述第一机器人运动。
10.根据权利要求9所述的方法,其特征在于,在所述终点包络与所述其他机器人的待运动路段的包络范围均不存在交集的情况下,调度所述第一机器人运动之后,还包括:
若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量;
根据所述各特定机器人的跟随机器人数量,调度所述各特定机器人中的目标特定机器人运动。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在所述各特定机器人的跟随机器人数量相等的情况下,获取所述各特定机器人的运动参数;
根据所述各特定机器人的运动参数,确定所述各特定机器人的运动耗时;
根据所述各特定机器人的运动耗时,调度所述各特定机器人中的目标特定机器人运动。
12.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述各预测冲突路段,对所述第一机器人进行运动调度,包括:
根据所述各预测冲突路段,确定所述第一机器人的目标避让索引;
根据所述目标避让索引,调度所述第一机器人运动至目标路段。
13.一种多机器人的运动调度装置,其特征在于,包括:
获取模块,被配置为获取多个机器人的运动路径,其中,所述运动路径包括多个路段;
包络范围确定模块,被配置为根据第一机器人的运动路径和当前位于的第一路段,确定所述第一机器人的待运动路段的包络范围,其中,所述第一机器人为所述多个机器人中的任一个,所述包络范围覆盖所述第一机器人;
预测冲突路段确定模块,被配置为根据所述多个机器人的待运动路段的包络范围,确定所述第一机器人相对于所述多个机器人中其他机器人的各预测冲突路段;
调度模块,被配置为根据所述各预测冲突路段,对所述第一机器人进行运动调度。
14.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现权利要求1至12任意一项所述多机器人的运动调度方法的步骤。
15.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至12任意一项所述多机器人的运动调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/093757 WO2024007731A1 (zh) | 2022-05-26 | 2023-05-12 | 多机器人的运动调度方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210581586 | 2022-05-26 | ||
CN202210581586X | 2022-05-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115220447A true CN115220447A (zh) | 2022-10-21 |
Family
ID=83610905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210780024.8A Pending CN115220447A (zh) | 2022-05-26 | 2022-07-04 | 多机器人的运动调度方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115220447A (zh) |
WO (1) | WO2024007731A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117325185A (zh) * | 2023-11-27 | 2024-01-02 | 成都越凡创新科技有限公司 | 移动机器人解死锁的方法及调度设备 |
WO2024007731A1 (zh) * | 2022-05-26 | 2024-01-11 | 北京极智嘉科技股份有限公司 | 多机器人的运动调度方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603212B2 (en) * | 2006-03-30 | 2009-10-13 | Honeywell International, Inc. | Real time planning and scheduling for a team of unmanned vehicles |
DE102016211129A1 (de) * | 2016-06-22 | 2017-12-28 | Kuka Roboter Gmbh | Verfahren zum Überprüfen einer Kollision zwischen zwei fahrerlosen Transportfahrzeugen, fahrerloses Transportfahrzeug und System mit mehreren fahrerlosen Transportfahrzeugen |
CN111727414B (zh) * | 2018-12-27 | 2023-09-15 | 配天机器人技术有限公司 | 机器人控制方法、控制系统、机器人和存储装置 |
CN109991977B (zh) * | 2019-03-04 | 2022-04-29 | 斯坦德机器人(深圳)有限公司 | 机器人的路径规划方法及装置 |
CN110531773A (zh) * | 2019-09-12 | 2019-12-03 | 北京极智嘉科技有限公司 | 机器人路径调度方法、装置、服务器及存储介质 |
US11420630B2 (en) * | 2019-10-24 | 2022-08-23 | Zoox, Inc. | Trajectory modifications based on a collision zone |
CN115220447A (zh) * | 2022-05-26 | 2022-10-21 | 北京极智嘉科技股份有限公司 | 多机器人的运动调度方法及装置 |
-
2022
- 2022-07-04 CN CN202210780024.8A patent/CN115220447A/zh active Pending
-
2023
- 2023-05-12 WO PCT/CN2023/093757 patent/WO2024007731A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024007731A1 (zh) * | 2022-05-26 | 2024-01-11 | 北京极智嘉科技股份有限公司 | 多机器人的运动调度方法及装置 |
CN117325185A (zh) * | 2023-11-27 | 2024-01-02 | 成都越凡创新科技有限公司 | 移动机器人解死锁的方法及调度设备 |
CN117325185B (zh) * | 2023-11-27 | 2024-04-09 | 成都越凡创新科技有限公司 | 移动机器人解死锁的方法及调度设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2024007731A1 (zh) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115220447A (zh) | 多机器人的运动调度方法及装置 | |
Raptis et al. | Data management in industry 4.0: State of the art and open challenges | |
CN110989582B (zh) | 基于路径预先占用的多agv自动避让式智能调度方法 | |
CN105354648B (zh) | Agv调度管理的建模及其优化方法 | |
CN111798041A (zh) | 一种基于时间窗的agv智能调度方法 | |
Vick et al. | Robot control as a service—towards cloud-based motion planning and control for industrial robots | |
CN111596658A (zh) | 一种多agv无碰撞运行的路径规划方法及调度系统 | |
CN109901578B (zh) | 一种控制多机器人的方法、装置及终端设备 | |
Spensieri et al. | An iterative approach for collision free routing and scheduling in multirobot stations | |
Liu et al. | Path planning and intelligent scheduling of multi-AGV systems in workshop | |
CN109648571A (zh) | 工业机器人的示教轨迹复现方法、系统及机器人 | |
Karlsson et al. | Multi-vehicle motion planning for social optimal mobility-on-demand | |
CN115981264A (zh) | 一种考虑冲突的agv调度与数量联合优化方法 | |
Chen et al. | A coordinated path planning algorithm for multi-robot in intelligent warehouse | |
CN116700298B (zh) | 路径规划方法、系统、设备及存储介质 | |
CN116892945A (zh) | 移动机器人路径死锁处理方法及装置 | |
Xu et al. | An efficient recharging task planning method for multi-robot autonomous recharging problem | |
US20220161429A1 (en) | Opportunistic information and inventory exchange via serendipitous encounters of autonomous mobile robots | |
Haiming et al. | Algorithm of path planning based on time window for multiple mobile robots in warehousing system | |
Fan et al. | Decentralized multi-robot collision avoidance algorithm based on RSSI | |
Nantabut et al. | Prioritized Anytime Dynamic A* Path Planning for Multi-Agent Vehicles in Heterogeneous Traffic | |
Weber et al. | Distributed Online Rollout for Multivehicle Routing in Unmapped Environments | |
Fischer et al. | Advanced wireless communication for industrial intra-logistics use cases | |
Basile et al. | A Colored Timed Petri Net model for a cyber-physical view of automated warehouse systems | |
NANTABUT¹ et al. | 224 34 Advances in Intelligent Traffic and Transportation Systems M. Shafik (Ed.) O 2023 The authors and IOS Press. This article is published online with Open Access by IOS Press and distributed under the terms of the Creative Commons Attribution Non-Commercial License 4.0 (CC BY-NC 4.0). |
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 |