章建森,莊禮鴻
(華僑大學(xué)工業(yè)智能化技術(shù)與系統(tǒng)福建省高校工程研究中心,泉州 362021)
物體抓取是家用服務(wù)機(jī)器人的基本功能之一[1],它與機(jī)器人的視覺識別、定位和運動規(guī)劃相關(guān)。為了抓住指定的物體,機(jī)器人必須能夠依靠傳感器檢測到物體并且能夠準(zhǔn)確地對其進(jìn)行定位,同時需要精確地控制機(jī)械臂,因此這是一項既具有挑戰(zhàn)性而又現(xiàn)實意義的工作,它能夠為老年人、殘疾人等行動不便人士帶來極大的幫助[2]。
圖像識別技術(shù)是機(jī)器人具有物體識別能力的技術(shù)依靠,目前許多算法都是通過特征提取構(gòu)建對象模型并將該模型與獲取到的圖像進(jìn)行匹配,其中尺度不變特征變換(SIFT)[3]、加速魯棒特征(SURF)[4]、Harris角點檢測器和加速段測試特征(FAST)[5]是近年來流行的算法。通過特征提取識別物體的方法的不足在于需要事先構(gòu)建該對象模型,對于未知的對象就無法識別,顯然這對于室內(nèi)家居復(fù)雜多樣的物體識別顯然存在不足。
視覺定位即根據(jù)攝像頭獲得的包含有目標(biāo)對象的圖像計算出目標(biāo)對象相對于攝像頭的位置。按照攝像頭數(shù)目的不同可以分為單目視覺定位和雙目視覺定位。單目視覺的目標(biāo)物定位與雙目定位相比具有簡單易用和適用廣泛的特點,常用的單目視覺定位方法有基于單幀圖像的定位方法和基于雙幀或多幀圖像的定位[6]。基于單幀圖像的定位往往需要依靠一個特定的人工圖標(biāo)來解決一幀圖像信息量匱乏的缺點,因此一個具有顯著特征的人工圖標(biāo)可以對目標(biāo)物進(jìn)行快速定位?;陔p幀或多幀圖像的定位[7]則利用了攝像頭在運動中對同一目標(biāo)物的多幀圖像進(jìn)行像素位置偏差計算實現(xiàn)定位。
雙目視覺定位的優(yōu)勢在于兩個攝像頭的相對位置固定已知,只需要通過對兩個攝像頭同時獲得的圖像進(jìn)行目標(biāo)物的特征匹配,利用幾何的方法計算即可得到目標(biāo)物的位置。
蔣哲翎[8]提出了一種基于快速識別和機(jī)器人自我距離感知的定位算法,該算法是一種基于雙幀圖像的單目視覺定位方法,通過對比機(jī)器人前進(jìn)一定距離前后攝像頭獲取的圖像中目標(biāo)物的平方像素而得到物體的位置,該算法的優(yōu)點在于不用對攝像頭進(jìn)行標(biāo)定,且當(dāng)目標(biāo)物與攝像頭的距離越近時定位精度越高,缺點就是機(jī)器人實際前進(jìn)的距離跟機(jī)器人的使用損耗、與地面的摩擦力存在關(guān)系,導(dǎo)致得到的距離與實際距離偏差較大。鄭雪林[9]提出了一種基于BP神經(jīng)網(wǎng)絡(luò)[10]的目標(biāo)定位方法,該算法選取圓球作為目標(biāo)物,提取圓球的質(zhì)心在圖像中的坐標(biāo)位置,同時建立機(jī)器人的空間坐標(biāo)系,給出圓球的空間坐標(biāo),通過BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練2D坐標(biāo)位置(輸入)與3D空間位置(輸出)的關(guān)系,最后利用訓(xùn)練好的模型可以根據(jù)2D位置坐標(biāo)而直接得到目標(biāo)物相對于機(jī)器人的空間位置。該算法的優(yōu)點在于不用建立精確的坐標(biāo)轉(zhuǎn)換關(guān)系的數(shù)學(xué)模型,存在的不足在于訓(xùn)練樣本的空間位置并不是準(zhǔn)確的,實際操作起來測量十分困難。
本文基于NAO機(jī)器人提出了以QR code[11](二維碼)作為特定標(biāo)志物的單目視覺定位方法,該方法既能夠?qū)δ繕?biāo)物進(jìn)行快速識別,同時操作簡單(只需要將二維碼粘貼于目標(biāo)物),不依賴機(jī)器人的運動同時只需要獲得一幀圖像便能夠準(zhǔn)確地獲得目標(biāo)物的位置。本文根據(jù)NAO機(jī)器人的DH參數(shù)[12]對手臂進(jìn)行運動學(xué)建模,根據(jù)逆運動學(xué)求解實現(xiàn)對物體的抓取。
隨著QR code技術(shù)的發(fā)展,越來越多的商品上都開始標(biāo)有QR code,通過識別二維碼,便可以快速知道該商品的相關(guān)信息。因此利用其作為物體識別和定位的特定標(biāo)志物具有現(xiàn)實意義。由于QR code中可以存儲漢字信息,這為機(jī)器人識別不同的物體提供了直接的依據(jù),省去了依靠特征提取構(gòu)建對象模型的繁雜過程,這樣機(jī)器人便可以快速知道周圍環(huán)境中物體的信息,這為服務(wù)機(jī)器人走入家庭創(chuàng)造了基礎(chǔ)。同時每一個QR code都含有相同的特征部分,即三個具有定位標(biāo)識作用的黑色正方形邊框,該特征可以作為物體定位的標(biāo)志。該部分主要利用QR code的相同特征對物體的定位給出具體算法,QR code的解碼過程將不在本文給出。
如圖1所示,假設(shè)攝像頭與地面的距離為H,右側(cè)兩個小紅點分別表示右上QR code的紅色矩形框的質(zhì)心點,底部質(zhì)心點距離地面的距離為h,攝像頭與該質(zhì)心點的連線與垂直方向的夾角為α,與頂部質(zhì)心點的夾角為β,可得:
聯(lián)立(1)(2)得:
解得目標(biāo)物的高度為:
距離為:
假設(shè)攝像頭獲取的圖像分辨率為height*width,QR code的質(zhì)心在圖像中的位置坐標(biāo)為(xp,yp),且與攝像頭正前方的夾角為λ,已知NAO機(jī)器人頂部攝像頭的水平范圍為ε,那么:
由此可得QR code相對于機(jī)器人坐標(biāo)系的空間坐標(biāo)為:(XR,YR,ZR)。
其中:
圖2 已標(biāo)定相對距離的QR code實驗測試圖
實驗中,攝像頭獲取如上圖所示圖片,實驗中所用攝像頭分辨率為2448×3264,視角范圍46.88°,QR code的邊長為5cm,規(guī)定攝像頭的正前方為x軸,使用本文提出的定位算法進(jìn)行計算其位置,結(jié)果如下:
表1 QR code空間定位結(jié)果
表2 QR code間測量值與標(biāo)準(zhǔn)值比較
同樣,本文使用基于雙幀圖像的單目定位算法進(jìn)行實驗,將實驗數(shù)據(jù)與本文提出的算法進(jìn)行比較。該算法通過控制NAO機(jī)器人在不同位置對同一物體獲取的圖像進(jìn)行對比從而計算出QR code的空間位置坐標(biāo)。實驗中,先將NAO機(jī)器人放置于一位置獲取圖像,完成后調(diào)用NAO機(jī)器人的moveto(0.1,0,0)函數(shù)使其向正前方移動10cm,并且再次獲得圖像,最終獲得的實驗數(shù)據(jù)如下:
表3 雙幀圖像算法空間定位結(jié)果
表4 雙幀圖像算法QR code間測量值與標(biāo)準(zhǔn)值比較
從上表實驗結(jié)果可以看出該基于QR code的單目視覺定位算法的準(zhǔn)確度較高,誤差都在3mm以內(nèi),而基于雙幀圖像的定位算法的誤差最多高達(dá)13mm,大大降低了后續(xù)抓取的成功率。雖然這兩種算法都不需要對攝像頭提取進(jìn)行標(biāo)定,復(fù)雜度低,但是從定位的準(zhǔn)確度比較,本文提出的算法更加能夠滿足機(jī)器人抓取的定位要求。
Jacques Denavit和Richard Hartenberg在1955年給出了廣為人知的DH方法,該方法通過4×4變換矩陣[13]建立一條連桿與另一條連桿之間的關(guān)系。DH規(guī)則可以幫助我們建立這些連桿之間的關(guān)系,以了解它們的相對運動。本文使用DH規(guī)則來定義末端執(zhí)行器相對于基部的位置。Denavit和Hartenberg定義了四個參數(shù),可以充分描述4×4變換矩陣的內(nèi)容。這四個參數(shù)是連桿長度(a),連桿轉(zhuǎn)角(α),連桿偏距(d)和關(guān)節(jié)角度(θ)。表5給出所有四個參數(shù)的描述。
NAO的左右手臂都擁有五個自由度[14],除了關(guān)節(jié)的旋轉(zhuǎn)角度,左右兩側(cè)的規(guī)格都相同。為了簡化,本文只對NAO右手配置了DH參數(shù)表。
表5 NAO右手臂DH參數(shù)表
連桿i-1到i之間的轉(zhuǎn)換矩陣定義如下:
根據(jù)以上6個轉(zhuǎn)換矩陣可以得到末端效應(yīng)器相對于第一個連桿的關(guān)系:
NAO機(jī)器人是法國阿爾德巴蘭公司研發(fā)的一款具有25個自由度、可雙足行走的人形機(jī)器人,目前世界范圍內(nèi)有超過5000所高校和研究機(jī)構(gòu)將其作為研究實驗平臺,本文以NAO機(jī)器人為平臺,進(jìn)行實驗驗證本文提出的基于QR code的目標(biāo)物識別、定位和抓取。NAO機(jī)器人頭部的攝像頭可視范圍如圖4-圖5所示。
實驗中,將準(zhǔn)備好的QR code粘貼在牛奶盒表面,并且將其放在NAO機(jī)器人可以拿到的高度范圍內(nèi)。使用NAO機(jī)器人頂部的攝像頭,設(shè)定圖像分辨率為1280×960,其捕捉到的圖片如圖4所示,紅色框為識別出的QR code區(qū)域,藍(lán)色字體為空間位置坐標(biāo),該坐標(biāo)為[13.205782683983196,3.961738230 8071445,37.697814253400345],實際用卷尺測量的測量值為[13.35,4.05,37.50],單位厘米,可以看出空間定位的準(zhǔn)確度很高。根據(jù)空間位置坐標(biāo),通過逆運動學(xué)求解手臂各個關(guān)節(jié)的角度即可完成對目標(biāo)物體的抓取,如圖5所示。
為了使實驗結(jié)果更具有可靠性,將牛奶盒放置不同角度和位置進(jìn)行50次抓取實驗,實驗結(jié)果如下表所示:
表6 抓取實驗結(jié)果統(tǒng)計
結(jié)果分析:從上表結(jié)果可以看出,本文提出的算法抓取成功率較高,當(dāng)機(jī)器人所定位的目標(biāo)物的位置與實際位置的誤差在一定的范圍內(nèi)時,機(jī)器人都可以成功地將其抓取到,盡管本文提出的定位算法準(zhǔn)確度較高,但是當(dāng)放置的牛奶盒與攝像頭偏差的角度過大時,攝像頭獲取到的二維碼圖像的幾何形狀出現(xiàn)了較大的變形,導(dǎo)致識別出圖像中的二維碼和計算出的空間坐標(biāo)與實際值相差較大甚至無法識別,最終導(dǎo)致NAO機(jī)器人物體抓取的失敗。因此,在接下來的工作中,將運用圖像處理的方法對其識別到的二維碼區(qū)域進(jìn)行幾何校正,提高在物體在不同放置角度下抓取的成功率。
圖4 QR code的識別與定位
圖5 NAO機(jī)器人的物體抓取實驗
本文針對機(jī)器人的物體抓取進(jìn)行研究與實驗,提出了一種基于QR code的物體定位方法,該方法能夠快速的對目標(biāo)物進(jìn)行識別定位和抓取,通過與基于距離感知和雙幀圖像定位算法的實驗比較,該方法的定位準(zhǔn)確度和抓取成功率都較高,但是同時也存在缺陷,即當(dāng)QR code與攝像頭的夾角超過一定范圍時定位和抓取的成功率大大降低,因此對于因為夾角過大而導(dǎo)致的定位誤差大和抓取失敗的結(jié)果,將在后續(xù)的工作中對圖像的矯正進(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ī)器視覺的服務(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]李榮明,蘆利斌,金國棟.單目視覺定位方法研究綜述[J].現(xiàn)代計算機(jī),2011(11):9-12.
[7]張治國.基于單目視覺的定位系統(tǒng)研究[D].武漢:華中科技大學(xué),2009.
[8]蔣哲翎.基于NAO機(jī)器人的物體識別與定位技術(shù)研究[D].南京大學(xué),2016.
[9]鄭雪林.基于視覺伺服的仿人機(jī)器人智能抓取技術(shù)研究[D].東北大學(xué),2013.
[10]毛永毅,周康磊.基于BP神經(jīng)網(wǎng)絡(luò)的定位跟蹤算法[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ù)辨識及標(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.