CN105729491B - 机器人任务的执行方法、装置及系统 - Google Patents
机器人任务的执行方法、装置及系统 Download PDFInfo
- Publication number
- CN105729491B CN105729491B CN201610204231.3A CN201610204231A CN105729491B CN 105729491 B CN105729491 B CN 105729491B CN 201610204231 A CN201610204231 A CN 201610204231A CN 105729491 B CN105729491 B CN 105729491B
- Authority
- CN
- China
- Prior art keywords
- robot
- task
- amount
- received
- resource
- 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.)
- Active
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Abstract
本发明公开了一种机器人任务的执行方法、装置及系统。其中,该方法包括:第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型;在判断出接收到的任务的类型为第一类型的情况下,第一机器人执行接收到的任务;在判断出接收到的任务的类型为第二类型的情况下,第一机器人将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人,由第二机器人执行接收到的子任务。本发明解决了相关技术中机器人在处理任务时效率较低的技术问题。
Description
技术领域
本发明涉及机器人领域,具体而言,涉及一种机器人任务的执行方法、装置及系统。
背景技术
如图1所示,机器人系统可以分为input(输入部件)、output(执行部件)和brain(控制部件)三部分,input指机器人系统的传感器系统,如摄像头、超声波、红外、激光雷达、麦克风、GPS等众多可能的数据采集模块及人工的交互输入模块;output表示机器人系统的执行部件,如运动底盘、机械臂、摄像头、人工交互(如表情、语音等)输出装置及其它具有执行功能的部件;brain是机器人系统的核心,内部由算法及运行逻辑(即Algorithm&Logic)组成,比如计算视觉的算法、即时定位与地图构建(SLAM,Simultaneous Localization AndMapping)导航系统、避障系统、物联网(IOT,Internet Of Things)控制逻辑、人工交互逻辑、情景分析系统、大数据分析模块等。
机器人在实时运行时所消耗的资源(如内存资源、CPU资源)和产生的数据量都非常大,如在运行视觉算法时,它首先要通过摄像头、超声波、激光雷达等多种传感器采集数据,然后基于采集到的数据进行导航,而SLAM导航算法在运行时还会产生大量的地图数据和其它元数据,这对于机器人系统的存储资源和计算资源的消耗都很大,由于机器人的计算机资源(CPU资源和内存资源等)有限,而机器人在处理这类任务时需要耗费的计算机资源较多,从而会造成其处理效率低。
针对相关技术中机器人在处理任务时效率较低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种机器人任务的执行方法、装置及系统,以至少解决相关技术中机器人在处理任务时效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种机器人任务的执行方法,该方法包括:第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型;在判断出接收到的任务的类型为第一类型的情况下,第一机器人执行接收到的任务;在判断出接收到的任务的类型为第二类型的情况下,第一机器人将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人,由第二机器人执行接收到的子任务。
进一步地,第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型包括:计算接收到的任务的资源占用量;若资源占用量小于第一预设值,则判断出接收到的任务的类型为第一类型;若资源占用量不小于第一预设值,则判断出接收到的任务的类型为第二类型。
进一步地,在将多个子任务移送至一个或多个第二机器人之后,该方法还包括:接收执行完子任务的第二机器人反馈的执行结果。
进一步地,在第一机器人将接收到的任务拆分为多个子任务之前,该方法还包括:获取第一机器人的资源剩余量,其中,在第一机器人的资源剩余量小于第二预设值的情况下,将接收到的任务拆分为多个子任务。
进一步地,将多个子任务移送至一个或多个第二机器人包括:发送多个子任务至服务器,其中,服务器将接收到的多个子任务分配至一个或多个第二机器人,第二机器人为资源剩余量大于第三预设值的机器人。
进一步地,将多个子任务移送至一个或多个第二机器人包括:发送多个子任务至第一机器人所在局域网的主控机器人,其中,局域网的主控机器人将接收到的多个子任务分配至局域网内的一个或多个第二机器人,第二机器人为资源剩余量大于第三预设值的机器人。
进一步地,局域网包括mesh网络,其中,在第一机器人将接收到的任务拆分为多个子任务之前,该方法还包括:第一机器人与一个或多个第三机器人建立第一mesh网络,第三机器人为与第一机器人的距离在预设距离内的机器人;根据预设规则从第一mesh网络内的机器人中确定出主控机器人。
进一步地,在根据预设规则从第一mesh网络内的机器人中确定出主控机器人之后,该方法还包括:第一mesh网络中的主控机器人与第二mesh网络中的主控机器人建立通讯连接,其中,第二mesh网络中包括多个机器人;第一mesh网络中的主控机器人获取第二mesh网络的地理信息;第一mesh网络中的主控机器人按照地理信息控制第一mesh网络中所有机器人移动至第二mesh网络所在的地理区域,以在地理区域内建立第三mesh网络,其中,第三mesh网络包括第一mesh网络和第二mesh网络中的所有机器人。
根据本发明实施例的另一个方面,还提供了一种机器人任务的执行装置,该装置包括:判断模块,用于使第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型;执行模块,用于在判断出接收到的任务的类型为第一类型的情况下,使第一机器人执行接收到的任务;拆分模块,用于在判断出接收到的任务的类型为第二类型的情况下,使第一机器人将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人,由第二机器人执行接收到的子任务。
根据本发明实施例的另一个方面,还提供了一种机器人任务的执行系统,该系统包括:第一机器人,用于基于接收到的任务的资源占用量判断接收到的任务的类型,在判断出接收到的任务的类型为第一类型的情况下,执行接收到的任务;在判断出接收到的任务的类型为第二类型的情况下,将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人;至少一个第二机器人,用于执行接收到的子任务。
通过上述实施例,第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型;在判断出接收到的任务的类型为第一类型的情况下,第一机器人执行接收到的任务;在判断出接收到的任务的类型为第二类型的情况下,第一机器人将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人,由第二机器人执行接收到的子任务,从而解决了相关技术中机器人在处理任务时效率较低的技术问题,在任务需要占用较多的资源时,可以拆分为多个子任务,由多个机器人共同执行,以提高执行效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中机器人系统结构的示意图;
图2是根据本发明实施例的机器人任务的执行方法的流程图;
图3是根据本发明实施例的一个可选的机器人集群的示意图;
图4是根据本发明实施例的另一个可选的机器人集群的示意图;
图5是根据本发明实施例的第三个可选的机器人集群的示意图;
图6是根据本发明实施例的第四个可选的机器人集群的示意图;
图7是根据本发明实施例的机器人任务的执行装置的示意图;以及
图8是根据本发明实施例的机器人任务的执行系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
SLAM:英文全称Simultaneous Localization And Mapping,即时定位与地图构建,机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。
根据本发明实施例,提供了一种机器人任务的执行方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的机器人任务的执行方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型。
上述的资源占用量包括执行任务需要占用的处理器资源量、内存资源量、硬盘存储资源量中的至少之一。
步骤S202,在判断出接收到的任务的类型为第一类型的情况下,第一机器人执行接收到的任务。
在该任务属于轻型任务(即第一类型的任务)时,第一机器人则自己执行该任务。
步骤S203,在判断出接收到的任务的类型为第二类型的情况下,第一机器人将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人,由第二机器人执行接收到的子任务。
在该任务属于重型任务时(即第二类型的任务),第一机器人则将该任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人,由第二机器人执行接收到的子任务。
通过实施上述实施例,解决了相关技术中机器人在处理任务时效率较低的技术问题,在任务需要占用较多的资源时,可以拆分为多个子任务,由多个机器人共同执行,以提高执行效率。
在步骤S201的方案中,第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型可以通过如下方式实现:计算接收到的任务的资源占用量;若资源占用量小于第一预设值,则判断出接收到的任务的类型为第一类型;若资源占用量不小于第一预设值,则判断出接收到的任务的类型为第二类型。
在资源占用量为处理器资源量、内存资源量、硬盘存储资源量之中的一种的情况下,可以直接设置一个警戒值(即上述的第一预设值,如设置为处理器额定资源量的50%、内存额定资源量的60%等),在计算出任务的资源占用量后,可以直接判断其是否达到了上述的警戒值,若达到了警戒值,则将该任务拆分;若未达到警戒值,则执行该任务;也可以基于处理器资源、内存资源、硬盘存储资源的剩余量确定上述的警戒值,如设置为处理器资源剩余量的50%、内存资源剩余量的60%等),当任务需要占用的资源剩余量达到了上述的警戒值时,就对任务进行拆分,若未达到警戒值,则执行该任务。
在资源占用量包括处理器资源量、内存资源量、硬盘存储资源量中的至少两种的情况下,在计算接收到的任务的资源占用量时,可以为处理器资源量、内存资源量、硬盘存储资源量分别设置一个对应的权重,然后根据任务需要占用的处理器资源量、内存资源量、硬盘存储资源量及对应的权重得到资源占用量,以据此判断出任务的类型,选择自己执行或者拆分为多个子任务,分给其他机器人执行。
如将处理器资源量、内存资源量、硬盘存储资源量对应的权重分别设置为k1、k2、k3,k1、k2以及k3之和为1,通过对任务的预处理可得知其需要占用的处理器资源量s1、内存资源量s2、硬盘存储资源量s3,从而可以得到其资源占用量s=s1*k1+s2*k2+s3*k3,并将资源占用量与机器人的额定资源量(如额定资源量的50%、80%等)、或者资源剩余量(如剩余资源量的50%、70%、90%等)进行对比,从而确定其类型,并决定是否进行拆分。
可选地,由于机器人面对的场景十分复杂,其需要处理的数据量非常大,在判断出任务的类型之后,在第一机器人将接收到的任务拆分为多个子任务之前,除了考虑任务自身需要占用的资源量外,还需要考虑在未来一段时间内处理其他事物需要占用的资源量,因此,可以获取第一机器人的资源剩余量,在第一机器人的资源剩余量小于第二预设值的情况下,将接收到的任务拆分为多个子任务。即在任务为重型任务且机器人自身资源剩余量较小,如小于其额定资源量的50%(即上述的第二预设值)时,就直接将接收到的任务拆分为多个子任务;在任务为重型任务,且其自身资源剩余量较充足时,就需要考虑其他机器人的情况,若其他机器人处于空闲状态,则可以将接收到的任务拆分为多个子任务,以分给其他机器人执行,若其他机器人处于较忙的状态,则第一机器人自己执行该任务。
通过上述实施例,将重型的任务分为多个子任务来分别执行,可以提高系统中机器人的资源利用率,同时提高任务的执行效率。
在一个可选的实施例中,步骤S203的将多个子任务移送至一个或多个第二机器人可以包括:发送多个子任务至服务器,其中,服务器将接收到的多个子任务分配至一个或多个第二机器人,第二机器人为资源剩余量大于第三预设值的机器人。
如图3所示,当场景内有多个机器人(即机器人集群,包括第一机器人302和多个第二机器人303),且需要这些机器人共同完成某些功能时,可以为机器人集群配置一个服务器301,以充当master的功能,机器人通过互联网连接至服务器,由服务器统一管理机器人集群中的各个机器人(该管理功能由服务器的“slave manager”模块,即管理模块实现),生成的子任务通过服务器进行分配和调度。
如对于第一机器人302,在input端(即输入部件)的传感器采集到数据后,brain(即控制部件)中的“step1”模块(即预处理模块)先进行数据预处理,如确定数据处理任务需要的资源占用量、处理时间等,将资源消耗较多(即资源占用量较大)的计算任务传递给“step2”模块(即中转模块),此时,可以通过brain中的“resource monitor”模块(即资源管理模块)查看机器人自身的负载情况,机器人集群中每个机器人的负载情况均会被汇总至服务器端,若第一机器人的负载较高,则会通过“task generator”模块(即任务生成)生成子任务发送到服务器端,服务器在查看各个机器人的负载情况之后,通过其“scheduler”模块(即分配模块)将子任务分配给其他负载较低的一个或者多个第二机器人,第二机器人的“executor”模块(即执行模块)执行接收到的任务,在执行完之后,通过brain的“step2”模块(即中转模块)将执行结果发送至服务器,由服务器返回执行结果只第一机器人。
通过上述实施例,由服务器充当主控的功能,统一管理所有机器人,机器人任务通过服务器进行分配和调度,通过对机器人系统的本身功能进行细化分解,将对存储、cpu、内存等稀缺资源占用较多的处理任务分解为小块的task(即子任务),然后集群内的各个机器人间可以进行任务调度,进行优化资源和负载均衡的调配,从而可以提高任务的执行效率。
在上述实施例中,机器人集群中各个机器人之间的信息传递受控于服务器,而机器人又是通过互联网与服务器连接,当机器人工作在一个室外的没有互联网的环境时,将不能实现上述任务的分配和执行,为了克服该问题,步骤S203的将多个子任务移送至一个或多个第二机器人可以包括:发送多个子任务至第一机器人所在局域网(即机器人集群中各个机器人组成的网络)的主控机器人,其中,局域网的主控机器人将接收到的多个子任务分配至局域网内的一个或多个第二机器人,第二机器人为资源剩余量大于第三预设值的机器人。
如图4所示,在室外等没有互联网的场景中,机器人集群中各个机器人可以通过“猜拳”算法确定出主控机器人402,在确定完主控机器人之后,就可以通过主控机器人实现master的功能。在执行任务时,如第一机器人401在扫雷时,由于周围地形较复杂,其需要同时对大量数据进行处理,此时,可以先通过传感器扫描获取原始数据,对于数据量较大的任务,可以将其等分为多个子任务,并发送至主控机器人,主控机器人在查看各个第二机器人403的负载情况之后,将子任务分配给负载率较低的第二机器人,第二机器人在执行完毕之后通过主控机器人返回执行结果至第一机器人。
可选地,在对数据量较大的任务进行预处理时,可以先通过主控机器人查看各个第二机器人的负载率,然后将任务根据负载率分为多个不等量的子任务,并将子任务分配给对应的第二机器人。
在将多个子任务移送至一个或多个第二机器人之后,在第二机器人执行完任务时,还需要接收执行完子任务的第二机器人反馈的执行结果。
通过上述实施例,在不使用中心服务器的情况下,可由所有机器人基于“猜拳”算法进行仲裁,让“猜拳”获胜的机器人兼任master的职责,统一分配管理群组中所有机器人的任务调度,这样,当机器人工作在一个室外的没有互联网网络的环境时,机器人群组可以自组网完成内部的所有沟通协调功能,不依赖外部的中心服务器。
需要说明的是,因为机器人的运动性,造成传统的无线局域网这类“单跳”网络并不适用于多机器人的协同工作,因为在这类网络中,所有联网设备都通过AP(WirelessAccess Point,无线访问接入点)进行通信,当机器人移动到较远的位置时就会与AP失去通信,为了克服该问题,本申请的局域网采用mesh网络,mesh网络属于“多跳”网络,是一个动态的可以不断扩展的网络架构,任意的两个设备均可以保持无线互联,并可以进行自由组网。如,在第一机器人将接收到的任务拆分为多个子任务之前,可以通过如下方式进行组网:第一机器人与一个或多个第三机器人建立第一mesh网络,第三机器人为与第一机器人的距离在预设距离内的机器人,即将距离相近的机器人进行自组网;根据预设规则从第一mesh网络内的机器人中确定出主控机器人,如使用上述的“猜拳”算法确定出一个master节点(即主控机器人),由主控机器人负责网内的所有机器人的管理,如任务分配等,同时,主控机器人具有连接互联网的能力,由它负责和云端进行通信。
可选地,如图5和图6所示,为了更好的合作执行任务,在根据预设规则从第一mesh网络501内的机器人中确定出主控机器人5011之后,还可以通过如下方式进行组网:第一mesh网络中的主控机器人与第二mesh网络502中的主控机器人5021建立通讯连接,如通过云端互联网建立连接,上述的第二mesh网络中包括多个机器人;第一mesh网络中的主控机器人获取第二mesh网络的地理信息;第一mesh网络中的主控机器人按照地理信息控制第一mesh网络中所有机器人移动至第二mesh网络所在的地理区域,以在地理区域内建立第三mesh网络601,其中,第三mesh网络包括第一mesh网络和第二mesh网络中的所有机器人。
在上述实施例中,当有需要时,两个或者多个距离较远的机器人群组可以通过云端了解到彼此的位置,然后移动到近距离然后合并成一个大的群组,并重新仲裁出master节点;同样的,如果有功能需要,一个大的机器人群组也可以分裂成两个或者多个个群组,然后各自完成不同的任务工作。
通过上述实施例,使用mesh网络来代替互联网,可以避免网内机器人掉线等问题,同时可以根据任务和功能的需求,进行机器人群组的合并或者拆分,并保证整个系统的可靠运行。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例还提供了一种机器人任务的执行装置。需要说明的是,本发明实施例的机器人任务的执行装置可以用于执行本发明实施例所提供的机器人任务的执行方法。图7是根据本发明实施例的机器人任务的执行装置的示意图。如图7所示,该装置可以包括:判断模块71、执行模块72以及拆分模块73。
判断模块71,用于使第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型。
执行模块72,用于在判断出接收到的任务的类型为第一类型的情况下,使第一机器人执行接收到的任务。
拆分模块73,用于在判断出接收到的任务的类型为第二类型的情况下,使第一机器人将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人,由第二机器人执行接收到的子任务。
可选的,判断模块71进一步用于,计算接收到的任务的资源占用量;若资源占用量小于第一预设值,则判断出接收到的任务的类型为第一类型;若资源占用量不小于第一预设值,则判断出接收到的任务的类型为第二类型。
可选的,该装置还可包括:接收模块,用于接收执行完子任务的第二机器人反馈的执行结果。
可选的,拆分模块73进一步用于,在判断出接收到的任务的类型为第二类型的情况下,获取第一机器人的资源剩余量,其中,在第一机器人的资源剩余量小于第二预设值的情况下,将接收到的任务拆分为多个子任务。
可选的,拆分模块73进一步用于,发送多个子任务至服务器,其中,服务器将接收到的多个子任务分配至一个或多个第二机器人,第二机器人为资源剩余量大于第三预设值的机器人。
可选的,拆分模块73进一步用于,发送多个子任务至第一机器人所在局域网的主控机器人,其中,局域网的主控机器人将接收到的多个子任务分配至局域网内的一个或多个第二机器人,第二机器人为资源剩余量大于第三预设值的机器人。
通过实施上述实施例,解决了相关技术中机器人在处理任务时效率较低的技术问题,在任务需要占用较多的资源时,可以拆分为多个子任务,由多个机器人共同执行,以提高执行效率。
本发明实施例还提供了一种机器人任务的执行系统。图8是根据本发明实施例的机器人任务的执行系统的示意图。如图8所示,该系统可以包括:第一机器人81、至少一个第二机器人82。
第一机器人81用于基于接收到的任务的资源占用量判断接收到的任务的类型,在判断出接收到的任务的类型为第一类型的情况下,执行接收到的任务;在判断出接收到的任务的类型为第二类型的情况下,将接收到的任务拆分为多个子任务,并将多个子任务移送至一个或多个第二机器人82。
上述的资源占用量包括执行任务需要占用的处理器资源量、内存资源量、硬盘存储资源量中的至少之一。
在资源占用量为处理器资源量、内存资源量、硬盘存储资源量之中的一种的情况下,可以直接设置一个警戒值(即上述的第一预设值,如设置为处理器额定资源量的50%、内存额定资源量的60%等),在计算出任务的资源占用量后,可以直接判断其是否达到了上述的警戒值,若达到了警戒值,则将该任务拆分;若未达到警戒值,则执行该任务;也可以基于处理器资源、内存资源、硬盘存储资源的剩余量确定上述的警戒值,如设置为处理器资源剩余量的50%、内存资源剩余量的60%等),当任务需要占用的资源剩余量达到了上述的警戒值时,就对任务进行拆分,若未达到警戒值,则执行该任务。
在资源占用量包括处理器资源量、内存资源量、硬盘存储资源量中的至少两种的情况下,在计算接收到的任务的资源占用量时,可以为处理器资源量、内存资源量、硬盘存储资源量分别设置一个对应的权重,然后根据任务需要占用的处理器资源量、内存资源量、硬盘存储资源量及对应的权重得到资源占用量,以据此判断出任务的类型,选择自己执行或者拆分为多个子任务,分给其他机器人执行。
如将处理器资源量、内存资源量、硬盘存储资源量对应的权重分别设置为k1、k2、k3,k1、k2以及k3之和为1,通过对任务的预处理可得知其需要占用的处理器资源量s1、内存资源量s2、硬盘存储资源量s3,从而可以得到其资源占用量s=s1*k1+s2*k2+s3*k3,并将资源占用量与机器人的额定资源量(如额定资源量的50%、80%等)、或者资源剩余量(如剩余资源量的50%、70%、90%等)进行对比,从而确定其类型,并决定是否进行拆分。
在对任务进行拆分时,对于数据量较大的任务,可以将其等分为多个子任务,并发送至主控机器人,主控机器人在查看各个第二机器人的负载情况之后,将子任务分配给资源剩余量充足的第二机器人,第二机器人在执行完毕之后通过主控机器人返回执行结果至第一机器人。
也可以在对数据量较大的任务进行预处理时,将其随机分为大小不等的多个子任务,在分配任务时,通过主控机器人查看各个第二机器人的资源剩余量,然后根据资源剩余量和子任务的资源占用量分配子任务至对应的第二机器人,第二机器人在执行完毕之后通过主控机器人返回执行结果至第一机器人。
还可以在对数据量较大的任务进行预处理时,先通过主控机器人查看各个第二机器人的资源剩余量,然后据此进行子任务的分割,并将分割好的子任务分配给对应的第二机器人,第二机器人在执行完毕之后通过主控机器人返回执行结果至第一机器人。
至少一个第二机器人82用于执行接收到的子任务。
该系统还可以包括主控设备,主控设备用于接收第一机器人移送的多个子任务,并按照第二机器人的资源剩余量所在的数值区间为第二机器人分配对应的子任务。
主控设备可以是机器人,也可以是与所有机器人连接的服务器。
需要说明的是,上述的主控设备是按照预设算法计算多个第二机器人中各个第二机器人的资源剩余量。
服务器端保存有两个信息表,一个信息表用于保存每个机器人最新上传的资源剩余量,另一个信息表保存有每个机器人的任务列表,按照预设算法计算第二机器人的资源剩余量即从机器人的当前资源剩余量中扣除机器人在未来一段时间内执行其自身任务需要占用的资源而剩下的资源量,从而可以根据子任务的大小将其分配至对应的第二机器人。
通过上述实施例,在接收到的任务的资源占用量大于第一预设值时,第一机器人将接收到的任务拆分为多个子任务,并移动给主控设备,主控设备接收第一机器人移送的多个子任务,并按照第二机器人的资源剩余量所在的数值区间为第二机器人分配对应的子任务;多个第二机器人执行接收到的子任务,从而解决了相关技术中机器人在处理任务时效率较低的技术问题,实现了提高机器人系统任务执行效率的技术效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种机器人任务的执行方法,其特征在于,包括:
第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型;
在判断出接收到的任务的类型为第一类型的情况下,所述第一机器人执行接收到的任务;
在判断出接收到的任务的类型为第二类型的情况下,所述第一机器人将接收到的任务拆分为多个子任务,并将所述多个子任务移送至一个或多个第二机器人,由所述第二机器人执行接收到的所述子任务;
其中,所述第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型包括:
在所述资源占用量包括处理器资源量、内存资源量、硬盘存储资源量中的至少两种的情况下,在计算接收到的所述任务的资源占用量时,为所述处理器资源量、所述内存资源量、所述硬盘存储资源量分别设置一个对应的权重,根据所述任务所需占用的所述处理器资源量、所述内存资源量、所述硬盘存储资源量及对应的权重得到资源占用量,判断所述任务的类型;
在所述第一机器人将接收到的任务拆分为多个子任务之前,获取第一机器人的资源剩余量,在第一机器人的资源剩余量小于第二预设值的情况下,将接收到的任务拆分为多个子任务。
2.根据权利要求1所述的方法,其特征在于,第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型包括:
计算接收到的任务的所述资源占用量;
若所述资源占用量小于第一预设值,则判断出接收到的任务的类型为所述第一类型;
若所述资源占用量不小于所述第一预设值,则判断出接收到的任务的类型为所述第二类型。
3.根据权利要求1或2所述的方法,其特征在于,在将所述多个子任务移送至一个或多个第二机器人之后,所述方法还包括:
接收执行完所述子任务的所述第二机器人反馈的执行结果。
4.根据权利要求1或2所述的方法,其特征在于,将所述多个子任务移送至一个或多个第二机器人包括:
发送所述多个子任务至服务器,其中,所述服务器将接收到的所述多个子任务分配至一个或多个所述第二机器人,所述第二机器人为资源剩余量大于第三预设值的机器人。
5.根据权利要求1或2所述的方法,其特征在于,将所述多个子任务移送至一个或多个第二机器人包括:
发送所述多个子任务至所述第一机器人所在局域网的主控机器人,其中,所述局域网的主控机器人将接收到的所述多个子任务分配至所述局域网内的一个或多个所述第二机器人,所述第二机器人为资源剩余量大于第三预设值的机器人。
6.根据权利要求5所述的方法,其特征在于,所述局域网包括mesh网络,其中,在所述第一机器人将接收到的任务拆分为多个子任务之前,所述方法还包括:
所述第一机器人与一个或多个第三机器人建立第一mesh网络,其中,所述第三机器人为与所述第一机器人的距离在预设距离内的机器人;
根据预设规则从所述第一mesh网络内的机器人中确定出主控机器人。
7.根据权利要求6所述的方法,其特征在于,在根据预设规则从所述第一mesh网络内的机器人中确定出主控机器人之后,所述方法还包括:
所述第一mesh网络中的主控机器人与第二mesh网络中的主控机器人建立通讯连接,其中,所述第二mesh网络中包括多个机器人;
所述第一mesh网络中的主控机器人获取所述第二mesh网络的地理信息;
所述第一mesh网络中的主控机器人按照所述地理信息控制所述第一mesh网络中所有机器人移动至所述第二mesh网络所在的地理区域,以在所述地理区域内建立第三mesh网络,其中,所述第三mesh网络包括所述第一mesh网络和所述第二mesh网络中的所有机器人。
8.一种机器人任务的执行装置,其特征在于,包括:
判断模块,用于使第一机器人基于接收到的任务的资源占用量判断所述接收到的任务的类型;
执行模块,用于在判断出接收到的任务的类型为第一类型的情况下,使所述第一机器人执行接收到的任务;
拆分模块,用于在判断出接收到的任务的类型为第二类型的情况下,使所述第一机器人将接收到的任务拆分为多个子任务,并将所述多个子任务移送至一个或多个第二机器人,由所述第二机器人执行接收到的所述子任务;
其中,判断模块包括:在所述资源占用量包括处理器资源量、内存资源量、硬盘存储资源量中的至少两种的情况下,在计算接收到的所述任务的资源占用量时,为所述处理器资源量、所述内存资源量、所述硬盘存储资源量分别设置一个对应的权重,根据所述任务所需占用的所述处理器资源量、所述内存资源量、所述硬盘存储资源量及对应的权重得到资源占用量,判断所述任务的类型;
在所述第一机器人将接收到的任务拆分为多个子任务之前,获取第一机器人的资源剩余量,在第一机器人的资源剩余量小于第二预设值的情况下,将接收到的任务拆分为多个子任务。
9.一种机器人任务的执行系统,其特征在于,包括:
第一机器人,用于基于接收到的任务的资源占用量判断所述接收到的任务的类型,在判断出接收到的任务的类型为第一类型的情况下,执行接收到的任务;在判断出接收到的任务的类型为第二类型的情况下,将接收到的任务拆分为多个子任务,并将所述多个子任务移送至一个或多个第二机器人;其中,所述第一机器人基于接收到的任务的资源占用量判断接收到的任务的类型包括:在所述资源占用量包括处理器资源量、内存资源量、硬盘存储资源量中的至少两种的情况下,在计算接收到的所述任务的资源占用量时,为所述处理器资源量、所述内存资源量、所述硬盘存储资源量分别设置一个对应的权重,根据所述任务所需占用的所述处理器资源量、所述内存资源量、所述硬盘存储资源量及对应的权重得到资源占用量,判断所述任务的类型;在所述第一机器人将接收到的任务拆分为多个子任务之前,获取第一机器人的资源剩余量,在第一机器人的资源剩余量小于第二预设值的情况下,将接收到的任务拆分为多个子任务;
至少一个所述第二机器人,用于执行接收到的子任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610204231.3A CN105729491B (zh) | 2016-04-01 | 2016-04-01 | 机器人任务的执行方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610204231.3A CN105729491B (zh) | 2016-04-01 | 2016-04-01 | 机器人任务的执行方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105729491A CN105729491A (zh) | 2016-07-06 |
CN105729491B true CN105729491B (zh) | 2018-09-04 |
Family
ID=56252698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610204231.3A Active CN105729491B (zh) | 2016-04-01 | 2016-04-01 | 机器人任务的执行方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105729491B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018072085A1 (zh) * | 2016-10-18 | 2018-04-26 | 中兴通讯股份有限公司 | 多设备协同操作的方法及设备、计算机存储介质 |
CN106557362B (zh) * | 2016-11-15 | 2020-09-18 | 北京光年无限科技有限公司 | 应用于智能机器人的任务迁移方法及系统 |
CN106695786B (zh) * | 2016-12-12 | 2020-03-31 | 北京光年无限科技有限公司 | 一种用于智能机器人分工协作方法以及机器人 |
CN106843031A (zh) * | 2016-12-15 | 2017-06-13 | 北京光年无限科技有限公司 | 用于智能机器人的协同处理方法及系统 |
WO2018120079A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 机器人控制装置、方法、系统及计算机程序产品 |
CN108415726A (zh) * | 2017-02-09 | 2018-08-17 | 上海慧流云计算科技有限公司 | 机器人功能定制方法及装置 |
CN107454176B (zh) * | 2017-08-15 | 2020-11-03 | 移康智能科技(上海)股份有限公司 | 任务处理方法、电子设备及计算机可读存储介质 |
CN107580197B (zh) * | 2017-08-15 | 2021-03-16 | 移康智能科技(上海)股份有限公司 | 任务处理方法、电子设备及计算机可读存储介质 |
CN108421230A (zh) * | 2018-03-22 | 2018-08-21 | 上海荷福人工智能科技(集团)有限公司 | 机器人运动方法及机器人 |
CN108764660A (zh) * | 2018-05-11 | 2018-11-06 | 广东富利盛仿生机器人股份有限公司 | 机器人分配方法、装置及系统 |
WO2020042162A1 (zh) * | 2018-08-31 | 2020-03-05 | 西门子股份公司 | 控制方法、设备和系统 |
CN109669452A (zh) * | 2018-11-02 | 2019-04-23 | 北京物资学院 | 一种基于并行强化学习的云机器人任务调度方法和系统 |
CN109800078B (zh) * | 2018-12-12 | 2020-04-28 | 北京三快在线科技有限公司 | 一种任务处理方法、任务分发终端及任务执行终端 |
CN110046795B (zh) * | 2019-03-01 | 2021-11-05 | 斯坦德机器人(深圳)有限公司 | 机器人的任务分配方法及装置 |
CN110009209A (zh) * | 2019-03-26 | 2019-07-12 | 深兰科技(上海)有限公司 | 一种机器人间信息交互的方法及装置 |
CN112149936A (zh) * | 2019-06-28 | 2020-12-29 | 炬星科技(深圳)有限公司 | 机器人调度方法、系统、机器人、电子设备及存储介质 |
WO2021044720A1 (ja) * | 2019-09-02 | 2021-03-11 | 本田技研工業株式会社 | 制御プラットフォーム、制御システム、サービス提供システム、サービス提供方法及び制御方法 |
CN112631268A (zh) * | 2019-10-09 | 2021-04-09 | 北京京东乾石科技有限公司 | 调度机器人的方法和装置 |
CN111080259A (zh) * | 2019-12-19 | 2020-04-28 | 中国工商银行股份有限公司 | 基于银行应用场景的多机器人协同系统及方法 |
CN111251298A (zh) * | 2020-02-20 | 2020-06-09 | 云南电网有限责任公司电力科学研究院 | 拆分式机器人的工作方法及系统 |
CN112611016B (zh) * | 2020-11-23 | 2023-01-31 | 青岛海尔空调电子有限公司 | 多拖多多联机的外机通信方法及多拖多多联机 |
CN112677151B (zh) * | 2020-12-16 | 2022-07-12 | 用友网络科技股份有限公司 | 机器人运行控制方法、系统和可读存储介质 |
CN112990727A (zh) * | 2021-03-26 | 2021-06-18 | 中国人民财产保险股份有限公司深圳市分公司 | 一种机器人任务执行控制方法、装置、系统及介质 |
CN114536339A (zh) * | 2022-03-03 | 2022-05-27 | 深圳市大族机器人有限公司 | 协作机器人的控制方法、装置、协作机器人和存储介质 |
CN117608862B (zh) * | 2024-01-22 | 2024-04-12 | 金品计算机科技(天津)有限公司 | 数据分发控制方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101160870A (zh) * | 2005-04-20 | 2008-04-09 | 皇家飞利浦电子股份有限公司 | 完成传感器网络任务的方法和装置 |
CN102033536A (zh) * | 2010-12-22 | 2011-04-27 | 大连理工大学 | 一种多机器人系统的调度组织协作系统及方法 |
CN102316156A (zh) * | 2011-07-05 | 2012-01-11 | 万达信息股份有限公司 | 一种可动态扩展的任务分发处理方法 |
CN102707675A (zh) * | 2012-04-23 | 2012-10-03 | 深圳市中科鸥鹏智能科技有限公司 | 群机器人控制器、群机器人控制方法及控制器终端 |
US8886829B1 (en) * | 2011-05-06 | 2014-11-11 | Google Inc. | Methods and systems for robot cloud computing using slug trails |
-
2016
- 2016-04-01 CN CN201610204231.3A patent/CN105729491B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101160870A (zh) * | 2005-04-20 | 2008-04-09 | 皇家飞利浦电子股份有限公司 | 完成传感器网络任务的方法和装置 |
CN102033536A (zh) * | 2010-12-22 | 2011-04-27 | 大连理工大学 | 一种多机器人系统的调度组织协作系统及方法 |
US8886829B1 (en) * | 2011-05-06 | 2014-11-11 | Google Inc. | Methods and systems for robot cloud computing using slug trails |
CN102316156A (zh) * | 2011-07-05 | 2012-01-11 | 万达信息股份有限公司 | 一种可动态扩展的任务分发处理方法 |
CN102707675A (zh) * | 2012-04-23 | 2012-10-03 | 深圳市中科鸥鹏智能科技有限公司 | 群机器人控制器、群机器人控制方法及控制器终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105729491A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105729491B (zh) | 机器人任务的执行方法、装置及系统 | |
Yu et al. | Intelligent edge: Leveraging deep imitation learning for mobile edge computation offloading | |
Bai et al. | Efficient routing for precedence-constrained package delivery for heterogeneous vehicles | |
Zhao et al. | A heuristic distributed task allocation method for multivehicle multitask problems and its application to search and rescue scenario | |
CN110515732B (zh) | 一种基于资源受限机器人深度学习推理的任务分配方法 | |
CN113346944A (zh) | 空天地一体化网络中时延最小化计算任务卸载方法及系统 | |
Zhang et al. | Edgebatch: Towards ai-empowered optimal task batching in intelligent edge systems | |
CN108111335A (zh) | 一种调度和链接虚拟网络功能的方法及系统 | |
Alghamdi et al. | Data quality-aware task offloading in mobile edge computing: An optimal stopping theory approach | |
CN110134507B (zh) | 一种边缘计算系统下的合作计算方法 | |
CN109819032B (zh) | 一种联合考虑基站选择与计算迁移的云机器人任务分配方法 | |
Xu et al. | Cnn partitioning and offloading for vehicular edge networks in web3 | |
CN116187391A (zh) | 神经网络模型的处理方法及装置 | |
Kumar et al. | Multi-criteria-based approach for job scheduling in industry 4.0 in smart cities using fuzzy logic | |
Fu et al. | A two-layer task assignment algorithm for UAV swarm based on feature weight clustering | |
Wang et al. | Cooperative task allocation for multi-robot systems based on multi-objective ant colony system | |
Jiang et al. | Hierarchical deployment of deep neural networks based on fog computing inferred acceleration model | |
Mu et al. | Deep reinforcement learning based adaptive threshold multi-tasks offloading approach in mec | |
CN116367190A (zh) | 一种面向6g移动网络的数字孪生功能虚拟化方法 | |
Cui et al. | Multi-Agent Reinforcement Learning Based Cooperative Multitype Task Offloading Strategy for Internet of Vehicles in B5G/6G Network | |
CN113657718B (zh) | 一种多机器人动态联盟任务分配方法及相关装置 | |
Saravanan et al. | Automated Systems using AI in the Internet of Robotic Things: A New Paradigm for Robotics | |
WO2021252683A1 (en) | Systems and methods for controlling automated systems using integer programming and column generation techniques | |
CN102438325B (zh) | 基于认知无线终端重构系统的资源调度方法 | |
Yu et al. | A spatial orthogonal allocation and heterogeneous cultural hybrid algorithm for multirobot exploration mission planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |