论文部分内容阅读
近些年来,机器人开始走进人们的日常生活中,日益改善着人们的生活方式。而目前机器人与人的人机交互却没有与之相应发展起来。目前人与机器人交互方式仍然是鼠标、键盘、遥控器等传统方式,交互方式单一且不灵活,难以满足机器人日益增长的需求,人机交互的问题在一定程度上制约了机器人的发展。虚拟机器人作为真实机器人的数字化形态,其运动方式与真实机器人相同,在机器人仿真等方面有着得天独厚的优势。本文通过研究虚拟机器人的运动设计与控制来分析研究真实机器人的人机交互。其中涉及到运动数据的捕获问题,目前常用的运动捕获方法如机械式、光学式、电磁式等方法成本高、环境要求高,使用很不方便。因此,本文采用深度图像,提出一种新的运动数据提取方法。本文用Kinect设备来获取深度图像,深度图像中包含了空间三维信息,并且不受光照等环境因素的影响。本文的主要工作和内容主要集中在以下几个方面:首先,本文对提取出的深度图像进行了预处理,由于本文场景固定,因此采用背景差分的方法,提取出运动人体的前景深度图像。对于提取出来的运动人体深度图像,对其进行中值滤波进行降噪和边缘平滑,为后续处理打下基础。其次,本文基于深度图,提出了一种新的运动数据获取方法,即通过对带有三维信息的运动人体深度图像进行骨架提取,通过骨架定位关节点,从而根据各个关节点的三维信息计算出各个关节的运动信息,并验证了该方法的有效可行性。再次,针对骨架的提取方法,本文将基于细化的骨架提取方法和基于距离的骨架提取方法相结合,结合了二者各自的优点。在骨架提取中遇到的遮挡问题,本文提出通过深度信息提取遮挡部位,并结合Hough变换和初始人体标定对人体运动骨架进行修复。针对本文出现的毛刺问题,提出基于连通长度与斜率的方法,快速有效的解决该问题。并且对上述方法进行了实验分析与对比。然后,对于关节点定位,我们提出了一种基于初始人体标定的解决方法,有效解决了肩关节下沉等问题。并且详细介绍了本文关节运动数据的计算方法和过程,对两帧之间的运动进行插值,使运动平滑,提出了一种基于关节旋转角度的简单姿态匹配。最后,设计和实现基于Kinect的虚拟机器人运动控制系统。本文通过Unity3D游戏开发引擎应用获取的运动数据实现了系统,并且进行了全面的测试。