论文部分内容阅读
仿人机器人因其外形和运动方式和人类相似,可以在不对人类生活环境做出改变的情况下使用,也较为容易被使用者接受,因此被广泛地应用于各个领域。仿人机器人涉及到许多关键技术,包括人工智能、机器学习、人机交互等,软件系统较为复杂。目前的仿人机器人软件系统存在成本高昂、可移植性较差等问题,同时基于强化学习的控制技术要求软件系统具备一定的实时性和仿真能力,这对软件架构提出了一定的要求。而且用传统的方法开发实时性任务时,对操作系统的限制较多,编程也较为困难。另外,如何设计一个良好的人机交互方法(如手势及自然语言),增强用户体验,也是仿人机器人的一个研究热点。其中,手势识别时,手部区域提取是识别的前提和难点;理解自然语言时,理解对话中的指称是必要的工作。针对设计仿人机器人软件系统中的问题,本文提出使用Low-Latency Kernel的Ubuntu操作系统作为运行环境,和基于ROS的软件架构的方案。该方案在满足本系统的实时性要求前提下,能使用通用的Linux系统,并能快捷地进行实时任务的开发。同时,该架构可支持跨平台、跨编程语言的开发。针对ROS支持环境有限的问题,本文提出基于代理节点的跨平台通信方法,使非ROS环境的普通进程也能访问ROS的话题、服务。另外,针对人机交互中的手势识别和自然语言理解中的问题,本文提出了基于肤色模型和双目视觉的手部区域提取技术,然后使用简化的HOG特征提取算法和SVM分类算法完成手势的分类,在手势数量较多及训练集较小的情况下达到不错的识别效果;并使用语义图和视觉图表示自然语言和计算机视觉的信息,然后通过最优化方法完成非精确的图匹配,使机器人能解析人机对话中的指称,并达到良好的效果。最后,本文进行了若干实验以对软件架构进行验证,并展示了使用手势识别和指称解析进行较复杂的人机交互的场景,验证了这些方法的作用。