机器人控制方法、装置、存储介质、机器人及云端服务器转让专利

申请号 : CN202210265457.X

文献号 : CN114559433B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王伟健袁国勇井文

申请人 : 达闼机器人股份有限公司

摘要 :

本公开涉及一种机器人控制方法、装置、存储介质、机器人及云端服务器,方法包括:获取预设帧数的控制数据,根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行预设帧数的虚拟动作,对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令,所述预设帧数的动作指令用于控制所述机器人执行预设帧数的运动。利用本公开的方法,可以降低编辑机器人动作指令的难度,以及提高机器人控制的灵活性和适应能力。

权利要求 :

1.一种机器人控制方法,其特征在于,所述方法包括:

获取预设帧数的控制数据;

根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;

对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令,根据所述预设帧数的动作指令对所述机器人执行预设动作任务中剩余分解动作中的预设帧数的控制数据进行修改,得到修改后的控制数据,其中,当所述机器人执行到所述修改后的控制数据时,通过所述修改后的控制数据控制所述机器人执行预设帧数的运动,所述机器人完成的预设动作任务为所述数字孪生对象完成的虚拟动作任务在实际环境中的表现。

2.根据权利要求1所述的方法,其特征在于,所述获取预设帧数的控制数据,包括:响应于用户触发的用于控制所述数字孪生对象执行所述预设帧数的虚拟动作的操作,生成所述预设帧数的控制数据。

3.根据权利要求1所述的方法,其特征在于,所述获取预设帧数的控制数据,包括:响应于动作捕捉器捕捉的实体对象的所述预设帧数的运动数据,生成所述预设帧数的控制数据。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

根据所述机器人的配置信息,在目标虚拟引擎中建立所述数字孪生对象;

所述根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,包括:通过所述目标虚拟引擎对所述预设帧数的控制数据进行处理,驱动所述数字孪生对象执行所述预设帧数的虚拟动作。

5.根据权利要求1‑4任一项所述的方法,其特征在于,每帧所述控制数据包括动作控制数据和/或声音控制数据。

6.一种机器人控制方法,其特征在于,应用于云端服务器,所述方法包括:获取预设帧数的控制数据;

根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;

对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;

将所述预设帧数的动作指令发送到所述机器人,以使所述机器人根据所述预设帧数的动作指令对所述机器人执行预设动作任务中剩余分解动作中的预设帧数的控制数据进行修改,得到修改后的控制数据,其中,当所述机器人执行到所述修改后的控制数据时,通过所述修改后的控制数据控制所述机器人执行预设帧数的运动,所述机器人完成的预设动作任务为所述数字孪生对象完成的虚拟动作任务在实际环境中的表现。

7.一种机器人控制方法,其特征在于,应用于机器人,所述方法包括:从云端服务器获取预设帧数的控制数据;

根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;

对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;

根据所述预设帧数的动作指令对所述机器人执行预设动作任务中剩余分解动作中的预设帧数的控制数据进行修改,得到修改后的控制数据,其中,当所述机器人执行到所述修改后的控制数据时,通过所述修改后的控制数据控制所述机器人执行预设帧数的运动,所述机器人完成的预设动作任务为所述数字孪生对象完成的虚拟动作任务在实际环境中的表现。

8.一种机器人的控制装置,其特征在于,所述装置包括:

第一获取模块,用于获取预设帧数的控制数据;

第一虚拟动作控制模块,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作;

第一动作指令生成模块,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令,根据所述预设帧数的动作指令对所述机器人执行预设动作任务中剩余分解动作中的预设帧数的控制数据进行修改,得到修改后的控制数据,其中,当所述机器人执行到所述修改后的控制数据时,通过所述修改后的控制数据控制所述机器人执行预设帧数的运动,所述机器人完成的预设动作任务为所述数字孪生对象完成的虚拟动作任务在实际环境中的表现。

9.一种机器人的控制装置,其特征在于,应用于云端服务器,所述装置包括:第二获取模块,用于获取预设帧数的控制数据;

第二虚拟动作控制模块,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;

第二动作指令生成模块,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;

发送模块,用于将所述预设帧数的动作指令发送到所述机器人,以使所述机器人根据所述预设帧数的动作指令对所述机器人执行预设动作任务中剩余分解动作中的预设帧数的控制数据进行修改,得到修改后的控制数据,其中,当所述机器人执行到所述修改后的控制数据时,通过所述修改后的控制数据控制所述机器人执行预设帧数的运动,所述机器人完成的预设动作任务为所述数字孪生对象完成的虚拟动作任务在实际环境中的表现。

10.一种机器人的控制装置,其特征在于,应用于机器人,所述装置包括:第三获取模块,用于从云端服务器获取预设帧数的控制数据;

第三虚拟动作控制模块,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;

第三动作指令生成模块,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;

执行模块,用于根据所述预设帧数的动作指令对所述机器人执行预设动作任务中剩余分解动作中的预设帧数的控制数据进行修改,得到修改后的控制数据,其中,当所述机器人执行到所述修改后的控制数据时,通过所述修改后的控制数据控制所述机器人执行预设帧数的运动,所述机器人完成的预设动作任务为所述数字孪生对象完成的虚拟动作任务在实际环境中的表现。

11.一种机器人,其特征在于,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1‑5中任一项所述方法的步骤或者权利要求7所述方法的步骤。

12.一种云端服务器,其特征在于,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1‑5中任一项所述方法的步骤或者权利要求6所述方法的步骤。

13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1‑5中任一项所述方法的步骤,或者权利要求6所述方法的步骤,或者权利要求7所述方法的步骤。

说明书 :

机器人控制方法、装置、存储介质、机器人及云端服务器

技术领域

[0001] 本公开涉及机器人技术领域,具体地,涉及一种机器人控制方法、装置、存储介质、机器人及云端服务器。

背景技术

[0002] 随着机器人技术的不断发展与进步,机器人越来越多的出现在人们的生活和工作中。在生活和工作中,机器人可以通过执行一系列的动作来完成预设任务。
[0003] 然而,相关技术中,机器人执行预设任务的一系列的动作指令通常是事先编辑好的指令集合,通过编辑好的指令集合控制机器人完成预设任务,使得机器人执行动作的灵活性降低,对于一些实时纠错的场景,例如,机器人舞蹈编排场景,机器人适用性较低。

发明内容

[0004] 本公开的目的是提供一种机器人控制方法、装置、计算机可读存储介质、机器人及云端服务器,旨在解决机器人执行动作灵活性低的技术问题。
[0005] 为了实现上述目的,第一方面,本公开提供一种机器人控制方法,该方法包括:
[0006] 获取预设帧数的控制数据;
[0007] 根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;
[0008] 对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令,所述预设帧数的动作指令用于控制所述机器人执行预设帧数的运动。
[0009] 可选地,所述获取预设帧数的控制数据,包括:
[0010] 响应于用户触发的用于控制所述数字孪生对象执行所述预设帧数的虚拟动作的操作,生成所述预设帧数的控制数据。
[0011] 可选地,所述获取预设帧数的控制数据,包括:
[0012] 响应于动作捕捉器捕捉的实体对象的所述预设帧数的运动数据,生成所述预设帧数的控制数据。
[0013] 可选地,所述方法还包括:
[0014] 根据所述机器人的配置信息,在目标虚拟引擎中建立所述数字孪生对象;
[0015] 所述根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,包括:
[0016] 通过所述目标虚拟引擎对所述预设帧数的控制数据进行处理,驱动所述数字孪生对象执行所述预设帧数的虚拟动作。
[0017] 可选地,每帧所述控制数据包括动作控制数据和/或声音控制数据。
[0018] 第二方面,本公开提供一种机器人控制方法,该方法应用于云端服务器,该方法包括:
[0019] 获取预设帧数的控制数据;
[0020] 根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;
[0021] 对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;
[0022] 将所述预设帧数的动作指令发送到所述机器人,以使所述机器人根据所述预设帧数的动作指令执行所述预设帧数的运动。
[0023] 第三方面,本公开提供一种机器人控制方法,该方法应用于机器人,该方法包括:
[0024] 从云端服务器获取预设帧数的控制数据;
[0025] 根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;
[0026] 对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;
[0027] 根据所述预设帧数的动作指令执行所述预设帧数的运动。
[0028] 第四方面,本公开提供一种机器人的控制装置,该装置包括:
[0029] 第一获取模块,用于获取预设帧数的控制数据;
[0030] 第一虚拟动作控制模块,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作;
[0031] 第一动作指令生成模块,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令,所述预设帧数的动作指令用于控制所述机器人执行预设帧数的运动。
[0032] 第五方面,本公开提供一种机器人的控制装置,应用于云端服务器,该装置包括:
[0033] 第二获取模块,用于获取预设帧数的控制数据;
[0034] 第二虚拟动作控制模块,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;
[0035] 第二动作指令生成模块,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;
[0036] 发送模块,用于将所述预设帧数的动作指令发送到所述机器人,以使所述机器人根据所述预设帧数的动作指令执行所述预设帧数的运动。
[0037] 第六方面,本公开提供一种机器人的控制装置,应用于机器人,该装置包括:
[0038] 第三获取模块,用于从云端服务器获取预设帧数的控制数据;
[0039] 第三虚拟动作控制模块,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;
[0040] 第三动作指令生成模块,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;
[0041] 执行模块,用于根据所述预设帧数的动作指令执行所述预设帧数的运动。
[0042] 第七方面,本公开提供一种机器人,包括:
[0043] 存储器,其上存储有计算机程序;
[0044] 处理器,用于执行存储器中的计算机程序,以实现第一方面或者第三方面方法的步骤。
[0045] 第八方面,本公开提供一种云端服务器,包括:
[0046] 存储器,其上存储有计算机程序;
[0047] 处理器,用于执行存储器中的计算机程序,以实现第一方面或者第二方面方法的步骤。
[0048] 第九方面,本公开提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现第一方面、第二方面以及第三方面任一项方法的步骤。
[0049] 采用上述技术方案,先获取预设帧数的控制数据,然后可以根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行预设帧数的虚拟动作,最后便可以对所述预设帧数的虚拟动作进行映射处理,得到用于控制所述机器人执行预设帧数的运动的动作指令。通过输入用于控制数字孪生对象执行虚拟动作的第一控制指令便可以生成用于控制机器人执行相同动作的动作指令,从而不再需要人工直接编辑机器人对应的动作指令,由于数字孪生对象的控制数据易于编辑,因此降低了编辑动作指令的难度,此外,由于每次获取的是预设帧数的控制数据,使得实体机器人在执行动作过程中可以对动作指令进行修改,提高了机器人控制的灵活性,使得机器人能够适用于实时纠错的场景,提高了机器人的适应能力。
[0050] 本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

[0051] 附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
[0052] 图1是本公开实施例提供的一种机器人控制方法的流程示意图。
[0053] 图2是本公开实施例提供的另一种机器人控制方法的流程示意图。
[0054] 图3是本公开实施例提供的另一种机器人控制方法的流程示意图。
[0055] 图4是本公开实施例提供的一种机器人控制装置的结构示意图。
[0056] 图5是本公开实施例提供的另一种机器人控制装置的结构示意图。
[0057] 图6是本公开实施例提供的另一种机器人控制装置的结构示意图。
[0058] 图7是本公开实施例提供的一种机器人的结构示意图。
[0059] 图8是本公开实施例提供的一种云端服务器的结构示意图。

具体实施方式

[0060] 以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
[0061] 机器人技术的不断发展与进步,使得对于机器人的工作任务需求不断提高,从而机器人内嵌的动作已经难以完成多样化的工作任务需求,这就需要对机器人内嵌的动作进行更改,然而,目前的机器人动作指令编辑操作具有较强的专业性,通常由机器人开发者进行编辑,对于普通用户而言,存在较大的编辑难度。
[0062] 此外,机器人完成某个预设动作的动作指令通常是一系列的指令集合,在机器人开发期间被整体编辑到机器人内,或者也可以是后期从服务器整体下载更新执行某个动作的指令集合,然而,这些方法都是一次性的获取执行某个动作的完整指令集合,使得机器人根据指令执行的动作不可修改,即使要修改,也是再次从服务器下载更新后的完整指令集合,从而,使得机器人执行动作的灵活性降低,对于一些实时纠错的场景,例如,机器人舞蹈编排场景,机器人适用性较低。
[0063] 针对上述技术问题,本公开实施例提供了一种机器人控制方法,用于解决相关技术中存在的机器人执行动作灵活性低的问题。
[0064] 下面针对本公开实施提供的机器人控制方法的应用环境进行介绍:
[0065] 本发明实施提供的机器人控制方法可以单独由机器人执行,也可以单独由云端服务器执行,还可以部分由机器人执行,部分由云端服务器执行。
[0066] 需要说明的是,其中,云端服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。机器人可以是各种应用场景下的机器人,例如舞蹈机器人、采摘机器人、迎宾机器人等,但并不局限于此。
[0067] 此外,当该机器人控制方法部分由机器人执行,部分由云端服务器执行时,机器人和云端服务器可以基于有线网络或者无线网络通信连接。
[0068] 参照图1,图1是本公开实施例提供的一种机器人控制方法的流程示意图,该机器人控制方法包括:
[0069] S110,获取预设帧数的控制数据。
[0070] 本公开实施例中,控制数据可以理解为用于对机器人对应的数字孪生对象进行控制的数据。
[0071] 预设帧数可以是1帧、2帧、5帧等,例如,当预设帧数为1帧时,每次可以获取1帧动作对应的控制数据。
[0072] S120,根据预设帧数的控制数据,控制机器人对应的数字孪生对象执行预设帧数的虚拟动作,预设帧数的虚拟动作为数字孪生对象完成虚拟动作任务包括的分解动作。
[0073] 其中,数字孪生对象是指根据实际机器人进行模拟,从而得到的一种虚拟机器人对象。数字孪生对象与其对应的实体机器人之间具有相似的物理结构以及物理性能,不同之处在于数字孪生对象是位于虚拟环境中,机器人是位于实际环境中。
[0074] 本公开实施例中,在获取到预设帧数的控制数据之后,可以根据预设帧数的控制数据,控制机器人对应的数字孪生对象执行预设帧数的虚拟动作。
[0075] 其中,数字孪生对象执行的预设帧数的虚拟动作例如可以是数字孪生对象跳一段完整舞蹈动作中的各个舞蹈分解动作,或者采摘动作中的各个采摘分解动作。也就是说,本公开实施例中,每次可以获取部分分解动作对应的控制数据,而可以不用一次性获取控制完整任务对应的所有指令集合。
[0076] 此外,为了能够控制机器人对应的数字孪生对象执行预设帧数的虚拟动作,可以先建立机器人对应的数字孪生对象,因此,在一些实施方式中,本公开实施例的方法可以包括以下步骤:根据机器人的配置信息,在目标虚拟引擎中建立数字孪生对象。这种情况下,根据预设帧数的控制数据,控制机器人对应的数字孪生对象执行预设帧数的虚拟动作,可以包括:通过目标虚拟引擎对预设帧数的控制数据进行处理,驱动数字孪生对象执行预设帧数的虚拟动作。
[0077] 其中,配置信息可以是用于描述实体机器人结构、外观、工作指标等的参数信息。目标虚拟引擎可以是游戏引擎,从而,可以根据机器人的配置信息,利用游戏引擎建立数字孪生对象。
[0078] 在目标虚拟引擎中建立数字孪生对象之后,便可以通过目标虚拟引擎对预设帧数的控制数据进行处理,以驱动数字孪生对象执行预设帧数的虚拟动作。
[0079] S130,对预设帧数的虚拟动作进行映射处理,得到机器人对应的预设帧数的动作指令,预设帧数的动作指令用于控制机器人执行预设帧数的运动。
[0080] 本公开实施例中,可以预先建立数字孪生对象执行的虚拟动作与实体机器人动作之间的映射关系,那么当数字孪生对象在执行了虚拟动作之后,便可以根据映射关系,对虚拟动作进行映射处理,得到实体机器人能够识别的动作指令。其中,实体机器人能够识别的动作指令可以是实体机器人能够识别的肢体动作指令或者关节动作指令。
[0081] 在一些实施方式中,可以获取虚拟动作对应的动作关节/肢体以及动作幅度,从而将动作关节/肢体以及动作幅度映射到实体机器人,得到机器人对应的动作指令语言。
[0082] 采用上述方法,先获取预设帧数的控制数据,然后可以根据预设帧数的控制数据,控制机器人对应的数字孪生对象执行预设帧数的虚拟动作,最后便可以对预设帧数的虚拟动作进行映射处理,得到用于控制机器人执行预设帧数的运动的动作指令。一方面,通过输入用于控制数字孪生对象执行虚拟动作的控制指令便可以生成用于控制机器人执行相同动作的动作指令,从而不再需要人工直接编辑机器人对应的动作指令,由于数字孪生对象的控制数据易于编辑,因此降低了直接编辑动作指令的难度,另一方面,由于每次获取的是预设帧数的控制数据,相当于流式数据获取过程,或者实时数据获取过程,不用一次性获取所有的控制数据,从而每次控制数字孪生对象执行的动作也是完成某个动作任务的分解动作,从而在映射后得到的也是分解动作的动作指令,从而使得用户可以对剩余分解动作的控制数据进行修改,待到获取到修改的控制数据时,便可以用修改后的控制数据对数字孪生对象进行控制,从而进一步生成修改后的用于控制实体机器人的动作指令,进而使得实体机器人在执行动作过程中能够进行修改,提高了机器人控制的灵活性,使得机器人能够适用于实时纠错的场景,提高了机器人的适应能力。
[0083] 此外,考虑到实体机器人在工作时可能发出声音,例如舞蹈机器人在跳舞时增加音乐可以提高舞蹈机器人的使用体验。因此,在一些实施方式中,每帧控制数据可以包括动作控制数据和/或声音控制数据。也就是说,本公开实施例中,可以同时控制数字孪生对象做出虚拟动作以及发出声音,也可以单独控制数字孪生对象做出虚拟动作,还可以单独控制数字孪生对象发出深夜,以便于后续实体机器人也能够做出动作和/或发出声音,以提高舞蹈机器人的使用体验。
[0084] 在一些实施方式中,声音控制数据可以包括声音类型以及声音发起时间或者声音结束时间,从而根据声音发起时间或者声音结束时间,能够准确控制发声过程,进一步提高机器人执行任务的功能性。
[0085] 其中,获取预设帧数的控制数据可以有多种方式。
[0086] 在一些实施方式中,获取预设帧数的控制数据,可以包括步骤:响应于用户触发的用于控制数字孪生对象执行预设帧数的虚拟动作的操作,生成预设帧数的控制数据。
[0087] 本公开实施例中,用户可以在数字孪生对象控制界面中,触发用于控制数字孪生对象执行预设帧数的虚拟动作的操作,从而生成用于对数字孪生对象进行控制的预设帧数的控制数据。也就是说,本公开实施例中,数字孪生对象执行的虚拟动作可以是由用户触发编辑的。
[0088] 其中,数字孪生对象的控制界面可以由云端服务器提供。当数字孪生对象的控制界面可以由云端服务器提供时,触发用于控制数字孪生对象执行预设帧数的虚拟动作的操作可以是由与服务器连接的输入设备触发,例如,鼠标、键盘、触摸屏等,也可以由服务器远程连接的第三方设备触发,例如,与服务器远程连接的手机、平板等触发。
[0089] 此外,用户也可以触发用于控制数字孪生对象执行完整任务对应的虚拟动作的操作。从而,再从控制执行完整任务的控制数据中获取预设帧数的控制数据。
[0090] 在另一些实施方式中,获取预设帧数的控制数据,可以包括步骤:响应于动作捕捉器捕捉的实体对象的预设帧数的运动数据,生成预设帧数的控制数据。
[0091] 本公开实施例中,可以通过动作捕捉器(包括但不限于IMU惯性测量单元)捕捉实体对象的预设帧数的运动数据,然后将实体对象的预设帧数的运动数据同步给数字孪生对象,从而同样可以生成预设帧数的控制数据。
[0092] 此外,通过动作捕捉器捕捉实体对象的预设帧数的运动数据,然后将实体对象的完整运动数据同步给数字孪生对象,从而同样可以生成完整的控制数据。从而,再从完整控制数据中获取预设帧数的控制数据。
[0093] 可选地,在另一些实施方式中,在生成完整的控制数据之后,可以响应于用户输入的控制数据修改指令,对生成的完整控制数据进行修改,从而得到修改后的完整控制数据。
[0094] 本公开实施例中,在生成完整控制数据之后,用户还可以在云端服务器对生成的控制数据进行调整,这种情况下,用户可以输入控制数据修改指令,来对生成的完整控制数据中的任一帧控制数据进行修改,从而得到修改后的完整控制数据,从而实现在根据预设帧数的控制数据控制机器人运动过程中对机器人动作进行修改的功能。
[0095] 结合前述应用环境所知,本公开实施例的机器人控制方法可以单独由机器人执行,或者单独由云端服务器执行。下面分别对应两种不同应用环境,对本公开实施例的机器人控制方法进行描述。
[0096] 请参阅图2,示出了本公开实施例提供的另一种机器人控制方法的流程示意图,该方法应用于云端服务器,该机器人控制方法包括:
[0097] S210,获取预设帧数的控制数据。
[0098] S220,根据预设帧数的控制数据,控制机器人对应的数字孪生对象执行预设帧数的虚拟动作,预设帧数的虚拟动作为数字孪生对象完成虚拟动作任务包括的分解动作。
[0099] S230,对预设帧数的虚拟动作进行映射处理,得到机器人对应的预设帧数的动作指令。
[0100] 其中,步骤S220以及步骤S230的详细描述可以参考前述内容,此处不再赘述。
[0101] S240,将预设帧数的动作指令发送到机器人,以使机器人根据预设帧数的动作指令执行预设帧数的运动。
[0102] 本公开实施例中,云端服务器在得到机器人对应的预设帧数的动作指令之后,可以进一步将机器人对应的预设帧数的动作指令发送到对应的机器人,以使对应的机器人可以根据预设帧数的动作指令执行预设帧数的运动。
[0103] 其中,云端服务器在得到机器人对应的预设帧数的动作指令的具体实施方式可以参考前述实施例,此处不再赘述。
[0104] 结合前述内容可知,在一些实施方式中,每一帧控制数据可以包括动作控制数据和/或声音控制数据,那么云端服务器对预设帧数的虚拟动作进行映射处理,得到机器人对应的预设帧数的动作指令也可以包括动作和/或声音的指令,从而,机器人根据预设帧数的动作指令执行预设帧数的运动也可以包括对动作进行控制以及对声音进行控制两个方面的运动。
[0105] 请参阅图3,示出了本公开实施例提供的另一种机器人控制方法的流程示意图,该方法应用于机器人,该机器人控制方法包括:
[0106] S310,从云端服务器获取预设帧数的控制数据。
[0107] S320,根据预设帧数的控制数据,控制机器人对应的数字孪生对象执行预设帧数的虚拟动作,预设帧数的虚拟动作为数字孪生对象完成虚拟动作任务包括的分解动作。
[0108] S330,对预设帧数的虚拟动作进行映射处理,得到机器人对应的预设帧数的动作指令。
[0109] S340,根据预设帧数的动作指令执行预设帧数的运动。
[0110] 本公开实施例中,用户可以在云端服务器编辑由机器人动作和/或音乐数据构成的预设帧数的控制数据,接着机器人可以从云端服务器获取到该预设帧数的控制数据,并将该预设帧数的控制数据发送到机器人内部布置的目标虚拟引擎,通过目标虚拟引擎对预设帧数的控制数据进行处理,以驱动数字孪生对象执行预设帧数的虚拟动作,接着机器人便可以对预设帧数的虚拟动作进行映射处理,得到机器人对应的预设帧数的动作指令,然后机器人便可以根据预设帧数的动作指令执行预设帧数的运动,例如控制关节、肢体等像数字孪生对象执行的虚拟动作一样运动。
[0111] 其中,云端服务器在得到机器人对应的预设帧数的动作指令的具体实施方式可以参考前述实施例,此处不再赘述。
[0112] 应当理解的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受上文所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,上文所描述的实施例属于优选实施例,所涉及的步骤并不一定是本公开所必须的。
[0113] 参照图4,图4是本公开实施例提供的一种机器人的控制装置的结构示意图,该装置包括第一获取模块410、第一虚拟动作控制模块420以及第一动作指令生成模块430。其中:
[0114] 第一获取模块410,用于获取预设帧数的控制数据;
[0115] 第一虚拟动作控制模块420,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作;
[0116] 第一动作指令生成模块430,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令,所述预设帧数的动作指令用于控制所述机器人执行预设帧数的运动。
[0117] 可选地,第一获取模块410,包括:
[0118] 第一获取子模块,用于响应于用户触发的用于控制所述数字孪生对象执行所述预设帧数的虚拟动作的操作,生成所述预设帧数的控制数据。
[0119] 可选地,第一获取模块410,包括:
[0120] 第二获取子模块,用于响应于动作捕捉器捕捉的实体对象的所述预设帧数的运动数据,生成所述预设帧数的控制数据。
[0121] 可选地,装置400还包括:数字孪生对象建立模块,用于根据所述机器人的配置信息,在目标虚拟引擎中建立所述数字孪生对象。这种情况下,第一虚拟动作控制模块420还用于通过所述目标虚拟引擎对所述预设帧数的控制数据进行处理,驱动所述数字孪生对象执行所述预设帧数的虚拟动作。
[0122] 可选地,每帧所述控制数据包括动作控制数据和/或声音控制数据。
[0123] 参照图5,图5是本公开实施例提供的一种机器人的控制装置的结构示意图,该装置包括第二获取模块510、第二虚拟动作控制模块520、第二动作指令生成模块530以及发送模块540。其中:
[0124] 第二获取模块510,用于获取预设帧数的控制数据;
[0125] 第二虚拟动作控制模块520,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;
[0126] 第二动作指令生成模块530,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;
[0127] 发送模块540,用于将所述预设帧数的动作指令发送到所述机器人,以使所述机器人根据所述预设帧数的动作指令执行所述预设帧数的运动。
[0128] 参照图6,图6是本公开实施例提供的一种机器人的控制装置的结构示意图,该装置包括第二获取模块610、第二虚拟动作控制模块620、第二动作指令生成模块630以及执行模块640。其中:
[0129] 第三获取模块610,用于从云端服务器获取预设帧数的控制数据;
[0130] 第三虚拟动作控制模块620,用于根据所述预设帧数的控制数据,控制所述机器人对应的数字孪生对象执行所述预设帧数的虚拟动作,所述预设帧数的虚拟动作为所述数字孪生对象完成虚拟动作任务包括的分解动作;
[0131] 第三动作指令生成模块630,用于对所述预设帧数的虚拟动作进行映射处理,得到所述机器人对应的预设帧数的动作指令;
[0132] 执行模块640,用于根据所述预设帧数的动作指令执行所述预设帧数的运动。
[0133] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0134] 参照图7,图7是根据一示例性实施例示出的一种机器人的结构示意图。如图7所示,该机器人700可以包括:处理器701,存储器702。该机器人700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
[0135] 其中,处理器701用于控制该机器人700的整体操作,以完成上述的任务处理方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该机器人700的操作,这些数据例如可以包括用于在该机器人700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read‑Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read‑Only Memory,简称EPROM),可编程只读存储器(Programmable Read‑Only Memory,简称PROM),只读存储器(Read‑Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该机器人700与其他设备之间进行有线或无线通信。无线通信,例如Wi‑Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB‑IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi‑Fi模块,蓝牙模块,NFC模块等等。
[0136] 在一示例性实施例中,机器人700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的机器人控制方法。
[0137] 参照图8,图8是本公开实施例提供的一种云端服务器的结构示意图。参照图8,云端服务器800包括处理器822,其数量可以为一个或多个,以及存储器832,用于存储可由处理器822执行的计算机程序。存储器832中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器822可以被配置为执行该计算机程序,以执行上述的机器人控制方法。
[0138] 另外,云端服务器800还可以包括电源组件826和通信组件850,该电源组件826可以被配置为执行云端服务器800的电源管理,该通信组件850可以被配置为实现云端服务器800的通信,例如,有线或无线通信。此外,该云端服务器800还可以包括输入/输出(I/O)接TM
口858。云端服务器800可以操作基于存储在存储器832的操作系统,例如Windows Server ,TM TM TM
Mac OS X ,Unix ,Linux 等等。
[0139] 在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的机器人控制方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器832,上述程序指令可由云端服务器800的处理器822执行以完成上述的机器人控制方法。又例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由机器人700的处理器701执行以完成上述的机器人控制方法。
[0140] 在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的机器人控制方法的代码部分。
[0141] 以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0142] 另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0143] 此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。