CN105252532A - 动作捕捉机器人协同柔性姿态控制的方法 - Google Patents

动作捕捉机器人协同柔性姿态控制的方法 Download PDF

Info

Publication number
CN105252532A
CN105252532A CN201510824988.8A CN201510824988A CN105252532A CN 105252532 A CN105252532 A CN 105252532A CN 201510824988 A CN201510824988 A CN 201510824988A CN 105252532 A CN105252532 A CN 105252532A
Authority
CN
China
Prior art keywords
rightarrow
angle
joint
robot
plane
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510824988.8A
Other languages
English (en)
Other versions
CN105252532B (zh
Inventor
邢建平
孟宪昊
王康
孟宪鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Muke Space Information Technology Co Ltd
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN201510824988.8A priority Critical patent/CN105252532B/zh
Publication of CN105252532A publication Critical patent/CN105252532A/zh
Application granted granted Critical
Publication of CN105252532B publication Critical patent/CN105252532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

一种动作捕捉机器人协同柔性姿态控制的方法,利用体感设备Kinect实时捕获不同时刻目标人体对应目标关节位移数据;将目标关节位移数据发送到PC端;PC端实时绘制出人体骨骼框架;PC端将人体骨骼框架动态显示在屏幕上,并提供报错反馈;得到关节角度数据;对人形机器人NAO的舵机进行控制,使人形机器人NAO实时跟踪目标人体动作。本发明利用Kinect捕获目标人体的位移关节数据,识别人体的各种姿态,实现机器人实时模仿人体动作。本发明人体动作识别速度快、精度高,机器人追踪动作流畅,且可以实时反映出目标人体的姿态,在不同环境复杂条件下具有较好的鲁棒性。

Description

动作捕捉机器人协同柔性姿态控制的方法
技术领域
本发明涉及一种动作捕捉机器人协同柔性姿态控制的方法,属于人机交互领域和人工智能领域。
背景技术
人机交互(HCI,Human-ComputerInteraction)是一门关于设计、评价和实现供人们使用的交互式计算机***,以及研究由此而发生的相关现象的学科。人机交互技术主要是研究人与计算机之间的信息交换,体现在人到计算机和计算机到人的信息交互两部分,前者是指人们可以借助键盘、鼠标、操作杆、位置***、数据手套等设备,用手、脚、声音、姿态和身体的动作、视线甚至脑电波等向计算机传递信息;后者是计算机通过打印机、绘图仪、显示器、头盔式显示器、音箱等输出设备或显示设备给人提供信息。
Kinect是微软在2009年6月2日的E3大展上,正式公布的XBOX360体感周边外设。Kinect彻底颠覆了游戏的单一操作,使人机互动的理念更加彻底的展现出来。它是一种3D体感摄影机,同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。体感,即躯体感觉,是触觉、压觉、温觉、痛觉和本体感觉(关于肌肉和关节位置和运动、躯体姿势和运动以及面部表情的感觉)的总称。采用LightCoding和光源标定技术的Kinect利用红外线发射器发出雷射光,通过红外线CMOS摄像机记录空间中的每个散斑,结合原始散斑图案,通过晶片计算出具有3D深度的图像,进而转换到骨架追踪***,使得Kinect可以应用到许多领域。
NAO是由AldebaranRobotics公司研制的一个身高58厘米的可编程仿人机器人。其身体具有25个自由度,主要元件为电机和电动致动器。其运动模块基于广义逆运动学,可处理笛卡尔坐标系、关节控制、平衡、冗余性和任务优先性。NAO头部内嵌英特尔ATOM1.6GHz处理器,运行LINUX内核,拥有NAOqi操作***,是一个开源的软件平台,可用C++或Python语言进行编程。基于以上特点,机器人NAO可以最逼真地实现动作跟踪,是本发明的重要组成部分。
发明内容
针对现有技术的不足,本发明涉及一种动作捕捉机器人协同柔性姿态控制的方法。本发明的目的在于为人机交互提出一种新模式。
本发明的技术方案如下:
一种动作捕捉机器人协同柔性姿态控制的方法,包括步骤如下:
(1)利用体感设备Kinect实时捕获不同时刻目标人体对应目标关节位移数据;目标人体站在体感设备Kinect视距范围内,为保证最佳识别效果,目标人体应处在体感设备Kinect的镜头前1.2-3.5m,水平视角±57°以内;
(2)将体感设备Kinect捕获到的目标关节位移数据发送到PC端;
(3)PC端接收所有目标关节位移数据,并根据其实时绘制出人体骨骼框架;
(4)PC端将人体骨骼框架动态显示在屏幕上,并提供报错反馈;
(5)PC端对接收到的所有目标关节位移数据进行处理:包括相对阈值距离比较滤波计算、空间向量计算,得到人形机器人NAO的姿态控制数据,即关节角度数据;本发明由于环境因素和传感器自身抖动等原因,导致得到的原始数据里存在干扰数据,因此有必要对原始数据进行相对阈值距离比较滤波计算,使得机器人动作追踪更加准确、可靠;
(6)调用人形机器人NAO的NAOqi操作***中的JointControl函数,根据传送来的关节角度数据,对人形机器人NAO的舵机进行控制,使人形机器人NAO实时跟踪目标人体动作。
根据本发明优选的,所述步骤(4)还包括,所述PC端动态显示人体骨骼框架:如果PC端显示的人体骨骼框架与目标人体的动作一致,则将关节角度数据发送至人形机器人NAO;如果PC端显示的人体骨骼框架与目标人体的动作不匹配,则重新初始化程序,以保证人形机器人NAO收到可靠姿态控制数据。
根据本发明优选的,所述步骤(5)中,所述相对阈值距离比较滤波计算包括:
通过观察位移关节点的空间坐标变化,计算固定时间段(例如:0.1s-0.5s)内同一关节在开始时间和结束时间组成的波动向量,观察该波动向量的模以及在空间坐标系各个方向的波动,通过设定波动阈值筛选关节波动值。可以看出关节点识别位置的抖动主要是沿坐标轴方向的快速抖动,且出现抖动时波动向量的模会大幅增加。因此,应对波动较大的关节点做相应处理,对小幅度波动的关节点保持上一状态不变,对于不同的关节处使用不同的阈值比较,保证每次滤波后的结果都是最优解,以保证机器人姿态变换的连续性。
根据本发明优选的,所述步骤(5)中,所述空间向量计算包括:
Kinect所使用的空间坐标系不同于常见的空间坐标系,其x轴与y轴的零点与传统空间坐标系相同,但其z轴坐标零点为Kinect传感器,正方向为Kinect指向的正前方。Kinect空间坐标系如图6所示:
由Kinect空间坐标系中,得出Kinect坐标系中任意两个不重合的坐标点P1(x1,y1,z1),P2(x2,y2,z2),对其组成的向量P1P2:
若存在另一点P3且该点不在P1P2所在的直线上,则存在以下关系式:
根据上述性质,将人体关节角度计算简化为对空间向量夹角的计算,下面将分别说明上肢关节角度的计算方法:
1)关节角度:LeftElbowRoll
如图7所示:计算LeftElbowRoll角度只需构造该空间夹角两边所在的一组向量,
并根据上文中提到的关节角度计算公式得:
L e f t E l b o w R o l l = ∠ A B C = a r c c o s B A → · B C → | B A → | | B C → | - - - ( 3 - 3 )
2)关节角度:LeftElbowYaw
如图8所示:
LeftElbowYaw关节的角度为肘部绕上臂旋转时产生的角度,此角度通常情况下为ABC和BCD两相交平面的夹角,即图中平面S1和S2的夹角;根据空间平面夹角计算公式得出角度LeftElbowRoll的计算方法如下。
首先需要明确计算两非共线向量所在平面的法向量的公式:
m → = a → × b → = det i j k a x a y a z b x b y b z - - - ( 3 - 4 )
因此S1、S2平面的法向量表示为:
M 1 → = B A → × B C → = det i → j → k → BA x BA y BA z BC x BC y BC z = ( BA y BC z - BA z BC y ) i → + ( BA z BC x - BA x BC z ) j → + ( BA x BC y - BA y BC x ) k → - - - ( 3 - 5 )
M 2 → = C B → × C D → = det i → j → k → CB x CB y CB z CD x CD y CD z = ( CB y CD z - CB z CD y ) i → + ( CB z CD x - CB x CD z ) j → + ( CB x CD y - CB y CD x ) k →
LeftElbowYaw关节的角度即等于M1、M2两法向量的夹角:
L e f t E l b o w Y a w = a r c c o s M 1 → · M 2 → | M 1 → | | M 2 → | - - - ( 3 - 7 )
3)关节角度:LeftShoulder.Roll
如图9所示:
L e f t S h o u l d e r R o l l = a r c c o s B A → · B C → | B A → | | B C → | - - - ( 3 - 8 )
4)关节角度:LeftShoulderPitch
如图10所示:
LeftShoulderPitch关节的角度为上臂与双肩轴线组成的平面与双肩轴线与脊柱点组成的平面之间的夹角,此角度通常情况下为ABC和BCD两相交平面的夹角,类比LeftElbowYaw关节角的计算方法,根据空间平面夹角计算公式可得出角度LeftShoulderPitch的计算方法如下:
平面ABC的法向量:
平面BCD的法向量:
关节角LeftShoulderPitch计算:
5)手部张合角度:LeftHand
由于KINECT对于手部信息的读取无法精确到手指的状态,因此对于手部张合角度计算,通过计算Lefthand和LeftWrist之间的距离来估算手部张合的角度,计算方法如下:
如图11所示:
L e f t H a u d = | A B → | = ( A x - B x ) 2 + ( A y - B y ) 2 + ( A z - B z ) 2 - - - ( 3 - 12 )
至此,左臂所有关节的角度全部计算完毕,同理可以计算右臂关节角度;
6)关节角度:HeadPitch
头部两个关节中,与低头和抬头有关的角度名称HeadPitch
如图12所示:
头部关节HeadPitch的角度选取肩中指向头部的向量与两肩与脊柱组成的平面的法向量之间的夹角,具体计算公式如下:
7)关节角:HeadYaw
如图13所示:
头部另外一个重要的关节角HeadYaw负责实现头部左右转动,由于KINECT骨骼识别结果中无法给出面部朝向的数据信息,因此HeadYaw角度无法进行直接计算,然而通过观察骨骼绘制动画可以看出,头部的空间位置明显位于肩中的前方(即正面面对KINECT时,Head点和Shouldercenter点在z轴上存在一定距离),因此关于此关节角本文将转化为平面夹角的计算:
平面ABC的法向量
平面BCD法向量
关节角度
在机器人的运动过程中下肢关节活动将直接影响到机器人整体的平稳性,为了简化控制难度,本文对于下肢控制采用相对位置法,通过计算下肢末端在相对坐标系中的位置结合人体质心的高度,实现对机器人动作的控制;
如图14所示:
将骨骼识别结果的Hipcenter点垂直投影到地面,作为新的坐标系原点,取左右脚踝点Rightankle和Leftankle在新坐标系中坐标作为机器人的控制数据。
B、C两点在O坐标系中坐标如下,
LeftFoot=(Az-Bz,Ax-Bx)(3-17)
RightFoot=(Az-Cz,Ax-Cx)(3-18)
为了由于不同的人身高差异造成的绝对距离误差,此处将坐标数值除以人体胯宽,其中胯宽计算公式如下:
H i p w i d t h = | B C → | = ( B x - C x ) 2 + ( B y - C y ) 2 + ( B z - C z ) 2 - - - ( 3 - 19 )
因此下肢末端在新坐标系中的位置如下所示:
L e f t F o o t = ( A z - B z H i p w i d t h , A x - B x H i p w i d t h ) - - - ( 3 - 20 )
R i g h t F o o t = ( A z - C z H i p w i d t h , A x - C x H i p w i d t h ) - - - ( 3 - 21 ) .
本发明的特点是:
1、本发明采用先进体感设备和前沿机器人技术,设计了一种新的人机交互模式***。
2、本发明实现控制人形机器人实时模仿人体动作,具有很高的可靠性,很强的灵活性,在不同环境复杂条件下具有较好的鲁棒性。
3、本发明采用相对阈值距离滤波方法,降低了环境因素和传感器自身抖动造成的影响,有效地提高了数据的可靠性,***运行的稳定性。
4、本发明将骨骼追踪算法应用于人体姿态识别,针对NAO是拥有25个自由度的可编程仿人机器人的特点,实现控制人形机器人实时模仿人体动作,具有很高的可靠性,在不同环境复杂条件下具有较好的鲁棒性。本发明以Kinect骨骼框架追踪和机器人NAO硬件平台为基础。Kinect端,首选进行程序初始化,该过程包括硬件连接驱动检查、实例化传感器对象、获得深度权限、注册事件***。然后开始骨骼框架识别,该过程包括深度图像的获取,通过骨骼识别算法库深度图像识别出人体关节点并提取空间坐标,经过滤波、空间向量计算,为机器人NAO提供姿态控制数据。
附图说明
图1是本发明所述方法的流程图;
图2是如果PC端显示的人体骨骼框架与目标人体的动作不匹配,则重新初始化程序的流程图;
图3是人体骨骼框架识别流程图;
图4是人体骨骼框架动态显示在屏幕的示意图;
图5是本发明所述相对阈值距离比较滤波算法的流程图;
图6是Kinect空间坐标系;
图7为关节角度:LeftElbowRoll的计算示意图;
图8为关节角度:LeftElbowYaw的计算示意图;
图9为关节角度:LeftShoulder.Roll的计算示意图;
图10为关节角度:LeftShoulderPitch的计算示意图;
图11为手部张合角度:LeftHand的示意图;
图12为关节角度:HeadPitch的计算示意图;
图13为关节角:HeadYaw的计算示意图;
图14为将骨骼识别结果的Hipcenter点垂直投影到地面,作为新的坐标系原点,取左右脚踝点Rightankle和Leftankle在新坐标系中坐标作为机器人的控制数据的计算示意图。
具体实施方式
下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
如图1-5所示。
实施例、
一种动作捕捉机器人协同柔性姿态控制的方法,包括步骤如下:
(1)利用体感设备Kinect实时捕获不同时刻目标人体对应目标关节位移数据;目标人体站在体感设备Kinect视距范围内,为保证最佳识别效果,目标人体应处在体感设备Kinect的镜头前1.2-3.5m,水平视角±57°以内;所述体感设备Kinect具备彩色和深度感应镜头,水平视野:57度,垂直视野:43度,深度感应器范围1.2m-3.5m。运行PC端的服务程序,见图2,首先对体感设备Kinect进行初始化,该过程包括硬件连接驱动检查、实例化传感器对象、获得深度权限、注册事件等等;
(2)将体感设备Kinect捕获到的目标关节位移数据发送到PC端;目标人体站在体感设备Kinect深度感应镜头前,可以改变头部、手臂、手指等姿态,由体感设备Kinect捕获所有目标关节位移数据;
(3)PC端接收所有目标关节位移数据,并根据其实时绘制出人体骨骼框架;绘制人体骨骼框架的流程如图3;
(4)PC端将人体骨骼框架动态显示在屏幕上,并提供报错反馈;如图4,给出了四张具有代表性的服务程序运行状态图:标记为1的部分是目标人体站在视距范围内,程序初始化结束后显示的由体感设备Kinect首次捕获的数据构建的人体骨骼框架,代表程序启动正常,开始实时捕获目标人体的姿态变化;标记为2的部分是程序开始后某一时刻由体感设备Kinect捕获的数据构建的人体骨骼框架,该部分反映了这一时刻目标人体的姿态;标记为3的部分代表了由于程序运行报错、目标人体紧贴体感设备Kinect的镜头的原因,造成人体骨骼框架失真的情况;标记为4的部分是由于目标人体远离视距范围,导致体感设备Kinect无法捕获。标记为3、4的部分是程序给使用者的一个报错反馈,这时候需要重新初始化程序,以保证机器人收到可靠姿态控制数据;
(5)PC端对接收到的所有目标关节位移数据进行处理:包括相对阈值距离比较滤波计算、空间向量计算,得到人形机器人NAO的姿态控制数据,即关节角度数据;本发明由于环境因素和传感器自身抖动等原因,导致得到的原始数据里存在干扰数据,因此有必要对原始数据进行相对阈值距离比较滤波计算,使得机器人动作追踪更加准确、可靠;
(6)调用人形机器人NAO的NAOqi操作***中的JointControl函数,根据传送来的关节角度数据,对人形机器人NAO的舵机进行控制,使人形机器人NAO实时跟踪目标人体动作。
根据本发明优选的,所述步骤(4)还包括,所述PC端动态显示人体骨骼框架:如果PC端显示的人体骨骼框架与目标人体的动作一致,则将关节角度数据发送至人形机器人NAO;如果PC端显示的人体骨骼框架与目标人体的动作不匹配,则重新初始化程序,以保证人形机器人NAO收到可靠姿态控制数据。
根据本发明优选的,所述步骤(5)中,所述相对阈值距离比较滤波计算包括:
通过观察位移关节点的空间坐标变化,计算固定时间段(例如:0.1s-0.5s)内同一关节在开始时间和结束时间组成的波动向量,观察该波动向量的模以及在空间坐标系各个方向的波动,通过设定波动阈值筛选关节波动值。可以看出关节点识别位置的抖动主要是沿坐标轴方向的快速抖动,且出现抖动时波动向量的模会大幅增加。因此,应对波动较大的关节点做相应处理,对小幅度波动的关节点保持上一状态不变,对于不同的关节处使用不同的阈值比较,保证每次滤波后的结果都是最优解,以保证机器人姿态变换的连续性。
根据本发明优选的,所述步骤(5)中,所述空间向量计算包括:
根据本发明优选的,所述步骤(5)中,所述空间向量计算包括:
Kinect所使用的空间坐标系不同于常见的空间坐标系,其x轴与y轴的零点与传统空间坐标系相同,但其z轴坐标零点为Kinect传感器,正方向为Kinect指向的正前方。Kinect空间坐标系如图6所示:
由Kinect空间坐标系中,得出Kinect坐标系中任意两个不重合的坐标点P1(x1,y1,z1),P2(x2,y2,z2),对其组成的向量P1P2:
若存在另一点P3且该点不在P1P2所在的直线上,则存在以下关系式:
根据上述性质,将人体关节角度计算简化为对空间向量夹角的计算,下面将分别说明上肢关节角度的计算方法:
1)关节角度:LeftElbowRoll
如图7所示:计算LeftElbowRoll角度只需构造该空间夹角两边所在的一组向量,
并根据上文中提到的关节角度计算公式得:
L e f t E l b o w R o l l = ∠ A B C = a r c c o s B A → · B C → | B A → | | B C → | - - - ( 3 - 3 )
2)关节角度:LeftElbowYaw
如图8所示:
LeftElbowYaw关节的角度为肘部绕上臂旋转时产生的角度,此角度通常情况下为ABC和BCD两相交平面的夹角,即图中平面S1和S2的夹角;根据空间平面夹角计算公式得出角度LeftElbowRoll的计算方法如下。
首先需要明确计算两非共线向量所在平面的法向量的公式:
m → = a → × b → = det i j k a x a y a z b x b y b z - - - ( 3 - 4 )
因此S1、S2平面的法向量表示为:
M 1 → = B A → × B C → = det i → j → k → BA x BA y BA z BC x BC y BC z = ( BA y BC z - BA z BC y ) i → + ( BA z BC x - BA x BC z ) j → + ( BA x BC y - BA y BC x ) k → - - - ( 3 - 5 )
M 2 → = C B → × C D → = det i → j → k → CB x CB y CB z CD x CD y CD z = ( CB y CD z - CB z CD y ) i → + ( CB z CD x - CB x CD z ) j → + ( CB x CD y - CB y CD x ) k →
LeftElbowYaw关节的角度即等于M1、M2两法向量的夹角:
L e f t E l b o w Y a w = a r c c o s M 1 → · M 2 → | M 1 → | | M 2 → | - - - ( 3 - 7 )
3)关节角度:LeftShoulder.Roll
如图9所示:
L e f t S h o u l d e r R o l l = a r c c o s B A → · B C → | B A → | | B C → | - - - ( 3 - 8 )
4)关节角度:LeftShoulderPitch
如图10所示:
LeftShoulderPitch关节的角度为上臂与双肩轴线组成的平面与双肩轴线与脊柱点组成的平面之间的夹角,此角度通常情况下为ABC和BCD两相交平面的夹角,类比LeftElbowYaw关节角的计算方法,根据空间平面夹角计算公式可得出角度LeftShoulderPitch的计算方法如下:
平面ABC的法向量:
平面BCD的法向量:
关节角LeftShoulderPitch计算:
5)手部张合角度:LeftHand
由于KINECT对于手部信息的读取无法精确到手指的状态,因此对于手部张合角度计算,通过计算Lefthand和LeftWrist之间的距离来估算手部张合的角度,计算方法如下:
如图11所示:
L e f t H a u d = | A B → | = ( A x - B x ) 2 + ( A y - B y ) 2 + ( A z - B z ) 2 - - - ( 3 - 12 )
至此,左臂所有关节的角度全部计算完毕,同理可以计算右臂关节角度;
6)关节角度:HeadPitch
头部两个关节中,与低头和抬头有关的角度名称HeadPitch
如图12所示:
头部关节HeadPitch的角度选取肩中指向头部的向量与两肩与脊柱组成的平面的法向量之间的夹角,具体计算公式如下:
7)关节角:HeadYaw
如图13所示:
头部另外一个重要的关节角HeadYaw负责实现头部左右转动,由于KINECT骨骼识别结果中无法给出面部朝向的数据信息,因此HeadYaw角度无法进行直接计算,然而通过观察骨骼绘制动画可以看出,头部的空间位置明显位于肩中的前方(即正面面对KINECT时,Head点和Shouldercenter点在z轴上存在一定距离),因此关于此关节角本文将转化为平面夹角的计算:
平面ABC的法向量
平面BCD法向量
关节角度
在机器人的运动过程中下肢关节活动将直接影响到机器人整体的平稳性,为了简化控制难度,本文对于下肢控制采用相对位置法,通过计算下肢末端在相对坐标系中的位置结合人体质心的高度,实现对机器人动作的控制;
如图14所示:
将骨骼识别结果的Hipcenter点垂直投影到地面,作为新的坐标系原点,取左右脚踝点Rightankle和Leftankle在新坐标系中坐标作为机器人的控制数据。
B、C两点在O坐标系中坐标如下,
LeftFoot=(Az-Bz,Ax-Bx)(3-17)
RightFoot=(Az-Cz,Ax-Cx)(3-18)
为了由于不同的人身高差异造成的绝对距离误差,此处将坐标数值除以人体胯宽,其中胯宽计算公式如下:
H i p w i d t h = | B C → | = ( A x - C x ) 2 + ( B y - C y ) 2 + ( B z - C z ) 2 - - - ( 3 - 19 )
因此下肢末端在新坐标系中的位置如下所示:
L e f t F o o t = ( A z - B z H i p w i d t h , A x - B x H i p w i d t h ) - - - ( 3 - 20 )
R i g h t F o o t = ( A z - C z H i p w i d t h , A x - C x H i p w i d t h ) - - - ( 3 - 21 ) .

Claims (4)

1.一种动作捕捉机器人协同柔性姿态控制的方法,其特征在于该方法包括步骤如下:
(1)利用体感设备Kinect实时捕获不同时刻目标人体对应目标关节位移数据;
(2)将体感设备Kinect捕获到的目标关节位移数据发送到PC端;
(3)PC端接收所有目标关节位移数据,并根据其实时绘制出人体骨骼框架;
(4)PC端将人体骨骼框架动态显示在屏幕上,并提供报错反馈;
(5)PC端对接收到的所有目标关节位移数据进行处理:包括相对阈值距离比较滤波计算、空间向量计算,得到人形机器人NAO的姿态控制数据,即关节角度数据;
(6)调用人形机器人NAO的NAOqi操作***中的JointControl函数,根据传送来的关节角度数据,对人形机器人NAO的舵机进行控制,使人形机器人NAO实时跟踪目标人体动作。
2.根据权利要求1所述的一种动作捕捉机器人协同柔性姿态控制的方法,其特征在于,所述步骤(4)还包括,所述PC端动态显示人体骨骼框架:如果PC端显示的人体骨骼框架与目标人体的动作一致,则将关节角度数据发送至人形机器人NAO;如果PC端显示的人体骨骼框架与目标人体的动作不匹配,则重新初始化程序。
3.根据权利要求1所述的一种动作捕捉机器人协同柔性姿态控制的方法,其特征在于,所述步骤(5)中,所述相对阈值距离比较滤波计算包括:
通过观察位移关节点的空间坐标变化,计算固定时间段内同一关节在开始时间和结束时间组成的波动向量,观察该波动向量的模以及在空间坐标系各个方向的波动,通过设定波动阈值筛选关节波动值。
4.根据权利要求1所述的一种动作捕捉机器人协同柔性姿态控制的方法,其特征在于,所述步骤(5)中,所述空间向量计算包括:
由Kinect空间坐标系中,得出Kinect坐标系中任意两个不重合的坐标点P1(x1,y1,z1),P2(x2,y2,z2),对其组成的向量P1P2:
若存在另一点P3且该点不在P1P2所在的直线上,则存在以下关系式:
根据上述性质,将人体关节角度计算简化为对空间向量夹角的计算,下面将分别说明上肢关节角度的计算方法:
1)关节角度:LeftElbowRoll
计算LeftElbowRoll角度只需构造该空间夹角两边所在的一组向量,
并根据上文中提到的关节角度计算公式得:
leftElbowRoll = ∠ ABC = arccos BA → · BC → | BA → | | BC → | - - - ( 3 - 3 )
2)关节角度:LeftElbowYaw
LeftElbowYaw关节的角度为肘部绕上臂旋转时产生的角度,此角度通常情况下为ABC和BCD两相交平面的夹角;根据空间平面夹角计算公式得出角度LeftElbowRoll的计算方法如下:
首先需要明确计算两非共线向量所在平面的法向量的公式:
m → = a → × b → = det | i j k a x a y a z b x b y b z | - - - ( 3 - 4 )
因此S1、S2平面的法向量表示为:
M 1 → = B A → × B C → = det | i → j → k → BA x BA y BA z BC x BC y BC z | = ( BA y BC z - BA z BC y ) i → + ( BA z BC x - BA x BC z ) j → + ( BA x BC y - BA y BC x ) k → - - - ( 3 - 5 )
M 2 → = C B → × C D → = det | i → j → k → CB x CB y CB z CD x CD y CD z | = ( CB y CD z - CB z CD y ) i → + ( CB z CD x - CB x CD z ) j → + ( CB x CD y - CB y CD x ) k →
LeftElbowYaw关节的角度即等于M1、M2两法向量的夹角:
L e f t E l b o w Y a w = a r c c o s M 1 → · M 2 → | M 1 → | | M 2 → | - - - ( 3 - 7 )
3)关节角度:LeftShoulder.Roll
L e f t S h o u l d e r R o l l = a r c c o s B A → · B C → | B A → | | B C → | - - - ( 3 - 8 )
4)关节角度:LeftShoulderPitch
LeftShoulderPitch关节的角度为上臂与双肩轴线组成的平面与双肩轴线与脊柱点组成的平面之间的夹角,此角度通常情况下为ABC和BCD两相交平面的夹角,类比LeftElbowYaw关节角的计算方法,根据空间平面夹角计算公式可得出角度LeftShoulderPitch的计算方法如下:
平面ABC的法向量:
平面BCD的法向量:
关节角LeftShoulderPitch计算:
5)手部张合角度:LeftHand
由于KINECT对于手部信息的读取无法精确到手指的状态,因此对于手部张合角度计算,通过计算Lefthand和LeftWrist之间的距离来估算手部张合的角度,计算方法如下:
L e f t H a u d = | A B → | = ( A x - B x ) 2 + ( A y - B y ) 2 + ( A z - B z ) 2 - - - ( 3 - 12 )
至此,左臂所有关节的角度全部计算完毕,同理可以计算右臂关节角度;
6)关节角度:HeadPitch
头部两个关节中,与低头和抬头有关的角度名称HeadPitch
头部关节HeadPitch的角度选取肩中指向头部的向量与两肩与脊柱组成的平面的法向量之间的夹角,具体计算公式如下:
7)关节角:HeadYaw
头部另外一个重要的关节角HeadYaw负责实现头部左右转动,因此关于此关节角本文将转化为平面夹角的计算:
平面ABC的法向量
平面BCD法向量
关节角度
在机器人的运动过程中下肢关节活动将直接影响到机器人整体的平稳性,为了简化控制难度,本文对于下肢控制采用相对位置法,通过计算下肢末端在相对坐标系中的位置结合人体质心的高度,实现对机器人动作的控制;
将骨骼识别结果的Hipcenter点垂直投影到地面,作为新的坐标系原点,取左右脚踝点Rightankle和Leftankle在新坐标系中坐标作为机器人的控制数据;
B、C两点在O坐标系中坐标如下,
LeftFoot=(Az-Bz,Ax-Bx)(3-17)
RightFoot=(Az-Cz,Ax-Cx)(3-18)
为了由于不同的人身高差异造成的绝对距离误差,此处将坐标数值除以人体胯宽,其中胯宽计算公式如下:
H i p w i d t h = | B C → | = ( B x - C x ) 2 + ( B y - C y ) 2 + ( B z - C z ) 2 - - - ( 3 - 19 )
因此下肢末端在新坐标系中的位置如下所示:
L e f t F o o t = ( A z - B z H i p w i d t h , A x - B x H i p w i d t h ) - - - ( 3 - 20 )
R i g h t F o o t = ( A z - C z H i p w i d t h , A x - C x H i p w i d t h ) - - - ( 3 - 21 ) .
CN201510824988.8A 2015-11-24 2015-11-24 动作捕捉机器人协同柔性姿态控制的方法 Active CN105252532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510824988.8A CN105252532B (zh) 2015-11-24 2015-11-24 动作捕捉机器人协同柔性姿态控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510824988.8A CN105252532B (zh) 2015-11-24 2015-11-24 动作捕捉机器人协同柔性姿态控制的方法

Publications (2)

Publication Number Publication Date
CN105252532A true CN105252532A (zh) 2016-01-20
CN105252532B CN105252532B (zh) 2017-07-04

Family

ID=55092618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510824988.8A Active CN105252532B (zh) 2015-11-24 2015-11-24 动作捕捉机器人协同柔性姿态控制的方法

Country Status (1)

Country Link
CN (1) CN105252532B (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105945947A (zh) * 2016-05-20 2016-09-21 西华大学 基于手势控制的机器人写字***及其控制方法
CN105999670A (zh) * 2016-05-31 2016-10-12 山东科技大学 基于kinect的太极拳动作判定和指导***及其指导方法
CN106313072A (zh) * 2016-10-12 2017-01-11 南昌大学 一种基于Kinect的体感控制的类人型机器人
CN106564055A (zh) * 2016-10-31 2017-04-19 金阳娃 仿真人机器人稳定性运动规划方法及控制装置
CN106607910A (zh) * 2015-10-22 2017-05-03 中国科学院深圳先进技术研究院 一种机器人实时模仿方法
CN106648116A (zh) * 2017-01-22 2017-05-10 隋文涛 一种基于动作捕捉的虚拟现实综合***
CN106667493A (zh) * 2017-01-22 2017-05-17 河北大学 人体平衡性评估***及评估方法
CN107225573A (zh) * 2017-07-05 2017-10-03 上海未来伙伴机器人有限公司 机器人的动作控制方法和装置
CN107272882A (zh) * 2017-05-03 2017-10-20 江苏大学 一种类全息远程呈现实现方法
CN108518368A (zh) * 2018-05-04 2018-09-11 贵阳海之力液压有限公司 一种应用于外骨骼机器人的阀控液压传动***
CN108621164A (zh) * 2018-05-10 2018-10-09 山东大学 基于深度相机的太极推手机器人
CN108762495A (zh) * 2018-05-18 2018-11-06 深圳大学 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实***
CN109064487A (zh) * 2018-07-02 2018-12-21 中北大学 一种基于Kinect骨骼节点位置追踪的人体姿势比较方法
CN109079794A (zh) * 2018-09-18 2018-12-25 广东省智能制造研究所 一种基于人体姿态跟随的机器人控制与示教方法
CN109591013A (zh) * 2018-12-12 2019-04-09 山东大学 一种柔性装配仿真***及其实现方法
CN110135332A (zh) * 2019-05-14 2019-08-16 吉林大学 一种轴承装配产线效率监控方法
CN110450145A (zh) * 2019-08-13 2019-11-15 广东工业大学 一种基于人体骨骼识别的仿生机械臂
CN110598647A (zh) * 2019-09-17 2019-12-20 四川爱目视光智能科技有限公司 一种基于图像识别的头部姿态识别方法
CN110815215A (zh) * 2019-10-24 2020-02-21 上海航天控制技术研究所 多模融合的旋转目标接近停靠抓捕地面试验***及方法
CN110853099A (zh) * 2019-11-19 2020-02-28 福州大学 一种基于双Kinect相机的人机交互方法及***
CN110978064A (zh) * 2019-12-11 2020-04-10 山东大学 人机协作中人体安全评估方法及***
CN111273783A (zh) * 2020-03-25 2020-06-12 北京百度网讯科技有限公司 数字人的控制方法及装置
CN111360819A (zh) * 2020-02-13 2020-07-03 平安科技(深圳)有限公司 机器人的控制方法及装置、计算机设备、存储介质
CN112090076A (zh) * 2020-08-14 2020-12-18 深圳中清龙图网络技术有限公司 游戏角色动作控制方法、装置、设备和介质
CN112936342A (zh) * 2021-02-02 2021-06-11 福建天晴数码有限公司 基于人体姿态识别算法的实体机器人动作评测***及方法
CN112975993A (zh) * 2021-02-22 2021-06-18 北京国腾联信科技有限公司 一种机器人示教方法、装置、存储介质和设备
CN113077493A (zh) * 2021-05-11 2021-07-06 德鲁动力科技(成都)有限公司 一种移动机器人目标跟随的方法及***
CN113146634A (zh) * 2021-04-25 2021-07-23 达闼机器人有限公司 机器人姿态的控制方法、机器人及存储介质
CN113318424A (zh) * 2020-12-23 2021-08-31 广州富港万嘉智能科技有限公司 一种新型游戏装置与控制方法
CN113318425A (zh) * 2020-12-23 2021-08-31 广州富港万嘉智能科技有限公司 一种新型游戏装置与控制方法
CN113318426A (zh) * 2020-12-23 2021-08-31 广州富港万嘉智能科技有限公司 一种新型游戏***
CN117340914A (zh) * 2023-10-24 2024-01-05 哈尔滨工程大学 一种仿人机器人体感控制方法及控制***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103170973A (zh) * 2013-03-28 2013-06-26 上海理工大学 基于Kinect摄像机的人机协作装置及方法
CN203973551U (zh) * 2014-06-13 2014-12-03 济南翼菲自动化科技有限公司 一种通过身体姿势操控的远程控制机器人
CN104440926A (zh) * 2014-12-09 2015-03-25 重庆邮电大学 一种基于Kinect的机械臂体感远程控制方法及***
CN104589356A (zh) * 2014-11-27 2015-05-06 北京工业大学 基于Kinect人手运动捕捉的灵巧手遥操作控制方法
US20150154467A1 (en) * 2013-12-04 2015-06-04 Mitsubishi Electric Research Laboratories, Inc. Method for Extracting Planes from 3D Point Cloud Sensor Data
CN105058396A (zh) * 2015-07-31 2015-11-18 深圳先进技术研究院 机器人示教***及其控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103170973A (zh) * 2013-03-28 2013-06-26 上海理工大学 基于Kinect摄像机的人机协作装置及方法
US20150154467A1 (en) * 2013-12-04 2015-06-04 Mitsubishi Electric Research Laboratories, Inc. Method for Extracting Planes from 3D Point Cloud Sensor Data
CN203973551U (zh) * 2014-06-13 2014-12-03 济南翼菲自动化科技有限公司 一种通过身体姿势操控的远程控制机器人
CN104589356A (zh) * 2014-11-27 2015-05-06 北京工业大学 基于Kinect人手运动捕捉的灵巧手遥操作控制方法
CN104440926A (zh) * 2014-12-09 2015-03-25 重庆邮电大学 一种基于Kinect的机械臂体感远程控制方法及***
CN105058396A (zh) * 2015-07-31 2015-11-18 深圳先进技术研究院 机器人示教***及其控制方法

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106607910A (zh) * 2015-10-22 2017-05-03 中国科学院深圳先进技术研究院 一种机器人实时模仿方法
CN106607910B (zh) * 2015-10-22 2019-03-22 中国科学院深圳先进技术研究院 一种机器人实时模仿方法
CN105945947A (zh) * 2016-05-20 2016-09-21 西华大学 基于手势控制的机器人写字***及其控制方法
CN105999670A (zh) * 2016-05-31 2016-10-12 山东科技大学 基于kinect的太极拳动作判定和指导***及其指导方法
CN106313072A (zh) * 2016-10-12 2017-01-11 南昌大学 一种基于Kinect的体感控制的类人型机器人
CN106564055B (zh) * 2016-10-31 2019-08-27 金阳娃 仿真人机器人稳定性运动规划方法及控制装置
CN106564055A (zh) * 2016-10-31 2017-04-19 金阳娃 仿真人机器人稳定性运动规划方法及控制装置
CN106667493A (zh) * 2017-01-22 2017-05-17 河北大学 人体平衡性评估***及评估方法
CN106648116B (zh) * 2017-01-22 2023-06-20 隋文涛 一种基于动作捕捉的虚拟现实综合***
CN106648116A (zh) * 2017-01-22 2017-05-10 隋文涛 一种基于动作捕捉的虚拟现实综合***
CN107272882A (zh) * 2017-05-03 2017-10-20 江苏大学 一种类全息远程呈现实现方法
CN107225573A (zh) * 2017-07-05 2017-10-03 上海未来伙伴机器人有限公司 机器人的动作控制方法和装置
CN108518368A (zh) * 2018-05-04 2018-09-11 贵阳海之力液压有限公司 一种应用于外骨骼机器人的阀控液压传动***
CN108518368B (zh) * 2018-05-04 2023-09-19 贵阳海之力液压有限公司 一种应用于外骨骼机器人的阀控液压传动***
CN108621164A (zh) * 2018-05-10 2018-10-09 山东大学 基于深度相机的太极推手机器人
CN108762495A (zh) * 2018-05-18 2018-11-06 深圳大学 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实***
WO2019218457A1 (zh) * 2018-05-18 2019-11-21 深圳大学 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实***
CN109064487A (zh) * 2018-07-02 2018-12-21 中北大学 一种基于Kinect骨骼节点位置追踪的人体姿势比较方法
CN109064487B (zh) * 2018-07-02 2021-08-06 中北大学 一种基于Kinect骨骼节点位置追踪的人体姿势比较方法
CN109079794A (zh) * 2018-09-18 2018-12-25 广东省智能制造研究所 一种基于人体姿态跟随的机器人控制与示教方法
CN109079794B (zh) * 2018-09-18 2020-12-22 广东省智能制造研究所 一种基于人体姿态跟随的机器人控制与示教方法
CN109591013A (zh) * 2018-12-12 2019-04-09 山东大学 一种柔性装配仿真***及其实现方法
CN110135332A (zh) * 2019-05-14 2019-08-16 吉林大学 一种轴承装配产线效率监控方法
CN110135332B (zh) * 2019-05-14 2022-05-31 吉林大学 一种轴承装配产线效率监控方法
CN110450145A (zh) * 2019-08-13 2019-11-15 广东工业大学 一种基于人体骨骼识别的仿生机械臂
CN110598647B (zh) * 2019-09-17 2022-04-22 四川爱目视光智能科技有限公司 一种基于图像识别的头部姿态识别方法
CN110598647A (zh) * 2019-09-17 2019-12-20 四川爱目视光智能科技有限公司 一种基于图像识别的头部姿态识别方法
CN110815215A (zh) * 2019-10-24 2020-02-21 上海航天控制技术研究所 多模融合的旋转目标接近停靠抓捕地面试验***及方法
CN110853099B (zh) * 2019-11-19 2023-04-14 福州大学 一种基于双Kinect相机的人机交互方法及***
CN110853099A (zh) * 2019-11-19 2020-02-28 福州大学 一种基于双Kinect相机的人机交互方法及***
CN110978064A (zh) * 2019-12-11 2020-04-10 山东大学 人机协作中人体安全评估方法及***
CN110978064B (zh) * 2019-12-11 2022-06-24 山东大学 人机协作中人体安全评估方法及***
CN111360819A (zh) * 2020-02-13 2020-07-03 平安科技(深圳)有限公司 机器人的控制方法及装置、计算机设备、存储介质
CN111273783A (zh) * 2020-03-25 2020-06-12 北京百度网讯科技有限公司 数字人的控制方法及装置
CN111273783B (zh) * 2020-03-25 2023-01-31 北京百度网讯科技有限公司 数字人的控制方法及装置
CN112090076A (zh) * 2020-08-14 2020-12-18 深圳中清龙图网络技术有限公司 游戏角色动作控制方法、装置、设备和介质
CN113318424B (zh) * 2020-12-23 2023-07-21 广州富港生活智能科技有限公司 一种新型游戏装置与控制方法
CN113318426A (zh) * 2020-12-23 2021-08-31 广州富港万嘉智能科技有限公司 一种新型游戏***
CN113318425A (zh) * 2020-12-23 2021-08-31 广州富港万嘉智能科技有限公司 一种新型游戏装置与控制方法
CN113318424A (zh) * 2020-12-23 2021-08-31 广州富港万嘉智能科技有限公司 一种新型游戏装置与控制方法
CN113318426B (zh) * 2020-12-23 2023-05-26 广州富港生活智能科技有限公司 一种新型游戏***
CN112936342B (zh) * 2021-02-02 2023-04-28 福建天晴数码有限公司 基于人体姿态识别算法的实体机器人动作评测***及方法
CN112936342A (zh) * 2021-02-02 2021-06-11 福建天晴数码有限公司 基于人体姿态识别算法的实体机器人动作评测***及方法
CN112975993A (zh) * 2021-02-22 2021-06-18 北京国腾联信科技有限公司 一种机器人示教方法、装置、存储介质和设备
CN113146634A (zh) * 2021-04-25 2021-07-23 达闼机器人有限公司 机器人姿态的控制方法、机器人及存储介质
CN113077493A (zh) * 2021-05-11 2021-07-06 德鲁动力科技(成都)有限公司 一种移动机器人目标跟随的方法及***
CN117340914A (zh) * 2023-10-24 2024-01-05 哈尔滨工程大学 一种仿人机器人体感控制方法及控制***
CN117340914B (zh) * 2023-10-24 2024-05-14 哈尔滨工程大学 一种仿人机器人体感控制方法及控制***

Also Published As

Publication number Publication date
CN105252532B (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
CN105252532A (zh) 动作捕捉机器人协同柔性姿态控制的方法
Qiao et al. Real-time human gesture grading based on OpenPose
Qian et al. Developing a gesture based remote human-robot interaction system using kinect
CN111443619B (zh) 一种虚实融合的人机协作仿真方法和***
Riley et al. Enabling real-time full-body imitation: a natural way of transferring human movement to humanoids
CN106843507B (zh) 一种虚拟现实多人互动的方法及***
CN111402290A (zh) 一种基于骨骼关键点的动作还原方法以及装置
CN104570731A (zh) 一种基于Kinect的无标定人机交互控制***及方法
CN109243575B (zh) 一种基于移动交互和增强现实的虚拟针灸方法及***
CN103529944A (zh) 一种基于Kinect的人体动作识别方法
US20130202212A1 (en) Information processing apparatus, information processing method, and computer program
CN113103230A (zh) 一种基于处置机器人遥操作的人机交互***及方法
JP2022084501A (ja) 画像分割及び表面筋電図に基づくロボットの教示システム及び方法
Zhang et al. A real-time upper-body robot imitation system
Sreejith et al. Real-time hands-free immersive image navigation system using Microsoft Kinect 2.0 and Leap Motion Controller
Maycock et al. Robust tracking of human hand postures for robot teaching
Su et al. Development of an effective 3D VR-based manipulation system for industrial robot manipulators
Gao et al. Kinect-based motion recognition tracking robotic arm platform
Wang et al. Design and implementation of humanoid robot behavior imitation system based on skeleton tracking
CN113496168A (zh) 手语数据采集方法、设备、存储介质
Infantino et al. A cognitive architecture for robotic hand posture learning
Jayasurya et al. Gesture controlled AI-robot using Kinect
KR20150044243A (ko) 손 아바타를 이용한 콘텐츠 제어가능 전자학습 장치 및 방법
Fuyun et al. A Natural Human-Computer Interaction Method In Virtual Roaming
Shchekoldin et al. Adaptive head movements tracking algorithms for AR interface controlled telepresence robot

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190517

Address after: 250101 Shandong Province Jinan High-tech Zone Shunfeng Road 101 Qilu Cultural Creative Base 15 Building 4 Unit 5 Floor

Patentee after: Shandong Muke Space Information Technology Co., Ltd.

Address before: No. 27, mountain Dana Road, Ji'nan City, Shandong, Shandong

Patentee before: Shandong University