论文部分内容阅读
机器人演示编程是机器人技术的最新趋势,通过观察人类演示的任务将新技能传递给机器人。在多变环境下解决机器人示教编程问题是制约机器人进一步发展的关键。针对传统工业机器人编程部署时间长、编程效率低下,无法适应于新环境、灵活性差,以及对操作人员示教编程技能要求较高,机器人程序开发周期长等问题,本文设计了一种基于视觉手势交互的协作机器人示教系统。该系统使用Kinect2深度相机,通过识别工作空间下的指尖运动轨迹和静态手势信号与机器人进行交互。通过UR5机械臂末端记号笔完成轨迹示教的任务,验证了本系统的灵活性和效率。主要研究内容包括:(1)本文以UR5协作机器人为研究对象,对整个机器人示教系统的硬件组成和软件算法框架进行了概述。对Kinect2深度和彩色相机进行内参标定,通过TF坐标转换功能包发布机器人的手眼标定关系。(2)基于混合高斯背景差分和重心距离算法,完成运动指尖检测的任务。对混合高斯背景差分算法和帧差法提取手部前景图像进行仿真比较。对图像平滑滤波、阈值分割以及形态学算法的基本原理进行概述。研究了重心距离法进行指尖点检测的图像处理算法,以及使用凸包K曲率算法剔除非指尖点。(3)基于YCbCr肤色模型和卷积神经网络,完成静态手势识别的任务。在经过200轮神经网络训练之后,手势识别率达到99.43%。操作人员可以通过手势控制示教过程,进一步提升了人机交互的效率,增强示教系统的用户友好性。(4)基于ROS Moveit运动规划库和Qt Creator GUI开发工具设计了视觉手势交互界面。在ROS系统下,通过Kinect2深度相机捕捉指尖的运动轨迹,使用computeCartesianPath路径规划函数完成机器人示教再现的任务。对4类曲线轨迹进行了实验研究,验证了本文示教方法的可行性和有效性。通过对比传统示教方式(示教器示教和拖动示教)完成示教任务所消耗的时间,基于视觉手势交互进行轨迹示教所消耗的时间远小于传统的示教方式,平均需要7.275s。进一步验证了本系统的高效率和易用性。