当前位置: 首页 > 专利查询>山东大学专利>正文

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

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

【技术实现步骤摘要】
动作捕捉机器人协同柔性姿态控制的方法
本专利技术涉及一种动作捕捉机器人协同柔性姿态控制的方法,属于人机交互领域和人工智能领域。
技术介绍
人机交互(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角度只需构造该空间夹角两边所在的一组向量,并根据上文中提到的关节角度计算公式得:2)关节角度:LeftElbowYaw如图8所示:LeftElbowYaw关节的角度为肘部绕上臂旋转时产生的角度,此角度通常情况下为ABC和BCD两相交平面的夹角,即图中平面S1和S2的夹角;根据空间平面夹角计算公式得出角度LeftElbowRoll的计算方法如下。首先需要明确计算两非共线向量所在平面的法向量的公式:因此S1、S2平面的法向量表示为:LeftElbowYaw关节的角度即等于M1、M2两法向量的夹角:3)关节角度:LeftShoulder.Roll如图9所示:4)关节角度:LeftShoulderPitch如图10所示:LeftShoulderPitch关节的角度为上臂与双肩轴线组成的平面与双肩轴线与脊柱点组成的平面之间的夹角,此角度通常情况下为ABC和BCD两相交平面的夹角,类比LeftElbowYaw关节角的计算方法,根据空间平面夹角计算公式可得出角度LeftShoulderPitch的计算方法如下:平面ABC的法向量:平面BCD的法向量:关节角LeftShoulderPitch计算:5)手部张合角度:LeftHand由于KINECT对于手部信息的读取无法精确到手指的状态,因此对于手部张合角度计算,通过计算Lefthand和LeftWrist之间的距离来估算手部张合的角度,计算方法如下:如图11所示:至此,左臂所有关节的角度全部计算完毕,同理可以计算右臂关节角度;6)关节角度:HeadPitch头部两个关节中,与低头和抬头有关的角度名称HeadPitch如图12所示:头部关节HeadPitch的角度选取肩中指向头部的向量与两肩与脊柱组成的平面的法向量之间的夹角,具体计算公式如下:7)关节角:HeadYaw如图13所示:头部另外一个重要的关节角HeadYaw负责实现头部左右转动,由于KINECT骨骼识别结果中无法给出面部朝向的数据信息,因此HeadYaw角度无法进行直接计算,然而通过观察骨骼绘制动画本文档来自技高网
...
动作捕捉机器人协同柔性姿态控制的方法

【技术保护点】
一种动作捕捉机器人协同柔性姿态控制的方法,其特征在于该方法包括步骤如下:(1)利用体感设备Kinect实时捕获不同时刻目标人体对应目标关节位移数据;(2)将体感设备Kinect捕获到的目标关节位移数据发送到PC端;(3)PC端接收所有目标关节位移数据,并根据其实时绘制出人体骨骼框架;(4)PC端将人体骨骼框架动态显示在屏幕上,并提供报错反馈;(5)PC端对接收到的所有目标关节位移数据进行处理:包括相对阈值距离比较滤波计算、空间向量计算,得到人形机器人NAO的姿态控制数据,即关节角度数据;(6)调用人形机器人NAO的NAOqi操作系统中的Joint Control函数,根据传送来的关节角度数据,对人形机器人NAO的舵机进行控制,使人形机器人NAO实时跟踪目标人体动作。

【技术特征摘要】
1.一种动作捕捉机器人协同柔性姿态控制的方法,其特征在于该方法包括步骤如下:(1)利用体感设备Kinect实时捕获不同时刻目标人体对应目标关节位移数据;(2)将体感设备Kinect捕获到的目标关节位移数据发送到PC端;(3)PC端接收所有目标关节位移数据,并根据其实时绘制出人体骨骼框架;(4)PC端将人体骨骼框架动态显示在屏幕上,并提供报错反馈;(5)PC端对接收到的所有目标关节位移数据进行处理:包括相对阈值距离比较滤波计算、空间向量计算,得到人形机器人NAO的姿态控制数据,即关节角度数据;(6)调用人形机器人NAO的NAOqi操作系统中的JointControl函数,根据传送来的关节角度数据,对人形机器人NAO的舵机进行控制,使人形机器人NAO实时跟踪目标人体动作;所述步骤(4)还包括,所述PC端动态显示人体骨骼框架:如果PC端显示的人体骨骼框架与目标人体的动作一致,则将关节角度数据发送至人形机器人NAO;如果PC端显示的人体骨骼框架与目标人体的动作不匹配,则重新初始化程序;所述步骤(5)中,所述相对阈值距离比较滤波计算包括:通过观察位移关节点的空间坐标变化,计算固定时间段内同一关节在开始时间和结束时间组成的波动向量,观察该波动向量的模拟及在空间坐标系各个方向的波动,通过设定波动阈值筛选关节波动值;所述步骤(5)中,所述空间向量计算包括:由Kinect空间坐标系中,得出Kinect坐标系中任意两个不重合的坐标点P1(x1,y1,z1),P2(x2,y2,z2),对其组成的向量P1P2:若存在另一点P3且该点不在P1P2所在的直线上,则存在以下关系式:根据上述性质,将人体关节角度计算简化为对空间向量夹角的计算,下面将分别说明上肢关节角度的计算方法:1)关节角度:LeftElbowRoll计算LeftElbowRoll角度只需构造该空间夹角两边所在的一组向量,并根据上文中提到的关节角度计算公式得:2)关节角度:LeftElbowYawLeftElbowYaw关节的角度为肘部绕上臂旋转时产生的角度,此角度通常情况下为ABC和BCD两相交平面的夹角;根据空间平面夹角计算公式得出角度LeftElbowRoll的计算方法如下:首先需要明确计算两非共线向量所在平面的法向量的公式:因此S1、S2平面的法向量表示为:

【专利技术属性】
技术研发人员:邢建平孟宪昊王康孟宪鹏
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1