机器人基于QR code的物体定位和抓取

2018-08-02 07:23章建森庄礼鸿
现代计算机 2018年15期
关键词:单目摄像头物体

章建森,庄礼鸿

(华侨大学工业智能化技术与系统福建省高校工程研究中心,泉州 362021)

0 引言

物体抓取是家用服务机器人的基本功能之一[1],它与机器人的视觉识别、定位和运动规划相关。为了抓住指定的物体,机器人必须能够依靠传感器检测到物体并且能够准确地对其进行定位,同时需要精确地控制机械臂,因此这是一项既具有挑战性而又现实意义的工作,它能够为老年人、残疾人等行动不便人士带来极大的帮助[2]。

图像识别技术是机器人具有物体识别能力的技术依靠,目前许多算法都是通过特征提取构建对象模型并将该模型与获取到的图像进行匹配,其中尺度不变特征变换(SIFT)[3]、加速鲁棒特征(SURF)[4]、Harris角点检测器和加速段测试特征(FAST)[5]是近年来流行的算法。通过特征提取识别物体的方法的不足在于需要事先构建该对象模型,对于未知的对象就无法识别,显然这对于室内家居复杂多样的物体识别显然存在不足。

视觉定位即根据摄像头获得的包含有目标对象的图像计算出目标对象相对于摄像头的位置。按照摄像头数目的不同可以分为单目视觉定位和双目视觉定位。单目视觉的目标物定位与双目定位相比具有简单易用和适用广泛的特点,常用的单目视觉定位方法有基于单帧图像的定位方法和基于双帧或多帧图像的定位[6]。基于单帧图像的定位往往需要依靠一个特定的人工图标来解决一帧图像信息量匮乏的缺点,因此一个具有显著特征的人工图标可以对目标物进行快速定位。基于双帧或多帧图像的定位[7]则利用了摄像头在运动中对同一目标物的多帧图像进行像素位置偏差计算实现定位。

双目视觉定位的优势在于两个摄像头的相对位置固定已知,只需要通过对两个摄像头同时获得的图像进行目标物的特征匹配,利用几何的方法计算即可得到目标物的位置。

蒋哲翎[8]提出了一种基于快速识别和机器人自我距离感知的定位算法,该算法是一种基于双帧图像的单目视觉定位方法,通过对比机器人前进一定距离前后摄像头获取的图像中目标物的平方像素而得到物体的位置,该算法的优点在于不用对摄像头进行标定,且当目标物与摄像头的距离越近时定位精度越高,缺点就是机器人实际前进的距离跟机器人的使用损耗、与地面的摩擦力存在关系,导致得到的距离与实际距离偏差较大。郑雪林[9]提出了一种基于BP神经网络[10]的目标定位方法,该算法选取圆球作为目标物,提取圆球的质心在图像中的坐标位置,同时建立机器人的空间坐标系,给出圆球的空间坐标,通过BP神经网络训练2D坐标位置(输入)与3D空间位置(输出)的关系,最后利用训练好的模型可以根据2D位置坐标而直接得到目标物相对于机器人的空间位置。该算法的优点在于不用建立精确的坐标转换关系的数学模型,存在的不足在于训练样本的空间位置并不是准确的,实际操作起来测量十分困难。

本文基于NAO机器人提出了以QR code[11](二维码)作为特定标志物的单目视觉定位方法,该方法既能够对目标物进行快速识别,同时操作简单(只需要将二维码粘贴于目标物),不依赖机器人的运动同时只需要获得一帧图像便能够准确地获得目标物的位置。本文根据NAO机器人的DH参数[12]对手臂进行运动学建模,根据逆运动学求解实现对物体的抓取。

1 基于QR code的物体定位

随着QR code技术的发展,越来越多的商品上都开始标有QR code,通过识别二维码,便可以快速知道该商品的相关信息。因此利用其作为物体识别和定位的特定标志物具有现实意义。由于QR code中可以存储汉字信息,这为机器人识别不同的物体提供了直接的依据,省去了依靠特征提取构建对象模型的繁杂过程,这样机器人便可以快速知道周围环境中物体的信息,这为服务机器人走入家庭创造了基础。同时每一个QR code都含有相同的特征部分,即三个具有定位标识作用的黑色正方形边框,该特征可以作为物体定位的标志。该部分主要利用QR code的相同特征对物体的定位给出具体算法,QR code的解码过程将不在本文给出。

如图1所示,假设摄像头与地面的距离为H,右侧两个小红点分别表示右上QR code的红色矩形框的质心点,底部质心点距离地面的距离为h,摄像头与该质心点的连线与垂直方向的夹角为α,与顶部质心点的夹角为β,可得:

联立(1)(2)得:

解得目标物的高度为:

距离为:

假设摄像头获取的图像分辨率为height*width,QR code的质心在图像中的位置坐标为(xp,yp),且与摄像头正前方的夹角为λ,已知NAO机器人顶部摄像头的水平范围为ε,那么:

由此可得QR code相对于机器人坐标系的空间坐标为:(XR,YR,ZR)。

其中:

图2 已标定相对距离的QR code实验测试图

实验中,摄像头获取如上图所示图片,实验中所用摄像头分辨率为2448×3264,视角范围46.88°,QR code的边长为5cm,规定摄像头的正前方为x轴,使用本文提出的定位算法进行计算其位置,结果如下:

表1 QR code空间定位结果

表2 QR code间测量值与标准值比较

同样,本文使用基于双帧图像的单目定位算法进行实验,将实验数据与本文提出的算法进行比较。该算法通过控制NAO机器人在不同位置对同一物体获取的图像进行对比从而计算出QR code的空间位置坐标。实验中,先将NAO机器人放置于一位置获取图像,完成后调用NAO机器人的moveto(0.1,0,0)函数使其向正前方移动10cm,并且再次获得图像,最终获得的实验数据如下:

表3 双帧图像算法空间定位结果

表4 双帧图像算法QR code间测量值与标准值比较

从上表实验结果可以看出该基于QR code的单目视觉定位算法的准确度较高,误差都在3mm以内,而基于双帧图像的定位算法的误差最多高达13mm,大大降低了后续抓取的成功率。虽然这两种算法都不需要对摄像头提取进行标定,复杂度低,但是从定位的准确度比较,本文提出的算法更加能够满足机器人抓取的定位要求。

2 NAO手臂运动学建模

Jacques Denavit和Richard Hartenberg在1955年给出了广为人知的DH方法,该方法通过4×4变换矩阵[13]建立一条连杆与另一条连杆之间的关系。DH规则可以帮助我们建立这些连杆之间的关系,以了解它们的相对运动。本文使用DH规则来定义末端执行器相对于基部的位置。Denavit和Hartenberg定义了四个参数,可以充分描述4×4变换矩阵的内容。这四个参数是连杆长度(a),连杆转角(α),连杆偏距(d)和关节角度(θ)。表5给出所有四个参数的描述。

NAO的左右手臂都拥有五个自由度[14],除了关节的旋转角度,左右两侧的规格都相同。为了简化,本文只对NAO右手配置了DH参数表。

表5 NAO右手臂DH参数表

连杆i-1到i之间的转换矩阵定义如下:

根据以上6个转换矩阵可以得到末端效应器相对于第一个连杆的关系:

3 NAO机器人物体抓取

NAO机器人是法国阿尔德巴兰公司研发的一款具有25个自由度、可双足行走的人形机器人,目前世界范围内有超过5000所高校和研究机构将其作为研究实验平台,本文以NAO机器人为平台,进行实验验证本文提出的基于QR code的目标物识别、定位和抓取。NAO机器人头部的摄像头可视范围如图4-图5所示。

实验中,将准备好的QR code粘贴在牛奶盒表面,并且将其放在NAO机器人可以拿到的高度范围内。使用NAO机器人顶部的摄像头,设定图像分辨率为1280×960,其捕捉到的图片如图4所示,红色框为识别出的QR code区域,蓝色字体为空间位置坐标,该坐标为[13.205782683983196,3.961738230 8071445,37.697814253400345],实际用卷尺测量的测量值为[13.35,4.05,37.50],单位厘米,可以看出空间定位的准确度很高。根据空间位置坐标,通过逆运动学求解手臂各个关节的角度即可完成对目标物体的抓取,如图5所示。

为了使实验结果更具有可靠性,将牛奶盒放置不同角度和位置进行50次抓取实验,实验结果如下表所示:

表6 抓取实验结果统计

结果分析:从上表结果可以看出,本文提出的算法抓取成功率较高,当机器人所定位的目标物的位置与实际位置的误差在一定的范围内时,机器人都可以成功地将其抓取到,尽管本文提出的定位算法准确度较高,但是当放置的牛奶盒与摄像头偏差的角度过大时,摄像头获取到的二维码图像的几何形状出现了较大的变形,导致识别出图像中的二维码和计算出的空间坐标与实际值相差较大甚至无法识别,最终导致NAO机器人物体抓取的失败。因此,在接下来的工作中,将运用图像处理的方法对其识别到的二维码区域进行几何校正,提高在物体在不同放置角度下抓取的成功率。

4 结语

图4 QR code的识别与定位

图5 NAO机器人的物体抓取实验

本文针对机器人的物体抓取进行研究与实验,提出了一种基于QR code的物体定位方法,该方法能够快速的对目标物进行识别定位和抓取,通过与基于距离感知和双帧图像定位算法的实验比较,该方法的定位准确度和抓取成功率都较高,但是同时也存在缺陷,即当QR code与摄像头的夹角超过一定范围时定位和抓取的成功率大大降低,因此对于因为夹角过大而导致的定位误差大和抓取失败的结果,将在后续的工作中对图像的矫正进行研究和解决。

[1]Yi-Lun Huang,Sheng-Pi Huang,et al.A 3D Vision based Object Grasping Posture Learning System for Home Service Robots[C].International Conference on Systems,Man,and Cybernetics,2017:2690-2695

[2]杨扬.基于机器视觉的服务机器人智能抓取研究[D].上海交通大学,2014.

[3]D.G.Lowe.Distinctive Image Features from Scale-Invariant Keypoints.International Journal of Computer Vision,,2004,60(2):91-110.

[4]H.Bay,T.Tuytelaars,L.V.Gool.SURF:Speeded-up robust features.In Proceedings of the European Conference on Computer Vision,2006:404-417.

[5]E.Rosten,T.Drummond.Faster and Better:A Machine Learning Approach to Corner Detection.IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(1):105-119.

[6]李荣明,芦利斌,金国栋.单目视觉定位方法研究综述[J].现代计算机,2011(11):9-12.

[7]张治国.基于单目视觉的定位系统研究[D].武汉:华中科技大学,2009.

[8]蒋哲翎.基于NAO机器人的物体识别与定位技术研究[D].南京大学,2016.

[9]郑雪林.基于视觉伺服的仿人机器人智能抓取技术研究[D].东北大学,2013.

[10]毛永毅,周康磊.基于BP神经网络的定位跟踪算法[J].计算机工程与应用,2011,47(20):238-240.

[11]Gu Y,Zhang W.QR Code Recognition Based on Image Processing[C].International Conference on Information Science and Technology.IEEE,2011:733-736.

[12]张旭,郑泽龙,齐勇.6自由度串联机器人D-H模型参数辨识及标定[J].机器人,2016,38(3):360-370.

[13]John J.Craig,Introduction to Robotics:Mechanics and Control,Pearson Prentice Hall,Upper Saddle River,2005,3.

[14]Aldebaran Robotics,NAO Datasheet H25-Corporate-Aldebaran Robotics|Discover NAO,2012.

猜你喜欢
单目摄像头物体
浙江首试公路非现场执法新型摄像头
基于单目视觉的分离图像分析方法
基于单目视觉车距测量方法综述
摄像头连接器可提供360°视角图像
一种单目视觉里程计/UWB 组合室内定位方法
深刻理解物体的平衡
单目SLAM直线匹配增强平面发现方法
揭开物体沉浮的秘密
为什么同一物体在世界各地重量不一样?
奔驰360°摄像头系统介绍