CN113253736A - 多机器人调度方法及设备 - Google Patents
多机器人调度方法及设备 Download PDFInfo
- Publication number
- CN113253736A CN113253736A CN202110669492.3A CN202110669492A CN113253736A CN 113253736 A CN113253736 A CN 113253736A CN 202110669492 A CN202110669492 A CN 202110669492A CN 113253736 A CN113253736 A CN 113253736A
- Authority
- CN
- China
- Prior art keywords
- robot
- robots
- operation data
- scheduling
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003066 decision tree Methods 0.000 claims abstract description 22
- 238000001914 filtration Methods 0.000 claims description 40
- 230000033001 locomotion Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 abstract description 10
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 52
- 230000015654 memory Effects 0.000 description 15
- 230000003068 static effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 235000013305 food Nutrition 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 5
- 235000012054 meals Nutrition 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011065 in-situ storage Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003936 working memory Effects 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/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0289—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本发明的目的是提供一种多机器人调度方法及设备,本发明的服务器程序主要起到了共享运行数据的作用,负责向机器人个体收集和分发共享的机器人的运行数据包;机器人个体只有运行至调度区域内部时才会触发对应的调度策略的多机调度,多机调度的决策过程不由服务器发起,而是由机器人个体搭载的客户端程序独立完成,调度策略的依据可以为相应调度区域的预设决策树模型。本发明采用机器人与服务器之间采用轻量级的数据包格式进行运行信息交换,这样大大降低了由数据包过大和重发机制带来的通信负载。本发明的服务器可以设置在本地局域网,不需要连外网,以保证用户环境下的信息安全,服务器与机器人之间的交互通信量小。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种多机器人调度方法及设备。
背景技术
近年来,随着传感器技术和人工智能技术的迅速发展,服务机器人逐渐从实验室研究对象转化为可落地应用的智能产品。服务机器人在特定场景中代替人工完成高重复性、高风险的工作。其中,大场景下的多机器人联合应用是常见的落地场景之一,如送餐机器人、配送机器人等。由于这类应用场景存在机器人的传感器安装位置相同、传感器存在盲区限制、机器人个体在执行任务的过程中采用相互独立的路径规划方式等问题,导致多机器人在应用过程中会偶发碰撞、剐蹭、互相阻挡等问题。为了避免上述问题,多机器人调度方案必不可少,但是,已有的多机调度方案存在以下问题:
1.已有方案往往只适用于同构机器人群体(或者说同一公司的机器人产品),但是未来的机器人应用将会是一个多元化的应用场景,因此多机调度方案也应该支持异构机器人群体。
2.已有方案往往强依赖于集中式服务器,这种模式会产生如下瓶颈问题:
a)部署瓶颈:服务器需要承载所有调度算法,要求服务器具备很强的计算能力,因此服务器成本非常高;已有方案多选择云端作为调度服务器,此时要求机器人个体必须具备因特网连接能力,常见的解决方案为:第一,搭载移动通信模块,此时会进一步加大部署成本;第二,使用客户场景局域网作为因特网连接的中继节点,这样在对客户场景有强制要求的同时也会增加客户场景下的信息安全风险。
b)通信负载瓶颈:服务器执行的调度算法复杂,使调度指令比较冗长,会直接增大服务器与机器人间的通信量,使调度指令存在传输延迟的风险,进而使调度方案失效。如果此时使用场景局域网交换调度信息,更加会影响客户网络的正常数据传输,造成更加严重的影响。
c)算法瓶颈:已有的调度算法并不完善,只解决了机器人间相互剐蹭、碰撞的问题。但是由机器人间互相阻挡移动而引发的死锁问题会使机器人陷入死循环而停止执行任务,同样制约了场景任务的执行,也是多机调度***亟待解决的关键问题。
3.现有的方案的调度行为比较固定且不支持用户端的自定义开发,不利于定义特定用户场景下的机器人调度行为,无法满足用户场景下的智能化需求。
发明内容
本发明的一个目的是提供一种多机器人调度方法及设备。
根据本发明的一个方面,提供了一种多机器人调度方法,该方法包括:
在每个机器人上存储多个机器人的统一的待调度环境地图,其中,所述待调度环境地图中标注有若干个互不重叠的调度区域,每个调度区域对应一种机器人调度策略,所述调度策略用于确定机器人行为方式;
每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径;
每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式。
进一步的,上述方法中,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式之后,还包括:
每个机器人基于所述调度策略,将确定后的机器人自身的行为方式转化为该机器人自身的机器人移动原语。
进一步的,上述方法中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
步骤S21,所述服务器向每个机器人发送时钟同步信号;
步骤S22,每个机器人基于所述时钟同步信号将自身的运行数据发送给服务器,每个机器人发送的运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
步骤S23,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述服务器发送的运行数据包括机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳。
进一步的,上述方法中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,包括:
每个机器人将自身的运行数据发送给服务器,每个机器人发送的运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
所述服务器基于时间戳对接收到的各个机器人的运行数据进行第一次过滤,以过滤掉延迟时间较大的运行数据;
所述服务器将第一次过滤后剩下的各个机器人的运行数据作为第一次过滤运行数据广播给其他机器人,所述第一次过滤运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳。
进一步的,上述方法中,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的第一次过滤运行数据,所述第一次过滤运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
每个机器人基于时间戳对其他机器人的第一次过滤运行数据进行第二次过滤,过滤掉延迟时间较大的运行数据,以得到剩下的各个机器人的运行数据作为第二次过滤运行数据;
每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,该机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的第二次过滤运行数据,确定每个机器人自身的行为方式。
进一步的,上述方法中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
每个机器人将自身的运行数据发送给服务器,所述运行数据包括:机器人的ID、当前位姿和路径;
所述服务器根据各个机器人的ID确定对应的组号,所述服务器将每个机器人的运行数据广播给其他机器人,广播的每个机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人基于自身的运行数据确定当前自身所在的调度区域;
每个机器人根据自己的ID确定自己对应的组号,该机器人从广播的机器人的运行数据中过滤出与自己的机器人组号相同的其他机器人的运行数据;
该机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己的机器人组号相同的所有机器人的运行数据,确定机器人行为方式。
进一步的,上述方法中,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、当前位姿和路径;
每个机器人基于自身的运行数据确定当前自身所在的调度区域;
每个机器人基于各个机器人的ID确定自己和其他机器人分别对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的机器人组号相同的其他机器人的运行数据;
每个机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己机器人组号相同的所有机器人的运行数据,确定每个机器人自身的行为方式。
进一步的,上述方法中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
每个机器人将自身的运行数据发送给服务器,所述运行数据包括:机器人的ID、当前位姿和路径;
所述服务器根据每个机器人的当前位姿和路径确定每个机器人当前所在的分组区域,所述服务器基于每个机器人当前所在的分组区域和待调度环境地图确定每个机器人的ID对应的组号,所述服务器将每个机器人的运行数据广播给其他机器人,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人基于自身的当前位姿和路径和调度环境地图确定当前自身所在的调度区域和分组区域;
该机器人基于当前自身所在的分组区域确定自己对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的组号相同的其他机器人的运行数据;
每个机器人根据自身所在的调度区域对应的机器人调度策略和过滤出的与自己的组号相同的所有机器人的运行数据,确定机器人行为方式。
进一步的,上述方法中,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、当前位姿和路径;
每个机器人基于自身的运行数据确定当前自身所在的调度区域和分组区域;
每个机器人基于其他机器人的ID、当前位姿和路径和所述待调度环境地图,确定其他机器人当前所在的分组区域,每个机器人基于自身所在的分组区域确定自己的组号,每个机器人基于其他机器人当前所在的分组区域确定其他机器人分别对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的组号相同的其他机器人的运行数据;
每个机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己的组号相同的所有机器人的运行数据,确定每个机器人自身的行为方式。
进一步的,上述方法中,所述调度策略为决策树模型,所述决策树模型包括:机器人调度触发的条件、作为机器人行为方式的决策树叶子节点、机器人行为方式与机器人移动原语间的转化关系、以及各机器人的调度优先级。
根据本发明的另一方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
与现有技术相比,本发明所提出的调度***从以下几个方面解决了已有调度方案所存在的问题:
使用移动机器人原语与中间件的方式实现异构机器人上的调度策略封装与调度行为转译,使该发明可以适用于异构机器人群体。
本发明对调度服务器的计算性能要求低,只需其能够实现网络通信与消息转发的功能,可以部署在本地且不需要因特网连接,降低了信息安全风险。
本发明中机器人与服务器之间采用无连接的UDP协议和轻量级的数据包格式进行运行信息交换,这样大大降低了由数据包过大和重发机制带来的通信负载。本发明的服务器可以设置在本地局域网,不需要连外网,以保证用户环境下的信息安全;服务器与机器人之间的交互通信量小,可以只传输位姿、路径和时间戳等。
本发明采用决策树模型为用户提供调度策略的自定义开发,可以覆盖碰撞避免和死锁解决等多个调度需求。同时,基于时间戳(过滤信息)的集中式消息共享与分布式调度决策模式也能很好的降低由于网络环境带来的误调度问题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出本发明一实施例的一种多机器人调度方法的架构示意图;
图2示出本发明一实施例的多机器人调度体系架构图示意图;
图3示出本发明一实施例的多机器人调度的部署阶段流程图;
图4示出本发明一实施例的多机器人工作阶段执行流程图示意图;
图5示出本发明一实施例的双向通道调度区域可通行的情况的示意图;
图6示出本发明一实施例的双向通道调度区域为避免碰撞与剐蹭的需要调度的情况的示意图;
图7示出本发明一实施例的单向通道调度区域为避免互相阻挡引起的死锁问题需要调度的情况的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、 磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
本发明提供一种多机器人调度方法,包括:
步骤S1,在每个机器人上存储多个机器人的统一的待调度环境地图,其中,所述待调度环境地图中标注有若干个互不重叠的调度区域,每个调度区域对应一种机器人调度策略,所述调度策略用于确定机器人行为方式;
在此,每个调度区域属于一种对应的调度类型,每种调度类型对应一种机器人调度策略;
所述统一的待调度环境地图是多个机器人共用的待调度环境地图;
可以在统一的待调度环境地图上使用若干个多边形的方式标注出调度的区域及其调度类型;
调度类型可以是如图5~7所示的双向通道调度区域、单向通道调度区域或者栈通道充电桩调度区域,其中,
图5示出双向通道调度区域可通行的情况,机器人A(Robot A)和机器人B(RobotB)可以分别在两个通道上相向互不影响的相向通行;
图6示出双向通道调度区域为避免碰撞与剐蹭而需要调度的情况,机器人A(RobotA)和机器人B(Robot B)在单个通道上相向有影响的通行,需要进行避免碰撞与剐蹭的调度;
图7示出本发明单向通道调度区域为避免互相阻挡引起的死锁问题需要调度的情况,例如,图7中的单向通道,机器人A(Robot A)和机器人B(Robot B)在单个通道上相向有影响的通行,需要进行避免互相阻挡的调度,targetB所在的位置是单向通道内部的机器人充电站,targetA所在的位置是单向通道外部是机器人的工作点如送餐点、配送点等。
所述调度策略可以是调度决策树。可以为各个调度类型的多边型的调度区域建立并绑定对应的调度决策树,再同步至各机器人的运行逻辑中;
可以使用统一的地图模型(分辨率与坐标系相同的栅格地图)描述多机器人的统一的待调度环境地图,支持用户在地图模型中使用多边形的方式标注出需要进行多机调度的区域与类型;
步骤S2,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径;
步骤S3,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式。
在此,机器人行为方式可以如:原地附近移动以避让同一调度区域内的其他机器人、移动到调度点(空闲点)以避让同一调度区域内的其他机器人、继续通行或者原地等待等等。
本发明中,服务器程序主要起到了共享运行数据的作用,负责向机器人个体收集和分发共享的机器人的运行数据包;机器人个体只有运行至调度区域内部时才会触发对应的调度策略的多机调度,多机调度的决策过程不由服务器发起,而是由机器人个体搭载的客户端程序独立完成,调度策略的依据可以为相应调度区域的预设决策树模型。
具体的,如图1所示,本发明所提出的调度***采用CS架构(服务器--客户端架构),服务器为单独架设的计算终端,客户端为机器人个体。
各机器人在实际运行过程中,当其运行至某个调度区域内部时根据该调度区域的调度决策树执行对应的机器人行为方式。可以将某个调度区域内的所有机器人的运行数据输入调度决策树中,从而得到机器人行为方式。
为了解决已有多机调度方案的问题,本发明提出了一种低成本、易于部署、支持用户自定义调度策略(如决策树)且同时可适用于同构和异构多机器人群体的多机调度***。该***由客户端程序和服务器程序构成。其中,服务器程序可以部署在云端或运行场景的客户机上。其中,服务器部署在云端时,需要机器人配备移动通信模块与云端服务器建立通信链路;服务器部署在本地时,需要机器人搭载wifi模块并与服务器连入同一局域网,此时并不需要该局域网具备因特网连接;客户端程序使用UDP协议与服务器程序进行数据交互。
本发明的多机器人调度方法一实施例中,步骤S3,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式之后,还包括:
每个机器人基于所述调度策略,将确定后的机器人自身的行为方式转化为该机器人自身的机器人移动原语。
在此,本***的机器人上的客户端程序(步骤S1~步骤S3)在同构机器人群体中可以嵌入到各机器人的控制程序中,作为机器人移动控制的一部分;在异构机器人群体中则可以通过中间件的形式,将确定后的机器人行为方式转化为该机器人自身的机器人移动原语,以解决异构机器人个体对环境认知和运动控制方面的差异问题。
针对移动机器人个体来说,原地附近移动以避让同一调度区域内的其他机器人、移动到调度点(空闲点)以避让同一调度区域内的其他机器人、继续通行或者原地等待等等,是所有移动机器人产品都支持的基本的机器人移动原语,因此机器人上的客户端程序可以定义上述原语作为下发控制指令,以便统一异构机器人群体的调度行为。
本发明的多机器人调度方法一实施例中,步骤S2,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
步骤S21,如图2所示,所述服务器向每个机器人发送时钟同步信号;
步骤S22,每个机器人基于所述时钟同步信号将自身的运行数据发送给服务器,每个机器人发送的运行数据包括机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
步骤S23,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述服务器发送的运行数据包括机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳。
在此,在多机器人运行环境中搭建信息共享服务器,保证其可以与任一机器人进行实时信息交互。服务器可以使用NTP协议(实现时间同步)按频率向各机器人个体发起时间同步任务,使机器人群体内的时序一致。
交互过程如下:
a)各机器人可以实时发送自身的运行数据:机器人的当前位姿、路径、时间戳,所述运行数据发送频率可以在10HZ以上
b)信息共享的服务器可以实时接收源自各机器人个体的运行数据并整合转发给其他机器人;
c)机器人实时接收服务器发送的其他机器人个体的运行数据,进而机器人基于所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据确定接下来的机器人自身行为方式,比如:原地附近移动以避让同一调度区域内的其他机器人、移动到调度点(空闲点)以避让同一调度区域内的其他机器人、继续通行或者原地等待等等。
本发明的多机器人调度方法一实施例中,步骤S2,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,包括:
每个机器人将自身的运行数据发送给服务器,每个机器人发送的运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
所述服务器基于时间戳对接收到的各个机器人的运行数据进行第一次过滤,以过滤掉延迟时间较大的运行数据;
所述服务器将第一次过滤后剩下的各个机器人的运行数据作为第一次过滤运行数据广播给其他机器人,所述第一次过滤运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳。
在此,机器人的客户端程序负责与服务器端程序进行时间同步与信息交换,将机器人的运行数据实时同步到服务器端并同步接收服务器端共享的其它机器人的运行数据,所述服务器可以基于时钟同步信号对接收到的各个机器人的运行数据进行第一次过滤,以过滤掉延迟时间较大的运行数据,以过滤掉延迟较大(时间戳)的数据。
本发明的多机器人调度方法一实施例中,步骤S3,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的为第一次过滤运行数据,所述第一次过滤运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
每个机器人基于时间戳对其他机器人的第一次过滤运行数据进行第二次过滤,过滤掉延迟时间较大的运行数据,以得到剩下的各个机器人的运行数据作为第二次过滤运行数据;
每个机器人基于自身的运行数据确定当前自身所在的调度区域,该机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,该机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的第二次过滤运行数据确定机器人行为方式。
在此,机器人的客户端程序负责与服务器端程序进行时间同步与信息交换,将机器人的运行数据实时同步到服务器端并同步接收服务器端共享的其它机器人的运行数据,所述服务器可以基于时钟同步信号对接收到的各个机器人的运行数据进行第一次过滤,以过滤掉延迟时间较大的运行数据,所述服务器可以基于时钟同步信号对接收到的各个机器人的运行数据进行第一次过滤;每个机器人获取所述服务器广播的其他机器人的第一次过滤运行数据,并基于所述时钟同步信号对其他机器人的为第一次过滤运行数据进行第二次过滤,过滤掉延迟时间较大的运行数据,以得到剩下的各个机器人的运行数据作为第二次过滤运行数据,以过滤掉延迟较大(时间戳)的数据,最后生成可用数据进入调度决策。
另外,本发明还可以支持运行数据的分组分发模式,分组分发模式包括:静态分组和动态分组,以支持机器人群体进行动静态分组。
其中,静态分组需预设分组信息并同步到机器人端,分组信息包括:分组编号与对应的组内机器人编号等;
动态分组则按分组区域划分机器人组群并同步到机器人端,即同一分组区域内的机器人自动归为一组。例如,在某个分组区域内的机器人自动组成一组,机器人可以发组号和运行信息给服务器,便于移动到新的分组区域的机器人自动进入调度***。
本发明的多机器人调度方法一实施例中,步骤S2,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
步骤S211,每个机器人将自身的运行数据发送给服务器,所述运行数据包括:机器人的ID、当前位姿和路径;
在此,机器人的路径可以是作稀疏处理得到稀疏路径,以保证路径的数据量比较小;
步骤S212,所述服务器根据各个机器人的ID确定对应的组号,所述服务器将机器人的运行数据广播给其他机器人,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
步骤S3,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,该机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,该机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据确定机器人行为方式,包括:
步骤S311,每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
步骤S312,每个机器人基于自身的运行数据确定当前自身所在的调度区域;
步骤S313,该机器人根据自己的ID确定自己对应的组号,该机器人从广播的机器人的运行数据中过滤出与自己的机器人组号相同的其他机器人的运行数据;
步骤S314,该机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己的机器人组号相同的所有机器人的运行数据,确定机器人行为方式。
在此,同一应用场景可被划分为多个工作区域,如餐厅的中餐区、火锅区、西餐区等,不同的工作区域内都需要多机调度,静态分组适合应用于机器人和工作区域绑定的情况,即机器人只在固定区域工作;此时,静态分组就是根据机器ID将在固定工作区域工作的机器人划分为一组;将在同一固定工作区域内的机器人设置为同一组,设置相同的机器人组号。每个机器人可以根据组号过滤出需要的在同一固定工作区域的其他机器人的运行数据,这样一方面可以实现服务器群体广播所有机器人的运行数据,不需要按组配置不同的服务器,从而可以节省服务器;另一方面,机器人可以按组过滤同组的其他机器人的运行数据,根据组号每个机器人可以高效过滤不必要的运行数据。
本实施例中是静态服务器分组的第一种方式,分组信息即机器人ID与组号的对应关系可以预设在服务器端,机器人端只存储自身ID对应的组号,服务器根据接收的机器人的ID编辑对应组号并转发包含组号的其他机器人的运行数据。
本发明的多机器人调度方法一实施例中,步骤S3,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
步骤S321,每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、当前位姿和路径;
步骤S322,每个机器人基于自身的运行数据确定当前自身所在的调度区域;
步骤S323,每个机器人基于各个机器人的ID确定对应自己和其他机器人分别对应的组号,该机器人从广播的机器人的运行数据中过滤出与自己的机器人组号相同的其他机器人的运行数据;
步骤S324,每个机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己机器人组号相同的所有机器人的运行数据,确定每个机器人自身的行为方式。
在此,同一应用场景可被划分为多个工作区域,如餐厅的中餐区、火锅区、西餐区等,不同的工作区域内都需要多机调度,静态分组适合应用于机器人和工作区域绑定的情况,即机器人只在固定区域工作;此时,静态分组就是根据机器ID将在固定工作区域工作的机器人划分为一组;将在同一固定工作区域内的机器人设置为同一组,设置相同的机器人组号。每个机器人可以根据组号过滤出需要的在同一固定工作区域的其他机器人的运行数据,这样一方面可以实现服务器群体广播所有机器人的运行数据,不需要按组配置不同的服务器,从而可以节省服务器;另一方面,机器人可以按组过滤同组的其他机器人的运行数据,根据组号每个机器人可以高效过滤不必要的运行数据。
本实施例中是静态服务器分组的第二种方式,服务器只需转发机器人的ID、当前位姿和路径,分组信息即机器人的ID与组号的对应关系可以预设在每个机器人端,机器人自身根据运行数据中的机器人ID识别分组。
本发明的多机器人调度方法一实施例中,步骤S2,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
步骤S221,每个机器人将自身的运行数据发送给服务器,所述运行数据包括:机器人的ID、当前位姿和路径;
步骤S222,所述服务器根据每个机器人的当前位姿和路径,确定每个机器人当前所在的分组区域,所述服务器基于每个机器人当前所在的分组区域和待调度环境地图确定每个机器人的ID对应的组号,所述服务器将每个机器人的运行数据广播给其他机器人,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
在此,分组区域和调度区域是在所述待调度环境地图中标出的不同的区域,分组区域用于机器人的分组,调度区域用于对应器人调度策略,所述调度策略用于确定机器人行为方式;
步骤S3,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
步骤S331,每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
步骤S332,每个机器人基于自身的当前位姿和路径和调度环境地图确定当前自身所在的调度区域和分组区域;
步骤S333,每个机器人基于当前自身所在的分组区域确定自己对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的组号相同的其他机器人的运行数据;
步骤S334,该机器人根据自身所在的调度区域对应的机器人调度策略和过滤出的与自己的组号相同的所有机器人的运行数据,确定机器人行为方式。
在此,同一应用场景可被划分为多个工作区域,如餐厅的中餐区、火锅区、西餐区等,不同的工作区域内都需要多机调度。动态分组适用于机器人和工作区域不绑定的情况,即机器人可在多个工作区域工作。此时,动态分组是根据机器人所在位置是否在某一分组区域内,将同一分组区域内的机器人划分为一组。
可以将在同一分组区域内的机器人设置为同一组,设置相同的机器人组号。每个机器人可以根据组号过滤出需要的在同一分组区域的其他机器人的运行数据,这样一方面可以实现服务器群体广播所有机器人的运行数据,不需要按组配置不同的服务器,从而可以节省服务器;另一方面,机器人可以按组过滤同组的其他机器人的运行数据,根据组号每个机器人可以高效过滤不必要的运行数据。
本实施例中是动态服务器分组的第一种方式,调度环境地图、分组区域与分组的对应关系可以分别预设在服务器端和机器人端,服务器可以根据接收到的机器人的位姿和路径、调度环境地图,按机器人当前所在的分组区域自动对机器人分组,然后再将包含分组的运行数据发送给机器人端,机器人端只要基于自己的位姿和路径、调度环境地图确定自己ID对应的分组。
本发明的多机器人调度方法一实施例中,步骤S3,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
步骤S321,每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、当前位姿和路径;
步骤S322,每个机器人基于自身的运行数据确定当前自身所在的调度区域和分组区域;
步骤S323,每个机器人基于其他机器人的ID、当前位姿、路径和所述待调度环境地图,确定其他机器人当前所在的分组区域,每个机器人基于自身所在的分组区域确定自己的ID对应的组号,每个机器人基于其他机器人当前所在的分组区域确定其他机器人分别对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的组号相同的其他机器人的运行数据;
步骤S324,每个机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己的组号相同的所有机器人的运行数据,确定每个机器人自身的行为方式。
在此,同一应用场景可被划分为多个工作区域,如餐厅的中餐区、火锅区、西餐区等,不同的工作区域内都需要多机调度。动态分组适用于机器人和工作区域不绑定的情况,即机器人可在多个工作区域工作。此时,动态分组是根据机器人所在位置是否在某一分组区域内,将同一分组区域内的机器人划分为一组。
可以将在同一分组区域内的机器人设置为同一组,设置相同的机器人组号。每个机器人可以根据组号过滤出需要的在同一分组区域的其他机器人的运行数据,这样一方面可以实现服务器群体广播所有机器人的运行数据,不需要按组配置不同的服务器,从而可以节省服务器;另一方面,机器人可以按组过滤同组的其他机器人的运行数据,根据组号每个机器人可以高效过滤不必要的运行数据。
本实施例中是动态服务器分组的第二种方式,服务器只需转发机器人的ID、当前位姿和路径,调度环境地图、分组区域与分组的对应关系可以预设在机器人端,机器人端可以根据接收到的机器人的位姿和路径,按各个机器人当前所在的调度区域自动对机器人分组。
本发明的多机器人调度方法一实施例中,所述调度策略为决策树模型,所述决策树模型包括:机器人调度触发的条件、作为机器人行为方式的决策树叶子节点、机器人行为方式与机器人移动原语间的转化关系、以及各机器人的调度优先级。
在此,本发明可以使用决策树模型描述不同类型调度区域的调度策略,可以支持用户对调度策略的自定义开发,具体包括:机器人调度触发的条件(什么时候触发决策,例如两个机器人离得比较近)、调度行为决策树的叶子节点为机器人行为方式(原地附近移动以避让同一调度区域内的其他机器人、移动到调度点(空闲点)以避让同一调度区域内的其他机器人、继续通行或者原地等待或这些组合成的连贯的动作)、机器人行为方式与机器人移动原语间的转化关系、各机器人的调度优先级等。
具体的,本发明提出的多机调度***的实施可以分为两个阶段,分别为部署阶段和工作阶段,具体描述如下:
一.如图3所示,部署阶段
1.服务器端部署:
a)在服务器端实现分组逻辑时,使用服务器程序接口实现机器人分组。在静态分组模式下,需编辑组号与机器人ID的对应关系;在动态分组模式下,需要在统一的地图模型上用矩形(以保证简单)划分出若干矩形调度区域并绑定组号,所有矩形区域在服务器程序中使用R树进行存储与管理(保证判断机器人所在的点是否在R树矩形组内的搜索效率高),以便加速查找过程。
b)将服务器程序部署在云端或局域网PC等载体上,将载体与机器人群体连入同一网络内并为服务器分配固定IP。
2.机器人端部署:
a)在统一的地图模型上用多边形标注出不同类型的调度区域,要求调度区域不能重合(避免两个不同类型调度区域分别对应的决策树输出不同的结果),但同一类型的调度区域可以存在多个。
b)使用客户端程序接口编辑不同类型调度区域的调度策略并生成调度决策树,可自定义调度策略包括调度触发条件、调度行为与调度优先级等。
c)将客户端程序嵌入各机器人的控制程序中或部署在各机器人的机载PC上,客户端程序使用R树管理各多边形区域的外接矩形,以便加速机器人是否在R树管理的相应调度区域内的判定过程。
d)机器人需配备通信模块且必须与客户端程序建立数据通路。当服务器部署在云端时,通信模块可以为移动通信模块;当服务器部署在局域网PC时,通信模块为wifi模块。
e)在各机器人端实现分组逻辑时,使用客户端程序接口实现机器人分组。在静态分组模式下,需编辑组号与机器人ID的对应关系;在动态分组模式下,需要在统一的地图模型上用矩形(以保证简单)划分出若干矩形调度区域并绑定组号,所有矩形区域在服务器程序中使用R树进行存储与管理(保证判断机器人所在的点是否在R树矩形组内的搜索效率高),以便加速查找过程。
二.如图2和4所示,工作阶段
1.群体机器人在正常工作的情况下,服务器会并行的执行时间校准和运行数据共享这两项工作,具体描述如下:
a)服务器按固定频率使用NTP协议与所有机器人个体进行时间校准;
b)服务器实时接收各机器人发送的运行数据包;
c)服务器丢弃掉延迟(第一次过滤)大于设定时间阈值的运行数据包;
d)服务器为收集到的数据包加时间戳与分组号并广播这些数据包。
2.机器人的客户端程序主要分为通信模块和决策模块,在群体机器人任务执行过程中的执行逻辑如下:
a)通信模块负责从内部主控程序获取自身运行数据并打包发送给服务器,同时按分组信息接收服务器广播的其他机器人运行数据包。
b)决策模块判断机器人是否处在任一调度区域内部,如果不在则不发送任何调度指令;如果处在某一调度区域内部则根据该类型调度区域的决策树和通信模块接收的其他机器人运行数据做出调度决策,如果决策结果确定的机器人行为方式不为“继续执行当前任务(通行)”,则需先保存当前任务并切换执行相应的其他机器人行为方式,待调度的机器人行为方式执行完毕后继续执行当前任务。
根据本发明的另一方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
综上所述,本发明所提出的调度***从以下几个方面解决了已有调度方案所存在的问题:
使用移动机器人原语与中间件的方式实现异构机器人上的调度策略封装与调度行为转译,使该发明可以适用于异构机器人群体。
本发明对调度服务器的计算性能要求低,只需其能够实现网络通信与消息转发的功能,可以部署在本地且不需要因特网连接,降低了信息安全风险。
本发明中,机器人与服务器之间采用无连接的UDP协议和轻量级的数据包格式进行运行信息交换,这样大大降低了由数据包过大和重发机制带来的通信负载。本发明的服务器可以设置在本地局域网,不需要连外网,以保证用户环境下的信息安全;服务器与机器人之间的交互通信量小,可以只传输位姿、路径和时间戳等。
本发明采用决策树模型为用户提供调度策略的自定义开发,可以覆盖碰撞避免和死锁解决等多个调度需求。同时,基于时间戳(过滤信息)的集中式消息共享与分布式调度决策模式也能很好的降低由于网络环境带来的误调度问题。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (11)
1.一种多机器人调度方法,其中,该方法包括:
在每个机器人上存储多个机器人的统一的待调度环境地图,其中,所述待调度环境地图中标注有若干个互不重叠的调度区域,每个调度区域对应一种机器人调度策略,所述调度策略用于确定机器人行为方式;
每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径;
每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式。
2.根据权利要求1所述的方法,其中,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式之后,还包括:
每个机器人基于所述调度策略,将确定后的机器人自身的行为方式转化为该机器人自身的机器人移动原语。
3.根据权利要求1所述的方法,其中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
所述服务器向每个机器人发送时钟同步信号;
每个机器人基于所述时钟同步信号将自身的运行数据发送给服务器,每个机器人发送的运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述服务器发送的运行数据包括机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳。
4.根据权利要求3所述的方法,其中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,包括:
每个机器人将自身的运行数据发送给服务器,每个机器人发送的运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
所述服务器基于时间戳对接收到的各个机器人的运行数据进行第一次过滤,以过滤掉延迟时间较大的运行数据;
所述服务器将第一次过滤后剩下的各个机器人的运行数据作为第一次过滤运行数据广播给其他机器人,所述第一次过滤运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳。
5.根据权利要求4所述的方法,其中,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的第一次过滤运行数据,所述第一次过滤运行数据包括:机器人的当前位姿、路径及基于所述时钟同步信号生成的时间戳;
每个机器人基于时间戳对其他机器人的第一次过滤运行数据进行第二次过滤,过滤掉延迟时间较大的运行数据,以得到剩下的各个机器人的运行数据作为第二次过滤运行数据;
每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,该机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的第二次过滤运行数据,确定每个机器人自身的行为方式。
6.根据权利要求1所述的方法,其中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
每个机器人将自身的运行数据发送给服务器,所述运行数据包括:机器人的ID、当前位姿和路径;
所述服务器根据各个机器人的ID确定对应的组号,所述服务器将每个机器人的运行数据广播给其他机器人,广播的每个机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人基于自身的运行数据确定当前自身所在的调度区域;
每个机器人根据自己的ID确定自己对应的组号,该机器人从广播的机器人的运行数据中过滤出与自己的机器人组号相同的其他机器人的运行数据;
该机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己的机器人组号相同的所有机器人的运行数据,确定机器人行为方式。
7.根据权利要求1所述的方法,其中,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、当前位姿和路径;
每个机器人基于自身的运行数据确定当前自身所在的调度区域;
每个机器人基于各个机器人的ID确定自己和其他机器人分别对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的机器人组号相同的其他机器人的运行数据;
每个机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己机器人组号相同的所有机器人的运行数据,确定每个机器人自身的行为方式。
8.根据权利要求1所述的方法,其中,每个机器人将自身的运行数据发送给服务器,所述服务器将接收到的各个机器人的运行数据广播给其他机器人,所述运行数据包括机器人的当前位姿和路径,包括:
每个机器人将自身的运行数据发送给服务器,所述运行数据包括:机器人的ID、当前位姿和路径;
所述服务器根据每个机器人的当前位姿和路径确定每个机器人当前所在的分组区域,所述服务器基于每个机器人当前所在的分组区域和待调度环境地图确定每个机器人的ID对应的组号,所述服务器将每个机器人的运行数据广播给其他机器人,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、组号、当前位姿和路径;
每个机器人基于自身的当前位姿和路径和调度环境地图确定当前自身所在的调度区域和分组区域;
该机器人基于当前自身所在的分组区域确定自己对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的组号相同的其他机器人的运行数据;
每个机器人根据自身所在的调度区域对应的机器人调度策略和过滤出的与自己的组号相同的所有机器人的运行数据,确定机器人行为方式。
9.根据权利要求1所述的方法,其中,每个机器人获取所述服务器广播的其他机器人的运行数据,每个机器人基于自身的运行数据确定当前自身所在的调度区域,每个机器人基于其他机器人的运行数据得到该调度区域内的其他机器人,每个机器人根据自身所在的调度区域对应的机器人调度策略和该调度区域内的所有机器人的运行数据,确定每个机器人自身的行为方式,包括:
每个机器人获取所述服务器广播的其他机器人的运行数据,广播的机器人的运行数据包括:机器人的ID、当前位姿和路径;
每个机器人基于自身的运行数据确定当前自身所在的调度区域和分组区域;
每个机器人基于其他机器人的ID、当前位姿和路径和所述待调度环境地图,确定其他机器人当前所在的分组区域,每个机器人基于自身所在的分组区域确定自己的组号,每个机器人基于其他机器人当前所在的分组区域确定其他机器人分别对应的组号,每个机器人从广播的机器人的运行数据中过滤出与自己的组号相同的其他机器人的运行数据;
每个机器人根据当前自身所在的调度区域对应的机器人调度策略和过滤出的与自己的组号相同的所有机器人的运行数据,确定每个机器人自身的行为方式。
10.根据权利要求1所述的方法,其中,所述调度策略为决策树模型,所述决策树模型包括:机器人调度触发的条件、作为机器人行为方式的决策树叶子节点、机器人行为方式与机器人移动原语间的转化关系、以及各机器人的调度优先级。
11.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669492.3A CN113253736B (zh) | 2021-06-17 | 2021-06-17 | 多机器人调度方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669492.3A CN113253736B (zh) | 2021-06-17 | 2021-06-17 | 多机器人调度方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113253736A true CN113253736A (zh) | 2021-08-13 |
CN113253736B CN113253736B (zh) | 2021-11-09 |
Family
ID=77188275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110669492.3A Active CN113253736B (zh) | 2021-06-17 | 2021-06-17 | 多机器人调度方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113253736B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114488980A (zh) * | 2022-01-21 | 2022-05-13 | 上海擎朗智能科技有限公司 | 一种机器人的调度方法、装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006597A1 (en) * | 2012-06-29 | 2014-01-02 | Mrittika Ganguli | Method, system, and device for managing server hardware resources in a cloud scheduling environment |
CN103745120A (zh) * | 2014-01-22 | 2014-04-23 | 上海海事大学 | 一种基于bdi多智能体的船舶电力***重构方法 |
CN107992060A (zh) * | 2018-01-19 | 2018-05-04 | 广东美的智能机器人有限公司 | 多移动机器人的路径规划方法及*** |
CN108376989A (zh) * | 2018-02-13 | 2018-08-07 | 中国电力科学研究院有限公司 | 一种基于多智能体的电池储能电站分区控制方法及*** |
CN108469786A (zh) * | 2018-01-26 | 2018-08-31 | 西安电子科技大学 | 大规模智能仓储分布式拣选*** |
CN109471435A (zh) * | 2018-11-09 | 2019-03-15 | 福州大学 | 一种多异构移动机器人控制*** |
CN109765915A (zh) * | 2019-03-13 | 2019-05-17 | 中南大学 | 一种基于计算机算法的仓储搬运机器人任务调度*** |
CN109800937A (zh) * | 2018-08-28 | 2019-05-24 | 博众精工科技股份有限公司 | 机器人集群调度*** |
CN110209485A (zh) * | 2019-06-05 | 2019-09-06 | 青岛海通胜行智能科技有限公司 | 一种协同作业时多机器人的动态避让方法 |
CN111310956A (zh) * | 2018-12-11 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 调度策略的确定方法、装置及电子设备 |
CN111558942A (zh) * | 2020-07-20 | 2020-08-21 | 北京云迹科技有限公司 | 机器人调度方式切换方法、第一机器人、设备及存储介质 |
CN111738528A (zh) * | 2020-07-20 | 2020-10-02 | 北京云迹科技有限公司 | 机器人调度方法及第一机器人 |
CN112083722A (zh) * | 2020-08-27 | 2020-12-15 | 广州赛特智能科技有限公司 | 一种移动机器人多机多楼层调度***及调度方法 |
JP2021040589A (ja) * | 2019-09-13 | 2021-03-18 | パナソニックIpマネジメント株式会社 | 収穫ロボットシステム |
-
2021
- 2021-06-17 CN CN202110669492.3A patent/CN113253736B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006597A1 (en) * | 2012-06-29 | 2014-01-02 | Mrittika Ganguli | Method, system, and device for managing server hardware resources in a cloud scheduling environment |
CN103745120A (zh) * | 2014-01-22 | 2014-04-23 | 上海海事大学 | 一种基于bdi多智能体的船舶电力***重构方法 |
CN107992060A (zh) * | 2018-01-19 | 2018-05-04 | 广东美的智能机器人有限公司 | 多移动机器人的路径规划方法及*** |
CN108469786A (zh) * | 2018-01-26 | 2018-08-31 | 西安电子科技大学 | 大规模智能仓储分布式拣选*** |
CN108376989A (zh) * | 2018-02-13 | 2018-08-07 | 中国电力科学研究院有限公司 | 一种基于多智能体的电池储能电站分区控制方法及*** |
CN109800937A (zh) * | 2018-08-28 | 2019-05-24 | 博众精工科技股份有限公司 | 机器人集群调度*** |
CN109471435A (zh) * | 2018-11-09 | 2019-03-15 | 福州大学 | 一种多异构移动机器人控制*** |
CN111310956A (zh) * | 2018-12-11 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 调度策略的确定方法、装置及电子设备 |
CN109765915A (zh) * | 2019-03-13 | 2019-05-17 | 中南大学 | 一种基于计算机算法的仓储搬运机器人任务调度*** |
CN110209485A (zh) * | 2019-06-05 | 2019-09-06 | 青岛海通胜行智能科技有限公司 | 一种协同作业时多机器人的动态避让方法 |
JP2021040589A (ja) * | 2019-09-13 | 2021-03-18 | パナソニックIpマネジメント株式会社 | 収穫ロボットシステム |
CN111558942A (zh) * | 2020-07-20 | 2020-08-21 | 北京云迹科技有限公司 | 机器人调度方式切换方法、第一机器人、设备及存储介质 |
CN111738528A (zh) * | 2020-07-20 | 2020-10-02 | 北京云迹科技有限公司 | 机器人调度方法及第一机器人 |
CN112083722A (zh) * | 2020-08-27 | 2020-12-15 | 广州赛特智能科技有限公司 | 一种移动机器人多机多楼层调度***及调度方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114488980A (zh) * | 2022-01-21 | 2022-05-13 | 上海擎朗智能科技有限公司 | 一种机器人的调度方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113253736B (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xie et al. | Satellite-terrestrial integrated edge computing networks: Architecture, challenges, and open issues | |
CN110022349A (zh) | 一种基于边缘计算的异构工业网络设备组态微服务方法 | |
Levis et al. | The Emergence of Networking Abstractions and Techniques in TinyOS. | |
CN112087522B (zh) | 一种面向工业机器人数据处理的边云协同流程编排*** | |
CN112511586B (zh) | 一种基于云边协同的高速铁路智能行车调度安全卡控*** | |
CN102932448B (zh) | 一种分布式网络爬虫的url排重***及方法 | |
CN113067872B (zh) | 一种面向无人***的专网云指控*** | |
CN104052759A (zh) | 一种物联网即加即用技术的实现*** | |
CN103053146B (zh) | 数据迁移方法和设备 | |
CN102739452A (zh) | 资源监控方法和*** | |
CN112511218B (zh) | 一种基于微服务的卫星地面站监控*** | |
CN113612820A (zh) | 基于SuperEdge和EdgeXFoundry的云边端设备平台控制架构和方法 | |
CN113572815B (zh) | 一种跨异构平台的通信技术方法、***及介质 | |
CN113691497A (zh) | 一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法 | |
CN110928694B (zh) | 一种计算机*** | |
CN108737169A (zh) | 一种基于sdn的异构工业网络集中式融合管理方法 | |
CN113253736B (zh) | 多机器人调度方法及设备 | |
CN113778615B (zh) | 一种快速稳定的网络靶场虚拟机构建*** | |
CN115086379B (zh) | 一种基于边缘计算及虚拟化技术的数控机床数据采集方法 | |
CN113852693A (zh) | 一种边缘计算服务的迁移方法 | |
KR20230034926A (ko) | 분산 이벤트 기반 조정 모델 | |
Khan et al. | Fully connected travelling: A step towards smart cities | |
Hou et al. | Fragmentation and optimal deployment for IoT-aware business process | |
Abdelatif et al. | A Virtual Clustering for Data Dissemination in Vehicular Fog Computing | |
CN114095901A (zh) | 通信数据处理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |