机器人集群调度系统的制作方法

文档序号:17743093发布日期:2019-05-24 20:22阅读:176来源:国知局
机器人集群调度系统的制作方法

本发明实施例涉及机器人调度技术,尤其涉及一种机器人集群调度系统。



背景技术:

随着通信技术及电子技术的发展,机器人在工业领域中的应用越来越广泛。在机器人的应用中,如何对机器人进行调度非常重要。

目前的一种机器人调度系统包括:机器人控制系统和中间控制系统。其中,机器人控制系统用于从中间控制系统获取机器人管理信息,根据机器人管理信息生成任务指令,并将任务指令发送至于任务指令关联的引导车或者外部设备。中间控制系统包括:第一接口层、中间业务处理层以及接入层,第一接口层包括用于从业务管理系统获取任务包的业务接口,中间业务处理层用于根据从业务管理系统获取的任务包生成机器人管理信息,接入层包括控制接口,接入层通过控制接口连接于机器人控制系统。

但是,上述的机器人调度系统,一方面,不支持二次开发,另一方面,机器人控制系统在将任务指令发送至任务指令关联的引导车或者外部设备时,并没有根据任务指令的参数对任务进行最优分配,也没有为机器人分配最优行驶路线,这导致调度后任务的执行效率较低。



技术实现要素:

本发明提供一种机器人集群调度系统,以解决目前的机器人调度系统对机器人调度后,任务的执行效率低的技术问题。

本发明实施例提供一种机器人集群调度系统,所述系统包括:用户层、中间层、应用层、插件层以及数据持久化层;其中,

所述用户层包括所述调度系统的服务对象,所述服务对象为用户或者机器人;所述中间层包括处理器映射模块以及状态采集模块;所述应用层包括任务调度模块以及交通调度模块;所述插件层包括任务求解引擎以及交通规划引擎;

所述处理器映射模块用于接收所述用户发送的任务或者所述机器人发送的交通规划请求,对所述任务或者所述交通规划请求进行解析后,将所述任务写入所述数据持久化层中,将所述交通规划请求转发到应用层的交通调度模块中;所述状态采集模块用于接收所述机器人的状态数据,并将所述状态数据写入所述数据持久化层中;

所述任务调度模块用于在从所述数据持久化层中获取到所述任务后,调用所述任务求解引擎,所述任务求解引擎用于根据所述任务的参数以及所述状态数据确定目标机器人,并将所述任务分解成子任务序列发送给所述目标机器人;所述交通调度模块用于在从所述处理器映射模块接收到交通规划请求后,调用所述交通规划引擎,所述交通规划引擎用于根据所述交通规划请求中的参数以及所述状态数据确定目标路线,并将所述目标路线发送给生成所述交通规划请求的机器人;所述任务求解引擎以及所述交通规划引擎均提供api。

如上所述的系统中,所述状态数据包括各个机器人的电量数据;所述应用层还包括充电管理模块;

所述充电管理模块用于:根据各个所述机器人的电量数据确定机器人是否需要充电;在确定有机器人需要充电时,确定需充电的机器人,并确定是否能查找到充电资源;当确定能查找到充电资源时,生成充电任务,并将所述需充电的机器人的标识写入所述数据持久化层中,将所述充电任务发送到所述处理器映射模块;所述充电任务中包括需充电的机器人标识;

所述处理器映射模块还用于在接收到所述充电管理模块发送的充电任务后,对所述充电任务进行解析,并将所述充电任务写入数据持久化层中;所述任务调度模块还用于在从所述数据持久化层获取到所述充电任务后,调用所述任务求解引擎,所述任务求解引擎用于将所述充电任务分解成充电子任务序列发送给所述充电任务中的机器人标识对应的机器人。

如上所述的系统中,所述处理器映射模块还用于接收所述用户发送的操作指令,对所述操作指令进行解析后,将所述操作指令转发到所述应用层的任务调度模块、交通调度模块或者充电管理模块中;其中,所述操作指令包括以下指令的至少一种:任务状态查询、删除任务、暂停任务以及机器人状态查询;

所述任务调度模块、所述交通调度模块或者所述充电管理模块还用于根据所述操作指令进行操作。

如上所述的系统中,所述任务求解引擎包括多个任务类型以及与各任务类型对应的子任务序列模板;

所述任务求解引擎将所述任务分解成子任务序列发送给所述目标机器人,具体为:

所述任务求解引擎根据所述任务的类型确定与所述任务对应的子任务序列模板;

所述任务求解引擎将所述任务的参数带入所述任务对应的子任务序列模板中,获取所述任务对应的子任务序列,并将所述子任务序列发送给所述目标机器人。

如上所述的系统中,所述任务求解引擎包括智能求解算法;

所述任务求解引擎将所述任务分解成子任务序列发送给所述目标机器人,具体为:

所述任务求解引擎根据所述智能求解算法以及所述任务的参数,确定子任务序列,并将所述子任务序列发送给所述目标机器人。

如上所述的系统中,所述状态采集模块还用于在接收到所述机器人的状态数据后,从所述数据持久化层中获得所述机器人的控制参数,并将所述控制参数发送给所述机器人;所述控制参数包括以下信息的至少一种:机器人的控制模式或者机器人的最大速度。

如上所述的系统中,所述数据持久化层中还记录所述任务的执行状态以及任务执行信息;

所述任务调度模块还用于在将所述任务分解成子任务序列后,将所述任务的执行状态从未执行修改为执行中;

所述任务调度模块还用于在将所述子任务序列发送给所述目标机器人后,从所述目标机器人获取任务执行信息,并将所述任务执行信息写入所述数据持久化层中;所述任务执行信息用于指示所述任务执行至所述子任务序列中的哪一个子任务。

如上所述的系统中,所述数据持久化层包括关系型数据库和内存级数据库;

所述任务以及所述充电任务存储在所述关系型数据库中;所述控制参数存储在所述内存级数据库中。

如上所述的系统中,所述数据持久化层还包括描述文件,所述描述文件中包括工程配置文件;

所述任务调度模块、所述交通调度模块以及所述充电管理模块还用于从所述描述文件中获取所述工程配置文件,并装载所述工程配置文件。

如上所述的系统中,所述中间层、所述应用层以及所述数据持久化层均采用docker的虚拟化容器技术实现。

本发明实施例提供的机器人集群调度系统,通过设置用户层、中间层、应用层、插件层以及数据持久化层,其中,用户层包括调度系统的服务对象,服务对象为用户或者机器人,中间层包括处理器映射模块以及状态采集模块,应用层包括任务调度模块以及交通调度模块,插件层包括任务求解引擎以及交通规划引擎,处理器映射模块用于接收用户发送的任务或者机器人发送的交通规划请求,对任务或者交通规划请求进行解析后,将任务写入数据持久化层中,将交通规划请求转发到应用层的交通调度模块中,状态采集模块用于接收机器人的状态数据,并将状态数据写入数据持久化层中,任务调度模块用于在从数据持久化层中获取到任务后,调用任务求解引擎,任务求解引擎用于根据任务的参数以及状态数据确定目标机器人,并将任务分解成子任务序列发送给目标机器人,交通调度模块用于在从处理器映射模块接收到交通规划请求后,调用交通规划引擎,交通规划引擎用于根据交通规划请求中的参数以及状态数据确定目标路线,并将目标路线发送给生成交通规划请求的机器人,任务求解引擎以及交通规划引擎均提供api,一方面,实现了一种支持二次开发的机器人集群调度系统,可根据实际需求实现任务求解和交通规划,系统耦合性较低,另一方面,实现了根据任务确定目标机器人,实现机器人任务的最优分配,提高了调度后任务的执行效率,再一方面,可以智能规划机器人的交通路线,防止机器人出现交通堵塞。

附图说明

图1为本发明实施例提供的机器人集群调度系统实施例一的结构示意图;

图2a为图1所示实施例中处理器映射模块的执行流程图;

图2b为图1所示实施例中状态采集模块的执行流程图;

图2c为图1所示实施例中任务调度模块的执行流程图;

图2d为图1所示实施例中交通调度模块的执行流程图;

图2e为图1所示实施例中任务求解引擎的执行流程图;

图2f为图1所示实施例中交通规划引擎的执行流程图;

图3为本发明实施例提供的机器人集群调度系统实施例二的结构示意图;

图4为图3所示实施例中充电管理模块的执行流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明实施例提供的机器人集群调度系统实施例一的结构示意图。如图1所示,本发明实施例提供的机器人集群调度系统包括:用户层、中间层、应用层、插件层以及数据持久化层。

其中,用户层包括调度系统的服务对象,服务对象为用户或者机器人。中间层包括处理器映射模块以及状态采集模块。应用层包括任务调度模块以及交通调度模块。插件层包括任务求解引擎以及交通规划引擎。

处理器映射模块用于接收用户发送的任务或者机器人发送的交通规划请求,对任务或者交通规划请求进行解析后,将任务写入数据持久化层中,将交通规划请求转发到应用层的交通调度模块中。

状态采集模块用于接收机器人的状态数据,并将状态数据写入数据持久化层中。

任务调度模块用于在从数据持久化层中获取到任务后,调用任务求解引擎,任务求解引擎用于根据任务的参数以及状态数据确定目标机器人,并将任务分解成子任务序列发送给目标机器人。

交通调度模块用于在从处理器映射模块接收到交通规划请求后,调用交通规划引擎,交通规划引擎用于根据交通规划请求中的参数以及状态数据确定目标路线,并将目标路线发送给生成交通规划请求的机器人。

任务求解引擎以及交通规划引擎均提供应用编程接口(applicationprogramminginterface,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-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1