章建森,莊禮鴻
(華僑大學(xué)工業(yè)智能化技術(shù)與系統(tǒng)福建省高校工程研究中心,泉州 362021)
物體抓取是家用服務(wù)機(jī)器人的基本功能之一[1],它與機(jī)器人的視覺(jué)識(shí)別、定位和運(yùn)動(dòng)規(guī)劃相關(guān)。為了抓住指定的物體,機(jī)器人必須能夠依靠傳感器檢測(cè)到物體并且能夠準(zhǔn)確地對(duì)其進(jìn)行定位,同時(shí)需要精確地控制機(jī)械臂,因此這是一項(xiàng)既具有挑戰(zhàn)性而又現(xiàn)實(shí)意義的工作,它能夠?yàn)槔夏耆恕埣踩说刃袆?dòng)不便人士帶來(lái)極大的幫助[2]。
圖像識(shí)別技術(shù)是機(jī)器人具有物體識(shí)別能力的技術(shù)依靠,目前許多算法都是通過(guò)特征提取構(gòu)建對(duì)象模型并將該模型與獲取到的圖像進(jìn)行匹配,其中尺度不變特征變換(SIFT)[3]、加速魯棒特征(SURF)[4]、Harris角點(diǎn)檢測(cè)器和加速段測(cè)試特征(FAST)[5]是近年來(lái)流行的算法。通過(guò)特征提取識(shí)別物體的方法的不足在于需要事先構(gòu)建該對(duì)象模型,對(duì)于未知的對(duì)象就無(wú)法識(shí)別,顯然這對(duì)于室內(nèi)家居復(fù)雜多樣的物體識(shí)別顯然存在不足。
視覺(jué)定位即根據(jù)攝像頭獲得的包含有目標(biāo)對(duì)象的圖像計(jì)算出目標(biāo)對(duì)象相對(duì)于攝像頭的位置。按照攝像頭數(shù)目的不同可以分為單目視覺(jué)定位和雙目視覺(jué)定位。單目視覺(jué)的目標(biāo)物定位與雙目定位相比具有簡(jiǎn)單易用和適用廣泛的特點(diǎn),常用的單目視覺(jué)定位方法有基于單幀圖像的定位方法和基于雙幀或多幀圖像的定位[6]。基于單幀圖像的定位往往需要依靠一個(gè)特定的人工圖標(biāo)來(lái)解決一幀圖像信息量匱乏的缺點(diǎn),因此一個(gè)具有顯著特征的人工圖標(biāo)可以對(duì)目標(biāo)物進(jìn)行快速定位。基于雙幀或多幀圖像的定位[7]則利用了攝像頭在運(yùn)動(dòng)中對(duì)同一目標(biāo)物的多幀圖像進(jìn)行像素位置偏差計(jì)算實(shí)現(xiàn)定位。
雙目視覺(jué)定位的優(yōu)勢(shì)在于兩個(gè)攝像頭的相對(duì)位置固定已知,只需要通過(guò)對(duì)兩個(gè)攝像頭同時(shí)獲得的圖像進(jìn)行目標(biāo)物的特征匹配,利用幾何的方法計(jì)算即可得到目標(biāo)物的位置。
蔣哲翎[8]提出了一種基于快速識(shí)別和機(jī)器人自我距離感知的定位算法,該算法是一種基于雙幀圖像的單目視覺(jué)定位方法,通過(guò)對(duì)比機(jī)器人前進(jìn)一定距離前后攝像頭獲取的圖像中目標(biāo)物的平方像素而得到物體的位置,該算法的優(yōu)點(diǎn)在于不用對(duì)攝像頭進(jìn)行標(biāo)定,且當(dāng)目標(biāo)物與攝像頭的距離越近時(shí)定位精度越高,缺點(diǎn)就是機(jī)器人實(shí)際前進(jìn)的距離跟機(jī)器人的使用損耗、與地面的摩擦力存在關(guān)系,導(dǎo)致得到的距離與實(shí)際距離偏差較大。鄭雪林[9]提出了一種基于BP神經(jīng)網(wǎng)絡(luò)[10]的目標(biāo)定位方法,該算法選取圓球作為目標(biāo)物,提取圓球的質(zhì)心在圖像中的坐標(biāo)位置,同時(shí)建立機(jī)器人的空間坐標(biāo)系,給出圓球的空間坐標(biāo),通過(guò)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練2D坐標(biāo)位置(輸入)與3D空間位置(輸出)的關(guān)系,最后利用訓(xùn)練好的模型可以根據(jù)2D位置坐標(biāo)而直接得到目標(biāo)物相對(duì)于機(jī)器人的空間位置。該算法的優(yōu)點(diǎn)在于不用建立精確的坐標(biāo)轉(zhuǎn)換關(guān)系的數(shù)學(xué)模型,存在的不足在于訓(xùn)練樣本的空間位置并不是準(zhǔn)確的,實(shí)際操作起來(lái)測(cè)量十分困難。
本文基于NAO機(jī)器人提出了以QR code[11](二維碼)作為特定標(biāo)志物的單目視覺(jué)定位方法,該方法既能夠?qū)δ繕?biāo)物進(jìn)行快速識(shí)別,同時(shí)操作簡(jiǎn)單(只需要將二維碼粘貼于目標(biāo)物),不依賴(lài)機(jī)器人的運(yùn)動(dòng)同時(shí)只需要獲得一幀圖像便能夠準(zhǔn)確地獲得目標(biāo)物的位置。本文根據(jù)NAO機(jī)器人的DH參數(shù)[12]對(duì)手臂進(jìn)行運(yùn)動(dòng)學(xué)建模,根據(jù)逆運(yùn)動(dòng)學(xué)求解實(shí)現(xiàn)對(duì)物體的抓取。
隨著QR code技術(shù)的發(fā)展,越來(lái)越多的商品上都開(kāi)始標(biāo)有QR code,通過(guò)識(shí)別二維碼,便可以快速知道該商品的相關(guān)信息。因此利用其作為物體識(shí)別和定位的特定標(biāo)志物具有現(xiàn)實(shí)意義。由于QR code中可以存儲(chǔ)漢字信息,這為機(jī)器人識(shí)別不同的物體提供了直接的依據(jù),省去了依靠特征提取構(gòu)建對(duì)象模型的繁雜過(guò)程,這樣機(jī)器人便可以快速知道周?chē)h(huán)境中物體的信息,這為服務(wù)機(jī)器人走入家庭創(chuàng)造了基礎(chǔ)。同時(shí)每一個(gè)QR code都含有相同的特征部分,即三個(gè)具有定位標(biāo)識(shí)作用的黑色正方形邊框,該特征可以作為物體定位的標(biāo)志。該部分主要利用QR code的相同特征對(duì)物體的定位給出具體算法,QR code的解碼過(guò)程將不在本文給出。
如圖1所示,假設(shè)攝像頭與地面的距離為H,右側(cè)兩個(gè)小紅點(diǎn)分別表示右上QR code的紅色矩形框的質(zhì)心點(diǎn),底部質(zhì)心點(diǎn)距離地面的距離為h,攝像頭與該質(zhì)心點(diǎn)的連線與垂直方向的夾角為α,與頂部質(zhì)心點(diǎn)的夾角為β,可得:

聯(lián)立(1)(2)得:

解得目標(biāo)物的高度為:

距離為:

假設(shè)攝像頭獲取的圖像分辨率為height*width,QR code的質(zhì)心在圖像中的位置坐標(biāo)為(xp,yp),且與攝像頭正前方的夾角為λ,已知NAO機(jī)器人頂部攝像頭的水平范圍為ε,那么:

由此可得QR code相對(duì)于機(jī)器人坐標(biāo)系的空間坐標(biāo)為:(XR,YR,ZR)。
其中:


圖2 已標(biāo)定相對(duì)距離的QR code實(shí)驗(yàn)測(cè)試圖
實(shí)驗(yàn)中,攝像頭獲取如上圖所示圖片,實(shí)驗(yàn)中所用攝像頭分辨率為2448×3264,視角范圍46.88°,QR code的邊長(zhǎng)為5cm,規(guī)定攝像頭的正前方為x軸,使用本文提出的定位算法進(jìn)行計(jì)算其位置,結(jié)果如下:

表1 QR code空間定位結(jié)果

表2 QR code間測(cè)量值與標(biāo)準(zhǔn)值比較
同樣,本文使用基于雙幀圖像的單目定位算法進(jìn)行實(shí)驗(yàn),將實(shí)驗(yàn)數(shù)據(jù)與本文提出的算法進(jìn)行比較。該算法通過(guò)控制NAO機(jī)器人在不同位置對(duì)同一物體獲取的圖像進(jìn)行對(duì)比從而計(jì)算出QR code的空間位置坐標(biāo)。實(shí)驗(yàn)中,先將NAO機(jī)器人放置于一位置獲取圖像,完成后調(diào)用NAO機(jī)器人的moveto(0.1,0,0)函數(shù)使其向正前方移動(dòng)10cm,并且再次獲得圖像,最終獲得的實(shí)驗(yàn)數(shù)據(jù)如下:

表3 雙幀圖像算法空間定位結(jié)果

表4 雙幀圖像算法QR code間測(cè)量值與標(biāo)準(zhǔn)值比較
從上表實(shí)驗(yàn)結(jié)果可以看出該基于QR code的單目視覺(jué)定位算法的準(zhǔn)確度較高,誤差都在3mm以?xún)?nèi),而基于雙幀圖像的定位算法的誤差最多高達(dá)13mm,大大降低了后續(xù)抓取的成功率。雖然這兩種算法都不需要對(duì)攝像頭提取進(jìn)行標(biāo)定,復(fù)雜度低,但是從定位的準(zhǔn)確度比較,本文提出的算法更加能夠滿(mǎn)足機(jī)器人抓取的定位要求。
Jacques Denavit和Richard Hartenberg在1955年給出了廣為人知的DH方法,該方法通過(guò)4×4變換矩陣[13]建立一條連桿與另一條連桿之間的關(guān)系。DH規(guī)則可以幫助我們建立這些連桿之間的關(guān)系,以了解它們的相對(duì)運(yùn)動(dòng)。本文使用DH規(guī)則來(lái)定義末端執(zhí)行器相對(duì)于基部的位置。Denavit和Hartenberg定義了四個(gè)參數(shù),可以充分描述4×4變換矩陣的內(nèi)容。這四個(gè)參數(shù)是連桿長(zhǎng)度(a),連桿轉(zhuǎn)角(α),連桿偏距(d)和關(guān)節(jié)角度(θ)。表5給出所有四個(gè)參數(shù)的描述。
NAO的左右手臂都擁有五個(gè)自由度[14],除了關(guān)節(jié)的旋轉(zhuǎn)角度,左右兩側(cè)的規(guī)格都相同。為了簡(jiǎn)化,本文只對(duì)NAO右手配置了DH參數(shù)表。

表5 NAO右手臂DH參數(shù)表
連桿i-1到i之間的轉(zhuǎn)換矩陣定義如下:

根據(jù)以上6個(gè)轉(zhuǎn)換矩陣可以得到末端效應(yīng)器相對(duì)于第一個(gè)連桿的關(guān)系:

NAO機(jī)器人是法國(guó)阿爾德巴蘭公司研發(fā)的一款具有25個(gè)自由度、可雙足行走的人形機(jī)器人,目前世界范圍內(nèi)有超過(guò)5000所高校和研究機(jī)構(gòu)將其作為研究實(shí)驗(yàn)平臺(tái),本文以NAO機(jī)器人為平臺(tái),進(jìn)行實(shí)驗(yàn)驗(yàn)證本文提出的基于QR code的目標(biāo)物識(shí)別、定位和抓取。NAO機(jī)器人頭部的攝像頭可視范圍如圖4-圖5所示。
實(shí)驗(yàn)中,將準(zhǔn)備好的QR code粘貼在牛奶盒表面,并且將其放在NAO機(jī)器人可以拿到的高度范圍內(nèi)。使用NAO機(jī)器人頂部的攝像頭,設(shè)定圖像分辨率為1280×960,其捕捉到的圖片如圖4所示,紅色框?yàn)樽R(shí)別出的QR code區(qū)域,藍(lán)色字體為空間位置坐標(biāo),該坐標(biāo)為[13.205782683983196,3.961738230 8071445,37.697814253400345],實(shí)際用卷尺測(cè)量的測(cè)量值為[13.35,4.05,37.50],單位厘米,可以看出空間定位的準(zhǔn)確度很高。根據(jù)空間位置坐標(biāo),通過(guò)逆運(yùn)動(dòng)學(xué)求解手臂各個(gè)關(guān)節(jié)的角度即可完成對(duì)目標(biāo)物體的抓取,如圖5所示。
為了使實(shí)驗(yàn)結(jié)果更具有可靠性,將牛奶盒放置不同角度和位置進(jìn)行50次抓取實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如下表所示:

表6 抓取實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)
結(jié)果分析:從上表結(jié)果可以看出,本文提出的算法抓取成功率較高,當(dāng)機(jī)器人所定位的目標(biāo)物的位置與實(shí)際位置的誤差在一定的范圍內(nèi)時(shí),機(jī)器人都可以成功地將其抓取到,盡管本文提出的定位算法準(zhǔn)確度較高,但是當(dāng)放置的牛奶盒與攝像頭偏差的角度過(guò)大時(shí),攝像頭獲取到的二維碼圖像的幾何形狀出現(xiàn)了較大的變形,導(dǎo)致識(shí)別出圖像中的二維碼和計(jì)算出的空間坐標(biāo)與實(shí)際值相差較大甚至無(wú)法識(shí)別,最終導(dǎo)致NAO機(jī)器人物體抓取的失敗。因此,在接下來(lái)的工作中,將運(yùn)用圖像處理的方法對(duì)其識(shí)別到的二維碼區(qū)域進(jìn)行幾何校正,提高在物體在不同放置角度下抓取的成功率。

圖4 QR code的識(shí)別與定位

圖5 NAO機(jī)器人的物體抓取實(shí)驗(yàn)
本文針對(duì)機(jī)器人的物體抓取進(jìn)行研究與實(shí)驗(yàn),提出了一種基于QR code的物體定位方法,該方法能夠快速的對(duì)目標(biāo)物進(jìn)行識(shí)別定位和抓取,通過(guò)與基于距離感知和雙幀圖像定位算法的實(shí)驗(yàn)比較,該方法的定位準(zhǔn)確度和抓取成功率都較高,但是同時(shí)也存在缺陷,即當(dāng)QR code與攝像頭的夾角超過(guò)一定范圍時(shí)定位和抓取的成功率大大降低,因此對(duì)于因?yàn)閵A角過(guò)大而導(dǎo)致的定位誤差大和抓取失敗的結(jié)果,將在后續(xù)的工作中對(duì)圖像的矯正進(jìn)行研究和解決。
[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]楊揚(yáng).基于機(jī)器視覺(jué)的服務(wù)機(jī)器人智能抓取研究[D].上海交通大學(xué),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]李榮明,蘆利斌,金國(guó)棟.單目視覺(jué)定位方法研究綜述[J].現(xiàn)代計(jì)算機(jī),2011(11):9-12.
[7]張治國(guó).基于單目視覺(jué)的定位系統(tǒng)研究[D].武漢:華中科技大學(xué),2009.
[8]蔣哲翎.基于NAO機(jī)器人的物體識(shí)別與定位技術(shù)研究[D].南京大學(xué),2016.
[9]鄭雪林.基于視覺(jué)伺服的仿人機(jī)器人智能抓取技術(shù)研究[D].東北大學(xué),2013.
[10]毛永毅,周康磊.基于BP神經(jīng)網(wǎng)絡(luò)的定位跟蹤算法[J].計(jì)算機(jī)工程與應(yīng)用,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自由度串聯(lián)機(jī)器人D-H模型參數(shù)辨識(shí)及標(biāo)定[J].機(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.