基于OpenPose模型和机器人运动学的皮影自主编曲方法及系统

文档序号:30244247发布日期:2022-06-02 00:25阅读:165来源:国知局
基于openpose模型和机器人运动学的皮影自主编曲方法及系统
技术领域
1.本发明涉及机器人交互方法及系统,具体为基于openpose模型和机器人运动学的皮影自主编曲方法。


背景技术:

2.随着人机交互技术的不断发展,皮影机器人和人们进行交互的方式越来越多,人们使用人机交互的方式只是将传统的“命令-执行”模式的交互将输入的方式进行了改变,利用交互技术可以控制皮影机器人进行更深层次的应用。即自主编曲功能,编写动作系列。
3.目前,部分公司和高校研发出的皮影机器人交互技术,大多是将交互被动的看作是命令的执行,缺少更深层次的能力,例如机器人皮影动作的编排方法。


技术实现要素:

4.针对现有技术中存在的问题,本发明提供基于openpose模型和机器人运动学的皮影自主编曲方法,该方法能够实现皮影机器人通过人体动作信息,并系统化处理后模仿人体动作,以达到自主编曲的能力,并实现人机交互。
5.本发明是通过以下技术方案来实现:
6.一种基于openpose模型和机器人运动学的皮影自主编曲方法,包括以下步骤:
7.步骤1、自主编曲人员和皮影机器人作相同动作,根据openpose模型识别动作的关键节点,确定自主编曲人员动作的关键节点和皮影机器人动作的关键节点的映射关系;
8.步骤2、采用openpose模型识别自主编曲人员的曲目动作的关键节点,并通过映射关系将关键节点坐标映射至皮影平面坐标系上;
9.步骤3、根据运动学仿真,确定映射到皮影平面坐标系上的关键节点坐标是否在皮影机器人的可达运动空间,当关键节点坐标不在皮影机器人的可达运动空间,则放弃该动作,当动作的关键节点坐标在皮影机器人的可达运动空间,则执行步骤4。
10.步骤4、对映射到皮影平面坐标系上的关键节点坐标进行运动学逆解,得到皮影机器人执行该动作时各个关节的执行角度;
11.步骤5、重复步骤2-4,得到曲目中皮影机器人执行每个动作的执行角度,根据所有的执行角度控制皮影机器人进行皮影表演。
12.优选的,所述自主编曲人员的关键节点包括左右手和头部,皮影机器人的关键节点包括双臂的执行末端和头部的执行末端。
13.优选的,步骤1中自主编曲人员动作的关键节点和皮影机器人动作的关键节点的映射关系的确定方法,包括以下步骤:
14.s1、采用相同的方法构建人体坐标系和皮影机器人坐标系原点;
15.s2、将表演幕布平面作为皮影坐标系平面,将皮影坐标系原点平移至表演幕布,建立皮影平面坐标系;
16.s3、自主编曲人员和皮影机器人做相同预定动作,确定自主编曲人员的关键节点在人体坐标系中的坐标,获取皮影机器人关键节点在皮影坐标系下的坐标;
17.s4、根据自主编曲人员的关键节点在人体坐标系中的坐标和皮影机器人关键节点在皮影坐标系下的坐标,确定自主编曲人员动作的关键节点和皮影机器人动作的关键节点的映射关系。
18.优选的,步骤s1中构建坐标系原点的方法如下:
19.将双手的连接线与头部的垂直的交点作为坐标系的原点。
20.优选的,步骤s4中映射关系的确定方法如下:
21.根据自主编曲人员动作的关键节点在人体坐标系中的坐标确定关键节点到原点的距离l1;根据皮影机器人动作的关键节点在皮影坐标系中的坐标确定关键节点到原点的距离l2;
22.根据距离l1和距离l2的比值确定映射关系。
23.优选的,步骤3中皮影平面坐标系上的关键节点坐标在皮影机器人的可达运动空间的判断方法如下:
24.建立皮影机器人数学模型,使用数学模型坐标系并结合d-h参数法描述皮影机器人的各个关节的角度和运动末端坐标之间的长度,利用运动学正解与matlab使用蒙特卡洛法仿真得到皮影机器人在三维空间的可达工作空间,取其中的一个二维平面为皮影表演平面作为可达工作空间;
25.确定皮影平面坐标系上的关键节点坐标是否在可达工作空间中,若在工作空间上,则可以进行步骤5。
26.优选的,步骤5中关节的执行角度的确定方法如下:
27.根据d-h参数描述的皮影机器人数学模型,并结合运动学方程得到皮影机器人关节末端坐标与各个关节角度之间的关系方程,将皮影平面坐标系下的关键节点坐标带入关节末端位置坐标与角度之间的关系方程进行计算,得到各个关节的角度解集合,取角度解集合中与上个动作运动时间最短的解作为最优解,得到关节的执行角度。
28.优选的,所述最优解的确定方法如下:
29.获取各角度解集合的最大的变化角度δθ
max
,得到多个δθ
max
,取其中δθ
max
最小值对应的角度解集合作为最优解。
30.优选的,所述运动学方程表达式如下:
[0031][0032]
其中,为{0}坐标系到{4}坐标系的变换矩阵,为{0}坐标系到{1}坐标系的变换矩阵、为{1}坐标系到{2}坐标系的变换矩阵、为{2}坐标系到{3}坐标系的变换矩阵、为{3}坐标系到{4}坐标系的变换矩阵。
[0033]
一种基于openpose模型和机器人运动学的皮影自主编曲方法的系统,包括,
[0034]
映射关系模块,用于根据openpose模型识别自主编曲人员和皮影机器人相同动作,关键节点,确定自主编曲人员动作的关键节点和皮影机器人动作的关键节点的映射关系;
[0035]
关键节点模块,用于获取自主编曲人员的曲目动作的关键节点,并通过映射关系将关键节点坐标映射至皮影平面坐标系上;
[0036]
关键节点判断模块,用于根据运动学仿真确定关键节点坐标是否在皮影机器人的可达运动空间,当关键节点坐标不在皮影机器人的可达运动空间;
[0037]
执行角度模块,用于对关键节点坐标进行运动学逆解,得到皮影机器人执行该动作时各个关节的执行角度;
[0038]
曲目控制模块,用于得到曲目中皮影机器人执行每个动作的执行角度,根据所有的执行角度控制皮影机器人进行皮影表演。
[0039]
与现有技术相比,本发明具有以下有益的技术效果:
[0040]
本发明的基于openpose模型和机器人运动学的皮影自主编曲方法,在该方法中使用openpose算法和机器人运动学的正运动学和逆运动学构建皮影机器人的自主编曲方法,采用openpose算法对表演人员的骨骼点进行检测,将动作的关键节点坐标点输出,然后确定皮影机器人与表演人员动作映射关系,并根据映射关系输出皮影机器人的末端坐标,最后通过机器人运动学反解得到皮影机器人各个关节的执行角度,根据执行角度控制皮影机器人各关节进行运动,达到模仿人体姿势的自主编曲,该方法可以大幅降低自行输入角度编曲的时间,提升编曲效率。
附图说明
[0041]
图1为本发明自主编曲方法的流程图;
[0042]
图2为本发明确定映射关系的流程图;
[0043]
图3为本发明皮影机器人可达工作空间判断流程图;
[0044]
图4为本发明运动学可达工作空间仿真图;
[0045]
(a)为机器人三维空间中的可达工作空间;
[0046]
(b)为机器人在二维平面上的可达工作空间;
[0047]
图5为本发明openpose关键点图;
[0048]
图6为本发明皮影机器人数学模型的坐标系;
[0049]
图7为本发明人体姿态与皮影机器人映射图;
[0050]
(a)为人体坐标示意图系图;
[0051]
(b)为皮影坐标示意图系图;
[0052]
图8为本发明人体坐标系与皮影机器人坐标系的示意图;
[0053]
(a)为人体坐标系图;
[0054]
(b)为皮影坐标系图;
[0055]
图9为本发明的效果图;
[0056]
图9(a)为双手放下的示意图,达到图9(b)双臂倾斜的状态图,图9(c)为双臂水平的状图。
[0057]
图10为本发明系统的结构图。
[0058]
图中:1、皮影机器人;2、采集装置;3、通讯装置;4、主控系统。
具体实施方式
[0059]
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
[0060]
参阅图1,基于openpose模型和机器人运动学的皮影自主编曲方法,包括以下步骤:
[0061]
步骤1、建立openpose模型并训练,用于识别人体动作图片中的关键节点。
[0062]
具体的,采用训练后的openpose模型,识别处人体动作图像中每帧图片的关节点,并且只保留头部、左手、右手三个关键节点。
[0063]
参阅图5所示,每帧图片中包括人体各个关节点,在图5中包括0至17关节点,在本实施例中只需要保留头部、左手和右手三个关节点,其对应的序号为0、4和7,人体的头部、左手和右手,在皮影机器人上对应三个关节末端。
[0064]
步骤2、自主编曲人员和皮影机器人作相同动作,openpose模型识别动作的关键节点,确定自主编曲人员动作的关键节点坐标和皮影机器人动作的关键节点坐标的映射关系。
[0065]
自主编曲人员动作的关键节点坐标和皮影机器人动作的关键节点坐标的映射关系建立方法参阅图2,具体包括以下步骤:
[0066]
s2.1、构建人体坐标系,将双手的连接线与头部的垂直的交点作为人体坐标系的原点。
[0067]
通过摄像头拍摄自主编曲人员的图片,图片中会构建一个网状结构,总体大小为像素点的大小,每个网格所在的位置就是像素点,将自主编曲人员双手的连接线与头部的垂直的交点作为人体坐标系的原点,如图8a所示,关键节点相对于原点之间的横向坐标有(u,v),表示了像素点横坐标距离原点的像素点为u个像素点,像素点纵坐标距离原点的像素点为v个像素点,距离横坐标的夹角为a,为了计算方便,像素点落在哪个网格就确定为当前网格中心位置。
[0068]
s2.2、构建皮影机器人坐标系,将皮影机器人手臂的水平线与头部垂线的交点作为皮影机器人坐标系的原点。
[0069]
参与图9b,沿皮影机器人过头部作垂线,沿手臂的端部作水平线,垂线与水平线的交点则为皮影机器人坐标系的原点。
[0070]
当人体出现在摄像头的检测范围的时候,会对人体的坐标进行采集,可以检测到人体左右手和头部的坐标在图9中的(a)所示,双手放下,皮影机器人未动,在图(a)的基础上左右手向上移动,达到图(b)的状态。在获取到人体坐标发生变化后,所计算出来的机器人关节角度发生变化,角度随之发生变化。舵机带动机器人关节进行转动完成动作模仿。最后双手近乎水平,达到了图(c)的状态。
[0071]
s2.3、将表演幕布平面作为皮影坐标系平面,将皮影坐标系原点平移至表演幕布,建立皮影平面坐标系。
[0072]
如图7所示,在下述的关系映射过程中,皮影机器人需要的关节末端坐标只需要三个点,即对应人体左右手和头部的三个关键节点,因此在输出的关键节点中提前将关键节点坐标点保留。
[0073]
s2.4、自主编曲人员做预定动作,openpose模型识别动作的关键节点,并确定关键
节点在人体坐标系中的坐标。
[0074]
例如,选取自主编曲人员双脚并拢,双手打开并平行于地面,根据人体坐标系计算头部、左手、右手的坐标。
[0075]
s2.5、皮影机器人做步骤s2.4相同预定动作,获取皮影机器人关键节点在皮影坐标系下的坐标。
[0076]
皮影机器人做出同样动作,通过测量得到左右手和头部的皮影坐标系下的坐标。
[0077]
s2.6、根据步骤s2.5中自主编曲人员关键节点在人体坐标系中的坐标确定关键节点到原点的距离l1,根据步骤s2.4中皮影机器人关键节点在皮影坐标系中的坐标确定关键节点到原点的距离l2,根据距离l1和距离l2确定映射关系,所述映射关系为距离l1和距离的比值,即映射系数。
[0078]
例如,在人体坐标系中左手关键点的坐标到原点的距离记为l1,皮影机器人坐标系中皮影机器人左臂关节末端到原点的距离为l2,两者的比值就为左手和左臂关节末端的映射系数,同理可以得到右手和头部的映射系数,夹角在两个坐标系下相同,综上完成映射的参数确定,参数有左手、右手、头部的映射系数,角度相同。
[0079]
步骤3、采用openpose模型识别自主编曲人员的曲目动作的关键节点,并通过映射关系将关键节点坐标映射至皮影平面坐标系上。
[0080]
步骤4、根据运动学仿真,确定步骤3的关键节点坐标是否在皮影机器人的可达运动空间,当关键节点坐标不在皮影机器人的可达运动空间,则放弃该动作,或者调整该动作,直至该动作的关键节点坐标在皮影机器人的可达运动空间,然后执行步骤5。
[0081]
具体的,参阅图3首先建立皮影机器人数学模型,数学模型的坐标系建立如图6所示,使用数学模型坐标系并结合d-h参数法描述皮影机器人的各个关节的角度和运动末端坐标之间的长度。利用运动学正解与matlab使用蒙特卡洛法仿真得到皮影机器人在三维空间的可达工作空间如图4左图所示,取其中的一个二维平面为皮影表演平面作为最终的可达工作空间如图4右图所示,可达工作空间表示了皮影机器人能够在表演平面上可以运动的所有活动空间。在通过步骤3计算的坐标和这个工作空间进行判断,得到是否可以得到结果的判断,若在工作空间上,则可以进行步骤5,若不能则重新采集图片。
[0082]
步骤5、对步骤4的关键节点坐标进行运动学逆解,得到皮影机器人执行该动作时各个关节的执行角度。
[0083]
具体的,利用建立的d-h参数描述的皮影机器人数学模型,并结合运动学方程的代数解反解方程,得到皮影机器人关节末端坐标与各个关节角度之间的关系方程,将步骤4得到的皮影平面坐标系下的关键节点坐标带入关节末端位置坐标与角度之间的关系方程进行计算,得到各个关节的角度解集合,取角度解集合中与上个动作运动时间最短的解作为最终解,得到关节的执行角度。
[0084]
在代数解的计算过程中通常会出现多解的情况,机器人各个角度的求解结果为θi,需要找到最优的解,在皮影表演的场景下,一个动作需要所有关节的角度,但是一个动作的运动时间是由所有关节中变化角度最大的那个关节确定的,因此需要找到每组解的最大的变化角度δθ
max
,进而找到多组解中的多个δθ
max
并取其中的δθ
max
最小的那一组解为最终解,保证动作运动时间最短。初始角度不会在编曲序列,可以任意给定。
[0085]
上述运动学方程表达式如下:
[0086][0087]
其中,是{0}坐标系到{4}坐标系的变换矩阵,由是{0}坐标系到{1}坐标系的变换矩阵、依次类推得到的,是坐标系的变换矩阵。
[0088]
步骤6、重复步骤3-5,得到曲目中皮影机器人执行每个动作的执行角度,根据所有的执行角度控制皮影机器人进行皮影表演。
[0089]
具体的,如图9所示,将角度信息下发至皮影机器人主控系统,皮影机器人主控系统根据执行角度控制皮影机器人各个关节进行运动,实现皮影机器人自主表演皮影动作。
[0090]
参阅图10,一种基于openpose模型和机器人运动学的皮影自主编曲方法的系统,包括皮影机器人1、采集装置2;通讯装置3和主控系统4;
[0091]
采集装置2,用于获取自主编曲人员和皮影机器人的动作图像;
[0092]
通讯装置3,用于将采集装置2获取的图像信息传送给主控系统4;
[0093]
主控系统4包括映射关系模块、关键节点模块、关键节点判断模块、执行角度模块和曲目控制模块;
[0094]
映射关系模块,用于根据openpose模型识别自主编曲人员和皮影机器人相同动作,关键节点,确定自主编曲人员动作的关键节点和皮影机器人动作的关键节点的映射关系;
[0095]
关键节点模块,用于获取自主编曲人员的曲目动作的关键节点,并通过映射关系将关键节点坐标映射至皮影平面坐标系上;
[0096]
关键节点判断模块,用于根据运动学仿真确定关键节点坐标是否在皮影机器人的可达运动空间,当关键节点坐标不在皮影机器人的可达运动空间;
[0097]
执行角度模块,用于对关键节点坐标进行运动学逆解,得到皮影机器人执行该动作时各个关节的执行角度;
[0098]
曲目控制模块,用于得到曲目中皮影机器人执行每个动作的执行角度,根据所有的执行角度控制皮影机器人进行皮影表演。
[0099]
本发明的基于openpose模型和机器人运动学的皮影自主编曲方法,在该方法中使用openpose算法和机器人运动学的正运动学和逆运动学构建皮影机器人的自主编曲方法,采用openpose算法对表演人员的骨骼点进行检测,将动作的关键节点坐标点输出,包括左右手和头部,然后确定皮影机器人与表演人员动作映射的比例系数,表演人员将手部尽量伸直,记录动作后确定原点和比例系数。对应皮影机器人的三个末端位置,分别是头、左手、右手。并根据比例系数进行缩放,输出合适皮影机器人的末端坐标。通过机器人运动学反解得到皮影机器人各个关节的角度,将角度信息传给皮影机器人主控系统,皮影机器人主控系统将控制皮影机器人关节进行运动,达到模仿人体姿势的自主编曲,该方法可以大幅降低自行输入角度编曲的时间,提升效率,并且可以模仿很多戏曲演员动作,将戏曲演员的视频作为输入,得到对应皮影表演戏曲。
[0100]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!