一种机器人动作模仿方法、装置、设备及存储介质与流程

文档序号:23761628发布日期:2021-01-29 19:00阅读:98来源:国知局
一种机器人动作模仿方法、装置、设备及存储介质与流程

[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]
可选地,所述第二计算模块,具体用于对所述第二空间轨迹进行微分处理,得到所述机器人的关键点速度轨迹,所述关键点速度轨迹包括:连续多个控制周期中每个控制周期的预期关键点运动速度。
[0053]
可选地,所述第二计算模块,还具体用于根据所述第二空间轨迹上所述第二控制周期的关键点姿态,和所述第一控制周期的关键点姿态的姿态偏差,得到所述预期关键点运动速度。
[0054]
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所
述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述第一方面的机器人动作模仿方法的步骤。
[0055]
第四方面,本申请实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面的机器人动作模仿方法的步骤。
[0056]
本申请的有益效果是:
[0057]
本申请实施例提供一种机器人动作模仿方法、装置、设备及存储介质,该方法包括:根据动作识别得到的模仿对象上关键点的第一空间轨迹,得到机器人上关键点的第二空间轨迹;根据第二空间轨迹,得到该机器人在第一控制周期内的预期关键点运动速度;根据该预期关键点运动速度,以及预先获取的该机器人上关键点的速度雅克比矩阵,得到该机器人在第一控制周期内的预期关节运动速度;根据第一控制周期内的关节位置和该预期关节运动速度,得到该机器人在第二控制周期的预期关节位置;根据第二控制周期的预期关节位置,在第一控制周期内,控制该机器人的关节运动。采用本申请实施例提供的机器人动作模仿方法,通过对机器人关键点的第二空间轨迹(空间位置坐标)进行处理,得到一个周期内各个关键点对应的预期关键点运动速度,再根据各个关键点对应的预期关键点运动速度以及各个关键点对应的速度雅克比矩阵,计算出该周期内该机器人各个关节对应的预期关节运动速度,最后将该周期内该机器人各个关节对应的关节位置(关节角度)与根据各个关节对应的预期关节运动速度计算出的各个关节对应的关节位置偏差进行相加,最终得到该机器人在当前周期内各个关节应该运动的角度。由于该机器人各个关节在每个周期内的关节位置是通过各个关节对应的预期关节运动速度计算出来的,所以避免了机器人在进行动作模仿时,存在动作生硬以及不连贯的现象。
附图说明
[0058]
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0059]
图1为本申请实施例提供的一种机器人动作模仿方法的流程示意图;
[0060]
图2为本申请实施例提供的另一种机器人动作模仿方法的流程示意图;
[0061]
图3为本申请实施例提供的又一种机器人动作模仿方法的流程示意图;
[0062]
图4为本申请实施例提供的再一种机器人动作模仿方法的流程示意图;
[0063]
图5为本申请实施例提供的又一种机器人动作模仿方法的流程示意图;
[0064]
图6为本申请实施例提供的一种机器人动作模仿装置的结构示意图;
[0065]
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0066]
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
[0067]
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0068]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0069]
图1为本申请实施例提供的一种机器人动作模仿方法的流程示意图。如图1所示,该方法可以包括:
[0070]
s101、根据动作识别得到的模仿对象上关键点的第一空间轨迹,得到机器人上关键点的第二空间轨迹。
[0071]
其中,模仿对象在执行一些肢体动作时,如抬腿、转头以及举手,动作识别设备(如深度摄像头)可以实时采集该模仿对象执行上述肢体动作时的图像,并可根据开源算法(如openpose动作识别库)识别出图像中该模仿对象的人体骨架。根据在人体骨架上预设的关键点(如手掌关键点、躯干关键点以及上肢关键点)以及模仿对象所做的肢体动作,可以识别到各个关键点在图像坐标系中的位置坐标,并将各个关键点在图像坐标系中的位置坐标转换成各个关键点在世界坐标系统中的空间位置坐标。在一段时间后,各个关键点会对应多个空间位置坐标,各个关键点对应的多个空间位置坐标都可以组成第一空间轨迹。根据模仿对象和机器人之间的结构关系,可以对该模仿对象上各个关键点的空间位置进行缩放,缩放后可以转换为该机器人上各个关键点在世界坐标系中的空间位置坐标,最后该机器人上各个关键点对应的多个空间位置坐标都可以组成第二空间轨迹。
[0072]
需要说明的是,该模仿对象上各个关键点与该机器人上各个关键点有一一对应的关系,如该模仿对象上手掌关键点的空间位置坐标缩放后转换为该机器人上手掌关键点的空间位置坐标,这样可以使关键点的空间位置坐标更符合机器人尺寸,进而使该机器人可以更精确的对模仿对象的动作进行模仿。
[0073]
上述提到的动作识别设备可以安装在机器人上,也可以是单独的动作识别设备,本申请不对该动作识别设备具体安装的位置进行限定。该模仿对象可以是人,也可以是动物,本申请也不对该模仿对象的具体类别进行限定。
[0074]
s102、根据该第二空间轨迹,得到该机器人在第一控制周期内的预期关键点运动速度。
[0075]
该第二空间轨迹中包括该机器人上各个关键点在一段时间内的空间位置坐标,也就是说,该第二空间轨迹可以由多帧图像组成,每帧图像中包括各个关键点在一个控制周期内的空间位置坐标,即一帧图像对应一个控制周期。根据当前控制周期(第一控制周期)对应的帧图像中的内容(各个关键点的空间位置坐标)、下一控制周期(第二控制周期)对应的帧图像中的内容(各个关键点的空间位置坐标)以及控制周期的具体取值,可以求出当前控制周期对应的帧图像中每个关键点的预期关键点运动速度。其中,控制周期的具体取值可以为10ms,也可以根据实际需求进行设置,本申请不对其进行限定。
[0076]
s103、根据预期关键点运动速度,以及预先获取的机器人上关键点的速度雅克比矩阵,得到该机器人在第一控制周期内的预期关节运动速度。
[0077]
其中,在求出该机器人上各个关键点在当前控制周期内对应的预期关键点运动速
度后,可以根据当前控制周期(第一控制周期)对应的该机器人上各个关节运动的关节位置(关节角度)、各个关键点所在的空间位置坐标以及该机器人的尺寸获取到该机器人上各个关键点的速度雅克比矩阵。也就是说,每帧图像中的各个关键点都会对应一个速度雅克比矩阵。需要说明的是,在该机器人最初开始运动时,会预先对该机器人上各个关节对应的关节位置进行设置,即此时的关节位置是个已知的常数。
[0078]
在已知该机器人上各个关键点的速度雅克比矩阵后,可以根据下式求出该机器人在当前控制周期内各个关节对应的多组预期关节运动速度,以及多组关键点运动速度,其中,每组预期关节运动速度和每组关键点运动速度之间一一对应关系。
[0079][0080]
其中,j
i
表示各个关键点的速度雅克比矩阵,表示各个关键点对应的各个关节的关节运动速度,表示各个关键点运动速度,i取值为(1、2
……
n),n表示该机器人上关键点个数。
[0081]
将各个关键点的速度雅克比矩阵(j
i
)进行拼接,可以求出该机器人在当前控制周期内关节对应的多组预期关节运动速度,以及多组关键点运动速度,再根据当前控制周期内各个关键点对应的预期关键点运动速度以及多组关键点运动速度之间的预设要求,可以从多组预期关节运动速度中确定出符合该预设要求的预期关节运动速度,其中,该预设要求可以为预期关键点运动速度和关键点运动速度误差最小,在确定出一组关键点运动速度后,可相应的确定出该组关键点运动速度对应的预期关节点运动速度。
[0082]
s104、根据第一控制周期内的关节位置和预期关节运动速度,得到该机器人在第二控制周期的预期关节位置。
[0083]
s105、根据第二控制周期的预期关节位置,在第一控制周期内,控制该机器人的关节运动。
[0084]
具体的,可以对该机器人上各个关节对应的预期关节运动速度进行积分,获得当前控制周期内(第一控制周期)该机器人上各个关节需要转动的位置(角度),并且在当前控制周期内,该机器人上各个关节对应的关节位置是个已知量,所以将该机器人上各个关节对应的关节位置与各个关节需要转动的位置进行相加,可以得到该机器人在下一个控制周期(第二控制周期)各个关节对应的预期关节位置。
[0085]
可将各个关节对应的关节位置转换成对应的控制指令,再将各个关节对应的控制指令发送给各个关节处的电机,各个关节处的电机根据控制指令控制关节转动到对应的位置。
[0086]
综上所述,本申请提供的机器人动作模仿方法中,该方法包括:根据动作识别得到的模仿对象上关键点的第一空间轨迹,得到机器人上关键点的第二空间轨迹;根据第二空间轨迹,得到该机器人在第一控制周期内的预期关键点运动速度;根据该预期关键点运动速度,以及预先获取的该机器人上关键点的速度雅克比矩阵,得到该机器人在第一控制周期内的预期关节运动速度;根据第一控制周期内的关节位置和该预期关节运动速度,得到该机器人在第二控制周期的预期关节位置;根据第二控制周期的预期关节位置,在第一控制周期内,控制该机器人的关节运动。采用本申请实施例提供的机器人动作模仿方法,通过对机器人关键点的第二空间轨迹(空间位置坐标)进行处理,得到一个周期内各个关键点对
应的预期关键点运动速度,再根据各个关键点对应的预期关键点运动速度以及各个关键点对应的速度雅克比矩阵,计算出该周期内该机器人各个关节对应的预期关节运动速度,最后将该周期内该机器人各个关节对应的关节位置(关节角度)与根据各个关节对应的预期关节运动速度计算出的各个关节对应的关节位置偏差进行相加,最终得到该机器人在当前周期内各个关节应该运动的角度。由于该机器人各个关节在每个周期内的关节位置是通过各个关节对应的预期关节运动速度计算出来的,所以避免了机器人在进行动作模仿时,存在动作生硬以及不连贯的现象。
[0087]
图2为本申请实施例提供的另一种机器人动作模仿方法的流程示意图。如图2所示,可选地,上述根据预期关键点运动速度,以及预先获取的该机器人上关键点的速度雅克比矩阵,得到该机器人在第一控制周期内的预期关节运动速度,包括:
[0088]
s201、采用预设的速度约束条件,确定多组关节运动速度。
[0089]
s202、根据每组关节运动速度和该速度雅克比矩阵,计算每组关节运动速度对应的关键点运动速度。
[0090]
其中,预设的速度约束条件可以包括至少一个速度约束条件,该速度约束条件的类型可以为关节速度约束条件、关键点速度约束条件以及质心速度约束条件,当然也还可以为机器人上其他一类位置对应的速度约束条件,需要说明的是,本申请不对其进行限定。不管是哪种类型的速度约束条件,都可以用此公式进行表示:其中a、b为常数,表示该机器人上各个关节对应的关节运动速度,可以看出有多组解,也就是说,不管是哪种类型的速度约束条件,该机器人上各个关节对应的关节运动速度都会有多组解。
[0091]
再将各组关节运动速度带入下式中:可以看出,该机器人上各个关键点对应的速度雅克比矩阵与各个关键点对应的多个关节运动速度组成的矩阵相乘,可以得到各个关键点运动速度。也就是说,当变化时,也会相应的变化,即多组关节运动速度对应多组关键点运动速度,并且两者之间有唯一的对应关系。
[0092]
s203、根据多组关键点运动速度,以及预期关键点运动速度,采用预设的二次规划约束条件,从多组关键点运动速度中确定目标关键点运动速度。
[0093]
其中,预设的二次规划约束条件如下:
[0094][0095]
其中,表示各个关键点对应的预期关键点运动速度;表示各个关键点对应的关键点运动速度。
[0096]
可以看出,多组关键点运动速度中会存在一组关键点运动速度使预设的二次规划条件达到最优,将使该预设的二次规划条件达到最优时,对应的一组关键点运动速度作为目标关键点运动速度。
[0097]
s204、确定该目标关键点运动速度对应的关节运动速度为该预期关节运动速度。
[0098]
当关键点运动速度确定后,再根据关键点运动速度和关节运动速度
之间的关系可以确定出预期关节运动速度。
[0099]
图3为本申请实施例提供的又一种机器人动作模仿方法的流程示意图。如图3所示,可选地,上述采用预设的速度约束条件,确定多组关节运动速度,包括:
[0100]
s301、采用至少一种速度约束条件,分别得到至少一套关节运动速度,每套关节运动速度包括:至少一组关节运动速度。
[0101]
其中,每种速度约束条件都是和关节运动速度相关的一些公式根据每种速度约束条件对应的公式,求解出来的各个关节对应的关节运动速度会有多种情况,将每种速度约束条件对应的多组关节运动速度组成一套关节运动速度,也就是说,一套关节运动速度中可包括多组关节运动速度。
[0102]
举例来说,假设该机器人上有3个关节,通过一种速度约束条件,这3个关节中的每个关节都会对应4种不同的关节运动速度,可将同次求解出的这3个关节中的每个关节运动速度组成一组关节运动速度,那么一共可以组成4组关节运动速度,将这4组关节运动速度组成一套关节运动速度。
[0103]
s302、对至少一套关节运动速度中的关节运动速度进行求交运算,得到多组关节运动速度。
[0104]
当预设的速度约束条件中有多种速度约束条件时,根据每种速度约束条件都会求解出一套关节运动速度,将每套关节运动速度中的多组关节运动速度进行求交集运算,也就是说,将每套关节运动速度中相同组的关节运动速度提取出来,最后可以得到多组关节运动速度。当预设的速度约束条件中只有一种速度约束条件时,根据该速度约束条件会求解出一套关节运动速度,提取出该套关节运动速度中的多组关节运动。
[0105]
下述对预设的速度约束条件,分别包括关节速度约束条件、关键点速度约束条件和/或质心速度约束条件时的情况进行解释说明。
[0106]
在一种可实现的实施例中,该预设的速度约束条件包括关节速度约束条件,该关节速度约束条件为关节运动速度和预设的单位矩阵的乘积,与最大关节运动速度的约束公式;上述采用至少一种速度约束条件,分别得到至少一套关节运动速度,包括:根据预设的最大关节运动速度,采用该关节速度约束条件,得到第一套关节运动速度;至少一套关节运动速度包括:该第一套关节运动速度。
[0107]
具体的,该关节速度约束条件对应的约束公式为:其中i表示预设的单位矩阵,表示最大关节运动速度,是个常数。
[0108]
可以看出,i和都是常数,那么根据该关节速度约束条件对应的约束公式可以得到多组关节运动速度多组关节运动速度组成第一套关节运动速度。
[0109]
在另一种可实现的实施例中,该预设的速度约束条件包括关键点速度约束条件,该关键点速度约束条件为关键点运动速度和该速度雅克比矩阵的乘积,与最大关键点运动速度的约束公式;上述采用所述至少一种速度约束条件,分别得到至少一套关节运动速度,包括:根据预设的最大关键点运动速度,采用该关键点速度约束条件,得到第二套关节运动速度;至少一套关节运动速度包括:该第二套关节运动速度。
[0110]
具体的,该关键点速度约束条件对应的约束公式为:其中,表示最大关键点运动速度,是个常数。
[0111]
可以看出,速度雅克比矩阵(j
i
)和最大关键点运动速度都是常数,那么根据该关键点速度约束条件对应的约束公式可以得到多组关节运动速度多组关节运动速度组成第二套关节运动速度。
[0112]
可以看出,采用该关节速度约束条件以及该关键点速度约束条件,可以使得到的预期关节运动速度更适应机器人的全身运动轨迹,进而使机器人在模仿动作时表现的不生硬、更连贯。
[0113]
可选地,该预设的速度约束条件包括质心速度约束条件,该质心速度约束条件为质心超出预设的支撑多边形的限制后的质心速度约束;上述采用所述至少一种速度约束条件,分别得到至少一套关节运动速度,包括:采用该质心速度约束条件,得到第三套关节运动速度;至少一套关节运动速度包括:该第三套关节运动速度。
[0114]
具体的,如果机器人上的质心在空间坐标系中的位置超出预设的支撑多边形的限制后,可以通过该质心速度约束条件,对该质心所在的三维坐标系中的各个轴方向上的速度进行限制。
[0115]
举例来说,当该质心位置在x轴正方向超出该支撑多边形的限制时,通过该质心约束条件(其中j
com
表示质心雅克比矩阵)对该质心在x轴正方向速度进行限定,使其不能大于0;当该质心位置在x轴负方向超出该支撑多边形的限制时,通过该质心约束条件(其中j
com
表示质心雅克比矩阵)对该质心在x轴负方向速度进行限定,使其不能小于0;同理,当该质心位置在y轴正方向/负方向超出该支撑多边形的限制时,也通过上述质心约束条件对该质心速度进行限定;当该质心位置在z轴正方向/负方向超出该支撑多边形的限制时,也通过上述质心约束条件对该质心速度进行限定,具体内容可参考上述x轴对应的内容,此处不再进行详细描述。
[0116]
通过该质心约束条件:通过该质心约束条件:可以看出,j
com
是个常数,那么根据该质心速度约束条件对应的约束公式可以得到多组关节运动速度多组关节运动速度组成第三套关节运动速度。
[0117]
通过该质心速度约束条件,可以提高该机器人在进行动作模仿时的稳定性,避免使该机器人摔倒。
[0118]
可选地,在另一种可实现的实施例中,上述预设的约束条件可包括该质心速度约束条件、该关节速度约束条件以及该关键点速度约束条件,这三种约束条件可综合确定预期关节运动速度,进而在保证该机器人进行动作模仿时运动稳定性的同时,使该机器人在模仿动作时表现的不生硬、更连贯。
[0119]
需要说明的是,本申请不对预设的约束条件的个数以及类别进行限定。
[0120]
上述根据该第二空间轨迹,得到该机器人在第一控制周期内的预期关键点运动速度,具体内容可结合下述附图进行解释说明。
[0121]
图4为本申请实施例提供的再一种机器人动作模仿方法的流程示意图。如图4所示,可选地,上述根据该第二空间轨迹,得到该机器人在第一控制周期内的预期关键点运动
速度,包括:
[0122]
s401、对该第二空间轨迹进行微分处理,得到该机器人的关键点速度轨迹。
[0123]
其中,该关键点速度轨迹包括:连续多个控制周期中每个控制周期的预期关键点运动速度。在获取到该第二空间轨迹后,可对各个关键点对应的空间轨迹进行滤波处理,得到各个关键点滤波处理后的空间轨迹。以其中一个关键点对应的空间轨迹为例进行说明,其他关键点类似。该关键点对应的空间轨迹中包含有各个控制周期对应的空间位置坐标,在已知该关键点对应的各个控制周期的空间位置坐标以及控制周期,可以得到该关键点速度轨迹。
[0124]
图5为本申请实施例提供的又一种机器人动作模仿方法的流程示意图。如图5所示,可选地,上述根据该第二空间轨迹,得到该机器人在第一控制周期内的预期关键点运动速度,包括:
[0125]
s501、根据该第二空间轨迹上该第二控制周期的关键点姿态,和该第一控制周期的关键点姿态的姿态偏差,得到该预期关键点运动速度。
[0126]
具体的,该机器人上每个关键点在一段时间后都会对应一个空间轨迹,该第二空间轨迹由关键点在不同控制周期的空间位置坐标(姿态)组成,当前控制周期(第一控制周期)对应的预期关键点运动速度,等于当前控制周期对应的关键点空间位置坐标与下一个控制周期(第二控制周期)对应的关键点空间位置坐标之间的位置偏差和控制周期之间的比值。
[0127]
图6为本申请实施例提供的一种机器人动作模仿装置的结构示意图,如图6所示,该装置可以包括:
[0128]
第一计算模块601,用于根据动作识别得到的模仿对象上关键点的第一空间轨迹,得到机器人上关键点的第二空间轨迹;
[0129]
第二计算模块602,用于根据该第二空间轨迹,得到该机器人在第一控制周期内的预期关键点运动速度;
[0130]
第三计算模块603,用于根据预期关键点运动速度,以及预先获取的机器人上关键点的速度雅克比矩阵,得到该机器人在第一控制周期内的预期关节运动速度;
[0131]
第四计算模块604,用于根据第一控制周期内的关节位置和预期关节运动速度,得到该机器人在第二控制周期内的预期关节位置;
[0132]
控制模块605,用于根据第二控制周期的预期关节位置,在第一控制周期内,控制该机器人的关节运动。
[0133]
可选地,第三计算模块603,具体用于采用预设的速度约束条件,确定多组关节运动速度;根据每组关节运动速度和该速度雅克比矩阵,计算每组关节运动速度对应的关键点运动速度;根据多组关键点运动速度,以及该预期关键点运动速度,采用预设的二次规划约束条件,从多组关键点运动速度中确定目标关键点运动速度;确定该目标关键点运动速度对应的关节运动速度为该预期关节运动速度。
[0134]
可选地,预设的速度约束条件包括:至少一种速度约束条件,每种速度约束条件对应该机器人上一类位置;
[0135]
相应地,第三计算模块603,还具体用于采用至少一种速度约束条件,分别得到至少一套关节运动速度,每套关节运动速度包括:至少一组关节运动速度;对至少一套关节运
动速度中的关节运动速度进行求交运算,得到多组关节运动速度。
[0136]
可选地,至少一种速度约束条件,包括:关节速度约束条件,该关节速度约束条件为关节运动速度和预设的单位矩阵的乘积,与最大关节运动速度的约束公式;
[0137]
相应地,第三计算模块603,还具体用于根据预设的最大关节运动速度,采用该关节速度约束条件,得到第一套关节运动速度;至少一套关节运动速度包括:该第一套关节运动速度。
[0138]
可选地,至少一种速度约束条件,包括:关键点速度约束条件,该关键点速度约束条件为关键点运动速度和该速度雅克比矩阵的乘积,与最大关键点运动速度的约束公式;
[0139]
相应地,第三计算模块603,还具体用于根据预设的最大关键点运动速度,采用该关键点速度约束条件,得到第二套关节运动速度;至少一套关节运动速度包括:该第二套关节运动速度。
[0140]
可选地,至少一种速度约束条件包括:质心速度约束条件,该质心速度约束条件为质心超出预设的支撑多边形的限制后的质心速度约束;
[0141]
相应地,第三计算模块603,还具体用于采用该质心速度约束条件,得到第三套关节运动速度;至少一套关节运动速度包括:该第三套关节运动速度。
[0142]
可选地,第二计算模块602,具体用于对该第二空间轨迹进行微分处理,得到该机器人的关键点速度轨迹,该关键点速度轨迹包括:连续多个控制周期中每个控制周期的预期关键点运动速度。
[0143]
可选地,第二计算模块602,还具体用于根据该第二空间轨迹上第二控制周期的关键点姿态,和第一控制周期的关键点姿态的姿态偏差,得到该预期关键点运动速度。
[0144]
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
[0145]
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital signal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0146]
图7为本申请实施例提供的一种电子设备的结构示意图,该电子设备具体可以为控制器,该控制器可以集成与上述机器人上,也可以集成在服务器中。如图7所示,该电子设备可以包括:处理器701、存储介质702和总线703,存储介质702存储有处理器701可执行的机器可读指令,当该电子设备运行时,处理器701与存储介质702之间通过总线703通信,处理器701执行机器可读指令,以执行上述机器人动作模仿方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
[0147]
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述机器人动作模仿方法的步骤。
[0148]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅
仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0149]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0150]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0151]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0152]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1