掌桥专利:专业的专利平台
掌桥专利
首页

机器人调度方法、计算机设备及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及智能机器人技术领域,尤其涉及一种机器人调度方法、计算机设备及存储介质。

背景技术

随着科技发展机器人的智能化越高,机器人已逐步应用于大众服务场景中,众多服务行业引入了智能机器人能够有效提高工作效率并大大降低了用人成本。

以配送行业为例,会选择智能机器人来代替人工进行配送工作,机器人调度中心会根据机器人的状态调整各机器人的调度策略,一般来说,当机器人空闲时才能参与新一轮的调度序列,以使机器人调度中心为该机器人为分配新的工作内容。但在实际工作过程中,机器人调度中心通常无法及时获知机器人的状态,因而无法及时根据需要对空闲机器人进行调度,例如,一般是机器人执行任务完毕后回到特定区域才确定机器人空闲可调度,导致机器人的调度效率低,降低了机器人的工作效率。

发明内容

本发明提供一种机器人调度方法、计算机设备及存储介质,以解决现有技术中机器人调度中心通过无法及时获知机器人的状态,导致机器人的调度效率低,降低了机器人的工作效率的问题。

提供一种机器人调度方法,包括:

在机器人执行任务的过程中,实实时确定机器人的托盘状态;

若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,以根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配;

若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人。

可选的,实时确定机器人的托盘状态,包括:

通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用;

当机器人上的任一托盘被占用托盘时,确定机器人的托盘状态为被占用状态;

当机器人上的每一托盘均未被占用时,确定机器人的托盘状态为空闲状态。

可选的,通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用,包括:

实时获取传感器对托盘的检测数据,以确定托盘上是否存在物品;

若确定托盘上存在物品,则将托盘的物品检测有效次数加1,物品检测有效次数用于表征检测到托盘上存在物品的次数;

确定预设时长内物品检测有效次数是否大于预设次数;

若大于或者等于预设次数,则确定托盘被占用;

若小于预设次数,则确定托盘未被占用。

可选的,实时获取传感器对托盘的检测数据,以确定每一托盘上是否存在物品,包括:

获取安装在同一托盘中多个传感器对托盘实时的检测数据;

根据多个传感器的检测数据,确定检测到托盘中存在物品的目标传感器的数量;

在目标传感器的数量大于或者等于预设数量时,确定当前时刻托盘上存在物品,预设数量为大于1的整数。

可选的,通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用之前,还包括:

对每一托盘对应的传感器进行故障检测,以确定各传感器是否能够正常工作;

若传感器能够正常工作,则通过传感器对机器人的每一托盘进行检测,以确定托盘是否被占用。

可选的,对每一托盘对应的传感器进行故障检测,以确定传感器是否能够正常工作,包括:

确定传感器的检测数据是否处于第一预设范围,第一预设范围为传感器能够正常工作时的检测数据范围;

若传感器的检测数据处于第一预设范围,则确定传感器能够正常工作。

可选的,确定各传感器的检测数据是否处于第一预设范围之后,还包括:

若传感器的检测数据未处于第一预设范围,则确定传感器的检测数据是否处于第二预设范围,第二预设范围为预先标定的检测数据范围;

若传感器的检测数据处于第二预设范围,则确定传感器无法正常工作,并发送传感器存在脏污的提示信息。

可选的,若传感器的检测数据未处于第一预设范围,还包括:

确定传感器的检测数据是否处于第三预设范围或第四预设范围;

若传感器的检测数据处于第三预设范围或第四预设范围,则确定传感器无法正常工作,并发送传感器的硬件发生故障的提示信息。

提供一种机器人处理器,包括:

确定模块,用于在机器人执行任务的过程中,实时确定机器人的托盘状态;

第一标记模块,用于若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,以根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配;

第二标记确定模块,用于若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人。

提供一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,处理器用于调用并执行计算机程序,处理器执行计算机程序时实现上述机器人调度方法的步骤。

提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述机器人调度方法的步骤。

上述机器人调度方法、计算机设备及存储介质所提供的一个方案中,在机器人执行任务的过程中,实时确定机器人的托盘状态,若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,以根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配;若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人;本发明中,通过实时确定机器人的托盘状态来对不同状态的机器人进行标记,使得机器人调度中心能够及时获知机器人的可调度情况,以便及时为空闲机器人进行新的调度,有效提高了机器人的调度效率低,从而提高了机器人的工作效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中机器人调度系统方法的一结构示意图;

图2是本发明一实施例中机器人调度方法的一流程示意图;

图3是图2中步骤S10的一实现流程示意图;

图4是本发明一实施例中机器人处理器的一结构示意图;

图5是本发明一实施例中计算机设备的一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的机器人调度方法,可应用在如图1的机器人调度系统中,该机器人调度系统包括机器人调度中心和多个机器人(多个机器人包括机器人1……机器人n,n为大于1的整数),各机器人上安装有机器人处理器。其中,机器人通过网络与机器人调度中心进行通信。

在机器人执行任务的过程中,机器人上的机器人处理器通过实时确定机器人的托盘状态确定机器人的状态;若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人;若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,在将机器人的状态标记为可调度机器人之后,机器人处理器将该机器人的信息(包括机器人的状态和位置等实时信息,以及ID(Identity document,身份标识码)等基本信息)发送给机器人调度中心,以便机器人调度中心根据机器人的状态和其他信息对可调度机器人进行新的调度,即机器人调度中心则根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配;本实施例中,通过实时确定机器人的托盘状态来对不同状态的机器人进行标记,使得机器人调度中心能够及时获知机器人的可调度情况,以便及时为空闲机器人进行新的调度,有效提高了机器人的调度效率低,从而提高了机器人的工作效率。

本实施例中,机器人调度系统包括机器人调度中心和多个机器人仅为示例性说明,在其他实施例中,机器人调度系统还包括其他装置,在此不在赘述。

其中,机器人调度中心可以用独立的服务器或者是多个服务器组成的服务器集群来实现。机器人上的机器人处理器可以是微控制单元(Microcontroller Unit,简称MCU),该微控制单元可以是HC32F460,具有高工作频率(200MHz)、高性能的特点,且能保障系统运行的安全性。在其他实施例中,机器人处理器还可以是其他电控单元,也可以是独立的计算机设备,在此不在赘述。

在一实施例中,如图2所示,提供一种机器人调度方法,以该方法应用在图1中的机器人调度系统为例进行说明,包括如下步骤:

S10:在机器人执行任务的过程中,实时确定机器人的托盘状态。

在机器人执行任务的过程中,机器人上的机器人处理器通过实时确定机器人的托盘状态确定机器人的状态。其中,机器人的托盘状态包括空闲状态和被占用状态两种状态。例如,若机器人的托盘上存在物品,则表示机器人的托盘被占用,机器人托盘状态处于被占用状态;机器人的托盘上不存在物品,则表示机器人的托盘空闲,机器人托盘状态处于被空闲状态。

S20:若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,以根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配。

在确定机器人的托盘状态之后,若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,此时机器人处理器将机器人的状态和位置等实时信息、ID等基本信息发送给机器人调度中心,以便机器人调度中心根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配,从而及时对可调度机器人(空闲机器人)进行新的调度周期,使得可调度机器人及时进入工作状态,提高调度效率和机器人工作效率,从而降低运营成本。

S30:若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人。

在确定机器人的托盘状态之后,若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人,以便机器人调度中心根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配。本实施例仅对执行任务的机器人件托盘状态检测,能够在机器人将托盘物品配送完成的瞬间,及时获知托盘的空闲状态并及时改变机器人的状态,无需等待机器人回到对应区域才对机器人进行重新调度,提高了机器人的状态改变的及时性,使得机器人调度中心能够及时根据任务需求进新的调度,提高调度效率。

本实施例中,在机器人执行任务的过程中,实时确定机器人的托盘状态,若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,以根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配;若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人;本发明中,通过实时确定机器人的托盘状态来对不同状态的机器人进行标记,使得机器人调度中心能够及时获知机器人的可调度情况,以便及时为空闲机器人进行新的调度,有效提高了机器人的调度效率低,从而提高了机器人的工作效率。

在一实施例中,如图3所示,步骤S10中,即实时确定机器人的托盘状态,具体包括如下步骤:

S11:通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用。

S12:当机器人上的任一托盘被占用时,确定机器人的托盘状态为被占用状态。

S13:当机器人上的每一托盘均未被占用时,确定机器人的托盘状态为空闲状态。

在机器人执行任务的过程中,通过安装在机器人托盘下方的传感器对机器人的每一托盘进行检测,以确定托盘是否被占用。当机器人上的任一托盘被占用时,表示机器人的当前任务未执行完毕,确定机器人的托盘状态为被占用状态;当机器人上的每一托盘均未被占用时,表示机器人的当前任务执行完毕,确定机器人的托盘状态为空闲状态。

其中,通过传感器对机器人的每一托盘进行检测,若检测到的数据大于给定的阈值,则判断托盘内存在物品,该托盘被占用;若检测到的数据小于或者等于给定的阈值,则判断托盘内不存在物品,该托盘为空闲托盘,未被占用。

其中,传感器可以是重量传感器和/或飞行时间传感器(TOF传感器)和/或视觉传感器(如摄像头),通过检测托盘的物品重量和/或飞行距离和/或图像信息,即可判断出托盘内是否存在物品,简单方便。

本实施例中,通过传感器对机器人的每一托盘进行检测,以确定托盘是否被占用,当机器人上的任一托盘被占用时,确定机器人的托盘状态为被占用状态,机器人上的每一托盘均未被占用时,确定机器人的托盘状态为空闲状态,细化了实时确定机器人的托盘状态的步骤,仅当机器人上的所有托盘均未被占用时,才确定机器人的托盘状态为被占用状态,确保机器人任务执行完毕才能被调用,提高了工作质量。

在一实施例中,步骤S11中,即通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用,具体包括如下步骤:

S111:实时获取传感器对每一托盘的检测数据,以确定每一托盘上是否存在物品。

本实施例中以传感器为TOF传感器为例,每托盘的下方设置有托盘检测板,托盘检测板设有机器人处理器(MCU)和TOF传感器,各TOF传感器可有效识别托盘内的物品,MCU通过I2C协议与TOF传感器通信可获取一个具体的检测数值(检测数据)。在实时获取传感器对托盘的检测数据后,通过判定给定阈值(预设值)与检测数值,即可以快速确定托盘上是否存在物品。当任一TOF传感器对托盘的检测数据大于或者等于预设值时,表示托盘上存在物品,其中,预设值为预先标定的用于表征托盘内存在物品的最小值,否则托盘内不存在物品。

在一实施例中,若机器人包括多层托盘,则不同层数之间的托盘对应的预设值不同。不同层数之间的托盘存在差异,第一层的托盘受外界因素影响大,尤其是外界强烈的阳光直射,会增加TOF传感器的测量时间,从而导致测出来的具体偏大,而第二至四层受外界因素影响小,因此设置的预设值较大,抗干扰能力较强。其中,为进一步提高预设值的准确性,可以对不同层数的托盘进行TOF传感器检测测试,根据测试结果标定各层之间的预设值。

例如,第一层托盘设置的预设值可以为30cm,而第二至四层设置的预设值可以为38cm。

S112:若确定托盘上存在物品,则将托盘的物品检测有效次数加1,物品检测有效次数用于表征检测到托盘上存在物品的次数。

在每次确定托盘上是否存在物品之后,若确定托盘上存在物品,则将托盘的物品检测有效次数加1,其中,物品检测有效次数用于表征检测到托盘上存在物品的次数。若确定托盘上不存在物品,则将托盘的物品检测有效次数保持不变。

S113:确定预设时长内物品检测有效次数是否大于预设次数。

同时,在将托盘的物品检测有效次数加1或者保持不变后,确定预设时长内物品检测有效次数是否大于预设次数,以根据确定几千个确定托盘是否被占用。

S114:若大于或者等于预设次数,则确定托盘被占用。

S115:若小于预设次数,则确定托盘未被占用。

可以理解的是,托盘的空闲状态十分依赖于传感器性能,但在机器人的实际生产和运用过程中,传感器容易存在检测数据不稳定的问题,可能会发生时而检测到托盘存在物品,而后由检测到托盘无物品的情况,导致输出的托盘空闲状态不够准确,影响后续的机器人任务调配。因此,为保证判断结果的稳定性,需要对一定时长内的检测有效性进行判断,当预设时长内检测到的物品检测有效次数大于或者等于预设次数时,才确定托盘被占用,否则确定托盘未被占用。

其中,预设次数为TOF传感器在预设时长内能够进行检测的最大次数。例如,当预设时长为1s时,TOF传感器在预设时长内最多能够对托盘进行10检测,则预设次数为10。本实施例中,预设时长为1s、预设次数为10仅为示例性说明,在其他实施例中,预设时长和预设次数还可以是其他组合,如预设时长为2s,则预设次数为20;预设时长为3s,则预设次数为30,依次类推。本实施例中,为保证数据处理速度和结果获得的及时性,以预设时长为1s、预设次数为10为例进行说明。

在确定预设时长内物品检测有效次数是否大于预设次数之后,若大于或者等于预设次数,表示在预设时长内传感器检测到的托盘物品存在状态不变,则确定托盘被占用;若小于预设次数,表示在预设时长内传感器检测到的托盘物品存在状态发生了变化,物品可能被拿走,则确定托盘未被占用。

本实施例中,通过实时获取传感器对托盘的检测数据,以确定托盘上是否存在物品;若确定托盘上存在物品,则将托盘的物品检测有效次数加1,物品检测有效次数用于表征检测到托盘上存在物品的次数;确定预设时长内物品检测有效次数是否大于预设次数;若大于或者等于预设次数,则确定托盘被占用;若小于预设次数,则确定托盘未被占用;明确了通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用的具体步骤,通过在预设时长内对检测结果进行判断,仅当定预设时长内物品检测有效次数大于预设次数,即预设时长内连续检测到托盘存在物品时,才确定托盘被占用,提高了判断结果的准确性。

在一实施例中,步骤S111中,即实时获取传感器对每一托盘的检测数据,以确定每一托盘上是否存在物品,具体包括如下步骤:

S1111:获取安装在同一托盘中多个传感器对托盘实时的检测数据。

S1112:根据多个传感器的检测数据,确定检测到托盘中存在物品的目标传感器的数量。

S1113:在目标传感器的数量大于或者等于预设数量时,确定当前时刻托盘上存在物品,预设数量为大于1的整数。

本实施例中,机器人的托盘下方安装有多个TOF传感器,即托盘检测板设有机器人处理器(MCU)和多个TOF传感器,各TOF传感器对预设范围内的物品进行有效识别。例如,托盘为圆形托盘,托盘检测板上设有4个23°TOF传感器,4个TOF传感器对自身检测数据范围内的物品进行有效识别,MCU通过I2C协议与TOF传感器通信可获取一个具体的检测数值(检测数据)。

在一托盘中多个传感器对托盘实时的检测数据后,根据多个传感器的检测数据,确定检测到托盘中存在物品的目标传感器的数量。其中,若TOF传感器度托盘的检测数据大于或者等于预设值,则确定托盘中存在物品,则该TOF传感器T为检测到托盘中存在物品的目标传感器,遍历所有的传感器,则可以确定该多个传感器中目标传感器的数量。

在根据多个传感器的检测数据,确定检测到托盘中存在物品的目标传感器的数量之后,确定目标传感器的数量是否大于预设数量,其中,预设数量为大于1的整数;若目标传感器的数量大于或者等于预设数量,表示多个传感器中至少2个传感器检测到托盘中存在物体,则确定当前时刻托盘上存在物品。

传统检测方式中,多个TOF传感器中只要存在一个传感器检测到有托盘内有物体,即认为托盘内存在物品,托盘被占用。该种方法虽能迅速反应托盘内有无物体,但是忽略了一个问题,即若多个TOF中存在故障的TOF传感器或者TOF传感器检测失误,则会导致检测结果错误,影响后续判断。

而本实施例中,通过获取安装在同一托盘中多个传感器对托盘实时的检测数据;根据多个传感器的检测数据,确定检测到托盘中存在物品的目标传感器的数量;在目标传感器的数量大于或者等于预设数量时,确定当前时刻托盘上存在物品,预设数量为大于1的整数,明确了实时获取传感器对每一托盘的检测数据,以确定每一托盘上是否存在物品的具体步骤,仅当至少两个传感器检测到托盘中存在物品时,才判断托盘上存在物品,提高了判断结果达到准确性,从而提高了后续物品检测有效次数使得准确性,进而提高托盘状态的准确性。

由于TOF传感器性能不稳,为减少任一目标传感器均检测失误所导致的判断接收错误的情况,在其他实施例中,在获取安装在同一托盘中多个传感器对托盘实时的检测数据之后,当相邻两个TOF传感器均检测到托盘中存在物品时,才将该相邻两个TOF传感器作为目标传感器。由于相邻两个TOF传感器检测位置重合或者部分重合,相邻两个TOF传感器的检测结果具有更高相似性,判断两个TOF传感器的检测结果可以使得后续的判断结果更加准确。

在一实施例中,步骤S11之前,即通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用之前,该方法还具体包括如下步骤:

S01:对每一托盘对应的传感器进行故障检测,以确定传感器是否能够正常工作。

在通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用之前,需要对每一托盘对应的传感器进行故障检测,以确定传感器是否能够正常工作。若传感器不能够正常工作,则无法通过传感器对机器人的每一托盘进行检测,以确定托盘是否被占用,此时需要向机器人调度中心和/或相关人员发送传感器故障提示,以便及时处理故障。

S02:若传感器能够正常工作,则通过传感器对机器人的每一托盘进行检测,以确定托盘是否被占用。

在对每一托盘对应的传感器进行故障检测之后,若传感器能够正常工作,则通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用,以减少因传感器故障导致无法进行物品检测或检测结果不准确性的问题。

本实施例中,通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用之前,需要对每一托盘对应的传感器进行故障检测,以确定传感器是否能够正常工作;若传感器能够正常工作,则通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用,减少因传感器故障导致无法进行物品检测或检测结果不准确性的问题,保证后续的托盘检测能够正常进行,并提高了后续检测结果的准确性。

在一实施例中,步骤S01中,即对每一托盘对应的传感器进行故障检测,以确定传感器是否能够正常工作,具体包括如下步骤:

S011:确定传感器的检测数据是否处于第一预设范围。

S012:若传感器的检测数据处于第一预设范围,则确定传感器能够正常工作。

在通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用之前,需要确定传感器的检测数据是否处于第一预设范围,若传感器的检测数据处于第一预设范围,则确定传感器能够正常工作;若传感器的检测数据未处于第一预设范围,则确定传感器不能够正常工作。

其中,第一预设范围为传感器能够正常工作时的检测数据范围。第一预设范围为根据实际试验数据确定的范围。以传感器为TOF传感器为例,其中,第一预设范围的下限值为TOF传感器能够检测到的最小值(一般为在传感器上放置超薄物品),第一预设范围的上限值为TOF传感器所对应的检测区域范围(如托盘直径)。

例如,以托盘直径为43cm、在传感器上放置薄纸进行检测为例,传感器对薄纸进行检测获得的距离为6cm,则第一预设范围可以为(6,43),单位为cm。

本实施例中,第一预设范围可以为(6,43)仅为示例性说明,在其他实施例中,第一预设范围可以随试验数据和托盘大小的变化而变化。

本实施例中,通过确定传感器的检测数据是否处于第一预设范围,第一预设范围为传感器能够正常工作时的检测数据范围,若传感器的检测数据处于第一预设范围,则确定传感器能够正常工作,明确了对托盘的各传感器进行故障检测,以确定各传感器是否能够正常工作的具体步骤,通过试验获得第一预设范围,确保判断准确性,使得对传感器的检测数据进行简单判断即可确定传感器是否能够正常工作,方便快捷。

在一实施例中,步骤S011之后,即确定传感器的检测数据是否处于第一预设范围之后,该方法还具体包括如下步骤:

S013:若传感器的检测数据未处于第一预设范围,则确定传感器的检测数据是否处于第二预设范围。

S014:若传感器的检测数据处于第二预设范围,则确定传感器无法正常工作,并发送传感器存在脏污的提示信息。

在确定各传感器的检测数据是否处于第一预设范围之后,若传感器的检测数据未处于第一预设范围,表示传感器出现了故障问题,保证故障检测的精度以便后续根据实际故障情况进行检修,需要进一步确定传感器的故障情况。因此,在确定传感器的检测数据未处于第一预设范围之后,可以确定传感器的检测数据是否处于第二预设范围,其中,第二预设范围为预先标定的表示传感器出现脏污情况的检测数据范围。第二预设范围小于第一预设范围。

在确定传感器的检测数据是否处于第二预设范围之后,若传感器的检测数据处于第二预设范围,则确定传感器存在脏污而无法正常工作,并发送传感器存在脏污的提示信息给机器人调度中心和/或相关人员,以便后续根据提示信息度传感器件检修。其中,提示信息包括机器人的ID、脏污传感器在机器人某一托盘中的具体位置,其中,传感器在机器人某一托盘中的具体位置可以通过该传感器的传感器标识号码表示。

本实施例中,第二预设范围可以根据对传感器进行脏污试验测试获得,例如,以薄纸代替脏污放置在传感器上,检测获得的数据范围为0cm至6cm,则第二预设范围可以为(0,6],单位为cm。在其他实施例中,第二预设范围还可以是其他测试获得的数据,在此不在赘述。

本实施例中,在确定传感器的检测数据是否处于第一预设范围之后,若传感器的检测数据未处于第一预设范围,则确定传感器的检测数据是否处于第二预设范围,第二预设范围为预先标定的检测数据范围,若传感器的检测数据处于第二预设范围,则确定传感器无法正常工作,并发送传感器存在脏污的提示信息,通过比较传感器的检测数据和第二预设范围,可以确定传感器是否出现脏污问题,能够快速有效确定位传感器故障类型,以便后续根据实际故障类型进行检修。

在一实施例中,步骤S011之后,即确定传感器的检测数据是否处于第一预设范围之后,若传感器的检测数据未处于第一预设范围,该方法还具体包括如下步骤:

S015:确定传感器的检测数据是否处于第三预设范围或第四预设范围。

在确定传感器的检测数据是否处于第一预设范围之后,若传感器的检测数据未处于第一预设范围,表示传感器出现了故障问题,保证故障检测的精度以便后续根据实际故障情况进行检修,需要进一步确定传感器的故障情况。因此,在确定传感器的检测数据未处于第一预设范围之后,可以确定传感器的检测数据是否处于第三预设范围或第四预设范围,其中,第三预设范围、第四预设范围,均为预先标定的表示传感器出现硬件故障的检测数据范围。第三预设范围小于第一预设范围,第四预设范围大于第一预设范围。

例如,第三预设范围可以为小于或者等于0cm的范围;第四预设范围的下限值为第一预设范围的上限值(如前述的43cm),第四预设范围的上限值表示单个传感器能够检测的最大距离(为655.35cm)。

S016:若传感器的检测数据处于第三预设范围或第四预设范围,则确定传感器无法正常工作,并发送传感器的硬件发生故障的提示信息。

在确定传感器的检测数据是否处于第三预设范围或第四预设范围之后,若传感器的检测数据处于第三预设范围或第四预设范围,则确定传感器因出现硬件故障而无法正常工作,并发送传感器的硬件发生故障的提示信息。

其中,提示信息包括机器人的ID、硬件故障传感器在机器人某一托盘中的具体位置,其中,传感器在机器人某一托盘中的具体位置可以通过该传感器的传感器标识号码表示。

本实施例中,在确定传感器的检测数据是否处于第一预设范围之后,若传感器的检测数据未处于第一预设范围,则需要确定传感器的检测数据是否处于第三预设范围或第四预设范围,若传感器的检测数据处于第三预设范围或第四预设范围,则确定传感器无法正常工作,并发送传感器的硬件发生故障的提示信息;通过比较传感器的检测数据和第三预设范围、第四预设范围,可以确定传感器是否出现硬件故障,能够快速有效确定位传感器故障类型,以便后续根据实际故障类型进行检修。

在其他实施例中,机器人调度中心可以根据需要对托盘的各传感器进行故障检测。在需要对托盘的各传感器进行故障检测时,机器人调度中心可以通过TOF故障上报协议,要求机器人处理器发送各TOF传感器的检测数据,机器人调度中心自行根据各TOF传感器的检测数据对各传感器进行故障检测。

在其他实施例中,为减少机器人调度中心的数据处理量,提高工作效率,机器人调度中心还可以通过TOF故障上报协议,要求机器人处理器对各TOF传感器进行故障检测,并将各TOF传感器的故障检测结果返回给机器人调度中心,从而提高排除故障的效率。

例如,每一托盘下方设有4个传感器(TOF1至TOF4),在需要对托盘的各传感器进行故障检测时,机器人调度中心向机器人处理器发送数据上报指令,要求机器人处理器发送各TOF传感器的检测数据。其中,数据上报指令的格式内容如表1所示:

表1

其中,表1中各数据含义如下:

CMD代表故障上报协议的功能字,其数值为自主定义,可定义为0x00~0xFF中任一字节;

Byte1用于区分该故障上报协议帧为打开或关闭TOF检测数据上行的帧,其中,0表示关闭,1表示打开;

byte2至byte5是该故障上报协议帧的传感器数据内容,由于该协议帧用于打开/关闭TOF数据上行,不需要有数据交互,因此初始化为0x00;

byte6为byte0的取反结果,主要用于校验(判断通信过程中数据是否异常);byte7为校验码。

如表1所示,当机器人调度中心改变上面指令中第二个字节Byte1的数值(0/1)时,可获取TOF对托盘进行实际检测的检测数据,机器人调度中心可通过各传感器检测的数据定位出现问题的TOF传感器;另外当机器人调度中心通过数据上报指令打开TOF数据上报功能时,机器人处理器会对应反馈相同的指令用于应答,同时对托盘检测并开始实时上传各TOF的检测数据,其中,机器人处理器通过如下表2的格式上传各TOF的检测数据:

表2

其中,表2中各数据含义如下:

CMD:故障上报协议帧功能字,其取值范围为0x00~0xFF中任一字节;

Byte1:0x02用于表示该协议帧为TOF传感器的检测数据帧;

Byte2:Group字段用于区分该数据帧为两个TOF的检测数据,两个TOF对应的字段为事先约定的字段,例如,当该字段为0x01时,该数据帧表示TOF1至TOF2的检测数据;当该字段为0x02时,该数据帧表示TOF3至4的检测数据;

Byte3至Byte6:表示对应TOF传感器的检测数据,因byte2取值的不同,则对应的含义不同;例如,当byte2为0x01时,这四个字节分别表示TOF1和TOF2的检测数据,此时Byte3至Byte6分别表示TOF1检测数据的高字节(T1_H)、TOF1检测数据的低字节(T1_L)、TOF2检测数据的高字节(T2_H)、TOF2检测数据的低字节(T2_L);当byte2为0x02时,这四个字节分别表示TOF3和TOF4的检测数据,此时Byte3至Byte6分别表示TOF3检测数据的高字节(T1_H)、TOF3检测数据的低字节(T1_L)、TOF4检测数据的高字节(T2_H)、TOF4检测数据的低字节(T2_L)。Byte7为byte0的取反结果。

本实施例中,数据上报指令和机器人处理器的应答数据的内容、格式仅为示例性说明,在其他实施例中,数据结果上报指令和机器人处理器的应答数据还可以是其他方式,在此不在赘述。

在其他实施例中,为减少机器人调度中心的数据处理量,提高工作效率,机器人调度中心还可以通过TOF故障上报协议,要求机器人处理器对各TOF传感器进行故障检测,并将各TOF传感器的故障检测结果返回给机器人调度中心,从而提高排除故障的效率。

例如,每一托盘下方设有4个传感器(TOF1至TOF4),在需要对托盘的各传感器进行故障检测时,机器人调度中心向机器人处理器发送故障结果上报指令,要求机器人处理器发送各TOF传感器的故障检测结果。其中,故障结果上报指令的格式内容如表3所示:

表3

其中,表3中各数据含义如下:

CMD代表故障上报协议的功能字,其数值为自主定义,可定义为0x00~0xFF中任一字节;

Byte1用于区分该故障上报协议帧为打开或关闭TOF的自检功能帧,其中,3表示关闭,4表示打开;

byte2至byte5是该故障上报协议帧的传感器故障检测结果,由于该协议帧用于打开/关闭TOF的自检功能,不需要有数据交互,因此初始化为0x00;

byte6为byte0的取反结果,主要用于校验(判断通信过程中数据是否异常);byte7为校验码。

如表3所示,当上位机改变上面指令中第二个字节Byte1的数值(3/4)时,可获取TOF自检结果,可快速定位出现问题的TOF传感器;另外当上位机下行打开或关闭TOF自检结果上行时,托盘检测板会对应反馈相同的指令用于应答上位机。

如表1所示,当机器人调度中心改变上面指令中第二个字节Byte1的数值(3/4)时,可获取对各TOF传感器件故障检测的故障检测结果,机器人调度中心可通过各传感器故障检测结果准确定位出现问题的TOF传感器;另外当机器人调度中心通过故障结果上报指令打开TOF的自检功能时,机器人处理器会对应反馈相同的指令用于应答,同时对托盘下方的TOF传感器进行故障检测并上传各TOF的故障检测结果,其中,机器人处理器通过如下表4的格式上传各TOF的故障检测结果:

表4

其中,表4中各数据含义如下:

CMD:故障上报协议帧功能字,其取值范围为0x00~0xFF中任一字节;

Byte1:0x025用于区分该协议帧为某一托盘的4个TOF传感器的故障检测结果帧;

Byte2至Byte5:分别表示TOF1至TOF4这四个TOF传感器的故障检测结果,TOF1至TOF4这四个TOF传感器的故障检测结果分别为L1_P、L2_P、L3_P、L4_P,L1_P、L2_P、L3_P、L4_P的取值范围为0x00至0x02,其中,0x00表示该TOF传感器的故障检测结果为无故障通过(自检OK);0x01表示该TOF传感器的故障检测结果为TOF传感器存在脏污;0x02表示该TOF传感器的故障检测结果为TOF传感器存在硬件问题。

Byte6为byte0的取反结果,Byte7为验证码。

本实施例中,故障结果上报指令和机器人处理器的应答数据的内容、格式仅为示例性说明,在其他实施例中,故障结果上报指令和机器人处理器的应答数据还可以是其他方式,在此不在赘述。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种种机器人处理器,该种机器人处理器与上述实施例中的机器人处调度方法一一对应。如图4所示,该机器人处理器包括确定模块401、第一标记模块402和第二标记确定模块403。各功能模块详细说明如下:

确定模块401,用于在机器人执行任务的过程中,实时确定机器人的托盘状态;

第一标记模块402,用于若机器人的托盘状态为空闲状态,则将机器人的状态标记为可调度机器人,以根据待处理任务的任务信息和可调度机器人的实时信息,对可调度机器人进行任务分配;

第二标记确定模块403,用于若机器人的托盘状态为被占用状态,则将机器人的状态标记为不可调度机器人,并实时监控不可调度机器人的状态直至被标记为可调度机器人。

可选的,确定模块401具体用于:

通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用;

当机器人上的任一托盘被占用托盘时,确定机器人的托盘状态为被占用状态;

当机器人上的每一托盘均未被占用时,确定机器人的托盘状态为空闲用状态。

可选的,确定模块401具体还用于:

实时获取传感器对托盘的检测数据,以确定每一托盘上是否存在物品;

若确定托盘上存在物品,则将托盘的物品检测有效次数加1,物品检测有效次数用于表征检测到托盘上存在物品的次数;

确定预设时长内物品检测有效次数是否大于预设次数;

若大于或者等于预设次数,则确定托盘被占用;

若小于预设次数,则确定托盘未被占用。

可选的,确定模块401具体还用于:

获取安装在同一托盘中多个传感器对托盘实时的检测数据;

根据多个传感器的检测数据,确定检测到托盘中存在物品的目标传感器的数量;

在目标传感器的数量大于或者等于预设数量时,确定当前时刻托盘上存在物品,预设数量为大于1的整数。

可选的,通过传感器对机器人的每一托盘进行检测,以确定托盘是否被占用之前,确定模块401具体还用于:

对每一托盘对应的传感器进行故障检测,以确定传感器是否能够正常工作;

若传感器能够正常工作,则通过传感器对机器人的每一托盘进行检测,以确定每一托盘是否被占用。

可选的,确定模块401具体还用于:

确定传感器的检测数据是否处于第一预设范围,第一预设范围为传感器能够正常工作时的检测数据范围;

若传感器的检测数据处于第一预设范围,则确定传感器能够正常工作。

可选的,确定各传感器的检测数据是否处于第一预设范围之后,确定模块401具体还用于:

若传感器的检测数据未处于第一预设范围,则确定传感器的检测数据是否处于第二预设范围,第二预设范围为预先标定的检测数据范围;

若传感器的检测数据处于第二预设范围,则确定传感器无法正常工作,并发送传感器存在脏污的提示信息。

可选的,若传感器的检测数据未处于第一预设范围,确定模块401具体还用于:

确定传感器的检测数据是否处于第三预设范围或第四预设范围;

若传感器的检测数据处于第三预设范围或第四预设范围,则确定传感器无法正常工作,并发送传感器的硬件发生故障的提示信息。

关于机器人处理器的具体限定可以参见上文中对于机器人调度方法的限定,在此不再赘述。上述机器人处理器中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以为机器人调度中心,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储机器人调度方法所用到、生成的数据,包括人物信息、机器人信息、传感器的检测数据和故障解检测结果等。该计算机设备的网络接口用于与外部的机器人通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人调度方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器,存储器中存储有计算机程序,处理器用于调用并执行计算机程序,处理器执行计算机程序时实现上述机器人调度方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述机器人调度方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 一种机器人调度的方法、装置、计算机设备及存储介质
  • 机器人任务调度方法、计算机设备及存储介质
技术分类

06120114692402