具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。举例来说,在不脱离本申请的范围的情况下,可以将第一类预设算法称为第二类预设算法,且类似地,可将第二类预设算法称为第一类预设算法。第一类预设算法和第二类预设算法两者都是算法,但其不是用于完成同一功能的算法。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参见图1,为本申请控制机器人的方法第一实施例中的流程示意图。具体的,该控制机器人的方法由服务器执行,例如:一个服务器或集群服务器等。需要说明的是,本申请中的服务器在不同的实施例中也可称为云服务平台、控制平台等。而本申请所提供的控制机器人的方法的应用场景是以工业生产的场景为主,为工业生产中提供控制机器人的方法,所以本申请中的执行主体的计算能力更加强大,以便提供实实时性更好的机器人控制方法。需要说明的是,本申请提供的技术方案并不限于是工业生产的场景。在当前实施例中,本申请控制机器人的方法包括步骤S110~S150。其中,
S110:接收来自用户或机器人的请求指令。
可选地,来自用户的请求指令包括:控制机器人指令、查询指令,但不限于此。控制机器人指令是指由用户用于控制机器人完成某一作业任务、而由终端设备发送至服务器的请求指令。
在一实施例中,服务器接收到的是由用户经终端设备发送至服务器的控制机器人指令。控制机器人的指令可以是任务控制指令或简单控制指令。其中,任务控制指令是用于控制机器人完成某一作业任务的指令,服务器在接收到该指令时需要进一步获取样本数据,并进行基于样本数据计算,以得到用于生成控制指令的推荐数据。例如,任务控制指令可以是控制机器人完成对某一产品的打磨、或者是完成某一产品的喷涂的指令,当服务器在获取到控制机器人完成某一产品的打磨指令时,需要获取与该指令匹配的样本数据进一步计算推荐数据。相比于任务控制指令,简单控制指令并不需要计算推荐数据,服务器在接收到简单控制指令时,会直接将该指令透传至机器人,以实现控制机器人完成该指令所对应的任务。如:控制机器人关机断电或休眠的指令、控制机器人转向的指令等,即不要服务器获取样本数据计算推荐数据,只需要服务器透传至机器人。
在另一实施例中,服务器接收到的是用户经终端设备发送的查询指令,或是机器人发送的查询指令。其中,用户发送的查询指令是用于获取服务器中所存储的数据或信息的指令,可以理解的,用户发送的查询指令还可以是经服务器为中间媒介,查询至少一个机器人的实时状态参数、或者是查询某一机器人周围环境场景数据(或是某一区域的场景数据),在此对于查询指令不做任何限定。可以理解的,在其实施例中查询指令还可以是由机器人发送至服务器端的,此时的查询指令是用于查询服务器中数据或者是以服务器为媒介查询网络端的数据,在此对于来自机器人的查询指令不做任何限定。
可选地,来自机器人的请求指令包括:报警指令、升级请求指令,但不限于此。
在一实施例中,服务器接收到的是机器人发送的报警指令。其中,报警指令是当机器人的某一参数超出预警值时,用于告知服务器或者是告知用户所生成的指令,报警指令在本申请中指令的传输和处理中具有最高的优先级别,用于快速实现报警。
在另一实施例中,服务器所接收的升级请求指令是机器人主动发送的,用于升级自身系统或者是某一操作程序,又或者是升级更新某一类数据的指令,在此对于升级请求指令不做任何的限定。
S120:判断用户或机器人的权限与请求指令是否匹配。
在本申请所提供的实施例中,会依据实际的需要分别为机器人和用户设置不同的权限,不同等级的权限可以进行的操作和可访问空间也不相同。所以当服务器接收到来自用户或机器人的请求指令后,会进一步判断用户或机器人的权限与其所发送的请求指令是否匹配,以此保证提供一种具有较好安全机制的控制机器人的方法。
可选地,在当前用户或机器人所属权限等级可进行的操作中包含其所发送的请求指令所对应的操作,则判断当前用户或机器人的权限与其所发送的请求指令匹配。反之,则判断用户或机器人与其所发送的指令不匹配。
在一实施例中,将用户设定为三种不同的权限。其中所设定的用户的权限分别为:一级、二级和三级。具有一级权限的用户是指可以简单访问服务器,进行简单查询的用户,具有二级权限的用户是指可以进行访问服务器,进行高级查询的、且可以控制机器人的用户,具有三级权限的用户的是指在一级权限和二级权限的基础之上,还可以更改服务器或者是通过服务器更改机器人配置的,同时可查询绝密内容的用户。类似的,依据权限将机器人分别设定为可自动更新升级的机器人和不可自动更新升级的机器人。
在另一实施例中,对于用户的权限设定在参考上述实施例中的权限的大小,还可以同时依据区域、工种类型等进行划分设定。如:依据区域将当前服务器所覆盖的区域将用户权限分为A区、B区、C区用户等等,其中A区用户只能访问与A区相关的数据和资料,只能对A区的机器人下达指令,B区用户和C区用户类似。可以理解的,还可以依据机器人所执行工种类型设定用户的权限,如依据工种类型设定用户分为:具有控制打磨权限的用户、具有控制喷涂权限的用户、具有控制焊接权限的用户等等,当然本申请所提供的技术方案中可以设置一个用户具有多个工种类型的权限。可以理解的,在本申请中对用户权限和机器人权限的设定具体是依据实际的需要,并可进行调整更改,在此不做任何的限定。
S130:当用户或机器人的权限与请求指令匹配时,获得对应请求指令的样本数据。其中,样本数据是来自不同机器人的有效预设资源,关于有效预设资源的获取请参阅下文的实施例。
当步骤S120中判断得到当前用户或机器人的权限与其所发送的请求指令匹配时,会进一步获取对应请求指令的样本数据。在本申请所提供的技术方案中,由于在完成不同的请求指令所对应的作业任务时,需要不同的参数或配置信息,而为了提供更加精准的数据与更契合不同机器人的数据,所以在接收到用户或机器人的请求指令时,并在判断其权限与所发送的请求指令匹配后,则会进一步获取完成如请求指令所述的作业任务时所需的参数或者是其他配置信息所对应的样本数据,这里的样本数据是指在计算或获取参数或配置信息所参考的数据。
在一实施例中,当请求指令是用户发送的打磨某一规格零件的指令,由于执行打磨任务的机器人品牌、应用场景以及产品的规格,出货的速度要求不同,那么对完成打磨该规格零件所需要程序结构和/或所需配置的打磨参数也不同,那么则不可简单套用其他打磨任务的参数。为了给执行该任务的机器人配置更加准确的程序结构以及合理的参数,需获取对应该打磨指令的样本数据。
可以理解的,本申请中的样本数据可以是来自服务器内部的,也可以是来自网络云端的,还可以是由用户经终端设备提供给服务器的。
在另一实施例中,当用户权限或机器人权限与请求指令不匹配时,判定请求指令为无效请求指令,并拒绝所述请求指令。可以理解的,当步骤S120中判断用户权限或机器人权限与请求指令不匹配时,即可以理解用户所有的权限中不包括当前请求指令中所对应的权限,所以为保证工业生产的安全,避免信息的泄露,进一步拒绝请求指令及其所对应的操作。
S140:处理样本数据,以得到匹配目标机器人的推荐数据。
对步骤S130中所获取到的样本数据进行处理,最终获得用于完成请求指令所对应的作业任务的推荐数据。推荐数据是指用于完成所接收到的请求指令所对应作业任务所需的参数、程序或其他所需要信息等。可以理解的,处理样本数据后所得的推荐数据可以是一组,也可以是多组,具体依据实际的需要设定和调整,在此不做任何的限定。
S150:基于推荐数据生成发送至目标机器人的控制指令。
基于所获取的请求指令,以及处理对应请求指令的样本数据所得的推荐数据,最终可生成用于发送至目标机器人的控制指令。其中,目标机器人是指执行所接收的请求指令所对应的作业任务的机器人。在一实施例中,请求指令是由用户发送:具体是用于控制ID是00000001~00000101的机器人执行A任务,那么此时目标机器人是ID是00000001~00000101的机器人。在另一实施例中,请求指令是机器人发送的用于自身系统升级的升级请求指令,此时目标机器人与发送请求指令的机器人是同一部机器人。
其中,需要说明的是,请求指令是由用户或机器人发送至服务器端的指令,而控制指令则是由服务器发送至机器人端的用于控制机器人完成某项作业任务或操作时所生成的指令。控制指令的生成可以是基于用户发送的请求指令,也可以是基于机器人发送的请求指令。控制指令具体包括但不限于:机器人控制系统备份、编程代码、PLC代码等软件组体信息、工件尺寸、重量等加工信息,用于目标机器人的软件升级或完成作业任务时所需参数或者运动代码。
进一步的,请参见图2,为本申请控制机器人的方法第二实施例的流程示意图。在当前实施例中,图1中的步骤S150进一步包括步骤S251至步骤S252。其中,
S251:判断目标机器人所支持的协议类型。
在现有的市场上,由于各个品牌的机器人所支持的协议类型并不是统一的,所以在生成控制指令之前需要进一步判断目标机器人所支持的协议类型。
S252:基于推荐数据生成用于发送至目标机器人、且与所述协议类型匹配的控制指令。
基于步骤S140中所得的推荐数据,生成与目标机器人所支持的协议类型相匹配的控制指令。如,当请求指令是用户发送的用于使得A区域内机器人完成某一项作业任务,但是A区域内的机器人的品牌不同,且所支持的协议类型也不全部相同,此时服务器在计算得到推荐数据后,进一步基于不同机器人所支持的协议类型,以及推荐数据生成发送至机器人的控制指令。
基于步骤S110至步骤S150所提供的技术方案,可以较好地基于请求指令,计算得到更加精准、且更契合机器人或者某一作业任务的推荐数据,而不是简单复制和套用样本数据,较好地应对多种复杂应用场景,同时还保证了机器人、终端设备与服务器间的数据传输的安全。
进一步的,请参见图3。图3是本申请第三实施例的流程示意图。由图可知,步骤S130进一步包括步骤S331至步骤S332,即下文是对步骤S130:当用户或机器人的权限与请求指令匹配时,获得对应请求指令的样本数据进一步展开阐述。其中,
S331:当用户或机器人的权限与请求指令匹配时,分析请求指令,以提取出用于获取样本数据的至少一个限定信息。
在一实施例中,服务器所接收到的是来自用户的请求指令。可选地,所接收的来自用户的请求指令包括:目标机器人ID地址,另外所接收到的来自用户的请求指令中还包括工种类型(也可称为是作业任务类型)、工件类型、工件规格、场景类型、目标机器人品牌中的一种或两种以上的组合。来自机器人的请求指令中包括:目标机器人的ID地址,除此之外来自机器人的请求指令中还包括:请求事项类型、目标机器人的基本属性信息。可以理解的,请求指令中具体所包含的信息可依据实际的需要设定改变,具体在此不做任何的限定。所以服务器在判断得到用户或机器人具有对应所发送的请求指令的权限时,会进一步分析所接收到的请求指令,以获取请求指令中所包含信息中的至少一部分,用做获取样本数据的限定信息。
需要说明的是,在一实施例中,对于机器人品牌以及机器人基本属性信息等相对固定的信息,可以预先保存在服务器中,且是预先将上述固定信息与保存在服务器端的机器人ID地址设定关联关系,所以在获取到用户请求指令时,即可直接依据预先设定的关联关系调用上述固定信息用作获取样本数据的限定信息,在此对固定信息所包含的种类并不做任何的限定。
在一实施例中,当请求指令是来自用户的指令时,工种类型包括:打磨、搬运、码垛、焊接、装配、喷涂、抛光等,但不限于此。工件名称及工件规格和其他参数依据实际的需要由用户在终端输入设定。在本申请中,用户可通过发送一个请求指令来控制多个机器人,所以请求指令中所包含的执行请求指令所对应作业任务的目标机器人ID地址可为多个。
S332:获取匹配限定信息的预设数量的样本数据。
在分析请求指令后获得限定信息后,基于所获取的限定信息获取与所获取的限定信息相匹配的预设数量样本数据。所获取的样本数据的数量是依据预先的设定,在此对所获取的样本数据的数量不做任何的限定。
其中,样本数据可以是来自于云端数据库中,也可以是来自服务器本地所存储的样本数据库,还可以是由用户直接输入的样本数据。本申请中样本数据是按照限定信息筛选云端数据库或样本数据库中的数据得到,为提供更加准确的推荐数据提供了较好的基础。从请求指令中所获取的限定信息包括:工种类型、工件类型、工件规格、场景类型、机器人品牌中的一种或两种以上的组合。
在本申请中,根据每个机器人可执行作业任务类型的数量,将机器人划分为单一型机器人和复合型机器人。其中,单一型机器人是只可执行一种作业任务的机器人,复合型机器人是可以顺次执行多个作业任务机器人。在一实施例中,当用户所发送的请求指令中包含多个作业任务时,则分别提取不同的作业任务所对应的限定信息,以获取用于计算针对不同作业任务的推荐数据。如,当用户所发送的请求指令中包含装配和喷涂两个作业任务时,即请求一复合型机器人顺次完成装配和喷涂,则会在分析请求指令时,分别提取出用于获取装配样本数据的限定信息和用于喷涂的限定信息。同样的,在分别提取用于获取装配样本数据的限定信息和用于获取喷涂样本数据的限定信息后,再依据所获取的限定信息,分别获取用于计算装配推荐数据的样本数据和用于计算喷涂推荐数据的样本数据。
进一步的,请结合图4,对步骤S140处理样本数据,以得到推荐数据的做进一步阐述。由图可知,步骤S140进一步包括步骤S441至步骤S442。
S441:解析请求指令,以得到任务要求。
本申请所提供的来自用户或机器人的请求指令中至少包括任务请求信息。在一实施例中,当请求指令是来自用户的控制指令时,则当前实施例中的任务要求至少包括:工件的规格、出货的速度等,任务要求中所包括的具体内容依据作业任务进行设定。可以理解的,任务要求和上述实施例中的限定信息在某些实施例中可以是相同的信息。
在另一实施例中,当请求指令是来自用户或机器人的查询指令时,则当前实施例中任务要求至少包括:所查询的数据类别、希望获取的数据数量、机器人品牌、产品类型、故障率、良品率、程序名称中的至少一者,可以理解的,当前查询指令中所包含的任务要求还可以包括其他的内容,在此不一一详述。
在另一实施例中,当请求指令是来自机器人的升级请求指令时,则在当前实施例中任务要求至少包括:该机器人系统的属性信息(系统的类型、内存、处理器的类型)、目标升级的程序名称和版本。
S442:调用预设算法,并按照任务要求,处理样本数据,以得到匹配目标机器人的推荐数据。
基于步骤S441中分析所得任务要求,调用预设算法,处理样本数据,以得到匹配目标机器人的推荐数据。其中,预设算法至少包括:第一类预设算法和其他算法。第一类预设算法为用于排序的算法,具体包括:归并排序、冒泡排序、选择排序中的至少一种,具体可以依据实际的需要进行调整设定,在此不做任何的限定,其他算法主要包括为实现某一功能的自主编写的算法、或其他所需的机器学习算法等等。
其中,当样本数据是一段程序代码时,处理样本数据可以是对样本数据中的部分参数依据任务要求进行修改。当样本数据是一类参数值时,则对样本数据的处理则可以是对该类参数进行求均值或者进一步优化,得出推荐数据。
进一步的,请参见图5,本申请所提供的控制机器人的方法中,可以设定如上述实施例所阐述的步骤,即在获取到样本数据后,直接处理所获得的样本数据,以获得推荐数据。可以理解的,在一实施例中当获取到样本数据后,还可以如图5中步骤S502所述,会进一步将所获取到的样本数据或部分样本数据发送给用户,供用户选择所采用的样本数据。图5所对应的实施例是对图4中步骤S442所述内容进一步展开,具体的,步骤S442进一步包括如步骤S501所述的内容。其中,
S501:调用第一类预设算法,并按照任务要求,对样本数据进行排序分析,以得到与目标机器人属性匹配度最高的部分样本数据作为推荐数据。在运用排序算法时,可以参照多个限定信息进行排序,如可以同时依据某一数据的调用频率进行排序,还可以依据数据的评分(数据的评分或者是评估结果将在下文详述)进行排序。其中,推荐数据包括:与任务要求匹配度最高的部分样本数据,第一类预设算法为用于排序的算法,具体包括:归并排序、冒泡排序、选择排序等等,可以理解的,排序算法还可以包括其他的算法,在此不一一详述。
S502:将与目标机器人属性匹配度最高的部分样本数据发送给用户。
将步骤S501排序所得的匹配度最高的部分样本数据发送给用户,以供用户选择至少一组样本数据,用做最终的样本数据,以在处理这一部分样本数据后得到推荐数据。其中,对于发送给用户的样本数据的数量,可以根据实际的需要进行设定调整。可以理解的,本申请所提供的技术方案中,当需要用户选择的样本数据数量过多时,还可以将经排序所得样本数据发送至用户端,提示用户剔除不需要的样本数据,将用户选择保留的样本数据发送至服务器端,用于处理得到推荐数据,以生成控制指令。
在其他的实施例中,当请求指令是来自机器人的请求指令时,是不需要将样本数据发送至机器人供机器人选择,此时可直接默认选择匹配度最高的样本数据,选择这一组数据用于生成控制指令发送至机器人。可以理解的,当请求指令是机器人发送的指令时,在获得样本数据后,将所得样本数据,以及请求指令中所包含的任务描述生成控制指令发送至机器人侧,机器人侧可采用任务级编程,即参考所接收到的样本数据,只需要根据对任务本身的描述,以及对目标产品规格的设定,由机器人自动生成指令完成作业任务,可以理解的,当请求指令是来自用户的指令时,同样可以采用上述的任务级编程。
S503:处理用户所选择的至少一组用于生成控制指令的样本数据,以得到推荐数据。
在一实施例中,接收到用户所选择的用于生成控制指令的样本数据后,会进一步的处理该数据,以得到推荐数据。如:当样本数据是参数值时,可对用户所选择的数据进一步求取均值以获得一个更加准确的推荐数据,又或者是对用户所选择的样本数据做其他更加复杂或多个步骤的计算,在此不一一详述。在另一实施例中,接收到用户所选择的用于生成控制指令的样本数据后,不对其做任何的处理,直接基于所选择的样本数据进一步生成发送至机器人的控制指令。
进一步的,请参见图6,为本申请第六实施例的流程示意图。在当前实施例中,当判断用户或机器人的权限与请求指令匹配时,在上述步骤S441分析请求指令,以得到任务要求之后还可以包括步骤S601和步骤S602,上述步骤S442进一步包括S603,其中,
S441:分析请求指令,以得到任务要求。
S601:获取目标机器人的基本属性信息。
在当前实施例,目标机器人的属性信息包含在请求指令中,即直接基于上述步骤中对请求指令的分析结果,即可获得机器人的属性信息。可以理解的,如上所述,本申请所提供的技术方案中,还可以将如机器人的品牌等基本属性信息与机器人的ID地址预先关联保存在服务器中,当服务器通过分析请求指令获得目标机器人的ID地址后,进一步基于ID地址与机器人属性信息间的关联关系,即可获得目标机器人的属性信息。
S602:获得匹配目标机器人属性信息的样本数据。
进一步的,在一实施例中步骤S602是基于所获得的目标机器人的属性信息,对步骤S130中所获取到的样本数据进一步的进行筛选,以获得匹配目标机器人属性信息的样本数据。
可以理解的,当在其他实施例中,如若在分析请求指令时所获得的限定信息中,已包含目标机器人属性信息,则可以将步骤S130中所获取的样本数据看作是匹配目标机器人属性信息的样本数据,则不会再重复进行步骤S601和S602,或者也可以看作是在前阶段已经完成如步骤S601和S602所述的内容。
S603:按照任务要求处理所匹配的样本数据,以得到匹配目标机器人属性信息的推荐数据。
进一步的,按照任务要求处理匹配目标机器人属性信息的样本数据,以得到匹配目标机器人属性信息的推荐数据。如,A品牌的目标机器人和B品牌的目标机器人的属性信息不同,如A品牌机器人是左机械臂为主机械臂,B品牌是右机械臂为主机械臂,那么对同一规格的产品进行同一工种,如打磨时,则会基于A和B主机械臂的不同,需要分配的参数也会因此不同,那么就必须基于A和B主机械臂的不同,分别基于A和B的基本属性信息获取匹配各自属性信息的样本数据,并按照任务要求处理样本数据,方可得到匹配A和B的属性信息的推荐数据,可以较好地保证工业生产安全,避免出现生产事故。
请参见图7,为本申请提供的控制机器人的方法一实施例中的终端设备、服务器和目标机器人间的交互示意图。在当前实施例中,用户通过终端设备发送请求指令至服务器,服务器在接收到请求指令后,会进一步判断用户或机器人的权限与请求指令是否匹配,当服务器判断用户的权限与请求指令匹配时,获得对应请求指令的样本数据,并调用第一类预设算法(用于排序的算法)对样本数据进行排序分析,以得到与目标机器人匹配度最高的部分样本数据。进一步的,服务器将所获得的与目标机器人属性匹配度最高的部分样本数据发送给用户,以供用户选择至少一组样本数据,用户在终端设备侧选择至少一组样本数据发送至服务器。服务器在接收到终端设备所发送的至少一组用于生成控制指令的样本数据后,进一步处理所接收到的样本数据,以得到推荐数据,服务器基于所得的推荐数据,进一步生成控制指令,并将控制指令发送至目标机器人,目标机器人进一步响应控制指令所对应的作业任务。同样的,在其他实施例中,如若是机器人向服务器发送一请求指令后,除去可不将样本数据发送至终端设备供用户进行选择的步骤,其余步骤类似于请求指令来自终端设备实施例所对应的步骤,具体请参见上述各个实施例的阐述,在此不再赘述。
如上所述,本申请所提供的技术方案中,生成控制指令的推荐数据是基于所获取的样本数据得到的,而样本数据则可以是基于服务器中存储的样本源筛选获取的,对于服务器中所存储的样本源并不是简单的从已有的数据集中简单套用的,还包括本申请服务器所覆盖的区域内机器人定时上传的预设资源。为了样本数据的适用性和准确性,本申请所提供的控制机器人的方法还包括样本源的获取,具体请参见图8,为本申请第七实施例的流程示意图。即本申请所述的控制机器人的方法还包括:步骤S801至步骤S804。
S801:获取机器人上传的预设资源,根据预设资源得到样本数据。
本申请所提供的方法中,可实现机器人之间的数据的共享,为实现数据的共享,设定本申请中的服务器所覆盖区域内机器人定时上传预设资源至服务器,以用做样本数据的样本来源,实现机器人数据的共享和学习。
可以理解的,可以设定按照预设的周期获取机器人上传的预设资源,周期的时长设定依据是机器人在设定周期内所需上传的预设资源的大小,当机器人在某一时间内的所需上传的预设资源较少,则可以将获取该机器人上传的预设资源的周期设定长一些,当某一类机器人是用于建模或获取工业场所地图的机器人时,则在一定的时间内所需上传的数据资源会较多,则会将服务器获取该类机器人的时间周期设定相对短一些,以匹配机器人数据资源获取速度。可以理解的,一个服务器获取来自不同机器人所上传预设资源的周期可以是不同的,如,服务器可以设定获取A类机器人上传的预设资源的周期是1min,设定获取B类机器人上传的预设资源的周期是5min。
其中,机器人上传至服务器的预设资源包括:软件组件、导航地图、任务知识、模式识别模型、故障信息、机器人状态信息中的一种或两种以上的组合。软件组件可以是软件的安装包或者是组成某一软件的插件等;导航地图是指工件定位、世界模型、场景建模;任务知识是指完成某一作业任务的操作策略、以及机器人的运动轨迹或机器人完成某一作业任务的所需的运动轨迹;模式识别类型包括机器人对条码的识别或障碍物的识别;故障信息是指机器人所产生的故障信息,包括:超速、碰撞、过热等故障信息;机器人状态信息是指对机器人自身状态的监测所得参数,包括但不限于,各轴位置、速度、加速度、温度、碰撞力矩等运动学参数,各轴臂长、运动范围、重量、转动惯量等动力学参数。
S802:校验预设资源是否存在传输错误。
为避免将在传输过程中存在传输错误的预设资源保存至服务器,在步骤S801获取到机器人上传的预设资源后,进一步对机器人上传的预设资源进行校验。其中,校验的方式可以是校验预设资源的校验码与机器人发送时的校验码是否一致,还可以是奇偶校验、CRC校验,MD5码的校验,具体在此不做任何限定。
S803:当预设资源不存在传输错误时,审核预设资源的有效性,以得到有效预设资源。
当步骤S802校验得到预设资源不存在传输错误时,进一步审核预设资源的有效性。预设资源的有效性是指数据的值域、数量级是否符合常规、是否存在异常或者是误差。如,当某一机器人上传预设资源中所包括的应用场景的温度是2000℃时,但是按照机器人设定的区域得知该机器人的所测得应用场景的温度不会超过50℃,则进一步得到当前所上传的预设资源为无效资源。
S804:将有效预设资源转换成预设格式并保存为样本数据。
将经过步骤S802和步骤S803检验审核后所得有效预设资源,转换成预设格式,可以较好地实现资源的统一化。其中,在此对所设定的预设格式不做任何设定,可以根据实际的需要进行设定调整。
进一步的,在一实施例中,当本申请所提供的技术方案覆盖的区域内机器人数量较多,每个时间周期内需要上传的预设资源量较大时,则上述步骤S803之后进一步包括:提取出有效预设资源中的部分参数,将部分参数转换成预设格式的参数,并保存为样本数据。即进一步提取经过校验和审核后的预设资源中的部分参数,并将该部分参数转换成预设格式的参数,保存做样本数据。其中,部分参数为关键参数,可以预先设定所提取的参数种类。在当前实施例中,经过提取预设资源中的部分参数可以较好地保证对机器人上传资源处理的实时性,减少服务器在机器人上传资源的计算量。具体的,在当前实施例中,有效预设资源的转换是基于XML的数据转换。
在另一实施例中,当步骤S802和步骤S803中校验审核得到,机器人上传的预设资源为无效预设资源时,清除无效资源,并会进一步分析预设资源为无效预设资源的原因,并将分析所得的原因发送至终端设备,以告知用户(管理员)。具体的,当判断机器人上传的预设资源是无效资源时,则判断当前机器人存在异常,在判断机器人上传的预设资源为无效资源时,调取机器人的实时状态参数,以进一步分析造成机器人异常的原因,可以较好保证工业生产过程中的安全性。
进一步的,在一实施例中,请参见图9,图9是对有效预设资源进行分类和标签化处理的流程示意图。其中,
S901:调用第二类预设算法,对有效预设资源进行评估,以得到有效预设资源的评估结果。
在经过步骤S802和步骤S803校验审核得到,机器人上传的预设资源为有效预设资源时,则会进一步的调用第二类预设算法,对有效预设资源进行评估,以得到有效预设资源的评估结果(也可称为是有效预设资源的评分),为后续调用该预设资源时提供较好的参考标准。其中,对有效预设资源的评估可以是由用户通过服务器的人机接口手动对机器人上传的预设资源进行评估,评估所采用的预设评估准则是大数据时代行业通用的评估准则,如:基于经典计量模型的统计数据质量评估方法。可以理解的,还可以设定服务器自动对于机器人上传的有效预设资源进行评估,为数据的分类和标签化进一步提供分类依据。其中,第二类预设算法包括但不限于此:局部线性回归算法,最小二乘法、牛顿法等。
可以理解的,在其他实施例中,也可以运用预设的评估准则对存储在服务器中或者是云端数据库中的数据再次进行评估,以进一步评估数据的成熟度,为后续调用样本数据时提供更加准确的参考信息,即当某一组数据的成熟度很高,即表示该组数据被调用的次数较多,适用性较高,此时对该组的数据的评估得分会相对较高,这样即可以再后续有需要调用同类型的数据时,优先选择该数据。
其中,在当前实施例中,还可采用机器学习算法中相关的算法对有效预设资源进行评估,所调用的算法可以包括但不限于聚类、异常检测等算法。
S902:调用第三类预设算法,并结合评估结果处理有效预设资源。具体的,第三类预设算法包括分类算法和/或多标签学习算法。故步骤S902为:调用分类算法和/或多标签学习算法,并结合评估结果处理有效预设资源。
由于机器人上传的预设资源数量较多,所以在将预设资源保存之前,对于机器人所上传的预设资源的分类和标签化处理是非常必要且有利的,所以在对机器人上传的预设资源评估后,会进一步调用第三类预设算法,并结合上述步骤S901中对有效预设资源的评估结果,实现自动对机器人上传的预设资源进行分类和标签化处理。
具体的,对预设资源的分类依据是,机器人上传的预设资源类型和评估结果。
进一步的,在当前实施例中,基于步骤S902的基础之上,上述实施例中的步骤S804将有效预设资源转换成预设格式并保存为样本数据的步骤进一步包括如步骤S903所述的内容。具体的,
S903:将经分类算法和/或多标签学习算法处理后的有效预设资源转换成预设格式,并保存以作为样本数据。
其中,预设格式指符合服务器预先设定的语言格式,可以理解的,是可以依据实际的需要可以进行调整的。将各个机器人所上传的预设资源转换成预设格式,可以较好地实现异构机器人资源数据的统一化。
进一步的,在一实施例中,在本申请所提供的控制机器人的方法还包括:监测对请求指令或预设资源进行处理分析的状况,以得到监测数据,并基于所得的监测数据,生成日志文本并输出保存。可以理解的,对请求指令或预设资源所做的处理分析状况的检测可以较好的为服务器的维护提供较好地技术支持,当服务器出现异常时,可以快速根据检测数据或是日志文本分析得到异常的原因。
进一步的,请参见图10,为本申请控制机器人的方法在一实施例中的服务器与机器人间进行预设资源上传的交互示意图。即设定机器人按照设定周期上传预设资源至服务器,服务器在接收到预设资源后,进一步校验预设资源在传输的过程中是否存在传输错误,并审核预设资源的有效性,以得到有效的预设资源。当服务器校验审核得到机器人上传的预设资源为有效资源时,会进一步调用第二类预设算法,对有效预设资源进行评估,以得到有效预设资源的评估结果(也可称为是评分),在完成对预设资源的评估后,进一步调用分类算法和/或标签学习算法,结合预设资源的评估结果,处理该预设资源。具体的处理包括:分类和标签化,具体请参见前文的相关阐述。服务器完成对预设资源的分类和标签化处理后,进一步将预设资源转换成预设格式保存至服务器或者是服务器可访问的云端存储空间,以用作样本数据,当需要时会根据标签分类和评估结果调用,具体请参见上文的阐述,在此不再赘述。
请参见图11,为本申请提供的一种服务器1100第一实施例的结构示意图。本实施例的服务器1100用于执行如图1至图8任一实施例中各步骤,具体内容请参阅上文中对于图1至图8所对应的各个实施例的阐述,在此不再赘述。该服务器1100包括:处理器1110、存储器1120和通信接口1130。
其中,处理器1110连接存储器1120和通信接口1130。通信接口1130用于接收来自机器人或用户的请求指令,以及与机器人进行通信。处理器1110用于运行存储器1120所存储的程序代码,以执行如上所述的控制机器人的方法。其中,用户接入服务器1100的方式不限于台式电脑、笔记本电脑、手机或pad等移动终端,用户通过上述终端设备登录网页或客户端实现与服务器的互联,实现数据的交互。
在其他实施例中,存储器1120不仅用于存储程序代码,还用于存储预设资源,其中,预设资源是由机器人上传,且可以依据预设资源得到样本数据。
在又一实施例中,服务器与云端数据库连接。当服务器与云端数据库连接时,可以将预设资源存储在云端数据库中,用于减少服务器本地的存储资源的压力。
其中,本申请所提供的服务器1100中的处理器1110从软件架构上,至少划分成应用层、资源服务层和数据链路层。其中,资源服务层与应用层和数据链路层之间均可以进行双向数据传输,即资源服务层可以接收来自应用层和数据链路层所传输的数据资源或指令,而资源服务层也可以分别向应用层和数据链路层传输数据资源或指令。
具体的,应用层用于在接收到经通信接口1130传输来的来自用户的请求指令后,进一步判断用户的权限与所对应的请求指令是否匹配,当判断用户的权限与对应的请求指令匹配时,进一步调用预设算法处理样本数据,以得到推荐数据,并基于推荐数据生成发送至目标机器人的控制指令,发送至通信接口1130,以实现将控制指令发送至目标机器人。
资源服务层用于在应用层判断用户权限与请求指令匹配时,获取对应当前请求指令所对应的样本数据,并将样本数据输出至应用层,用于处理样本数据以获得推荐数据。
数据链路层用于接收自通信接口1130传输的来自机器人的请求指令和预设资源,又或者是将控制指令发送至目标机器人。
进一步的,请参见图12,为本申请所提供的服务器1100在第二实施例的结构示意图。
其中,通信接口1130进一步包括:人机接口1231和通用物理接口1232。
人机接口1231,用于接入来自用户的请求指令,并判断请求指令与用户权限是否匹配,人机接口1231同时还用于将处理器1110输出的样本数据或查询结果输出以展示给用户。
通用物理接口1232,是指规定统一的数据输入、输出接口,即通用接口通过嵌入式云端技术、RFID技术、物联网、WSN等技术将来自机器人的请求指令和预设资源,用于接入机器人的请求指令和来自机器人的预设资源接入到服务器中,通用物理接口1232还用于将控制指令发送给机器人。
由于机器人数据(包括文本信息、数据信息、图形信息)的上传可采用标准化的信息传输协议,会进一步在通用物理接口1232处规划机器人与服务器间数据互传的协议,可以较好地提高数据的转换效率。
进一步的,本申请所提供的服务器1100中通用物理接口1232进一步还包括快速接口(图未示),该快速接口用于传输报警指令等优先级别较高的指令或数据,同时再为未知的数据留出未定义的接口,以适用未来的技术发展。
进一步的,请再次参阅图12本申请所提供的服务器1100中的通信接口1130还包括:管理接口1233。管理接口1233用于用户注册和验证,同时也为专业技术人员对服务器维护和优化提供了接口。需要说明的是,本申请所提供的人机接口1231、通用物理接口1232和管理接口1233均可直接与处理器1110进行通信,进行数据的交互。需要说明的,上述图1至图10所对应的实施例,可以存储在一个计算机可读取的具有存储功能的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个具有存储功能的存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。
请参见图13,为本申请一种云服务平台1300在一实施例中结构示意图。在当前实施例中,云服务平台1300包括:应用模块1310,资源处理模块1320和数据链路模块1330。
其中,应用模块1310用于接收来自用户2000或机器人3000的请求指令。
资源处理模块1320,用于根据应用模块1310所接收到的请求指令及存储于云端数据库(图未示)的样本数据生成针对目标机器人的控制指令。样本数据来自于不同机器人上传的预设资源。在不同的实施例中,样本数据是基于对不同机器人所上传的预设资源做预设处理后获得,具体请参见上文。
进一步的,在一实施例中,资源处理模块1320具体用于:判断用户2000或机器人3000的权限与请求指令是否匹配;当用户2000或机器人3000的权限与请求指令匹配时,获取对应请求指令的样本数据;在获取到样本数据后,处理样本数据,以得到匹配目标机器人的推荐数据;然后,基于推荐数据生成针对目标机器人的控制指令。
数据链路模块1330,用于接收机器人3000上传的预设资源,以及将控制指令发送至目标机器人。具体的,数据链路模块1330用于在接收到机器人上传的预设资源后,将机器人所上传的预设资源以统一的格式上传至资源处理模块1320,由资源处理模块1320进行进一步的处理。
同时参见图14,图14为本申请一种云服务平台在一实施例中的业务模式流程示意图。其中,用户1401发送请求指令至云服务平台1407,云服务平台接收基于用户所发送的请求指令后,获取请求指令所对应的数据。数据信息反馈给用户。具体的,用户可以基于云服务平台获取的数据包括:机器人的加工状态、故障信息和数据汇总等。云服务平台可以在用户的请求指令控制之下,或者基于实际的需要向机器人发送控制指令,以实现向机器人1405推荐加工参数、程序和软件升级等。机器人1405可以将包括自身状态、加工信息、软件状态和故障信息等预设资源上传至云服务平台1407。云服务平台1407可以基于网络访问云端数据库1406,具体的,云服务平台可以将机器人1405所上传的预设资源进行分类和标签化处理后上传至云端数据库保存作为样本数据,然后再需要时基于网络访问云端数据库获取相关的样本数据。
在当前实施例中,云服务平台还包括安全检测模块1402、维护模块1403和评价模块1404。其中,安全监测模块用于安全防护,维护模块用于调试维护云服务平台。评价模块用于对机器人上传至云服务平台的预设资源做评估。
请参见图15,为本申请提供的一种存储介质1500的第一实施例的结构示意图,该存储介质1500存储有程序数据,存储介质1500所存储的程序数据被执行时实现如上所述的控制机器人的方法。具体的,前述的具有存储功能的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质中的一种,在此不做限定。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。