CN113268331A - 机器人调用方法、机器人调用装置、管理系统和存储介质 - Google Patents
机器人调用方法、机器人调用装置、管理系统和存储介质 Download PDFInfo
- Publication number
- CN113268331A CN113268331A CN202110626939.9A CN202110626939A CN113268331A CN 113268331 A CN113268331 A CN 113268331A CN 202110626939 A CN202110626939 A CN 202110626939A CN 113268331 A CN113268331 A CN 113268331A
- Authority
- CN
- China
- Prior art keywords
- robot
- job
- list
- executed
- priority
- 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 45
- 238000004590 computer program Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 abstract description 18
- 238000013468 resource allocation Methods 0.000 abstract description 6
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013439 planning Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
Abstract
本申请公开了一种机器人调用方法,所述方法包括:当监测到存在空闲机器人时,获取待执行作业列表;根据所述待执行作业列表所包含的作业以及所述空闲机器人,得到所述待执行作业列表所对应的机器人调用列表,其中所述机器人调用列表基于所述空闲机器人所得到;遍历所述机器人调用列表,以多线程方式并行发送对应的作业至所述机器人调用列表所包含的机器人,并在确定所述机器人调用列表所包含的机器人作业发送完成时确定机器人调用完成。本申请还提供一种机器人调用装置、管理系统以及计算机可读存储介质。实现了在进行机器人资源调用时,提高资源分配效率,避免频繁且无用的数据交互。
Description
技术领域
本申请涉及人工智能控制及机器人调用控制技术领域,尤其涉及一种机器人调用方法、机器人调用装置、管理系统和计算机可读存储介质。
背景技术
随着人工智能技术的发展和不断完善,智能机器人越来越广泛的被应用在人们的生活和工作中。比如在消防领域替代消防人员完成危险的任务,再比如代替人们完成日常工作以提高日常工作效率。
而在控制机器人完成相关的工作时,需要对机器人进行合理的控制和规划,以合理快速的完成对所需要完成的任务的执行,也就是一个合理的对机器人的资源调度是很有必要的。
而在现有的机器人的调度中,在存在需要完成的任务时,会在机器人库中根据机器人自身的状态选择相应的机器人来执行所需要完成的任务,导致只要存在需要进行分配的作业便会进行机器人的资源调用,使得系统过于繁忙,提高了系统的运行负载,同时工作效率较低。
因此,现在亟需一种提高机器人调用效率和提高系统运行稳定的机器人调用方法。
发明内容
本申请提供一种机器人调用方法、机器人调用装置、管理系统和计算机可读存储介质,以实现快速准确的完成机器人资源分配和机器人调用,提高系统工作的稳定性。
第一方面,本申请提供的一种机器人调用方法,所述方法包括:
当监测到存在空闲机器人时,获取待执行作业列表;
根据所述待执行作业列表所包含的作业以及所述空闲机器人,得到所述待执行作业列表所对应的机器人调用列表,其中所述机器人调用列表基于所述空闲机器人所得到;
遍历所述机器人调用列表,以多线程方式并行发送对应的作业至所述机器人调用列表所包含的机器人,并在确定所述机器人调用列表所包含的机器人作业发送完成时确定机器人调用完成。
第二方面,本申请还提供一种机器人调用装置,所述机器人调用装置包括处理器和存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如上述所述的机器人调用方法。
第三方面,本申请还提供一种管理系统,所述系统包括若干机器人以及如上述所述的机器人调用装置。
第四方面,本申请还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述的机器人调用方法的步骤。
本申请描述的机器人调用方法中,机器人空闲时会反馈至系统,系统基于此监测到存在有新的空闲机器人时,根据空闲机器人在系统中获取对应数量的且优先级较高的作业以形成待执行作业列表,然后循环的在空闲机器人中进行筛选,以确定可以用来执行作业的机器人,进而将对应的作业信息发送给对应的机器人,以使得在完成分配之后控制机器人去执行和完成各自所对应的作业。实现了在机器人的资源调用过程中,通过机器人的资源来实现对作业的分配,提高机器人资源分配的效率,同时在完成一次分配且没有新增的空闲机器人时不进行机器人调用,避免了频繁且无用的数据交互。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的管理系统的框图示意图;
图2为本申请一实施例提供的一种机器人调用方法的流程示意图;
图3为本申请一实施例提供的一种作业优先级列表的生成方法的流程示意图;
图4为本申请一实施例提供的获取待执行作业列表的步骤的流程示意图;
图5为本申请一实施例提供的得到机器人调用列表的步骤的流程示意图;
图6为本申请一实施例提供确定第一机器人的步骤的流程示意图;
图7为本申请一实施例提供的机器人调用装置的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种机器人调用方法、机器人调用装置、管理系统和存储介质,以提高室内定位准确性。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1为本申请一个实施例提供的管理系统的框图示意图。
具体地,该系统包含有若干机器人以及机器人调用装置。在实际应用中,在管理系统中存在有待执行的作业时,需要给待执行作业调用和分配好相应的机器人来完成对应的作业,但是并不是所有的时刻都存在有空闲的机器人能来完成对待执行作业的执行,因此首先确定是否存在有空闲机器人,然后在确定有空闲机器人的时候选择相应的需要被执行的作业,进而利用空闲机器人完成对此时所确定的作业的分配和调用,并在分配和调用完成时使得机器人去执行和完成作业。
在本申请所对应的管理系统中,该管理系统100包括若干机器人,如第一机器人101、第二机器人102……第N机器人10n,以及机器人调用装置10,管理系统100中记录所有机器人的状态信息,其中状态信息包括空闲状态和非空闲状态,机器人在切换上述两种状态时会反馈至管理系统,管理系统基于此更新机器人的状态信息,当发生机器人状态从非空闲状态更新为空闲状态时,调用装置10为作业调用空闲机器人,得到一个作业数量与空闲机器人数量相同的作业列表,然后对作业列表中的每一作业在空闲机器人中选择一个机器人来完成该作业。
请参阅图2,图2为本申请一个实施例提供的一种机器人调用方法的流程示意图,该方法可以应用于上述的机器人调用装置。
步骤S201、当监测到存在空闲机器人时,获取待执行作业列表。
在机器人的调用和任务分配时,用户可以在相关的系统上进行相应的操作,以实现对机器人的调用和控制,进而使得机器人完成用户想要完成的任务和事情。因此,在需要实现对机器人的调用时,系统将会接收用户通过相关的操作而输入的作业信息,以知晓用户想要完成的作业,进而根据所需要完成的作业确定当前选择哪一或者哪些机器人作为执行作业的目标机器人。
在实际应用中,用户在需要完成作业时都会将作业上传至系统,以使得系统可以合理的选择和安排相应的机器人完成该作业,使得在系统中会存在有很多个不同的作业需要调用相应的机器人来执行。而在监测到存在有空闲机器人的时候,首先会在系统中选择和确定当前可以用来被执行的作业,然后将空闲机器人分配给不同的任务。
而在确定是否存在空闲机器人时,系统会根据所接收到的信息来确定,比如机器人自动将自身的工作状态上传给系统,再比如在有新的机器人进入系统时,人为的将机器人的工作状态以及机器人的相关信息进行上传,或者机器人自动进行上传。
需要说明的是,在监测到存在有空闲机器人时,还需要确定系统中是否已经加载了相应的地图,也就是确定系统中是否存在已启用的地图,其中,该地图存在于该系统中,用于实现对分配有作业的机器人进行路径规划,该地图可以是实际的空间地图,也可以是基于空间地图所得到的有向加权图。同时,进行机器人的路径规划的所有的地图都是存储在系统中的,但是系统并不会时刻的进行地图的加载和使用,而只有在需要进行路径规划等需要使用到地图的时候才会进行地图的加载。
在实际应用中,由于只有在系统中存在已启动的地图时才可以对机器人进行路径规划以完成机器人所接收到的作业信息,也就是机器人此时不能完成所分配的作业,因此,在系统中没有加载任何地图信息时,将不会进行机器人的调用。
由于系统中所记录和包含的作业的数量有多个,因此在进行机器人的调用时并不一定可以使得每一个作业都可以分配到机器人,那么在确定存在空闲机器人时需要合理的选择当前进行分配的作业。具体地,参照图3,图3为本申请一实施例提供的一种作业优先级列表的生成方法的流程示意图。
步骤S301、当接收到上传的待执行作业时,识别所述待执行作业的标签信息和/或已上传时间;
步骤S302、根据所述标签信息和/或已上传时间,得到所述待执行作业的优先级信息;
步骤S303、更新预先所存储的作业优先级列表,并将所述待执行作业的优先级信息记录在更新后的所述作业优先级列表中。
在确定存在空闲机器人,然后选择相应的待执行作业以实现对空闲机器人的调用时,需要确定当前对哪些作业进行机器人的分配,因此预先需要对所上传到系统中的作业进行相应的处理。
具体地,在接收到上传的待执行作业时,识别待执行作业所对应的标签信息以及已上传时间,其中标签信息可以是人为所标记的作业的一个紧急程度,而紧急程度可以文字描述的“急”和“无”(无表示没有紧急需求),还可以是代表紧急程度的数字(比如100为满值,数字越大表示越急),在此不做限制,而在得到待执行作业的标签信息时,还会获取作业上传时的已上传时间,在实际应用中,一个作业上传的时间越久,则说明此时应该优先处理该作业,比如一个作业的已上传时间为8:30,而此时的时间为同一天的17:37,那么说明该作业需要优先被处理,也就是此时该作业的优先级将会变高。
而在得到待执行作业的标签信息和已上传时间之后,将会获取当前时间,然后根据当前时间、标签信息以及已上传时间得到该待执行作业的优先级信息,其中优先级信息可以直接用数字或者文字表示。而在得到待执行作业的优先级信息时,可以通过相应的计算得到,具体地,由于优先级信息是根据当前时间、标签信息以及已上传时间所得到的,因此在构建相应的计算方式时可以对每一个因素设置相应的权重以及相应的条件。
示例性的,在标签信息所记录的紧急信息高于所设定的阈值时,可以不需要考虑当前时间和已上传时间,而直接将该待执行作业的优先级信息设置一个较高的优先级,比如在标签信息所记录的紧急信息为最高级别的“加急”时,此时将可以直接将该待执行作业的优先级信息设置为第一优先级。
而在标签信息所记录的紧急信息为一般的紧急状态时,利用所设定好的计算公式进行计算,比如计算公式可以为G=ax+by+cz,其中G表示优先级信息,x、y、z分别代表当前时间、标签信息、已上传时间,a、b、c为三个权重值,a、b和c可以为0,且a+b+c=1,通过将当前时间、标签信息以及已上传时间量化处理为对应的数字,进而通过计算得到优先级数值,以实现确定待执行作业的优先级信息。
在设定不同因素的权重值时,若b为0、且a和c不为0,则说明在确定优先级信息时结合当前时间信息和已上传时间确定,若c为0、且a和b不为0,则说明在确定优先级信息时结合当前时间信息和便签信息确定,若a、b和c均不为0,则说明在确定优先级信息时结合当前时间信息、标签信息和已上传时间确定。
在一实施例中,在确定所上传的待执行作业的优先级信息的同时,由于存在新的作业的上传,因此还需要对预先所存储的作业优先级列表进行更新,然后将此时所上传的待执行作业的优先级信息记录在更新后的作业优先级列表中,其中作业优先级列表可以如下表1所示;
表1
作业信息 | 优先级信息(满值为100) |
作业1 | 50 |
作业2 | 36 |
作业3 | 92 |
...... | ...... |
在此表中,利用数字大小来表示不同作业的优先级信息,如上表1所示,在存在空闲机器人时,优先确定空闲机器人是否可以被调用来执行作业3。
需要说明的是,在对作业优先级列表进行更新时,也就是对所记录的作业所对应的优先级进行重新计算,进而才可以将新的所接收到的待执行作业以及所对应的优先级信息记录在作业优先级列表中。而在没有新的待执行作业上传时,在根据时间的推移对作业优先级列表进行更新时,并不会对其所包含的作业的优先的顺序有所影响,因此可以不对作业优先级列表进行更新,而在有新的作业被上传时才会进行重新的计算和更新。
在一实施例中,在作业优先级列表是用来确定存在空闲机器人时,选择哪一些任务来进行机器人的分配。因此在确定存在空闲机器人的时候,将会根据所记录和存储的作业优先级列表,实现待执行作业列表的获取。
参照图4,图4为本申请一实施例提供的获取待执行作业列表的步骤的流程示意图。
其中,该步骤包括步骤S401至步骤S402。
步骤S401、当监测到存在空闲机器人时,确定所述空闲机器人所对应的第一数量;
步骤S402、读取所述作业优先级列表,并在所述作业优先级列表中按照优先级从高到低的选择第一数量的作业,以形成待执行作业列表。
在监测到存在有空闲机器人时,将会控制此时的空闲机器人去完成系统中所存在的需要被完成的作业,因此此时需要在系统中选择相应的作业,然后再进行机器人的调用和分配。具体地,在监测到存在有空闲机器人时,确定空闲机器人的数量,也就是得到空闲机器人所对应的第一数量,然后读取预先所记录和存储的作业优先级列表,以在作业优先级列表中选择第一数量的作业作为待执行的作业,进而形成一个待执行作业列表。
在一实施例中,作业优先级列表中记录着每一作业所对应的优先级信息,而不同的优先级表示着该作业的紧急程度,因此在作业优先级列表中选择和确定待执行的作业时,按照优先级的从大到小进行选择,同时所选择的作业的数量与空闲机器人的数量相同,也就是在空闲机器人数量为N时,此时所选择的作业的数量也是N,且是按照优先级从大到小进行选择所得到的。
在形成以得到待执行作业列表时,列表中可以记录着每一个作业所对应的优先级信息,还可以直接按照优先级的高低进行排列,比如将第一优先级的作业排在列表的第一个,使得在进行机器人的分配时,可以优先对优先级较高的作业完成机器人的选择和分配。
步骤S202、根据所述待执行作业列表所包含的作业以及所述空闲机器人,确定所述待执行作业列表所对应的机器人调用列表,其中所述机器人调用列表基于所述空闲机器人所得到。
在得到待执行作业列表之后,将会对待执行作业列表中所包含的作业分配相应的机器人,进而控制相应的机器人完成对各自所分配的任务的执行。具体地,在得到待执行作业列表之后,根据待执行作业列表中所包含的作业以及此时所监测到的空闲机器人的相关信息,确定此时所对应的机器人调用列表,其中机器人调用列表中包含有用来执行作业的机器人的信息,如标识信息。
在一实施例中,在得到了待执行作业列表时,确定此时将会对待执行作业列表中所包含的作业进行机器人的分配,而在进行机器人的分配时,是根据实际的作业信息以及机器人信息来实现的,其中作业信息可以包括作业类型、作业时长以及作业路径等,而机器人信息可以包括机器人类型、机器人编号、机器人组以及机器人位置等。
示例性的,在根据实际的作业信息以及机器人信息来实现机器人的分配时,可以直接根据作业信息和机器人信息进行匹配和筛选,进而在选择满足所有作业信息的机器人作为可以执行对应做作业的机器人。另外,还可以是选择几个重要的条件作为机器人选择和判断的依据,比如,在确定作业类型和机器人类型相匹配时,给其中的部分参数设定不同的权重,通过进行权重值的计算确定此时用来执行作业的机器人。
在实际应用中,待执行作业列表是根据作业的作业信息和优先级程度来确定,也就是会存在机器人与待执行作业列表中所有的作业都不匹配的情况,其中,机器人与作业不匹配的情况可以是作业类型与机器人类型不匹配,还可以是在进行机器人选择的权重计算时所得到的权重值过低(低于所设定的阈值),也可以是进行条件筛选时空闲机器人中没有与作业相匹配的机器人,那么,该机器人将不会被分配作业,也就是只会存在部分作业分配了机器人,因此,在给作业分配机器人的时候,会存在待执行作业列表中某一或者某些作业并没有分配到合适的机器人的情况,也就是会存在部分机器人在完成分配之后依旧处于空闲状态。
而具体得到机器人调用列表的过程如图5所示,图5为本申请一实施例提供的得到机器人调用列表的步骤的流程示意图。
其中该步骤包括步骤S501至步骤S503。
步骤S501、在所述待执行作业列表中选择第一优先级作业,并根据所述第一优先级作业在所述空闲机器人中选择对应的第一机器人,以及将所述第一机器人从所述空闲机器人中删除;
步骤S502、在所述待执行作业列表中选择第二优先级作业,以根据所述第二优先级作业在删除第一机器人的空闲机器人中选择对应的第二机器人,并以此类推至确定所述待执行作业列表中最后一个作业所对应的机器人;
步骤S503、当确定所述待执行作业列表中最后一个作业所对应的机器人时,将所述待执行作业列表做每一作业所对应的机器人进行汇总以得到机器人调用列表。
在确定机器人调用列表时,首先确定不同作业所对应的机器人,而在确定完待执行作业列表中所包含的每一作业所对应的机器人之后,所确定的用来执行任务的机器人集合便是此时所得到的机器人调用列表。
在确定待执行作业列表中每一作业所对应的机器人时,根据作业的优先级来确定的,示例性的,优先给优先级较高的作业完成机器人的分配,因此,在进行机器人的分配时,首先在待执行作业列表中选择第一优先级作业,其中第一优先级作业为待执行作业列表中优先级最高的作业,然后根据所得到的第一优先级作业在空闲机器人中进行选择和确定,以得到与最优的可以用来执行第一优先级作业的第一机器人。同时在空闲机器人中确定了第一机器人之后,第一机器人在此次机器人分配过程中不会被分配给其他的作业,也就是在此次机器人分配过程中,一个机器人只能被调用来执行其中的一个作业,因此,在确定了第一优先级作业所对应的第一机器人之后,在对第二优先级作业进行机器人分配时,不会考虑第一机器人,也就是在将会将第一机器人从空闲机器人中删除,以得到一个新的空闲机器人集合。
对于待执行作业列表中其他作业调用机器人的方式,与确定第一优先级作业所对应的机器人的方式是一样的,只是会存在空闲机器人中所包含的机器人不同的情况。而在确定完成对待执行作业列表中最后一个作业机器人调用之后,确定完成此次调用,而对于待执行作业类标中每一作业所对应的机器人进行汇总,以得到一个机器人调用列表。
需要说明的是,在此时所得到的机器人调用列表中,其所包含的每一机器人都会被分配相应的作业,但是待执行作业列表中并不是所有作业都会被分配相应的机器人,具体可以如下表2所示;
表2
以空闲机器人的数量为10个为例,且按优先级进行排列,此时待执行作业列表中所包含的作业也是10个,而在进行机器人分配时,空闲机器人列表中没有满足作业2、3以及7作业类型的的机器人,因此无法为其三个任务分配机器人,而此时所得到的机器人调用列表可以如下表3所示;
表3
机器人信息 | 待执行任务 |
机器人1 | 作业1 |
机器人2 | 作业8 |
机器人3 | 作业4 |
机器人4 | 作业9 |
机器人5 | 作业5 |
机器人8 | 作业10 |
机器人10 | 作业6 |
得到机器人调用列表以便于对当前可以用来进行作业执行的机器人进行作业信息的发布,而在对机器人调用列表中所包含的所有机器人进行作业信息的发布时,将不需要考虑作业的优先级,而是通过多线程同时发送给个机器人的。
在上述调用过程中,10个空闲机器人中有3个机器人因为没有合适的作业,而没有被调用,此时该3个机器人依旧是空闲机器人。在完成对7个机器人的调用之后,将会不对此时所存在的空闲机器人进行有一次的调用,因为在实际调用时,根据作业的优先级确定待执行作业时,此时所得到的3个作业依旧是与该3个机器人不合适的3个作业。若此时接着进行调用,显然是不会完成作业的分配以及机器人的调度。
因此,在完成一次调用之后,将会结束机器人的调用,而在确定到系统中有新的空闲机器人的时候,将会再次执行机器人的调用。同时,当存在空闲机器人时,在系统中接收到新的作业之后,也会在一次的进行机器人的调用。
在一实施例中,在确定待执行作业列表中每一作业所对应的机器人时,是根据作业信息和机器人信息来确定的,在空闲机器人中选择代价更小的机器人作为作业所对应的机器人,参照图6,图6为本申请一实施例提供确定第一机器人的步骤的流程示意图。
其中该步骤包括步骤S601至步骤S603。
步骤S601、识别所述第一优先级作业所对应的作业标识,以在所述空闲机器人中获取机器人标识与所述作业标识相对应的第一机器人集合;
步骤S602、对所述第一优先级作业进行分析,确定所述第一优先级作业所包含的第一作业是否为移动作业;
步骤S603、当确定所述第一作业为移动作业时,根据所述第一作业在所述第一机器人集合中选择移动代价值最小的机器人为第一机器人。
在空闲机器人中确定待执行作业中第一优先级作业所对应的第一机器人时,首先识别第一优先级作业所对应的作业标识,然后在空闲机器人中获取机器人标识与作业标识相对应的第一机器人集合,其中作业标识和机器人标识的可以设置为相同的标识,比如作业标识可以是搬运、取物或者导航,而机器人根据其功能也可以分为搬运机器人、取物机器人或者导航机器人,因此对于机器人标识也可以设置为搬运、取物和导航,当然在实际应用时可以根据机器人的使用使用和作业设置相应的标识。
在确定了第一优先级作业所对应的作业标识之后,会根据作业标识在空闲机器人中进行匹配,由于空闲机器人中可能存在多个标识相同的机器人,因此会得到第一机器人集合。而第一机器人集合中所包含的机器人的数量是任意的,可以是零,也可以是除零外的任意数量,但是不会大于空闲机器人的数量。
示例性的,在第一机器人集合中所包含的机器人的数量为零时,说明此时空闲机器人中没有适合执行第一优先级作业的机器人;同样的,在不为零说明存在适合执行第一优先级作业的机器人。
在得到第一机器人集合之后,并在确定第一机器人集合的数量不为零时,将会对第一优先级作业进行分析,确定第一优先作业所包含的第一作业是否为移动作业,然后在确定为移动作业时根据移动作业确定第一机器人集合中每一机器人的移动代价值,进而选择移动代价至最小的机器人为第一机器人。
需要说明的是,在控制机器人完成任务时,可能会存在需要控制机器人移动到特定的位置之后再开始执行和完成作业的情况,那么在确定了机器人之后,首先控制机器人运行到所设定的特定的位置,然后才开始执行机器人所接收到的作业。由于机器人在执行作业之前需要进行移动,因此在选择机器人的时候还需要考虑执行作业之前的机器人运动。而对于需要控制机器人在执行作业之前运行到特定位置的情况,说明该作业的第一作业为移动作业。
在实际应用中,在对第一优先级作业进行分析时,确定其所包含的第一作业是否为移动作业,比如作业任务中设定有特定的出发起始点,也就是需要控制机器人达到特定的位置之后才能开始作业的执行。
而在确定第一作业为移动作业时,通过计算第一机器人集合中每一个机器人完成该移动作业的移动代价值,来确定选择哪一个机器人作为第一机器人。而在计算每个机器人完成该移动作业时的代价值时,可以是计算每一个机器人达到移动作业所对应的时间来确定。
在一实施例中,在计算第一机器人结合中每个机器人的代价值时,可以利用动态作业分配算法(D start Lite)来实现,该计算方式可以快速的实现对第一机器人的确定。在确定第一机器人时,通过计算候选机器人中每个机器人运行到第一个作业(移动作业)的停止位置时的代价值,由于目标点(停止位置)的固定,因此采用该方式计算机器人的代价值。
示例性的,假设第一个作业所对应的路径上具有若干个连续的点,且编号为1,2,3…,n,此时代价计算公式为:
基于上述方式,可以计算出第一机器人集合中每个机器人在完成第一个作业时的代价值,进而根据所计算得到的代价值确定第一机器人。需要说明的是,在计算机器人的代价值时除了上述方式,还可以使用其他的方式得到,在此不做限制。
对于待执行作业列表中每一作业,在确定所对应的机器人时都可以使用上述所描述的方式来实现,通过计算代价值,然后选择最小代价值所对应的机器人为当前所对应的机器人。
步骤S203、遍历所述机器人调用列表,以多线程方式并行发送对应的作业至所述机器人调用列表所包含的机器人,并在确定所述机器人调用列表所包含的机器人作业发送完成时确定机器人调用完成。
在确定和得到了机器人调用列表之后,也就是完成了对待执行作业列表中所包含的作业进行机器人的分配之后,将会将各自所对应的作业信息发送给相应的机器人,进而使得机器人去执行各自所接收到的作业。具体地,遍历所得到的机器人调用列表,以使得机器人调用列表中每一机器人都配置好对应的作业信息,并在确定机器人调用列表所包含的机器人都已经发送完成相应的作业信息时,确定机器人调用完成,也就是此次机器人资源调用结束。
而在完成对机器人调用列表中所有机器人的作业信息的发送时,包括:遍历所述机器人调用列表,以在所述机器人调用列表中选择一机器人,并读取所选择的机器人所关联的作业标识;读取所述所关联的作业标识所对应的作业信息,以将所述作业信息发送至所述所选择的机器人,并在确定作业发送完成时将所述所选择的机器人从所述机器人调用列表中删除,以此类推至所述机器人调用列表为空;当确定所述机器人调用列表为空时,确定机器人调用完成。
在遍历机器人调用列表时,选择任意一个机器人,然后读取于所选择的机器人所关联的作业标签,通过读取作业标签所对应的作业信息,然后将所读取到的作业信息发送给所选择的机器人,同时在作业信息发送完成时将该机器人从机器人调用列表中删除,也就是保证存在与机器人调用列表中的机器人是可以用来执行作业,但并未接收到作业信息的机器人。通过对机器人的作业信息的发布,使得每一机器人都接收到相应的作业信息,进而去完成相应的作业。
在上述描述的机器人调用方法、装置、系统以及存储介质中,在监测到系统中存在有新的空闲机器人时,根据空闲机器人在系统中获取对应数量的且优先级较高的作业以形成待执行作业列表,然后循环的在空闲机器人中进行筛选,以确定可以用来执行作业的机器人,进而将对应的作业信息发送给对应的机器人,以使得在完成分配之后控制机器人去执行和完成各自所对应的作业。实现了在机器人的资源调用过程中,通过机器人的资源来实现对作业的分配,提高机器人资源分配的效率,同时在完成一次分配且没有新增的空闲机器人时,不进行机器人调用,避免了频繁且无用的数据交互。
如图7所示,图7为本申请一个实施例提供的机器人调用装置的结构示意性框图。该机器人调用装置10包括存储器11和处理器12,处理器11和存储器12通过系统总线13连接,其中,存储器11可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器11执行任意一种机器人调用方法。
处理器12用于提供计算和控制能力,支撑整个云端服务器的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一机器人调用方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器12可以是中央处理单元(Central Processing Unit,CPU),该处理器12还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器12可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述存储器中存储有计算机程序,计算机程序被处理器12执行时,使得处理器执行所述计算机程序时实现以下步骤:
当监测到存在空闲机器人时,获取待执行作业列表;
根据所述待执行作业列表所包含的作业以及所述空闲机器人,得到所述待执行作业列表所对应的机器人调用列表,其中所述机器人调用列表基于所述空闲机器人所得到;
遍历所述机器人调用列表,以多线程方式并行发送对应的作业至所述机器人调用列表所包含的机器人,并在确定所述机器人调用列表所包含的机器人作业发送完成时确定机器人调用完成。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
当接收到上传的待执行作业时,识别所述待执行作业的标签信息和/或已上传时间;
根据标签信息和/或所述已上传时间,确定所述待执行作业的优先级信息;
更新预先存储的作业优先级列表,并将所述待执行作业的优先级信息记录在更新后的所述作业优先级列表中。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
当监测到存在空闲机器人时,确定所述空闲机器人所对应的第一数量;
读取所述作业优先级列表,并在所述作业优先级列表中按照优先级从高到低的选择第一数量的作业,以形成待执行作业列表。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
在所述待执行作业列表中选择第一优先级作业,并根据所述第一优先级作业在所述空闲机器人中选择对应的第一机器人,以及将所述第一机器人从所述空闲机器人中删除;
在所述待执行作业列表中选择第二优先级作业,以根据所述第二优先级作业在删除第一机器人的空闲机器人中选择对应的第二机器人,并以此类推至确定所述待执行作业列表中最后一个作业所对应的机器人;
当确定所述待执行作业列表中最后一个作业所对应的机器人时,将所述待执行作业列表做每一作业所对应的机器人进行汇总以得到机器人调用列表。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
识别所述第一优先级作业所对应的作业标识,以在所述空闲机器人中获取机器人标识与所述作业标识相对应的第一机器人集合;
对所述第一优先级作业进行分析,确定所述第一优先级作业所包含的第一作业是否为移动作业;
当确定所述第一作业为移动作业时,根据所述第一作业在所述第一机器人中选择移动代价值最小的机器人为第一机器人。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
当监测到存在空闲机器人时,确定是否存在已启动地图,并在确定存在已启动地图时获取待执行作业列表。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
遍历所述机器人调用列表,以在所述机器人调用列表中选择一机器人,并读取所选择的机器人所关联的作业标识;
读取所述所关联的作业标识所对应的作业信息,以将所述作业信息发送至所述所选择的机器人,并在确定作业发送完成时将所述所选择的机器人从所述机器人调用列表中删除,以此类推至所述机器人调用列表为空;
当确定所述机器人调用列表为空时,确定机器人调用完成。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的云端服务器的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项机器人调用方法。
其中,所述计算机可读存储介质可以是前述实施例所述的管理系统的内部存储单元,例如所述管理系统的硬盘或内存。所述计算机可读存储介质也可以是所述管理系统的外部存储设备,例如所述管理系统上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种机器人调用方法,其特征在于,所述方法包括:
当监测到存在空闲机器人时,获取待执行作业列表;
根据所述待执行作业列表所包含的作业以及所述空闲机器人,得到所述待执行作业列表所对应的机器人调用列表,其中所述机器人调用列表基于所述空闲机器人所得到;
遍历所述机器人调用列表,以多线程方式并行发送对应的作业至所述机器人调用列表所包含的机器人,并在确定所述机器人调用列表所包含的机器人作业发送完成时确定机器人调用完成。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到上传的待执行作业时,识别所述待执行作业的标签信息和/或已上传时间;
根据标签信息和/或所述已上传时间,确定所述待执行作业的优先级信息;
更新预先存储的作业优先级列表,并将所述待执行作业的优先级信息记录在更新后的所述作业优先级列表中。
3.根据权利要求1所述的方法,其特征在于,所述当监测到存在空闲机器人时,获取待执行作业列表,包括:
当监测到存在空闲机器人时,确定所述空闲机器人所对应的第一数量;
读取作业优先级列表,并在所述作业优先级列表中按照优先级从高到低的选择第一数量的作业,以形成待执行作业列表。
4.根据权利要求1所述的方法,其特征在于,所述根据所述待执行作业列表所包含的作业以及所述空闲机器人,得到所述待执行作业列表所对应的机器人调用列表,包括:
在所述待执行作业列表中选择第一优先级作业,并根据所述第一优先级作业在所述空闲机器人中选择对应的第一机器人,以及将所述第一机器人从所述空闲机器人中删除;
在所述待执行作业列表中选择第二优先级作业,以根据所述第二优先级作业在删除第一机器人的空闲机器人中选择对应的第二机器人,并以此类推至确定所述待执行作业列表中最后一个作业所对应的机器人;
当确定所述待执行作业列表中最后一个作业所对应的机器人时,将所述待执行作业列表做每一作业所对应的机器人进行汇总以得到机器人调用列表。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一优先级作业在所述空闲机器人中选择对应的第一机器人,包括:
识别所述第一优先级作业所对应的作业标识,以在所述空闲机器人中获取机器人标识与所述作业标识相对应的第一机器人集合;
对所述第一优先级作业进行分析,确定所述第一优先级作业所包含的第一作业是否为移动作业;
当确定所述第一作业为移动作业时,根据所述第一作业在所述第一机器人集合中选择移动代价值最小的机器人为第一机器人。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述当监测到存在空闲机器人时,获取待执行作业列表,包括:
当监测到存在空闲机器人时,确定是否存在已启动地图,并在确定存在已启动地图时获取待执行作业列表。
7.根据权利要求6所述的方法,其特征在于,所述遍历所述机器人调用列表,以发送对应的作业至所述机器人调用列表所包含的机器人,并在确定所述机器人调用列表所包含的机器人作业发送完成时确定机器人调用完成,包括:
遍历所述机器人调用列表,以在所述机器人调用列表中选择一机器人,并读取所选择的机器人所关联的作业标识;
读取所述所关联的作业标识所对应的作业信息,以将所述作业信息发送至所述所选择的机器人,并在确定作业发送完成时将所述所选择的机器人从所述机器人调用列表中删除,以此类推至所述机器人调用列表为空;
当确定所述机器人调用列表为空时,确定机器人调用完成。
8.一种机器人调用装置,其特征在于,所述机器人调用装置包括处理器和存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的机器人调用方法。
9.一种管理系统,其特征在于,所述管理系统包括若干机器人以及如权利要求8所述的机器人调用装置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述的机器人调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626939.9A CN113268331A (zh) | 2021-06-04 | 2021-06-04 | 机器人调用方法、机器人调用装置、管理系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626939.9A CN113268331A (zh) | 2021-06-04 | 2021-06-04 | 机器人调用方法、机器人调用装置、管理系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268331A true CN113268331A (zh) | 2021-08-17 |
Family
ID=77234194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110626939.9A Pending CN113268331A (zh) | 2021-06-04 | 2021-06-04 | 机器人调用方法、机器人调用装置、管理系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268331A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415691A (zh) * | 2022-01-28 | 2022-04-29 | 中银金融科技(苏州)有限公司 | 一种机器人调度方法、调度平台及系统 |
CN114654477A (zh) * | 2022-03-25 | 2022-06-24 | 济宁市海豚科技有限公司 | 基于云平台的服务机器人控制方法、系统和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108701285A (zh) * | 2017-08-23 | 2018-10-23 | 深圳蓝胖子机器人有限公司 | 机器人调度方法、服务器、电子设备及可读存储介质 |
CN110648054A (zh) * | 2019-09-04 | 2020-01-03 | 中国建设银行股份有限公司 | 机器人流程自动化的任务并行处理方法及装置 |
-
2021
- 2021-06-04 CN CN202110626939.9A patent/CN113268331A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108701285A (zh) * | 2017-08-23 | 2018-10-23 | 深圳蓝胖子机器人有限公司 | 机器人调度方法、服务器、电子设备及可读存储介质 |
CN110648054A (zh) * | 2019-09-04 | 2020-01-03 | 中国建设银行股份有限公司 | 机器人流程自动化的任务并行处理方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415691A (zh) * | 2022-01-28 | 2022-04-29 | 中银金融科技(苏州)有限公司 | 一种机器人调度方法、调度平台及系统 |
CN114415691B (zh) * | 2022-01-28 | 2024-04-02 | 中银金融科技(苏州)有限公司 | 一种机器人调度方法、调度平台及系统 |
CN114654477A (zh) * | 2022-03-25 | 2022-06-24 | 济宁市海豚科技有限公司 | 基于云平台的服务机器人控制方法、系统和存储介质 |
CN114654477B (zh) * | 2022-03-25 | 2023-08-18 | 济宁市海豚科技有限公司 | 基于云平台的服务机器人控制方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117260B (zh) | 一种任务调度方法、装置、设备和介质 | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
US8434085B2 (en) | Scalable scheduling of tasks in heterogeneous systems | |
CN109710414B (zh) | 一种作业调度方法、装置、设备及存储介质 | |
CN113535367A (zh) | 任务调度方法及相关装置 | |
CN113268331A (zh) | 机器人调用方法、机器人调用装置、管理系统和存储介质 | |
CN112114950A (zh) | 任务调度方法和装置、以及集群管理系统 | |
US8869149B2 (en) | Concurrency identification for processing of multistage workflows | |
EP3588405A1 (en) | Systems and methods for scheduling a set of non-preemptive tasks in a multi-robot environment | |
CN111190712A (zh) | 一种任务调度方法、装置、设备及介质 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
US20150100964A1 (en) | Apparatus and method for managing migration of tasks between cores based on scheduling policy | |
CN105824705A (zh) | 一种任务分配方法和电子设备 | |
CN106775975B (zh) | 进程调度方法及装置 | |
CA2631255A1 (en) | Scalable scheduling of tasks in heterogeneous systems | |
CN113048973B (zh) | 路径规划方法、路径规划装置、管理系统和存储介质 | |
US20170024245A1 (en) | Workload-aware shared processing of map-reduce jobs | |
US8087028B2 (en) | Computing device resource scheduling | |
CN113742059B (zh) | 任务分配方法、装置、计算机设备和存储介质 | |
CN114399228A (zh) | 任务调度方法及装置、电子设备和介质 | |
CN113672347A (zh) | 一种容器组调度方法及装置 | |
CN111798048A (zh) | 任务分配方法及装置、存储介质、电子装置 | |
CN112685158A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN113127289A (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 | |
CN111985765B (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 |