王 全,解迎刚,杨海林
(北京信息科技大学 信息与通信工程学院,北京 100101)
1959年,世界上第一台工业机器人问世,这是人类历史上一个重大的节点。自此以后,机器人在人类世界中变得越来越有活力。在40年的迅速成长之后,工业机器人开始被大范围使用,如机器加工、电子加工、汽车生产制造、家具制造等,工业机器人成为前端制造业中无法替代的装备,与此同时,它也逐渐成为各个国家之间对比生产制造能力和工业发展水平的重要衡量物。随着协作技术的诞生,人与机器合作完成任务也逐渐成为主流。有相关专家预测,在未来的10年之中,协作机器人的市场将会迎接一场爆炸式的大发展。同时,视觉作为人类观察和感知获取外界信息的重要方式之一,也奠定了视觉系统在机器人中的重要地位,这就意味着机器视觉成为了人工智能发展过程中不可或缺的一部分。机器视觉的作用在于观察和识别周围环境并采取对应的方式,即通过算法对采集的信息进行处理,并根据最终的结果做出决定。这项集视觉、图像、机械技术于一体的研究成果,让生产制造中的各种难题得以解决,并促进工业生产自动化水平得到大幅提高。机器人能够在人不能进入或者无法观察的情况下代替人进行工作,完成相应的任务。在制造和生产过程中,机器视觉相对于人眼可以大大提高效率和精度,满足产品质量的高要求,提高机械的自动化程度。
对目标物体进行快速、准确的识别,视觉系统不可或缺。通过固定在机械手臂之外的摄像机进行图片采集,使采集到的图片更清晰准确,并通过图像处理技术对采集到的图像进行预处理,确定目标位置,再通过坐标系转化得到目标在机械臂下的相对坐标,然后等待ROS (Robot Operating System,ROS)调用,完成抓取。
智能机器视觉实现流程如图1所示。
图1 机器视觉系统流程
检测find_object_2d包是对物体进行识别和检测的ROS包,它能够对具体物体有关特点进行识别、检测,并描述物体的特征属性,如SURF、SIFT、FAST和BRIEF等。利用此功能包提供的图形检测界面,能够对被检测的物体进行标识定位,标识完成后调用已保存的相关数据对指定目标进行特征检测。该功能包中的检测节点还能够通过某个主题来公布摄像头检测到的物体信息。同时还能通过3D传感器估计物体的深度以及朝向。与USB单目摄像头不同的是,find_object还提供了1个find_object_3d节点,针对Kinect深度摄像头和ZED等双目识别装置,可以用已确定目标中心部分的深度信息来提供具体的三维坐标。
依照上文的设计流程,本小节对机械臂实际抓取情况进行测试与分析,从而验证机械臂视觉抓取系统的整体运行效果。本系统实验使用普通USB相机作为图像采集设备,机械臂自主完成抓取动作,目标物体为一红色可口可乐罐。
首先我们需要在终端输入命令roslaunch probot_gazebo probot_anno_with_gripper_bringup_moveit.launch,启动仿真环境,进行机械臂的控制,如图2所示。
图2 Gazebo中的抓取模型
启动模型之后,进行目标物体的特征识别以及坐标获取,获得具体坐标后,在新终端输入命令roslaunch probot_grasping probot_anno_grasping_demo.launch ,启动机械臂抓取demo,此时机械臂为初始位姿。机械臂对目标物进行识别后,根据已获取的具体坐标,对其末端执行器的姿态进行调整,然后逐渐趋近目标,实施抓取。图3所示为机械臂抓取过程中不同时刻的位姿,其中,图3(a)为机械臂的初始位姿,图3(b)为机械臂末端执行器移动到物体上方时准备抓取时的位姿,图3(c)为机械臂正在抓取目标物时的位姿,图3(d)为机械臂将目标物移动到具体位置后的位姿。为保证机械臂视觉定位与抓取系统的准确性,实验中选择机械臂静止抓取的方案,即在机械臂本体可达到的抓取范围内选取目标物体进行抓取。
图3 机械臂抓取测试
随着我国工业技术水平的发展,以及在协作机器人领域的不断探索与研究,越来越多的机器人被应用到工业生产中。更加智能的协作机器人智能视觉系统更是当今发展的潮流趋势,这就意味着机器人视觉在工业生产中的使用将越来越广泛。本文将智能视觉和机械臂运动控制合二为一,对协作机器人智能视觉系统进行设计和实现,并且在Ubuntu16.04的Gazebo仿真环境中进行了验证。实验结果表明,在机器视觉的帮助下,协作机器人可以很好地完成普通的目标抓取工作,为进一步推动机器视觉和协作机器人的发展做出了贡献。