论文部分内容阅读
六足机器人自诞生以来,以其独特的高承载能力、地形适应能力、高灵活性等特性在诸多领域得到了广泛的应用,已经从传统的机器人领域延伸到智能机器人领域,同时在星球勘测、海底探索等新的领域不断的拓展。目前为止,六足机器人被全球众多的机器人领域科研人员进行了广泛研究,使得六足机器人的结构设计、控制系统、运动学等得到进一步发展;另一方面许多机器人研究者致力于挖掘六足机器人的智能化性能,且大多研究都集中于机器人控制算法与机械结构的优化和创新,逐渐提高六足机器人的环境适应能力与智能性等性能。但是在一些特殊环境中,因局部适应性等原因,六足机器人无法发挥出最优性能,需要通过人工干预手段以有效解决。此外,现有人机交互一般依赖于键盘、鼠标、遥控器、触摸屏等简单的装置,具有一定的不足。因此需要不断更新六足机器人的人机交互方式,使非接触式人机交互技术逐渐兴起并广泛应用于机器人控制领域,以更多的挖掘六足机器人潜能。作为人机交互中不可或缺的重要部分,手势识别在教育培养、智能家居、虚拟技术、伤残协助、自动驾驶等方面得到了广大研究与应用,对人机交互的性能提升有广大影响,包括人机交互的自然性与灵活性。在目前的手势识别方法中,研究者一般会根据实验环境而将手势背景简单化,并在单一背景下运用研究的相关算法将目标手势进行分割和提取操作,最终提取得到的目标手势会通过常用的方法进行系统分析,从而得出手势所要表达的含义。由于特定环境和背景简单化的条件限制,以上的实验结果往往具有局限性。在实际生活中,手势所处环境通常较为复杂,例如:光线亮暗程度与角度变化、环境中手势存在过多、手势与所交互设备的距离不同等各种复杂要素,算法的创新与改进是实现复杂环境背景下手势识别的必要途径,手势识别效率的提高与应用将对未来更符合人类习惯的人机交互做出贡献。因此,本课题基于六足机器人利用手势识别进行了应用研究开发,主要利用简单与复杂背景下的手势数据,分别采用不同的方法进行了手势识别实验。通过对手势交互六足机器人进行描述,制定出六足机器人应对不同手势时有不同执行动作的方式,达到六足机器人手势识别与人机交互的目的,使六足机器人实现了手势识别并且能通过识别结果执行相应的动作任务,为六足机器人手势交互的设计与实现奠定了基础。基于六足机器人的手势交互系统由负责控制六足机器人的下位机与负责图像信息处理的上位机组成。其中,下位机是作为主控制器的STM32F103ZET6,下位机的功能是将机器人自身状态上发给上位机并通过接收上位机命令完成对六足机器人相应动作的控制。上位机由树莓派3B、摄像头CameraV2以及PC机组成,负责图像信息的处理以及与下位机之间的通信。目前目标检测领域中,YOLOv3是最具代表性的算法之一,检测准确率高且时效性好。基于上述原因,本文提出了一种新的六足机器人交互模式——基于六足机器人的手势交互模式。该六足机器人基于SublimeText3的开发环境、开源计算机视觉库Opencv3.0类库和深度学习YOLOv3算法,利用Python2.7语言进行上位机开发,在Keil4开发环境下运用stm32进行下位机开发,实现以更符合人类习惯的手势与六足机器人直接交互,使六足机器人完成五种不同动作(前进、后退、左移、右移、步态切换)。通过对不同手势数据集采用不同的方法,并对实验结果进行对比分析,验证了YOLOv3算法的优越性,最后在YOLOv3方法下,室内与室外的手势识别在测试集上的平均准确率分别可达95.08%与89.00%。相比基于人工提取特征的传统算法和其他基于机器学习的算法具有更高的检测准确率和更强的鲁棒性。实现了通过手势识别结果控制六足机器人的步态与动作,使六足机器人具备更好的人机交互模式、环境适应能力和良好的通过性等性能。