基于QR Code技术的家庭服务机器人视觉伺服抓取操作研究
2010-08-24李国栋田国会薛英花
李国栋 田国会 薛英花
(山东大学控制科学与工程学院,济南 250061)
家庭服务机器人是机器人技术研究的重要方向之一,家庭环境中物体的抓取是对其的基本任务要求,给服务机器人的机械臂赋予视觉能力以构成视觉伺服系统是机器人准确而快速地完成物品抓取任务的有效途径.不同于机器视觉,视觉伺服是以实现对机器人的控制为目的而进行的图像自动获取与分析[1],实现机器人的视觉伺服系统涉及到图像处理、运动学、动力学、控制理论、实时计算等多方面内容,因此实现机器人视觉伺服控制的难度很大,是机器人学中的一个十分具有挑战性的课题[2],目前已有很多成功的应用例子:如传送带工件装配系统、导弹跟踪摄像系统、自治战车系统、水果采摘系统、自动驾驶系统、焊接系统、邮件分拣系统、水下机器人系统[3]等.
机器人视觉伺服系统,按照状态反馈信号的不同,可分为3类:基于位置[4]的(PBVS)、基于图像[5]的(IBVS)和2-1/2D[6]混合伺服控制方式.3种方式各有优缺点,其中PBVS系统的基本原理是通过对图像特征的提取,并结合已知的目标几何模型及摄像机模型,在三维笛卡尔坐标系中对目标位姿进行估计,然后由机械手当前位姿与目标位姿之差,进行轨迹规划并计算出控制量,驱动机械手向目标运动,最终实现定位、抓取功能.由于其直观性和控制律设计的简单有效性,为大多数视觉伺服系统所采用[7].
QR Code是由日本的Denso公司于1994年9月研制的一种矩阵二维条码符号,它除了具有二维条码所具有的信息容量大、可靠性高、保密防伪性强等优点外,还具有超高速识读、全方位识读、能有效表示汉字等特点.因此,可以很方便地记录并读取物品的属性信息和操作信息,从而能有效地辅助视觉伺服系统完成物品定位、识别、抓取等操作[8-10].基于以上思路,本文首先设计了便于视觉伺服系统定位和识别的QR Code人工物标,然后对由Grandar移动机器人和其上搭载的PowerCube四自由度机械臂组成的整个视觉伺服系统进行了运动学建模并标定出了摄像头的内外参数,最后设计了PBVS控制律,实现了家庭环境下多物品的识别和视觉伺服抓取运送等操作.
1 QR Code标签设计
QR Code标签主要由内部信息表示部分和外围标识部分组成.内部信息表示部分主要存储物品属性信息和物品操作所需的操作信息等资料,外围标识则主要是为了能够从较远距离快速定位并识别人工物标.如图1所示.
图1 QR Code二维码人工物标
1.1 物标内部信息
根据机器人操作物品的需要,QR Code内记录的信息可分为物品的属性信息和操作信息两类.
1)物品属性信息 包括物品的名称、形状、尺寸、颜色和材料等.物品的名称是区分物品的唯一标志,由于家庭环境中物品繁多,背景复杂,很难通过提取其图像特征的方法来辨别物品,而通过读取QR Code码来辨别不同物品却是对家庭环境下的所有物品都是普遍适用的;物体的形状、尺寸、颜色等先验信息可以在机器人在识别出待操作物品后提供给机器人,以便机器人做进一步的视觉伺服工作,提高物品的定位与操作精度;物品的材料对机器人抓取物体时采用的抓取力有很大影响,某些材料的物品如果抓取力太大,有可能导致物体变形或损坏.
2)物品操作信息 包括物品操作位置及姿态、操作力大小及范围、操作模式以及移动物体时需要注意的事项等,这些信息都是机器人完成后续动作所必需的.由于家庭环境中物品种类过多,这些操作信息不可能在机器人执行任务前就指定,也不可能通过图像处理的方法来获取,将这些信息记录在QR Code中,机器人在通过QR Code完成物品识别的同时也明确了该如何操作该物品.物品的操作位置是机器人要操作物品的具体部位,如杯子的顶端、中部、底部、手柄等;物品不同,对操作位姿的要求也不同,比如机器人在抓取盛满水的水杯时必须始终保持末端执行器的姿态以避免水溢出;机器人操作物品必须要采用合适的操作力,既要防止操作力太小不能有效抓取物品,又要避免操作力过大损坏物品,而操作力的大小往往并不是一个具体的值,而是一个范围值,如水杯由于所盛水的多少,抓取力也在改变,机器人可以根据其他传感器的数据结合该范围值选择合适的力操作物品;机器人对物品的操作不仅仅只有抓取这一种操作模式,根据物品的不同可以是提、端、推、拉等模式,也可能是几种模式的组合;某些物体在移动过程中也有其注意事项,如盛满开水的水杯在移动过程中就必须提醒人注意主动避让,以免烫伤.有了以上QR Code提供的操作信息,机器人才能高效、准确无误地完成物品的操作任务.
1.2 物标外围标识
家庭环境相对比较复杂,物品种类多,且放置杂乱,而QR Code只能在近距离时进行识别,较远距离时很难实现准确定位;另外摄像头的视场内一般会有多个贴有QR Code标签的物品,机器人不可能逐一去读取.为解决这两个问题,需要设计QR Code的外围标识.一方面使机器人能够在一定距离内迅速发现视野内的QR Code标签并快速计算出固联在标签上的坐标系{o}与机器人手爪上摄像机坐标系{c}间的齐次坐标变换(即确定物品相对摄像机的位姿),另一方面用这些外围标志对物品进行简单的分类,减小目标搜索的范围,加快识别速度.
为了方便颜色识别,在外围标签的设计上只采用了3种典型的颜色,即红、绿、蓝.这样可以提高颜色识别的准确率.标签的最外围采用2个共心圆作为标志,这样的外围标签满足尺度不变性、自相似性和仿射不变性,在标签被部分遮挡时仍能正确识别.不同的共心圆的颜色代表不同种类的物品,如红色标签代表水杯,蓝色标签代表茶罐等.这样可对摄像机视野内的物品进行粗分类,减小目标搜索范围,加快识别速度;同时,在同心圆内部均匀分布有12个小圆,这些小圆圆心相对标签坐标系{o}的齐次坐标oXi={oxi,oyi,0,1}T,i=1,…,12 为已知,提取图像中小圆圆心的齐次图像坐标{Xi={Ixi,Iyi,1},i=1,…,12 后,将标签顶部涂有特殊颜色的小圆作为对应点的起始点,确定起始点后,按顺时针方向依次确定另外11组对应点.根据这12组对应点可以求出物品相对摄像机的位姿,如图2所示.
图2 QR Code外围标识图像处理结果
2 视觉伺服系统
基于位置的视觉伺服系统结构如图3所示.
图3 基于位置的视觉伺服系统结构图
此系统为双闭环的look and move系统.其中内环为关节伺服控制器,可实现高速率采样,通过关节位置反馈来稳定机器人,从而获得近似线性的机器人对象特性.外环视觉控制器以比较低的采样速率完成关节角设定.双环结构将机器人机械运动奇异性与视觉控制器隔离,把机器人看作理想笛卡尔运动元件,简化了设计过程.此种控制结构的关键是由提取的图像特征对目标物品相对于摄像机的位姿cTo进行估计,其定位精度在很大程度上依赖于目标位姿的估计精度,而位姿估计精度又取决于手眼系统eTc的标定精度.
2.1 视觉伺服系统运动学建模
为了对家庭环境下的物品进行操作,将四自由度PowerCube机械臂的末端执行器上加装了摄像头并将其安装在Grandar越野型机器人上以构成眼在手上(eye-in-hand)构型的视觉伺服系统.移动机器人有三个自由度,机械臂有四个自由度,只有两者互相配合,才能保证机械臂末端执行器的位姿可控.将移动机器人抽象为旋转-平移-旋转三自由度机械臂,同时固定四自由度机械臂的底座旋转自由度,整个视觉伺服系统就可被抽象为一个六自由度的扩展机械臂,如图4所示.
图4 扩展机械臂各连杆坐标系
其中除“关节2”为移动关节外,其他连杆均为转动关节.根据确定好的各连杆坐标系,可以得到如表1所示的扩展机械臂的Modified Denavit-Hartenberg运动学参数.
由以下运动学参数,可以确定出此扩展机械臂的运动学模型.根据运动学逆解,能够解出末端执行器特定位姿对应的各关节变量.容易看出,此扩展机械臂为六自由度机械臂,机械臂末端姿态可控.
表1 扩展机械臂的连杆参数
2.2 视觉伺服系统手眼标定
基于位置的视觉伺服系统的定位精度直接取决于手眼系统的标定精度.本文提出了一种简单的手眼参数标定方法:
1)令手爪夹持一长度已知的探针,则探针末端固联坐标系{probe}与末端执行器坐标系{e}间的齐次坐标变换eTprobe已知.
2)准备一张标定纸(为方便提取角点,标定纸一般为黑白相间的方格棋盘),将其固定在一物体表面上,手动控制机械臂,使探针末端分别指向标定纸的各个角点,根据已知的末端执行器相对基坐标系中的位姿wTe和探针相对末端执行器的位姿eTprobe,可以计算出标定纸上所有角点在机械臂基坐标系中的坐标wXi,i=1,2,…,n.
3)因为标定纸上的角点分布均匀,所以角点在固联在标定纸坐标系{o}上的坐标oXi,i=1,2,…,n已知,根据wXi=wRo·oXi+wto计算出世界坐标系{w}与标定纸坐标系{o}的齐次变换
4)根据图5所示的视觉伺服系统有向变换图,在通过机器视觉方法得到标定纸坐标系{o}与摄像机坐标系{c}的变换关系cTo的前提下,可以得到手眼关系为
式中,wTe由前面的扩展机械臂运动学模型得到.
由以上手眼关系的标定方法得知,问题归结为根据标定纸坐标系{o}上的坐标oXi={oxi,oyi,0,1}T,i=1,2,…,n 和它们在图像平面上的对应成像IXi={Ixi,Iyi,1},i=1,…,n 求取cTo.
图5 视觉伺服系统有向变换图
根据摄像机针孔成像模型,oXi和IXi满足如下关系式:
其中,P为3×4齐次摄像机投影矩阵,它包含摄像机的内参数和外参数矩阵:
式中,K为摄像机内参数;αx,αy是图像在x,y轴单位长度的像素数;(x0,y0)是主点坐标;cRo,cto为标定纸坐标系{o}相对摄像机坐标系{c}的旋转与平移分量.
式(2)为齐次矢量方程,可以用矢量叉乘表示:
将矩阵P的第就j行记为PjT,则式(4)式可显式地写成:
式中,Ai为3×9矩阵;P为9维列矢量,利用超定方程组最小二乘法或直接线性变换法[11](DLT)可以很容易地根据式(5)解出P,从而得到摄像机投影矩阵P.
式(3)P左边的3×3非奇异子矩阵等于KcRo,K是上三角矩阵,而cRo是旋转矩阵,因此对P左边的3×3非奇异子矩阵作RQ分解[12]即可得到摄像机的内参矩阵K和标定纸坐标系{o}相对摄像机坐标系{c}的旋转分量cRo,最后将式(3)经过简单代数运算,得到平移分量cto.
标定步骤4中的cTo为
利用上面的手眼标定方法,可以得到图6所示本视觉伺服系统的手眼关系:
分解出的摄像机内参数:αx=799.642 2,αy=799.806 3,x0=318.083 5,y0=253.606 3.
图6 手眼坐标系示意图
2.3 PBVS控制律设计
完成了整个视觉伺服系统运动学模型建立后,机械臂末端执行器相对基坐标系的位姿wTe=wTe(θ)已知,它是机械臂各关节转角的函数;对手眼关系进行标定后,eTc已知,它如2.2节所示为常量.视觉伺服系统的任务可以如图7所示抽象为如下问题:已知:c*To,cTo,eTc,wTe,e*Tc*.求:wTe*,解
式中,c*To为由公式(6)得到的摄像机读取QR Code标签的理想位姿;cTo为由式(6)得到的摄像机初始位姿;eTc,e*Tc*为手眼关系;e*Tc*=eTc;wTe为由扩展机械臂运动学模型得到的机械臂末端执行器相对基坐标系的初始位姿;wTe*为由扩展机械臂运动学模型得到的机械臂末端执行器相对基坐标系的期望位姿;根据wTe对应的各关节初始值θ和由wTe*解出的各关节期望值θ*,定义误差向量e=θ-θ*,则各关节运动控制量:
式中,λ为比例控制系数,根据李雅普诺夫稳定性方法,很容易证明控制律(7)大范围渐近稳定.
综上所述,系统根据上面提到的控制方法找到QR Code标签并驱动扩展机械臂使摄像头运动到便于读取QR Code标签的位姿,根据读取到的QR Code标签内含的物品先验知识,结合后期图像处理工作,最终完成目标物品的抓取任务.
图7 PBVS控制方法原理图
3 结论与展望
在本文中,我们设计了一种新的基于QR Code的二维人工物标用于物品识别和物品操作,提出了一种新的适用于室内复杂环境下的物品识别和抓取方法.所设计的QR Code标签,其外围标识不仅可使摄像头能从较远距离将其快速识别出来,还可根据机器视觉方法准确计算出目标物品在摄像机坐标系中的实时位姿;其内部信息包含有目标物品的属性和操作等先验信息,解决了由于室内环境下的物品具有体积小,种类多,颜色形状各异等特点所带来的抓取困难.本文提出的基于QR Code标签的视觉伺服抓取方法具有如下特点:
1)设计了一种新型的二维QR Code人工物标,不仅可以方便地从较远处定位物品,而且可以为物品操作提供计算机视觉所无法提供的丰富信息,如物品的材质,抓取力大小等.
2)将人工物标用于物品识别,把对目标物品的识别转化为对物标的识别,降低了识别难度,提高了识别速度.
3)应用人工物标辅助抓取,既可直接提取一幅抓取成功情况下的QR Code标签图像作为期望图像,将问题转化为由当前QR Code图像逼近期望图像的过程,又可在摄像头能够成功读取QR Code内部信息时提取一幅QR Code图像作为期望图像,系统首先逼近此期望图像,然后读取标签辅助信息,进行后续的操作.很明显,前一种方法实现简单,但因为抓取操作完全依赖于QR Code标签图像,因而较之第二种方法,其鲁棒性差.
本文成功实现了第一种抓取方案,从具体应用过程中,发现了如下问题:
1)由于移动机器人所搭载的机械臂是欠自由度机械臂,加上移动机器人的3个自由度的运动必须串行进行,这导致了系统运行过程中目标物品会脱离摄像头视界,从而无法感知目标物品位姿的变化,在发生物品人为移动的情况下极易导致伺服失败.如何在移动机器人串行运动过程中,开放机械臂的底座自由度以完成目标物品的眼注视,从而实时感知目标物品位姿变化,成为今后需解决的问题.
2)QR Code标签的内部信息仅仅包含了物品的属性信息和操作信息,仅对伺服系统对物品的操作层面提供了支持,如果在标签内部信息中包含上下文信息构成基于各个QR Code标签节点的语义网络,则可对任务层面提供必要的支持.如对辅助老年人服药的任务,机器人首先取药,然后找水杯、倒水、送水,最终协助老人完成服药任务.
QR Code技术可以将能够对家庭服务机器人提供支持的诸多信息“分布”到环境中去,协助服务机器人实现相应的服务任务,有效解决了许多依赖机器人自身无法解决的难题.在QR Code技术支持下,服务机器人自主、精确、稳定地进行家政服务成为了可能.
References)
[1] Hill J,Park W T.Real time control of a robot with a mobile camera[C]//Proc 9th Int Sympo on Industrial Robots.Washington,USA,1979:233-246.
[2] Vidyasagar M.System theory and robotics[J].IEEE Control System Magazine,1987,7(2):16-17.
[3]蔡自兴.机器人学[M].北京:清华大学出版社,2000.
[4] Weiss L E,Anderson A C,Neuman C P.Dynamic sensor-based control of robots with visual feedback [J].IEEE Trans Robotics and Automation,1987,3(5):404-417.
[5] Hashimoto K,Kimoto T,Ebine T,et al.Manipulator control with image-based visual servo[C]//Proc IEEE Int Conf on Robotics and Automation.Sacramento,California,1991:2267-2272.
[6] Malis E,Chaumette F,Boudet F.2D 1/2 visual servoing[J].IEEE Trans Robotics and Automation,1999,15(2):238-250.
[7] Wilson W J,Williams C C,Bell G S.Relative end-effector control using Catesian position based visual servoing[J].IEEE Trans Robotics and Automation,1996,12(5):684-696.
[8] Katsuki R,Ota J,Mizuta T,et al,Design of an artificial mark to determine 3D pose by monocular vision[C]//2003 IEEE International Conference on Robotics and Automation.Taipei,China,2003:995-1000.
[9] Katsuki R,Ota J,Tamura Y,et al.Handling of objects with marks by a robot[C]//2003 IEEE/RSJ International Conference on Intelligent Robots and Systems.2003:130-135.
[10] Xue Hongtao,Tian Guohui,Li Xiaolei,et al.Application of the QR code for various object identification and manipulation[J].Journal of Shandong University:Engineering Science,2007,37(6):25-30.
[11] Sutherland I E.Sketchpad:anman-machine graphical communications system [R].Technical Report 296.MIT Lincoln Laboratories,1963.
[12] Hartley R,Zisserman A.Multiple view geometry in computer vision[M].Cambridge,UK:Cambridge University Press,2000.