论文部分内容阅读
随着机器人技术持续不断的发展,人机交互作为机器人技术的一个分支,也得到了很大的发展,并且与航天航空、医疗教育和服务等领域的结合程度越来越高。通过让机器人学习,并理解人类行为,不仅可以增加机器人的智能水平,而且在不久的将来有希望代替人类在危险的环境中进行作业,因此具有重大研究价值。本文基于Nao机器人展开人机交互技术研究。利用Kinect传感器实现人体动作捕捉,并结合扩展卡尔曼滤波器和逆向运动学原理改进动作模仿效果,然后通过搭建卷积神经网络模型来进行人体动作识别,最后实现了一个同时具备人体动作模仿以及动作识别功能的人机交互系统,具体研究内容如下:(1)提出一种改进的Nao机器人三维空间坐标转换算法,用于将三维空间内的坐标数据转换为对应的Nao机器人关节角度。传统的Nao机器人空间坐标转换算法是通过计算两个关节向量夹角的值来反推值,这种方式存在计算误差大,并且容易受到外界环境噪声干扰等问题。针对这些问题,本文提出了一种改进的空间转换算法,该算法以扩展卡尔曼滤波器为基本框架,将空间坐标转换的过程分为测量和估计两个步骤。本文首先通过逆运动学和牛顿迭代法对已知机器人关节空间坐标,求对应机器人关节角度的问题求解,然后将求解后得到的关节数据输入扩展卡尔曼滤波器框架中,建立扩展卡尔曼滤波器的测量模型和预测模型。最后预测模型的输出就是经过本文空间坐标转换算法后得到的机器人关节角度数据。该算法提高了空间转换算法的精度和抗干扰性。(2)提出一种基于并行网络的改进VGGNet网络模型,用于进行Nao机器人人体动作识别。传统的VGGNet网络模型通过加大网络层数来提升识别精度,随着卷积网络的层数加深,无论参数量还是训练难度都会急剧增加,而且还有可能出现识别准确率下降和“恶化”等现象,本文通过对两个小型网络进行特征融合,在尽量减少层数增加的前提下,提升了最后的识别精度。(3)搭建了一个基于Nao机器人的人机交互系统。结合Kinect编写动作捕捉上位机程序,追踪位于Kinect前方的实验者的相关动作,并获取人体关节关键点的三维空间坐标信息,然后通过OpenCV库将人体骨骼图像输出到屏幕。对于人体关节的三维空间坐标数据,利用本文的空间转换算法,将三维空间坐标转化为驱动Nao机器人关节运动的角度数据。通过角度数据,驱动机器人运动,从而实现人体动作模仿。为了提升基于Nao机器人的人机交互系统的体验性,在人体动作模仿的基础上增加了人体动作识别功能。利用卷积神经网络识别Kinect获取的人体骨骼图像,使Nao机器人能识别动作示范者做出的动作类型。