CN116954168A - 用于多机器人的调度方法和装置以及计算机可读存储介质 - Google Patents
用于多机器人的调度方法和装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116954168A CN116954168A CN202310837057.6A CN202310837057A CN116954168A CN 116954168 A CN116954168 A CN 116954168A CN 202310837057 A CN202310837057 A CN 202310837057A CN 116954168 A CN116954168 A CN 116954168A
- Authority
- CN
- China
- Prior art keywords
- robot
- occupancy
- occupation
- floor
- avoidance point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32252—Scheduling production, machining, job shop
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本公开提供了用于多机器人的调度方法和装置以及计算机可读存储介质。一种用于多机器人的调度方法包括:向服务器发送机器人的占用状态数据,其中,占用状态数据指示机器人的占用标志的信息,占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;接收导航指令,其中,导航指令指示机器人要到达的目的地;以及响应于导航指令,基于机器人的占用状态数据来确定机器人要执行的操作。
Description
技术领域
本发明涉及自动控制技术领域和机器人智能调度机制领域,更具体地涉及用于多机器人的调度方法和装置以及计算机可读存储介质。
背景技术
近年来,随着人工智能技术的迅速发展以及市场的需求日益增大,配送服务机器人作为人工智能领域非常具有代表性的智能化设备和产品,已经在军事、工农业以及民用消费等领域广泛应用。在传感器感知能力、智能算法突破和计算能力不断提高的基础上,智能移动机器人已经能够在生产和生活中扮演越来越重要的角色。在大多数应用场景中,为了提高时效性,通常需要多个机器人跨楼层协作配送。例如,在酒店配送服务场景中,不同楼层不同房间的配送需要多个机器人进行运输等任务,这难免会遇到多个机器人在狭窄的过道相遇或者在空间不足的电梯里面相遇等情况,因此需要处理这些情况。这些机器人沿着各自的规划路径穿梭在多个不同的目的地之间,而当需要向已有机器人运行的场景中加入新机器人时,在没有调度系统控制的情况下,新加入的机器人的预设路径往往会与场景中已有的机器人发生冲突,导致原有场景下的机器人无法正常沿规划路径行驶,这会引起碰撞、剐蹭、互相阻挡甚至出现死锁问题,进而会使机器人陷入死循环而导致卡死不动、配送失败等问题。为了避免上述问题,多机器人协作调度机制的引入必不可少,特别是进一步满足跨楼层乘梯协作实际应用场景的多机协作调度机制的实现。但是,已有的多机调度方案存在以下问题:
1、现有的多机调度机制更多是考虑局部区域的避让机制,当多个机器人出现路径重叠并发生区域性拥堵时,通过导航避障功能模块实时性避障。机器人会需要更多的时间进行避让规划,大大增加了机器人的运行时间,这样在时效上会有滞后性,不能兼顾做到使多机器人协调工作的效率优化。
2、已有方案对产品的实际场景需求不能全覆盖,有很多局限性和不稳定性:
a)部署成本局限:调度算法管理服务器需要完成机器人状态信息收集、调度算法运行和调度指令的发布等,要求服务器具备很强的计算能力,因此服务器成本非常高;另外,考虑到机器人是移动型设备,所以调度服务器类型多选择云端服务器且机器人个体必须具备移动网络连接能力,通常采用搭载移动通信模块或场景内可以连通因特网的局域网作为中继节点,这也会增加用户场景下的信息安全风险。
b)通信负载和通信质量局限:已有调度算法中大部分需要采集非常庞大的机器人当前状态信息且采集频率非常高,这样会直接增大服务器与机器人间的通信数据量,使调度指令存在传输延迟的风险,进而使调度方案失效。通信复杂也进一步增大调度系统对无线网络质量的依赖,一旦机器人进入某个通信不稳定的区域,很容易导致调度失效,进而发生碰撞或死锁。
c)算法功能局限:已有的调度算法并不完善,只解决了机器人间相互剐蹭、碰撞的问题,没有进一步考虑跨楼层配送时在避让空间不足的电梯里面机器人如何调度避让,同样制约了场景任务的执行,这也是多机调度系统亟待解决的关键问题。
发明内容
鉴于以上所述的一个或多个问题,本公开提供了一种用于多机器人的调度方法和装置以及计算机可读存储介质。
根据本公开的实施例的一方面,提供了一种用于多机器人的调度方法,所述方法包括:向服务器发送机器人的占用状态数据,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;接收导航指令,其中,所述导航指令指示所述机器人要到达的目的地;以及响应于所述导航指令,基于所述机器人的占用状态数据来确定所述机器人要执行的操作。
根据本公开的实施例的另一方面,提供了一种用于多机器人的调度方法,所述方法包括:接收机器人的占用状态数据以用于存储在服务器的数据库中,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;接收来自所述机器人的占用请求;以及响应于所述占用请求,基于所述服务器的数据库中存储的包括所述机器人的一个或多个机器人的占用状态数据来向所述机器人发送占用响应。
根据本公开的实施例的一方面,提供了一种用于多机器人的调度装置,所述装置包括:发送模块,用于向服务器发送机器人的占用状态数据,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;接收模块,用于接收导航指令,其中,所述导航指令指示所述机器人要到达的目的地;以及确定模块,用于响应于所述导航指令,基于所述机器人的占用状态数据来确定所述机器人要执行的操作。
根据本公开的实施例的一方面,提供了一种用于多机器人的调度装置,所述装置包括:接收模块,用于:接收机器人的占用状态数据以用于存储在服务器的数据库中,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;以及接收来自所述机器人的占用请求;以及发送模块,用于响应于所述占用请求,基于所述服务器的数据库中存储的包括所述机器人的一个或多个机器人的占用状态数据来向所述机器人发送占用响应。
根据本公开的实施例的一方面,提供了一种存储有代码的计算机可读存储介质,所述代码在由处理电路执行时使得所述处理电路实现如上所述的方法。
根据本公开的实施例的用于多机器人的调度方法和装置以及计算机可读存储介质综合考虑和解决了多机器人协作调度的各种实际应用场景情况,包括同楼层窄道避让调度和跨楼层乘梯调度等问题。在根据本公开的实施例的用于多机器人的调度方法和装置中,服务器和机器人之间采用非常轻量级的数据交互。机器人定时地或在机器人的占用状态有切换时将本体的楼层占用、电梯占用和楼层避让点占用等比特量级的数据上传到服务器,服务器负责多机器人的数据收集、数据库数据同步和综合状态数据下发等操作。这样大大降低了服务器与机器人间的通信数据量,减少了调度指令存在传输延迟的风险,进而使调度方案实效性更好、稳定性更强。机器人本体担当跨楼层多机器人协作调度方法的决策角色,在接收到导航任务后机器人主动发起调度请求并做出决策,为后续实现个体化智能调度提供了方法和机制基础。
附图说明
在不一定按比例绘制的附图中,相似的数字可以在不同的视图中描述相似的组件。具有不同字母后缀的相似数字可以表示相似组件的不同实例。在附图的各图中,通过示例而非限制的方式示出了一些实施例,其中:
图1示出了根据本公开的一个实施例的用于多机器人的调度方法的流程示意图;
图2示出了根据本公开的另一实施例的用于多机器人的调度方法的流程示意图;
图3示出了根据本公开的另一实施例的用于多机器人的调度方法的流程示意图;
图4示出了根据本公开的另一实施例的用于多机器人的调度方法的流程示意图;
图5示出了根据本公开的一个实施例的用于多机器人的调度装置的结构示意图;以及
图6示出了根据本公开的另一实施例的用于多机器人的调度装置的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
如前所述,鉴于现有的机器人调度技术中存在的一个或多个问题,提出了根据本发明的用于多机器人的调度方法和装置以及计算机可读存储介质。主要方法是通过对楼层占用、电梯占用、避让点占用等公共调度信息进行数据管理和同步,提出了一种唯一占用机制,能有效得实现某楼层某时刻只有一台机器人占用、某电梯某时刻只有一台机器人在乘梯使用的调度方案,因此能够从根本上解决在应用过程中由于碰撞、剐蹭、互相阻挡而引发的死锁,进而最终使机器人陷入死循环而导致卡死不动、配送失败等问题。
图1示出了根据本公开的一个实施例的用于多机器人的调度方法100的流程示意图。如图1所示,用于多机器人的调度方法100可以应用于机器人中,并且可以包括步骤110、步骤120、以及步骤130。
在步骤110,向服务器发送机器人的占用状态数据,其中,占用状态数据指示该机器人的占用标志的信息,占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志。
根据本公开的一个实施例,楼层占用标志可以用于标识调度区域的楼层的占用状态,电梯占用标志可以用于标识调度区域内的电梯的占用状态,并且避让点占用标志可以用于标识调度区域的楼层中预设的避让点的占用状态。
根据本公开的一个实施例,机器人的占用状态数据可以包括以下项中的至少一者:机器人的楼层占用标志的信息,用于指示机器人对楼层的占用情况;机器人的电梯占用标志的信息,用于指示机器人对电梯的占用情况;以及机器人的避让点占用标志的信息,用于指示机器人对避让点的占用情况。
根据本公开的一个实施例,针对调度区域的每个楼层:避让点可以包括第一避让点和第二避让点,避让点占用标志可以包括第一避让点占用标志和第二避让点占用标志,第一避让点占用标志可以用于标识第一避让点的占用状态,第二避让点占用标志可以用于标识第二避让点的占用状态,第一避让点标识在该楼层被占用时供期望占用该楼层的其他机器人避让等待的位置,并且第二避让点标识在无空闲电梯可用时供期望占用电梯的机器人避让等待的位置。
机器人本体可以存储调度区域的每个楼层的导航地图、各种特殊位置点的信息(例如,在乘梯过程中需要进行楼层间地图切换时两个地图相交的定位点的位姿信息、以及每个楼层设定的固定的1号避让点和2号避让点的位姿信息等)、以及机器人本体自身在调度系统内的楼层占用、电梯占用、1号避让点占用和和2号避让点占用等占用信息。
每个楼层的导航地图可以指经由例如即时定位与地图构建(SLAM)建图创建的导航地图,包括空旷区域信息和障碍物区域信息。机器人可以通过导航地图实现自身定位和导航。
在乘梯过程中需要进行楼层间地图切换时两个地图相交的定位点位姿信息可以指两个楼层的地图相交的重叠点的位姿信息,例如定义为电梯内的位置点,这可用于在乘梯过程中切换地图时实现机器人的准确重定位。
每个楼层设定的固定的1号避让点和2号避让点的位姿信息可以指在每个楼层的地图上预设的2个可以让机器人在执行调度过程中避让其他机器人的点位。作为示例,1号避让点是机器人从电梯出来后用于避让其他机器人的位置点。当机器人从电梯出来后发现当前楼层已经有其他机器人在占用时,机器人可以发出导航到1号避让点的指令以执行避让操作。作为示例,2号避让点是机器人在跨楼层导航时发现没有空闲电梯可以使用时用于避让其他机器人的位置点。当机器人在占用当前楼层且要去乘梯时发现没用空闲电梯可以使用时,可以发出导航到2号避让点的指令以执行避让操作。
机器人本体自身在调度系统内的楼层占用标志可以指示具有唯一性的机器人是否已经占据某楼层的导航权。作为示例,机器人的楼层占用标志的值为0可以表示该机器人没有占用任何楼层,非0则可以表示占用了标识符与该非0值对应的楼层,例如,如果机器人的楼层占用标志的值为3,则可以表示该机器人占用了3楼。机器人本体自身在调度系统内的电梯占用标志可以指示具有唯一性的机器人是否已经占据某个电梯的使用权。作为示例,机器人的电梯占用标志的值为0可以表示该机器人没有占用任何电梯,非0则可以表示占用了标识符与该非0值对应的电梯,例如,如果机器人的电梯占用标志的值为2,则可以表示该机器人占用了2号电梯。机器人本体自身在调度系统内的1号避让点占用标志可以指具有唯一性的机器人是否已经占据某个楼层的1号避让点的使用权。作为示例,机器人的1号避让点占用标志的值为0可以表示该机器人没有占用任何楼层的1号避让点,非0则可以表示占用了标识符与该非0值对应的楼层的1号避让点,例如,如果机器人的1号避让点占用标志的值为4,则可以表示该机器人占用了4楼的1号避让点。
根据本公开的一个实施例,向服务器发送机器人的占用状态数据可以包括:定期地向服务器发送器人的占用状态数据,或者在机器人的占用状态数据发生改变时向服务器发送机器人的占用状态数据。
机器人定时上报或者在自身楼层占用、电梯占用、1号避让点占用信息发生改变时主动上报自身状态数据是指机器人将上述用于实现调度的判决条件信息上报到服务器,服务器收集来自各个机器人的这些占用状态数据并存储到数据库的数据中以进行同步,并在接收到机器人的占用请求指令后基于数据库中存储的数据来确定是否允许该占用请求的操作(即是否允许机器人占用楼层、电梯或避让点)并将针对该占用请求的占用响应指令下发给机器人。
在步骤120,接收导航指令,其中,导航指令指示机器人要到达的目的地。
在步骤130,响应于在步骤120所接收到的导航指令,基于机器人的占用状态数据来确定机器人要执行的操作。
根据本公开的一个实施例,响应于在步骤120所接收到的导航指令,基于机器人的占用状态数据来确定机器人要执行的操作可以包括:基于导航指令所指示的目的地以及机器人的占用状态数据,确定机器人要执行导航操作以用于使机器人直接导航到目的地。
根据本公开的一个实施例,响应于在步骤120所接收到的导航指令,基于机器人的占用状态数据来确定机器人要执行的操作可以包括:基于导航指令所指示的目的地以及机器人的占用状态数据,向服务器发送占用请求;接收来自服务器的占用响应,其中,占用响应基于服务器的数据库中存储的包括该机器人在内的一个或多个机器人的占用状态数据;以及基于接收到的占用响应,确定该机器人要执行以下操作中的一者:导航操作,用于使该机器人导航到目的地或者调度区域内的电梯的乘梯处;避让操作,用于使该机器人导航到调度区域的楼层中预设的避让点;以及等待操作,用于使该机器人原地等待。
根据本公开的一个实施例,占用请求可以包括以下项中的至少一者:楼层占用请求、电梯占用请求、以及避让点占用请求。
机器人本体在接收到导航指令后向服务器发起楼层占用请求、乘梯占用请求、1号避让点占用请求等指令,并根据服务器的占用请求结果指令来确定下一步的操作,例如确定要直接导航还是避让等待。
根据用于多机器人的调度方法100,机器人本体存储调度区域的每个楼层的导航地图、在乘梯楼层间切换地图时两个地图相交的定位点位姿信息、每个楼层设定的固定的1号避让点和2号避让点的位姿信息、以及机器人本体自身在调度系统内的楼层占用、电梯占用、1号避让点占用标志;机器人定时上报或者在自身楼层占用、电梯占用、1号避让点占用信息发生改变时主动上报自身状态数据;在接收到导航指令后机器人本体向服务器发起楼层占用请求、乘梯占用请求、1号避让点占用请求等指令;服务器负责对多机器人的占用状态数据进行收集、将收集到的数据存储到数据库进行同步、并在接收到机器人的占用请求指令时基于数据库数据判断是否允许占用操作并将占用请求结果指令下发给机器人;机器人根据服务器的占用请求结果指令来决定下一步执行直接导航还是避让等待的操作。通过以上闭环步骤的交互实现跨楼层多机器人协作调度功能,极大简化了调度系统的复杂性,提高了调度时效性,并且提高了调度效率。
根据本公开的实施例的用于多机器人的调度方法100可以在一个或多个模块中作为存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存之类的机器或计算机可读存储介质中的逻辑指令集实现;在诸如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)之类的可配置逻辑中实现;在使用诸如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术之类的电路技术的固定功能逻辑硬件中实现;或者在其任意组合中实现。
图2示出了根据本公开的一个实施例的用于多机器人的调度方法200的流程示意图。如图2所示,用于多机器人的调度方法200可以应用于服务器中,并且可以包括步骤210、步骤220、以及步骤230。
在步骤210,接收机器人的占用状态数据以用于存储在服务器的数据库中,其中,占用状态数据指示该机器人的占用标志的信息,占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志。
根据本公开的一个实施例,楼层占用标志可以用于标识调度区域的楼层的占用状态,电梯占用标志可以用于标识调度区域内的电梯的占用状态,并且避让点占用标志可以用于标识调度区域的楼层中预设的避让点的占用状态。
根据本公开的一个实施例,机器人的占用状态数据可以包括以下项中的至少一者:机器人的楼层占用标志的信息,用于指示机器人对楼层的占用情况;机器人的电梯占用标志的信息,用于指示机器人对电梯的占用情况;以及机器人的避让点占用标志的信息,用于指示机器人对避让点的占用情况。
根据本公开的一个实施例,针对调度区域的每个楼层:避让点可以包括第一避让点和第二避让点,避让点占用标志可以包括第一避让点占用标志和第二避让点占用标志,第一避让点占用标志可以用于标识第一避让点的占用状态,第二避让点占用标志可以用于标识第二避让点的占用状态,第一避让点标识在该楼层被占用时供期望占用该楼层的其他机器人避让等待的位置,并且第二避让点标识在无空闲电梯可用时供期望占用电梯的机器人避让等待的位置。
在步骤220,接收来自该机器人的占用请求。
根据本公开的一个实施例,占用请求可以包括以下项中的至少一者:楼层占用请求、电梯占用请求、以及避让点占用请求。
在步骤230,响应于占用请求,基于服务器的数据库中存储的包括该机器人的一个或多个机器人的占用状态数据来向该机器人发送占用响应。
服务器收集来自各个机器人的占用状态数据并存储到数据库中以进行同步,并在接收到机器人的占用请求指令后基于数据库中存储的占用状态数据来确定是否允许该占用请求的操作(即是否允许机器人占用楼层、电梯或避让点)并将针对该占用请求的占用响应指令下发给机器人。
结合图2所述的根据本公开的实施例的用于多机器人的调度方法200的其它细节可以参照如上结合图1所详细描述的本公开的实施例,为了简洁起见,将不再重复赘述某些细节。
根据本公开的实施例的用于多机器人的调度方法200可以在一个或多个模块中作为存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存之类的机器或计算机可读存储介质中的逻辑指令集实现;在诸如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)之类的可配置逻辑中实现;在使用诸如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术之类的电路技术的固定功能逻辑硬件中实现;或者在其任意组合中实现。
图3示出了根据本公开的另一实施例的用于多机器人的调度方法的流程示意图。该方法可以应用于机器人中。例如,该方法可以由一种用于多机器人的路径调度装置来执行,并且该装置可以配置于多个机器人中。图3示出了用于多机器人的同楼层调度的路径调度方法的流程图。
如图3所示,机器人在接收到导航到目标点的导航指令后,可以判断导航到导航指令所指示的目标点是否涉及跨楼层调度。在不涉及跨楼层调度的情况下,即在同楼层调度的情况下,可以基于机器人的占用状态数据确定机器人是否已经占用当前楼层。如果机器人的占用状态数据表明机器人已经占用当前楼层,则机器人可以直接导航到目标点。如果机器人的占用状态数据表明机器人未占用当前楼层,则可以进一步判断机器人是否已经占用当前楼层的1号避让点。如果机器人已经占用当前楼层的1号避让点,则不断查询等待当前楼层是否空闲,在查询到当前楼层空闲后则向服务器发送当前楼层占用请求。在成功占用当前楼层后,可以清除当前楼层的1号避让点占用,并且执行导航操作以导航到目标点。如果机器人没有占用当前楼层的1号避让点,则不断查询等待当前楼层是否空闲以及当前楼层的1号避让点是否空闲,在查询到当前楼层以及当前楼层的1号避让点空闲后则向服务器发送当前楼层占用请求。在成功占用当前楼层后,进一步判断机器人是否已占用电梯,如果有占用则清除释放电梯占用后执行导航操作以导航到目标点。在导航到达目标点后,可以判断目标点是否为原点或充电点,如果是,则清除当前楼层占用,并且导航结束。
图4示出了根据本公开的另一实施例的用于多机器人的调度方法的流程示意图。该方法可以应用于机器人中。例如,该方法可以由一种用于多机器人的路径调度装置来执行,并且该装置可以配置于多个机器人中。图4示出了用于多机器人的跨楼层调度的路径调度方法的流程图。
如图4所示,机器人在接收到导航到目标点的导航指令后,可以判断导航到导航指令所指示的目标点是否涉及跨楼层调度。在涉及跨楼层调度的情况下,可以基于机器人的占用状态数据确定机器人是否已经占用当前楼层。如果机器人的占用状态数据表明机器人已经占用当前楼层,则可以进一步判断电梯是否空闲以及目标楼层1号避让点是否空闲,如果没有空闲则需要执行避让机制,将机器人导航到当前楼层的2号避让点,然后不断查询等待电梯是否空闲以及目标楼层1号避让点是否空闲。在电梯空闲并且目标楼层1号避让点空闲后则可以发送电梯占用请求,并且可以在成功占用电梯后执行导航操作以导航到乘电梯等待点(即乘梯处)去搭乘目标电梯。而如果机器人没有占用当前楼层,则可以进一步判断机器人是否已占用当前楼层的1号避让点,如果已占用则可以进一步判断目标楼层1号避让点是否空闲,如果空闲则执行导航操作以导航到乘电梯等待点去搭乘目标电梯。而如果机器人没有占用当前楼层1号避让点,则需要不断查询等待当前楼层是否空闲、电梯是否空闲以及目标楼层1号避让点是否空闲。当三个占用状态都满足空闲状态后则发送电梯占用请求和当前楼层占用请求,在占用成功后可以执行导航操作去搭乘目标电梯。
作为示例,在导航到达乘电梯等待点后,可以判断机器人是否占用当前楼层和占用当前楼层1号避让点,如果有则清除该占用状态,如图4的流程图中所示。作为另一示例,在电梯到达当前楼层后,机器人执行导航进电梯操作,如果能顺利完成进电梯操作,则可以判断机器人是否占用当前楼层和占用当前楼层1号避让点,如果有则清除该占用状态。如果因为遮挡或者其他异常原因机器人无法完成进电梯操作,则可以发送当前楼层1号避让点占用请求,在占用成功后可以导航到当前楼层1号避让点等待。在等待预设时段(例如,时长为10s或30s)后再次回到判断目标楼层1号避让点是否空闲的流程。
如果机器人顺利进入电梯则发送目标楼层呼梯指令,当到达目标楼层后则执行导航出电梯操作,如果顺利出电梯则发送目标楼层占用请求,如果成功占用目标楼层则可以执行导航操作以导航到目标点。如果目标楼层占用失败,则可以导航到目标楼层的1号避让点,然后不断查询等待目标楼层是否空闲,在目标楼层空闲后可以发送目标楼层占用请求,如果成功占用则可以执行导航操作以导航到目标点。在导航到达目标点后可以判断目标点是否为原点或充电点,如果是则清除目标楼层占用。
可以理解的是,如上所述的流程示意图中用于多机器人的调度方法可以包括更多或更少的步骤,并且如上所述的流程示意图中所示的方法步骤可以按不同于所示的顺序执行,本公开对此不进行限制。
图5示出了根据本公开的一个实施例的用于多机器人的调度装置300的结构示意图。如图5所示,根据本公开的一个实施例的用于多机器人的调度装置500可以用于机器人中,并且可以包括发送模块510、接收模块520以及确定模块530。
发送模块510用于向服务器发送机器人的占用状态数据,其中,占用状态数据指示该机器人的占用标志的信息,占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志。
根据本公开的一个实施例,发送模块510用于:定期地向服务器发送器人的占用状态数据,或者在机器人的占用状态数据发生改变时向服务器发送机器人的占用状态数据。
根据本公开的一个实施例,楼层占用标志可以用于标识调度区域的楼层的占用状态,电梯占用标志可以用于标识调度区域内的电梯的占用状态,并且避让点占用标志可以用于标识调度区域的楼层中预设的避让点的占用状态。
根据本公开的一个实施例,机器人的占用状态数据可以包括以下项中的至少一者:机器人的楼层占用标志的信息,用于指示机器人对楼层的占用情况;机器人的电梯占用标志的信息,用于指示机器人对电梯的占用情况;以及机器人的避让点占用标志的信息,用于指示机器人对避让点的占用情况。
根据本公开的一个实施例,针对调度区域的每个楼层:避让点可以包括第一避让点和第二避让点,避让点占用标志可以包括第一避让点占用标志和第二避让点占用标志,第一避让点占用标志可以用于标识第一避让点的占用状态,第二避让点占用标志可以用于标识第二避让点的占用状态,第一避让点标识在该楼层被占用时供期望占用该楼层的其他机器人避让等待的位置,并且第二避让点标识在无空闲电梯可用时供期望占用电梯的机器人避让等待的位置。
接收模块520用于接收导航指令,其中,导航指令指示机器人要到达的目的地。
确定模块530用于响应于导航指令,基于机器人的占用状态数据来确定机器人要执行的操作。
根据本公开的一个实施例,确定模块530用于:基于导航指令所指示的目的地以及机器人的占用状态数据,确定机器人要执行导航操作以用于使机器人直接导航到目的地。
根据本公开的一个实施例,确定模块530用于:基于导航指令所指示的目的地以及机器人的占用状态数据,向服务器发送占用请求;接收来自服务器的占用响应,其中,占用响应基于服务器的数据库中存储的包括该机器人在内的一个或多个机器人的占用状态数据;以及基于接收到的占用响应,确定该机器人要执行以下操作中的一者:导航操作,用于使该机器人导航到目的地或者调度区域内的电梯的乘梯处;避让操作,用于使该机器人导航到调度区域的楼层中预设的避让点;以及等待操作,用于使该机器人原地等待。
根据本公开的一个实施例,占用请求可以包括以下项中的至少一者:楼层占用请求、电梯占用请求、以及避让点占用请求。
图6示出了根据本公开的一个实施例的用于多机器人的调度装置600的结构示意图。如图6所示,根据本公开的一个实施例的用于多机器人的调度装置600可以用于服务器中,并且可以包括接收模块610以及发送模块620。
接收模块610用于:接收机器人的占用状态数据以用于存储在服务器的数据库中,其中,占用状态数据指示该机器人的占用标志的信息,占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;以及接收来自该机器人的占用请求。
根据本公开的一个实施例,楼层占用标志可以用于标识调度区域的楼层的占用状态,电梯占用标志可以用于标识调度区域内的电梯的占用状态,并且避让点占用标志可以用于标识调度区域的楼层中预设的避让点的占用状态。
根据本公开的一个实施例,机器人的占用状态数据可以包括以下项中的至少一者:机器人的楼层占用标志的信息,用于指示机器人对楼层的占用情况;机器人的电梯占用标志的信息,用于指示机器人对电梯的占用情况;以及机器人的避让点占用标志的信息,用于指示机器人对避让点的占用情况。
根据本公开的一个实施例,针对调度区域的每个楼层:避让点可以包括第一避让点和第二避让点,避让点占用标志可以包括第一避让点占用标志和第二避让点占用标志,第一避让点占用标志可以用于标识第一避让点的占用状态,第二避让点占用标志可以用于标识第二避让点的占用状态,第一避让点标识在该楼层被占用时供期望占用该楼层的其他机器人避让等待的位置,并且第二避让点标识在无空闲电梯可用时供期望占用电梯的机器人避让等待的位置。
发送模块620用于响应于来自该机器人的占用请求,基于服务器的数据库中存储的包括该机器人在内的一个或多个机器人的占用状态数据来向该机器人发送占用响应。
根据本公开的一个实施例,占用请求可以包括以下项中的至少一者:楼层占用请求、电梯占用请求、以及避让点占用请求。
结合图5和图6所述的根据本公开的实施例的用于多机器人的调度装置500和600的其它细节可以参照如上结合图1至图4所详细描述的本公开的实施例,为了简洁起见,将不再重复赘述某些细节。可以理解的是,如上所述的结构和流程示意图中所示的功能块和方法步骤可以实现为硬件、软件、固件或者它们的组合。
根据本公开的实施例的用于多机器人的调度方法和装置以及计算机可读存储介质,服务器负责对多机器人的占用状态数据进行收集,并将收集的数据存储到数据库中进行同步,并且在接收到机器人的占用请求指令后基于数据库中存储的数据判断是否允许占用操作并将占用响应结果指令下发给机器人。本发明所提出的调度系统采用CS架构(即服务器+客户端架构),服务器为单独架设的计算终端,客户端为机器人个体。该整个调度系统可以由客户端程序和服务器程序构成。服务器程序可以部署在云端或运行场景的客户机上。当服务器部署在云端时,需要机器人配备移动通信模块与云端服务器建立通信链路;当服务器部署在本地时,需要机器人搭载Wifi模块并与服务器连入同一局域网,此时并不需要该局域网具备因特网连接。
根据本公开的实施例的用于多机器人的调度方法和装置以及计算机可读存储介质综合考虑和解决了多机器人协作调度的各种实际应用场景情况,包括同楼层窄道避让调度和跨楼层乘梯调度等问题。在根据本公开的实施例的用于多机器人的调度方法和装置中,服务器和机器人之间采用非常轻量级的数据交互。机器人定时地或在机器人的占用状态有切换时将本体的楼层占用、电梯占用和楼层避让点占用等比特量级的数据上传到服务器,服务器负责多机器人的数据收集、数据库数据同步和综合状态数据下发等操作。这样大大降低了服务器与机器人间的通信数据量,减少了调度指令存在传输延迟的风险,进而使调度方案实效性更好、稳定性更强。机器人本体担当跨楼层多机器人协作调度方法的决策角色,在接收到导航任务后机器人主动发起调度请求并做出决策,为后续实现个体化智能调度提供了方法和机制基础。
出于图示和描述的目的给出了前面的描述。不意在是穷尽性的或者将本发明限制到所公开的精确形式。根据以上教导,很多变形和变化是可能的。另外,应该注意的是,前面提到的替代实施例中的任意实施例或所有实施例可以用在形成本发明的附加混合实施例所需要的任意组合中。
另外,尽管已经描述并示出了本发明的具体实施例,但是本发明不限于所描述和示出的部分的具体形式或布置。本发明的范围由所附权利要求、在不同申请中递交的任何未来的权利要求、以及它们的等同物限定。
Claims (16)
1.一种用于多机器人的调度方法,所述方法包括:
向服务器发送机器人的占用状态数据,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;
接收导航指令,其中,所述导航指令指示所述机器人要到达的目的地;以及
响应于所述导航指令,基于所述机器人的占用状态数据来确定所述机器人要执行的操作。
2.根据权利要求1所述的方法,其中,响应于所述导航指令,基于所述机器人的占用状态数据来确定所述机器人要执行的操作包括:
基于所述目的地以及所述机器人的占用状态数据,确定所述机器人要执行导航操作以用于使所述机器人直接导航到所述目的地。
3.根据权利要求1所述的方法,其中,响应于所述导航指令,基于所述机器人的占用状态数据来确定所述机器人要执行的操作包括:
基于所述目的地以及所述机器人的占用状态数据,向所述服务器发送占用请求;
接收来自所述服务器的占用响应,其中,所述占用响应基于所述服务器的数据库中存储的包括所述机器人的一个或多个机器人的占用状态数据;以及
基于所述占用响应,确定所述机器人要执行以下操作中的一者:
导航操作,用于使所述机器人导航到所述目的地或者所述调度区域内的电梯的乘梯处;
避让操作,用于使所述机器人导航到所述调度区域的楼层中预设的避让点;以及
等待操作,用于使所述机器人原地等待。
4.根据权利要求3所述的方法,其中,所述占用请求包括以下项中的至少一者:楼层占用请求、电梯占用请求、以及避让点占用请求。
5.根据权利要求1所述的方法,其中,向服务器发送机器人的占用状态数据包括:
定期地向所述服务器发送所述机器人的占用状态数据;或者
在所述机器人的占用状态数据发生改变时向所述服务器发送所述机器人的占用状态数据。
6.根据权利要求1所述的方法,其中,所述楼层占用标志用于标识调度区域的楼层的占用状态,所述电梯占用标志用于标识所述调度区域内的电梯的占用状态,并且所述避让点占用标志用于标识所述调度区域的楼层中预设的避让点的占用状态。
7.根据权利要求6所述的方法,其中,所述机器人的占用状态数据包括以下项中的至少一者:
所述机器人的所述楼层占用标志的信息,用于指示所述机器人对所述楼层的占用情况;
所述机器人的所述电梯占用标志的信息,用于指示所述机器人对所述电梯的占用情况;以及
所述机器人的所述避让点占用标志的信息,用于指示所述机器人对所述避让点的占用情况。
8.根据权利要求6或7所述的方法,其中,针对所述调度区域的每个楼层:所述避让点包括第一避让点和第二避让点,所述避让点占用标志包括第一避让点占用标志和第二避让点占用标志,所述第一避让点占用标志用于标识所述第一避让点的占用状态,所述第二避让点占用标志用于标识所述第二避让点的占用状态,所述第一避让点标识在该楼层被占用时供期望占用该楼层的其他机器人避让等待的位置,并且所述第二避让点标识在无空闲电梯可用时供期望占用电梯的机器人避让等待的位置。
9.一种用于多机器人的调度方法,所述方法包括:
接收机器人的占用状态数据以用于存储在服务器的数据库中,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;
接收来自所述机器人的占用请求;以及
响应于所述占用请求,基于所述服务器的数据库中存储的包括所述机器人的一个或多个机器人的占用状态数据来向所述机器人发送占用响应。
10.根据权利要求9所述的方法,其中,所述占用请求包括以下项中的至少一者:楼层占用请求、电梯占用请求、以及避让点占用请求。
11.根据权利要求9所述的方法,其中,所述楼层占用标志用于标识调度区域的楼层的占用状态,所述电梯占用标志用于标识所述调度区域内的电梯的占用状态,并且所述避让点占用标志用于标识所述调度区域的楼层中预设的避让点的占用状态。
12.根据权利要求11所述的方法,其中,所述机器人的占用状态数据包括以下项中的至少一者:
所述机器人的所述楼层占用标志的信息,用于指示所述机器人对所述楼层的占用情况;
所述机器人的所述电梯占用标志的信息,用于指示所述机器人对所述电梯的占用情况;以及
所述机器人的所述避让点占用标志的信息,用于指示所述机器人对所述避让点的占用情况。
13.根据权利要求11或12所述的方法,其中,针对所述调度区域的每个楼层:所述避让点包括第一避让点和第二避让点,所述避让点占用标志包括第一避让点占用标志和第二避让点占用标志,所述第一避让点占用标志用于标识所述第一避让点的占用状态,所述第二避让点占用标志用于标识所述第二避让点的占用状态,所述第一避让点标识在该楼层被占用时供期望占用该楼层的其他机器人避让等待的位置,并且所述第二避让点标识在无空闲电梯可用时供期望占用电梯的机器人避让等待的位置。
14.一种用于多机器人的调度装置,所述装置包括:
发送模块,用于向服务器发送机器人的占用状态数据,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;
接收模块,用于接收导航指令,其中,所述导航指令指示所述机器人要到达的目的地;以及
确定模块,用于响应于所述导航指令,基于所述机器人的占用状态数据来确定所述机器人要执行的操作。
15.一种用于多机器人的调度装置,所述装置包括:
接收模块,用于:
接收机器人的占用状态数据以用于存储在服务器的数据库中,其中,所述占用状态数据指示所述机器人的占用标志的信息,所述占用标志包括以下项中的至少一者:楼层占用标志、电梯占用标志、以及避让点占用标志;以及
接收来自所述机器人的占用请求;以及
发送模块,用于响应于所述占用请求,基于所述服务器的数据库中存储的包括所述机器人的一个或多个机器人的占用状态数据来向所述机器人发送占用响应。
16.一种存储有代码的计算机可读存储介质,所述代码在由处理电路执行时使得所述处理电路实现如权利要求1到13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310837057.6A CN116954168A (zh) | 2023-07-07 | 2023-07-07 | 用于多机器人的调度方法和装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310837057.6A CN116954168A (zh) | 2023-07-07 | 2023-07-07 | 用于多机器人的调度方法和装置以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116954168A true CN116954168A (zh) | 2023-10-27 |
Family
ID=88452194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310837057.6A Pending CN116954168A (zh) | 2023-07-07 | 2023-07-07 | 用于多机器人的调度方法和装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116954168A (zh) |
-
2023
- 2023-07-07 CN CN202310837057.6A patent/CN116954168A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021254415A1 (zh) | 一种基于时间窗的agv智能调度方法 | |
JP6679091B2 (ja) | ナビゲーションシステムにおいて路側ナビゲーションユニットを切り替えるための方法、およびデバイス | |
Srivastava et al. | Development of an intelligent agent-based AGV controller for a flexible manufacturing system | |
CN111638717A (zh) | 一种分布式自主机器人交通协调机制的设计方法 | |
CN107204130A (zh) | 民用无人机空管系统及采用该系统实现对无人机进行飞行控制的方法 | |
CN109240251A (zh) | 分布式机器人的调度决策方法 | |
CN110255306B (zh) | 呼梯方法、系统、装置、服务器和存储介质 | |
CN103256931A (zh) | 无人机的可视导航系统 | |
CN112927543A (zh) | 一种车路协同自动驾驶方法、系统及车辆 | |
US20200073363A1 (en) | Method for coordinating and monitoring objects | |
WO2021197353A1 (zh) | 数据分流方法、装置、设备及介质 | |
CN109839928A (zh) | 无人车及其远距离防对撞方法、装置和系统 | |
US20220281106A1 (en) | Control platform, control system, service providing system, service providing method, and control method | |
CN110270998A (zh) | 机器人调度方法、电子设备和计算机可读存储介质 | |
US20190122157A1 (en) | Systems and methods for deploying groups of self-driving material-transport vehicles | |
EP3570133A1 (en) | Method and system for controlling a vehicle moving within an environment | |
CN114326621B (zh) | 一种基于分层架构的群体智能机场托运车调度方法和系统 | |
CN112702431B (zh) | 基于分布式边缘计算的工业移动设备定位系统及方法 | |
Sharma | Control classification of automated guided vehicle systems | |
CN116700298A (zh) | 路径规划方法、系统、设备及存储介质 | |
CN116954168A (zh) | 用于多机器人的调度方法和装置以及计算机可读存储介质 | |
US11829127B2 (en) | Opportunistic information and inventory exchange via serendipitous encounters of autonomous mobile robots | |
CN115790594A (zh) | 多类型机器人路径规划方法、装置、设备和存储介质 | |
CN116600944A (zh) | 移动机器人车队的安全网络 | |
Grosset et al. | Multi-agent simulation of autonomous industrial vehicle fleets: Towards dynamic task allocation in V2X cooperation mode |
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 |