羅 高,袁 亮
(新疆大學(xué) 機械工程學(xué)院,烏魯木齊 830047)
1001-2265(2017)10-0114-04
10.13462/j.cnki.mmtamt.2017.10.027
2017-01-05;
2017-03-01
國家自然科學(xué)基金(61662075);新疆烏魯木齊市人才工程項目(P151010006);新疆自治區(qū)研究生科研創(chuàng)新項目(XJGRI2015025)
羅高(1990—),男,湖北咸寧人,新疆大學(xué)碩士研究生,研究方向為移動機器人定位導(dǎo)航,(E-mail)395381306@qq.com;通訊作者:袁亮(1972—),男,烏魯木齊人,新疆大學(xué)教授,博導(dǎo),博士,研究方向機器人控制及圖像跟蹤。
基于二維碼的單目視覺測距移動機器人定位研究*
羅 高,袁 亮
(新疆大學(xué) 機械工程學(xué)院,烏魯木齊 830047)
為了提高移動機器人在未知環(huán)境下定位精度,使用里程計結(jié)合高清攝像機單目視覺測距對移動機器人定位技術(shù)進行了研究,針對編碼器短距離定位精確,長距離定位存在積累誤差的問題,提出非接觸式的基于二維碼單目視覺測距的方法實現(xiàn)移動機器人的定位。在二維碼世界坐標(biāo)已知的情況下,移動機器人向前運動,高清攝像機通過識別二維碼,得知二維碼的世界坐標(biāo),由此推導(dǎo)出機器人相對于二維碼的世界坐標(biāo),得出的機器人坐標(biāo)是基于二維碼的絕對坐標(biāo)值,故消除了編碼器存在的累計誤差,從而使移動機器人定位更加準(zhǔn)確。與傳統(tǒng)的里程計定位方式相比,該定位算法定位成功率提升30%~50%。
移動機器人;里程計;二維碼;單目視覺測量
近年來,移動機器人技術(shù)[1]已成為國家發(fā)展的重大戰(zhàn)略目標(biāo),機器人定位[2]技術(shù)是其研究中最基礎(chǔ)的部分,也是解決其他問題的前提條件。要實現(xiàn)移動機器人的定位,其本質(zhì)上就是解決移動機器人WWH的問題:Where am I?Where am I going?How should I get there 第一個W就是關(guān)于移動機器人的定位與導(dǎo)航技術(shù),第二個W和H則是關(guān)于移動機器人路徑規(guī)劃技術(shù),機器人只有確定了自身的位置[3-4],才能基于該確定的位置進行其他各類動作。
因此,研究者們提出了各類型的定位方法,如里程計定位、超聲波定位、視覺定位、激光雷達定位、概率定位等。文獻[5]提出了基于里程計定位的方法,在長距離定位導(dǎo)航時,累積誤差會隨著距離的增加而累積,從而使定位精確度大大降低。文獻[6]利用全景視覺對路標(biāo)的觀察角度來完成機器人定位。二者都是利用已知的環(huán)境信息來確定機器人的絕對位姿。Craig Becker等[7]提出利用幾何圖形路標(biāo)實現(xiàn)機器人的定位。文獻[8-9]利用人工路標(biāo)來實現(xiàn)移動機器人的定位。文獻[10]利用路標(biāo)觀測提出了一種基于路標(biāo)觀察的移動機器人自定位算法。
鑒于此,本文提出了一種在二維碼絕對坐標(biāo)已知的情況下,安裝在機器人上的高清攝像機通過識別二維碼,得知二維碼在世界坐標(biāo)系下的絕對坐標(biāo),由此推導(dǎo)出機器人的世界坐標(biāo),同時消除了編碼器存在的累積誤差,從而提高了機器人的定位精度,實驗數(shù)據(jù)表明了該方法的有效性。
本文中使用的是實驗室自主研發(fā)設(shè)計的移動機器人平臺,機器人裝備兩個攝像機,一個是紅外攝像頭(本文中未使用),另一個為艾力克高清攝像機,分辨率為1280×720,每秒最多能捕捉30個圖像。機器人結(jié)構(gòu)分布圖1所示。
圖1 機器人結(jié)構(gòu)圖
本實驗移動機器人平臺是由三個輪來實現(xiàn)機器人的運動,云臺正下方為兩驅(qū)動輪,都有單獨電機驅(qū)動,另一個輪子為萬向輪,是從動輪。通過控制兩驅(qū)動輪速度差來實現(xiàn)機器人轉(zhuǎn)向,通過運動控制系統(tǒng)到達目標(biāo)位置。當(dāng)機器人達到指定位置時,攝像頭通過識別二維碼,得知二維碼的絕對坐標(biāo),據(jù)此而推到出機器人在世界坐標(biāo)系中的位置,并消除編碼器存在的累積誤差。從而實現(xiàn)機器人的定位。實現(xiàn)過程圖如圖2所示。
圖2 定位流程圖
2.1 小孔成像原理
圖3 小孔成像原理圖
由比例關(guān)系可得下式:
(1)
在式(1)中,(x,y)為圖像平面上P1點的坐標(biāo),(Xc,Yc,Zc)為空間點P1在攝像機坐標(biāo)系下的坐標(biāo),高清相機采集到的環(huán)境信息被轉(zhuǎn)換成系統(tǒng)可用的數(shù)字信息,按如圖4所示的方式建立存儲坐標(biāo)系,并且在(u0,v0)處以物理單位建立坐標(biāo)系,因此有如式(2)關(guān)系:
圖4 物體測量
(2)
在式(2)中dx為每個像素在橫軸方向上的物理尺寸、dy則為每一個像素在縱軸方向上的物理尺寸。通過坐標(biāo)變換原理可得如下轉(zhuǎn)換關(guān)系:
(3)
將式(1)、(2)、(3)整合得到:世界坐標(biāo)下的點P1與成像平面內(nèi)的點P2的坐標(biāo)(u,v)存在如下轉(zhuǎn)換關(guān)系:
(4)
由以上推到可得:如果先對高清相機進行標(biāo)定,并且能確定世界坐標(biāo)系下某點的坐標(biāo)P1(Xw,Yw,Zw),則可求得該點在圖像坐標(biāo)系下的坐標(biāo)為(u,v)。
2.2 測距的原理
(5)
在垂直于光軸平面內(nèi),點P1的坐標(biāo)為(xw,yw,0),所以式(5)可化為:
(6)
根據(jù)微分的方法將目標(biāo)沿Yw方向分為N份,則每一小份近似為一個矩形,如圖5所示。
圖5 面積微分圖
(7)
將式(6)和式(7)整理得:
(8)
其中,S1表示目標(biāo)在圖像坐標(biāo)系下的面積,根據(jù)上面分析可得d的計算公式:
(9)
當(dāng)高清攝像機拍到目標(biāo)物體時,測量出攝像機與目標(biāo)物體之間的距離,事實上就是測量目標(biāo)物體上某一特征點與攝像機之間的距離,對于攝像機拍攝到但是沒能成像目標(biāo)位置時,測量距離將不準(zhǔn)確或者測距失敗。在選擇特征點時,應(yīng)該選擇容易成像,且好測量的有效點為特征點,即將測量目標(biāo)物體與攝像機之間的距離轉(zhuǎn)化為測量目標(biāo)物體上某一特征點與攝像機光心之間的距離。在世界坐標(biāo)系內(nèi),特征點PF到Ow的距離Lw可為:
(10)
則目標(biāo)物體與光心之間的距離為:
(11)
將式(6)和式(10)代入式(11)得:
(12)
從上面的分析可知,測量出目標(biāo)物體與攝像機之間的距離最重要的是能找出有效的目標(biāo)點,本文以二維碼的幾何中心作為目標(biāo)特征點,按照上面推導(dǎo)算法完全可以實現(xiàn)測距。
基于視覺信息和編碼器數(shù)據(jù)融合的多傳感器綜合定位實驗中,首先知道機器人運動所需要的環(huán)境信息,其中包括障礙物的位置和二維碼在地圖中的坐標(biāo)點,在本實驗中,選用的地圖為實訓(xùn)樓二樓為實驗場地,如圖6為1:1繪制的柵格地圖,柵格精度為10cm,機器人的大小為80cm×80cm×85cm,其形狀如圖6所示。
圖6 柵格地圖
機器人的路徑規(guī)劃是以質(zhì)心作為參考點,機器人在運動過程中,如果按照實際地圖可能會發(fā)生機器人邊沿與地圖中的障礙物碰撞等情況,所以根據(jù)實際需要將地圖縮小,縮小的大小為每條邊向內(nèi)縮減80cm,其效果圖如圖7所示,圖中,紅線條的圖為原平面圖,藍線條畫的圖為縮小后的適于機器人運動的通道圖。
圖7 有效柵格地圖
地圖中以(50,60)為起點以(120,360)為終點,讓機器人按照規(guī)劃好的路徑進行運動。
在地圖中重要的拐點處分別張貼一張二維碼,本實驗中共張貼了4張二維碼,其在地圖中的位置分別是(80,70,90°),(100,150,0°),(80,250,0°),(100,350,-90°)位置上,如圖8所示。
圖8 二維碼位置地圖
位置坐標(biāo)的前兩個數(shù)據(jù)表示二維碼在世界地圖中的絕對坐標(biāo),第三個數(shù)據(jù)表示機器人需要轉(zhuǎn)動的角度。在實際中的位置如圖9所示。
圖9 二維碼粘貼位置
當(dāng)移動機器人向前運動到達指定位置時,機器人將在圖像中檢測是否存在二維碼,如果發(fā)現(xiàn)圖像中有二維碼,機器人將對二維碼進行識別,識別出是系統(tǒng)庫中有的二維碼,則調(diào)整機器人與二維碼之間的位置,圖10為點(100,150,0°)位置的二維碼四條邊abcd以及四邊之間的夾角,當(dāng)θ-δ≥0°時,機器人向前移動,當(dāng)θ-δ≦0°時,機器人向后移動,當(dāng)θ-δ=0°時,機器人為目標(biāo)位置,機器人正對二維碼,如圖10所示。
圖10 二維碼夾角
借助二維碼的位置信息,機器人重新調(diào)整自身在全局地圖中的位置。機器人所獲取的圖像經(jīng)過計算之后可以知道機器人相對于二維碼的距離,機器人檢測程序點(100,150, 0°)如圖11所示。
圖11 機器人與二維碼相對位置
二維碼在機器人相機水平方向的正前方。本文采用張正友相機標(biāo)定法,標(biāo)定后得出相機參數(shù)為:
ax=256.0315ay=254.3642
Lc為機器人到二維碼的直線距離,根據(jù)提前標(biāo)定的信息,從而知道機器人與二維碼的直線距離為134cm,所以機器人所在的全局坐標(biāo)為(86.5364,299.6841),如圖12所示。
圖12 界面控制
通過多次試驗測量,傳統(tǒng)編碼器定位誤差會越來越大,而二維碼的絕對坐標(biāo)來消除編碼器存在的累積誤差較大程度的提高了定位精度,實驗路線如圖13和實驗數(shù)據(jù)如表1所示。
圖13 定位路線圖
表1 數(shù)據(jù)比較
在圖13中紫色線條代表理論路線,黑色線條是編碼器定位路線,紅色線條表示二維碼測距定位,從路線中可以看出編碼器和二維碼測距定位在短時間內(nèi)定位精度都相對較高,隨著時間的增長,編碼器路線相對于理論路線偏移量越來越大,而在二維碼定位中,每當(dāng)機器人移動到二維碼位置時,都能實現(xiàn)較為精準(zhǔn)的定位,定位誤差相對于編碼器定位約減少了30%~50%。
在移動機器人發(fā)展歷程中,定位技術(shù)一直都是最基礎(chǔ)部分,機器人只有在確定自己當(dāng)前位置的前提下,才能夠安全完成下一個動作。由于編碼器存在累積誤差,本實驗通過高清相機識別二維碼信息,準(zhǔn)確的知道二維碼在世界坐標(biāo)系中的坐標(biāo),由二維碼的絕對坐標(biāo)計算出機器人的絕對坐標(biāo),從而實現(xiàn)機器人的定位,在此定位過程中并消除了編碼器長距離定位存在的累積誤差。通過實驗證明此方法切實可行。
[1] 譚民,王碩.機器人技術(shù)研究進展[J].自動化學(xué)報, 2013, 39(7): 963-972.
[2] 李群明,熊蓉,褚健.室內(nèi)自主移動機器人定位方法研究綜述[J].機器人,2003,25(6):560-567.
[3] Ohnishi N, Imiya A. Appearance-based navigation and homing for autonomous mobile robot[J]. Image and Vision Computing,2013, 31(6-7): 511-532.
[4] Colle E, Galerne S. Mobile robot localization by multiangulation using set inversion[J]. Robotics and Autonomous Systems, 2013, 61(1): 39-48.
[5] Crowley J L . Control of displacements and rotation in a robotvehicle[ A] . Proceedings of the IEEE International Conference on Robotics and Automation[ C] . Scottsdale AZ, USA:1989. 674-680.
[6] Motomura A , M atsuoka T, Hasegawa T.Self-localization method usingtwo landmarks and dead reckoning for autonomous mobile soccer robots[A] . Proceedings of the RoboCup 2003 Symposium[C] . Padova, Italy :2003. 526-533.
[7] Becker C. Reliable navigation using landmarks[J].Proceed-ings of the IEEE International Conference on Robotics and Automation. Nagoya,Japan,1995,1(1):401-406.
[8] L Wang, B Gao, Y Jia. Landmark design for indoor localization of mobile robots[C]. In Proceedings of the Chinese Intelligent Automation Conference. Yangzhou, China: Springer, 2013: 543-550.
[9] W Chen, H H Chang, T Lin,et al. Dynamic indoor localization based on active RFID for healthcare applications: A Shape Constraint Approach[C]. in Proceedings of the International Conference on Biomedical Engineering and Informatics (ICBEI). Tianjin, China: IEEE, 2009: 1-5.
[10] 王景川,陳衛(wèi)東,曹其新. 基于全景視覺與里程計的移動機器人自定位方法研究 [J].機器人, 2005, 27(1): 41-45.
[11] 肖旭.基于單目視覺的攝像機定位技術(shù)的研究[J].天津:天津大學(xué),2009.
[12] 馬頌德,張正友.計算機視覺——計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,2003:42-52.
[13] 韓延祥,張志勝,戴敏.用于目標(biāo)測距的單目視覺測量方法[J]. 光學(xué)精密工程,2011,19(5):1110-1117.
[14] 徐德,譚民,李原.機器人視覺測量與控制[M].北京:國防工業(yè)出版社,2008.
StudyonMobileRobotLocalizationMonocularVisionBasedonQR_code
LUO Gao, YUAN Liang
(School of Mechanical Engineering,Xinjiang University,Urumqi 830047,China)
In order to improve the positioning accuracy of mobile robot in complex environment,combined with odometry and monocular vision measuring HD camera of mobile robot positioning technology. Aiming at the problem of error accumulation in long distance positioning while precision in short distance positioning of encoder, put forward the QR_code positioning method of monocular vision for mobile robot based on non contact type. In the QR_code world coordinates are known, the mobile robot moves forward, high-definition camera through the identification of QR_code, QR_code that the world coordinates, deduces the robot relative to the world coordinate of QR_code, the robot coordinate is QR_code of absolute coordinates onto a cumulative error is eliminated based on the existing encode. Thus the mobile robot positioning is more accurate. Compared with the traditional odometry positioning method, the improved positioning algorithm can improve the success rate of 30%~50%.
mobile robot; odometer; QR_code; monoculair vision measurement
TH165;TG659
A
(編輯李秀敏)