CN109800937A - 机器人集群调度系统 - Google Patents

机器人集群调度系统 Download PDF

Info

Publication number
CN109800937A
CN109800937A CN201810989933.6A CN201810989933A CN109800937A CN 109800937 A CN109800937 A CN 109800937A CN 201810989933 A CN201810989933 A CN 201810989933A CN 109800937 A CN109800937 A CN 109800937A
Authority
CN
China
Prior art keywords
task
robot
layer
traffic
engine
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
Application number
CN201810989933.6A
Other languages
English (en)
Other versions
CN109800937B (zh
Inventor
沈东羽
苏衍宇
毛建财
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SUZHOU BOZHONG ROBOT Co Ltd
Bozhon Precision Industry Technology Co Ltd
Original Assignee
SUZHOU BOZHONG ROBOT Co Ltd
Bozhon Precision Industry Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SUZHOU BOZHONG ROBOT Co Ltd, Bozhon Precision Industry Technology Co Ltd filed Critical SUZHOU BOZHONG ROBOT Co Ltd
Priority to CN201810989933.6A priority Critical patent/CN109800937B/zh
Publication of CN109800937A publication Critical patent/CN109800937A/zh
Application granted granted Critical
Publication of CN109800937B publication Critical patent/CN109800937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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], computer integrated manufacturing [CIM]
    • G05B19/41865Total 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], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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], computer integrated manufacturing [CIM]
    • G05B19/4189Total 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], computer integrated manufacturing [CIM] characterised by the transport system
    • G05B19/41895Total 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], computer integrated manufacturing [CIM] characterised by the transport system using automatic guided vehicles [AGV]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39146Swarm, multiagent, distributed multitask fusion, cooperation multi robots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39167Resources scheduling and balancing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39252Autonomous distributed control, task distributed into each subsystem, task space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/60Electric or hybrid propulsion means for production processes

Abstract

本发明公开了一种机器人集群调度系统,包括:用户层、中间层、应用层、插件层以及数据持久化层,中间层包括处理器映射模块以及状态采集模块,应用层包括任务调度模块以及交通调度模块,插件层包括任务求解引擎以及交通规划引擎,任务求解引擎用于根据任务的参数以及状态数据确定目标机器人,交通规划引擎用于确定目标路线,任务求解引擎以及交通规划引擎均提供API,一方面,实现了一种支持二次开发的机器人集群调度系统,系统耦合性较低,另一方面,实现了根据任务确定目标机器人,实现机器人任务的最优分配,提高了调度后任务的执行效率,再一方面,可以智能规划机器人的交通路线,防止机器人出现交通堵塞。

Description

机器人集群调度系统
技术领域
本发明实施例涉及机器人调度技术,尤其涉及一种机器人集群调度系统。
背景技术
随着通信技术及电子技术的发展,机器人在工业领域中的应用越来越广泛。在机器人的应用中,如何对机器人进行调度非常重要。
目前的一种机器人调度系统包括:机器人控制系统和中间控制系统。其中,机器人控制系统用于从中间控制系统获取机器人管理信息,根据机器人管理信息生成任务指令,并将任务指令发送至于任务指令关联的引导车或者外部设备。中间控制系统包括:第一接口层、中间业务处理层以及接入层,第一接口层包括用于从业务管理系统获取任务包的业务接口,中间业务处理层用于根据从业务管理系统获取的任务包生成机器人管理信息,接入层包括控制接口,接入层通过控制接口连接于机器人控制系统。
但是,上述的机器人调度系统,一方面,不支持二次开发,另一方面,机器人控制系统在将任务指令发送至任务指令关联的引导车或者外部设备时,并没有根据任务指令的参数对任务进行最优分配,也没有为机器人分配最优行驶路线,这导致调度后任务的执行效率较低。
发明内容
本发明提供一种机器人集群调度系统,以解决目前的机器人调度系统对机器人调度后,任务的执行效率低的技术问题。
本发明实施例提供一种机器人集群调度系统,所述系统包括:用户层、中间层、应用层、插件层以及数据持久化层;其中,
所述用户层包括所述调度系统的服务对象,所述服务对象为用户或者机器人;所述中间层包括处理器映射模块以及状态采集模块;所述应用层包括任务调度模块以及交通调度模块;所述插件层包括任务求解引擎以及交通规划引擎;
所述处理器映射模块用于接收所述用户发送的任务或者所述机器人发送的交通规划请求,对所述任务或者所述交通规划请求进行解析后,将所述任务写入所述数据持久化层中,将所述交通规划请求转发到应用层的交通调度模块中;所述状态采集模块用于接收所述机器人的状态数据,并将所述状态数据写入所述数据持久化层中;
所述任务调度模块用于在从所述数据持久化层中获取到所述任务后,调用所述任务求解引擎,所述任务求解引擎用于根据所述任务的参数以及所述状态数据确定目标机器人,并将所述任务分解成子任务序列发送给所述目标机器人;所述交通调度模块用于在从所述处理器映射模块接收到交通规划请求后,调用所述交通规划引擎,所述交通规划引擎用于根据所述交通规划请求中的参数以及所述状态数据确定目标路线,并将所述目标路线发送给生成所述交通规划请求的机器人;所述任务求解引擎以及所述交通规划引擎均提供API。
如上所述的系统中,所述状态数据包括各个机器人的电量数据;所述应用层还包括充电管理模块;
所述充电管理模块用于:根据各个所述机器人的电量数据确定机器人是否需要充电;在确定有机器人需要充电时,确定需充电的机器人,并确定是否能查找到充电资源;当确定能查找到充电资源时,生成充电任务,并将所述需充电的机器人的标识写入所述数据持久化层中,将所述充电任务发送到所述处理器映射模块;所述充电任务中包括需充电的机器人标识;
所述处理器映射模块还用于在接收到所述充电管理模块发送的充电任务后,对所述充电任务进行解析,并将所述充电任务写入数据持久化层中;所述任务调度模块还用于在从所述数据持久化层获取到所述充电任务后,调用所述任务求解引擎,所述任务求解引擎用于将所述充电任务分解成充电子任务序列发送给所述充电任务中的机器人标识对应的机器人。
如上所述的系统中,所述处理器映射模块还用于接收所述用户发送的操作指令,对所述操作指令进行解析后,将所述操作指令转发到所述应用层的任务调度模块、交通调度模块或者充电管理模块中;其中,所述操作指令包括以下指令的至少一种:任务状态查询、删除任务、暂停任务以及机器人状态查询;
所述任务调度模块、所述交通调度模块或者所述充电管理模块还用于根据所述操作指令进行操作。
如上所述的系统中,所述任务求解引擎包括多个任务类型以及与各任务类型对应的子任务序列模板;
所述任务求解引擎将所述任务分解成子任务序列发送给所述目标机器人,具体为:
所述任务求解引擎根据所述任务的类型确定与所述任务对应的子任务序列模板;
所述任务求解引擎将所述任务的参数带入所述任务对应的子任务序列模板中,获取所述任务对应的子任务序列,并将所述子任务序列发送给所述目标机器人。
如上所述的系统中,所述任务求解引擎包括智能求解算法;
所述任务求解引擎将所述任务分解成子任务序列发送给所述目标机器人,具体为:
所述任务求解引擎根据所述智能求解算法以及所述任务的参数,确定子任务序列,并将所述子任务序列发送给所述目标机器人。
如上所述的系统中,所述状态采集模块还用于在接收到所述机器人的状态数据后,从所述数据持久化层中获得所述机器人的控制参数,并将所述控制参数发送给所述机器人;所述控制参数包括以下信息的至少一种:机器人的控制模式或者机器人的最大速度。
如上所述的系统中,所述数据持久化层中还记录所述任务的执行状态以及任务执行信息;
所述任务调度模块还用于在将所述任务分解成子任务序列后,将所述任务的执行状态从未执行修改为执行中;
所述任务调度模块还用于在将所述子任务序列发送给所述目标机器人后,从所述目标机器人获取任务执行信息,并将所述任务执行信息写入所述数据持久化层中;所述任务执行信息用于指示所述任务执行至所述子任务序列中的哪一个子任务。
如上所述的系统中,所述数据持久化层包括关系型数据库和内存级数据库;
所述任务以及所述充电任务存储在所述关系型数据库中;所述控制参数存储在所述内存级数据库中。
如上所述的系统中,所述数据持久化层还包括描述文件,所述描述文件中包括工程配置文件;
所述任务调度模块、所述交通调度模块以及所述充电管理模块还用于从所述描述文件中获取所述工程配置文件,并装载所述工程配置文件。
如上所述的系统中,所述中间层、所述应用层以及所述数据持久化层均采用Docker的虚拟化容器技术实现。
本发明实施例提供的机器人集群调度系统,通过设置用户层、中间层、应用层、插件层以及数据持久化层,其中,用户层包括调度系统的服务对象,服务对象为用户或者机器人,中间层包括处理器映射模块以及状态采集模块,应用层包括任务调度模块以及交通调度模块,插件层包括任务求解引擎以及交通规划引擎,处理器映射模块用于接收用户发送的任务或者机器人发送的交通规划请求,对任务或者交通规划请求进行解析后,将任务写入数据持久化层中,将交通规划请求转发到应用层的交通调度模块中,状态采集模块用于接收机器人的状态数据,并将状态数据写入数据持久化层中,任务调度模块用于在从数据持久化层中获取到任务后,调用任务求解引擎,任务求解引擎用于根据任务的参数以及状态数据确定目标机器人,并将任务分解成子任务序列发送给目标机器人,交通调度模块用于在从处理器映射模块接收到交通规划请求后,调用交通规划引擎,交通规划引擎用于根据交通规划请求中的参数以及状态数据确定目标路线,并将目标路线发送给生成交通规划请求的机器人,任务求解引擎以及交通规划引擎均提供API,一方面,实现了一种支持二次开发的机器人集群调度系统,可根据实际需求实现任务求解和交通规划,系统耦合性较低,另一方面,实现了根据任务确定目标机器人,实现机器人任务的最优分配,提高了调度后任务的执行效率,再一方面,可以智能规划机器人的交通路线,防止机器人出现交通堵塞。
附图说明
图1为本发明实施例提供的机器人集群调度系统实施例一的结构示意图;
图2A为图1所示实施例中处理器映射模块的执行流程图;
图2B为图1所示实施例中状态采集模块的执行流程图;
图2C为图1所示实施例中任务调度模块的执行流程图;
图2D为图1所示实施例中交通调度模块的执行流程图;
图2E为图1所示实施例中任务求解引擎的执行流程图;
图2F为图1所示实施例中交通规划引擎的执行流程图;
图3为本发明实施例提供的机器人集群调度系统实施例二的结构示意图;
图4为图3所示实施例中充电管理模块的执行流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的机器人集群调度系统实施例一的结构示意图。如图1所示,本发明实施例提供的机器人集群调度系统包括:用户层、中间层、应用层、插件层以及数据持久化层。
其中,用户层包括调度系统的服务对象,服务对象为用户或者机器人。中间层包括处理器映射模块以及状态采集模块。应用层包括任务调度模块以及交通调度模块。插件层包括任务求解引擎以及交通规划引擎。
处理器映射模块用于接收用户发送的任务或者机器人发送的交通规划请求,对任务或者交通规划请求进行解析后,将任务写入数据持久化层中,将交通规划请求转发到应用层的交通调度模块中。
状态采集模块用于接收机器人的状态数据,并将状态数据写入数据持久化层中。
任务调度模块用于在从数据持久化层中获取到任务后,调用任务求解引擎,任务求解引擎用于根据任务的参数以及状态数据确定目标机器人,并将任务分解成子任务序列发送给目标机器人。
交通调度模块用于在从处理器映射模块接收到交通规划请求后,调用交通规划引擎,交通规划引擎用于根据交通规划请求中的参数以及状态数据确定目标路线,并将目标路线发送给生成交通规划请求的机器人。
任务求解引擎以及交通规划引擎均提供应用编程接口(ApplicationProgramming Interface,API)。
本发明实施例中,对机器人进行调度的系统是集群调度系统。集群调度系统具体指的是采用集群技术的调度系统。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。集群配置可以提高可用性和可缩放性。因此,本发明实施例中采用集群技术对对机器人进行调度,可以提高调度系统的利用率、稳定性、可拓展性等。
本发明实施例中的集群调度系统实现对多个机器人的调度。
本发明实施例的用户层中,用户可以向中间层的处理器映射模块发送任务。这里的任务例如可以是让机器人去某一位置取某物品。用户发送的任务中,可以包括任务参数,根据不同的任务,这里的任务参数的类型不同。例如,当任务为让机器人去某一位置取某物品,任务参数为该位置的坐标,以及,物品的名称。
用户层中的机器人可以向中间层的处理器映射模块发送交通规划请求。一种场景中,当某个机器人要达到某一位置,但不知道按照哪条路径走能最快到达时,该机器人可以向处理器映射模块发送交通规划请求。交通规划请求中可以包括要到达的位置的坐标以及该机器人的标识。
图2A为图1所示实施例中处理器映射模块的执行流程图。如图2A所示,本发明实施例中的处理器映射模块在运行时,执行以下步骤:
步骤201:接收任务或者交通规划请求。
步骤202:对任务或者交通规划请求进行解析。
进行解析的目的是为了识别获取到的信息类型到底是任务还是交通规划请求。可选地,任务中除了包括任务参数外,还可以包括指示该信息为任务的标识,交通规划请求中除了包括要到达的位置的坐标以及该机器人的标识外,还可以包括指示该信息为交通规划请求的标识。处理器映射模块可以根据标识字段的标识对任务或者交通规划请求进行解析,以确定其类型。
步骤203:将任务写入数据持久化层中。
如果处理器映射模块确定获取到的是任务,则将任务写入数据持久化层中,等待应用层的任务调度模块从数据持久化层中获取该任务。
步骤204:将交通规划请求转发到交通调度模块。
如果处理器映射模块确定获取到的是交通规划请求,则将交通规划请求转发到应用层的交通调度模块。
步骤205:将执行结果反馈给用户层。
在将任务写入数据持久化层后,处理器映射模块将已写入成功的信息反馈给用户层中的用户。
步骤206:接收交通调度模块返回的执行结果,并将执行结果反馈给用户层。
步骤205和步骤206的设置可以提高处理器映射模块与用户通信的可靠性。
图2B为图1所示实施例中状态采集模块的执行流程图。如图2B所示,本发明实施例中的状态采集模块在运行时,执行以下步骤:
步骤301:开启数据监听。
状态采集模块在开启数据监听后,就可以开始接收机器人的状态数据。
步骤302:接收机器人的状态数据。
这里的状态数据可以包括机器人的标识、机器人的位置、机器人当前执行的任务以及任务执行状态等。
步骤303:解析数据,并将状态数据写入数据持久化层中。
状态采集模块对采集到的数据进行解析后,将这些状态数据写入数据持久化层中。
可选地,状态采集模块还用于在接收到机器人的状态数据后,还包括以下步骤:
步骤304:从数据持久化层中获得机器人的控制参数,并将控制参数发送给机器人。
控制参数包括以下信息的至少一种:机器人的控制模式或者机器人的最大速度。机器人的控制模式指的是机器人是手动模式还是自动模式。
图2C为图1所示实施例中任务调度模块的执行流程图。如图2C所示,本发明实施例中应用层的任务调度模块在运行时,执行以下步骤:
步骤401:热备份数据恢复。
在集群调度系统崩溃、重启之后,需要执行步骤401,以恢复历史状态。
步骤402:从数据持久化层中获取任务。
步骤403:装载工程配置文件。
数据持久化层还包括描述文件,描述文件中包括工程配置文件。这里的工程配置文件中包括地图信息、机器人列表以及机器人的数量等信息。
步骤404:判断是否得到任务。
步骤405:调用任务求解引擎。
在确定得到任务时,调用任务求解引擎。在确定没有得到任务时,返回执行步骤402。
步骤406:确定是否获得目标机器人。
在调用任务求解引擎后,任务求解引擎会根据任务的参数以及状态采集模块获取到的机器人的状态数据确定目标机器人。本实施例中的目标机器人指的是执行任务的最佳、最合适的机器人。
步骤407:生成子任务序列。
在确定获取目标机器人后,任务调度模块可以通过调用任务求解引擎获取到根据任务生成的子任务序列。在确定没有获取到目标机器人后,说明此时没有适合执行该任务的机器人,返回执行步骤402。
需要说明的是,任务可以是由一系列子任务组成的。对于机器人来说,子任务才是可以执行的任务。
可选地,数据持久化层中还记录任务的执行状态以及任务执行信息。任务调度模块还用于在将任务分解成子任务序列后,执行步骤408:
步骤408:将任务的执行状态从未执行修改为执行中。
步骤409:将子任务序列发送给目标机器人。
任务调度模块还用于在将子任务序列发送给目标机器人后,执行步骤410及步骤411:
步骤410:从目标机器人获取任务执行信息。
目标机器人在执行任务的过程中,可以向任务调度模块反馈任务执行信息。这里的任务执行信息用于指示任务执行至子任务序列中的哪一个子任务。例如,某个任务被生成3个子任务序列,则任务执行信息可以是:开始执行第二个子任务、第二个子任务执行完成或者第三个子任务执行完成。
步骤411:将任务执行信息写入数据持久化层中。
将任务执行信息写入数据持久化层中,可以便于后续用户查询此任务的执行状态,掌控任务执行进度,以提高用户体验。
步骤412:确定任务是否结束。
任务调度模块从任务执行信息中确定任务是否结束。当任务执行信息中指示最后一个子任务执行完成时,确定该任务结束。
步骤413:重置任务调度模块及清除写入数据持久化层中的信息。
在确定任务结束时,执行步骤413,重置任务调度模块以及清除在执行此任务的过程中写入数据持久化层中的信息,以便于下一个任务的执行和节省存储空间。在确定任务没有结束时,返回执行步骤410。
图2D为图1所示实施例中交通调度模块的执行流程图。如图2C所示,本发明实施例中应用层的交通调度模块在运行时,执行以下步骤:
步骤501:装载工程配置文件。
该步骤与步骤403实现过程相同,此处不再赘述。
步骤502:更新模块信息至数据持久化层中。
步骤503:接收交通规划请求。
交通调度模块从处理器映射模块接收交通规划请求。
步骤504:调用交通规划引擎。
交通调度模块调用交通规划引擎后,交通规划引擎可以根据交通规划请求中的参数以及状态数据确定目标路线。
步骤505:将目标路线发送给生成交通规划请求的机器人。
图2E为图1所示实施例中任务求解引擎的执行流程图。如图2E所示,任务求解引擎可以根据任务的参数以及状态数据确定目标机器人,并将任务进行分解,生成子任务序列。
任务求解引擎在将任务生成子任务序列时,有以下两种实现方式:
第一种实现方式中,任务求解引擎包括多个任务类型以及与各任务类型对应的子任务序列模板。基于该实现方式,任务求解引擎将任务分解成子任务序列发送给目标机器人,具体为:任务求解引擎根据任务的类型确定与任务对应的子任务序列模板;任务求解引擎将任务的参数带入任务对应的子任务序列模板中,获取任务对应的子任务序列,并将子任务序列发送给目标机器人。
举例来说,针对拿取物品的任务,其子任务序列模板为:1.导航到xx处,2.拿取xx。需要的任务参数信息为:地点坐标以及物品名称。处理器映射模块获取到的该类型的任务:到A点拿取一个杯子,其中任务的参数为:A点的坐标以及杯子。任务调度模块获得该任务后,调用任务求解引擎,任务求解引擎根据任务类型确定子任务序列模板,将任务的参数填入子任务序列模板中,可以得到任务子序列:1.导航到A点(坐标)处,2.拿取杯子。
第二种实现方式中,任务求解引擎包括智能求解算法。任务求解引擎将任务分解成子任务序列发送给目标机器人,具体为:任务求解引擎根据智能求解算法以及任务的参数,确定子任务序列,并将子任务序列发送给目标机器人。
智能求解算法可以根据任务内容及当前机器人所处环境信息求解任务所需步骤,得到任务子序列。
举例来说,处理器映射模块接收到任务,内容为拿回一个杯子。任务调度模块调用任务求解引擎,输入参数为拿回一个杯子,任务求解引擎求解得到步骤为:1.到达杯子所在位置,2.拿取杯子,3.返回出发点。可选地,任务求解引擎再获得环境信息,包括杯子位置以及机器人的位置。最终,生成的子任务序列为:1.导航到杯子所在位置,2.拿取杯子,3.导航到出发点。
图2F为图1所示实施例中交通规划引擎的执行流程图。如图2F所示,交通规划引擎根据交通规划请求中的参数,进行路况分析,确定目标路线。本实施例中的目标路线可以是由一组路名组成的路名序列,也可以是由一组坐标组成的路线。
本发明实施例中,任务求解引擎和交通规划引擎均提供API,可以通过API对任务求解引擎和交通规划引擎进行二次开发,即,本发明实施例提供的机器人集群调度系统具有开放性。
可选地,本发明实施例中,中间层、应用层以及数据持久化层均可采用应用容器引擎(Docker)的虚拟化容器技术实现。Docker是一个应用容器引擎,提供容器解决方案。本发明实施例采用Docker容器技术作为基础,具有以下优点:1、采用Docker容器技术使得本实施例提供的机器人集群调度系统容易部署;2、提高了系统资源利用率和容灾性;3、使本实施例的机器人集群调度系统具有故障自动恢复能力;4、使本实施例的机器人集群调度系统具有滚动升级功能。
需要说明的是,本发明实施例提供的机器人集群调度系统支持异构机器人的调度。
本发明实施例提供的机器人集群调度系统,通过设置用户层、中间层、应用层、插件层以及数据持久化层,其中,用户层包括调度系统的服务对象,服务对象为用户或者机器人,中间层包括处理器映射模块以及状态采集模块,应用层包括任务调度模块以及交通调度模块,插件层包括任务求解引擎以及交通规划引擎,处理器映射模块用于接收用户发送的任务或者机器人发送的交通规划请求,对任务或者交通规划请求进行解析后,将任务写入数据持久化层中,将交通规划请求转发到应用层的交通调度模块中,状态采集模块用于接收机器人的状态数据,并将状态数据写入数据持久化层中,任务调度模块用于在从数据持久化层中获取到任务后,调用任务求解引擎,任务求解引擎用于根据任务的参数以及状态数据确定目标机器人,并将任务分解成子任务序列发送给目标机器人,交通调度模块用于在从处理器映射模块接收到交通规划请求后,调用交通规划引擎,交通规划引擎用于根据交通规划请求中的参数以及状态数据确定目标路线,并将目标路线发送给生成交通规划请求的机器人,任务求解引擎以及交通规划引擎均提供API,一方面,实现了一种支持二次开发的机器人集群调度系统,可根据实际需求实现任务求解和交通规划,系统耦合性较低,另一方面,实现了根据任务确定目标机器人,实现机器人任务的最优分配,提高了调度后任务的执行效率,再一方面,可以智能规划机器人的交通路线,防止机器人出现交通堵塞。
图3为本发明实施例提供的机器人集群调度系统实施例二的结构示意图。本发明实施例在图1所示实施例的基础上,对机器人集群调度系统的其他模块作一详细说明。本实施例中,状态采集模块采集到的状态数据包括各个机器人的电量数据。如图3所示,应用层还包括充电管理模块。
充电管理模块用于:根据各个机器人的电量数据确定机器人是否需要充电;在确定有机器人需要充电时,确定需充电的机器人,并确定是否能查找到充电资源;当确定能查找到充电资源时,生成充电任务,并将需充电的机器人的标识写入数据持久化层中,将充电任务发送到处理器映射模块。
充电任务中包括需充电的机器人标识。
处理器映射模块还用于在接收到充电管理模块发送的充电任务后,对充电任务进行解析,并将充电任务写入数据持久化层中。任务调度模块还用于在从数据持久化层获取到充电任务后,调用任务求解引擎,任务求解引擎用于将充电任务分解成充电子任务序列发送给充电任务中的机器人标识对应的机器人。
图4为图3所示实施例中充电管理模块的执行流程图。如图4所示,本发明实施例中应用层的充电管理模块在运行时,执行以下步骤:
步骤601:获取工程配置文件。
充电管理模块从数据持久化层中获取工程配置文件。
步骤602:装载工程配置文件。
步骤603:检查机器人电量。
充电管理模块根据状态数据检查机器人电量,具体为确定机器人电量与最低电量阈值的大小。
步骤604:确定机器人是否需要充电。
在确定机器人电量小于最低电量阈值时,确定机器人需要充电。可选地,还可以确定需充电的机器人,即,确定需充电的机器人的标识。
步骤605:确定是否查找到充电资源。
在确定机器人需要充电时,根据周围环境信息,确定是否有充电座以及充电距离是否小于预设阈值。在确定存在充电座,且充电距离小于预设阈值时,确定可以查找到充电资源。
在确定机器人不需要充电时,返回执行步骤603。
步骤606:生成充电任务。
在确定查找到充电资源时,生成充电任务。可选地,充电任务中包括需充电的机器人标识。
在确定没有查找到充电资源时,返回执行步骤603。
步骤607:确定生成充电任务是否成功。
步骤608:将需充电的机器人的标识写入数据持久化层中。
在确定生成充电任务成功时,执行步骤608。
在确定生成充电任务失败时,返回执行步骤603。
步骤609:将充电任务发送到处理器映射模块。
步骤610:查看充电任务执行情况。
步骤611:确定是否有充电任务完成。
步骤612:清除写入数据持久化层中的信息。
可选地,本实施例中,用户还可以发送操作指令。处理器映射模块还用于接收用户发送的操作指令,对操作指令进行解析后,将操作指令转发到应用层的任务调度模块、交通调度模块或者充电管理模块中。任务调度模块、交通调度模块或者充电管理模块还用于根据操作指令进行操作。其中,操作指令包括以下指令的至少一种:任务状态查询、删除任务、暂停任务以及机器人状态查询。
对操作指令进行解析意为分析操作指令中任务的类型:当为任务时,将其转发给任务调度模块;当为充电任务时,将其转发给充电管理模块;当为交通规划请求时,将其转发给交通调度模块。
任务调度模块、交通调度模块或者充电管理模块根据操作指令进行操作,意为上述三个模块根据操作指令执行的动作进行操作:当操作指令为状态查询指令时,反馈当前执行状态;当为删除指令时,删除相关任务;当操作指令为暂停任务指令时,暂停当前执行的任务;当操作指令为机器人状态查询指令时,反馈当前机器人状态。机器人的状态可以是执行任务状态或者空闲状态。
例如,假设操作指令为充电任务状态查询指令,则处理器映射模块在接收到该操作指令后,对操作指令解析,确定其为对充电任务的状态进行查询,则将该操作指令转发到应用层的充电管理模块中。充电管理模块在接收到该操作指令后,根据该操作指令反馈机器人的充电状态,例如,已充电量等。
请继续参照图3,本发明实施例中,数据持久化层包括关系型数据库和内存级数据库。任务以及充电任务存储在关系型数据库中。控制参数存储在内存级数据库中。机器人的状态数据存储在内存级数据库中。热备份数据存储在内存级数据库中。
关系型数据库,例如MySQL,其优点是数据结构更复杂,可根据复杂条件查找。内存级数据库,例如Redis,其优点是查询速度快,可频繁读写。
本发明实施例中,数据持久化层还包括描述文件。描述文件中包括工程配置文件。
本发明实施例提供的机器人集群调度系统中,一方面,通过设置应用层包括充电管理模块,可以实现在机器人的电量低于阈值时,实现机器人的智能充电,提高了机器人的可靠性,另一方面,可以处理用户发送的操作指令,提高了调度系统的灵活性。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种机器人集群调度系统,其特征在于,所述系统包括:用户层、中间层、应用层、插件层以及数据持久化层;其中,
所述用户层包括所述调度系统的服务对象,所述服务对象为用户或者机器人;所述中间层包括处理器映射模块以及状态采集模块;所述应用层包括任务调度模块以及交通调度模块;所述插件层包括任务求解引擎以及交通规划引擎;
所述处理器映射模块用于接收所述用户发送的任务或者所述机器人发送的交通规划请求,对所述任务或者所述交通规划请求进行解析后,将所述任务写入所述数据持久化层中,将所述交通规划请求转发到应用层的交通调度模块中;所述状态采集模块用于接收所述机器人的状态数据,并将所述状态数据写入所述数据持久化层中;
所述任务调度模块用于在从所述数据持久化层中获取到所述任务后,调用所述任务求解引擎,所述任务求解引擎用于根据所述任务的参数以及所述状态数据确定目标机器人,并将所述任务分解成子任务序列发送给所述目标机器人;所述交通调度模块用于在从所述处理器映射模块接收到交通规划请求后,调用所述交通规划引擎,所述交通规划引擎用于根据所述交通规划请求中的参数以及所述状态数据确定目标路线,并将所述目标路线发送给生成所述交通规划请求的机器人;所述任务求解引擎以及所述交通规划引擎均提供应用编程接口API。
2.根据权利要求1所述的系统,其特征在于,所述状态数据包括各个机器人的电量数据;所述应用层还包括充电管理模块;
所述充电管理模块用于:根据各个所述机器人的电量数据确定机器人是否需要充电;在确定有机器人需要充电时,确定需充电的机器人,并确定是否能查找到充电资源;当确定能查找到充电资源时,生成充电任务,并将所述需充电的机器人的标识写入所述数据持久化层中,将所述充电任务发送到所述处理器映射模块;所述充电任务中包括需充电的机器人标识;
所述处理器映射模块还用于在接收到所述充电管理模块发送的充电任务后,对所述充电任务进行解析,并将所述充电任务写入数据持久化层中;所述任务调度模块还用于在从所述数据持久化层获取到所述充电任务后,调用所述任务求解引擎,所述任务求解引擎用于将所述充电任务分解成充电子任务序列发送给所述充电任务中的机器人标识对应的机器人。
3.根据权利要求2所述的系统,其特征在于,所述处理器映射模块还用于接收所述用户发送的操作指令,对所述操作指令进行解析后,将所述操作指令转发到所述应用层的任务调度模块、交通调度模块或者充电管理模块中;其中,所述操作指令包括以下指令的至少一种:任务状态查询、删除任务、暂停任务以及机器人状态查询;
所述任务调度模块、所述交通调度模块或者所述充电管理模块还用于根据所述操作指令进行操作。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述任务求解引擎包括多个任务类型以及与各任务类型对应的子任务序列模板;
所述任务求解引擎将所述任务分解成子任务序列发送给所述目标机器人,具体为:
所述任务求解引擎根据所述任务的类型确定与所述任务对应的子任务序列模板;
所述任务求解引擎将所述任务的参数带入所述任务对应的子任务序列模板中,获取所述任务对应的子任务序列,并将所述子任务序列发送给所述目标机器人。
5.根据权利要求1-3任一项所述的系统,其特征在于,所述任务求解引擎包括智能求解算法;
所述任务求解引擎将所述任务分解成子任务序列发送给所述目标机器人,具体为:
所述任务求解引擎根据所述智能求解算法以及所述任务的参数,确定子任务序列,并将所述子任务序列发送给所述目标机器人。
6.根据权利要求2所述的系统,其特征在于,所述状态采集模块还用于在接收到所述机器人的状态数据后,从所述数据持久化层中获得所述机器人的控制参数,并将所述控制参数发送给所述机器人;所述控制参数包括以下信息的至少一种:机器人的控制模式或者机器人的最大速度。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述数据持久化层中还记录所述任务的执行状态以及任务执行信息;
所述任务调度模块还用于在将所述任务分解成子任务序列后,将所述任务的执行状态从未执行修改为执行中;
所述任务调度模块还用于在将所述子任务序列发送给所述目标机器人后,从所述目标机器人获取任务执行信息,并将所述任务执行信息写入所述数据持久化层中;所述任务执行信息用于指示所述任务执行至所述子任务序列中的哪一个子任务。
8.根据权利要求6所述的系统,其特征在于,所述数据持久化层包括关系型数据库和内存级数据库;
所述任务以及所述充电任务存储在所述关系型数据库中;所述控制参数存储在所述内存级数据库中。
9.根据权利要求8所述的系统,其特征在于,所述数据持久化层还包括描述文件,所述描述文件中包括工程配置文件;
所述任务调度模块、所述交通调度模块以及所述充电管理模块还用于从所述描述文件中获取所述工程配置文件,并装载所述工程配置文件。
10.根据权利要求1-3任一项所述的系统,其特征在于,所述中间层、所述应用层以及所述数据持久化层均采用应用容器引擎Docker的虚拟化容器技术实现。
CN201810989933.6A 2018-08-28 2018-08-28 机器人集群调度系统 Active CN109800937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810989933.6A CN109800937B (zh) 2018-08-28 2018-08-28 机器人集群调度系统

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201810989933.6A CN109800937B (zh) 2018-08-28 2018-08-28 机器人集群调度系统
EP18923759.7A EP3636390A4 (en) 2018-08-28 2018-11-20 ROBOT GROUP CLASSIFICATION SYSTEM
SG11202002289WA SG11202002289WA (en) 2018-08-28 2018-11-20 Robot cluster scheduling system
PCT/CN2018/116499 WO2020042385A1 (zh) 2018-08-28 2018-11-20 机器人集群调度系统

Publications (2)

Publication Number Publication Date
CN109800937A true CN109800937A (zh) 2019-05-24
CN109800937B CN109800937B (zh) 2020-12-01

Family

ID=66556240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810989933.6A Active CN109800937B (zh) 2018-08-28 2018-08-28 机器人集群调度系统

Country Status (4)

Country Link
EP (1) EP3636390A4 (zh)
CN (1) CN109800937B (zh)
SG (1) SG11202002289WA (zh)
WO (1) WO2020042385A1 (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231233A (zh) * 2011-06-29 2011-11-02 南京航空航天大学 自动引导车分布式自主协同控制系统及控制方法
CN103309350A (zh) * 2013-05-24 2013-09-18 南京航空航天大学 基于全局无线精确定位的自动导引车调度系统及其方法
CN105425791A (zh) * 2015-11-06 2016-03-23 武汉理工大学 一种基于视觉定位的群机器人控制系统及方法
CN106228302A (zh) * 2016-07-21 2016-12-14 上海仙知机器人科技有限公司 一种用于在目标区域内进行任务调度的方法与设备
CN106452903A (zh) * 2016-10-31 2017-02-22 华南理工大学 一种基于云辅助的智能仓管机器人系统与方法
CN106444791A (zh) * 2016-12-20 2017-02-22 南阳师范学院 一种多agv小车上位机统一调度系统设计方法
CN107423952A (zh) * 2017-07-25 2017-12-01 苏州博纳讯动软件有限公司 一种可扩展的DevOps持续交付系统及其方法
US20180004202A1 (en) * 2016-07-01 2018-01-04 Innovation Matrix, Inc. Robot fleet dispatch request system
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度系统及方法
CN108415944A (zh) * 2018-01-30 2018-08-17 长安大学 一种交通环境下基于微服务的实时计算系统及其实现方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003001578A (ja) * 2001-06-26 2003-01-08 Casio Comput Co Ltd ロボット、ロボット管理システム、ロボット制御プログラム、ロボット管理処理プログラム、ロボット管理方法、及び機器管理システム、機器管理処理プログラム、機器管理方法
KR100607141B1 (ko) * 2004-05-12 2006-08-01 한국생산기술연구원 개방형 분산처리구조의 로봇 제어 시스템
CN104199428A (zh) * 2014-09-17 2014-12-10 上海畔慧信息技术有限公司 群体机器人管理服务器及其方法
CN108121330A (zh) * 2016-11-26 2018-06-05 沈阳新松机器人自动化股份有限公司 一种调度方法、调度系统及地图路径规划方法
CN107450491B (zh) * 2017-08-04 2021-02-23 杭州南江机器人股份有限公司 一种机器人调度系统、方法、电子设备和存储介质
CN108227654A (zh) * 2017-12-28 2018-06-29 顺丰科技有限公司 一种调度服务端、调度装置、机器人系统及调度方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231233A (zh) * 2011-06-29 2011-11-02 南京航空航天大学 自动引导车分布式自主协同控制系统及控制方法
CN103309350A (zh) * 2013-05-24 2013-09-18 南京航空航天大学 基于全局无线精确定位的自动导引车调度系统及其方法
CN105425791A (zh) * 2015-11-06 2016-03-23 武汉理工大学 一种基于视觉定位的群机器人控制系统及方法
US20180004202A1 (en) * 2016-07-01 2018-01-04 Innovation Matrix, Inc. Robot fleet dispatch request system
CN106228302A (zh) * 2016-07-21 2016-12-14 上海仙知机器人科技有限公司 一种用于在目标区域内进行任务调度的方法与设备
CN106452903A (zh) * 2016-10-31 2017-02-22 华南理工大学 一种基于云辅助的智能仓管机器人系统与方法
CN106444791A (zh) * 2016-12-20 2017-02-22 南阳师范学院 一种多agv小车上位机统一调度系统设计方法
CN107423952A (zh) * 2017-07-25 2017-12-01 苏州博纳讯动软件有限公司 一种可扩展的DevOps持续交付系统及其方法
CN108415944A (zh) * 2018-01-30 2018-08-17 长安大学 一种交通环境下基于微服务的实时计算系统及其实现方法
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度系统及方法

Also Published As

Publication number Publication date
WO2020042385A1 (zh) 2020-03-05
SG11202002289WA (en) 2020-04-29
CN109800937B (zh) 2020-12-01
EP3636390A1 (en) 2020-04-15
EP3636390A4 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
CN107733977B (zh) 一种基于Docker的集群管理方法及装置
Monot et al. Multisource software on multicore automotive ECUs—Combining runnable sequencing with task scheduling
CN102681865B (zh) 分布式系统中的协调升级
CN100561514C (zh) 管理过程执行的方法及其系统
CN104657212B (zh) 一种任务调度的方法及系统
CN108062246B (zh) 用于深度学习框架的资源调度方法和装置
US8606386B2 (en) Multi-agent system for distributed manufacturing scheduling with Genetic Algorithms and Tabu Search
Powell et al. On the value of optimal myopic solutions for dynamic routing and scheduling problems in the presence of user noncompliance
CN105933372B (zh) 任务分配执行方法、服务器及终端
CN103593242B (zh) 基于Yarn框架的资源共享控制系统
AU2011253405B2 (en) Real time mission planning
CN101206589B (zh) 用于执行库存扫描的方法与系统
CN104520815B (zh) 一种任务调度的方法及装置
JP6122621B2 (ja) プロジェクトの計画及び管理のシミュレーション及び視覚化
US20140181816A1 (en) Methods and apparatus to manage virtual machines
US10474504B2 (en) Distributed node intra-group task scheduling method and system
US8954579B2 (en) Transaction-level health monitoring of online services
US8893118B2 (en) Migratable unit based application migration
CN103034536A (zh) 提高有状态应用的可用性
CN102279730B (zh) 一种并行的数据处理方法、装置和并行的数据处理系统
CN106228302A (zh) 一种用于在目标区域内进行任务调度的方法与设备
US8301935B2 (en) Distributed batch runner
US20150100832A1 (en) Method and system for selecting and executing test scripts
CN103514277B (zh) 用电信息采集系统的任务并行处理方法
CN102880503A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40007845

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant