一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

双臂机器人的拟人化动作轨迹生成方法及装置、电子设备与流程

2022-03-31 10:53:19 来源:中国专利 TAG:


1.本技术涉及机器人技术领域,尤其涉及一种双臂机器人的拟人化动作轨迹生成方法及装置、电子设备。


背景技术:

2.目前为了使机器人完成一些肢体动作,事先需要编写程序设定轨迹点,或者采用相机捕捉人体动作,控制机器人跟随完成相似的动作。但是采用现有技术,机器人在执行肢体动作时,不够拟人化,动作比较呆板,另外由于设备的精度及灵敏度的影响,采集到动作数据存在一些误差,导致机器人的动作的相似性比较差、动作不连续、存在较多的冲击,而且采集到的动作数据是固定的,无法根据实际需要调整执行时间,每生成一套期望的拟人化动作轨迹需要采集多次人体动作数据,比较繁琐。


技术实现要素:

3.本技术实施例的目的是提供一种双臂机器人的拟人化动作轨迹生成方法及装置、电子设备,以解决相关技术中采集动作数据要求精度高、动作不平滑、动作无法实时调整的问题。
4.根据本技术实施例的第一方面,提供一种双臂机器人的拟人化动作轨迹生成方法,包括:
5.获取由vr设备采集的人体动作惯导数据;
6.按照人体骨骼模型,根据所述人体动作惯导数据,计算得到动作采样每一帧的骨骼点位置;
7.分析所述骨骼点位置的运动趋势,将发生突变的帧提取作为动作的关键帧;
8.将每一所述关键帧的人体骨骼点的位置映射到机器人空间,逆向求解各关节的角度;
9.采用高阶轨迹规划方法,将所述各关节的角度按照人体动作的执行时间生成机器人的拟人化动作轨迹。
10.进一步地,获取由vr设备采集的人体动作惯导数据后,还包括:
11.对所述人体动作惯导数据通过滤波算法进行处理。
12.进一步地,所述滤波算法包括:中值平均滤波算法、卡尔曼滤波算法、或高阶滤波算法。
13.进一步地,对所述人体动作数据采用中值平均滤波算法进行处理,具体包括:
14.获取所述人体动作数据第i帧动作的前m及后m帧的骨骼点位置,去掉其中的最大值和最小值,取剩下的数据的平均值作为i帧动作的骨骼点位置;
15.当i-m小于0时,仅获取从起始帧到i m帧的位置,当i m大于动作数据的总帧数时,仅获取从i-m帧到最后一帧的位置,其它情况下,获取前i-m及后 i m帧的位置。
16.进一步地,分析所述骨骼点位置的运动趋势,将发生突变的帧提取作为动作的关
键帧,包括:
17.根据所述骨骼点位置,计算每帧动作的运动速度及加速度;
18.判断每帧动作的速度方向相对于上一帧是否变化,如果发生改变,将其作为关键帧;
19.设定加速度阈值x,判断每帧动作的加速度是否大于x,如果满足,将其作为关键帧。
20.进一步地,将每一所述关键帧的人体骨骼点的位置映射到机器人空间,逆向求解各关节的角度,包括:
21.根据所述关键帧的人体骨骼点位置,计算大臂和小臂之间的夹角、以及对应与世界坐标系x,y,z轴间的夹角;
22.根据机器人的自由度及分配方式,将上述夹角一一映射到机器人空间,确定关键帧对应的机器人的关节角度。
23.进一步地,采用高阶轨迹规划方法,将所述各关节的角度按照人体动作的执行时间生成机器人的拟人化动作轨迹,包括:
24.在动作执行前,根据人体动作采样周期及起始帧到各关键帧的帧数,确定相邻关键帧的时间间隔和拟人化化动作轨迹的执行时间;
25.根据关键帧对应的机器人各关节的角度、间隔时间以及动作执行总时间,计算各关节的速度及加速度;
26.采用高阶轨迹规划方法,确定相邻关键帧之间的每个轨迹点的期望角度、速度及加速度,生成机器人的拟人化动作轨迹;
27.在动作执行过程中,如果上层对执行时间没有要求,则机器人按照所规划的轨迹运动,如果有要求,首先确定动作执行的下一关键帧,将其作为起始帧,按要求调整剩余动作的执行总时间及相邻关键帧的间隔时间;然后计算剩余关键帧对应的关节速度及加速度;最后采用高阶轨迹规划方法进行重规划。
28.根据本技术实施例的第二方面,提供一种双臂机器人的拟人化动作轨迹生成装置,包括:
29.获取模块,用于获取由vr设备采集的人体动作惯导数据;
30.计算模块,用于按照人体骨骼模型,根据所述人体动作惯导数据,计算得到动作采样每一帧的骨骼点位置;
31.提取模块,用于分析所述骨骼点位置的运动趋势,将发生突变的帧提取作为动作的关键帧;
32.求解模块,用于将每一所述关键帧的人体骨骼点的位置映射到机器人空间,逆向求解各关节的角度;
33.生成模块,用于采用高阶轨迹规划方法,将所述各关节的角度按照人体动作的执行时间生成机器人的拟人化动作轨迹。
34.根据本技术实施例的第三方面,提供一种电子设备,包括:
35.一个或多个处理器;
36.存储器,用于存储一个或多个程序;
37.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理
器实现如第一方面所述的方法。
38.根据本技术实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
39.本技术的实施例提供的技术方案可以包括以下有益效果:
40.由上述实施例可知,本技术采用vr设备采集惯导数据,计算得到动作采样每一帧的骨骼点位置并优化,提高了拟人化动作的相似度;分析所述骨骼点位置的运动趋势,提取动作的关键帧,解决采集人体动作数据的精度及灵敏度要求高的问题,采用高阶规划方法,根据关键帧的数据生成拟人化动作轨迹,使得机器人的运动轨迹平滑,动作连续。而且采用该方式可以根据上层的动作执行要求对机器人的动作轨迹进行重规划,解决重复采集动作数据的问题。
41.所以与现有的方法相比,本方法不仅降低人体动作采集的精度要求同时保证了动作的相似度,而且使得机器人执行动作更加平滑,冲击小。
42.另外在执行过程中可以根据上层要求调整动作的执行时间,避免每次更改动作轨迹,就需要采集人体动作,降低人体动作采集的繁琐度。
43.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
45.图1是根据一示例性实施例示出的一种双臂机器人的拟人化动作轨迹生成方法的流程图;
46.图2是根据一示例性实施例示出的所采用的标准人体骨骼的模型图;
47.图3是根据一示例性实施例示出的提取人体动作关键帧的流程图;
48.图4是根据一示例性实施例示出的将关键帧的人体骨骼点的位置映射到机器人空间,逆向求解各关节的角度的示意图;
49.图5是根据一示例性实施例示出的一种双臂机器人的拟人化动作轨迹生成方法装置的框图。
具体实施方式
50.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
51.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
52.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这
些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
53.图1是根据一示例性实施例示出的一种双臂机器人的拟人化动作轨迹生成方法的流程图,如图1所示,可以包括以下步骤:
54.步骤s11,获取由vr设备采集的人体动作惯导数据;
55.步骤s12,按照人体骨骼模型,根据所述人体动作惯导数据,计算得到动作采样每一帧的骨骼点位置;
56.步骤s13,分析所述骨骼点位置的运动趋势,将发生突变的帧提取作为动作的关键帧;
57.步骤s14,将每一所述关键帧的人体骨骼点的位置映射到机器人空间,逆向求解各关节的角度;
58.步骤s15,采用高阶轨迹规划方法,将所述各关节的角度按照人体动作的执行时间生成机器人的拟人化动作轨迹。
59.由上述实施例可知,本技术采用vr设备采集惯导数据,计算得到动作采样每一帧的骨骼点位置并优化,提高了拟人化动作的相似度;分析所述骨骼点位置的运动趋势,提取动作的关键帧,解决采集人体动作数据的精度及灵敏度要求高的问题,采用高阶规划方法,根据关键帧的数据生成拟人化动作轨迹,使得机器人的运动轨迹平滑,动作连续。而且采用该方式可以根据上层的动作执行要求对机器人的动作轨迹进行重规划,解决重复采集动作数据的问题。
60.所以与现有的方法相比,本方法不仅降低人体动作采集的精度要求同时保证了动作的相似度,而且使得机器人执行动作更加平滑,冲击小。
61.另外在执行过程中可以根据上层要求调整动作的执行时间,避免每次更改动作轨迹,就需要采集人体动作,降低人体动作采集的繁琐度。
62.在步骤s11的具体实施中,获取由vr设备采集的人体动作惯导数据;
63.具体地,在动作采样开始时,将腰部中心作为原点,将人体双臂水平伸展、掌心朝下的位姿作为初始姿态;将vr跟踪设备穿戴布置在腰部、腕部、肘部;设定采样周期;记录每一帧人体动作的vr设备的惯导数据。
64.在步骤s11获取由vr设备采集的人体动作惯导数据后,还包括:
65.对所述人体动作惯导数据通过滤波算法进行处理。
66.进一步地,所述滤波算法包括:中值平均滤波算法、卡尔曼滤波算法、或高阶滤波算法。
67.本实施例中,对所述人体动作数据采用中值平均滤波算法进行处理,具体包括:
68.获取所述人体动作数据第i帧动作的前m及后m帧的骨骼点位置,去掉其中的最大值和最小值,取剩下的数据的平均值作为i帧动作的骨骼点位置;
69.当i-m小于0时,仅获取从起始帧到i m帧的位置,当i m大于动作数据的总帧数时,仅获取从i-m帧到最后一帧的位置,其它情况下,获取前i-m及后 i m帧的位置。
70.在步骤s12的具体实施中,按照如图2所示的人体骨骼模型,根据所述vr 设备的惯
导数据,计算得到动作采样每一帧的骨骼点位置;
71.具体地,获取所采样人体的臂展、身高、大小臂长度等数据搭建人体骨骼模型;按照设定的采样周期,记录设备的惯导数据,得到每一帧动作肘部、腕部的偏转角度;根据人体模型及偏转角度计算每一帧的骨骼点位置。
72.在步骤s13的具体实施中,分析所述骨骼点位置的运动趋势,将发生突变的帧提取作为动作的关键帧;如图3所示,该步骤可包括以下子步骤:
73.步骤s131,计算每帧动作的运动速度及加速度;
74.步骤s132,根据速度变化,提取人体动作的关键帧;
75.步骤s133,根据加速度变化,提取人体动作的关键帧。
76.具体地,根据采样周期及各骨骼点的位置,计算每帧动作的运动速度及加速度;判断每帧动作的速度方向相对于上一帧是否变化,如果发生改变,将其作为关键帧;设定加速度阈值x,判断每帧动作的加速度是否大于x,如果满足,将其作为关键帧。通过分析动作的运动趋势,提取关键帧的方式记录人体动作,不需要每一帧采样数据准确,降低动作采样的精度及灵敏度要求,同时也保证了动作的相似度;在生成拟人化动作轨迹前,通过关键帧可以按照上层要求调整动作的执行时间,在执行过程中,方便监测当前动作的执行进度,进而为实现动作的重规划奠定基础。
77.在步骤s14的具体实施中,将每一所述关键帧的人体骨骼点的位置映射到机器人空间,逆向求解各关节的角度。
78.具体地,根据所述关键帧的人体骨骼点位置,计算大臂和小臂之间的夹角、以及对应与世界坐标系x,y,z轴间的夹角;根据机器人的自由度及分配方式,将上述夹角一一映射到机器人空间,确定关键帧对应的机器人的关节角度。
79.在一个示例性实施例中,如图4所示,用人体骨骼中的肩部、肘部、腕部三点的位置,求得大臂向量记作向量1,用矩阵 [x
elbow-x
shoulder y
elbow-y
shoulder z
elbow-z
shoulder
]来表示;小臂向量记作向量2,用矩阵 [x
wrist-x
elbow y
wrist-y
elbow z
wrist-z
elbow
];在世界坐标系下,向量1在向x-z平面的投影记作向量3,用矩阵[x
wrist-x
elbow 0 z
wrist-z
elbow
]表示。通过分析机器人的自由度及分配方式,向量1与向量3的夹角映射到机器人空间,即为手臂第一个关节的角度,向量3与x轴之间的角度即为机器人手臂第二个关节的角度,向量1 自身所在坐标系自转的角度即为机器人手臂第三个关节的角度,向量1与向量2 之间的角度即为机器人第四个关节的角度,向量2自身所在坐标系自转的角度即为机器人手臂的第五个关节的角度。左右手类似。
[0080]
在步骤s15的具体实施中,采用高阶轨迹规划方法,将所述各关节的角度按照人体动作的执行时间生成机器人的拟人化动作轨迹。
[0081]
具体地,在动作执行前,根据人体动作采样周期及起始帧到各关键帧的帧数,确定相邻关键帧的时间间隔和拟人化化动作轨迹的执行时间;根据关键帧对应的机器人各关节的角度、间隔时间以及动作执行时间,计算各关节的速度及加速度;采用高阶轨迹规划方法,确定相邻关键帧之间的每个轨迹点的期望位置、速度及加速度,生成机器人的拟人化动作轨迹;在动作执行过程中,如果上层对执行时间没有要求,则机器人按照所规划的轨迹运动,如果有要求,首先确定动作执行的下一关键帧,将其作为起始帧,按要求调整剩余动作的执行总时间及相邻关键帧的间隔时间;然后计算剩余关键帧对应的关节速度及加速度;
最后采用上述的规划方法进行重规划。
[0082]
进一步地,所述高阶轨迹规划方法包括:五次多项式、双s梯形方法、15 段s型方法等。本实施例中,采用五次多项式的方法规划机器人的动作轨迹。
[0083]
所述的五次多项式表示为:
[0084]
s(t)=c0 c1t c2t2 c3t3 c4t4 c5t5[0085]
v(t)=c1t 2c2t 3c3t2 4c4t3 5c5t4[0086]
a(t)=2c2 6c3t 12c4t2 20c5t3[0087]
t=(t
i 1-ti)/n
[0088]
其中s(t)为相邻关键帧的起止的位移方程;v(t)为相邻关键帧的起止的速度方程;a(t)为相邻关键帧的起止的加速度方程;t为相邻关键帧之间n个轨迹点的间隔时间,总时间t
i 1-ti默认为采集人体动作时相邻关节帧的时间差,也可根据上层设定的执行速度或者时间进行重规划。这样将相邻关键帧的初始条件代入得:
[0089]
si=ci[0090]si 1
=ci c1tf c2t
f2
c3t
f3
c4t
f4
c5t
f5
[0091]
vi=c1[0092]vi 1
=c1 2c2tf 3c3t
f2
4c4t
f3
5c5t
f4
[0093]ai
=2c2[0094]ai 1
=2c2 6c3tf 12c4t
f2
20c5t
f3
[0095]
这样利用这6个方程,可以解出c1、c2、c3、c4、c5,进而求出相邻关键帧之间每个轨迹点的期望位置、速度及加速度。通过该方法使得机器人模仿人体动作时,保证加速度连续,动作轨迹平滑,冲击小。
[0096]
与前述的机器人拟人化动作生成方法的实施例相对应,本技术还提供了机器人拟人化动作生成装置的实施例。
[0097]
图5是根据一示例性实施例示出的一种双臂机器人的拟人化动作生成的装置框图;参照图5,该装置包括:
[0098]
获取模块21,用于获取由vr设备采集的人体动作惯导数据;
[0099]
计算模块22,用于按照人体骨骼模型,根据所述人体动作惯导数据,计算得到动作采样每一帧的骨骼点位置;
[0100]
提取模块23,用于分析所述骨骼点位置的运动趋势,将发生突变的帧提取作为动作的关键帧;
[0101]
求解模块24,用于将每一所述关键帧的人体骨骼点的位置映射到机器人空间,逆向求解各关节的角度;
[0102]
生成模块25,用于采用高阶轨迹规划方法,将所述各关节的角度按照人体动作的执行时间生成机器人的拟人化动作轨迹。
[0103]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0104]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以
不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0105]
相应的,根据本技术实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
[0106]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0107]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献