基于异构体映射的串联机器人人机示教控制方法及装置



1.本发明涉及一种基于异构体映射的串联机器人人机示教控制方法及装置,属于人机示教技术领域。


背景技术:



2.目前人机示教的方法主要是记录人的肢体运动信息,通过捕捉关节的对应角度,机器人通过跟踪对应的关节角度,实现动作的模仿。例如通过rgb-d图像和连接到机器人控制器的示教器装置实现示教,示教操作需要通过专用的示教器设备去控制机器人,对机器人控制器发出指令来指导机器人已设定的位姿抵达目标点如公开号cn110238831a《基于rgb-d图像及示教器的机器人示教系统及方法》,该技术方案通过结合rgb-d图像与示教器结合示教实现了不需要复杂位姿跟踪系统,通过增强现实仿真完成示教,但该方案需要跟示教者结构相似的机器人。公开号cn111002292b《基于相似性度量的机械臂仿人运动示教方法》,该技术方案通过获取人手臂弯曲后的肘关节角度,通过相似性度量来判断与机械臂最相似的肘关节定义,来实现机械臂与手臂的动作模仿,该技术方案局限于机械臂和人手臂之间动作的模仿示教,只能解决机械臂与人手臂之间的示教问题。这些方法的优点可以部分实现人机示教,但是需要机器人拥有类似于示教者的结构,而且仅限于固定关节的示教。使得人机示教不具备泛化性。
3.随着机器人技术发展,越来越多的行业对于人机示教提出了更高的要求,尤其是减小对示教者和机器人之间结构相似的需求,提高机器人的通用性。具体来说,使用非类人机器人,模仿示教动作,具有很高的实用价值。


技术实现要素:



4.本发明的目的在于克服现有技术中的不足,提供一种基于异构体映射的串联机器人人机示教控制方法及装置,能够有效改善机器人示教运动的通用性和简洁性,为进一步推广机器人的普及应用提供了有力的手段。
5.为达到上述目的,本发明是采用下述技术方案实现的:
6.第一方面,本发明提供了一种基于异构体映射的串联机器人人机示教控制方法,包括:
7.获取示教者示教动作的示教信息,所述示教信息包括每帧的帧数据,所述帧数据包括时刻以及人体关节点三维坐标;
8.通过改进k-means算法获取示教信息的关键帧序列;
9.基于示教信息的关键帧序列通过预构建的空间映射将每个关键帧对应的人体关节点三维坐标转换为人体重构关节点三维坐标;
10.通过齐次坐标变换将每个人体重构关节点三维坐标转换为串联机器人坐标系下的三维坐标;
11.将每个串联机器人坐标系下的三维坐标作为串联机器人的机器重构关节点三维
坐标点的目标点;
12.基于每个目标点通过并行ccd控制方法控制串联机器人完成示教动作。
13.可选的,所述通过改进k-means算法获取示教信息的关键帧序列包括:
14.运用聚类评价指标肘部法确定k值;
15.从示教信息中随机均匀选取k个帧作为聚类质心
16.根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心;
17.将聚类簇的每帧与其聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离,并选取欧几里得距离最小对应的帧作为聚类簇的关键帧;
18.将每个聚类簇的关键帧根据帧数据的时刻从前到后进行排序,获取示教信息的关键帧序列。
19.可选的,所述运用聚类评价指标肘部法确定k值包括:
20.令k=2;
21.从示教信息中随机均匀选取k个帧作为聚类质心;
22.根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心;
23.将聚类簇的每帧与其聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离,并对欧几里得距离进行求和;
24.令k=k+1,并重复上述步骤进行迭代,若当前迭代次数相比上一次迭代次数的求和结果突然变小,则将当前迭代次数对应的k值作为结果输出。
25.可选的,所述根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心包括:
26.将示教信息的每帧与聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离;
27.将示教信息的每帧分配至欧几里得距离最小的聚类质心生成k个聚类簇;
28.更新k个聚类簇的聚类质心ok:
[0029][0030]
式中,ok为第k个聚类质心,k=1,2,

,k;n为示教信息的帧数,n=1,2,

,n;t
nk
为第n帧是否属于聚类质心ok,若是,则t
nk
=1,若否,则t
nk
=0;framn为第n帧的帧数据的人体关节点三维坐标生成的向量;
[0031]
重复上述步骤进行迭代,直至当前迭代次数的聚类质心与上一个迭代次数的聚类质心相等或差值小于预设阈值,输出最终k个聚类簇以及相应的聚类质心。
[0032]
可选的,所述空间映射的构建包括:
[0033]
初始化重构关节点矩阵,基于重构关节点矩阵对示教者和串联机器人的各个自由度进行重构获取重构关节点对;
[0034]
基于重构关节点对进行示教者和串联机器人的相似性测试,获取相似性测度;
[0035]
调整重构关节点矩阵,将调整的重构关节点矩阵返回初始化的重构关节点矩阵进行迭代;
[0036]
取相似性测度最大对应的重构关节点对作为空间映射。
[0037]
可选的,所述初始化重构关节点矩阵为:
[0038][0039]
式中,x为运动体,若x=b,则运动体为示教者,若x=i,则运动体为串联机器人;为运动体第i个运动关节点的重构关节点矩阵,q
x
为运动体的自由度数量,s
x
为运动体第i个运动关节点的自由度数量,
[0040]
所述重构关节点矩阵的每行仅有1个元素1,剩余为元素0;所述调整重构关节点矩阵为调整元素1的位置;
[0041]
所述获取重构关节点对为:
[0042][0043]
式中,为运动体第i个运动关节点在第t时刻的重构关节点;s
x
(t)为运动体在第t时刻的自由度的状态向量s
x
(t):
[0044][0045]
式中,为运动体在第t时刻的第m个自由度的状态,m=1,2,

,q
x
,t为转置。
[0046]
可选的,所述基于重构关节点对进行示教者和串联机器人的相似性测试,获取相似性测度包括:
[0047]
通过运动体进行测试动作并获取测试信息,所述测试信息包括每帧的帧数据,所述帧数据包括时刻以及运动关节点三维坐标;
[0048]
通过改进k-means算法获取测试信息的关键帧序列;
[0049]
对测试信息的每帧的帧数据的运动关节点三维坐标进行量化获取全局运动度量、局部运动度量和关节角;
[0050]
基于测试信息的关键帧序列获取每个关键帧对应的全局运动度量、局部运动度量和关节角;
[0051]
基于每个关键帧对应的全局运动度量、局部运动度量和关节角计算对应的全局运动度量距离、局部运动度量距离和关节角度量距离:
[0052]
g_disk′
=||g_motion
b,k
′-g_motion
i,k

||
[0053]
l_disk′
=||l_motion
b,k
′-l_motion
i,k

||
[0054]
α_disk′
=|α
b,k
′-α
i,k

||
[0055]
式中,g_disk′
为第k

个关键帧的全局运动度量距离,g_motion
b,k

、g_motion
i,k

分别为示教者、串联机器人的第k

个关键帧的全局运动度量;
[0056]
l_disk′
为第k

个关键帧的局部运动度量距离,lmotion
b,k

、lmotion
i,k

分别为示教者、串联机器人的第k

个关键帧的局部运动度量;
[0057]
α_disk′
为第k

个关键帧的关节角距离,α
b,k

、α
i,k

分别为示教者、串联机器人的第k

个关键帧的关节角度量;
[0058]
将每个关键帧对应的全局运动度量距离、局部运动度量距离和关节角度量距离与预设的全局阈值、局部阈值和关节角阈值进行比较,并获取相应的相似性测度:
[0059][0060][0061][0062][0063]
式中,g%、l%、α%分别为全局运动度量、局部运动度量和关节角度量的预设相似性测度;为第k

个关键帧的总相似性测度,分别全局运动度量、局部运动度量和关节角度量的相似性测度第k

个关键帧的相似性测度;
[0064]
根据每个关键帧总相似性测度获取测试信息的总相似性测度sim
total

[0065][0066]
式中,k

为测试信息的关键帧数量,k

=1,2,

,k


[0067]
可选的,所述对测试信息的每帧的帧数据的运动关节点三维坐标进行量化获取全局运动度量、局部运动度量和关节角包括:
[0068]
基于测试信息的每帧的帧数据通过重构关节点对将每帧对应的运动关节点三维坐标转换为重构关节点三维坐标;
[0069]
获取全局运动度量包括:
[0070]
运用kabsch算法进行相邻帧量化:
[0071][0072][0073][0074][0075]
式中,set
α
、set
β
为前一帧、后一帧重构关节点三维坐标集,为前一帧、后
一帧的运动体中第j个重构关节点的重构关节点三维坐标,j=1,2,

,l,l为运动体中重构关节点的数量,cent
α
、cent
β
为set
α
、set
β
的质心;
[0076]
基于质心和重构关节点三维坐标计算协方差矩阵e:
[0077][0078]
通过奇异值分解将协方差矩阵分解为三个矩阵m,n,o:
[0079]
[m,n,o]=svd(e)
[0080]
r=om
t
[0081]
t=cent
β-r
×
centa[0082]
式中,r为旋转矩阵,t=[t
x
,ty,tz]
t
为平移矩阵;
[0083][0084]

x
,θy,θz)=euler(r)
[0085]
式中,tf为从set
α
变换为set
β
的变换矩阵,euler为欧拉函数,(θ
x
,θy,θz)为旋转矩阵r绕坐标轴的旋转角;
[0086]
第n

个相邻帧的第j个重构关节点的全局运动度量为:
[0087][0088]
第n

个相邻帧的全部重构关节点的全局运动度量g_motionn′
为:
[0089][0090]
测试信息的全局运动度量g_motion为:
[0091]
g_motion=[g_motion1,g_motion2,

,g_motionn′
]
[0092]
式中,n

为测试信息的帧数,n

=1,2,

,n


[0093]
获取局部运动度量包括:
[0094]
根据第n

个相邻帧的第j个重构关节点的全局运动度量通过齐次坐标变换获取第n

个相邻帧的第j个重构关节点的局部运动度量为:
[0095][0096][0097]
第n

个相邻帧的全部重构关节点的全局运动度量l_motionn′
为:
[0098][0099]
测试信息的局部运动度量l_motion为:
[0100]
l_motion=[l_motion1,l_motion2,

,l_motionn′
]
[0101]
获取关节角度量包括:
[0102]
根据第n

个相邻帧的第j个重构关节点的关节角度量为
[0103]
根据第n

个相邻帧全部重构关节点的关节角度量αn′
为:
[0104][0105]
式中,num为关节角的数量;
[0106]
测试信息的关节角度量α为:
[0107]
α=[α1,α2,

,αn′
]。
[0108][0109]
可选的,所述基于每个目标点通过并行ccd控制方法控制串联机器人完成示教动作包括:
[0110]
根据第一个目标点构建串联机器人的控制变量φ:
[0111]
φ={φ1,φ2,

,φf}
[0112][0113]
式中,e、f为机器关节点、机器重构关节点的数量;φf为第f个机器重构关节点的控制变量;
[0114][0115]
式中,θg为第g个机器关节点的转动角度,dg为第g个机器关节点的平动距离;
[0116]
基于控制变量组构建控制目标函数θu:
[0117]
θu=ρ1||φ1||2+ρ2||φ2||2+

+ρf||φf||2[0118]
式中,ρr为第r个机器重构关节点的运动增益,r=1,2,

,f;
[0119]
调节控制目标函数θu令θu趋近于零或小于等于阈值θ
t
,从而完成第一个目标点;
[0120]
重复上述步骤,直至完成每一个目标点从而完成示教动作。
[0121]
第二方面,本发明提供了一种基于异构体映射的串联机器人人机示教控制装置,包括处理器及存储介质;
[0122]
所述存储介质用于存储指令;
[0123]
所述处理器用于根据所述指令进行操作以执行根据上述方法的步骤。
[0124]
与现有技术相比,本发明所达到的有益效果:
[0125]
本发明提供了一种基于异构体映射的串联机器人人机示教控制方法及装置,通过获取示教者的运动信息从而提取关键帧,通过空间映射对关键帧的关节点三维坐标进行重构,然后将重构后的三维坐标转换为串联机器人坐标系下的三维坐标,以该三维坐标为目标点基于ccd并行方式控制串联机器人完成示教;本发明能够有效改善机器人示教运动的通用性和简洁性,为进一步推广机器人的普及应用提供了有力的手段。
附图说明
[0126]
图1是本发明实施例一提供的一种基于异构体映射的串联机器人人机示教控制方法的流程图;
[0127]
图2是本发明实施例一提供的串联机器人人机示教控制方法中空间映射的构建方法的流程图;
[0128]
图3是本发明实施例二提供的左手臂与串联机器人的关节点空间映射示意图;
[0129]
图4是本发明实施例二提供的左手臂重构关节三维坐标经过齐次转换变为串联机器人坐标系的三维坐标的示意图;
[0130]
图5是本发明实施例二提供的使用并行ccd控制方法控制重构关节点到达目标点的示意图;
[0131]
图6是本发明实施例二提供的左手臂示教串联机器人的抬臂动作运动示意图;
[0132]
图7是本发明实施例三提供的人体重构关节点的示意图;
[0133]
图8是本发明实施例三提供的人体示教串联机器人左右摇摆动作的动作示意图。
具体实施方式
[0134]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0135]
实施例一:
[0136]
如图1所示,本发明提供了一种基于异构体映射的串联机器人人机示教控制方法,包括以下步骤:
[0137]
1、获取示教者示教动作的示教信息,示教信息包括每帧的帧数据,帧数据包括时刻以及人体关节点三维坐标。
[0138]
2、通过改进k-means算法获取示教信息的关键帧序列;具体包括以下步骤:
[0139]
2.1、运用聚类评价指标肘部法确定k值;具体包括以下步骤:
[0140]
2.1.1、令k=2;
[0141]
2.1.2、从示教信息中随机均匀选取k个帧作为聚类质心;
[0142]
2.1.3、根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心;
[0143]
2.1.4、将聚类簇的每帧与其聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离,并对欧几里得距离进行求和;
[0144]
2.1.5、令k=k+1,并重复上述步骤进行迭代,若当前迭代次数相比上一次迭代次数的求和结果突然变小,则将当前迭代次数对应的k值作为结果输出。
[0145]
2.2、从示教信息中随机均匀选取k个帧作为聚类质心;
[0146]
2.3、根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心;
[0147]
2.4、将聚类簇的每帧与其聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离,并选取欧几里得距离最小对应的帧作为聚类簇的关键帧;
[0148]
2.5、将每个聚类簇的关键帧根据帧数据的时刻从前到后进行排序,获取示教信息的关键帧序列。
[0149]
在步骤2.1.3和2.3中均根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心,其方法为:
[0150]
(1)将示教信息的每帧与聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离;
[0151]
(2)将示教信息的每帧分配至欧几里得距离最小的聚类质心生成k个聚类簇;
[0152]
(3)更新k个聚类簇的聚类质心ok:
[0153][0154]
式中,ok为第k个聚类质心,k=1,2,

,k;n为示教信息的帧数,n=1,2,

,n;t
nk
为第n帧是否属于聚类质心ok,若是,则t
nk
=1,若否,则t
nk
=0;framn为第n帧的帧数据的人体关节点三维坐标生成的向量;
[0155]
(4)重复上述步骤进行迭代,直至当前迭代次数的聚类质心与上一个迭代次数的聚类质心相等或差值小于预设阈值,输出最终k个聚类簇以及相应的聚类质心。
[0156]
3、基于示教信息的关键帧序列通过预构建的空间映射将每个关键帧对应的人体关节点三维坐标转换为人体重构关节点三维坐标;
[0157]
如图2所示,空间映射的构建包括:
[0158]
3.1、初始化重构关节点矩阵,基于重构关节点矩阵对示教者和串联机器人的各个自由度进行重构获取重构关节点对;
[0159]
3.1.1、初始化重构关节点矩阵为:
[0160][0161]
式中,x为运动体,若x=b,则运动体为示教者,若x=i,则运动体为串联机器人;为运动体第i个运动关节点的重构关节点矩阵,q
x
为运动体的自由度数量,s
x
为运动体第i个运动关节点的自由度数量,
[0162]
3.1.2、重构关节点矩阵的每行仅有1个元素1,剩余为元素0;调整重构关节点矩阵为调整元素1的位置;
[0163]
3.1.3、获取重构关节点对为:
[0164][0165]
式中,为运动体第i个运动关节点在第t时刻的重构关节点;s
x
(t)为运动体在第t时刻的自由度的状态向量s
x
(t):
[0166]
[0167]
式中,为运动体在第t时刻的第m个自由度的状态,m=1,2,

,q
x
,t为转置。
[0168]
3.2、基于重构关节点对进行示教者和串联机器人的相似性测试,获取相似性测度;
[0169]
3.2.1、通过运动体进行测试动作并获取测试信息,测试信息包括每帧的帧数据,帧数据包括时刻以及运动关节点三维坐标;
[0170]
3.2.2、通过改进k-means算法获取测试信息的关键帧序列;
[0171]
3.2.3、对测试信息的每帧的帧数据的运动关节点三维坐标进行量化获取全局运动度量、局部运动度量和关节角;
[0172]
3.2.4、基于测试信息的关键帧序列获取每个关键帧对应的全局运动度量、局部运动度量和关节角;具体包括以下步骤:
[0173]
3.2.4.1、基于测试信息的每帧的帧数据通过重构关节点对将每帧对应的运动关节点三维坐标转换为重构关节点三维坐标;
[0174]
3.2.4.2、获取全局运动度量包括:
[0175]
运动体每一个重构关节点的重构关节点三维坐标是以父节点为原点;第j个帧与第j+1帧为相邻帧,单独一个重构关节点j在相邻帧之间进行量化;
[0176]
运用kabsch算法进行相邻帧量化:
[0177][0178][0179][0180][0181]
式中,set
α
、set
β
为前一帧、后一帧重构关节点三维坐标集,为前一帧、后一帧的运动体中第j个重构关节点的重构关节点三维坐标,j=1,2,

,l,l为运动体中重构关节点的数量,cent
α
、cent
β
为set
α
、set
β
的质心;
[0182]
基于质心和重构关节点三维坐标计算协方差矩阵e:
[0183][0184]
通过奇异值分解将协方差矩阵分解为三个矩阵m,n,o:
[0185]
[m,n,o]=svd(e)
[0186]
r=om
t
[0187]
t=cent
β-r
×
cent
α
[0188]
式中,r为旋转矩阵,t=[t
x
,ty,tz]
t
为平移矩阵;
[0189][0190]

x
,θy,θz)=euler(r)
[0191]
式中,tf为从set
α
变换为set
β
的变换矩阵,euler为欧拉函数,(θ
x
,θy,θz)为旋转矩阵r绕坐标轴的旋转角;
[0192]
第n

个相邻帧的第j个重构关节点的全局运动度量为:
[0193][0194]
第n

个相邻帧的全部重构关节点的全局运动度量g_motionn′
为:
[0195][0196]
测试信息的全局运动度量g_motion为:
[0197]
g_motion=[g_motion1,g_motion2,

,g_motionn′
]
[0198]
式中,n

为测试信息的帧数,n

=1,2,

,n


[0199]
3.2.4.3、获取局部运动度量包括:
[0200]
根据第n

个相邻帧的第j个重构关节点的全局运动度量通过齐次坐标变换获取第n

个相邻帧的第j个重构关节点的局部运动度量为:
[0201][0202][0203]
第n

个相邻帧的全部重构关节点的全局运动度量l_motionn′
为:
[0204][0205]
测试信息的局部运动度量l_motion为:
[0206]
l_motion=[l_motion1,l_motion2,

,l_motionn′
]
[0207]
3.2.4.4、获取关节角度量包括:
[0208]
根据第n

个相邻帧的第j个重构关节点的关节角度量为
[0209]
根据第n

个相邻帧全部重构关节点的关节角度量αn′
为:
[0210][0211]
式中,num为关节角的数量;
[0212]
测试信息的关节角度量α为:
[0213]
α=[α1,α2,

,αn′
]
[0214]
3.2.5、基于每个关键帧对应的全局运动度量、局部运动度量和关节角计算对应的全局运动度量距离、局部运动度量距离和关节角度量距离:
[0215]
g_disk′
=||g_motion
b,k
′-g_motion
i,k

||
[0216]
l_disk′
=||lmotion
b,k
′-l_motion
i,k

||
[0217]
α_disk′
=||α
b,k
′-α
i,k

||
[0218]
式中,g_disk′
为第k

个关键帧的全局运动度量距离,g_motion
b,k

、g_motion
i,k

分别为示教者、串联机器人的第k

个关键帧的全局运动度量;
[0219]
l_disk′
为第k

个关键帧的局部运动度量距离,l_motion
b,k

、l_motion
i,k

分别为示教者、串联机器人的第k

个关键帧的局部运动度量;
[0220]
α_disk′
为第k

个关键帧的关节角距离,α
b,k

、α
i,k

分别为示教者、串联机器人的第k

个关键帧的关节角度量;
[0221]
3.2.6、将每个关键帧对应的全局运动度量距离、局部运动度量距离和关节角度量距离与预设的全局阈值、局部阈值和关节角阈值进行比较,并获取相应的相似性测度:
[0222][0223][0224][0225][0226]
式中,g%、l%、α%分别为全局运动度量、局部运动度量和关节角度量的预设相似性测度;为第k

个关键帧的总相似性测度,分别全局运动度量、局部运动度量和关节角度量的相似性测度第k

个关键帧的相似性测度;
[0227]
3.2.7、根据每个关键帧总相似性测度获取测试信息的总相似性测度sim
total

[0228][0229]
式中,k

为测试信息的关键帧数量,k

=1,2,

,k


[0230]
3.3、调整重构关节点矩阵(调整元素1的位置),将调整的重构关节点矩阵返回初始化的重构关节点矩阵进行迭代;
[0231]
3.4、取相似性测度最大对应的重构关节点对作为空间映射。
[0232]
4、通过齐次坐标变换将每个人体重构关节点三维坐标转换为串联机器人坐标系下的三维坐标;
[0233]
5、将每个串联机器人坐标系下的三维坐标作为串联机器人的机器重构关节点三维坐标点的目标点;
[0234]
6、基于每个目标点通过并行ccd控制方法控制串联机器人完成示教动作;具体包括以下步骤:
[0235]
6.1、根据第一个目标点构建串联机器人的控制变量φ:
[0236]
φ={φ1,φ2,

,φf}
[0237][0238]
式中,e、f为机器关节点、机器重构关节点的数量;φf为第f个机器重构关节点的控制变量;
[0239][0240]
式中,θg为第g个机器关节点的转动角度,dg为第g个机器关节点的平动距离;
[0241]
6.2、基于控制变量组构建控制目标函数θu:
[0242]
θu=ρ1‖φ1‖2+ρ2‖φ2‖2+

+ρf‖φf‖2[0243]
式中,ρr为第r个机器重构关节点的运动增益,r=1,2,

,f;
[0244]
6.3、调节控制目标函数θu令θu趋近于零或小于等于阈值θ
t
,从而完成第一个目标点;
[0245]
6.4、重复上述步骤,直至完成每一个目标点从而完成示教动作。
[0246]
实施例二:
[0247]
基于实施例一提供的一种基于异构体映射的串联机器人人机示教控制方法,以人体左手臂作为示教者,s-r-s七自由度串联机器人作为示教的串联机器人;采用kinect(也可以使用其他运动捕捉系统)获取人体左手臂上的三维坐标,主要收集左手臂的肩、肘、腕三个关节点的运动信息。
[0248]
本实施例的过程包括:
[0249]
s101、使用kinect深度相机收集人体左手臂的肩、肘、腕关节点的抬臂的运动序列三维坐标信息。
[0250]
s102、对左手臂的运动信息按照时间顺序经过改良的k-means算法,得到左手臂的运动信息的关键帧。一段897帧动作序列的每一帧包含3个重构关节点的三维坐标信息;
[0251]
(1)运用聚类评价指标肘部法,确定897帧数据的k为20。
[0252]
(2)随机选取20个帧作为聚类质心,计算每个帧fram与20个聚类的质心之间的欧几里得距离,然后将其划分到最近的聚类质心的那个分组中。
[0253]
(3)更新每个族中的聚类质心。
[0254]
(4)重复步骤2和步骤3,直到新旧质心平衡或者小于阈值0.05结束。
[0255]
(5)计算每个组的聚类质心与该组的每一帧的欧几里得距离,选取每一组中距离下最小的作为该组的代表。一共选取20帧作为关键帧。将20关键帧按照时间索引的排序。
[0256]
s103、对人左手臂与串联机器人进行运动的空间映射,通过重构关节点矩阵对人机的各个自由度进行忽略、重新排序和重复使用等操作,使人机构成一组重构关节点对,实现人机空间几何的运动映射;
[0257]
(1)人左手臂和串联机器人的运动的时间状态向量分别为如下形式:
[0258]
[0259][0260]
注:b为左手臂,i为串联机器人,都为7个自由度。
[0261]
(2)选取初始化动作为挥手,通过改变重构关节矩阵得到不同的空间映射,依次为串联机器人的第二关节,第四关节,第六关节来重构肘关节得到并在初始化动作上得到不同的相似性百分比,依次为31.82%,84.34%,40.91%,所以说,选取第四关节来主要重构肘关节。
[0262]
s104、如图3所示,根据第四关节来重构肘关节的依据构建重构矩阵根据左手臂示教中关节的自由度和串联机器人的自由度,通过对其中的7个自由度进行重构,使得人体示教部分的重构关节可以良好映射到串联机器人的重构关节上,重构关节矩阵设置为:
[0263][0264]
通过重构关节矩阵,左手臂和串联机器人可以使用相同数量的重构关节,并且允许忽略、重新排序和重复使用重构关节中的自由度。示教者的每一个重构关节和串联机器人相应的重构关节形成一个重构关节对。通过以下方法获得重构关节
[0265][0266]
式中:i=1,2,3依次为重构肩关节点,重构肘关节点,重构腕关节点;
[0267]
s105、图4示教数据转换,将s104中得到的肩、肘、腕重构关节中的三维坐标经过齐次转换变为基于串联机器人的基坐标系的三维坐标,将每个关键帧中重构关节点的三维坐标,作为串联机器人对应的重构关节需要达到的目标点的三维坐标。
[0268]
s106、如图5所示将s104得到的基于串联机器人基座标系的手臂重构关节点的三维坐标作为串联机器人每个时刻重构关节的目标点使用并行ccd控制方法控制重构关节点到达目标点,首先构建控制向量夹角θ和投影距离d为控制目标,控制串联机器人重构关节依次运动,使得θ

0,且d

0,从而使得串联机器人目标重构关节点与目标点位置接近,直到目标位置与实际位置的距离小于设定的阈值,即该重构关节点完成该帧的运动动作。通过对串联机器人每一个重构关节点的每一帧动作按上述方法运动,实现串联机器人的重构关节点都可以到达目标点。然后对20个关键帧序列循环上述的控制,实现串联机器人相似性模仿。
[0269]
(1)采用ccd控制模型。
[0270]
(2)构建目标控制函数:
[0271][0272]
令θu=‖φ1‖2+2‖φ2‖2+‖φ3‖2作为我们的控制目标函数,控制目标为θu=0或者趋
近于零。
[0273]
(3)按照上述方法完成一帧的动作,使得串联机器人完成第一帧的动作。设置步长为0.5,控制串联机器人的朝着目标点步进使得构建的目标函数逐渐趋近于零,直到小于设置的阈值0.6,这样串联机器人完成第一帧的动作。
[0274]
(4)循环上述步骤,完成整个运动序列的20个关键帧动作,实现每一帧动作的示教完成。
[0275]
(5)上述为控制串联机器人模仿一帧手臂运动动作的过程,通过20个关键帧动作序列的动作按照上述一帧的运动方法运动到每一帧期待的位置,最后通过串联30个关键帧动作使得串联机械人模仿出人手臂的抬臂动作。
[0276]
(6)如图6所示,人手臂示教串联机器人的抬臂动作运动示意图,从整个运动序列示意图可以看出,两个动作的相似性较高,说明该方法可以较好的示教串联机器人做出手臂的示教动作。为了评估相似示教的稳定性,分别按照上述步骤重复5次,得到5组相似性示教的动作序列通过步骤s103中的异构体相似性评估,得到5组如表1所示:
[0277]
表1:人机抬臂的相似性百分比
[0278]
1234582.81%80.78%81.84%83.13%80.54%
[0279]
由表1可以看出,相似性百分比抬臂动作在80%以上,说明示教动作的相似性很高,该方法在这个示教动作上有效。
[0280]
实施例三:
[0281]
基于实施例一提供的一种基于异构体映射的串联机器人人机示教控制方法,以人体作为示教者,s-r-s七自由度串联机器人作为示教的串联机器人;采用kinect(也可以使用其他运动捕捉系统)获取人体上的三维坐标。
[0282]
具体步骤如下所示:
[0283]
s201、使用kinect深度相机收集人体的左右摇摆的运动序列,包括头、颈、肩、肘、腕、躯干、臀、膝盖、脚等15个关节点的三维坐标信息。
[0284]
s202、对人体的左右摇摆运动序列按照时间顺序经过改良的k-means算法,得到该运动序列的关键帧。一段987帧动作序列的每一帧包含5个重构关节点的三维坐标信息;
[0285]
(1)运用肘部法确定k值为22。
[0286]
(2)随机选取22个帧作为聚类质心,计算每个帧fram与22个聚类的质心之间的欧几里得距离,然后将其划分到最近的聚类质心的那个分组中。
[0287]
(3)更新每个族中的聚类质心。
[0288]
(4)重复步骤2和步骤3,直到新旧质心平衡或者小于阈值0.05结束。
[0289]
(5)计算每个组的聚类质心与该组的每一帧的欧几里得距离,选取每一组中距离下最小的作为该组的代表。一共选取22帧作为关键帧。将22关键帧按照时间索引的排序。
[0290]
s203、人机空间映射,对整个人体与串联机器人进行运动映射。首先设置初始化动作为站立,通过重构关节矩阵对人机各个自由度的进行整理,实现不同的空间映射,经过在初始化动作上进行相似性百分比的计算得到了一组相似百分比数据为23.70%,41.61%,50.74%,35.41%,61.78%,81.65%,70.23%,59.73%,从上面的相似性百分比选取相似性最大的81.65%的空间映射作为该实施例的空间映射方法。
[0291]
s204、如图7所示,人体重构关节点v1为头关节的关节j1,v2为颈关节j2,v3为躯干关节j3,v4膝中心关节为j6和j7的中心点,v5脚中心关节为j8和j9的中心点,根据上述所示构建人机示教的互相重构关节矩阵,如下所示:
[0292][0293][0294]
注:i=1,2,3,4,5依次为重构头关节点,重构颈关节点,重构躯干关节点,重构膝中心关节点,重构脚中心关节点;
[0295]
s205、将s204中得到的五个重构关节中的三维坐标经过手眼转换变为基于串联机器人的基坐标系的三维坐标,将每个关键帧中重构关节点的三维坐标,作为串联机器人对应的重构关节需要达到的目标点的三维坐标。
[0296]
s206、将s204得到的基于串联机器人基座标系的人体重构关节点的三维坐标作为串联机器人每个时刻重构关节的目标点使用并行ccd控制方法控制重构关节点到达目标点,首先构建控制向量夹角θ和投影距离d为控制目标,控制串联机器人重构关节依次运动,使得θ

0,且d

0,从而使得串联机器人目标重构关节点与目标点位置接近,直到目标位置与实际位置的距离小于设定的阈值,即该重构关节点完成该帧的运动动作。通过对串联机器人每一个重构关节点的每一帧动作按上述方法运动,实现串联机器人的重构关节点都可以到达目标点。然后对22个关键帧序列循环上述的控制,实现串联机器人相似性模仿。
[0297]
(1)采用ccd控制模型。
[0298]
(2)构建目标控制函数:
[0299][0300]
令θu=‖φ1‖2+2‖φ2‖2+3‖φ3‖2+2‖φ4‖2+3‖φ5‖2作为控制目标函数,控制目标为θu=0或者趋近于零。
[0301]
(3)按照上述方法完成一帧的动作,使得串联机器人完成第一帧的动作。设置步长为0.5,控制串联机器人的朝着目标点步进使得构建的目标函数逐渐趋近于零,直到小于设置的阈值0.6,这样串联机器人完成第一帧的动作。
[0302]
(4)循环上述步骤,完成整个运动序列的22个关键帧动作,实现每一帧动作的示教完成。
[0303]
(5)上述为控制串联机器人模仿一帧人体左右摇摆运动动作的过程,通过22个关键帧动作序列的动作按照上述一帧的运动方法运动到每一帧期待的位置,最后通过串联22
个关键帧动作使得串联机械人模仿出人体的左右摇摆动作。
[0304]
(6)如图8所示,整个人体示教串联机器人左右摇摆动作的动作示意图,从图中可以看出两个动作序列的相似性比较高,说明该方法可以较好的实现人体对串联机器人的示教。为了评估整个人体和串联机器人相似示教的稳定性,分别按照上述步骤重复5次,得到5组相似性示教的动作序列通过步骤s203中的异构体相似性评估,得到5组如表2所示:
[0305]
表2:人机摇摆的相似性百分比
[0306]
1234578.54%76.78%77.84%78.13%79.54%
[0307]
由表2可以看出,每组的相似性百分比在左右摇摆动作在76%以上,说明该方法对人体示教串联机器人的稳定性比较好。
[0308]
实施例四:
[0309]
基于实施例一,本发明实施还提供了一种基于异构体映射的串联机器人人机示教控制装置,包括处理器及存储介质;
[0310]
存储介质用于存储指令;
[0311]
处理器用于根据指令进行操作以执行根据上述方法的步骤。
[0312]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0313]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0314]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0315]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0316]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

技术特征:


1.一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,包括:获取示教者示教动作的示教信息,所述示教信息包括每帧的帧数据,所述帧数据包括时刻以及人体关节点三维坐标;通过改进k-means算法获取示教信息的关键帧序列;基于示教信息的关键帧序列通过预构建的空间映射将每个关键帧对应的人体关节点三维坐标转换为人体重构关节点三维坐标;通过齐次坐标变换将每个人体重构关节点三维坐标转换为串联机器人坐标系下的三维坐标;将每个串联机器人坐标系下的三维坐标作为串联机器人的机器重构关节点三维坐标点的目标点;基于每个目标点通过并行ccd控制方法控制串联机器人完成示教动作。2.根据权利要求1所述的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述通过改进k-means算法获取示教信息的关键帧序列包括:运用聚类评价指标肘部法确定k值;从示教信息中随机均匀选取k个帧作为聚类质心;根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心;将聚类簇的每帧与其聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离,并选取欧几里得距离最小对应的帧作为聚类簇的关键帧;将每个聚类簇的关键帧根据帧数据的时刻从前到后进行排序,获取示教信息的关键帧序列。3.根据权利要求2所示的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述运用聚类评价指标肘部法确定k值包括:令k=2;从示教信息中随机均匀选取k个帧作为聚类质心;根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心;将聚类簇的每帧与其聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离,并对欧几里得距离进行求和;令k=k+1,并重复上述步骤进行迭代,若当前迭代次数相比上一次迭代次数的求和结果突然变小,则将当前迭代次数对应的k值作为结果输出。4.根据权利要求2或3所述的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述根据聚类质心对示教信息的每帧进行聚类获取k个聚类簇以及相应的聚类质心包括:将示教信息的每帧与聚类质心根据帧数据的人体关节点三维坐标生成的向量计算欧几里得距离;将示教信息的每帧分配至欧几里得距离最小的聚类质心生成k个聚类簇;更新k个聚类簇的聚类质心o
k

式中,o
k
为第k个聚类质心,k=1,2,

,k;n为示教信息的帧数,n=1,2,

,n;t
nk
为第n帧是否属于聚类质心o
k
,若是,则t
nk
=1,若否,则t
nk
=0;fram
n
为第n帧的帧数据的人体关节点三维坐标生成的向量;重复上述步骤进行迭代,直至当前迭代次数的聚类质心与上一个迭代次数的聚类质心相等或差值小于预设阈值,输出最终k个聚类簇以及相应的聚类质心。5.根据权利要求1所示的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述空间映射的构建包括:初始化重构关节点矩阵,基于重构关节点矩阵对示教者和串联机器人的各个自由度进行重构获取重构关节点对;基于重构关节点对进行示教者和串联机器人的相似性测试,获取相似性测度;调整重构关节点矩阵,将调整的重构关节点矩阵返回初始化的重构关节点矩阵进行迭代;取相似性测度最大对应的重构关节点对作为空间映射。6.根据权利要求5所示的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述初始化重构关节点矩阵为:式中,x为运动体,若x=b,则运动体为示教者,若x=i,则运动体为串联机器人;为运动体第i个运动关节点的重构关节点矩阵,q
x
为运动体的自由度数量,s
x
为运动体第i个运动关节点的自由度数量,所述重构关节点矩阵的每行仅有1个元素1,剩余为元素0;所述调整重构关节点矩阵为调整元素1的位置;所述获取重构关节点对为:式中,为运动体第i个运动关节点在第t时刻的重构关节点;s
x
(t)为运动体在第t时刻的自由度的状态向量s
x
(t):式中,为运动体在第t时刻的第m个自由度的状态,m=1,2,

,q
x
,t为转置。7.根据权利要求1所示的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述基于重构关节点对进行示教者和串联机器人的相似性测试,获取相似性测度包括:通过运动体进行测试动作并获取测试信息,所述测试信息包括每帧的帧数据,所述帧
数据包括时刻以及运动关节点三维坐标;通过改进k-means算法获取测试信息的关键帧序列;对测试信息的每帧的帧数据的运动关节点三维坐标进行量化获取全局运动度量、局部运动度量和关节角;基于测试信息的关键帧序列获取每个关键帧对应的全局运动度量、局部运动度量和关节角;基于每个关键帧对应的全局运动度量、局部运动度量和关节角计算对应的全局运动度量距离、局部运动度量距离和关节角度量距离:g_dis
k

=||g_motion
b,k
′-g_motion
i,k

||l_dis
k

=||l_motion
b,k
′-l_motion
i,k

||α_dis
k

=||α
b,k
′-α
i,k

||式中,g_dis
k

为第k

个关键帧的全局运动度量距离,g_motion
b,k

、g_motion
i,k

分别为示教者、串联机器人的第k

个关键帧的全局运动度量;l_dis
k

为第k

个关键帧的局部运动度量距离,l_motion
b,k

、l_motion
i,k

分别为示教者、串联机器人的第k

个关键帧的局部运动度量;α_dis
k

为第k

个关键帧的关节角距离,α
b,k

、α
i,k

分别为示教者、串联机器人的第k

个关键帧的关节角度量;将每个关键帧对应的全局运动度量距离、局部运动度量距离和关节角度量距离与预设的全局阈值、局部阈值和关节角阈值进行比较,并获取相应的相似性测度:的全局阈值、局部阈值和关节角阈值进行比较,并获取相应的相似性测度:的全局阈值、局部阈值和关节角阈值进行比较,并获取相应的相似性测度:的全局阈值、局部阈值和关节角阈值进行比较,并获取相应的相似性测度:式中,g%、l%、α%分别为全局运动度量、局部运动度量和关节角度量的预设相似性测度;为第k

个关键帧的总相似性测度,分别全局运动度量、局部运动度量和关节角度量的相似性测度第k

个关键帧的相似性测度;根据每个关键帧总相似性测度获取测试信息的总相似性测度sim
total
:式中,k

为测试信息的关键帧数量,k

=1,2,

,k

。8.根据权利要求1所示的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述对测试信息的每帧的帧数据的运动关节点三维坐标进行量化获取全局运动度量、局部运动度量和关节角包括:
基于测试信息的每帧的帧数据通过重构关节点对将每帧对应的运动关节点三维坐标转换为重构关节点三维坐标;获取全局运动度量包括:运用kabsch算法进行相邻帧量化:h算法进行相邻帧量化:h算法进行相邻帧量化:h算法进行相邻帧量化:式中,set
α
、set
β
为前一帧、后一帧重构关节点三维坐标集,为前一帧、后一帧的运动体中第j个重构关节点的重构关节点三维坐标,j=1,2,

,l,l为运动体中重构关节点的数量,cent
α
、cent
β
为set
α
、set
β
的质心;基于质心和重构关节点三维坐标计算协方差矩阵e:通过奇异值分解将协方差矩阵分解为三个矩阵m,n,o:[m,n,o]=svd(e)r=om
t
t=cent
β-r
×
cent
α
式中,r为旋转矩阵,t=[t
x
,t
y
,t
z
]
t
为平移矩阵;(θ
x
,θ
y
,θ
z
)=euler(r)式中,tf为从set
α
变换为set
β
的变换矩阵,euler为欧拉函数,(θ
x
,θ
y
,θ
z
)为旋转矩阵r绕坐标轴的旋转角;第n

个相邻帧的第j个重构关节点的全局运动度量为:第n

个相邻帧的全部重构关节点的全局运动度量g_motion
n

为:测试信息的全局运动度量g_motion为:
g_motion=[g_motion1,g_motion2,

,g_motion
n

]式中,n

为测试信息的帧数,n

=1,2,

,n

;获取局部运动度量包括:根据第n

个相邻帧的第j个重构关节点的全局运动度量通过齐次坐标变换获取第n

个相邻帧的第j个重构关节点的局部运动度量为:为:第n

个相邻帧的全部重构关节点的全局运动度量l_motion
n

为:测试信息的局部运动度量l_motion为:l_motion=[l_motion1,l_motion2,

,l_motion
n

]获取关节角度量包括:根据第n

个相邻帧的第j个重构关节点的关节角度量为根据第n

个相邻帧全部重构关节点的关节角度量α
n

为:式中,num为关节角的数量;测试信息的关节角度量α为:α=[α1,α2,

,α
n

]。9.根据权利要求1所示的一种基于异构体映射的串联机器人人机示教控制方法,其特征在于,所述基于每个目标点通过并行ccd控制方法控制串联机器人完成示教动作包括:根据第一个目标点构建串联机器人的控制变量φ:φ={φ1,φ2,

,φ
f
}式中,e、f为机器关节点、机器重构关节点的数量;φ
f
为第f个机器重构关节点的控制变量;式中,θ
g
为第g个机器关节点的转动角度,d
g
为第g个机器关节点的平动距离;基于控制变量组构建控制目标函数θ
u
:θ
u
=ρ1||φ1||2+ρ2||φ2||2+


f
||φ
f
||2式中,ρ
r
为第r个机器重构关节点的运动增益,r=1,2,

,f;调节控制目标函数θ
u
令θ
u
趋近于零或小于等于阈值θ
t
,从而完成第一个目标点;
重复上述步骤,直至完成每一个目标点从而完成示教动作。10.一种基于异构体映射的串联机器人人机示教控制装置,其特征在于,包括处理器及存储介质;所述存储介质用于存储指令;所述处理器用于根据所述指令进行操作以执行根据权利要求1-9任一项所述方法的步骤。

技术总结


本发明公开了一种基于异构体映射的串联机器人人机示教控制方法及装置,其方法包括:获取示教者示教动作的示教信息;通过改进K-means算法获取示教信息的关键帧序列;基于示教信息的关键帧序列通过预构建的空间映射将每个关键帧对应的人体关节点三维坐标转换为人体重构关节点三维坐标;通过齐次坐标变换将每个人体重构关节点三维坐标转换为串联机器人坐标系下的三维坐标;将每个串联机器人坐标系下的三维坐标作为串联机器人的机器重构关节点三维坐标点的目标点;基于每个目标点通过并行CCD控制方法控制串联机器人完成示教动作;本发明能够有效改善机器人示教运动的通用性和简洁性,为进一步推广机器人的普及应用提供了有力的手段。供了有力的手段。供了有力的手段。


技术研发人员:

陈盛 涂中 徐国政 金船航 高翔

受保护的技术使用者:

南京邮电大学

技术研发日:

2022.09.20

技术公布日:

2022/12/16

本文发布于:2024-09-21 19:34:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/37001.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:关节点   重构   质心   机器人
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议