丁美昆,徐昱琳,蒋财军,冉鹏
(上海大学机电工程与自动化学院,上海 200072)
基于Kinect的机器人臂手系统的目标抓取
丁美昆,徐昱琳,蒋财军,冉鹏
(上海大学机电工程与自动化学院,上海 200072)
为了实现机器人臂手系统的目标抓取,采用Kinect对目标信息进行实时检测.首先,采用张正友棋盘标定法完成对Kinect内外参数的标定.其次,利用深度信息进行深度分割,滤除大部分干扰背景,再通过颜色与形状特征实现目标的识别与定位.将识别对象的3维坐标通过以太网发送至机械臂控制台,随后机械臂移动至目标位置.最后采用变积分PID算法控制灵巧手接触力,保证响应的快速性及精密性,实现灵巧手的精细抓取.通过设计一套完整的实验系统验证了该方法的有效性.
Kinect标定;深度分割;变积分PID;灵巧手
随着机器视觉与机器人技术的发展,服务机器人越来越智能化,如日本本田公司生产的仿人机器人ASIMO已能够完成接待客人、准备早餐等任务[1].智能服务机器人的核心技术包括目标抓取、定位、导航、人机交互、环境感知等.在家庭、办公、医护等环境中,智能服务机器人通常需要完成一些自主抓取任务,如传递物品、清理桌面等.这需要机器人能够快速准确地完成对环境中物体的定位与识别,以及实现对目标物体的精细抓取.然而,环境的复杂性与物体的多样性给机器人自主实现物体定位与识别带来了很大的挑战,使得非结构环境下的物体定位与识别成为机器人研究领域的热点之一[2].
文献[3]采用双目立体视觉实现目标识别与定位.该双目立体视觉系统主要包括摄像机标定、图像分割、立体匹配和3维测距4个模块,其中立体匹配是双目视觉定位的最关键的一步,实现目标区域的准确立体匹配较难,而立体匹配的不准确将直接导致所获取的深度信息产生偏差[4],同时其实时性是双目和多目定位视觉系统面临的最大挑战.文献[5]采用双目立体视觉实现目标的抓取,即在识别物体时,采用颜色分割法将RGB颜色空间转换至HSV颜色空间,并通过选取阈值来分割图像,分割后的图像受背景干扰较大且噪点较多.文献[6]利用Kinect实现目标识别与定位,其定位前采用张正友棋盘标定法标定摄像头内外参数.在识别物体时采用基于深度信息的背景相减法,该方法只适用于物体变动检测.文献[7]利用Kinect采集的RGB与深度信息,生成点云,并利用点云分割来实现目标物体识别.该方法的实时性较差,且对算法优化要求较高[8].
本系统利用Kinect能够提供深度信息以及RGB信息的特性,简化识别过程,实现对目标物体的3维定位,并且具有较好的实时性.在定位前,系统采用操作简便的张正友棋盘标定法完成Kinect内外参数的标定.识别时,先利用Kinect采集的深度信息进行深度分割,滤除大部分背景干扰,降低后期运算识别的复杂性,然后对深度分割后的图像进行颜色分割,最后利用形状特征滤除干扰物,实现对目标物体的识别.
本系统的机器人臂手系统是由视觉传感器Kinect、UR5机械臂、灵巧手及主控制计算机组成(见图1).
图1 系统构成图Fig.1 Structure of system
1.1 Kinect
Kinect最初是为室外体感游戏服务,但其实质上是一个3D视觉传感器.它是由一个红外线(infrared radiation,IR)投射器、一个红外摄像头和一个RGB摄像头组成.IR投射器和IR摄像头负责生成深度图像,而RGB摄像头负责采集RGB彩色图像,其分辨率可以达到640×480[9-10].在本系统中,Kinect主要负责采集深度信息和RGB图像信息.
1.2 模块化机械臂
系统中的模块化机械臂是由丹麦Universal Robot公司生产的UR5机械臂,共有6个自由度,机械臂末端的最大负荷为5 kg.
1.3 SHU-Ⅱ灵巧手
SHU-Ⅱ灵巧手安装于机械臂的末端,能实现物体的抓取功能.灵巧手是由上海大学自行研发的SHU-Ⅱ灵巧手(见图1).该灵巧手共有5个手指,每个手指的运动通过电机拉动与手指连接的牵引线来实现,由于其手指关节嵌入弹簧片,故控制手指的抓取只需精确控制电机的方向和转速;另外,拇指除了弯曲自由度外还有一个向左向右的自由度.通过与电机相连接的磁编码器精确测量手指的位置,这是因为在每个手指的3个关节处安装了灵敏度很高的压力传感器.因此,该灵巧手在抓取时能根据目标物体的形状、大小和硬度实现自适应控制.
1.4 主控制计算机
主控制计算机为一台普通PC机,其主要功能是处理Kinect采集的深度与RGB图像数据,计算出目标物体的3维坐标信息.通过TCP/IP网络与机械臂控制台进行通信,实现机械臂控制;并通过串口通信发送指令控制灵巧手,实施抓取动作.
开发平台Visual Studio 2010,配置OpenNI采集Kinect获取的深度信息和RGB信息,并配置OpenCV处理获取的深度信息和RGB信息,实现对目标物体的识别与定位.
2.1 Kinect标定
为了实现对目标物体的精确定位,首先需要对Kinect进行标定.目前,Kinect标定主要包括摄像头标定,以及深度图像与RGB图像重合.采用OpenNI自带的函数已经可以很好地解决深度与RGB图像的校正,故Kinect标定问题为摄像头标定问题.
目前摄像头标定方法很多,本系统采用了张正友棋盘标定法[11-12],该方法标定过程简单,操作方便[6].在标定时,摄像头模型采用针孔模型,其定义如下:
即
式中,(XW,YW,ZW)为世界坐标系下某点坐标;(u,v)为(XW,YW,ZW)点投影在图像平面的坐标;A为摄像头内参数矩阵;[R t]为外参数矩阵,R为旋转矩阵,t为平移矩阵;M为世界坐标系下某点齐次坐标;fx,fy分别为摄像头在x,y轴上的焦距;Cx,Cy分别为摄像头焦点与成像平面中心点偏移值.
内参数矩阵是描述摄像机坐标系与图像坐标系之间的关系,利用内参数可以计算出图像坐标系的某点对应于摄像机坐标系的点,其计算如下:
式中,(XC,YC)为RGB图像中某点在摄像机坐标系的坐标,ZC为对应于该点深度图像中的深度值.
利用式(3)和(4)可以实现求取图像平面任意一点摄像机坐标系下3维坐标.为了实现机械手对物体的抓取,往往需要将摄像机坐标系下的3维坐标转换到机械臂基坐标系,因此需要计算出摄像机坐标系与机械臂基坐标系(式(2)中的世界坐标系)的关系,即外参数矩阵
摄像机坐标系的点转换到机械臂基坐标系时表示为
在标定时,将棋盘放置在机械臂末端上,利用式(5)中机械末端坐标系与机械臂基坐标系之间的转换关系计算并记录下在不同视角下各个角点对应机械臂基坐标系下的坐标,并利用OpenCV中的cvCalibrateCamera2函数计算出内外参数.
在实际标定过程中,为了得到高质量的结果,至少需要选取10幅7×8或者更大棋盘的图像[13].图2为标定过程中的选取的不同视角的部分棋盘图像.
图2 标定过程不同视角棋盘图Fig.2 Different perspective chessboards of calibration
2.2 目标识别
本系统选用大小、形状不同的果蔬作为抓取目标,这些果蔬主要有苹果、梨、青椒、西红柿、香蕉、橙子等.这些果蔬的颜色特征和形状特征较为明显,故在识别过程中先通过颜色分割再利用果蔬的形状特征,最终实现果蔬的识别.在颜色分割前,考虑到存在背景干扰,故利用深度信息滤除背景.
2.2.1 深度分割
深度分割是指利用深度信息,将不在深度范围内的彩色图像信息滤除(见式(7)),从而减小识别区域,降低后期识别运算的复杂性[14-15].
式中,PRGB为图像中某点的RGB值,dmax为最大的深度值,dmin为最小的深度值.
本系统为了实现深度分割,将机械臂操作台固定在距离Kinect 0.9~1.5 m位置(操作台宽约0.6 m),将操作台深度信息以外的背景彩色图像信息滤除(全部变为黑色).
在深度分割后,将操作台面内彩色信息提取出来,从而大大降低外部环境对果蔬识别的影响,提高后期识别计算速度,其效果如图3(b)所示.
图3 果蔬识别过程Fig.3 Process of fruit recognition
2.2.2 颜色与形状识别
彩色图像的分割往往需要选取合适的颜色空间进行分割,而RGB颜色模型是主要面向硬件的模型,应用于彩色视频摄像机和彩色监视器[16].RGB颜色空间受光源的种类、光照的强度等因素影响,且3个分量互相关联变化,很难确定识别RGB的阈值范围.而HSV(色调、饱和度、亮度)模型更符合描述和解释颜色的方式,其中色调H(hue)反映了该颜色最接近何种可见光谱波长,即某一种颜色;饱和度S(saturation)表示一种颜色相对于其纯色的比例,即纯洁性,可用来区别颜色明暗的程度;V(value)表示色彩的明亮程度.RGB转换到HSV的转换形式为
故本系统采用HSV颜色空间的颜色分割,由于某些果蔬颜色比较相近(如梨和香蕉),往往仅通过颜色分割不能很好地识别,因此在完成颜色分割后,需要结合果蔬的形状特征实现果蔬的识别.采用果蔬的圆形度R,可以精确地区分颜色相近的不同种类的果蔬,其计算公式为
式中,S为果蔬的轮廓面积,L为果蔬轮廓周长.
具体识别步骤如下.
步骤1 进行深度信息分割后的RGB图像往往存在噪点,故采用平滑滤波滤除噪点.
步骤2 将滤波后的彩色图像从RGB颜色空间转换到HSV颜色空间,V通道受光线影响较大,故在H、S通道选取合适的阈值进行二值化,其具体阈值如表1所示.将二值化后的图像进行形态学处理,排除孤立噪声并对目标的缺损进行适当修补.
步骤3 在颜色分割后,利用果蔬的形状特征圆形度R(具体范围见表1)最终确定待识别果蔬的轮廓,其具体过程如图3所示.求出轮廓中心点,利用标定时计算出的内外参数矩阵,通过式(3)、(4)和(6)求出目标物体的3D坐标.
表1 果蔬颜色与形状特征Table 1 Color and shape features of fruits
图3为果蔬识别过程图,其主要包括未经处理的原图、深度分割后的图像、HSV颜色空间二值化图及经过形状特征识别后的轮廓图.
通过测量灵巧手的尺寸,将定位的目标3维坐标减去灵巧手位移量求得机械臂末端3维坐标,然后将该3维坐标发送至机械臂控制台,控制台通过逆运动学求解最优解,最终机械臂移动至目标位置.
考虑到果蔬的大小、形状以及硬度的不同,为了实现果蔬的精细抓取,需要实现抓取手指指节接触力的控制.
本系统的压力传感器安装在手指指节处,采用了Interlink Electronics公司生产的408传感器,它广泛应用于自动控制设备的仿真人触摸控制、医学系统以及工业机器人.压力传感器的F-U(电压归一化后范围值为0~255 mV)特性曲线如图4所示.由图4可见,压力值越大压力传感器的阻值越小,因而经过放大电路后的电压值越小.
图4 压力传感器的F-U特性曲线Fig.4 F-U characteristics curves of pressure sensor
经过多组接触力测试,并对数值求取平均值,不同果蔬在与手指各指节接触时的压力值如图5所示.
图5 各指节压力值Fig.5 Knuckles pressure value
根据分析抓取各个手指指节压力值发现:
(1)大拇指、食指、中指以及无名指为主要受力手指,小拇指仅与目标物体有接触但压力值很小或无接触;
(2)主要受力指节位于指尖,通常指根与目标物体的接触压力值很小或无接触.
因此,在实际抓取过程中只需实现对大拇指、食指、中指和无名指指尖指节的接触力控制.
在手指指节接触力控制实验中发现,手指在空载运动时线驱动的结构使得手指运动角度越大,电机承受的负载越大.而在传统的PID控制中,当PID参数整定后各个参数都是确定值,很难减少压力的静差,因此积分参数很难整定.在手指空载情况下当手指角度较小时需要小的积分参数,而在手指角度较大时需要大的积分参数,故本系统采用对手指指节接触力进行变积分PID控制.
变积分PID是在不同角度范围内改变积分系数,使抓取的压力值快速响应,PID积分项表达式为
式中,kI为传统的PID积分参数,kA为与角度相关的变积分系数,e(k)为设定值和输出值的偏差值,则变积分PID算法为
式中,kp为PID的比例参数,kD为PID的微分参数.
通过不断调试,选取合适的PID参数以及变积分系数kA,实现对接触力的精确控制.
为验证上述研究内容的可行性以及系统的稳定性,本系统采用如图1所示的系统,并进行多次果蔬分拣实验.
4.1 实验流程
实验前,通过张正友棋盘标定法计算摄像头的内外参数得
完成标定后,对标定的精确性以及目标识别的准确性与实时性进行验证.表2列出了各阶段的处理用时,其数据表明本系统采用的物体识别方法具有较好的实时性;同时对比分析表明,在颜色分割前利用深度分割滤除了大部分背景干扰,可有效减小目标识别区域,减少颜色分割用时.
表3为各目标的定位坐标值、实际测量坐标值以及实际误差.上述数据表明,果蔬识别的3维坐标平均误差为(6.8,13.3,5.2),优于文献[5]双目定位在X轴20.25的平均误差.该误差主要出现在Y轴方向,根据Kinect外参数可知,Y轴方向在坐标转换前主要对应于Kinect深度信息ZC,而Kinect采集物体表面的深度信息不够准确[14],在距离1 m时深度误差在10mm左右,导致了Y轴方向产生误差.X、Z轴转换前分别主要对应于XC、YC轴,XC、YC坐标值相对于ZC值较小,即因而XC、YC轴的误差值较小,也即物体坐标X、Z轴误差小于Y轴.本系统采取在每次定位后加上一个Y轴方向的偏移量(如10 mm)来减小误差量.果蔬平均尺寸为高6.5 cm,长6 cm,宽7 cm,只要实验误差在允许的误差范围内,机械臂就能够保证臂手系统很好地完成目标抓取任务.
表2 各阶段处理用时Table 2 Computation time of individual process stagesms
表3 定位实验数据Table 3 Location experimental datamm
臂手系统的工作流程图如图6所示,主要包括①利用深度分割、颜色与形状特征分割实现目标的识别与定位;②通过TCP/IP通信发送3维坐标,实现对机械臂的控制;③利用变积分PID控制实现灵巧手的精细抓取.
4.2 实验结果
图7为本系统进行实验验证的相关过程.以图7(a)为例,从上至下分别为机械臂初始状态、机械臂移动至目标果蔬位置、灵巧手抓取、机械臂抓持果蔬至释放位置、灵巧手释放果蔬等.至此机械臂完成了一次果蔬抓放过程,然后机械臂再移动至下一果蔬目标位置,继续实施果蔬分拣.
实验表明,当在操作平台存在待识别果蔬时,基于Kinect的臂手系统可以快速获取目标位置信息,平稳完成目标抓取.
通过构建一套实验系统对本系统的研究内容进行验证,结果表明基于Kinect的机器人臂手系统可以较理想地完成自主抓取任务.首先在定位前利用张正友棋盘法对Kinect标定,该方法操作简单,能够达到目标抓取所要求的定位精度;然后在彩色图像处理中进行深度分割,有效滤除大部分背景干扰,简化了目标识别过程.本系统基于变积分PID控制的接触力目标抓取,主要针对果蔬平置状态下的抓取.下一步的工作重点是将目标物体由果蔬扩大至其他类别物体,针对不同姿态下目标抓取接触力建模,实现对不同姿态下目标物体的抓取.
图6 系统流程Fig.6 System process
图7 果蔬分拣过程Fig.7 Process of fruit sorting
[1]SAKAGAMI Y,WATANABE R,AOYAMA C,et al.The intelligent ASIMO:system overview and integration[C]//Proceeding of the 2002 IEEE/RSJ International Conference on Intelligent Robots and Systems.2002:2478-2483.
[2]ST¨UCKLER J,STEFFENS R,HOLZ D,et al.Efficient 3D object perception and grasp planning for mobile manipulation in domestic environments[J].Robotics&Autonomous Systems,2012, 61(10):1106-1115.
[3]尚倩,阮秋琦,李小利.双目立体视觉的目标识别与定位[J].智能系统学报,2011,6(4):303-311.
[4]项荣.开放环境中番茄的双目立体视觉识别与定位[D].杭州:浙江大学,2013:216.
[5]徐昱琳,杨永焕,李昕,等.基于双目视觉的服务机器人仿人机械臂控制[J].上海大学学报(自然科学版),2012,18(5):506-512.
[6]韩峥,刘华平,黄文炳,等.基于Kinect的机械臂目标抓取[J].智能系统学报,2013,8(2):149-155.
[7]HUANG Z Y,HUANG J T,HSU C M.A case study of object identification using a Kinect sensor[C]//2013 IEEE International Conference on Systems,Man,and Cybernetics(SMC). 2013:1743-1747.
[8]孙小凯.基于RGB-D信息的物体定位与识别[D].杭州:浙江大学,2014:87.
[9]PARKER M,DANIEL H C,ECHTLER F,et al.Hacking the Kinect[M].New York:Apress,2012:10-25.
[10]李格格,沈建强.基于Kinect的目标跟踪与避障[J].江南大学学报(自然科学版),2014,13(4):427-432.
[11]ZHANG Z Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[12]ZHANG Z Y.Flexible camera calibration by viewing a plane from unknown orientations[C]// The Proceedings of the Seventh IEEE International Conference on Computer Vision.1999:666-673.
[13]于仕琪,刘瑞祯.学习OpenCV[M].北京:清华大学出版社,2009:406-429.
[14]JIANG L,KOCH A,SCHERER S A,et al.Multi-class fruit classification using RGB-D data for indoor robots[C]//2013 IEEE International Conference on Robotics and Biomimetics(ROBIO). 2013:587-592.
[15]LAI K,BO L,REN X,et al.A large-scale hierarchical multi-view RGB-D object dataset[C]// 2011 IEEE International Conference on Robotics and Automation(ICRA).2011:1817-1824.
[16]阮秋琦.数字图像处理学[M].3版.北京:电子工业出版社,2007:254-257.
本文彩色版可登陆本刊网站查询:http://www.journal.shu.edu.cn
Kinect-based object grasping by robot arm hand system
DING Meikun,XU Yulin,JIANG Caijun,RAN Peng
(School of Mechatronics Engineering and Automation,Shanghai University,Shanghai 200072,China)
To realize automatic object grasping by a robot arm hand system,Kinect is used for real-time detection of the object.The Zhang Zhenyou chessboard method is applied to calibrate the intrinsic and external parameters of the Kinect.Depth segmentation is done to filter out most of the background interference,and identification and location of object are achieved based on the color and shape features.The object's 3D coordinates is sent to the manipulator console to locate the target position through TCP/IP communication. A changing integration PID algorithm is applied to achieve fast and accurate grasp by controlling pressure on the dexterous hand.An experiment system is developed to verify effectiveness of the proposed methods.
Kinect calibration;depth segmentation;changing integration PID;dexterous hand
TP 242
A
1007-2861(2016)04-0421-11
10.3969/j.issn.1007-2861.2016.04.008
2015-03-25
上海市产学研合作项目(CXY-2013-28)
徐昱琳(1964—),女,副教授,博士,研究方向为机器人、智能控制.E-mail:xuyulin@shu.edu.cn